논리 볼륨의 "lvextend" 명령을 중단한 후 디스크 크기를 복구하는 방법은 무엇입니까?

논리 볼륨의 "lvextend" 명령을 중단한 후 디스크 크기를 복구하는 방법은 무엇입니까?

안녕하세요. 저는 Linux 배포판인 Cent OS 6.10을 사용하고 있습니다. 이 OS 버전이 여기에서 허용되지 않는 경우 알려주시면 이 문서를 삭제하겠습니다. 감사합니다.

다음과 같이 논리 볼륨에서 오류가 발생하는 것 같습니다.

논리 볼륨 크기(볼륨 그룹-lv_root) 을 위한/디렉토리는 초기에 50G입니다.

찾아보니 공간이 부족하더군요. 그래서 나는 추가했다/dev/vdc물리적 볼륨볼륨 그룹볼륨 그룹.

그러다가 100G 연장을 해봤는데볼륨 그룹-lv_root논리 볼륨이지만 lvextend -l +100%FREE -r VolGroup-lv_root" " 명령을 사용하여 실수로 사용 가능한 모든 볼륨 그룹 크기를 LV로 확장했습니다.

"를 눌렀어요Ctrl+C명령 오류(올바른 명령은 이어야 함 lvextend -L +100G -r VolGroup-lv_root)를 발견한 후 명령을 중지한 다음 " " 명령을 통해 LV 크기 확장을 중지하면 크기가 192G로 표시됩니다 df -h.

df -h:

df-h

그런데 찾아보니 숫자(192G)가 "에 표시된 것과 같은 크기가 아닙니다.fdisk -l"(311.4GB),"PV"(99.51GB),"LSBLK"(290G) 및LVS(289.99g) 명령.

fdisk -l: 피스커-l

pvs 및 vgs:

PV 및 VGS

lsblk: LSBLK

등급: LVS

vda2 by 의 전체 크기는 pvs99.5이며 이는 290+10+39.5 by 와 같지 않음을 알 수 있습니다 lsblk.

부팅 디스크를 내보냈습니다(개발/vda), 내보낸 파일을 qcow2 파일로 전송하고, qcow2 파일을 vmdk 파일로 전송하고, vmdk 파일을 VM으로 가져온 다음, VM을 ovf 파일로 내보낸 다음, ovf 파일을 다른 VM으로 가져옵니다( VM-신규). 그러나 VM(VM-new)이 작동하지 않습니다. 각 사용자는 자신만의 논리 볼륨을 갖고 있으므로 이로 인해 계정에 로그인하지 못할 수도 있습니다.

시작 오류 메시지: 여기에 이미지 설명을 입력하세요.

누르고 나면 문제 없나요?”Ctrl+C명령 실행이 완료되기 전에 디스크가 새 가상 머신으로 성공적으로 마이그레이션될 수 있도록 크기를 수정하려면 어떻게 해야 합니까?

답변1

아무래도 Ctrl-C를 누르면 LV 확장 단계가 완료되고, LV 내 파일 시스템 확장이 중간에 중단되는 것으로 보인다. 정확한 결과는 사용된 파일 시스템 유형에 따라 다르지만, ext4예를 들어 파일 시스템에서는 온라인 확장이 단계적으로 발생하므로 확장 명령이 중단되면 결과는 예상대로 완전히 확장되지는 않지만 완전한 파일 시스템이 됩니다. 단어.

원래 용량이 lv_root50G이고 +100G로 확장하려고 하므로 파일 시스템 유형이 축소를 허용하는 경우 다음과 같이 간단하게 이 문제를 해결할 수 있습니다.

lvreduce -L 150G -r VolGroup-lv_root

출력에 따르면 pvs볼륨 그룹에는 3개의 디스크가 있습니다 VolGroup. 이는 LV의 모든 부분이 3개의 PV의 어느 위치에나 위치할 수 있음을 의미합니다. 이를 사용하여 lvdisplay -m VolGroup-lv_root루트 LV의 각 부분이 어디에 있는지 확인할 수 있으며, 사용 가능한 범위가 있는 경우 이를 사용하여 pvmoveLV의 해당 부분을 이동할 수 있습니다.

디스크를 새 VM에 복제 하려는 경우 vda먼저 복제하려는 모든 LV가 디스크 내에 완전히 포함되어 있는지 확인해야 합니다(즉, 해당 LV의 일부가 디스크 안에 있거나 디스크 vdb1위에 있지 않음 vdc). pvmove사실이 아니다. 이렇게 하면 최소한 루트 파일 시스템이 새 VM에서 성공적으로 활성화될 수 있지만, 원래 시스템의 LV가 vdb1현재 vdc새 VM에서 누락된다는 오류가 여전히 발생합니다. 이로 인해 처음 부팅할 때 새 클론이 단일 사용자 모드로 전환될 가능성이 높습니다.

이러한 오류를 해결하려면 lvremove(아마도 함께 )를 사용하여 -ff누락된 LV를 삭제한 다음 를 vgreduce --removemissing VolGroup사용하여 LVM이 누락된 PV를 "잊게" 해야 합니다. 또한 누락된 LV에 대한 참조도 제거해야 합니다 /etc/fstab.

pvchange -u그런 다음 새 VM의 클론 PV와 vgchange -u VolGroup새 VM의 클론 PV를 사용하여 새 클론에 고유한 LVM UUID가 있는지 확인하는 것이 좋습니다 . 복제된 VG(또는 해당 스냅샷)가안 돼요원래 시스템으로 돌아가지만, 그런 함정을 남기지 않는 것이 더 안전하다고 생각합니다.

관련 정보