我有 3 个完全相同的驱动器(4tb ironwolf),我想在其中使用 MDADM 进行 raid-5 以实现少量数据安全。现在的问题是,1 个驱动器充满了我无法备份的数据。
是的,我知道当构建驱动器失败时,我的所有数据都消失了,但我仍然想尽最大努力。
为了使其更容易理解,我们将它们称为 sda1 和 sdb1 ,它们是空的,而 sdc1 则带有数据。
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=2 /dev/sda1 /dev/sdb1;
rsync -av --exclude-from=excludefile /dev/sdc1 /dev/md0;
mkfs.ext4 /dev/sdc1;
mdadm --add /dev/md0 /dev/sdc1;
mdadm --grow --raid-devices=3 --spare-devices=1 /dev/md0;
有人可以确认这是正确的方法吗?
如果您有少量可用磁盘空间,则可以使用环回设备测试这些命令。
创建环回设备 a、b、c:
创建一些“重要的原始数据”并放在第三个磁盘上(
$lc
)现在尝试根据您的想法创建 RAID5 阵列。在这种情况下,我们将
$la
和$lb
作为两个空白磁盘,并$lc
代表您重要的第三个磁盘:成功; 这创建了一个包含两个成员的 RAID5 阵列。就个人而言,我已经指定了三个,第三个元素作为单词
missing
,因为这使我的意图更清楚:但是,您的下一个命令并不完全正确。
rsync
文件系统之间的副本,而不是设备之间的副本,所以首先你需要创建新的文件系统并挂载两者:你应该
rsync --dry-run
在它做之前检查它会做什么。此时您需要绝对确定您已成功将数据从原始磁盘复制到新的(降级的)RAID5 阵列,因为我们要将旧磁盘添加到阵列中。
如果您最初只指定了两个设备,则需要扩大阵列以包括第三个:
另一方面,如果您接受我的建议并开始使用三个设备(其中一个是
missing
),您只需要添加设备:最后,您可以在文件系统的预期部分重新安装 RAID 5 阵列。用于
cat /proc/mdstat
查看重新同步的进展情况。仅用于测试平台,您需要停止阵列并删除组件