Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

17.12. 物理インターフェースへの仮想 NIC の直接接続

デフォルトの NAT 接続の代わりに、macvtap ドライバーを使用して、ゲストの NIC を、ホストマシンの指定された物理インターフェースに直接接続できます。これを デバイスの割り当て (パススルーとも呼ばれます) と混同しないようにしてください。Macvtap 接続には次のモードがあり、それぞれに異なる利点とユースケースがあります。

物理インターフェースの配信モード

VEPA
仮想イーサネットポートアグリゲーター (VEPA) モードでは、ゲストからのすべてのパケットが外部スイッチに送信されます。これにより、ユーザーはスイッチを介してゲストトラフィックを強制的に送信できます。VEPA モードが適切に機能するには、外部スイッチも ヘアピンモード に対応する必要があります。これにより、宛先がソースゲストと同じホストマシンのゲストであるパケットが、外部スイッチによりホストに返されます。

図17.23 VEPA モード

VEPA モード
bridge
宛先がソースゲストと同じホストマシン上にあるパケットは、ターゲットの macvtap デバイスに直接配信されます。直接配信を成功させるには、ソースデバイスとターゲットデバイスの両方がブリッジモードになっている必要があります。いずれかのデバイスが VEPA モードの場合は、ヘアピン対応の外部スイッチが必要です。

図17.24 ブリッジモード

ブリッジモード
プライベート
すべてのパケットは外部スイッチに送信されます。また、外部ルーターまたはゲートウェイを介して送信され、これらがホストに送り返す場合に、同じホストマシン上のターゲットゲストにのみ配信されます。プライベートモードを使用すると、1 台のホスト上にある個別の仮想マシン間での通信を阻止することができます。移行元デバイスまたは移行先デバイスのいずれかがプライベートモードの場合は、以下の手順が行われます。

図17.25 プライベートモード

プライベートモード
パススルー
この機能は、移行機能を失うことなく、物理インターフェースデバイスまたはSR-IOV 仮想機能 (VF) をゲストに直接接続します。すべてのパケットは、指定されたネットワークデバイスに直接送信されます。パススルーモードではネットワークデバイスをゲスト間で共有できないため、ネットワークデバイスは 1 つのゲストにしか渡せないことに注意してください。

図17.26 passthrough モード

passthrough モード
Macvtap の設定は、ドメインの XML ファイルを変更するか、virt-manager インターフェースを使用します。

17.12.1. ドメイン XML を使用した macvtap の設定

ゲストのドメイン XML ファイルを開き、次のように <devices> 要素を変更します。
<devices>
	...
	<interface type='direct'>
		<source dev='eth0' mode='vepa'/>
	</interface>
</devices>
直接接続のゲスト仮想マシンのネットワークアクセスは、ホスト物理マシンの物理インターフェースが接続されているハードウェアスイッチによって管理できます。
スイッチが IEEE 802.1Qbg 規格に準拠している場合、インターフェースには以下のような追加パラメーターを設定できます。virtualport 要素のパラメーターについては、IEEE 802.1Qbg 標準で詳細が説明されています。この値はネットワーク固有のもので、ネットワーク管理者が指定する必要があります。802.1Qbg の用語では、Virtual Station Interface (VSI) は仮想マシンの仮想インターフェースを表します。また、IEEE 802.1Qbg では VLAN ID にゼロ以外の値が必要です。

Virtual Station Interface のタイプ

managerid
VSI Manager ID は、VSI タイプおよびインスタンス定義を含むデータベースを識別します。これは整数値で、値 0 は予約されています。
typeid
VSI タイプ ID は、ネットワークアクセスを特徴付ける VSI タイプを識別します。VSI の種類は通常、ネットワーク管理者が管理します。これは整数値です。
typeidversion
VSI タイプバージョンでは、複数のバージョンの VSI タイプが許可されます。これは整数値です。
instanceid
VSI インスタンス ID は、VSI インスタンス (仮想マシンの仮想インターフェース) が作成されると生成されます。これは、グローバルに一意の識別子です。
profileid
プロファイル ID には、このインターフェースに適用されるポートプロファイルの名前が含まれます。この名前は、ポートプロファイルデータベースにより、ポートプロファイルからネットワークパラメーターに解決され、これらのネットワークパラメーターはこのインターフェースに適用されます。
4つのタイプはそれぞれ、ドメインXMLファイルを変更することによって設定されます。このファイルを開いたら、以下のようにモード設定を変更します。
<devices>
 ...
 <interface type='direct'>
  <source dev='eth0.2' mode='vepa'/>
   <virtualport type="802.1Qbg">
    <parameters managerid="11" typeid="1193047" typeidversion="2" instanceid="09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f"/>
   </virtualport>
  </interface>
</devices>
プロファイル ID が表示されます。
<devices>
 ...
 <interface type='direct'>
  <source dev='eth0' mode='private'/>
   <virtualport type='802.1Qbh'>
    <parameters profileid='finance'/>
   </virtualport>
 </interface>
</devices>
...