9.19. 替换正常工作的 RAID 设备
您可以使用 lvconvert 命令的 --replace 参数替换逻辑卷中正常工作的 RAID 设备。
警告
如果 RAID 设备失败,以下命令无法工作。
先决条件
- RAID 设备没有失败。
流程
创建 RAID1 阵列:
# lvcreate --type raid1 -m 2 -L 1G -n my_lv my_vg Logical volume "my_lv" created检查创建的 RAID1 阵列:
# lvs -a -o name,copy_percent,devices my_vg LV Copy% Devices my_lv 100.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sdb1(1) [my_lv_rimage_1] /dev/sdb2(1) [my_lv_rimage_2] /dev/sdc1(1) [my_lv_rmeta_0] /dev/sdb1(0) [my_lv_rmeta_1] /dev/sdb2(0) [my_lv_rmeta_2] /dev/sdc1(0)根据您的要求,使用以下任一方法替换 RAID 设备:
通过指定要替换的物理卷来替换 RAID1 设备:
# lvconvert --replace /dev/sdb2 my_vg/my_lv通过指定要用于替换的物理卷来替换 RAID1 设备:
# lvconvert --replace /dev/sdb1 my_vg/my_lv /dev/sdd1通过指定多个 replace 参数来一次替换多个 RAID 设备:
# lvconvert --replace /dev/sdb1 --replace /dev/sdc1 my_vg/my_lv
验证
在指定要替换的物理卷后检查 RAID1 阵列:
# lvs -a -o name,copy_percent,devices my_vg LV Copy% Devices my_lv 37.50 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sdb1(1) [my_lv_rimage_1] /dev/sdc2(1) [my_lv_rimage_2] /dev/sdc1(1) [my_lv_rmeta_0] /dev/sdb1(0) [my_lv_rmeta_1] /dev/sdc2(0) [my_lv_rmeta_2] /dev/sdc1(0)在指定要用于替换的物理卷后检查 RAID1 阵列:
# lvs -a -o name,copy_percent,devices my_vg LV Copy% Devices my_lv 28.00 my_lv_rimage_0(0),my_lv_rimage_1(0) [my_lv_rimage_0] /dev/sda1(1) [my_lv_rimage_1] /dev/sdd1(1) [my_lv_rmeta_0] /dev/sda1(0) [my_lv_rmeta_1] /dev/sdd1(0)一次替换多个 RAID 设备后检查 RAID1 阵列:
# lvs -a -o name,copy_percent,devices my_vg LV Copy% Devices my_lv 60.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sda1(1) [my_lv_rimage_1] /dev/sdd1(1) [my_lv_rimage_2] /dev/sde1(1) [my_lv_rmeta_0] /dev/sda1(0) [my_lv_rmeta_1] /dev/sdd1(0) [my_lv_rmeta_2] /dev/sde1(0)