KVM 가상 머신 디스크 이미지의 크기를 줄이는 방법은 무엇입니까?


11

KVM 가상 머신 디스크의 크기를 어떻게 줄이거 나 줄입니까?

500GB의 가상 디스크 (/var/lib/libvirt/images/vm1.img에 저장 됨)를 할당했으며이 잔인 함을 발견하여 다른 가상 디스크와 함께 사용할 공간을 확보하려고합니다. 기계. 이미지 저장 공간을 늘리는 방법은 많지만 줄이지는 않는 방법에 대한 답변 이 많이 있습니다. virt-resize 도구를 찾았 지만 디스크 이미지가 아닌 원시 디스크 파티션에서만 작동하는 것 같습니다.

편집 : Ext4 형식의 파티션과 함께 LVM을 사용하고 있습니다.

편집 : 내 LVM 분할 레이아웃을 보여주는 GParted 스크린 샷. 파일 시스템의 크기를 조정 한 다음 더 많은 작업을 수행해야합니다. LVM의 크기를 조정하는 안전한 방법이 없습니다. 그리고 나에게 사용하라고 말하지 마십시오 pvresize. 이름에도 불구하고 LVM 크기 조정을 지원하지 않습니다.

GParted 스크린 샷

나는 시도 sudo pvresize /dev/vda5했지만 physical volume "/dev/vda5" changed실제로는 크기를 줄이지는 않습니다.

parted파티션 크기를 수동으로 설정 하려고 시도했지만 (매우 위험) print all"/ dev / sr0 인식 할 수없는 디스크 레이블"오류가 표시됩니다.

편집 : 이 지침을 따르면 논리 볼륨과 물리 볼륨을 성공적으로 축소 할 수 있었지만 (명령을 생략하기 전에 특정 명령 전후에 lvm을 활성화하고 비활성화해야한다는 것을 기억해야했습니다).

이제 GParted는 250G의 할당되지 않은 여유 공간을 보여줍니다. KVM 디스크 이미지에서이를 제거하고 기본 하이퍼 바이저에 다시 제공하려면 어떻게해야합니까?


실제로 가상 디스크의 크기를 줄여야합니까, 아니면 압축하면 충분합니까? 후자와 같은 것을 할 수 qemu-img -O qcow2 vm1.img vm1-compact.qcow2있습니다.
Ansgar Wiechers

@AnsgarWiechers, 예, 여전히 디스크를 사용해야하며, 필요한 것보다 훨씬 더 많은 공간을 할당했습니다.
Cerin

답변:


10

게시 한 사람들에게 감사하지만 귀하의 답변은 너무 모호하여 도움이되지 못했습니다.

몇 시간의 인터넷 검색 결과 마침내 파일 시스템, 논리 볼륨 및 물리 볼륨을 축소하는 방법에 대한 단계별 지침을 제공 하는 안내서 ( 링크 수정 됨 )를 발견했습니다 . 대부분의 가이드가 놓친 요령은 실제 ​​파티션을 실제로 삭제하고 올바른 크기로 다시 만들어야한다는 것입니다. parted는 lvm 파티션의 크기를 조정할 수 없기 때문입니다.

그런 다음 qemu-img 에서이 설명서 를 찾았습니다. 이 설명서 는 다음 을 실행하여 원시 형식의 가상 디스크 이미지를 축소하는 방법을 설명합니다.

sudo qemu-img resize /var/lib/libvirt/images/myvm.img 255G

qemu-img는 kvm의 디스크 이미지로 작업 할 때 유용한 도구입니다. 삼년 나중에 링크가 die.net에서 여기 매뉴얼 페이지, 깨진 것 같다 linux.die.net/man/1/qemu-img
루이 Loudog Trottier

그리고 누군가 가이 편리함을 원하고 .qcow2 VM에 갇히고 싶지 않다면 먼저 변환 qemu-img convert -f qcow2 -O raw image.qcow2 image.img한 다음 위 명령을 실행할 수 있습니다.
oemb1905

4

