NSX Edge 仮想マシンが機能しなくなった場合、またはデータセンター内の配置を変更する必要が生じた場合は、仮想マシンを再展開します。たとえば、NSX Edge を別のデータストアまたはコンピューティング リソースに移動する必要がある場合は、NSX Edge ノードを再展開します。ノードを別のネットワークに移動することもできます。ただし、ネットワーク要件によっては、他の理由で再展開が必要になることもあります。

既存の NSX Edge ノード(物理サーバまたは NSX Edge 仮想マシン アプライアンス)を NSX Edge 仮想マシン アプライアンスに再展開することは可能です。

前提条件

  • NSX Edge トランスポート ノード ペイロードの一部の構成は変更できますが、新しいノードによって再展開される既存の NSX Edge ノードでは、次の構成を変更しないでください。
    • 障害ドメイン
    • トランスポート ノードの接続
    • 物理 NIC 構成
    • 論理ルーター
    • ロード バランサの割り当て
  • 既存の NSX Edge ノードが物理サーバか、vSphere Client によって手動で展開された仮想マシンの場合は、NSX Edge ノードと NSX Manager 間の接続が停止していることを確認します。接続が停止していないと、NSX は既存の NSX Edge ノードと新しいノードの置換を許可しません。

  • 自動的に展開された既存の NSX Edge は、ハードウェア バージョン 13 のままになります。NSX 4.0.1.1 以降では、NSX Edge 仮想マシンを再展開すると、ESXi ホスト バージョンと互換性のあるアップグレードされたハードウェア バージョンで新しい NSX Edge 仮想マシンが自動的に展開されます。ESXi ホストと互換性のある仮想マシン ハードウェアのバージョンは、ナレッジベースの記事 KB2007240 に記載されています。

