擁有 NSX Controller 多節點叢集有助於確保永遠至少會有一個 NSX Controller 可供使用。

先決條件

  • 安裝三個 NSX Controller 應用裝置。

  • 確定 NSX Controller 節點已加入管理平面。請參閱將 NSX Controller 加入管理平面

  • 初始化控制叢集以建立控制叢集主節點。

  • join control-cluster 命令中,您必須使用 IP 位址,而非網域名稱。

  • 如果您使用 vCenter,且要將 NSX-T 元件部署至相同的叢集,請務必設定 DRS 反相似性規則。反相似性規則可防止 DRS 將多個節點移轉至單一主機。

程序

  1. 開啟您每個 NSX Controller 應用裝置的 SSH 工作階段。

    例如,NSX-Controller1、NSX-Controller2 和 NSX-Controller3。在此範例中,NSX-Controller1 已初始化控制叢集,並且是控制叢集主節點。

  2. 在非主要 NSX Controller 上,以共用密碼執行 set control-cluster security-model 命令。為 NSX-Controller2 和 NSX-Controller3 輸入的共用密碼,必須符合在 NSX-Controller1 上輸入的共用密碼。

    例如:

    NSX-Controller2> set control-cluster security-model shared-secret secret <NSX-Controller1’s-shared-secret-password>
    
    Security secret successfully set on the node.
    
    NSX-Controller3> set control-cluster security-model shared-secret secret <NSX-Controller1’s-shared-secret-password>
    
    Security secret successfully set on the node.
    
  3. 在非主要 NSX Controller 上,執行 get control-cluster certificate thumbprint 命令。

    命令輸出是對每個 NSX Controller 而言都是唯一的數字字串。

    例如:

    NSX-Controller2> get control-cluster certificate thumbprint
    ...
    
    NSX-Controller3> get control-cluster certificate thumbprint
    ...
    
  4. 在主要 NSX Controller 上,執行 join control-cluster 命令。

    請提供下列資訊:

    • 具有非主要 NSX Controller (在此範例中為 NSX-Controller2 和 NSX-Controller3) 之選用連接埠號碼的 IP 位址

    • 非主要 NSX Controller 的憑證指紋

    請勿以平行方式在多個控制器上執行 join 命令。請務必在一個控制器加入完成後,再加入另一個控制器。

    NSX-Controller1> join control-cluster <NSX-Controller2-IP> thumbprint <nsx-controller2's-thumbprint>
    Node 192.168.210.48 has successfully joined the control cluster.
    Please run 'activate control-cluster' command on the new node.
    

    請執行 get control-cluster status 命令以確定 NSX-Controller2 已加入叢集。

    NSX-Controller1> join control-cluster <NSX-Controller3-IP> thumbprint <nsx-controller3's-thumbprint>
    Node 192.168.210.49 has successfully joined the control cluster.
    Please run 'activate control-cluster' command on the new node.
    

    請執行 get control-cluster status 命令以確定 NSX-Controller3 已加入叢集。

  5. 在兩個已加入控制叢集主節點的 NSX Controller 節點上,執行 activate control-cluster 命令。
    備註︰

    請勿以平行方式在多個控制器上執行 activate 命令。請確保各個控制器皆啟用完成後,再啟用另一個控制器。

    例如:

    NSX-Controller2> activate control-cluster
    Control cluster activation successful.
    

    在 NSX-Controller2 上執行 get control-cluster status verbose 命令,並確定 Zookeeper Server IPreachable, ok

    NSX-Controller3> activate control-cluster
    Control cluster activation successful.
    

    在 NSX-Controller3 上執行 get control-cluster status verbose 命令,並確定 Zookeeper Server IPreachable, ok

結果

執行 get control-cluster status 命令以確認結果。

NSX-Controller1> get control-cluster status
uuid: db4aa77a-4397-4d65-ad33-9fde79ac3c5c
is master: true
in majority: true
uuid                                 address              status
0cfe232e-6c28-4fea-8aa4-b3518baef00d 192.168.210.47       active
bd257108-b94e-4e6d-8b19-7fa6c012961d 192.168.210.48       active
538be554-1240-40e4-8e94-1497e963a2aa 192.168.210.49       active

第一個列出的 UUID 會用於整體的控制叢集。每個控制器節點也都有一個 UUID。

備註︰

如果您嘗試將控制器加入叢集,但命令 set control-cluster security-modeljoin control-cluster 失敗,則叢集組態檔可能會處於不一致的狀態。若要解決此問題,請執行下列步驟:

  • 在您嘗試要加入叢集的控制器上,執行 deactivate control-cluster 命令。

  • 在主要控制器上,如果 get control-cluster statusget control-cluster status verbose 命令顯示失敗控制器的相關資訊,請執行 detach control-cluster <IP address of failed controller> 命令。

下一步

將 Hypervisor 主機新增至 NSX-T 網狀架構。請參閱主機準備