我正在将名为 /dev/md0 的 raid 阵列从 serverA 移动到 serverB。在 serverB 上 /dev/md0 已在使用中。如何将 RAID 阵列从 /dev/md0 重命名为 /dev/md2?
您可以将 RAID 阵列(基于软件的 RAID 阵列)移动到另一个系统。但是,如果 /dev/md0 已在 serverB 上使用,则可以将 /dev/md0 重命名为 /dev/m2 (或下一个可用的 md 设备)。在这个例子中:
教程详情 | |
---|---|
难度级别 | 先进的 |
根权限 | 是的 |
要求 | Linux 和 mdadm |
美东时间。阅读时间 | 3分钟 |
- /dev/md0 是基于原始软件的 RAID 阵列。
- /dev/md0 由名为 /dev/sdc1 和 /dev/sdd2 的两个分区组成。
- 我将把 /dev/md0 重命名为 /dev/md2 ,即设置 /dev/md2 作为新的设备名称。
![警告示例可能会使您的计算机崩溃](https://www.alaica.com/wp-content/uploads/linux-87.png)
在serverA上输入以下命令
# mdadm --detail /dev/md0
输出示例:
/dev/md0: 版本:0.90 创建时间: Sat Jan 1 05:30:03 2000 突袭等级:raid1 阵列大小:2490176 ( 2.37 GiB 2.55 GB ) 已用开发大小:2490176 ( 2.37 GiB 2.55 GB ) Raid 设备:2 设备总数:2 首选次要:0 持久性:Superblock是持久性的 更新时间 : 2012年11月21日星期三01:43:40 状态:干净 活动设备:2 工作设备:2 故障设备:0 备用设备:0 UUID:8c229b6a:c20a3bfa:2d164f4f:84bee133 (主机nas03本地) 事件:0.43537 编号 主要 次要 RaidDevice 状态 0 8 1 0 主动同步 /dev/sdc1 1 8 17 1 主动同步 /dev/sdd1
记下输出,尤其是版本号 0.90。建议您在serverB上使用相同的版本。接下来,停止serverA上的/dev/md0,输入
# mdadm --stop /dev/md0
:
选项#1:重命名 RAID
接下来,您需要将预先存在的数组重新组装为 /dev/md2:
# mdadm --assemble /dev/md2 --super-minor=0 --update=super-minor /dev/sdc1 /dev/sdd1
上面的命令将选项 –super-minor=0 指示的 /dev/md0 重命名为 /dev/md2。该阵列现在已准备好移入 serverB。
选项#2:重命名 RAID
该--super-minor选项仅与v0.90 元数据相关,通常不应使用。使用 –uuid 更安全。首先,找出所有设备的 UUID,运行:
# mdadm -Es
示例输出:
数组 /dev/md0 UUID=8c229b6a:c20a3bfa:2d164f4f:84bee133
数组 /dev/md1 UUID=b9cf66f0:f4e3e168:2d164f4f:84bee133
数组 /dev/md/2 元数据=1.2 UUID=e8e12adc:e0a02bdf:1cd25903:6c2f2b02 名称=nas03:2
键入以下命令将 RAID 设备重新组装为 /dev/md2:
# mdadm --uuid=8c229b6a:c20a3bfa:2d164f4f:84bee133 --update=super-minor --assemble /dev/md2
阵列现在已准备好移至 serverB。
在serverB上输入以下命令
将 /dev/sdc 和 /dev/sdd 连接到 serverB 并启动服务器。新服务器将立即使用/dev/md2,没有任何问题。您可能需要更新 mdadm.conf 文件。
# cp -v /etc/mdadm/mdadm.{conf,bakup-nov-21-2012-by-example}
# mdadm -Es > /etc/mdadm/mdadm.conf
重命名 RAID 阵列时可能需要注意的事项
- 您可能需要更新 grub.conf。
- 此过程可能工作正常,但重新启动后 /dev/md2 可能根本无法识别。为了避免此问题,在重新组装 RAID 阵列时使用 uuid。
- 确保更新 serverA 和 serverB 上的 mdadm.conf。
推荐读物:
- mdadm 手册页