Linux RAID0 – 重新定位成员磁盘

我有一个问题,我宁愿处理arrays在线 – 我正在使用RAID0临时video存储 – 数据是低成本恢复,但是经常使用。

软件数组看起来像这样:

md1 : active raid0 sdb1[2] sdc1[3] sdd1[0] sde1[1] 1953487616 blocks 64k chunks 

我在这个系统中有另一个分区(sda1),我想用来代替sdc1(这些驱动器是不同的年龄,sdc1绝对是最慢的,限制整个arrays的连续读取性能只有300MB / s)。

有没有办法将数据从sdc1迁移到sda1,而数组仍然在线?

由于RAID-0完全无法处理故障,因此无法在线执行此操作,而且MD系统依靠故障触发重build到备用组件。 没有办法说“你可以使用这个设备而不是这个设备”而不说“ 那个设备已经失败” – 当然,这将会给你的RAID-0arrays提供一个连接。

出于这个原因,我build议使用LVM和条带,而不是md的RAID-0arrays。 它有一个更好的工具来pipe理像这样的组件设备。 不过,我仍然使用md作为其他RAID级别。

通常,使用RAID 0做任何事情都需要从头开始重buildarrays。

不,您不能在arrays联机时更换raid0磁盘。 但是你可以在停止raid后做这个(我只是临时注释掉了/etc/mdadm.conf的内容并重新启动)。 当raid处于脱机状态时,您可以使用“dd”cmdline实用程序将错误的整个磁盘复制到新磁盘。 克隆/etc/mdadm.conf中的uncommment内容后, closures ,DISCONNECT FAULTY DISK(!)并重新引导。

可能将RAID 0升级到RAID 5,然后拔出sdc1,使RAID 5降级。