여러 개의 HDD로 LVM을 만들었습니다. 운영 체제는 서로 다른 SSD에 설치됩니다. SSD를 잃어버렸습니다. 이러한 HDD에서 LVM을 복구하는 방법은 무엇입니까?
답변1
실패한 SSD가 볼륨 그룹의 일부가 아닌 경우 그룹은 그대로 유지됩니다. LVM 도구가 장착된 최신 Linux는 일반적으로 부팅 시 디스크가 감지되면 자동으로 볼륨 그룹을 활성화해야 합니다. 이를 실행하면 sudo vgscan
볼 수 있는 모든 디스크의 볼륨 그룹이 표시됩니다. 볼륨 그룹에 하나 이상의 구성 요소가 누락된 경우 누락된 볼륨의 LVM UUID를 알려줍니다.
오류가 표시되지 않으면 sudo vgscan
논리 볼륨을 마운트하고 /etc/fstab
마운트를 지속시키려면 필요에 따라 새 항목을 작성하면 됩니다.
실패한 SSD가 동일한 볼륨 그룹에도 포함되어 있는 경우 VG는 이제 불완전하고 자동으로 활성화되지 않으며 sudo vgscan
누락된 물리적 볼륨을 보고합니다.
이러한 부분 볼륨 그룹을 활성화하려면 다음을 사용할 수 있습니다 sudo vgchange -ay --activationmode partial
. 나머지 디스크에 적어도 부분적으로 있는 모든 논리 볼륨이 활성화됩니다. 그러나 논리 볼륨이 현재 누락된 디스크에 부분적으로 있는 경우 논리 볼륨의 해당 부분을 읽으려고 시도합니다. 오류가 발생합니다. 구성 요소가 누락된 LV를 설치하려는 시도가 실패할 수 있습니다.
example을 실행하면 sudo lvs -o lv_full_name,lv_health_status
각 LV의 이름과 상태를 볼 수 있습니다. LV의 "Health" 열에 있는 항목이 비어 있으면 정상임을 의미합니다. "Part"가 표시되면 LV의 일부 부분이 누락된 것입니다. 어떤 부분이 누락되었는지 확인하려면 를 사용할 수 있습니다 sudo lvdisplay -m <VG name>/<LV name>
.
이제 HDD에 모든 부분이 있는 논리 볼륨을 평소대로 마운트할 수 있습니다. 논리 볼륨이 손실된 디스크에 부분적으로만 있는 경우 다음 photorec
과 같은 복구 도구를 사용할 수 있습니다 ddrescue
.
이러한 부분 논리 볼륨이 있고 나머지 내용을 복원할 가치가 없다고 판단하거나 복원된 모든 내용에 만족하는 경우 lvremove
부분 논리 볼륨 삭제를 사용하고 vgreduce --removemissing <VG name>
LVM에 누락된 내용 기억을 중지하도록 지시할 수 있습니다. 물리적 볼륨. 그 후에 나머지 볼륨을 포함하는 볼륨 그룹은 실패한 PV가 존재하지 않았던 것처럼 다시 작동합니다. 전체 PV 세트가 감지되면(예: 부팅 또는 핫 플러그 시) 자동으로 활성화되고 나머지 논리 볼륨이 볼륨이 마운트됩니다. 보통.