我有一台 Linux 服务器 (3.19.0),它使用 md (v3.2.5) 设置了 raid。/
是一个带有 2 个磁盘的 raid1 设备。安装这台机器时出现错误,我们需要将这 2 个磁盘设置为 raid0 配置。有没有像这样更改 md 设备的简单方法?
我或许可以通过调整磁盘来弄清楚如何实现这一点(重新安装也是一个选项),但是有没有一种简单的方法可以将 raid1 变成 raid0 呢?
理论上我觉得这是可能的。md 是否可以将其中一个磁盘视为空磁盘,并将 raid 类型从 1 更改为 0?
答案1
mdadm
(8)经济特区:
GROW 模式用于更改活动数组的大小或形状。[...] 目前支持的更改包括
[...]
- 在RAID1和RAID5之间转换,RAID5和RAID6之间转换,RAID0、RAID4和RAID5之间转换,以及RAID0和RAID10之间转换(在near-2模式下)。
因此,从 RAID1 转换为 RAID0 似乎是不可能的。如果您有第三个磁盘,您也许可以从 RAID1 转换为 RAID5 再转换为 RAID0,但这似乎是一种相当迂回的方法。
但是,手册页确实说您可以“增加或减少 RAID0、RAID1、RAID4、RAID5 和 RAID6 的“raid-devices”属性”,因此您可以解除 RAID1,将其中一个磁盘变成新的单磁盘 RAID0 阵列,复制数据,然后删除 RAID1 的另一半并将现在可用的磁盘添加到 RAID0 中。
最后,您可以按照正确的方式进行操作,只需备份数据、离线重新配置 RAID 阵列,然后将备份恢复到新阵列上。
答案2
mdadm /dev/md0 --grow --level=0
mdadm: level of /dev/md0 changed to raid0
mdadm /dev/md0 --grow --raid-devices=2 --add /dev/sdb1
mdadm: level of /dev/md0 changed to raid4
//here pause for reshare array
mdadm: level of /dev/md0 changed to raid0
resize2fs /dev/md0