btrfs RAID0 - 我应该条带化还是复制元数据?

btrfs RAID0 - 我应该条带化还是复制元数据?

我想在三个 nvme 驱动器上将 btrfs 与 raid0 一起使用。这些文件应包含操作系统和大多数应用程序文件,而有价值的用户文件将位于网络驱动器或单独的磁盘上。

如果我要对实际数据进行条带化,那么使用 mkfs.btrfs -m 复制元数据有什么意义?如果其中一个驱动器出现故障,那么一切都会丢失,对吗?另一方面,我是否应该预期会对性能产生影响?我的目标是为我正在积极处理的非必要数据实现最大吞吐量。

答案1

简而言之,您选择的块配置文件取决于您的文件系统目标。

默认情况下,元数据块是重复的,即使在单设备文件系统上,非旋转设备(例如 SSD)除外,这不是为了防止驱动器完全故障,而是为了防止部分的驱动器故障。由于损坏的数据块会破坏存储在这些数据块中的文件内容,因此损坏的元数据块将阻止对内容的访问。这使得元数据损坏对整个文件系统造成更大的损害。

剥离和复制之间的选择就是吞吐量和冗余之间的选择。使用 RAID0,您可以获得更高的吞吐量,因为当一台设备正在写入一个块时,另一台设备可以写入不同的块。使用 RAID1 时,吞吐量会降低,因为两个设备都需要写入相同的块。

因此,为了获得最大吞吐量(以及 BTRFS 最大磁盘空间利用率),您可以选择对元数据和数据块使用 RAID0。

相关内容