您可以在單一叢集中設定 NSX Manager、主機傳輸節點和 NSX Edge 虛擬機器。叢集中的每台主機都提供為 NSX 設定的兩個實體 NIC。
必要條件
- 所有主機都必須是 vSphere 叢集的一部分。
- 每個主機都已啟用兩個實體 NIC。
- 將所有主機登錄至 VMware vCenter。
- 在 VMware vCenter 上確認共用儲存區可供主機使用。
- 從 NSX 3.1 開始,NSX Edge 虛擬機器的 TEP 可以直接與執行 NSX Edge 虛擬機器所在主機的 TEP 進行通訊。在 NSX 3.1 之前,NSX Edge 虛擬機器 TEP 必須位於與主機 TEP 不同的 VLAN 中。
備註: 或者,您也可以使用 vSphere Distributed Switch 來部署本主題中所述的組態。在主機上設定 vSphere Distributed Switch 時,此程序很簡單。這不涉及在 NSX 分散式虛擬連接埠群組上 vSphere Distributed Switch 至 N-VDS 的移轉和 NSX Manager 部署。不過, NSX Edge 虛擬機器必須連線至 VLAN 區段,才能使用與 ESXi 主機 TEP 相同的 VLAN。
-
從 NSX 3.2.2 開始,您可以讓多個 NSX Manager 管理單一 VMware vCenter。請參閱多個 NSX Manager 管理單一 VMware vCenter。
設定摺疊叢集後,如果允許 VMware vCenter 搭配多個 NSX Manager (多個 NSX Manager 登錄到相同的 VMware vCenter),則無法將新的 NSX Manager 節點部署到叢集。因應措施是建立新叢集並部署 NSX Manager 節點。
備註: 請從 NSX 2.4.2 或 2.5 版開始,部署完全折疊的單一 vSphere 叢集拓撲。此程序中參考的拓撲具有:
- 用叢集中的主機進行設定的 vSAN。
- 每個主機至少有兩個實體 NIC。
- vMotion 和管理 VMkernel 介面。
- 從 NSX 4.0 開始,傳輸節點主機僅支援 VDS 交換器。但是,可使用 NVDS 交換器設定 NSX Edge。
程序
- 在 vSS 或 vDS 上準備四個具有 vmnic0 的 ESXi 主機,vmnic1 可供使用。
- 在主機 1 上,安裝 VMware vCenter、設定 vSS/vDS 連接埠群組,然後在主機上所建立的連接埠群組上安裝 NSX Manager。
- 準備 ESXi 主機 1、2、3 和 4 以作為傳輸節點。
- 使用指定的整併原則建立 VLAN 傳輸區域和覆疊傳輸區域。請參閱建立傳輸區域。
- 為主機的通道端點 IP 位址建立 IP 集區或 DHCP。請參閱為通道端點 IP 位址建立 IP 集區。
- 為 Edge 節點的通道端點 IP 位址建立 IP 集區或 DHCP。請參閱為通道端點 IP 位址建立 IP 集區。
- 使用具名整併原則來建立上行設定檔。請參閱建立上行設定檔。
- 藉由套用傳輸節點設定檔,將主機設定為傳輸節點。在此步驟中,傳輸節點設定檔僅會將 vmnic1 (未使用的實體 NIC) 移轉到 N-VDS 交換器。將傳輸節點設定檔套用至叢集主機後,系統會建立 N-VDS 交換器,並將 vmnic1 連線至 N-VDS 交換器。請參閱新增傳輸節點設定檔。
所有主機上的 vmnic1 都會新增至 N-VDS 交換器。因此,在兩個實體 NIC 中,有一個會移轉至 N-VDS 交換器。vmnic0 介面仍會連線至 vSS 或 vDS 交換器,以確定主機的連線可供使用。 - 在 NSX Manager UI 中,為 NSX Manager、VMware vCenter 和 NSX Edge 建立 VLAN 支援的區段。請務必為每個由 VLAN 支援的區段選取正確的整併原則。請勿以 VLAN 主幹邏輯交換器為目標。在 NSX Manager UI 中建立目標區段時,請在輸入 VLAN 清單欄位中輸入單一 VLAN 值。
- 在主機 2、主機 3 和主機 4 上,您必須同時從 VSS/VDS 將 vmk0 介面卡和 vmnic0 移轉到 N-VDS 交換器。更新每台主機上的 NSX-T 組態。移轉時確保
- vmk0 對應至 Edge 管理區段。
- vmnic0 對應至作用中上行,uplink-1。
- 在 vCenter Server 中,移至主機 2、主機 3 和主機 4,並確認 vmk0 介面卡已連線至 N-VDS 上的 vmnic0 實體 NIC 並可連線。
- 在 NSX Manager UI 中,移至主機 2、主機 3 和主機 4,並確認兩個 pNIC 均位於 N-VDS 交換器上。
- 在主機 2 和主機 3 上,從 NSX Manager UI 安裝 NSX Manager,並將 NSX Manager 連結至區段。等待約 10 分鐘讓叢集形成,並確認叢集已形成。
- 關閉第一個 NSX Manager 節點的電源。等待約 10 分鐘。
- 將 NSX Manager 和 vCenter Server 重新連結至先前建立的邏輯交換器。在主機 4 上,開啟 NSX Manager 的電源。等待約 10 分鐘,以確認叢集處於穩定狀態。在第一個 NSX Manager 電源關閉的情況下,執行冷 vMotion 以將 NSX Manager 和 VMware vCenter 從主機 1 移轉到主機 4。
如需 vMotion 限制的相關資訊,請參閱 https://kb.vmware.com/s/article/56991。
- 從 NSX Manager UI 中,移至主機 1,將 vmk0 和 vmnic0 同時從 VSS 移轉至 N-VDS 交換器。
- 在用於安裝的網路對應欄位中,確認 vmk0 介面卡已對應至 N-VDS 交換器上的 Edge 管理區段。
- 在主機 1 上,從 NSX Manager UI 安裝 NSX Edge 虛擬機器。
請參閱 建立 NSX Edge 傳輸節點。
- 將 NSX Edge 虛擬機器加入管理平面。
請參閱 將 NSX Edge 加入管理平面。
- 若要建立南北向流量連線,請使用外部路由器來設定 NSX Edge 虛擬機器。
- 確認 NSX Edge 虛擬機器與外部路由器之間的南北向流量連線。
- 萬一發生停電而造成整個叢集重新開機的情形,則 NSX-T 管理元件可能不會啟動以及與 N-VDS 通訊。若要避免發生此情況,請執行下列步驟:
注意: 任何未正確執行的 API 命令都會導致與 NSX Manager 的連線發生中斷。備註: 在單一叢集組態中,管理元件作為虛擬機器託管於 N-VDS 交換器上。由於安全考慮,管理元件依預設連線的 N-VDS 連接埠會初始化為封鎖的連接埠。如果發生電力故障而導致四個主機全都需要重新開機,則管理虛擬機器連接埠將會初始化為己封鎖狀態。若要避免循環相依性,建議在 N-VDS 上建立已解除封鎖狀態的連接埠。已解除封鎖的連接埠可確保叢集重新開機時,NSX-T 管理元件可與 N-VDS 通訊以恢復正常功能。在子工作結束時,移轉命令會採用:
- NSX Manager 所在主機節點的 UUID。
- NSX Manager 虛擬機器的 UUID,並將其移轉至處於已解除封鎖狀態的靜態邏輯連接埠。
- 在 NSX Manager UI 中,移至管理程式模式 > 網路 > 邏輯交換器索引標籤 (3.0 及更新版本)。搜尋區段計算虛擬機器區段。選取概觀索引標籤,找到並複製 UUID。此範例中使用的 UUID 為 c3fd8e1b-5b89-478e-abb5-d55603f04452。
- 為每個 NSX Manager 建立 JSON 裝載。
- 在 JSON 裝載中,建立具有初始化狀態 UNBLOCKED_VLAN 狀態的邏輯連接埠,方法是將 logical_switch_id 的值取代為先前所建立 Edge 管理區段的 UUID。
- 在每個 NSX Manager 的裝載中,attachment_type_id 和 display_name 值將會不同。
重要: 重複此步驟以建立總計四個 JSON 檔案,三個用於 NSX Manager,一個用於 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 識別碼連線至 NSX-T 交換器連接埠。id
:這是 VIF 識別碼。每個 NSX Manager 必須是唯一的。如果您有三個 NSX Manager,則會有三個裝載,而每個裝載皆必須有不同的 VIF 識別碼。若要產生唯一的 UUID,請登入 NSX Manager 的 root shell,然後執行 /usr/bin/uuidgen 以產生唯一的 UUID。display_name
:必須是唯一的,才能讓 NSX admin 識別它與其他 NSX Manager 顯示名稱。init_state
:將值設定為UNBLOCKED_VLAN
時,NSX 會取消封鎖 NSX Manager 的連接埠,即使 NSX Manager 無法使用也是如此。logical_switch_id
:這是 Edge 管理區段的邏輯交換器識別碼。
- 如果已部署三個 NSX Manager,則您需要建立三個裝載,用於 NSX Manager 的每個邏輯連接埠各一個。例如,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
- 確認已建立邏輯連接埠。
- 找出每個 NSX Manager 的虛擬機器執行個體識別碼。您可以從詳細目錄 → 虛擬機器中擷取執行個體識別碼,選取 NSX Manager 虛擬機器,接著選取概觀索引標籤,然後複製執行個體識別碼。或者,從 VMware vCenter 的受管理物件瀏覽器 (MOB) 搜尋執行個體識別碼。新增 :4000 至識別碼,以取得 NSX Manager 虛擬機器的 VNIC 硬體索引。
例如,如果虛擬機器的執行個體 UUID 為
503c9e2b-0abf-a91c-319c-1d2487245c08
,則其 VNIC 索引為503c9e2b-0abf-a91c-319c-1d2487245c08:4000
。這三個 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
- 找出主控 NSX Manager 的傳輸節點識別碼。如果您有三個 NSX Manager,而每個都主控於不同的傳輸節點,請記下傳輸節點識別碼。例如,這三個傳輸節點識別碼為:
tn1: 12d19875-90ed-4c78-a6bb-a3b1dfe0d5ea
tn2: 4b6e182e-0ee3-403f-926a-fb7c8408a9b7
tn3: d7cec2c9-b776-4829-beea-1258d8b8d59b
- 在將 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
- 將 NSX Manager 從先前的連接埠移轉至 Edge 管理區段上新建立的取消封鎖邏輯連接埠。VIF-ID 值是先前為 NSX Manager 所建立連接埠的連結識別碼。
需要下列參數才能移轉 NSX Manager:
- 傳輸節點識別碼
- 傳輸節點組態
- NSX Manager VNIC 硬體索引
- NSX Manager VIF 識別碼
用於將 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' - 確保靜態建立的邏輯連接埠已開啟。
- 針對叢集中的每個 NSX Manager,重複上述步驟。