VXLAN の設定
VXLANの概要で、VXLANのメリットやコンポーネントについて、ご紹介しました。今回は、VXLANの設定について、ご紹介します。
構成例 1: シングル L2(1 VDS)構成
この例では、VXLAN を構成し、3階層システム (Webサーバ、アプリケーションサーバ、DBサーバ) を展開します。
それぞれのサーバの種類毎に論理的 L2 ネットワーク、つまり仮想のネットワークワイヤを作成し、かつ VXLAN の外のネットワークからアクセスを提供する vCloud Networking and Security の Edge ゲートウェイを設定します。
この構成に必要なコンポーネントは、次のとおりです。
- 同じ vCenter の データセンタ内の 2 クラスタ
- クラスタ毎に 2 ホスト
- ホスト毎に 2 NIC (10GbE が望ましい)
- 2 物理スイッチ
- 1 VDS
- 管理クラスタ
- vCenter サーバ
- vCloud Networking and Security Manager
各コンポーネントのインストールについては、それぞれの製品のインストール ガイドをご参照ください。
設定を解説する構成は、以下のとおりです。
図 1: コンポーネントと構成
VXLAN ベースのネットワーク仮想化を設定する前に、まず、2 クラスタを用意し、物理ネットワークに接続します。物理ネットワークインフラの設定の推奨は、以下のとおりです。
- VXLAN トラフィックを転送するための 2 クラスタ間の 1 VLAN を設定します。1 VLAN で構成した場合は、物理スイッチ上のマルチキャスト ルーティング、つまり L3 経由のマルチキャストの転送を利用可能にする要件を、排除できます。
- 物理スイッチ上で、IGMP スヌーピングと IGMP クエリア機能を設定します。
この構成では、VLAN 2000 を VXLAN トラフィックを転送する物理スイッチ上で設定しており、vMotion や 管理、NFS 等の vSphere の展開に一般的に使われるトラフィックは別の VLAN で構成しており、この図には記載しておりません。
図 2 は、vSphere Client からみた、データセンタ VXLAN-DC の 2 クラスタのインベントリの画面です。
図 2: ホストとクラスターの構成画面
図 3 は、VXLAN-VDS のネットワーク構成です。全 4 ホストがこの VDS の一部です。
図 3: ネットワーク画面
ステップ 1: VXLAN の準備
このステップでは、VXLAN の準備をします。設定に必要なパラメータは、下記の通りです。
- VXLAN VIB を展開したい VDS の名前 – 例) VXLAN-VDS
- VXLAN トラフィックを転送したい VLAN 番号 – 例) VLAN 2000
- チーミングアルゴリズム – 例) なし。明示的なフェールオーバを使用
- VXLAN を転送する VLAN 上での DHCP サービス – 例) なし
VXLAN を準備するために、まず、左のパネル上の VXLAN-DC データセンタを
選択し、次に図 4 のように、右のパネルの Network Virtualization をクリック
します。
図 4: Network Virtualization – vCloud Networking and security プラグイン
Network Virtualization で、VXLAN の設定を開始するために、Preparation を
クリックします。
図 5: VXLAN Preparation
Edit をクリックします。
図 6: VXLAN 設定 – Connectivity
ポップアップ画面が開き、VXLAN ファブリックに参加するクラスタを選択する画面が開きます。事前に設定済の 2 つのクラスタがあり、図 7 のように見えます。
図 7: VXLAN 設定 – Connectivity – クラスタの選択
クラスタを選択し、両方のクラスタで使用する VDSと、VXLAN を転送する VLAN 2000 を入力します。この例では、VXLAN-VDS が両方のクラスタに渡って使われます。その後、Next をクリックします。
図 8: VXLAN 設定 – Connectivity – VDS の選択と VLAN 番号の入力
次に、VXLAN を転送するポートグループで使うチーミングの選択と MTU サイズを設定し、Finish をクリックします。この例では、チーミングなしの設定のため、Fail Over チーミングを選択し、MTU サイズはデフォルトの 1600 バイトです。
図 9: VXLAN 設定 – Connectivity – チーミングの選択と MTU の設定
vCloud Networking and Security Manager で、それぞれの vSphere ホストで VXLAN モジュールが利用可能になります。VTEP の準備の一部として、vmknic とポートグループが自動的に設定されます。図 10 は、VTEP 設定のプロセスが完成した後のステータスを表示しています。
図 10: VXLAN 設定 – Connectivity – 完了
図 11 は、vCloud Networking and Security Manager 経由でそれぞれのホストにインストールしたコンポーネントを表示しています。
図 11: 新しい展開 – 準備ステップ後のコンポーネント
ステップ 2: Virtual Tunnel Endpoint IP 設定
それぞれの VTEP の IP 設定は、VXLAN を転送する VLAN に DHCP サーバ が構成された環境では自動的に取得されます。この例では、DHCP サーバがないため、このステップで、手動での IP 設定について、説明します。
設定は、適切な仮想アダプタをそれぞれのホストを選択し、編集する必要があります。
図 12 のように、まずホストを選択し、仮想アダプタの管理をクリックします。
図 12: VTEP の手動設定 – vmknic プロパティの編集
図 13 のように、仮想アダプタの管理画面で、前の VXLAN 準備プロセス中に作成された vmknic のプロパティを編集します。
図 13: VTEP の手動設定 – vmknic プロパティの編集 (vmk1)
図 14 で、VLAN 2000 のサブネットの IP を設定します。
図 14: VTEP の手動設定 – IP アドレスの設定
図 15 は、クラスタ内の 4 つ全てのホストで、IP アドレスを手動で設定後、vCloud Networking and Security Manager から確認している画面です。
IP アドレスが正しいことを確認後、次のステップはセグメント ID とマルチキャスト IP アドレスを設定します。セグメント IDとは、VXLAN の論理ネットワークを構成するための識別子で、標準では、VXLAN Network Identifier(VNI)と呼ばれています。設定を開始するために、Segment ID をクリックします。
図 15: VTEP の手動設定 – 全てのホストで繰り返す – VXLAN vmknic の設定
ステップ 3: セグメント ID とマルチキャスト グループ アドレス レンジの設定
ネットワーク管理者に、この設定で利用するマルチキャスト グループ アドレス レンジを確認します。また、論理的に作成した L2 ネットワークの数を決めます。
例えば、2000 論理 L2 ネットワークなら、セグメント ID は 5000 から6999 を使用する、のように決めます。この例では、10 論理ネットワークを構成し、9001 から 9010 を使用します。まず、Edit をクリックします。
図 16: VXLAN セグメント ID 設定 – Edit
マルチキャスト アドレス フィールドには、セグメント ID を結びつけて使用するマルチキャスト アドレス レンジを入力します。セグメント ID とマルチキャスト グループ アドレスは 1 対 1 が推奨です。
図 17: VXLAN セグメント ID 設定 – プールとマルチキャスト グループ IP アドレス レンジ
ベスト プラクティスとして、VXLAN を展開する環境で使うマルチキャスト アドレス レンジを確認するネットワーク担当者との作業は重要です。マルチキャストに関する要点は、下記のとおりです。
- 224.0.0.1 から 224.0.0.255 のレンジは使用しないでください。Well-knownアドレスとして、ルーティング プロトコル等の利用に予約されています。
- 224.0.1.0 から 239.255.255.255 の以外の残りのレンジ、つまり 239.0.0.0 から239.255.255.255 は社内のみの VXLAN 展開に使うことができます。IP アドレスの 10.0.0.0/8 レンジのようなプライベート アドレスに相当するものです。グローバルなインターネット トラフィックに使用することができません。
- 管理 ドメイン間で共有する VXLAN ネットワークの展開には、232.0.0.0/8 (232.0.0.0 から 232.225.225.225) の送信元固有ブロックから付与する必要があります。
ステップ 4: VXLAN ネットワーク スコープの定義
ネットワーク スコープでは、論理ネットワークのレンジを定義します。この例では、VXLAN ベースの論理ネットワーク レンジが両方のサーバ クラスタの範囲で定義されます。図 18 の画面で Network Scopes を、新しいネットワーク スコープを定義するために、図 19 の画面で “+” アイコンをクリックします。
図 18: VXLAN ネットワーク スコープの定義 – ネットワークスコープ タブの選択
図 19: VXLAN ネットワーク スコープの定義 – 追加をクリック
ネットワーク スコープの名前を入力し、そのスコープの一部となる両方のクラスタを選択し、Ok をクリックします。
図 20: VXLAN ネットワーク スコープの定義 – スコープの定義とクラスタの選択
この設定ステップを通じて、ネットワークのスコープを拡張、縮小する選択が可能で、必要に応じて、ネットワークスコープにクラスタを追加したり、削除したりすることが可能です。
ステップ 5: 物理スイッチの設定
この例で、物理スイッチ上に必要とされる設定は次のとおりです。
- 両方のスイッチ上に VLAN 2000 を設定
a. vSphere ホストが接続するスイッチのポートで VLAN 2000 がトランク設定されており、ネットワークインフラ上で VLAN 2000 が設定されていること
b. スイッチ間のポートチャネル上で VLAN 2000 を転送できること - IGMP snooping の設定
- VLAN 2000 上に IGMP クエリアを有効化
- MTU サイズを 1600 以上 に拡大。一般的に、スイッチ全体で MTU サイズを変更、もしくはポート毎に MTU サイズを変更する機器があります。使用する機器の設定ガイド等をご確認ください。
以下は、一般的に利用されるスイッチの設定例です。
スイッチ 1 の設定 ( 図 12 の左のスイッチ )
1) VXLAN VLAN の設定
switch (config) # interface vlan 2000
switch (config-if) # ip address 40.0.0.251 255.255.255.0
switch (config-if) # no shutdown
switch (config-if) # exit
2) IGMP snooping の設定
switch (config) # ip igmp snooping
3) IGMP querier の設定
switch (config) # interface vlan 2000
switch (config-if) # ip igmp snooping querier
switch (config-if) # exit
4) MTU の設定 (1 ポートのみの設定例)
switch (config) # interface gigabitEthernet 1/1
switch (config-if) # mtu 9216
スイッチ 2 の設定 ( 図 12 の右のスイッチ )
1) VXLAN VLAN の設定
switch (config) # interface vlan 2000
switch (config-if) # ip address 40.0.0.252 255.255.255.0
switch (config-if) # no shutdown
switch (config-if) # exit
2) IGMP snooping の設定
switch (config) # ip igmp snooping
3) IGMP querier の設定
switch (config) # interface vlan 2000
switch (config-if) # ip igmp snooping querier
switch (config-if) # exit
4) MTU の設定 (1 ポートのみの設定例)
switch (config) # interface gigabitEthernet 1/1
switch (config-if) # mtu 9216
物理スイッチの設定については、こちらも合わせて、ご参照ください。
ステップ 6: 論理 L2 ネットワークの構成 (消費)
VXLAN ファブリックを作成後、物理ネットワークと分離されている論理的 L2 ネットワークを構成 (消費) します。この例では、3 階層型アプリケーションの仮想マシン用の 3 つの別々の論理ネットワークを作成します。作成の順序は次のとおりです。
- 仮想ネットワークワイヤを作成
- 仮想ネットワークワイヤに仮想マシンを接続
- 仮想ネットワークワイヤ上の仮想マシンに IP アドレスを付与
新しい仮想ネットワークワイヤを作成するために、最初に図 21 の画面で Networks をクリックし、図 22 の画面で “+” アイコンをクリックします。
図 21: VXLAN 仮想ネットワーク ワイヤ – Networks をクリック
図 22: VXLAN 仮想ネットワーク ワイヤ – 追加
図 23 の画面で、仮想ネットワーク ワイヤの名前を入力し、Ok をクリックします。すると、図 24 の画面のように、セグメント ID 9001 と、マルチキャスト グループ アドレス 239.0.0.1 が自動的にこの仮想ネットワークワイヤに関連づけられていることがわかります。
図 23: VXLAN 仮想ネットワーク ワイヤ – Web-vWire
図 24: VXLAN 仮想ネットワーク ワイヤ – Web-vWire がセグメント ID 9001 で作成
このステップを繰り返し、さらに 2 つ、アプリケーション サーバと DB サーバ用の仮想ネットワーク ワイヤを作成します。
図 25: VXLAN 仮想ネットワーク ワイヤ – Application-vWire と DB-vWire 作成
ステップ 7: 仮想ネットワーク ワイヤに仮想マシンを接続
現在、図 26 のように 3 つのサーバがあります。
図 26: 3 階層システム アプリケーションの展開
仮想マシンを仮想ネットワーク ワイヤに接続する方法は 2 つあります。
- vCloud Networking and Security Manager を使用
- 仮想マシンの設定の編集で、ポートグループを変更
オプション 1: vCloud Networking and Security Manager を使用
このオプションでは、仮想マシンが接続したい仮想ネットワーク ワイヤを選択します。
図 27: vCloud Networking and Security Manager – Web-vWire を選択
図 28: vCloud Networking and Security Manager – Virtual Machines の選択
“+” アイコンをクリック後、仮想マシンの名前の一部を入れて検索し、対象の仮想マシンの仮想 NIC を選択し、Next をクリックします。
図 29: vCloud Networking and Security Manager – Add をクリックし、web サーバ仮想マシンを検索
図 30 の画面で、web サーバ仮想マシンの接続プロセスを完了します。
図 30: vCloud Networking and Security Manager – 仮想マシンが接続される
オプション 2: 仮想マシンの設定の編集で、ポートグループを変更
vCloud Networking and Security Manager の代わりに、ネットワーク アダプタの設定の編集で、仮想マシンの接続を変更します。
VXLAN 環境に構成されたそれぞれの仮想ネットワーク ワイヤは、VDS 上のポートグループに関連づけされています。図 31 に、3 つのポートグループ、つまり 3 つの仮想ネットワーク ワイヤ ( Web, Application, DB 用 ) が確認できます。
図 31: 仮想ネットワーク ワイヤとポートグループの関連づけ
ホストおよびクラスタ ビューで、アプリケーション サーバ (この例では、ap-1-k) の仮想マシンを選択し、設定の編集 をクリックします。
図 32: アプリケーション サーバ – 仮想マシン 設定の編集 – ポートグループの変更
仮想ネットワーク ワイヤに接続するネットワーク アダプタを選択し、ネットワーク ラベルのドロップダウン メニューから、Application-vWire ポートグループを選択し、OK をクリックして保存します。
図 33: 仮想マシン 設定の編集 – Application-vWire に再マッピング
同様に、オプション 1 か 2 の方法で、DB サーバも DB-vWire 仮想ネットワーク ワイヤに接続します。
図 34 のように、3 つの仮想ネットワーク ワイヤに 3 階層システムアプリケーションが構成された状態になります。
図 34: 新しい展開 – 仮想ネットワークワイヤ上の 3 階層システムアプリケーション
ステップ 8: 仮想ネットワーク ワイヤ上の仮想マシンに IP アドレスを付与
仮想マシンにIPアドレスを手動で付与する、もしくは vCloud Networking and Security Edge ゲートウェイの DHCP サーバを使用して自動的に付与する、のどちらかを選択することができます。この例では、3 つの仮想ネットワークワイヤに次のサブネットを付与し、仮想マシンにはそれぞれのサブネットから IP アドレスを手動で設定します。
- Web-vWire – 192.168.10.0/24
- Application-vWire – 192.168.20.0/24
- DB-vWire – 192.168.30.0/24
仮想ネットワークワイヤに接続される 3 つの仮想マシンは、お互いに分離されています。アプリケーションのそれぞれの層の間で通信を提供するため、または VXLAN の外のネットワークと通信するために、vCloud Networking and Security Edge ゲートウェイを展開する必要があります。その設定については、次回、ご紹介します。
※このブログでは、vCloud Networking and Security 5.1 と、vCenter Server 5.1 Update 1および vSphere 5.1 Update 1を元に作成しました。それぞれの 5.5 リリースの場合も大きな変更はない予定です ( 2013 年 8 月 29 日現在 )。