VG의 PV가 실패하여 이미지를 삭제할 수 없습니다.

VG의 PV가 실패하여 이미지를 삭제할 수 없습니다.

단일 VG와 여러 개의 미러링된 LV가 있는 Linux(fedora 30) 시스템이 있습니다. LV를 두 개의 PV에 미러링했지만 PV 중 하나가 실패했습니다. 어쨌든 2TB PV에서 4TB PV로 마이그레이션하고 싶었기 때문에 새 PV를 추가하고 모든 LV를 세 개의 미러(m= 2)에 캐스팅했습니다. 이제 내 LV가 모두 안전하게 미러링되었으므로 손상된 드라이브를 삭제할 차례입니다. 그러나 "lvconvert -m1 LVNAME PV2REMOVE"는 이것이 작동하지 않는다고 말합니다. 아마도 "vgreduce --removemissing"을 고려해야 할 것입니다.

물론 이것은 아무 일도 하지 않으며 "--force" 옵션을 사용하여 읽은 내용에 따르면 모든 LV가 삭제됩니다.

lvs -a -o +장치 | tr -s '\t ' ' '

 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices 
 NAS VG2TB rwi-aor-r- 200.00g 100.00 NAS_rimage_0(0),NAS_rimage_1(0) 
 [NAS_rimage_0] VG2TB vwi-aor-r- 200.00g 
 [NAS_rimage_1] VG2TB iwi-aor--- 200.00g /dev/sdb1(392715) 
 [NAS_rmeta_0] VG2TB ewi-aor-r- 4.00m 
 [NAS_rmeta_1] VG2TB ewi-aor--- 4.00m /dev/sdb1(392714) 
 PythonNAS VG2TB rwi-aor-r- 100.00g 100.00 PythonNAS_rimage_0(0),PythonNAS_rimage_1(0),PythonNAS_rimage_2(0) 
 [PythonNAS_rimage_0] VG2TB vwi-aor-r- 100.00g 
 [PythonNAS_rimage_1] VG2TB vwi-aor-r- 100.00g 
 [PythonNAS_rimage_2] VG2TB iwi-aor--- 100.00g /dev/sdb1(341512) 
 [PythonNAS_rmeta_0] VG2TB ewi-aor-r- 4.00m 
 [PythonNAS_rmeta_1] VG2TB ewi-aor-r- 4.00m 
 [PythonNAS_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(341511) 
 lv_VM_Data VG2TB rwi-a-r-r- 200.00g 100.00 lv_VM_Data_rimage_0(0),lv_VM_Data_rimage_1(0),lv_VM_Data_rimage_2(0) 
 [lv_VM_Data_rimage_0] VG2TB vwi-aor-r- 200.00g 
 [lv_VM_Data_rimage_1] VG2TB vwi-aor-r- 200.00g 
 [lv_VM_Data_rimage_2] VG2TB iwi-aor--- 200.00g /dev/sdb1(290311) 
 [lv_VM_Data_rmeta_0] VG2TB ewi-aor-r- 4.00m 
 [lv_VM_Data_rmeta_1] VG2TB ewi-aor-r- 4.00m 
 [lv_VM_Data_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(290310) 
 lv_VM_Root VG2TB rwi-aor-r- 60.00g 100.00 lv_VM_Root_rimage_0(0),lv_VM_Root_rimage_1(0),lv_VM_Root_rimage_2(0) 
 [lv_VM_Root_rimage_0] VG2TB vwi-aor-r- 60.00g 
 [lv_VM_Root_rimage_1] VG2TB vwi-aor-r- 60.00g 
 [lv_VM_Root_rimage_2] VG2TB iwi-aor--- 60.00g /dev/sdb1(367113) 
 [lv_VM_Root_rmeta_0] VG2TB ewi-aor-r- 4.00m 
 [lv_VM_Root_rmeta_1] VG2TB ewi-aor-r- 4.00m 
 [lv_VM_Root_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(367112) 

답변1

도대체 다른 PV를 어떻게 삭제하나요?

LVM이 아는 한, 데이터의 유일한 최신 복사본은 열려 있는 것으로 보입니다 /dev/sdb1. 다른 모든 복사본은 가상이므로 동기화해야 합니다. 따라서 lvchange --refresh <LV>먼저 액세스 가능한 모든 PV를 동기화 해야 할 수도 있습니다 .

다른 PV가 더 이상 시스템에 표시되지 않는 경우(즉, 완전히 작동하지 않거나 당겨진 경우) VG에 새 PV를 추가하고 를 실행합니다 lvconvert --repair <name of LV> [new PV]. LVM이 여전히 불량 디스크를 발견하면 명령은 입니다 lvconvert --replace <old PV> <name of LV> [new PV].

다른 Unix 변형의 LVM에 익숙하다면 Linux의 LVM 내보내기/가져오기 논리가 매우 다르게 작동한다는 점에 유의하십시오. Linux에서 다른 Unix의 "가져오기"는 일반적으로 새 장치가 감지되거나 수동으로 실행될 때 자동으로 발생하며 매우 안전 vgscan합니다 vgscan. 어떤 종류의 충돌이 감지되면 해당 장치에 대한 활성 LVM 구성의 어떤 부분도 덮어쓰지 않습니다. 충돌 문제인 경우 무엇이 잘못되었는지 알려주고 다시 시도하기 전에 문제를 해결하기를 원합니다 vgscan.

Linux LVM의 "내보내기" 작업은 실제로 "이 VG의 자동 및 수동 활성화 방지: 다른 VG와 충돌하는 것으로 확인되면 내보낸 VG를 무시합니다"와 비슷합니다. "가져오기" 작업은 단순히 속성을 삭제합니다. 따라서 LVM VG가 포함된 디스크 세트를 다른 호스트로 이동하려고 준비할 때 유용하지만 그 이상으로는 생각만큼 유용하지 않을 수 있습니다.

관련 정보