DevOps同事build议我们开始将生产环境转换为使用btrfs。 我们主要使用ext4文件系统,尽pipe一些使用ZFS的低使用率服务器(在Linux上)。 作为决策者之一,作为一个负责我们整体环境的人,我对基于Web上制作网站上的btrfs的评论和文章数量感到犹豫不决。 为了反驳这种说法,Oracle已经发布了支持btrfs的Enterprise Linux,SLES 12( https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12/ )也指出它将使用btrfs,并且有证据像Facebook这样的公司也在受控的生产环境中使用它。
关于为什么朝着这个方向前进(采用btrfs)将是一件好事,我总体上同意他们,但是,我想要谨慎,做尽职调查,并获得更多的操作上的熟悉和在进一步扩大规模之前,在“小生产”或登台环境中login小时。 是否有任何工具可以帮助我构build案例 – 如在压力testing之后进行数据完整性检查或者其他方面的工作? 除了没有看到像这样的语句:“问:btrfs是稳定的吗?简单的回答:不,它仍然被认为是实验性的。 在btrfs维基上我还能做些什么来获得更暖和的模糊?
我会坚持使用XFS等主stream文件系统(由Red Hat推广),并依靠ZFS来满足高级文件系统的需求。
这主要是由于:
由于缺乏与Linux容器的特定集成,我不知道BtrFS 今天提供了比ZFS更多的function。 如果你对使用BtrFS犹豫不决,听听你的直觉。 我不认为我敢打赌,但事情会随着时间而改变。 评估你的具体需求。 BtrFS中是否有令人信服的function,您的环境可以利用?
以服务器故障有关BtrFS的问题为例 ,查看人们经常遇到的问题。
我已经在这里给出了一个详细的答案: btrfs生产准备好了吗?
简而言之:Btrfs在生产文件服务器上已经不需要了。
原因如下:如果空间不足,变得不可预测,尽pipe大多数核心function被认为是稳定的,其他function尚未完成,而且仍然是一个快速移动的目标。 作为一个快速移动的目标意味着你应该总是使用最新,最好的内核,这是你不想在服务器上。
在内核3.16中也是如此,已知会产生死锁,这肯定是生产服务器上不需要的东西( http://marc.merlins.org/perso/btrfs/post_2014-10-05_Btrfs-Tips_- Catch-Btrfs-Deadlocks.html )。 另外一些RAID仍然是实验性的,比如RAID5 / 6。 你可以使用这些,但不能擦除那里的数据和其他东西。
Fedora最终希望使Btrfs成为v23的默认文件系统,而这将在2015年底发生。Red Hat现在默认从Ext4切换到XFS。
如果你真的需要一个COW生产就绪的文件系统,那么请帮个忙,把它作为ZFS在Linux上或在FreeBSD下使用。
阅读Russel Coker的博客,了解他与Btrfs的经验。 http://etbe.coker.com.au/