第14章 virsh を使用したゲスト仮想マシンの管理
virsh は、ゲスト仮想マシンとハイパーバイザーを管理するためのコマンドラインインターフェイスツールです。virsh コマンドラインツールは libvirt 管理 API に基づいて構築されており、qemu-kvm コマンドおよびグラフィカルな virt-manager アプリケーションの代替として機能します。virsh コマンドは、特権のないユーザーが読み取り専用モードで使用することも、root アクセスで完全な管理機能を使用することもできます。virsh コマンドは、仮想化管理のスクリプトを作成するのに理想的です。
14.1. 一般的なコマンド リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このセクションのコマンドは、どのドメインにも固有ではないため、一般的なものです。
14.1.1. help リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
$ virsh help command | group help コマンドは、オプションの有無にかかわらず使用できます。オプションなしで使用すると、すべてのコマンドが 1 行に 1 つずつ一覧表示されます。オプションとともに使用すると、カテゴリーにグループ化され、各グループのキーワードが表示されます。
特定のオプション専用のコマンドを表示するには、そのグループのキーワードをオプションとして指定する必要があります。以下に例を示します。
同じコマンドをコマンドオプションとともに使用すると、その 1 つの特定のコマンドに関するヘルプ情報が得られます。以下に例を示します。
14.1.2. 終了して終了します リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
quit コマンドと exit コマンドは、ターミナルを閉じます。以下に例を示します。
virsh exit
$ virsh exit
virsh quit
$ virsh quit
14.1.3. version リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
version コマンドは、現在の libvirt バージョンを表示し、ビルドの作成元に関する情報を表示します。以下に例を示します。
14.1.4. 引数の表示 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
virsh echo [--shell][--xml][arg] コマンドは、指定された引数をエコーまたは表示します。エコーされた各引数はスペースで区切られます。
--shell オプションを使用すると、出力は必要に応じて一重引用符で囲まれるため、シェルコマンドでの再利用に適しています。--xml オプションを使用すると、出力は XML ファイルでの使用に適したものになります。たとえば、virsh echo --shell "hello world" というコマンドは、出力 'hello world' を送信します。
14.1.5. connect リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ハイパーバイザーセッションに接続します。シェルが最初に起動されたとき、このコマンドは、URI パラメーターが -c コマンドによって要求されたときに自動的に実行されます。URI は、ハイパーバイザーへの接続方法を指定します。最も一般的に使用される URI は以下のとおりです。
- xen:/// - ローカルの Xen ハイパーバイザーに接続します。
- qemu:///system- ルートとしてローカルで QEMU および KVM ドメインを監視するデーモンに接続します。
- xen:///session- ユーザーとしてローカルでユーザーの QEMU および KVM ドメインのセットに接続します。
- lxc:/// - ローカルの Linux コンテナーに接続します。
追加の値は、libvirt の Web サイト http://libvirt.org/uri.html で入手できます。
コマンドは次のように実行できます。
virsh connect {name|URI}
$ virsh connect {name|URI}
ここで、
{name} は、ハイパーバイザーのマシン名 (ホスト名) または URL (virsh uri コマンドの出力) です。読み取り専用接続を開始するには、上記のコマンドに --readonly を追加します。URI の詳細については、リモート URI を参照してください。URI がわからない場合は、virsh uri コマンドを実行すると以下のようなメッセージが表示されます。
virsh uri
$ virsh uri
qemu:///session
14.1.6. 基本情報の表示 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
次のコマンドを使用して、基本情報を表示できます。
- $ hostname- ハイパーバイザーのホスト名を表示します
- $ sysinfo- 利用可能な場合、ハイパーバイザーのシステム情報の XML 表現を表示します
14.1.7. NMI の挿入 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
$ virsh inject-nmi [domain] は、NMI (マスク不可割り込み) メッセージをゲスト仮想マシンに挿入します。これは、回復不能なハードウェアエラーなど、応答時間が重要な場合に使用されます。このコマンドを実行するには:
virsh inject-nmi guest-1
$ virsh inject-nmi guest-1