手順

  1. (物理サーバまたは vSphere Client を使用して展開した NSX Edge)SSH セッションを開き、NSX Edge コンソールに接続します。
  2. CLI コンソールで get logical-routers を使用して、NSX Edge ノードに論理ルートが構成されていることを確認します。
  3. NSX Edge ノードをパワーオフします。
  4. 次の API コマンドを実行して、NSX Edge ノードが NSX Manager から切断されていることを確認します。
    GET api/v1/transport-nodes/<edgenode>/state
     "node_deployment_state": 
            {"state": MPA_Disconnected"}

    node_deployment_state 値は MPA Disconnected です。これは、NSX Edge ノードの再展開が可能であることを示しています。

    注: node_deployment_stateNode Ready の場合、 NSX Manager に「 78006 - Manager connectivity to Edge node must be down.Else replacement/redeployment of hardware is not allowed」というエラーが表示されます。
  5. あるいは、[Edge トランスポート ノード] ページから NSX Edge ノードと NSX Manager 間の接続状態を確認します。切断された NSX Edge ノードには、「Configuration Error, Edge VM MPA Connectivity is down」というシステム メッセージが表示されます。
  6. NSX Edge ノードが自動展開されたノードの場合は、GET /<NSX-Manager-IPaddress>/api/v1/transport-nodes/<edgenode> を実行します。この API の出力ペイロードをコピーします。
    "resource_type": "EdgeNode",
    	        "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "display_name": "Edge_TN2",
    	        "description": "EN",
    	        "external_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "ip_addresses": [
    	            "10.170.94.240"
    	        ],
    	        "_create_user": "admin",
    	        "_create_time": 1600106319056,
    	        "_last_modified_user": "admin",
    	        "_last_modified_time": 1600106907312,
    	        "_system_owned": false,
    	        "_protection": "NOT_PROTECTED",
    	        "_revision": 2
    	    },
    	    "is_overridden": false,
    	    "failure_domain_id": "4fc1e3b0-1cd4-4339-86c8-f76baddbaafb",
    	    "resource_type": "TransportNode",
    	    "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "display_name": "Edge_TN2",
    	    "_create_user": "admin",
    	    "_create_time": 1600106319399,
    	    "_last_modified_user": "admin",
    	    "_last_modified_time": 1600106907401,
    	    "_system_owned": false,
    	    "_protection": "NOT_PROTECTED",
    	    "_revision": 1
    	}
  7. 次の再展開シナリオのいずれかを選択します。
    選択 操作

    既存の NSX Edge ノード(物理サーバまたは手動展開のノード)を NSX Edge 仮想マシン ノード(NSX Manager API で展開)に再展開します。

    API コマンド /api/v1/transport-nodes/<transport-node-id>?action=redeploy で次の操作を行います。
    • 再展開 API の本文にペイロードを貼り付けます。
    • deployment_config セクションが、ノードを再展開するコンピュート マネージャ、データストア、ネットワークの詳細を参照していることを確認します。これらの値が node_settings セクションで使用されている値と一致していることを確認します。

    • deployment_config セクションにログイン パスワードを追加します。

    NSX Manager は、deployment_config セクションの詳細に基づいて NSX Edge ノードを再展開します。

    既存の NSX Edge ノードの配置の変更

    API コマンド /api/v1/transport-nodes/<transport-node-id>?action=redeploy で次の操作を行います。
    • 再展開 API の本文にペイロードを貼り付けます。
    • deployment_config セクションで、新しいコンピュート マネージャ、データストア、ネットワーク、CPU、メモリ、または遅延感度の詳細を参照します。
    POST https://<manager-ip>/api/v1/transport-nodes/<transport-node-id>?action=redeploy の例
    	{
    	    "node_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "host_switch_spec": {
    	        "host_switches": [
    	            {
    	                "host_switch_name": "nsxvswitch_overlay",
    	                "host_switch_id": "c0a4a83e-c8b8-4324-a4d7-dbbc07b30b53",
    	                "host_switch_type": "NVDS",
    	                "host_switch_mode": "STANDARD",
    	                "host_switch_profile_ids": [
    	                    {
    	                        "key": "UplinkHostSwitchProfile",
    	                        "value": "f9a2a2fa-b49d-498f-abaf-2fdc81917716"
    	                    },
    	                    {
    	                        "key": "LldpHostSwitchProfile",
    	                        "value": "9e0b4d2d-d155-4b4b-8947-fbfe5b79f7cb"
    	                    }
    	                ],
    	                "pnics": [
    	                    {
    	                        "device_name": "fp-eth0",
    	                        "uplink_name": "uplink1"
    	                    }
    	                ],
    	                "is_migrate_pnics": false,
    	                "ip_assignment_spec": {
    	                    "ip_pool_id": "647d9b0d-0143-4903-91f5-930d9ab011e8",
    	                    "resource_type": "StaticIpPoolSpec"
    	                },
    	                "cpu_config": [],
    	                "transport_zone_endpoints": [
    	                    {
    	                        "transport_zone_id": "0b33b078-6438-4d9b-a1ec-33211fd36822",
    	                        "transport_zone_profile_ids": [
    	                            {
    	                                "resource_type": "BfdHealthMonitoringProfile",
    	                                "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
    	                            }
    	                        ]
    	                    },
    	                    {
    	                        "transport_zone_id": "a0133574-48de-4e3a-9407-7db1a68bae41",
    	                        "transport_zone_profile_ids": [
    	                            {
    	                                "resource_type": "BfdHealthMonitoringProfile",
    	                                "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
    	                            }
    	                        ]
    	                    }
    	                ],
    	                "vmk_install_migration": [],
    	                "pnics_uninstall_migration": [],
    	                "vmk_uninstall_migration": [],
    	                "not_ready": false
    	            }
    	        ],
    	        "resource_type": "StandardHostSwitchSpec"
    	    },
    	    "transport_zone_endpoints": [],
    	    "maintenance_mode": "DISABLED",
    	    "node_deployment_info": {
    	        "deployment_type": "VIRTUAL_MACHINE",
    	        "deployment_config": {
    	            "vm_deployment_config": {
    	                "vc_id": "cc82da39-b119-4869-a7fe-a54621cb4d3d",
    	                "compute_id": "domain-c9",
    	                "storage_id": "datastore-14",
    	                "host_id": "host-12",
    	                "compute_folder_id": "group-v5",
    	                "management_network_id": "network-16",
    	                "hostname": "EdgeSmallFactor",
    	                "data_network_ids": [
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c",
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c",
    	                    "5638c577-e142-4a50-aed3-a7079dc3b08c"
    	                ],
    	                "search_domains": [
    	                    "eng.vmware.com",
    	                    "vmware.com"
    	                ],
    	                "enable_ssh": true,
    	                "allow_ssh_root_login": true,
    	                "reservation_info": {
    	                    "memory_reservation": {
    	                        "reservation_percentage": 100
    	                    },
    	                    "cpu_reservation": {
    	                        "reservation_in_shares": "HIGH_PRIORITY",
    	                        "reservation_in_mhz": 0
    	                    }
    	                },
    	                "resource_allocation": {
    	                    "cpu_count": 4,
    	                    "memory_allocation_in_mb": 8192
    	                },
    	                "placement_type": "VsphereDeploymentConfig"
    	            },
    	            "form_factor": "MEDIUM",
    	            "node_user_settings": {
    	                 "cli_username": "admin",
                            "root_password":"Admin!23Admin", 
                            "cli_password":"Admin!23Admin" 
    	            }
    	        },
    	        "node_settings": {
    	            "hostname": "EdgeSmallFactor",
    	            "search_domains": [
    	                "eng.vmware.com",
    	                "vmware.com"
    	            ],
    	            "enable_ssh": true,
    	            "allow_ssh_root_login": true
    	        },
    	        "resource_type": "EdgeNode",
    	        "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "display_name": "Edge_TN2",
    	        "description": "EN",
    	        "external_id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	        "ip_addresses": [
    	            "10.170.94.240"
    	        ],
    	        "_create_user": "admin",
    	        "_create_time": 1600106319056,
    	        "_last_modified_user": "admin",
    	        "_last_modified_time": 1600106907312,
    	        "_system_owned": false,
    	        "_protection": "NOT_PROTECTED",
    	        "_revision": 2
    	    },
    	    "is_overridden": false,
    	    "failure_domain_id": "4fc1e3b0-1cd4-4339-86c8-f76baddbaafb",
    	    "resource_type": "TransportNode",
    	    "id": "9f34c0ea-4aac-4b7f-a02c-62f306f96649",
    	    "display_name": "Edge_TN2",
    	    "_create_user": "admin",
    	    "_create_time": 1600106319399,
    	    "_last_modified_user": "admin",
    	    "_last_modified_time": 1600106907401,
    	    "_system_owned": false,
    	    "_protection": "NOT_PROTECTED",
    	    "_revision": 1
    	}
    
    注: 古いノードが NSX Manager ユーザー インターフェイスを介して展開された NSX Edge 仮想マシン ノードの場合、API ペイロードの node_user_settings セクションにログイン認証情報を指定する必要はありません。
    ペイロードの詳細については、『 NSX API ガイド』を参照してください。
  8. NSX Manager で、新しい NSX Edge ノードの [構成状態] を確認します。
  9. または、API コマンド Get api/v1/transport-nodes/<node-id>/state を実行して、新しく準備された NSX Edge トランスポート ノードの状態を確認します。
  10. get logical-routers CLI コマンドを実行して、論理ルーターの構成が新しい NSX Edge ノードに移行されていることを確認します。
  11. TEP アドレスが、置換後の NSX Edge ノードで維持されていることを確認します。
  12. NSX Edge クラスタの状態が「稼動中」であることを確認します。API は GET api/v1/edge-clusters/<cluster> です。NSXNSX フェデレーションを使用するように構成されている場合は、サイト間の状態が「稼動中」になっていることを確認します。
  13. API で NSX Edgeトランスポート ノードとクラスタの状態を確認し、「稼動中」になっていることを確認します。
  14. エラー メッセージのトラブルシューティング:
    • (78006) NSX Manager connectivity to Edge node must be down.Else replacement of hardware is not allowedNSX Edge ノードが NSX Manager に接続していないことを確認します。

    • (16064) Deployment configuration is missing:再展開 API で、deployment_config セクションに詳細情報を入力します。

    • (16066) Login password is missing:ログイン認証情報を入力します。

    • (15019) Insufficient resources on node to be allocated to load balancer pool:新しい NSX Edge ノードのフォーム ファクタが古い NSX Edge ノードよりも小さい可能性があります。新しいフォーム ファクタで、ロード バランサ プールに割り当てるリソースが不足している可能性があります。

