第20章 virsh を使用したゲスト仮想マシンの管理

virsh は、ゲスト仮想マシンを管理するためのコマンドラインツールであり、Red Hat Enterprise Linux 7 の仮想化を制御するための主要な手段として機能します。virsh コマンドラインツールは libvirt 管理 API をベースに構築されており、ゲスト仮想マシンの作成、導入、および管理に使用できます。virsh ユーティリティーは、仮想化管理スクリプトの作成に最適のもので、root 特権のないユーザーも読み取り専用モードで使用できます。virsh パッケージは、yum パッケージの一部として libvirt-client でインストールされます。
インストールの手順に関しては、「仮想化パッケージの手動インストール」 を参照してください。実際のデモなど、virsh 導入全般についての情報は、『仮想化スタートガイド』を参照してください。本章では、使用状況に基づいて論理的な順序で設定される virsh コマンドについて扱います。

注記

help を使用する場合や man ページを参照する場合には、「domain」(ドメイン) という用語がゲスト仮想マシンの代わりに使用されることに注意してください。これは libvirt で使用される用語です。画面出力が表示される際に「domain」(ドメイン) が使用されている場合、これはゲストまたはゲスト仮想マシンに切り替わりません。すべての例ではゲスト仮想マシンの「guest1」が使用されます。すべての例でこれをゲスト仮想マシンの名前に置き換えてください。ゲスト仮想マシンの名前を作成する際には、短く覚えやすい整数 (0,1,2...)、テキスト文字列名を使用するか、または仮想マシンの完全な UUID も使用できます。

重要

どのユーザーとして使用しているかについて留意してください。あるユーザーを使用してゲスト仮想マシンを作成する場合、別のユーザーを使用してそのマシンについての情報を取得することはできません。これは、virt-manager で仮想マシンを作成する場合は特に重要になります。デフォルトユーザーは、特に指定がない場合は root になります。virsh list --all コマンドを使用して仮想マシンを一覧表示できない場合には、仮想マシンの作成に使用したユーザーとは異なるユーザーを使用してコマンドを実行したことが原因である可能性があります。詳細は、重要 を参照してください。

20.1. ゲスト仮想マシンの状態および種類

Move to a reference part of the book for the overhaul

virsh コマンドのいくつかは、ゲスト仮想マシンの状態によって影響を受けます。
  • 一時的 - 一時的なゲストは、再起動後は存続しません。
  • 永続的 - 永続的なゲスト仮想マシンは再起動後も存続し、削除されるまで存続します。
仮想マシンのライフサイクル期間中、libvirt は以下の状態のいずれかにゲストを分類します。
  • Undefined (未定義): これは、ゲスト仮想マシンが定義されていないか、または作成されていない状態です。そのため、libvirt はこの状態にあるゲストを認識せず、この状態のゲスト仮想マシンについて報告しません。
  • Shut off (シャットオフ): これは、ゲスト仮想マシンが定義されているものの、実行されていない状態です。永続的なゲストのみがシャットオフと見なされます。そのため、一時的なゲスト仮想マシンがこの状態に置かれると存在しなくなります。
  • Running (実行中): この状態のゲスト仮想マシンは定義されており、現在機能している状態です。この状態は一時的および永続的なゲスト仮想マシンの両方に使用できます。
  • Paused (一時停止): ゲスト仮想マシンのハイパーバイザーでの実行が一時停止になっているか、またはその状態が再開されるまで一時的に保存されている状態です。この状態のゲスト仮想マシンは、それらが一時停止になっていることを認識せず、再開される際に経過した時間を通知しません。
  • Saved (保存): この状態は一時停止の状態と似ていますが、ゲスト仮想マシンの設定は永続的なストレージに保存されます。この状態のゲスト仮想マシンはそれが一時停止になっていることを認識せず、復元時に経過した時間を通知しません。