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

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

警告

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

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

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

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

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

20.38.3. ホストインターフェースの一覧表示

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

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

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

20.38.5. 特定ホスト物理マシンのインターフェースの停止と定義解除

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

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

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

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

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

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

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

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

virsh iface-begin コマンドは、現在のホストインターフェースの設定のスナップショットを作成し、それは後にコミット (virsh iface-commit を使用) されるか、または復元 (virsh iface-rollback を使用) されます。これは、新規ホストインターフェースを定義および起動し、システムが正しく設定されず、不具合が生じた場合に便利です。スナップショットがすでに存在する場合、このコマンドは直前のスナップショットがコミットされるか、または復元されない限り失敗します。外部の変更が libvirt API 外のホストインターフェースに対して、スナップショットの作成時からその後のコミットまたはロールバックの間までに行われる場合、未定義の動作が生じます。
virsh iface-commit を実行してから行われたすべての変更を機能しているものとして宣言するために、virsh iface-begin コマンドを使用し、次にロールバックポイントを削除します。virsh iface-begin でインターフェースのスナップショットが起動されていない場合、このコマンドは失敗します。
virsh iface-rollback を使用すると、すべてのホストインターフェースの設定が virsh iface-begin コマンドを最後に実行した時点に記録した状態に戻されます。virsh iface-begin コマンドが事前に実行されていない場合、virsh iface-rollback は失敗します。ホスト物理マシンが virsh iface-commit の実行前に再起動する場合、自動ロールバックが実行され、ホストの設定が virsh iface-begin が最後に実行された状態に回復します。これは、ネットワーク設定への不適切な変更により、変更を元に戻す目的でホストにアクセスできなくなったが、ホストの電源がオンになっているか、または再起動が強制される場合に役立ちます。

例20.98 スナップショットの使用例

新規ホストインターフェイスを定義して起動します。
# virsh iface-begin
# virsh iface-define eth4-if.xml
# virsh if-start eth4
不具合が発生しネットワークが停止したら、変更をロールバックします。
# virsh iface-rollback
適切に機能していれば、変更をコミットします。
# virsh iface-commit