目的
次の手順では、virt-clone
を使用して、コマンドラインからRedhatLinux上のKVMベースの仮想マシンをクローン化する方法について説明します。 指図。
オペレーティングシステムとソフトウェアのバージョン
- オペレーティングシステム: – Redhat 7.3
- ソフトウェア: – libvirtd(libvirt)2.0.0
要件
RedhatLinuxインストールへの特権アクセスが必要になります。
難易度
簡単
規約
- # –指定されたLinuxコマンドは、rootユーザーとして直接、または
sudo
を使用して、root権限で実行する必要があります。 コマンド - $ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります
手順
ソース仮想マシンの情報を取得する
仮想マシンのクローンを作成する前に、まず仮想マシンに関するいくつかの基本情報を取得する必要があります。クローンを作成しようとしているソース仮想マシンについて必要な最小限の情報は、その名前と使用中のディスクの数です。仮想マシンの名前を実行するには:
# virsh list Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org running
次に、ソース仮想マシンが使用しているディスクの数とその場所を知りたい場合があります。ディスクの場所に関する情報は、一貫性を保つために新しいクローンディスクファイルを保存する場所に関するヒントを提供するだけなので、オプションです。
# virsh dumpxml server1.linuxconfig.org | grep "source file" <source file='/var/lib/libvirt/images/server1.linuxconfig.org.qcow2'/> <source file='/var/lib/libvirt/images/server1.linuxconfig.org-1.qcow2'/> <source file='/var/lib/libvirt/images/server1.linuxconfig.org-2.qcow2'/>
上記の出力から、元の仮想マシンの場所/var/lib/libvirt/images/
に3つのディスクが格納されていることがわかります。 。
ソース仮想マシンの一時停止
クローン作成を行う前に、ソース仮想マシンを一時停止/一時停止する必要があります:
# virsh suspend server1.linuxconfig.org Domain server1.linuxconfig.org suspended
自動クローン仮想マシン
Redhat LinuxでKVMベースの仮想マシンを複製する1つの方法は、--auto-clone
を使用することです。 スイッチ。 --auto-clone
の主な利点 スイッチは、任意の数のソースディスクを自動的に複製するため、ユーザーは元の仮想マシンに接続されているディスクの場所と数を知る必要がありません。
欠点は、ユーザーがディスク名を指定できず、新しい複製された仮想ディスクの代わりの場所を誇りに思うことができないことです。次のlinuxコマンドは、元の仮想マシンserver1.linuxconfig.org
のクローンを作成します。 新しいクローン仮想マシンserver2.linuxconfig.org
--auto-clone
を使用して自動的に スイッチ。
# virt-clone --original=server1.linuxconfig.org --name=server2.linuxconfig.org --auto-clone WARNING Setting the graphics device port to autoport, in order to avoid conflicting. Allocating 'server2.linuxconfig.org.qcow2' | 10 GB 00:00:00 Allocating 'server1.linuxconfig.org-1-clone.qcow2' | 5.0 GB 00:00:07 Allocating 'server1.linuxconfig.org-2-clone.qcow2' | 5.0 GB 00:00:00 Clone 'server2.linuxconfig.org' created successfully.
上記の出力からわかるように、--auto-clone
元の仮想マシンに接続され、追加されたclone
のすべての仮想ディスクを自動的に複製しました 追加のディスクへのキーワード。新しいクローン仮想マシンがshut off
で待機しているはずです 開始する状態:
# virsh list --all Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org paused - server2.linuxconfig.org shut off
複数のディスクを手動で複製する
新しいクローンディスクの場所と名前をより細かく制御するために、--auto-clone
を省略できます。 --file
を使用して、すべての新しいクローンディスク名と宛先パスを切り替えて指定します スイッチ。 --file
の数に注意してください 提供される引数は、元の仮想マシンに接続されているディスクの数と同じである必要があります。例:
# virt-clone --original=server1.linuxconfig.org --name=server2.linuxconfig.org --file /var/lib/libvirt/images/server2.linuxconfig.org.img --file /var/lib/libvirt/images/server2.linuxconfig.org-1.img --file /var/lib/libvirt/images/server2.linuxconfig.org-2.img WARNING Setting the graphics device port to autoport, in order to avoid conflicting. Allocating 'server2.linuxconfig.org.img' | 10 GB 00:00:00 Allocating 'server2.linuxconfig.org-1.img' | 5.0 GB 00:00:07 Allocating 'server2.linuxconfig.org-2.img' | 5.0 GB 00:00:00 Clone 'server2.linuxconfig.org' created successfully.
再開/開始
この段階で、元の仮想マシンserver1.linuxconfig.org
を再開する準備が整いました。 :
# virsh resume server1.linuxconfig.org Domain server1.linuxconfig.org resumed
また、新しく複製された仮想マシンserver2.linuxconfig.org
を起動します :
# virsh start server2.linuxconfig.org Domain server2.linuxconfig.org started
すべての仮想マシンの状態を確認します:
# virsh list --all Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org running 3 server2.linuxconfig.org running