And*_*nda 15 linux filesystems btrfs
我一直在阅读有关 BTRFS 和 ZFS 的文章,虽然我很欣赏 CoW 在托管重要文件时的好处,但我目前对以下困境感到困惑:
鉴于在托管受随机写入影响的大文件(例如 QCOW2、VDI 等)时,ZFS 和 BTRFS 似乎都会出现性能下降,为什么有人会使用 BTRFS 作为托管 VM 的首选 FS?
我知道在 o BTRFS 的情况下,您可以使用 chattr 或 nodatacow 挂载选项有选择地关闭 CoW,从而减少碎片和 CoW 造成的降级...
然而,据Redhat 称,这也“禁用了数据和元数据的校验和验证,导致数据完整性降低”。(除了失去的压缩和自然如此理想的 CoW)。
基于这一点,我问:为什么有人会选择 BTRFS 而不是 XFS 而不是 LVM 而不是 MD RAID?
Qua*_*dom 14
如果主要用例是存储 VM 映像或数据库,并且您不想接受潜在的性能问题以获取 btrfs 的数据完整性优势,那么我想不出您为什么要选择 btrfs 的任何理由通过 xfs 或 ext4。
当存储 VM 映像只是文件系统的众多用途之一时,仅对 VM 映像目录禁用写时复制(使用 chattr +C)最重要。这样就可以非常方便地为该单个目录禁用写时复制,但仍保留 btrfs 的所有优点用于文件系统的其余部分。
BTRFS 具有不同的磁盘格式,在某些写入模式上将优于其他文件系统。特别是在改进元数据写入磁盘的方式上花费了大量精力,它支持一些高级功能,例如数据校验和、压缩和快照。对于大文件,提高元数据性能通常并不重要。
与 ZFS 相比,BTRFS 是一种更简单的解决方案,并且在 Linux 上得到更好的支持。主要的缺点是它不能很好地扩展(当添加大量磁盘时)并且没有相同的功能集。
与 XFS 相比,它将是一个性能较低的解决方案。即,将数据块写入磁盘需要更多的处理器时间,并且最大吞吐量将受到限制。这可以通过禁用校验和验证等措施在一定程度上得到缓解,但随后你失去了 BTRFS 优于 XFS 的主要优势,即改进的元数据信息。即校验和和不同的日志(在某些情况下可能更好)。
就写时复制 (COW) 支持而言,XFS 更喜欢性能而不是严格的 COW。即 XFS 在可扩展性方面具有非常好的元数据和日志功能,并且通常不会在写入时覆盖文件数据,但如果应用程序特别请求覆盖该数据,它将允许覆盖现有的磁盘块. 这在 VM 的情况下可能很好,因为您的磁盘分配最初可以是连续的,并且在这种情况下将在 VM 的生命周期内保持连续。
归档时间: |
|
查看次数: |
12242 次 |
最近记录: |