9.19. 논리 볼륨에서 RAID 장치 교체
다음 시나리오에 따라 논리 볼륨에서 RAID 장치를 교체할 수 있습니다.
- 작동 중인 RAID 장치 교체.
- 논리 볼륨에서 실패한 RAID 장치 교체.
9.19.1. 작동 중인 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
여러 교체 인수를 지정하여 한 번에 여러 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)
추가 리소스
-
lvconvert(8)
도움말 페이지
9.19.2. 논리 볼륨에서 실패한 RAID 장치 교체
RAID는 기존 LVM 미러링과 동일하지 않습니다. LVM 미러링의 경우 실패한 장치를 제거합니다. 그렇지 않으면 RAID 배열이 실패한 장치에서 계속 실행되는 동안 미러링된 논리 볼륨이 중단됩니다. RAID1 이외의 RAID 수준의 경우 장치를 제거하면 RAID6에서 RAID5로 또는 RAID4 또는 RAID0으로의 낮은 RAID 수준으로의 변환을 의미합니다.
실패한 장치를 제거하고 교체를 LVM으로 할당하는 대신 lvconvert
명령의 --repair
인수를 사용하여 RAID 논리 볼륨에서 물리 볼륨으로 사용되는 실패한 장치를 교체할 수 있습니다.
사전 요구 사항
볼륨 그룹에는 오류가 발생한 장치를 교체하기에 충분한 여유 용량을 제공하는 물리 볼륨이 포함되어 있습니다.
볼륨 그룹에서 사용 가능한 확장 영역이 충분한 물리 볼륨이 없는 경우 Cryostatextend 유틸리티를 사용하여 충분히 큰
새
물리 볼륨을 추가합니다.
절차
RAID 논리 볼륨을 확인합니다.
# lvs --all --options name,copy_percent,devices my_vg LV Cpy%Sync 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/sde1(1) [my_lv_rimage_1] /dev/sdc1(1) [my_lv_rimage_2] /dev/sdd1(1) [my_lv_rmeta_0] /dev/sde1(0) [my_lv_rmeta_1] /dev/sdc1(0) [my_lv_rmeta_2] /dev/sdd1(0)
/dev/sdc 장치가 실패한 후 RAID 논리 볼륨을 확인합니다.
# lvs --all --options name,copy_percent,devices my_vg /dev/sdc: open failed: No such device or address Couldn't find device with uuid A4kRl2-vIzA-uyCb-cci7-bOod-H5tX-IzH4Ee. WARNING: Couldn't find all devices for LV my_vg/my_lv_rimage_1 while checking used and assumed devices. WARNING: Couldn't find all devices for LV my_vg/my_lv_rmeta_1 while checking used and assumed devices. LV Cpy%Sync 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/sde1(1) [my_lv_rimage_1] [unknown](1) [my_lv_rimage_2] /dev/sdd1(1) [my_lv_rmeta_0] /dev/sde1(0) [my_lv_rmeta_1] [unknown](0) [my_lv_rmeta_2] /dev/sdd1(0)
실패한 장치를 교체합니다.
# lvconvert --repair my_vg/my_lv /dev/sdc: open failed: No such device or address Couldn't find device with uuid A4kRl2-vIzA-uyCb-cci7-bOod-H5tX-IzH4Ee. WARNING: Couldn't find all devices for LV my_vg/my_lv_rimage_1 while checking used and assumed devices. WARNING: Couldn't find all devices for LV my_vg/my_lv_rmeta_1 while checking used and assumed devices. Attempt to replace failed RAID images (requires full device resync)? [y/n]: y Faulty devices in my_vg/my_lv successfully replaced.
선택 사항: 실패한 장치를 대체하는 물리 볼륨을 수동으로 지정합니다.
# lvconvert --repair my_vg/my_lv replacement_pv
교체를 사용하여 논리 볼륨을 검사합니다.
# lvs --all --options name,copy_percent,devices my_vg /dev/sdc: open failed: No such device or address /dev/sdc1: open failed: No such device or address Couldn't find device with uuid A4kRl2-vIzA-uyCb-cci7-bOod-H5tX-IzH4Ee. LV Cpy%Sync Devices my_lv 43.79 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sde1(1) [my_lv_rimage_1] /dev/sdb1(1) [my_lv_rimage_2] /dev/sdd1(1) [my_lv_rmeta_0] /dev/sde1(0) [my_lv_rmeta_1] /dev/sdb1(0) [my_lv_rmeta_2] /dev/sdd1(0)
볼륨 그룹에서 오류가 발생한 장치를 제거할 때까지 LVM 유틸리티는 여전히 LVM에서 실패한 장치를 찾을 수 없음을 나타냅니다.
볼륨 그룹에서 실패한 장치를 제거합니다.
# vgreduce --removemissing my_vg
검증
실패한 장치를 제거한 후 사용 가능한 물리 볼륨을 확인합니다.
# pvscan PV /dev/sde1 VG rhel_virt-506 lvm2 [<7.00 GiB / 0 free] PV /dev/sdb1 VG my_vg lvm2 [<60.00 GiB / 59.50 GiB free] PV /dev/sdd1 VG my_vg lvm2 [<60.00 GiB / 59.50 GiB free] PV /dev/sdd1 VG my_vg lvm2 [<60.00 GiB / 59.50 GiB free]
실패한 장치를 교체한 후 논리 볼륨을 검사합니다.
# lvs --all --options name,copy_percent,devices my_vg my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] /dev/sde1(1) [my_lv_rimage_1] /dev/sdb1(1) [my_lv_rimage_2] /dev/sdd1(1) [my_lv_rmeta_0] /dev/sde1(0) [my_lv_rmeta_1] /dev/sdb1(0) [my_lv_rmeta_2] /dev/sdd1(0)
추가 리소스
-
lvconvert(8)
및 Cryostatreduce(8)
도움말 페이지