GNU/Linux >> Linux の 問題 >  >> Linux

RedhatLinuxでKVMベースの仮想マシンのクローンを作成する方法

目的

次の手順では、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

Linux
  1. Redhatのバージョンを確認する方法

  2. RedhatLinuxでKVMベースの仮想マシンを削除する方法

  3. RedHat Virtualization で仮想マシンを起動/停止する方法

  1. RedhatLinuxホストでの仮想マシンの自動起動の構成

  2. RedhatLinuxで仮想化を構成する方法

  3. RedhatLinuxのテキストモードインストールを強制する方法

  1. Redhat7Linuxで仮想ネットワークインターフェースを設定する方法

  2. インストールされているRedhatLinuxのバージョンを見つける方法

  3. RedHat Enterprise Linux のバージョンを確認するには?