ネットワーク

ネットワーク仮想化 – VXLAN の設定1

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 を展開する環境で使うマルチキャスト アドレス レンジを確認するネットワーク担当者との作業は重要です。マルチキャストに関する要点は、下記のとおりです。

  1. 224.0.0.1 から 224.0.0.255 のレンジは使用しないでください。Well-knownアドレスとして、ルーティング プロトコル等の利用に予約されています。
  2. 224.0.1.0 から 239.255.255.255 の以外の残りのレンジ、つまり 239.0.0.0 から239.255.255.255 は社内のみの VXLAN 展開に使うことができます。IP アドレスの 10.0.0.0/8 レンジのようなプライベート アドレスに相当するものです。グローバルなインターネット トラフィックに使用することができません。
  3. 管理 ドメイン間で共有する 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: 物理スイッチの設定
この例で、物理スイッチ上に必要とされる設定は次のとおりです。

  1. 両方のスイッチ上に VLAN 2000 を設定
    a. vSphere ホストが接続するスイッチのポートで VLAN 2000 がトランク設定されており、ネットワークインフラ上で VLAN 2000 が設定されていること
    b. スイッチ間のポートチャネル上で VLAN 2000 を転送できること
  2. IGMP snooping の設定
  3. VLAN 2000 上に IGMP クエリアを有効化
  4. 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 つの別々の論理ネットワークを作成します。作成の順序は次のとおりです。

  1. 仮想ネットワークワイヤを作成
  2. 仮想ネットワークワイヤに仮想マシンを接続
  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 つあります。

  1. vCloud Networking and Security Manager を使用
  2. 仮想マシンの設定の編集で、ポートグループを変更

オプション 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 アドレスを手動で設定します。

  1. Web-vWire – 192.168.10.0/24
  2. Application-vWire – 192.168.20.0/24
  3. 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 日現在 )。