BTRFS Raid1..有点困惑

BTRFS Raid1..有点困惑

我已经设置了 BTRFS Raid1,两周前我重新平衡了它。现在 btrfs df 说...

root@slackware:~#  btrfs filesystem df /mnt
Data, RAID1: total=4.14TiB, used=4.08TiB
System, RAID1: total=32.00MiB, used=608.00KiB
Metadata, RAID1: total=6.00GiB, used=5.20GiB
GlobalReserve, single: total=512.00MiB, used=0.00B

我的问题是..假设我丢失了一个高清,我会丢失数据吗?如何查看btrfs raid1上数据的分布情况?我必须使用 dusage 和 musage=50 重新平衡它才能获得完美的副本?

答案1

如果您btrfs使用 2 个硬盘创建raid1元数据和raid1数据,如下例所示

mkfs.btrfs -L Test -m raid1 -d raid1 /dev/sda /dev/sdb

在有两个硬盘的情况下,所有文件将被存储两次(每个硬盘上每个文件一份副本) ,如果您移除一个硬盘

您可以通过以下方式安装(将连接的硬盘连接到您的 PC):

mount -o degraded /dev/sda /mnt/Test

您可以在这里恢复您的数据


mkfs.btrfs| and added 3 hard disk at a time with a现在,如果您创建了raid1 data andraid1` 元数据,例如,您将无法恢复数据

mkfs.btrfs -L Test2 -m raid1 -d raid1 /dev/sda /dev/sdb /dev/sdc

在此设置中,数据被分割并分布在所有硬盘上,例如 1gb 文件将存储为

333 mb on sda
333 mb on sdb
333 mb on sdc

当然,您可以删除 1 个硬盘并以降级方式安装剩余的第 1 或第 2 个硬盘,但是未连接的硬盘中的 300 mb 不会存在,所以只需坚持使用 2 个硬盘,每天执行清理命令,等等好的


GParted 显示真实的磁盘使用情况,而btrfs filesystem show命令显示有些虚假的磁盘使用情况,因此请在 GParted 中检查磁盘使用情况。

我一直在测试btrfs,这个测试是在btrfs 5.4.1上完成的

更新:我刚刚知道btrfs与raid1c3可以存储3个副本,用于3个硬盘,raid1c4存储4个副本,用于4个硬盘

它在所有硬盘上存储文件和元数据的完整副本,而无需拆分文件

我们只需要使用

btrfs -L Test -m raid1c3 和 -d raid1c3 /dev/sda /dev/sdb /dev/sdc

用于为 3 个硬盘创建文件系统(创建此文件系统时将删除/格式化这些硬盘中的所有文件)

或 -m raid1c4 -d raidc4 为 4 个硬盘创建文件系统时


在raid1c3或raid1c4中,即使其他1或2个硬盘丢失,也可以通过在降级选项中安装硬盘来恢复数据

相关内容