11.3. コマンドラインインターフェイスで仮想マシンのクローン作成

特定のプロパティーセット (例: テスト目的) で新しい仮想マシンをすばやく作成するために、既存の仮想マシンのクローンを作成します。CLI を使用してこれを行うには、以下の手順を行います。

前提条件

  • 移行元の仮想マシンがシャットダウンしている。
  • クローンとして作成したディスクイメージを保存するのに十分なディスク領域があることを確認します。
  • (必要に応じて) 仮想マシンのクローンを複数作成する場合は、ソースの仮想マシンから一意のデータと設定を削除して、クローンとして作成した仮想マシンが正しく機能することを確認することを推奨します。手順は、仮想マシンテンプレートの作成 を参照してください。

手順

  1. 環境とユースケースに適したオプションを指定して virt-clone ユーティリティーを使用します。

    サンプルのユースケース

    • 以下のコマンドは、example-VM-1 という名前のローカルの仮想マシンのクローンを作成し、example-VM-1 -clone 仮想マシンを作成します。また、元の仮想マシンのディスクイメージと同じ場所に、example-VM-1-clone.qcow2 ディスクイメージを作成し、これを割り当てます。

      # virt-clone --original example-VM-1 --auto-clone
      Allocating 'example-VM-1-clone.qcow2'                            | 50.0 GB  00:05:37
      
      Clone 'example-VM-1-clone' created successfully.
    • 以下のコマンドは、example-VM-2 という名前の仮想 マシンをクローンし、example-VM-3 という名前のローカル仮想マシンを作成します。これは、example-VM-2 の複数のディスクのみを 2 つだけ使用します。

      # virt-clone --original example-VM-2 --name example-VM-3 --file /var/lib/libvirt/images/disk-1-example-VM-2.qcow2 --file /var/lib/libvirt/images/disk-2-example-VM-2.qcow2
      Allocating 'disk-1-example-VM-2-clone.qcow2'                                      | 78.0 GB  00:05:37
      Allocating 'disk-2-example-VM-2-clone.qcow2'                                      | 80.0 GB  00:05:37
      
      Clone 'example-VM-3' created successfully.
    • 仮想マシンを別のホストにクローンするには、ローカルホストで定義を解除せずに仮想マシンを移行します。たとえば、次のコマンドは、以前に作成した仮想マシン geminus2 を 10.0.0.1 リモートシステムにローカルディスクを含めてクローンします。これらのコマンドを使用するには、10.0.0.1 への root 権限も必要になることに注意してください。

      # virsh migrate --offline --persistent example-VM-3 qemu+ssh://root@10.0.0.1/system
      root@10.0.0.1's password:
      
      # scp /var/lib/libvirt/images/<disk-1-example-VM-2-clone>.qcow2 root@10.0.0.1/<user@remote_host.com>://var/lib/libvirt/images/
      
      # scp /var/lib/libvirt/images/<disk-1-example-VM-2-clone>.qcow2 root@10.0.0.1/<user@remote_host.com>://var/lib/libvirt/images/

検証

仮想マシンのクローンが正常に作成され、正しく機能していることを確認するには、以下を行います。

  1. クローンが、ホストの仮想マシンのリストに追加されていることを確認します。

    # virsh list --all
    Id   Name                  State
    ---------------------------------------
    -    example-VM-1          shut off
    -    example-VM-1-clone    shut off
  2. クローンを起動し、起動しているかどうかを確認します。

    # virsh start example-VM-1-clone
    Domain 'example-VM-1-clone' started

関連情報