次のタスク

  • 置き換えられた物理サーバを起動する場合、またはネットワークの一部として NSX Edge 仮想マシン アプライアンスを手動で展開する場合は、ノードがネットワークから切断されていることを確認します。次に del nsx を実行して、ノードの NSX VIB を完全に削除します。del nsx の詳細については、『NSX インストール ガイド』を参照してください。

    ホストで del nsx を実行すると、論理ルーターの古いエントリ、VTEP IP アドレス、アップリンク IP アドレスが解放されます。これで、置き換えられた物理サーバを新しい NSX トランスポート ノードとして準備できるようになりました。

  • NSX Edge 仮想マシン アプライアンスを再展開すると、いくつかのセキュリティ パラメータがデフォルト値に設定されます。環境に応じて、これらのパラメータを再構成します。
    • set auth-policy minimum-password-length <password-length-arg>

      パスワードの最小文字数を設定します。設定可能な最小値は 8 です。

      たとえば、nsx> set auth-policy minimum-password-length 12 です。

    • set user <node-username> password-expiration <password-expiration-arg>

      パスワードを変更した後のユーザー パスワードの有効日数を設定します。

      ここで、<username> はユーザー名です。

      <password-expiration> は、変更後のパスワードの有効日数です(1 ~ 9999)。

      たとえば、nsx> set user audit password-expiration 120 です。

    • set auth-policy cli max-auth-failures <auth-failures-arg>

      アカウントがロックアウトされるまでの CLI 認証試行の失敗が許容される最大回数。0 に設定すると、アカウントのロックアウトは無効になります。

      ここで、<auth-failures> はロックアウトをトリガする認証失敗の回数です。

      たとえば、nsx> set auth-policy cli max-auth-failures 5 です。

    • set banner

      1 日のセキュリティ バナーまたはメッセージを設定します。

      たとえば、nsx> set banner です。

      TEXT メッセージを入力します。Ctrl-D で終了します

    • reset dataplane hugepage

      hugepage 関連の起動時間オプションを工場出荷時のデフォルトにリセットします。

      nsx-edge-1> reset dataplane hugepage

      0000:0b:00.0 already bound to driver vfio-pci, skipping
      0000:1b:00.0 already bound to driver vfio-pci, skipping
      0000:13:00.0 already bound to driver vfio-pci, skipping
      INFO: Config was written to: /config/vmware/edge/config.json
      Generating grub configuration file ...
      Found linux image: /vmlinuz-3.14.17-nn4-server
      Found initrd image: //initrd.img-3.14.17-nn4-server
      File descriptor 4 (/tmp/ffinvYglp (deleted)) leaked on lvs invocation. Parent PID 32203: /bin/sh
      done
      INFO: Updated grub. Please reboot to take effect.