SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

基礎から学ぶ!vSphere 7.0検証環境構築 第4回 ネットワークの設定(標準仮想スイッチ)

仮想化
2022.02.14

vSphere 8.0 検証環境構築はこちら

 

こんにちは。SB C&Sの湯村です。「基礎から学ぶ!vSphere検証環境構築」シリーズ第4回は、「ネットワークの設定(標準仮想スイッチ)」です。vSphere環境におけるネットワークは、vSphereを始めて学習する方々がつまずきやすい内容ですので、本記事で理解を深めていきましょう!

1. vSphereにおける仮想ネットワークとは

1.1. 仮想ネットワークの構成要素

1回の記事で、「ESXiをサーバー上にインストールすることで、複数の仮想マシンを稼働させることができる」ことをご紹介しましたが、ESXi上で稼働する仮想マシンは、当然ながら目に見えません。本来、サーバーやPC等の物理マシンでネットワークを構築する際は、スイッチやLANケーブルを利用して目に見える形で配線を行っていましたので、イメージがしやすかったと思います。では、仮想環境におけるネットワークはどのようになっているのでしょうか?

以下の図は、ESXiにおける仮想ネットワークを構成している要素を図示したものです。

1.png

物理マシンにCPUやメモリ等のハードウェアが搭載されているのと同様に、仮想マシンには仮想化されたハードウェアを搭載できます。仮想マシンは仮想NIC(通称:vNICをもち、vNICIPアドレスを割り当てることで通信できます。

もちろん、仮想マシンが物理環境へ通信するためには、ESXiホストに搭載された物理NIC(通称:vmnicとの紐づけが必要となります。従来、物理マシンに搭載されているNICIPアドレスやMACアドレスをもちますが、ESXiにおけるvmnicIPアドレスを持たず、仮想環境と物理環境をつなぐ橋渡しのような機能しかありません。そのため、物理環境から仮想環境への通信は、vNICに割り当てられたIPアドレス宛に行われます。

しかし、1つのvNIC1つのvmnicを割り当てると、ESXiホストには膨大な物理NICが必要になってしまいます。そこでvSphereは、ESXiホストの内部で仮想的なスイッチである仮想スイッチ(通称:vSwitchを作ることで、この問題を解決しています。

1.2. 標準仮想スイッチ(vSphere Standard Switch)

仮想スイッチには標準仮想スイッチ分散仮想スイッチ2種類あります。今回は、標準仮想スイッチについてご説明します。
※分散仮想スイッチについては「5回 ネットワークの設定(分散仮想スイッチ)」で説明しますので、そちらをご覧ください。

標準仮想スイッチは、ESXiホスト1台の中で独立した仮想スイッチです。まず、vSwitchには以下の図ように3種類のポートが存在します。

  • アップリンクポート
  • VMkernelポート
  • 仮想マシンポートグループ

2.png

アップリンクポートは物理NICであるvmnicと紐づけられます。チーミングというvmnicの冗長化設定を行うこともできます。

VMkernelポートは、ESXiホストとの管理用通信や、vMotionvSphere HA等のvSphereの機能を利用するために必要なポートです。vCenter ServerESXiホストを管理するための通信は、このVMkernelポートを経由します。一般的には、機能やサービス毎に1つずつVMkernelポートを作成することが推奨とされています。

また、基本的にはVMKernelポート毎にネットワークセグメントを分けることが推奨とされています。理由は、ESXiにおいて、同一ネットワークサブネットで複数のVMKernelポートを使用することがサポートされていないためです。ネットワークセグメントを分けることでVMKernelポートを使用した通信を負荷分散させることができます。

仮想マシンポートグループは、vNICと接続して仮想マシンが通信を行うためのポートの集合です。vSwitchでは、ひとまとまりのポートグループとしてポートを管理するように実装されています。「本番環境用ポートグループ」や「開発環境用ポートグループ」のように、用途別にポートグループを作り、そのポートグループ毎にVLANを設定することが一般的です。

また、標準仮想スイッチはESXiホスト内で独立している仮想スイッチですので、ESXiホストが複数台あるときは、全てのESXiホストで同様の仮想スイッチを構成する必要があります。

1.3. 物理NIC(vmnic)のチーミングによる冗長設定

vmnicのチーミングとは、複数のvmnicを束ねることにより、「帯域幅の拡張」や「冗長性」を確保できる機能です。ひとつの仮想スイッチに対して複数のvmnicを割り当てることによって、自動的に構成されます。さらに、チーミングポリシーでロードバランシングやフェイルオーバーの順序を選択することで、様々なケースに適した冗長設定を行うことができます。

今回の記事では、フェイルオーバーの順序を指定することで冗長設定を行います。

3.png

2. 使用する環境

今回使用した環境は以下の通りです。

  • ハードウェア:Nested ESXiとして作成した仮想マシン3
    ※今回の検証環境ではESXiホスト1台あたり4つの物理NIC(vmnic0 ~ vmnic3)を搭載しています。
    ※「1ESXiのインストール」でESXiの初期設定を行った際、ESXi管理ネットワーク用にvmnic0を指定しているため、vmnic0vSwitch0に割り当たっている状態です。
  • ソフトウェア:VMware ESXi 7.0 Update 3 vCenter Server Appliance 7.0 Update 3
  • ストレージ:iSCSIストレージ
    ※事前構築済のものを利用しています。
現在、7.0 Update 3bは重大な製品不具合が発生しているため、製品版および評価版共にソフトウェアがダウンロードできなくなっています。本番環境では7.0 Update 3c以降を使用してください。
【参考】https://kb.vmware.com/s/article/86398

また、今回の環境では、以下の情報を使用しています。

コンポーネント ホスト名 IPアドレス
ESXi-A1 esxi-a1.demo.local 192.168.255.10/24
ESXi-A2 esxi-a2.demo.local 192.168.255.20/24
ESXi-A3 esxi-a3.demo.local 192.168.255.30/24
vCSA vc-a1.demo.local 192.168.255.100/24

コンポーネント データストア名 IPアドレス
データストア iSCSI 192.168.255.210/24

下図の赤枠部分を構築していきます。vSwitch0ESXiをインストールする際にデフォルトで作成される標準仮想スイッチ、vSwitch1は新規で作成する標準仮想スイッチです。それぞれのvSwitchに対してvmnic2枚ずつ割り当て、チーミング設定(冗長設定)を行います。

また、これから説明する構築手順では、ESXi-A1に対する手順のみを記載しています。今回のようにESXi-A2ESXi-A3と複数台ある場合は、それぞれに対して同じ手順を行ってください。

基礎から学ぶ_自分で作るvSphere検証環境構築_全体像_20211221-03.png

3. vSwitch0のネットワーク設定

標準仮想スイッチでは、仮想スイッチ単位またはポートグループの単位でチーミングすることで冗長構成にできます。
※ここでは1台目のESXiホストのみの手順を記載しています。複数台のESXiホストに対してネットワークを設定する場合は、1台ずつ同様に設定してください。

3.1. vSwitch0のチーミング設定

vSwitch0に対してvmnic0とvmnic1を割り当て、仮想スイッチ単位でチーミングを設定します。

1. ESXiホストに搭載されているvmnicの枚数を予め確認します。

  • 左ペインの [esxi-a1.demo.local] をクリックします。
  • 右ペインの [構成] タブをクリックします。
  • [物理アダプタ] をクリックします。
  • ESXiホストに搭載されているすべてのvmnicが表示されていることを確認します。
    ※今回の検証環境ではESXiホスト1台あたり4つのvmnic(vmnic0 ~ vmnic3)を搭載しています。
    ※「第1回 ESXiのインストール」でESXiの初期設定を行った際、ESXi管理ネットワーク用にvmnic0指定しているため、vmnic0がvSwitch0に割り当たっている状態です。

1.png

2. vSwitch0の物理アダプタ設定画面を開きます。

  • [仮想スイッチ] をクリックします。
  • [物理アダプタの管理] をクリックします。

2.png

3. ウィザードが開いたら、[] ボタンをクリックします。

3.png

4. vmnicを追加します。

  • ネットワーク アダプタで [vmnic1] をクリックします。
  • [OK] ボタンをクリックします。

4.png

5. [OK] ボタンをクリックし、ウィザードを終了します。

5.png

6. Management Networkの設定を行います。

  • [Management Network] の横にある [・・・] をクリックします。
  • [設定の編集] をクリックします。

6.png

7. チーミングおよびフェイルオーバーの設定を行います。

  • [チーミングおよびフェイルオーバー] をクリックします。
  • ロードバランシングで [明示的なフェイルオーバー順序を使用] を選択します。
  • フェイルオーバーの順序で未使用アダプタの [vmnic1] をクリックします。
  • [↑] ボタンをクリックし、vmnic1をスタンバイ アダプタに移動させます。

7.png

8. 設定内容を確認し、ウィザードを終了します。

  • 有効なアダプタが [vmnic0]、スタンバイ アダプタが [vmnic1] になっていることを確認します。
  • [OK] ボタンをクリックします。

8.png

9. VM Networkの設定を行います。

  • [VM Network] の横にある [・・・] をクリックします。
  • [設定の編集] をクリックします。

9.png

10. チーミングおよびフェイルオーバーの設定を行います。

  • [チーミングおよびフェイルオーバー] をクリックします。
  • ロードバランシングで [オーバーライド] にチェックを入れます。
  • [明示的なフェイルオーバー順序を使用] を選択します。
  • フェイルオーバーの順序で [オーバーライド] にチェックを入れます。
  • 有効なアダプタの [vmnic0] をクリックします。
  • [↓] ボタンを数回クリックし、vmnic0をスタンバイ アダプタに移動させます。

10.png

11. 設定内容を確認し、ウィザードを終了します。

  • 有効なアダプタが [vmnic1]、スタンバイ アダプタが [vmnic0] になっていることを確認します。
  • [OK] ボタンをクリックします。

11.png

以上でvSwitch0におけるチーミングおよびフェイルオーバーの設定は完了です。Management Networkでは【アクティブ:vmnic0 / スタンバイ:vmnic1】、VM Networkでは【アクティブ:vmnic1 / スタンバイ:vmnic0】のようにタスキ掛けにしたことで、片方のvmnicが通信不可状態になったとしても、もう片方のvmnicに自動でフェイルオーバーされ、すぐに通信が再開されるようになります。

3.2. VMkernelポートでのネットワークサービス有効化

ここでは、VMkernelポートの用途を決めるため、ポートでネットワークサービスを有効化します。

VMkernelポートを使用した通信は、用途別に分けることが一般的です。例えば、管理用ネットワークやvMotion用ネットワーク等です。それらはネットワークの「サービス」と呼ばれており、vSwitch0VMkernelポート(vmk0)にはデフォルトで管理サービスが有効になっています。

ただし、VMKernelポートにはiSCSI用ネットワークのサービスは存在しません。iSCSIストレージにはソフトウェアアダプタで設定したIPアドレスに従って通信を行います。

今回の検証環境では、vmk0vMotionサービスを追加することで、vMotion用ネットワークを構築します。さらにiSCSI接続経路も同じネットワーク(192.168.255.0/24)にしていますので、vmk0に全ての通信が流れる構成となります。

1. vMotionサービスを有効化します。

  • vmk0の横にある [・・・] をクリックします。
  • [設定の編集] をクリックします。
    ※今回は検証環境の都合上、デフォルトで作成されるVMkernelポート(vmk0)にvMotionトラフィックを追加していますが、本来は、サービス毎にVMkernelポートを分けることが推奨されています。

12.png

2. vmk0vMotionサービスを付与します。

  • 使用可能なサービスで [vMotion] にチェックを入れます。
    ※ここでチェックを入れ忘れると、vMotion機能が利用できませんので注意してください。
  • [OK] ボタンをクリックします。

13.png

4. vSwitch1のネットワーク設定

仮想マシンポートグループ用に、標準仮想スイッチvSwitch1を新規で作成し、vmnic2とvmnic3を割り当て、チーミングで冗長構成にします。
※ここでは1台目のESXiホストのみの手順を記載しています。複数台のESXiホストに対してネットワークを設定する場合は、1台ずつ同様に設定してください。

1. [ネットワークの追加] をクリックします。

1.png

2. 接続タイプを選択します。

  • [標準スイッチの仮想マシンのポート グループ] を選択します。
  • [NEXT] ボタンをクリックします。

2.png

3. ターゲット デバイスを選択します。

  • [新しい標準スイッチ] を選択します。
  • [NEXT] ボタンをクリックします。

3.png

4. 割り当てられたアダプタで [] ボタンをクリックします。

4.png

5. スイッチに追加するvmnicを選択します。

  • ネットワークアダプタの欄で、[vmnic2] [vmnic3] を選択します。
    CtrlキーやShiftキーを押しながら選択すると同時選択できます。
  • [OK] ボタンをクリックします。

5.png

6. vmnicが割り当たったことを確認します。

  • 有効なアダプタに [vmnic2] [vmnic3] が追加されたことを確認します。
  • [NEXT] ボタンをクリックします。

6.png

7. ネットワークラベルの設定を行います。

  • ネットワークラベルで任意の名前を入力します。
    ※今回は仮想マシンポートグループを作成するため、[VirtualMachine] という名前を設定しています。
  • [NEXT] ボタンをクリックします。

7.png

8. 設定内容を確認し、[FINISH] ボタンをクリックします。

8.png

9. vSwitch0と同様に、vSwitch1にもフェイルオーバーの設定を行います。

  • 作成したポートグループ名の横にある [・・・] をクリックします。
  • [設定の編集] をクリックします。

9.png

10. vSwitch0と同様に、チーミングおよびフェイルオーバーの設定を行います。

  • [チーミングおよびフェイルオーバー] をクリックします。
  • ロードバランシングで [オーバーライド] にチェックを入れます。
  • [明示的なフェイルオーバー順序を使用] を選択します。
  • フェイルオーバーの順序で [オーバーライド] にチェックを入れます。
  • 有効なアダプタの [vmnic3] をクリックします。
  • [↓] ボタンを数回クリックし、vmnic3をスタンバイ アダプタに移動させます。

10.png

11. 設定内容を確認し、ウィザードを終了します。

  • 有効なアダプタが [vmnic2]、スタンバイ アダプタが [vmnic3] になっていることを確認します。
  • [OK] ボタンをクリックします。

11.png

以上でvSwitch1におけるチーミングおよびフェイルオーバーの設定は完了です。仮想マシンについては、vNICをVirtualMachineポートグループに接続することで外部のネットワークと通信できるようになります。

5. Tips ~ 標準仮想スイッチのベストプラクティス ~

vSphereのドキュメントにある「ネットワークのベストプラクティス」では、ベストプラクティスのひとつとして「ネットワークサービスを物理的に分離する」ことが挙げられています。サービス毎にネットワークセグメントを分離することで、セキュリティとパフォーマンスを向上させることができます。

おさらいとなりますが、ネットワークサービスとは、管理用ネットワーク・vMotion用ネットワーク・仮想マシン用ネットワーク等、ネットワークの種類のことを指します。冒頭の標準仮想スイッチの説明で「機能やサービス毎に1つずつVMkernelポートを作成することが推奨とされています。」と説明した部分が該当します。

具体的には、VMKernelポート毎に標準仮想スイッチを作成し、vmnicを割り当てることです。下図のようなイメージになります。

1.png

ご覧の通り、管理用・vMotion用・仮想マシン用 のように、サービスによって標準仮想スイッチを作成することでネットワークを分離することができます。これによって、各サービスと専用の物理NICのセットができますので、各サービスのパフォーマンスが向上します。

しかし、このようにネットワークを分離した環境の場合、それぞれの仮想スイッチでvmnicが必要となりますし、冗長性を考慮するのであれば、さらにチーミングによる2重化が必要です。これは、物理サーバーに搭載できる物理NICの数や費用面としてもハードルが高い構成になると思います。

そこで、ポートグループ毎に異なるVLAN IDを設定することで、1つの標準仮想スイッチ内に複数のネットワークサービスがあったとしても、ネットワークを分離させることができます。このことを考慮したイメージが下図になります。

2.png

余談になりますが、物理NICではなくVLANでネットワークサービスを分離する構成は、VMwareのベストプラクティスをふまえたDell TechnologiesHCI製品であるVxRailにも採用されています。VxRailでは標準仮想スイッチではなく、より機能が充実している分散仮想スイッチが利用されています。分散仮想スイッチでもこのベストプラクティスは共通です。

今回は、仮想ネットワークという「目に見えないもの」をご紹介しました。机上だけではなく、実際に手を動かすと理解しやすいと思います。是非今回の記事を参考に仮想ネットワークを構築してみてください!

次回は、さらに一歩踏み込んだ「分散仮想スイッチ」についてご紹介しますので、そちらも是非ご覧ください。


【SB C&S主催】 VMware製品 無償セミナーのご案内

VMwareテクニカル講座

VMwareの各種製品の機能をわかりやすく学んでいただくために、「VMwareテクニカル講座」と題するWebセミナーを無償で開催しています。これからVMware製品を学び始める方向けに重要な機能を一通り紹介しています。詳細、お申し込みはこちらをご確認ください。
※パートナー様およびエンドユーザー様がご参加いただけます。

VMwareテクニカルハンズオン

VMwareテクニカル講座をベースにした、より実践的なハンズオンセミナーを無償で開催しています。詳細、お申し込みはこちらをご確認ください。
※パートナー様のみご参加いただけます。

皆様のご参加をお待ちしております。

他のおすすめ記事はこちら

著者紹介

SB C&S株式会社
ICT事業本部 技術本部 技術統括部 第1技術部 2課
湯村 成一 - Seiichi Yumura -

Dell Technologies社製品のプリセールス業務を行うエンジニア。
主にVxRail・Azure Stack HCIといったHCI製品を担当している。