仮想スイッチは、仮想マシン (VM) 間のトラフィックを外部回線に送信せずに物理マシン内でループさせることにより、VM 間の通信を促進するソフトウェアエンティティーまたはハードウェアエンティティーです。
EVS により、1 つ以上のノード (物理マシン) にまたがる仮想スイッチを明示的に作成でき、これによりネットワークが一層仮想化されます。作成する仮想スイッチは、VLAN または VXLAN を使用して隔離を実装する、隔離された L2 セグメントを表します。
EVS アーキテクチャーについての詳細は、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の EVS のコンポーネントを参照してください。
このシナリオの全体的な目的は、EVS 仮想テナントネットワークを設定およびデプロイすることです。主な目的は、2 つの計算ノードを接続する Elastic Virtual Switch (vswitch) を作成することで、2 つのノードが同じ L2 セグメントの一部となり相互に通信できるようにすることです。
このシナリオの個々の目的は、次のとおりです。
anet VNIC を介してネットワークに接続される 2 つのゾーンを持つ、仮想テナントネットワークをデプロイします。
2 つの計算ノードを持つプライベートクラウドインフラストラクチャー上に VNIC をデプロイします。
VLAN L2 インフラストラクチャーを使用して、プライベート仮想テナントネットワークをインスタンス化します。
次の図は、このシナリオで使用される Elastic Virtual Switch 構成の仮想コンポーネントおよび物理コンポーネントを表します。
図 4 EVS スイッチの構成の仮想コンポーネント
図 5 EVS スイッチの構成の物理コンポーネント
次の設定では、次の構成を持つ 4 つのネットワークノードが使用されます。
2 つの計算ノード (CN1 および CN2)。
CN1 および CN2 上にそれぞれ構成される 2 つのゾーン (z1 および z2)。
2 つのゾーン (z1 および z2) は、各ゾーン上で VNIC anet リソースを使用して構成されます。
EVS コントローラとして機能する 1 つのノード。
EVS クライアントとして機能する 1 つのノード。
VLAN に使用するデータリンクを指定する 2 つのアップリンクポート (net2)。
次の手順を実行して、EVS 仮想テナントネットワークのデプロイメントを計画します。
2 つの計算ノードを選択します。
コントローラとして機能するノードを指定します。
EVS クライアントとして機能するノードを指定します。
テナントトラフィックに使用する VLAN ID 範囲を選択します。
各計算ノードでテナントトラフィック用に使用するデータリンクを決定します。
基本の EVS パッケージ (pkg:/service/network/evs) を各ノードにインストールします。
pkg:/system/management/rad/module/rad-evs-controller パッケージをコントローラノードにインストールします。
リモート管理デーモン (RAD) 呼び出しが使用可能になるように各ノードを構成します。
各ノードで、コントローラを指定するように EVS を構成します。
EVS クライアントノードから、コントローラプロパティーを構成します。
EVS クライアントノードから、コントローラ構成を確認します。
EVS スイッチを設定する前に、必要なソフトウェアパッケージをインストールする必要があります。これらのパッケージを各 EVS ノードに個別にインストールします。
次のようにして、基本の EVS パッケージ (pkg:/service/network/evs) を各ノード (クライアント、コントローラ、および計算ノード) にインストールします。
# pkg install evs
次のようにして、EVS コントローラとして指定されたノードに pkg:/system/management/rad/module/rad-evs-controller パッケージをインストールします。
# pkg install rad-evs-controller
必須の EVS パッケージをインストールしたら、EVS コントローラの構成とプロパティーの設定を行う前に、各ノード間の RAD 呼び出しが実行できるように、すべてのノードを構成する必要があります。詳細な手順については、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の EVS を使用するためのセキュリティー要件を参照してください。
使用例 11 EVS コントローラの構成とプロパティーの設定EVS コントローラは、Elastic Virtual Switch の作成および管理に関連付けられたリソースを提供します。物理ノードをまたいで L2 セグメントを実装するために必要な情報を指定する、コントローラ用のプロパティーを設定します。Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の EVS コントローラを参照してください。
各計算ノードが EVS コントローラを指定するようにノードを構成します。このシナリオでは 2 つの計算ノードを使用するため、それぞれの計算ノードで次のコマンドを実行する必要があります。
# evsadm set-prop -p controller=CONTROLLER
クライアントノードから、EVS コントローラプロパティーを構成します。
L2 トポロジを設定します。
# evsadm set-controlprop -p l2-type=vlan
VLAN 範囲を設定します。
# evsadm set-controlprop -p vlan-range=200-300
VLAN に使用するアップリンクポート (データリンク) を指定します。
# evsadm set-controlprop -p uplink-port=net2
EVS クライアント上のコントローラ構成を確認します。
# evsadm show-controlprop -p l2-type,vlan-range,uplink-port NAME VALUE DEFAULT HOST l2-type vlan vlan -- vlan-range 200-300 -- -- uplink-port net2 -- --
次の例では、vswitch という名前の EVS 仮想テナントネットワークを設定および構成する方法を示します。各タスクを実行する場所に特に注意してください。
次の構成タスクについて説明します。
クライアントノードから、仮想スイッチを設定します。
各計算ノードでゾーンを作成し、ゾーンを仮想スイッチに接続します。
クライアントノードから、EVS 構成を表示します。
EVS 機能の概要については、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の 第 5 章, エラスティック仮想スイッチについてを参照してください。
使用例 12 EVS スイッチの設定次の例では、EVS 仮想テナントネットワークを設定する方法を示します。このタスクはクライアントノードから実行します。
まず、次のようにして、EVS スイッチ (この例では vswitch という名前) を作成します。
# evsadm create-evs vswitch
EVS スイッチに IPnet 情報を追加し、構成を確認します。
# evsadm add-ipnet -p subnet=192.168.70.0/24 vswitch/ipnet # evsadm show-ipnet NAME TENANT SUBNET DEFROUTER AVAILRANGE vswitch/ipnet sys-global 192.168.70.0/24 192.168.70.1 192.168.70.2-192.168.70.254
EVS スイッチが正常に作成されたことを確認します。
# evsadm NAME TENANT STATUS VNIC IP HOST vswitch sys-global -- -- vswitch_ipnet --
仮想スイッチに関連付けられている VLAN ID を確認します。
# evsadm show-evs -L EVS TENANT VID VNI vswitch sys-global 200 --使用例 13 ゾーンを作成して EVS スイッチに接続する
次の例では、各テナントにゾーンを作成し、ゾーンを仮想スイッチに接続する方法について説明します。
各テナントで、次のようにして anet VNIC リソースを使用してゾーンを構成します。
# zonecfg -z z1 zonecfg:z1> create . . . zonecfg:z1> add anet zonecfg:z1:anet> set evs=vswitch zonecfg:z1:anet> end zonecfg:z1> commit zonecfg:z1> exit
詳細は、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の エラスティック仮想スイッチの VNIC anet リソースの作成を参照してください。
EVS スイッチに関連する anet リソースプロパティーの設定については、Oracle Solaris ゾーン構成リソース の リソースタイプとプロパティーを参照してください。
ゾーンをブートします。
# zoneadm -z z1 boot
VNIC が作成され、仮想スイッチに接続されていることを確認します。
# dladm show-vnic -c LINK TENANT EVS VPORT OVER MACADDRESS VIDS z1/net0 sys-global vswitch sys-vport0 net2 2:8:20:1a:c1:e4 200
ゾーン内から、IP アドレスが割り当てられていることを確認します。
# zlogin z1 ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok -- -- net0/v4 inherited ok -- 192.168.84.3/24
# evsadm NAME TENANT STATUS VNIC IP HOST vswitch sys-global -- -- vswitch_ipnet
EVS には、このシナリオで完全に説明されていない豊富な機能のセットが用意されています。追加のタスクおよび使用例については、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の 第 6 章, エラスティック仮想スイッチの管理を参照してください。