해야 할 일,

  • 백업을
  • 파일 시스템 축소 * 라이브 시스템에서는이 작업을 수행하지 마십시오. 라이브 CD를 사용하는 것이 좋습니다.
  • 원하는 크기의 새 디스크 이미지를 만듭니다.
  • 새 가상 이미지와 기존 이미지를 (가상) 하드 디스크 (마운트되지 않은)로 첨부하여 라이브 OS를 실행합니다.
  • 기존 디스크의 크기 조정 된 파티션과 동일한 크기의 새 파티션을 만듭니다.
  • dd를 사용하여 데이터를 새 파티션에 미러링하십시오.
  • 성공적으로 부팅하려면 grub (2)를 제거 / 재생해야 할 수도 있습니다.

이것은 GUI와 CLI를 통해 달성 될 수 있습니다

자원

도구

  • gparted (스팸으로 인해 링크가 생략되어 담당자가 충분하지 않음)

어려운 부분은 "파일 시스템 축소"입니다. 크기 조정을 지원하는 도구가없는 LVM을 사용하고 있습니다. GParted Live CD조차도 아닙니다.
Cerin

나는이 커버는, 내가 그렇게보고 좋은 또는 나쁜 제발 사용하지 않는 것 같아요 tcpdump.com/kb/os/linux/lvm-resizing-guide/shrink.html
daxroc

관찰 할 두 가지 주요 사항이 있습니다. 1) 순서대로 수행하십시오 ( 먼저 파일 시스템 축소 한 다음 파티션 축소 한 다음 디스크 축소하십시오). 2) 파일 시스템 크기 조정 절차 / 도구는 실제 파일 시스템 (OP가 공개하지 않기로 선택한)에 크게 의존합니다. @daxroc 게시 된 기사는 ext [234] 이외의 파일 시스템에서는 작동하지 않습니다.
Ansgar Wiechers

@daxroc, 논리 볼륨과 물리 볼륨을 모두 줄여야합니다. 귀하의 링크는 논리 볼륨 감소만을 다룹니다.
Cerin

동의했다. 백업, 새 디스크, 복원이 가장 안전하고 쉽습니다
dyasny

0

이것은 저에게 정말 효과적이었습니다. 디스크 이미지에서 0 블록을 압축 및 축소합니다. 다시 쓰면 이미지가 시간이 지남에 따라 확장됩니다.

qemu-img convert -c -O qcow2 vmdisk.qcow2 vmdisk-comp.qcow2

-4

이 작업을 수행하기 전에 디스크 이미지의 전체 복사본을 그대로 사용하는 것이 좋습니다. 디스크가 모두 손상되면 간단히 다시 복사하여 다시 시작할 수 있습니다.

당신이해야 할 세 가지가 있습니다 :

1) 디스크 이미지를 크게 만듭니다. 호스트 :

qemu-img 크기 조정 foo.qcow2 + 32G

이제 게스트는 더 큰 디스크를 볼 수 있지만 여전히 오래된 파티션과 파일 시스템이 있습니다.

2) 디스크 이미지 내부의 파티션을 더 크게 만듭니다. 마운트 된 파티션을 망칠 수 없으므로 게스트에서 LiveCD를 부팅해야합니다. 이것은 매우 관여하고 아마도 가장 위험한 부분입니다. 여기에 복사하는 것이 많이 있으므로 지금은 대신 링크하겠습니다. 다음과 같이하고 싶습니다 :

http://www.howtoforge.com/linux_resizing_ext3_partitions_p2

또는 2b) 더 많은 저장 공간을 원한다면 새 파티션을 만드는 것이 더 간단하고 안전합니다. fdisk 또는 cfdisk 또는 편안한 느낌이 드는 것을 사용하십시오. 이제 게스트 디스크에 할당되지 않은 공간이 많이 보입니다.

3) 마지막으로 기존 파티션의 크기를 조정 한 경우 새로운 더 큰 파티션의 파일 시스템을 더 크게 만듭니다 (실제로 위에 링크 된 가이드에 있음). 손님 내부 :


6
그는 이미지를 크게 만들지 않고 더 작게 만들려고합니다 .
Michael Hampton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.