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

C&S ENGINEER VOICE

SB C&S

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

仮想化
2023.10.24

こんにちは。SB C&Sの大塚です。

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

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

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

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

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

第4回_1.jpg

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

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

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

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

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

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

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

第4回_2.jpg

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

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

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

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

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

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

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

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

第4回_3.jpg

2. 使用する環境

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

  • ハードウェア:ESXi 3台(Nested仮想マシン)
    ※今回の検証環境ではESXiホスト1台あたり4つの物理NIC(vmnic0 ~ vmnic3)を搭載しています。
    ※「第1回 ESXiのインストール」でESXiの初期設定を行った際、ESXi管理ネットワーク用にvmnic0を指定しているため、vmnic0がvSwitch0に割り当たっている状態です。
  • ソフトウェア:VMware ESXi 8.0 Update 2 / vCenter Server Appliance 8.0 Update 2
  • ストレージ:iSCSIストレージ
    ※事前構築済のものを利用しています。

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

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

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

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

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

第4回_4.jpg

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に割り当たっている状態です。

第4回_5.png


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

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

第4回_6.jpg


3. vmnicを移動させます

  • ネットワーク アダプタで [vmnic1] をクリックします。
  • [下へ移動]を数回クリックし、[vmnic1]を有効なアダプタへ移動させます。

第4回_7.png


4. 有効なアダプタへ移動できたら[OK] ボタンをクリックし、ウィザードを終了します。

第4回_8.png


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

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

第4回_9.png


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

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

第4回_10.png


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

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

第4回_11.png


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

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

第4回_12.png


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

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

第4回_13.png


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

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

第4回_14.png


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

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

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

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

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

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

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

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

第4回_15.png


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

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

第4回_16.png


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

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

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

第4回_17.png


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

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

第4回_18.png


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

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

第4回_19.png


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

  • 未要求アダプタの欄で、[vmnic2] と [vmnic3] を選択します。
    ※CtrlキーやShiftキーを押しながら選択すると同時選択できます。
  • [下へ移動] ボタンをクリックして、有効なアダプタへ移動させます。

第4回_20.png


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

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

第4回_21.png


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

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

第4回_22.png


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

第4回_23.png


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

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

第4回_24.png


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

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

第4回_25.png


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

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

第4回_26.png


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

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

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

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

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

第4回_27.png

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

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

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

第4回_28.png

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

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

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


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

VMwareテクニカル講座

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

VMwareテクニカルハンズオン

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

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

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

著者紹介

SB C&S株式会社
ICT事業本部 技術本部 技術統括部
第1技術部 1課
大塚 亜人夢 - Atomu Otsuka -

VMware vExpert