자동 VM 디스크 크기 조정

자동 VM 디스크 크기 조정

훌륭하게 작동하는 KVM/Qemu 설정이 있습니다. 이제 새 VM 프로비저닝을 간소화하고 싶습니다.

확실한 두 가지 방법은 기존 디스크를 복제하거나 처음부터 설치하는 것입니다(자동 사전 설정/킥스타트 사용).

내 테스트에서 사전 시드/킥스타트를 사용하여 설치하는 경우 생성부터 실행까지 최소 몇 분이 소요됩니다(로컬 미러를 사용하더라도). 결과는 훌륭하지만 시간이 너무 오래 걸립니다.

복제는 확실히 훨씬 빠르지만 원본보다 더 큰 디스크가 필요한 순간 ​​문제가 발생합니다.

이제 일회성이었다면 수동으로 부팅하고 디스크를 확장하는 것은 사소한 일이었을 것입니다. 그러나 처음 부팅할 때 자동화된 방식으로 이 작업을 수행하려고 합니다.

기본적으로 수행해야 할 세 가지 작업이 있습니다.

  • 디스크 확장(fdisk/cfdisk 등)
  • 볼륨 풀 크기 조정(LVM의 경우)
  • 실제 파일 시스템 확장

이 스크립트를 작성하는 것이 가능하지만 자동화된 방식으로 이 작업을 수행하려는 유일한 사람이 아닌지 의심스럽기 때문에 여기서 제기하고 싶었습니다. 내가 찾은 가장 가까운 것은raspi 구성이를 위한 자동화 도구를 제공하는 Raspberry Pi의 경우.

물론 raspi-config에서 코드를 가져올 수도 있지만 가정이 많이 필요하므로 보다 보편적인 도구를 사용할 수 있기를 바랐습니다.

답변1

libguestfs작업을 수행할 수도 있지만 제자리에서 수행할 수는 없습니다. 인용문:

Copy olddisk to newdisk, extending one of the guest's partitions to fill the extra 5GB of space.

    virt-filesystems --long -h --all -a olddisk

    truncate -r olddisk newdisk
    truncate -s +5G newdisk

    # Note "/dev/sda2" is a partition inside the "olddisk" file.
    virt-resize --expand /dev/sda2 olddisk newdisk

복제 단계에서 이 작업을 수행하면 작동합니다.

답변2

growroot의 일부인 것으로 밝혀졌습니다.클라우드 초기화이것을 할 수 있습니다. 이것이 어떻게 작동하는지에 대한 완전한 예를 보려면 내 구현을 살펴보십시오.vmprep.

관련 정보