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

RHEL Image Builder を使用すると、.qcow2 イメージをビルドし、KVM ゲストイメージを使用して仮想マシンを作成できます。RHEL Image Builder を使用して作成した KVM ゲストイメージでは、cloud-init がすでにインストールされ、有効になっています。

前提条件

  • RHEL Image Builder を使用して .qcow2 イメージを作成している。Web コンソールインターフェイスでのブループリントの作成 を参照してください。
  • qemu-kvm パッケージがシステムにインストールされている。/dev/kvm デバイスがシステムで使用可能かどうか、および仮想化機能が BIOS で有効になっているかどうかを確認できる。
  • システムに libvirt および virt-install パッケージがインストールされている。
  • xorriso パッケージによって提供される genisoimage ユーティリティーがシステムにインストールされている。

手順

  1. RHEL Image Builder を使用して作成した .qcow2 イメージを /var/lib/libvirt/images/ ディレクトリーに移動します。
  2. ディレクトリー (cloudinitiso など) を作成し、新規に作成したそのディレクトリーに移動します。

    $ mkdir cloudinitiso
    $ cd cloudinitiso
  3. meta-data という名前のファイルを作成します。このファイルに以下の情報を追加します。

    instance-id: citest
    local-hostname: vmname
  4. 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/<id_rsa.pub>\ で SSH 公開鍵を確認できます。

  5. genisoimage ユーティリティーを使用して、user-data ファイルおよび meta-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)
  6. virt-install コマンドを使用して、KVM ゲストイメージから新しい仮想マシンを作成します。仮想マシンイメージへのアタッチメントとして、手順 4 で作成した ISO イメージを含めます。

    # virt-install \
        --memory 4096 \
        --vcpus 4 \
        --name myvm \
        --disk rhel-9-x86_64-kvm.qcow2,device=disk,bus=virtio,format=qcow2 \
        --disk cloud-init.iso,device=cdrom \
        --os-variant rhel 9 \
        --virt-type kvm \
        --graphics none \
        --import
    • --graphics none - ヘッドレス RHEL 9 仮想マシンであることを意味します。
    • --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 9 (Ootpa)
    Kernel 4.18.0-221.el8.x86_64 on an x86_64

検証

起動が完了すると、仮想マシンにテキストログインインターフェイスが表示されます。仮想マシンのローカルコンソールにログインするには、user-data ファイルのユーザーの詳細を使用します。

  1. ユーザー名として admin と入力し、Enter を押します。
  2. password としてパスワードを入力し、Enter を押します。

    ログイン認証が完了すると、CLI を使用して仮想マシンにアクセスできます。