Red Hat Training
A Red Hat training course is available for RHEL 8
8.18. 논리 볼륨에서 RAID 장치 교체
논리 볼륨에서 RAID 장치를 교체할 수 있습니다.
- RAID 장치에 오류가 없는 경우 8.18.1절. “실패하지 않은 RAID 장치 교체” 를 따르십시오.
- RAID 장치가 실패한 경우 8.18.4절. “논리 볼륨에서 실패한 RAID 장치 교체” 를 따르십시오.
8.18.1. 실패하지 않은 RAID 장치 교체
논리 볼륨에서 RAID 장치를 교체하려면 lvconvert
명령의 --replace
인수를 사용합니다.
사전 요구 사항
- RAID 장치가 실패하지 않았습니다. RAID 장치에 실패한 경우 다음 명령이 작동하지 않습니다.
절차
RAID 장치를 교체합니다.
# lvconvert --replace dev_to_remove vg/lv possible_replacements
- dev_to_remove 를 교체할 물리 볼륨 경로로 바꿉니다.
- Knative Serving/lv 를 볼륨 그룹 및 RAID 배열의 논리 볼륨 이름으로 바꿉니다.
- possible_replacements 를 교체로 사용하려는 물리 볼륨의 경로로 바꿉니다.
예 8.3. RAID1 장치 교체
다음 예제에서는 RAID1 논리 볼륨을 생성한 다음 해당 볼륨에서 장치를 교체합니다.
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)
/dev/sdb2
물리 볼륨을 교체합니다.# lvconvert --replace /dev/sdb2 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)
예 8.4. 대체 물리 볼륨 지정
다음 예제에서는 RAID1 논리 볼륨을 생성한 다음 해당 볼륨에서 장치를 교체하여 교체에 사용할 물리 볼륨을 지정합니다.
RAID1 배열을 생성합니다.
# lvcreate --type raid1 -m 1 -L 100 -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_0] /dev/sda1(1) [my_lv_rimage_1] /dev/sdb1(1) [my_lv_rmeta_0] /dev/sda1(0) [my_lv_rmeta_1] /dev/sdb1(0)
물리 볼륨을 검사합니다.
# pvs PV VG Fmt Attr PSize PFree /dev/sda1 my_vg lvm2 a-- 1020.00m 916.00m /dev/sdb1 my_vg lvm2 a-- 1020.00m 916.00m /dev/sdc1 my_vg lvm2 a-- 1020.00m 1020.00m /dev/sdd1 my_vg lvm2 a-- 1020.00m 1020.00m
/dev/sdb1
물리 볼륨을/dev/sdd1
로 바꿉니다.# lvconvert --replace /dev/sdb1 my_vg/my_lv /dev/sdd1
교체를 사용하여 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)
예 8.5. 여러 RAID 장치 교체
다음 예와 같이 여러 대체 인수를 지정하여 한 번에 두 개 이상의 RAID 장치를 교체할
수 있습니다.
RAID1 배열을 생성합니다.
# lvcreate --type raid1 -m 2 -L 100 -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/sda1(1) [my_lv_rimage_1] /dev/sdb1(1) [my_lv_rimage_2] /dev/sdc1(1) [my_lv_rmeta_0] /dev/sda1(0) [my_lv_rmeta_1] /dev/sdb1(0) [my_lv_rmeta_2] /dev/sdc1(0)
/dev/sdb1
및/dev/sdc1
물리 볼륨을 교체합니다.# 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 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)
8.18.2. LVM RAID에서 실패한 장치
RAID는 기존 LVM 미러링과 같지 않습니다. LVM 미러링에 실패한 장치를 제거해야 하거나 미러링된 논리 볼륨이 중단되었습니다. RAID 배열은 실패한 장치로 계속 실행될 수 있습니다. 실제로 RAID1 이외의 RAID 유형의 경우 장치를 제거하면 더 낮은 수준 RAID(예: RAID6에서 RAID5로 변환하거나 RAID4 또는 RAID5에서 RAID0)로 변환하는 것을 의미합니다.
따라서 실패한 장치를 무조건 제거하고 교체를 할당하는 대신 LVM을 사용하면 lvconvert
명령의 --repair
인수를 사용하여 1단계 솔루션에서 RAID 볼륨에서 실패한 장치를 교체할 수 있습니다.
8.18.3. 논리 볼륨에서 실패한 RAID 장치 복구
LVM RAID 장치 오류가 일시적인 오류이거나 오류가 발생한 장치를 복구할 수 있는 경우 실패한 장치의 복구를 시작할 수 있습니다.
사전 요구 사항
- 이전에 실패한 장치가 이제 작동 중입니다.
절차
RAID 장치가 포함된 논리 볼륨을 새로 고칩니다.
# lvchange --refresh my_vg/my_lv
검증 단계
복구된 장치로 논리 볼륨을 검사합니다.
# lvs --all --options name,devices,lv_attr,lv_health_status my_vg
8.18.4. 논리 볼륨에서 실패한 RAID 장치 교체
이 절차에서는 LVM RAID 논리 볼륨에서 물리 볼륨 역할을 하는 실패한 장치를 대체합니다.
사전 요구 사항
볼륨 그룹에는 실패한 장치를 교체할 수 있는 충분한 여유 용량을 제공하는 물리 볼륨이 포함되어 있습니다.
볼륨 그룹에서 사용 가능한 물리 볼륨이 충분한 물리 볼륨이 없는 경우, KnativeServingextend 유틸리티를 사용하여 충분히 큰
새
물리 볼륨을 추가합니다.
절차
다음 예에서 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
장치가 실패하면lvs
명령의 출력은 다음과 같습니다.# 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 유틸리티에서 오류가 발생한 장치를 찾을 수 없음을 계속 표시합니다.
볼륨 그룹에서 실패한 장치를 제거합니다.
# vgreduce --removemissing VG