相关这。
我想利用操作系统切换来升级到 BTRFS。
BTRFS 声称提供很多功能(数据丢失弹性、RAID 自我修复、元数据校验和)和数据、压缩、快照)。但当与密集型程序一起使用时,
fsync
例如dpkg
(我知道eatmydata
和蹩脚的apt-btrfs-snapshot
程序),它会很慢,而且我不会设置 RAID :p。EXT4 仅允许元数据校验和,并且不压缩数据。
在 6 年内,由于 HDD 损坏(飞行旅行后),我不得不重新安装操作系统两次。第一个导致笔记本电脑无法启动,第二个损坏是通过损坏的胶片以及操作系统二进制文件的 md5sum 检查来识别的。 (SMART 告诉我磁盘是正常的)。目前,lappy 的行为非常奇怪。我不知道是硬件还是软件的问题,但我怀疑是硬件的问题(这一切都是在一次飞行后开始的,再一次)。
由于数据压缩和校验和,您是否建议笔记本电脑切换到 BTRFS,还是应该坚持使用 EXT4?
(我不关心相对于任何变量哪个是“最好的”,但我几乎没有 BTRFS 的经验,并且想要一些反馈)
编辑:
让我们更清楚一点:BTRFS 仍然被标记为实验性的,我知道,但 SUSE 表示不应该再这样做了。 Oracle 也是如此(我知道 Oracle 是谁)。许多发行版已经建议安装 BTRFS,其中大多数发行版计划在未来几个月内切换到它。
两个事实:
- 损坏数据的备份毫无价值。我不明白为什么我似乎是唯一一个烦恼的人。这不是常识吗?与此同时:
- 别再告诉我应该备份:我已经做。
- 不要再暗示备份就足以保证我的数据安全,除非您愿意给我 TB 的可用空间来进行数年的备份。
- 损坏的文件 =/=> Linux 抱怨。所以:
- 不要仅仅因为操作系统正在启动就认为您的系统/数据是正常的。
- 我希望您理解,我更喜欢(元)数据校验和,而不是过度设计和臃肿的软件,后者在检查数据完整性方面的效果只有 BTRFS 的一半,不方便。
现在我不问哪个 FS“更好”,这是不是更清楚了?问题是,考虑到我经常进行备份,BTRFS 是否仍处于实验阶段,无法用于其数据完整性检查功能,或者我应该坚持使用 EXT4?
答案1
答案2
我使用 3 台笔记本,其中 2 台使用 BTRFS 已有 4 年多了。我遇到的最后一个稳定性问题(和数据丢失)前我切换到内核 3.3,因此出于所有实际目的,我认为 btrfs 对于家庭使用来说是稳定的。
不幸的是 btrfs 的功能并不完整:
正如@Huygens 提到的,它缺乏实际修复损坏文件的能力。
当你把它放在
ecryptfs
(如果你重视笔记本上存储的数据,这是一种常见的使用模式)之上并且突然断电(或经历内核崩溃)时,当前正在写入的文件通常会被截断为长度0(希望渺茫)恢复它们)。想想~/.config/dconf/user
例如。任何 COW 文件系统都会比非 COW 文件系统更加碎片化。除了购买第二个硬盘并
rsync
读取其中的内容之外,没有真正的方法可以对 BTRFS 卷进行碎片整理。如果你想避免碎片,你应该让每个 FS 至少有 30% 为空,并且(或?)避免诸如数据库、种子或文件同步工具之类的东西。在我的设置中,btrfs 在过去 2 年里变得非常碎片化,在受控条件下,apt-get install
主 btrfs 分区上的时间是半空 ext4 上的 6 倍。我一直在使用 btrfs 及其autodefrag
标志。
我对 btrfs 感到沮丧,以至于我打算切换到ZFS。
答案3
我同意 vonbrand 的观点,btrfs 尚未达到 ext* 或 XFS 或 JFS 等的成熟度水平。我不会在有宝贵数据的笔记本电脑上使用它,除非我有一个可以在旅途中完成的可靠备份。
Btrfs 可以检测损坏,但它只会报告检测结果,除非您有相同数据的可用未损坏副本,这意味着您需要 RAID 或卷上的数据复制。
也就是说,我正在考虑在一台机器上使用它(使用 RAID-1),但我也确实在这台机器上运行了 Crashplan!
很长一段时间以来,我一直在我的笔记本电脑上使用 JFS。原因之一是在执行文件操作时,与 XFS 或 ext3 相比,CPU 使用率较低。我从未验证过它是否也节省了功耗,但这是我的假设。我发现 JFS 非常稳定和安全,在使用它时从未丢失数据。