我已经设置了 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 and
raid1` 元数据,例如,您将无法恢复数据
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个硬盘丢失,也可以通过在降级选项中安装硬盘来恢复数据