Tot*_*tor 31 linux software-raid mdadm raid5
我在 4 个磁盘上有一个软件 RAID5 阵列(Linux md)。
我想用一个新磁盘替换其中一个磁盘,而不是将阵列置于降级状态,如果可能,联机。这怎么可能?
这很重要,因为我不想:
我想在网上这样做要求太多了,我应该dd
将旧磁盘的数据原始复制 ( ) 到新磁盘,然后离线替换它,但我认为理论上是可能的......
一些背景:这些磁盘几乎都在连续旋转超过 5.5 年。目前,它们仍然可以完美运行,并且都通过了(长时间的)SMART 自检。但是,我有理由认为这 4 个磁盘中的一个不会持续太久(假设是预测性故障)。
Tot*_*tor 45
从mdadm
3.3(2013 年 9 月 3 日发布)开始,如果您有3.2+ 内核,则可以按以下步骤操作:
# mdadm /dev/md0 --add /dev/sdc1
# mdadm /dev/md0 --replace /dev/sdd1 --with /dev/sdc1
Run Code Online (Sandbox Code Playgroud)
sdd1
是您要更换的设备,sdc1
是首选设备,并且必须在阵列上声明为备用设备。
该--with
选项是可选的,如果未指定,将使用任何可用的备件。
注意:您仍然需要3.2+ 内核。
首先,添加一个新的驱动器作为备用(替换md0
,并sdc1
分别与RAID和磁盘设备):
# mdadm /dev/md0 --add /dev/sdc1
Run Code Online (Sandbox Code Playgroud)
然后,像这样启动一个复制替换操作(sdd1
作为故障设备):
# echo want_replacement > /sys/block/md0/md/dev-sdd1/state
Run Code Online (Sandbox Code Playgroud)
系统会将所有可读块从 复制sdd1
到sdc1
。如果遇到不可读的块,它将从奇偶校验重建它。操作完成后,之前的备用sdc1
驱动器(此处:)将变为活动状态,故障驱动器将标记为故障 (F),以便您可以将其移除。
注意:归功于froschutz和Ansgar Esztermann,他们找到了原始解决方案(参见重复问题)。
其他答案建议:
归档时间: |
|
查看次数: |
23505 次 |
最近记录: |