Menu Close
Settings Close

Language and Page Formatting Options

11.2.2. 仮想マシンテンプレートの手動による作成

既存の仮想マシンからテンプレートを作成する場合は、ゲスト仮想マシンを手動でリセットまたは設定解除して、クローン作成の準備をします。

前提条件

  • ソースの仮想マシンのディスクイメージの場所を把握しており、仮想マシンのディスクイメージファイルの所有者であることを確認します。

    libvirt の システムコネクション で作成した仮想マシンのディスクイメージが、デフォルトで /var/lib/libvirt/images ディレクトリーにあり、root ユーザーが所有している。

    # ls -la /var/lib/libvirt/images
    -rw-------.  1 root root  9665380352 Jul 23 14:50 a-really-important-vm.qcow2
    -rw-------.  1 root root  8591507456 Jul 26  2017 an-actual-vm-that-i-use.qcow2
    -rw-------.  1 root root  8591507456 Jul 26  2017 totally-not-a-fake-vm.qcow2
    -rw-------.  1 root root 10739318784 Sep 20 17:57 another-vm-example.qcow2
  • 仮想マシンがシャットダウンしていることを確認します。
  • オプション:仮想マシンのディスクにある重要なデータのバックアップが作成されている。ソースの仮想マシンをそのまま保持する場合は、クローン を作成してから、そのクローンを編集してテンプレートを作成します。

手順

  1. クローンを作成するように仮想マシンを設定します。

    1. クローンに必要なソフトウェアをインストールします。
    2. オペレーティングシステムに一意でない設定を設定します。
    3. 固有でないアプリケーション設定を設定します。
  2. ネットワーク設定を削除します。

    1. 以下のコマンドを使用して、永続的な udev ルールを削除します。

      # rm -f /etc/udev/rules.d/70-persistent-net.rules
      注記

      udev ルールを削除しないと、最初の NIC の名前が eth0 ではなく eth1 になる場合があります。

    2. 以下のように /etc/sysconfig/network-scripts/ifcfg-eth[x] を編集し、ifcfg スクリプトから一意のネットワークの詳細を削除します。

      1. HWADDR 行および Static 行を削除します。

        注記

        HWADDR が新しいゲストの MAC アドレスと一致しない場合、ifcfg は無視されます。

        DEVICE=eth[x] BOOTPROTO=none ONBOOT=yes #NETWORK=10.0.1.0 <- REMOVE #NETMASK=255.255.255.0 <- REMOVE #IPADDR=10.0.1.20 <- REMOVE #HWADDR=xx:xx:xx:xx:xx <- REMOVE #USERCTL=no <- REMOVE # Remove any other *unique or non-desired settings, such as UUID.*
      2. DHCP を設定しますが、HWADDR やその他の一意の情報は含まれません。

        DEVICE=eth[x] BOOTPROTO=dhcp ONBOOT=yes
    3. システムに同じコンテンツが存在する場合は、次のファイルにもそのコンテンツが含まれていることを確認します。

      • /etc/sysconfig/networking/devices/ifcfg-eth[x]
      • /etc/sysconfig/networking/profiles/default/ifcfg-eth[x]

        注記

        仮想マシンで NetworkManager または特殊な設定を使用している場合は、追加の固有情報が ifcfg スクリプトから削除されていることを確認します。

  3. 登録の詳細を削除します。

    • Red Hat ネットワーク (RHN) に登録されている仮想マシンの場合:

      # rm /etc/sysconfig/rhn/systemid
    • Red Hat Subscription Manager (RHSM) に登録されている仮想マシンの場合:

      • 元の仮想マシンを使用しない場合は、次のコマンドを実行します。

        # subscription-manager unsubscribe --all # subscription-manager unregister # subscription-manager clean
      • 元の仮想マシンを使用する場合は、以下を行います。

        # subscription-manager clean
        注記

        元の RHSM プロファイルは、ID コードとともにポータルに残ります。クローンの作成後、次のコマンドを使用して仮想マシンで RHSM 登録を再アクティブ化します。

        #subscription-manager register --consumerid=71rd64fx-6216-4409-bf3a-e4b7c7bd8ac9
  4. その他の固有の詳細を削除します。

    1. ssh 公開鍵と秘密鍵のペアを削除します。

      # rm -rf /etc/ssh/ssh_host_example
    2. 複数のマシンで実行している場合に、競合する可能性があるその他のアプリケーション固有の識別子や設定を削除します。
  5. gnome-initial-setup-done ファイルを削除し、次回のシステムの起動時に設定ウィザードを実行するように仮想マシンを設定します。

    # rm ~/.config/gnome-initial-setup-done
    注記

    次回の起動時に実行するウィザードは、仮想マシンから削除された設定によって異なります。また、クローンの初回起動時には、ホスト名を変更することが推奨されます。