1 つのクラスタに NSX Manager、ホスト トランスポート ノード、NSX Edge 仮想マシンを構成できます。クラスタ内の各ホストには、NSX-T 用に構成された 2 つの物理 NIC があります。

重要: NSX-T 2.4.2 または 2.5 リリース以降では、非表示の単一 vSphere クラスタ トポロジを展開してください。

この手順で説明するトポロジでは、次のものを使用します。

  • クラスタ内のホストに構成された vSAN
  • ホストごとに 2 個以上の物理 NIC
  • vMotion と管理 VMkernel インターフェイス
図 1. トポロジ:NSX Edge またはゲスト仮想マシンとのホスト通信を管理する単一 N-VDS スイッチ

前提条件

  • すべてのホストが 1 つの vSphere クラスタを構成している必要があります。
  • 各ホストでは、2 つの物理 NIC カードが有効になっている必要があります。
  • すべてのホストを vCenter Server に登録します。
  • 共有ストレージがホストで使用可能であることを vCenter Server で確認します。
  • ホスト TEP の IP アドレスと NSX Edge TEP の IP アドレスは別の VLAN セグメントにある必要があります。ホストのワークロードからの North-South トラフィックは GENEVE でカプセル化され、送信元 IP アドレスがホスト TEP、宛先 IP アドレスが NSX Edge TEP の NSX Edge ノードに送信されます。これらの TEP は別の VLAN またはサブネットに属する必要があるため、トラフィックはトップオブラック (TOR) スイッチ経由でルーティングされる必要があります。この図では、ホストに使用されるトランスポート VLAN は VLAN 200 で、NSX Edge の場合は VLAN 600 です。ホスト TEP と NSX Edge TEP に個別の VLAN を構成する理由は、TEP は物理ネットワーク アダプタを介してのみトラフィックを送受信でき、内部ポート グループからはトラフィックを送信できないためです。

