vswitchmode データリンクプロパティーを使用すると、同じ物理ポート上の VM の切り替えを制御できます。3 つの値を指定できます。
local - 同じ物理 NIC 上の VM 間のネットワークトラフィックを内部的に交換できるようにします。これは、デフォルトのモードです。
remote - 同じ物理 NIC 上の VM 間のネットワークトラフィックを外部スイッチ経由で交換できるようにします。
auto - LLDP を使用して、反射型リレーが外部スイッチ上でサポートされているかどうかを確認します。反射型リレーが外部スイッチでサポートされている場合、VM 間のネットワークトラフィックは外部スイッチ経由で交換されます。それ以外の場合、VM 間のネットワークトラフィックは内部的に交換されます。
同じ物理 NIC 上に複数の VNIC が構成されている場合は、vswitchmode データリンクプロパティーを remote に設定して、ネットワークトラフィックをスイッチ経由で外部に送信できます。ただし、外部スイッチを反射型リレーモードで構成する必要があります。反射型リレーを有効にするスイッチ構成は、スイッチのタイプに固有です。詳細は、スイッチの製造元のドキュメントを参照してください。
次の図は、外部スイッチに接続し、同じ顧客のサービスを実行している 2 つのゾーン (VM) をホストしている、10G Ethernet リンクのサンプルのシステムを示しています。
図 13 ゾーン間の内部通信
Zone1 と Zone2 という 2 つのゾーンが同じ顧客のサービスを実行しているため、2 つのゾーン間の通信は制限なしで内部的に発生する可能性があります。したがって、VNIC1 と VNIC2 の間のトラフィックは内部的に交換できます。
次のように、物理 NIC net5 の vswitchmode プロパティーの既存の値を確認します。
# dladm show-linkprop -p vswitchmode net5 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net4 vswitchmode rw local local local local,remote,auto
出力の VALUE および EFFECTIVE フィールドに値 local が表示されます。この値はゾーン間の通信が内部的であることを示しています。
この例では、Zone1 と Zone2 という 2 つのゾーンが異なる顧客向けのサービスを実行する必要があり、これらのサービスのネットワークトラフィックを制御するためのアクセス制御リスト (ACL) が外部スイッチに構成されているものとします。そのため、これらのゾーンは内部的には通信できず、VNIC1 と VNIC2 の間のネットワークトラフィックをスイッチ経由で外部的に交換する必要があります。
したがって、次のように vswitchmode プロパティーを remote に設定することによって、ゾーン間の内部通信を無効にする必要があります。
# dladm set-linkprop -p vswitchmode=remote net5
# dladm show-linkprop -p vswitchmode net5 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net5 vswitchmode rw remote remote local local,remote,auto
vswitchmode プロパティーを remote に設定して VNIC の内部通信を無効にするため、VNIC 間のネットワークトラフィックは、次の図に示すように外部スイッチ経由で送信されます。
図 14 外部スイッチを使用したゾーン間の通信
VM 間の通信の自動構成には LLDP を使用できます。LLDP は、外部スイッチが反射型リレーをサポートするかどうかに基づいて、ネットワークトラフィックの交換を内部または外部として構成します。LLDP を使用するには、vswitchmode データリンクプロパティーを auto に設定します。最初に、次の点を確認する必要があります。
LLDP パッケージがインストールされている。
LLDP パッケージがインストールされているかどうかを確認するには、次のコマンドを使用します。
# pkg info lldp
LLDP サービスがオンラインになっている。
LLDP サービスがオンラインになっているかどうかを確認するには、次のコマンドを使用します。
# svcs lldp STATE STIME FMRI online Jul_13 svc:/network/lldp:default
dot1-tlv TLV ユニットで EVB が有効になっている。
NIC の LLDP モードが both である。
この例では、EVB が dot1-tlv TLV ユニットで有効になっていて、LLDP モードが both であることを確認するため、次のコマンドを使用します。
# lldpadm show-agentprop -p mode,dot1-tlv net5 AGENT PROPERTY PERM VALUE DEFAULT POSSIBLE net5 mode rw both disable txonly,rxonly,both,disable net5 dot1-tlv rw evb none none,vlanname,pvid,linkaggr,pfc, appln,evb,etscfg,etsreco,all
vswitchmode データリンクプロパティーを auto に設定するには:
# dladm set-linkprop -p vswitchmode=auto net5
vswitchmode データリンクプロパティーを auto に設定した場合は、dladm show-linkprop コマンドの出力を使用して、VM 間の通信が内部的か外部スイッチ経由かを確認できます。
# dladm show-linkprop -p vswitchmode net5 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net5 vswitchmode rw auto remote local local,remote,auto
この出力の EFFECTIVE フィールドの値が remote であるため、LLDP で外部スイッチ上の反射型リレーが有効になっており、VM 間の通信は外部スイッチ経由です。
LLDP についての詳細は、Oracle Solaris 11.3 でのネットワークデータリンクの管理 の 第 6 章, リンク層検出プロトコルによるネットワーク接続情報の交換を参照してください。