vSphere 8.0 検証環境はこちら
こんにちは。SB C&Sの湯村です。「基礎から学ぶ!vSphere検証環境構築」シリーズ第5回は、「ネットワークの設定(分散仮想スイッチ)」です。標準仮想スイッチとはどのような点が異なるのか、なぜ分散仮想スイッチを採用するとメリットがあるのかをご説明します。
1. 分散仮想スイッチとは
分散仮想スイッチは、複数のESXiホストにまたがって共有される仮想スイッチです。「第4回 ネットワークの設定(標準仮想スイッチ)」でご紹介した標準仮想スイッチは、1台のESXiホスト内に独立した仮想スイッチです。そのため、ESXiホストが100台あれば100台に対して1台ずつ同じネットワークを構築する必要がありました。一方で、分散仮想スイッチはvCenter Serverで管理されているため、一度仮想スイッチの設定を行うと、100台に対してその設定が伝達されます。
以下の図は、分散仮想スイッチのアーキテクチャです。標準スイッチとどのように異なるのか見ていきましょう。
vSphereの分散仮想スイッチは、「管理プレーン」と「データプレーン」の2つのセクションで構成されています。管理プレーンはネットワークの構成に使用され、データプレーンでは実際にネットワークトラフィックが転送されます。前回の記事でご紹介した標準仮想スイッチでは、データプレーンと管理プレーンが分離されていませんでした。
分散仮想スイッチの管理プレーンは、vCenter Server側に作成されます。そして、vCenterインベントリのデーターセンター単位で、ネットワーク構成を一元管理できます。
データプレーンは、分散仮想スイッチに関連付けられた各ESXiホストに、自動的に「ホスト プロキシ スイッチ」と呼ばれる仮想スイッチとして作成されます。そして、vCenter Serverで作成または変更されたネットワーク構成は、全てのホスト プロキシ スイッチに自動的に伝達されます。実際のネットワークトラフィックは、このホスト プロキシ スイッチを使用して転送されます。
アップリンクポートには、標準仮想スイッチの時と同様に各ESXiホストの物理NIC(vmnic)が割り当てられます。図のように、ESXiホスト1台あたりにvmnicが4つある場合は、管理プレーン側で4つのアップリンクポートが作成され、それぞれのアップリンクポートに各ESXiホストのvmnicが1つずつ割り当てられる構成になります。
VMkernelネットワークおよび仮想マシンネットワークについては、分散ポートグループと呼ばれるポートグループに属することになります。
2. 使用する環境
今回使用した環境は以下の通りです。
- ハードウェア:Nested ESXiとして作成した仮想マシン3台
※今回の検証環境ではESXiホスト1台あたり4つの物理NIC(vmnic0 ~ vmnic3)を搭載しています。 - ソフトウェア:VMware ESXi 7.0 Update 3 / vCenter Server Appliance 7.0 Update 3
- ストレージ:iSCSIストレージ
※事前構築済のものを利用しています。
【参考】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 |
下図の赤枠部分を構築していきます。分散仮想スイッチを新規作成し、「第4回 ネットワークの設定(標準仮想スイッチ)」で構築した標準仮想スイッチの状態からネットワークを移行します。
構築範囲の詳細が下図になります。作成する分散ポートグループは以下の通りです。
- Management-dvPG:vMotionネットワークやiSCSIネットワーク等、VMkernelポート経由で通信を行うための分散ポートグループです。
- VirtualMachine-dvPG:仮想マシンネットワーク用の分散ポートグループです。今回の検証環境では、vCenter Server ApplianceをESXi-A3で稼働させています。
3. 分散仮想スイッチのネットワーク設定
分散仮想スイッチを新規で作成し、標準仮想スイッチからネットワークを移行します。
まず、分散仮想スイッチを利用する環境内でvCenter Serverを稼働させている場合、ネットワーク移行時に注意点があります。
今回の検証環境では、ESXi-A3でvCenter Server Applianceが稼働している状態です。vCenter Serverは各ESXiホストとの通信を行うため、vCenter Serverが接続している物理NIC(vmnic0)やVMkernelポート(vmk0)を先に移行しようとすると通信が途切れてしまい、失敗してしまいます。その事象を避けるため、以下の手順に従います。
- 分散仮想スイッチを新規で作成する。
- 分散ポートグループを作成する。
- 先にVMkernelポートとは接続していないvmnic1~vmnic3を分散仮想スイッチに移行する。
- vCenter Server Appliance(仮想マシン)のネットワークをManagement-dvPGに移行する。
- VMkernelポート(vmk0)およびvmnic0の移行を行う。
3.1. 分散仮想スイッチの作成
分散仮想スイッチを新規で作成します。
1. 分散仮想スイッチを新規で作成します。
|
2. デフォルトのまま [次へ] ボタンをクリックします。 |
3. バージョンの選択ではデフォルトのままで [次へ] ボタンをクリックします。 |
4. デフォルトのポートグループ名を設定します。
|
5. [完了] ボタンをクリックし、設定を終了します。 |
3.2. 分散ポートグループの作成
仮想マシンネットワーク用に、分散ポートグループを作成します。
1. 分散ポートグループを新規で作成します。
|
2. 分散ポートグループ名を設定します。
|
3. 設定はデフォルトのままで [次へ] ボタンをクリックします。 |
4. 設定内容を確認し、[完了] ボタンをクリックします。 |
5. ここまで構築したネットワーク構成を確認します。
|
3.3. ネットワークの移行(VMkernelポート以外)
先に、vCenter Serverとの経路であるVMkernelポート(vmk0)とは接続していない、vmnic1~vmnic3を分散仮想スイッチに移行します。同時に、vCenter Server Appliance(仮想マシン)のネットワークを先ほど作成した分散ポートグループ(VirtualMachine-dvPG)に移行します。
1. 作成した分散仮想スイッチにESXiホストを追加していきます。
|
2. タスクを選択します。
|
3. ESXiホストを選択します。
|
4. 物理アダプタ(物理NIC)にアップリンクを割り当てます。
|
5. VMkernelアダプタの管理ではそのままで [次へ] ボタンをクリックします。 |
6. 仮想マシンネットワークを移行します。
|
7. VirtualMachine-dvPGの [割り当て] をクリックします。 |
8. [次へ] ボタンをクリックします。 |
9. 設定内容を確認し、[完了] ボタンをクリックします。 |
10. トポロジを確認し、ここまでの設定が反映されていることを確認しましょう。 |
11. 元々は標準仮想スイッチでチーミング設定を行っていたため、ネットワークを移行すると冗長性が一旦失われます。そのため、以下のようなエラーがESXiホストのサマリ画面に表示されます。vCenter Serverと接続できていれば問題ありませんので、「緑にリセット」して先に進んでください。 |
3.4. ネットワークの移行(VMkernelポート)
残りのVMkernelポート(vmk0)およびvmnic0をManagement-dvPGに移行します。
1. vmk0を分散仮想スイッチに移行します。
|
2. タスクを選択します。
|
3. ESXiホストを選択します。
|
4. 物理アダプタ(物理NIC)にアップリンクを割り当てます。
|
5. [ポート グループの割り当て] をクリックします。 |
6. Management-dvPGの [割り当て] をクリックします。 |
7. [次へ] ボタンをクリックします。 |
8. [次へ] ボタンをクリックします。 |
9. 設定内容を確認し、[完了] ボタンをクリックします。 |
10. トポロジを確認し、ここまでの設定が反映されていることを確認しましょう。 |
3.5. 物理NIC(vmnic)のチーミングによる冗長設定
標準仮想スイッチの時と同じように、チーミングによる冗長設定を行います。チーミングの説明については、「第4回 ネットワークの設定(標準仮想スイッチ)」をご覧ください。
分散仮想スイッチでは、ポートグループ単位でチーミングを設定します。
1. Management-dvPGの設定を編集します。
|
2. チーミングおよびフェイルオーバーの設定を行います。
|
3. 使用しないアップリンクを移動させます。
|
4. 設定内容を確認し、[OK] ボタンをクリックします。 これで、アクティブ アップリンクに「アップリンク1」、スタンバイ アップリンクに「アップリンク2」が設定された状態になります。 |
5. VirtualMachine-dvPGの設定を編集します。
|
6. チーミングおよびフェイルオーバーの設定を行います。
|
7. 使用しないアップリンクを移動させます。
|
8. 設定内容を確認し、[OK] ボタンをクリックします。 これで、アクティブ アップリンクに「アップリンク3」、スタンバイ アップリンクに「アップリンク4」が設定された状態になります。 |
4. Tips ~ 分散仮想スイッチを導入するメリットとは ~
分散仮想スイッチを導入するメリットには、「複数台のESXiホストに対してネットワーク構成を一括で設定・管理できること」の他に、「ネットワークの負荷が高い状態になっても、仮想マシンが正常に動き続けられること」ということが挙げられます。
CPUやメモリ等の負荷が高い状態で仮想マシンを安定稼働させるためには、vSphere DRS(Distributed Resource Scheduler)を使用することで目的は達成できます。DRSはリソースの負荷状態によって仮想マシンをバランスよく各ESXiホストに分散配置させることで、仮想マシンを安定稼働させることができる機能です。詳しくは第7回の記事をご覧ください。
しかし、ネットワークの負荷についてはDRSでバランスをとることができません。これまで、ネットワークトラフィックには管理用・vMotion用・iSCSI用・仮想マシン用などの種類があるとご紹介してきました。各トラフィックが占有できる物理NIC(vmnic)があればネットワークが混雑することを避けられますが、多くの場合、いくつかのトラフィックが物理NICを共有することが一般的です。
そこで分散仮想スイッチを導入すると、この問題を解消することができます。具体的にはNetwork I/O Control(以下、NIOC)という機能を分散仮想スイッチが持っているためです。NIOCは、物理NICのネットワークトラフィックが混雑しているときに、優先的に転送するトラフィックの種類を設定できる機能です。
NIOCは各ネットワークトラフィックにシェア値というものを設定することで、ネットワークが混雑した場合、このシェア値に基づいてネットワーク帯域を割り当てるという仕組みです。例えば、開発環境よりも本番環境の仮想マシンネットワークのシェア値を大きくすることで、ネットワークが混雑した際は本番環境の仮想マシンネットワークへ優先的にトラフィックが転送できます。
今回のような小規な環境であれば標準仮想スイッチだけで十分なパフォーマンスが担保できるかと思いますが、VMware HorizonによるVDI(仮想デスクトップ基盤)のような大規模な環境ですと仮想マシンの数も多くなりますし、当然ながらワークロードの高い仮想マシンも増えてくると思います。そのため、このような環境では分散仮想スイッチが導入されています。分散仮想スイッチを導入することで仮想マシンを安定稼働させることができれば安心ですよね。
以上、分散仮想スイッチについてご紹介しました。標準仮想スイッチでは得られないメリットをご理解いただけたかと思います。次回は、ここまで構築した仮想基盤の上に仮想マシンを作成します。是非ご覧ください!
【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製品を担当している。