15.15. virsh を使用したゲスト仮想マシンの移行

virsh を使用した移行についての詳細は、「virsh を使用した KVM のライブマイグレーション」のセクションをご覧ください (「virsh を使用した KVM のライブマイグレーション」)。

15.15.1. インターフェースコマンド

以下のコマンドはホストインターフェースを操作するので、ゲスト仮想マシンから実行することはできません。これらのコマンドは、ホスト物理マシンのターミナルから実行する必要があります。

警告

マシンの NetworkManager サービスが無効にされており、network サービスが代わりに使用されている場合は、このセクションに記載のコマンドのみがサポートされます。
これらのホストインターフェースは、ドメインの <interface> 要素内の名前 (system-created bridge interface など) で使用されることがよくありますが、ホストインターフェースを特定のゲスト設定 XML に関連付けるという要件はありません。ホストインターフェースのコマンドの多くはドメインに使用されるものに類似しており、インターフェースの命名は、その名前を使用するか、またはその MAC アドレスを使用するかのいずれかになります。ただし、iface オプションでの MAC アドレスの使用は、アドレスが固有な場合にのみ機能します (インターフェースとブリッジが同じ MAC アドレスを共有することはよくありますが、この場合、MAC アドレスを使用すると、曖昧さが原因でエラーが生じるため、代わりに名前を使用する必要があります)。

15.15.1.1. XML ファイルによるホスト物理マシンインターフェースの定義と開始

virsh iface-define file コマンドは、XML ファイルからホストインターフェースを定義します。このコマンドはインターフェースのみを定義し、これを開始することはありません。
virsh iface-define iface.xml
すでに定義されたインターフェースを開始するには、iface-start interface を実行します。ここで、interface はインターフェース名です。

15.15.1.2. ホストインターフェース用 XML 設定ファイルの編集

コマンド iface-edit interface は、ホストインターフェースの XML 設定ファイルを編集します。これは、XML 設定ファイルを編集するための 唯一 推奨される方法です (これらのファイルについては、21章ドメイン XML の操作 を参照してください)。

15.15.1.3. アクティブなホストインターフェースの一覧表示

iface-list --inactive --all は、アクティブなホストインターフェースの一覧を表示します。--all が指定されている場合、この一覧には、定義されているものの、アクティブではないインターフェースが含まれます。--inactive が指定される場合、アクティブではないインターフェースのみが一覧表示されます。

15.15.1.4. MAC アドレスのインターフェース名への変換

iface-name interface コマンドは、MAC アドレスがホストのインターフェース間で固有な場合に、ホストインターフェースの MAC をインターフェース名に変換します。このコマンドには、インターフェースの MAC アドレスである interface が必要になります。
iface-mac interface コマンドは、この場合 interface がインターフェース名になりますが、ホストのインターフェース名を MAC アドレスに変換します。

15.15.1.5. 特定ホスト物理マシンのインターフェースの停止

virsh iface-destroy interface コマンドは、ホストの実行中の if-down と同じ、所定のホストインターフェースを破棄 (停止) します。このコマンドは、インターフェースがアクティブに使用されることを停止し、ただちに有効になります。
インターフェースの定義解除を行うには、インターフェース名を使用して iface-undefine interface コマンドを使用します。

15.15.1.6. ホスト設定ファイルの表示

virsh iface-dumpxml interface --inactive は、標準出力 (stdout) への XML ダンプとしてホストのインターフェースを表示します。--inactive オプションを指定すると、出力には次回の起動時に使用されるインターフェースの永続状態が反映されます。

15.15.1.7. ブリッジデバイスの作成

iface-bridge は、ブリッジデバイスが指定するブリッジを作成し、既存のネットワークデバイスインターフェースを新規のブリッジに割り当てます。新規のブリッジは、STP が有効な状態、かつ遅延 0 の状態でただちに機能を開始します。
# virsh iface-bridge interface bridge --no-stp delay --no-start
これらの設定は、--no-stp、--no-start、および遅延の秒数を表す整数を使って変更できることに注意してください。インターフェースのすべての IP アドレス設定は、新規のブリッジデバイスに移行します。ブリッジを破棄する方法についての詳細は、「ブリッジデバイスの破棄」を参照してください。

15.15.1.8. ブリッジデバイスの破棄

iface-unbridge bridge --no-start コマンドは、bridge という名前の指定されたブリッジデバイスを破棄し、その基礎となるインターフェースを通常に使用状態に戻し、ブリッジデバイスから基礎となるデバイスにすべての IP アドレス設定を移行します。--no-start オプションを使用しなければ、この基礎となるインターフェースは再起動しますが、再起動することが通常推奨されていることに注意してください。ブリッジ作成のコマンドについては、「ブリッジデバイスの作成」を参照してください。

15.15.1.9. インターフェーススナップショットの操作

iface-begin コマンドは、現在のホストインターフェースの設定のスナップショットを作成し、それは後にコミット (iface-commit を使用) されるか、または復元 (iface-rollback を使用) されます。スナップショットがすでに存在する場合、このコマンドは直前のスナップショットがコミットされるか、または復元されない限り失敗します。外部の変更が libvirt API 外のホストインターフェースに対して、スナップショットの作成時からその後のコミットまたはロールバックの間までに行なわれる場合、未定義の動作が生じます。
最後に iface-begin を実行してから行なわれたすべての変更を機能しているものとして宣言するために、iface-commit コマンドを使用し、次にロールバックポイントを削除します。iface-begin でインターフェースのスナップショットが起動されていない場合、このコマンドは失敗します。
iface-rollback を使用して、iface-begin コマンドが実行された最終時を記録した状態に、すべてのホストインターフェース設定を戻します。iface-begin コマンドがそれまでに実行されていなかった場合、iface-rollback は失敗します。ホスト物理マシンの再起動は、暗黙的なロールバックポイントとしても機能する点に注意してください。