10.2. 사용자 지정된 RHEL 게스트 시스템 이미지에서 가상 머신 생성

Red Hat Image Builder를 사용하여 생성한 qcow2 이미지에서 VM(가상 머신)을 생성할 수 있습니다.

사전 요구 사항

  • 이미지 빌더를 사용하여 .qcow2 이미지를 생성하고 다운로드했습니다.

절차

  1. .qcow2 이미지를 다운로드한 디렉터리에 액세스합니다.
  2. meta-data 라는 파일을 생성합니다. 이 파일에 다음 정보를 추가합니다.

    instance-id: nocloud
    local-hostname: vmname
  3. user-data 라는 파일을 생성합니다. 파일에 다음 정보를 추가합니다.

    #cloud-config
    user: admin
    password: password
    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 에서 찾을 수 있습니다.
  4. genisoimage 명령을 사용하여 user-datameta-data 파일이 포함된 ISO 이미지를 생성합니다.

    # genisoimage -output cloud-init.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)
  5. virt-install 명령을 사용하여 KVM 게스트 이미지에서 새 VM을 생성합니다. VM 이미지에 대한 첨부 파일로 4단계에서 생성한 ISO 이미지를 포함합니다.

    # virt-install \
        --memory 4096 \
        --vcpus 4 \
        --name myvm \
        --disk composer-api.qcow2,device=disk,bus=virtio,format=qcow2 \
        --disk cloud-init.iso,device=cdrom \
        --os-variant rhel8.5 \
        --virt-type kvm \
        --graphics none \
        --import

    다음과 같습니다.

    • --graphics none - 헤드리스 RHEL 가상 머신임을 나타냅니다.
    • --vCPUs 4 - 가상 CPU 4를 사용함을 나타냅니다.
    • --memory 4096 - 4096MB의 RAM을 사용함을 나타냅니다.
  6. VM 설치가 시작됩니다.

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