vmbuilder처럼 VM을 수동으로 크레딧하는 방법

vmbuilder처럼 VM을 수동으로 크레딧하는 방법

내 홈 서버에서 KVM 기반 VM을 실험하고 있습니다. 호스트는 Ubuntu Server 16.04.1 LTS를 실행하며 게스트도 마찬가지입니다.

vmbuilder를 사용하여 게스트를 만들 수 있었습니다. qcow2 이미지를 출력한 다음 성능 향상을 위해 LVM 논리 볼륨의 원시 이미지로 변환했습니다. 이 이미지의 전체 크기는 약 900MB이며, 제가 필요한 것에 잘 맞습니다.

그러나 수동으로 VM을 생성하고 우분투 서버 ISO에서 Ubuntu를 설치하면 논리 볼륨을 파일 원시 이미지가 아닌 블록 원시 장치로 VM 게스트에 노출할 수 있습니다. 내 테스트에서는 테스트 방법에 따라 일반적으로 디스크 성능이 크게 향상되는 것으로 나타났습니다. 하지만 이 VM은 거의 Lean이 아니며(1.8GB 정도 설치) 부팅 시간도 훨씬 느립니다(vmbuilder로 만든 블록 장치 VM은 약 5초 만에 부팅되고, 수동으로 설치한 파일 기반 VM은 약 15초 만에 부팅됩니다). .

따라서 내 목표는 하나의 vmbuilder 설치, 더 적은 수의 패키지, 빠른 부팅 등의 VM을 가지되 파일 기반 원시 이미지 대신 원시 블록 장치를 저장소로 사용하도록 하는 것입니다.

질문:

  1. vmbuilder로 생성된 VM은 수동으로 설치할 때와 어떻게 다릅니까?

  2. Ubuntu(예전에는)에 Ubuntu JeOS가 있고 서버 iso에서 설치할 수 있다는 참조가 있지만 방법을 찾을 수 없습니다. 이것이 여전히 옵션입니까? 그렇다면 vmbuilder가 설치하는 것입니까?

  3. vmbuilder와 유사한 시스템을 수동으로 생성하려면 어떻게 해야 할까요? 아니면 qcow2 이미지를 원시 파일 이미지가 아닌 원시 블록으로 변환하려면 어떻게 해야 할까요?

답변1

이에 대한 답변은 얻지 못했지만 부분적인 해결책을 찾을 수 있었습니다. 내가 찾은 것은 이것이다.기사, Qcow2 이미지를 원시 파일 이미지가 아닌 원시 블록 장치로 변환하는 방법을 설명합니다.

기본 단계:

  1. VM을 꺼야 합니다.
  2. 다음을 사용하여 qcow2를 원시 이미지 파일로 변환합니다.

    qemu-img 변환 [qcow2] [rawimg]

  3. 원시 이미지의 크기를 바이트 단위로 가져옵니다.

    ls -l [원시]

    123456789

  4. LV를 생성하고 원시 이미지의 크기를 정확하게 일치시킵니다.

    lvcreate -L 123456789b -n [lvname] [vgroup]

  5. LV에 원시 이미지 쓰기:

    dd if=[rawimg] of=[경로/대상/lv]

이에 따라 VM의 XML 정의를 다음과 같이 변경합니다.

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2' cache='none'/>
  <source file='/srv/virtual/vm_web/tmp5GWO4q.qcow2'/>
  <target dev='hda' bus='virtio'/>
</disk>

에게:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none'/>
  <source dev='/dev/vgroup/lv_disk'/>
  <target dev='vda' bus='virtio'/>
</disk>

관련 정보