手順

  1. vSS または vDS 上の vmnic0 で 4 台の ESXi ホストを準備します。vmnic1 は解放します。
  2. ホスト 1 で、vCenter Server をインストールし、VSS/VDS ポート グループを構成して、ホスト上で作成されたポート グループに NSX Manager をインストールします。
  3. トランスポート ノードとして ESXi ホスト 1、2、3、4 を準備します。
    1. 名前付きのチーミング ポリシーを使用して、VLAN トランスポート ゾーンとオーバーレイ トランスポート ゾーンを作成します。トランスポート ゾーンの作成 を参照してください。
    2. ホストのトンネル エンドポイント IP アドレス用の IP アドレス プールまたは DHCP を作成します。トンネル エンドポイントの IP アドレス用 IP アドレス プールの作成 を参照してください。
    3. Edge ノードのトンネル エンドポイント IP アドレス用の IP アドレス プールまたは DHCP を作成します。トンネル エンドポイントの IP アドレス用 IP アドレス プールの作成 を参照してください。
    4. 名前付きチーミング ポリシーを使用してアップリンク プロファイルを作成します。アップリンク プロファイルの作成 を参照してください。
      注: アップリンクで使用可能な帯域幅を最適に利用するため、 VMware では、ホストで使用可能なすべてのアップリンクに負荷を分散するチーミング ポリシーの使用をお勧めします。
    5. Network I/O Control プロファイルを構成して、ホスト上のトラフィックを管理します。Network I/O Control プロファイルの構成 を参照してください。
      注: VMware では、管理トラフィックに 100 シェアを割り当てることをお勧めします。
    6. トランスポート ノード プロファイルを適用して、トランスポート ノードとしてホストを構成します。この手順では、トランスポート ノード プロファイルで vmnic1(未使用の物理 NIC)のみを N-VDS スイッチに移行します。トランスポート ノード プロファイルがクラスタ ホストに適用されると、N-VDS スイッチが作成され、vmnic1 が N-VDS スイッチに接続します。トランスポート ノード プロファイルの追加 を参照してください。
    すべてのホストの vmnic1 が N-VDS スイッチに追加されます。そのため、2 つの物理 NIC のいずれかが N-VDS スイッチに移行されます。vmnic0 インターフェイスは、引き続き VSS またはVDS スイッチに接続し、これにより、ホストとの接続が可能になります。
  4. NSX Manager ユーザー インターフェイスで、NSX ManagervCenter ServerNSX Edge に VLAN でバッキングされたセグメントを作成します。VLAN でバッキングされた各セグメントに対して、正しいチーミング ポリシーを選択します。ターゲットとして VLAN トランク論理スイッチを使用しないでください。NSX Manager ユーザー インターフェイスでターゲット セグメントを作成する場合は、[VLAN のリストの入力] フィールドに VLAN の値を 1 つだけ入力します。
  5. ホスト 2、ホスト 3、ホスト 4 で、vmk0 アダプタと vmnic0 を VSS/VDS から N-VDS スイッチに移行する必要があります。各ホストで NSX-T の構成を更新します。移行中に次のことを確認します。
    • vmk0 が [Edge 管理セグメント] にマッピングされている。
    • vmnic0 がアクティブなアップリンク [uplink-1] にマッピングされている。
  6. vCenter Server で、ホスト 2、ホスト 3、ホスト 4 に移動し、vmk0 アダプタが N-VDS の vmnic0 物理 NIC に接続し、到達可能であることを確認します。
  7. NSX Manager ユーザー インターフェイスで、ホスト 2、ホスト 3、ホスト 4 に移動し、両方の物理 NIC が N-VDS スイッチに接続していることを確認します。
  8. ホスト 2 とホスト 3 の NSX Manager ユーザー インターフェイスで、NSX Manager をインストールして、NSX Manager をセグメントに接続します。クラスタが作成されるまで 10 分ほどかかります。約 10 分後に、クラスタが作成されていることを確認します。
  9. 最初の NSX Manager ノードをパワーオフします。10 分ほど待ちます。
  10. 以前に作成した論理スイッチに NSX Manager と vCenter Server を再接続します。ホスト 4 で、NSX Manager をパワーオンします。10 分ほど経過したら、クラスタの状態が安定していることを確認します。最初の NSX Manager がパワーオフ状態でコールド vMotion を実行し、ホスト 1 からホスト 4 に NSX ManagervCenter Server を移行します。

    vMotion の制限については、https://kb.vmware.com/s/article/56991を参照してください。

  11. NSX Manager ユーザー インターフェイスから、ホスト 1 に移動し、vmk0 と vmnic0 を VSS から N-VDS スイッチに移行します。
  12. [インストールのネットワーク マッピング] フィールドで、vmk0 アダプタが N-VDS スイッチの [Edge 管理セグメント]にマッピングされていることを確認します。
  13. ホスト 1 で、NSX Manager ユーザー インターフェイスを使用して NSX Edge 仮想マシンをインストールします。
    NSX Edge トランスポート ノードの作成 を参照してください。
  14. 管理プレーンに NSX Edge 仮想マシンを追加します。
    NSX Edge の管理プレーンへの追加 を参照してください。
  15. North-South トラフィックの接続を確立するには、外部ルーターを使用して NSX Edge 仮想マシンを構成します。
  16. NSX Edge 仮想マシンと外部ルーター間の North-South トラフィック接続を確認します。
  17. クラスタ全体が再起動される電源障害が発生した場合、NSX-T 管理コンポーネントが起動しないために N-VDS と通信できなくなることがあります。このシナリオを回避するには、次の手順に従います。
    注意: API コマンドが正しく実行されないと、 NSX Manager との接続が失われます。
    注: 単一クラスタ構成では、管理コンポーネントは N-VDS スイッチ上で仮想マシンとしてホストされます。セキュリティ上の理由から、管理コンポーネントがデフォルトで接続する N-VDS ポートはブロック ポートとして初期化されます。4 台のホストすべてで再起動が必要になる電源障害が発生すると、管理仮想マシンのポートがブロック状態で初期化されます。このような循環依存を回避するため、N-VDS で非ブロック状態のポートを作成することをおすすめします。非ブロック状態のポートを作成することで、クラスタの再起動時に NSX-T 管理コンポーネントが N-VDS に接続し、通常の機能を再開できるようになります。
    サブタスクが終了すると、移行コマンドは以下を使用します。
    • NSX Manager が存在するホスト ノードの UUID。
    • NSX Manager 仮想マシンの UUID。これは非ブロック状態にある固定論理ポートに移行されます。
    すべてのホストがパワーオフ状態またはパワーオン状態の場合、または NSX Manager 仮想マシンが別のホストに移動した場合、 NSX Manager が起動時に非ブロック状態のポートに接続できるため、NSX-T の管理コンポーネントとの接続を維持できます。
    1. NSX Manager ユーザー インターフェイスで、[マネージャ モード] > [ネットワーク] > [論理スイッチ] タブの順に移動します(3.0 以降のリリース)。[セグメント コンピューティング仮想マシン] セグメントを検索します。[概要] タブで、UUID を検索してコピーします。この例で使用する UUID は、c3fd8e1b-5b89-478e-abb5-d55603f04452 です。
    2. NSX Manager の JSON ペイロードを作成します。
      • JSON ペイロードで、logical_switch_id の値を以前に作成した [Edge 管理セグメント] の UUID で置き換えて、UNBLOCKED_VLAN 状態の論理ポートを作成します。
      • NSX Manager のペイロードで、attachment_type_iddisplay_name の値は異なります。
      重要: この手順を繰り返して、合計で 4 つの JSON ファイルを作成します。3 つは NSX Manager 用、1 つは vCenter Server Appliance (VCSA) 用です。
      port1.json
      {
      "admin_state": "UP",
      "attachment": {
      "attachment_type": "VIF",
      "id": "nsxmgr-port-147"
      },
      "display_name": "NSX Manager Node 147 Port",
      "init_state": "UNBLOCKED_VLAN",
      "logical_switch_id": "c3fd8e1b-5b89-478e-abb5-d55603f04452"
      }
      説明:
      • admin_state:ポートの状態。「稼動中」になっている必要があります。
      • attachment_type:VIF に設定する必要があります。すべての仮想マシンが、VIF ID を使用して NSX-T スイッチポートに接続されます。
      • id:VIF ID。NSX Manager ごとに一意である必要があります。3 つの NSX Manager がある場合、3 つのペイロードがあり、それぞれに異なる VIF ID が設定されている必要があります。一意の UUID を生成するには、NSX Manager のルート シェルにログインし、/usr/bin/uuidgen を実行して一意の UUID を生成します。
      • display_name:NSX 管理者が他の NSX Manager 表示名と区別できるように、一意の名前にする必要があります。
      • init_state:値が UNBLOCKED_VLAN に設定すると、NSX Manager が使用できない場合でも、NSX は NSX Manager のポートのブロックを解除します。
      • logical_switch_id[Edge 管理セグメント] の論理スイッチ ID。
    3. 3 つの NSX Manager が展開されている場合、NSX Manager の各論理ポートに 1 つのペイロードを作成する必要があります(合計で 3 つ作成します)。たとえば、port1.json、port2.json、port3.json のように作成します。

      次のコマンドを実行して、ペイロードを作成します。

      curl -X POST -k -u '<username>:<password>' -H 'Content-Type:application/json' -d @port1.json https://nsxmgr/api/v1/logical-ports

      curl -X POST -k -u '<username>:<password>' -H 'Content-Type:application/json' -d @port2.json https://nsxmgr/api/v1/logical-ports

      curl -X POST -k -u '<username>:<password>' -H 'Content-Type:application/json' -d @port3.json https://nsxmgr/api/v1/logical-ports

      論理ポートを作成する API 実行の例。

      root@nsx-mgr-147:/var/CollapsedCluster# curl -X POST -k -u 
      '<username>:<password>' -H 'Content-Type:application/json' -d @port1.json https://localhost/api/v1/logical-ports
      {
        "logical_switch_id" : "c3fd8e1b-5b89-478e-abb5-d55603f04452",
        "attachment" : {
          "attachment_type" : "VIF",
          "id" : "nsxmgr-port-147"
        },
        "admin_state" : "UP",
        "address_bindings" : [ ],
        "switching_profile_ids" : [ {
          "key" : "SwitchSecuritySwitchingProfile",
          "value" : "fbc4fb17-83d9-4b53-a286-ccdf04301888"
        }, {
          "key" : "SpoofGuardSwitchingProfile",
          "value" : "fad98876-d7ff-11e4-b9d6-1681e6b88ec1"
        }, {
          "key" : "IpDiscoverySwitchingProfile",
          "value" : "0c403bc9-7773-4680-a5cc-847ed0f9f52e"
        }, {
          "key" : "MacManagementSwitchingProfile",
          "value" : "1e7101c8-cfef-415a-9c8c-ce3d8dd078fb"
        }, {
          "key" : "PortMirroringSwitchingProfile",
          "value" : "93b4b7e8-f116-415d-a50c-3364611b5d09"
        }, {
          "key" : "QosSwitchingProfile",
          "value" : "f313290b-eba8-4262-bd93-fab5026e9495"
        } ],
        "init_state" : "UNBLOCKED_VLAN",
        "ignore_address_bindings" : [ ],
        "resource_type" : "LogicalPort",
        "id" : "02e0d76f-83fa-4839-a525-855b47ecb647",
        "display_name" : "NSX Manager Node 147 Port",
        "_create_user" : "admin",
        "_create_time" : 1574716624192,
        "_last_modified_user" : "admin",
        "_last_modified_time" : 1574716624192,
        "_system_owned" : false,
        "_protection" : "NOT_PROTECTED",
        "_revision" : 0
    4. 論理ポートが作成されていることを確認します。
    5. NSX Manager の仮想マシン インスタンス ID を確認します。インスタンス ID を取得するには、[インベントリ] > [仮想マシン] の順に移動して NSX Manager 仮想マシンを選択し、[概要] タブを選択してインスタンス ID をコピーします。または、vCenter Server の管理対象オブジェクト ブラウザ (MOB) でインスタンス ID を検索します。ID に :4000 を追加して、NSX Manager 仮想マシンの vNIC ハードウェア インデックスを取得します。
      たとえば、仮想マシンのインスタンス UUID が 503c9e2b-0abf-a91c-319c-1d2487245c08 の場合、vNIC インデックスは 503c9e2b-0abf-a91c-319c-1d2487245c08:4000 になります。3 つの NSX Manager の vNIC インデックスは次のとおりです。

      mgr1 vnic: 503c9e2b-0abf-a91c-319c-1d2487245c08:4000

      mgr2 vnic: 503c76d4-3f7f-ed5e-2878-cffc24df5a88:4000

      mgr3 vnic: 503cafd5-692e-d054-6463-230662590758:4000

    6. NSX Manager をホストするトランスポート ノード ID を確認します。3 つの NSX Manager があり、それぞれが異なるトランスポート ノードでホストされている場合は、トランスポート ノード ID をメモします。たとえば、3 つのトランスポート ノード ID は次のとおりです。
      tn1: 12d19875-90ed-4c78-a6bb-a3b1dfe0d5ea
      tn2: 4b6e182e-0ee3-403f-926a-fb7c8408a9b7
      tn3: d7cec2c9-b776-4829-beea-1258d8b8d59b
    7. 新しく作成されたポートに NSX Manager を移行するときに、ペイロードとして使用されるトランスポート ノードの構成を取得します。
      次はその例です。
      curl -k -u '<user>:<password' https://nsxmgr/api/v1/transport-nodes/12d19875-90ed-4c78-a6bb-a3b1dfe0d5ea > tn1.json
      curl -k -u '<user>:<password' https://nsxmgr/api/v1/transport-nodes/4b6e182e-0ee3-403f-926a-fb7c8408a9b7 > tn2.json
      curl -k -u '<user>:<password' https://nsxmgr/api/v1/transport-nodes/d7cec2c9-b776-4829-beea-1258d8b8d59b > tn3.json
    8. 以前のポートから [Edge 管理セグメント] に新たに作成され、ブロック解除された論理ポートに NSX Manager を移行します。VIF-ID 値は、NSX Manager に以前に作成したポートの接続 ID です。
      NSX Manager を移行するには、次のパラメータが必要です。
      • トランスポート ノード ID
      • トランスポート ノードの構成
      • NSX Manager vNIC ハードウェア インデックス
      • NSX Manager VIF ID
      新しく作成され、ブロック解除されたポートに NSX Manager を移行する API コマンドは次のとおりです。
      /api/v1/transport-nodes/<TN-ID>?vnic=<VNIC-ID>&vnic_migration_dest=<VIF-ID>

      次はその例です。

      root@nsx-mgr-147:/var/CollapsedCluster# curl -k -X PUT -u 'admin:VMware1!VMware1!' -H 'Content-Type:application/json' -d @<tn1>.json 'https://localhost/api/v1/transport-nodes/11161331-11f8-45c7-8747-34e7218b687f?vnic=5028d756-d36f-719e-3db5-7ae24aa1d6f3:4000&vnic_migration_dest=nsxmgr-port-147'
    9. 静的に作成された論理ポートが Up 状態になっていることを確認します。
    10. クラスタ内のすべての NSX Manager で上記の手順を繰り返します。