Menu Close

7.2. KVM 게스트 이미지에서 가상 머신 생성

호스트에서 공간 공간이 작은 가상 머신을 빠르게 생성하려면 KVM 게스트 이미지를 사용할 수 있습니다. 이 절차에서는 이미지 빌더에서 생성한 KVM 게스트 이미지를 .qcow2 이미지 형식으로 사용하여 VM(가상 머신)을 생성합니다. 이미지 빌더를 사용하여 생성된 KVM 게스트 이미지에는 이미 cloud-init 가 설치 및 활성화되어 있습니다.

사전 요구 사항

  • 이미지 빌더를 사용하여 .qcow2 이미지를 생성했습니다. 웹 콘솔 인터페이스에서 이미지 빌더 청사진 생성을 참조하십시오.
  • qemu-kvm 패키지가 시스템에 설치되어 있습니다. 시스템에서 /dev/kvm 폴더를 사용할 수 있는지 확인할 수 있습니다.
  • 시스템에 libvirt 가 설치되어 있어야 합니다.
  • 시스템에 virt-install 이 설치되어 있어야 합니다.
  • genisoimage 유틸리티가 시스템에 설치되어 있습니다.

절차

  1. 이미지 빌더를 사용하여 생성한 KVM 게스트 이미지를 /var/lib/libvirt/images 디렉터리로 이동하고 이미지 이름 이름을 rhel-8.4-x86_64-kvm.qcow2 로 변경합니다.
  2. 예를 들어 cloudinitiso 디렉터리를 만들고 새로 생성된 디렉터리로 이동합니다.

    $ mkdir cloudinitiso
    $ cd cloudinitiso
  3. meta-data 라는 파일을 만듭니다. 이 파일에 다음 정보를 추가합니다.

    instance-id: citest
    local-hostname: citest-1
  4. user-data 라는 파일을 만듭니다. 파일에 다음 정보를 추가합니다.

    #cloud-config
    user: admin
    password: cilogon
    chpasswd: {expire: False}
    ssh_pwauth: True
    ssh_authorized_keys:
      - ssh-rsa AAA...fhHQ== your.email@example.com

    다음과 같습니다.

    • ssh_authorized_keys 는 SSH 공개 키입니다. SSH 공개 키는 ~/.ssh/id_rsa.pub 에서 찾을 수 있습니다.
  5. genisoimage 명령을 사용하여 user-datameta-data 파일이 포함된 ISO 이미지를 생성합니다.

    # genisoimage -output ciiso.iso -volid cidata -joliet -rock user-data meta-data
    
    I: -input-charset not specified, using utf-8 (detected in locale settings)
    Total translation table size: 0
    Total rockridge attributes bytes: 331
    Total directory bytes: 0
    Path table size(bytes): 10
    Max brk space used 0
    183 extents written (0 MB)
  6. virt-install 명령을 사용하여 KVM 게스트 이미지에서 새 VM을 생성합니다. 4단계에서 생성한 ISO 이미지를 VM 이미지에 대한 첨부 파일로 포함합니다.

    # virt-install \
        --memory 4096 \
        --vcpus 4 \
        --name mytestcivm \
        --disk /var/lib/libvirt/images/rhel-8.4-x86_64-kvm.qcow2,device=disk,bus=virtio,format=qcow2 \
        --disk /home/sample/cloudinitiso/ciiso.iso,device=cdrom \
        --os-variant rhel8.4 \
        --virt-type kvm \
        --graphics none \
        --import

    다음과 같습니다.

    • --graphics 없음 - 헤드리스 RHEL 8.4 VM임을 의미합니다.
    • --vCPUs 4 - 가상 CPU 4를 사용합니다.
    • --memory 4096 - 4096MB RAM을 사용함을 의미합니다.
  7. VM 설치가 시작됩니다.

    Starting install...
    Connected to domain mytestcivm
    ...
    [  OK  ] Started Execute cloud user/final scripts.
    [  OK  ] Reached target Cloud-init target.
    
    Red Hat Enterprise Linux 8.4 Beta (Ootpa)
    Kernel 4.18.0-221.el8.x86_64 on an x86_64

검증

  1. cloud-user 를 사용자 이름으로 사용하여 생성된 VM에 로그인합니다. 비밀번호는 cilogon 입니다.

추가 리소스