Menu Close

7.2. KVM ゲストイメージからの仮想マシンの作成

KVM ゲストイメージを使用して、フットプリントの小さい仮想マシンをホスト上にすばやく作成することができます。この手順では、Image Builder が生成した KVM ゲストイメージを .qcow2 イメージ形式として使用し、仮想マシン (VM) を作成します。Image Builder を使用して作成した KVM ゲストイメージでは、cloud-init がすでにインストールされ、有効になっています。

前提条件

  • Image Builder を使用して .qcow2 イメージを作成している。「Web コンソールインターフェースで Image Builder の Blueprint の作成」を参照してください。
  • qemu-kvm パッケージがシステムにインストールされている。/dev/kvm フォルダーがシステムで利用できることを確認できます。
  • システムに libvirt がインストールされている。
  • システムに virt-install がインストールされている。
  • genisoimage ユーティリティーがシステムにインストールされている。

手順

  1. Image Builder を使用して作成した 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/id_rsa.pub で SSH 公開鍵を確認できます。
  5. genisoimage コマンドを使用して、user-data ファイルおよび meta-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 ゲストイメージから新しい仮想マシンを作成します。仮想マシンイメージへのアタッチメントとして、手順 4 で作成した ISO イメージを含めます。

    # 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 none - ヘッドレス RHEL 8.4 仮想マシンであることを意味します。
    • --vcpus 4 - 4 つの仮想 CPU を使用することを意味します。
    • --memory 4096 - 4096 MB のメモリーを使用することを意味します。
  7. 仮想マシンのインストールが起動します。

    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 をユーザー名として使用し、作成した仮想マシンにログインします。パスワードは cilogon です。