Related Posts Plugin for WordPress, Blogger...

SDDC 簡介

首先,我們先來回味一下 vSphere 伺服器虛擬化的部份。單台 vCenter Server 可控管 1,000 台 ESXi Host 及 10,000 台 VMs。vSwitch 的部份預設 Port 128 - 8(VMkernel) 最大 Port 數為 4096-8。在網路功能的部份 CDP/LLDP - Cisco 協定 (目前 NSX 少這塊,日後版本會加上)。

在下圖當中,熟悉伺服器虛擬化的朋友應該可以了解到,其實網路虛擬化的概念是跟伺服器虛擬化非常相似的,只是對象由原本的「VM 虛擬主機」變成了「網路」而已。



傳統資料中心及軟體定義資料中心的差別。說明軟體定義資料中心,如何將相關底層元件與硬體「脫勾 (Decoupled)」,簡單來說 將儲存、網路、伺服器抽象化,形成軟體定義且具備高可擴展性的資料中心。


說明 SDDC 的願景架構,以及 SDDC 架構示意圖及優點概要說明。



事實上,NSX 網路虛擬化技術,可以使用資料中心內原有的「實體網路」設備,就像伺服器虛擬化可以使用原有伺服器一樣的概念。簡單來說,NSX 使用 ESXi 虛擬化環境,以及資料中心原有的「網路硬體設備」。

以往在 Virtual Network 中,如果 VM 虛擬主機在「同一」台 ESXi 上的同一個 Port Group,那麼要交換資料時,便只是 ESXi Host 記憶體當中的網路流量而以。如果在「」同台 ESXi 那麼網路流量當然就要流出,也就是經過實體的 Layer2 網路進行交換。

其實 NSX Logical Switching (就是把 vDS 調整一下稱之),並且它可以虛擬化 Logical Switch(L2) 以及 Logical Routing(L3) 的網路。所以即使 VM 虛擬主機在不同台 ESXi 主機,流量也不同於以往的路線 (較短傳送路徑!!)。




NSX 及 NSX Manager 簡介

NSX 跟 VSAN 一樣的設計理念,對於 NSX 的管理操作只要透過 vSphere Web Client 畫面即可進行設定,將 NSX Virtual Appliance (NSX Manager) 進行部署後就會多出設定項目,NSX Manager 是用 Debian Linux 客製化後的 VM 虛擬主機,必須要 DNS 環境 (針對 ESXi 進行解析)。相關的通訊 Port 號跟原有的一樣,只是多了 Port 22 要連到 NSX Manager 進行除錯。

簡單來說,NSX Manager 它是 OVA 所以部署流程不變,安裝 NSX Manager 的流程為「下載 OVA > 部署 OVA (網路初始設定) > 登入 NSX Manager (Management UI)> 與 vCenter Server 介接 > 備份 NSX Manager 資料」。

部署完成後,便可以登入 NSX Manager 管理介面,點選 Manage Appliance Settings 項目,進行初始化設定。

NSX Manager 初始化設定

  • General: 設定 NTP, Syslog, Locale
  • Network: Hostname, IP, Netmask, Gateway, DNS


完成初始化設定後,選擇 NDX Management Service 項目與 vCenter Server 進行介接的動作。需要注意的部份是,NSX Manager 與 vCenter Server 是「1 對 1 的配對關係」。

NSX 可整合至企業級網路環境,也可以處理「多租戶」網路環境。當然,在多租戶環境下,要進行擴充也沒問題,若超過 1,000 台 ESXi Hosts (10,000 VMs) 就再建立另一組環境 (vCenter, NSX Manager...等) 即可。

大架構環境下相關技術的使用限制,例如,vMotion 只能在「同一台 vDS」才能作用,但 Logical Network 在「同一台 vCenter」都可以作用。

NSX 網路虛擬化架構中,含有各種功能不同的元件,且分別運作在不同「平面 (Plane)」。簡單來說就是不同層級,有 NSX 運作架構中一共有 Consumption、Management、Control、Data 等四大 Plane



Data Plane

負責處理終端之間的資料流。其中 NSX Virtual Switch 的功能,包含 vDS + VXLAN, Logical Router, Logical Firewall (這三項都內含在 Hypervisor Kernel Modules 當中)。

  • NSX 以 vDS 來處理 Layer2 的網路流量及管理功能。
  • NSX 將會為 ESXi 主機安裝三個 VIB(vSphere Installation Bundles),使其具備 Layer3 的能力,安裝前該 ESXi 中必須沒有任何 VM,日後若想要將 VIB 移除則 ESXi 必須要重新啟動。
  • VXLAN (L2)
  • Distributed Router (L3)
  • Distributed Firewall (L3)


NSX Edge Gateway

座落於 Control Plane 與 Data Plane 之間,也就是擔任「溝通橋樑」的角色,負責傳送「控制流量」即先前提到 North-South Connection,也就是「跨不同層級」的溝通部份。


Control Plane

NSX Logical Router Control VM (由上層中的 NSX Manager 所部署出來的 VM),它將負責「控制、管理」下層 Distributed Logical Router 的行為,而真正的網路流量即是 Data Plane 中的 Distributed Logical Router 負責。

NSX Controller (由上層的 NSX Manager 所部署出來的 VM),處理 MAC(Media Access Control), ARP(Address Resolution Protocol), VTEP(Virtual Tunnel End Point)的部份。VMware建議至少要部署三台 NSX Controller(內含於 NSX Manager OVA 當中),以達成工作負載平衡及高可用性。

User World Agent (UWA),對應到每台 ESXi 主機上的二個服務 ntcpad, vsfwd,它負責與 NSX Manager 與 NSX Controller 及 ESXi 進行通訊的部份。如果此層級的元件損壞,對於 VM 虛擬主機來說,原有運作沒問題,但無法產生「新的傳送路徑」且現有路徑也將為 TTL Expire。


Management Plane

在 NSX 運作架構中最先部署的 NSX Manager 並與 vCenter Server 介接,剛才提到的 NSX Controller VM,其實就是透過 vCenter Server 去 NSX Manager 中挖 OVA 所部署出來的。最後,Message Bus Agent 則進行相關的溝通作業如 API。

NSX Manager 的功能性說明,以及建立需求及部署流程:
  • Management UI 及 NSX API,並負責所有的「管理」任務。
  • 安裝 UWA、VXLAN、Logical Routing/Firewall 至 ESXi Hypervisor 當中 (Kernel Module)。
  • 內含的 OVA 可部署 NSX Edge Gateway 及 NSX Controller。
  • 每個元件之間的溝通都是透過 SSL(Self-Signed) 憑證去處理。




NSX Controller

NSX Controller 功能說明,在實務環境的佈建上通常為 vCenter *1、NSX Manager *1 (與 vCenter 為 1:1)、NSX Controller *3 (官方建議值),形成 Cluster 環境的運作情況,並且包含相關機制,例如,VLAN Directory Service...etc。NSX Controller 至少需要 3 台的設計考量,其主因是「分散工作負載及保持高可用性」。

在 VXLAN 網路環境中可以有效抑制 ARP Broadcast 流量。主要是因為 Hypervisor 管理 Logical Switch/Routing,也因此掌管(知道)所有 VM 虛擬主機的網路資訊,例如,IP、MAC…等,所以並不需要依靠傳統的 ARP Broadcast 行為來得知目的地 VM 虛擬主機資訊,只要透過 NSX Controller 內的 ARP Table 就可以直接回覆了 (Guest OS 正常運作),簡單來說 ARP Broadcast 網路流量不會流出到實體 L2 層

NSX Controller 儲存 ARP、MAC、VTEP 、Routing 等四種 Table,以便快速回應 VM 請求。而 ESXi Host 當中的 NSX Virtual Switch,負責處理 VM Broadcast、Unicast、Multicast網路流量,以及 Ethernet Requests 網路流量。

當 NSX Manager 部署完畢後與 vCenter 配對後,就會自已生出 NSX Controller VM 出來(自動部署),原則上每台都硬體資源都是 4vCPU/4GB RAM。部署「第一台」NSX Controller 之後,會自動把密碼帶給其它台。NSX Controller 透過 UWA 與 ESXi Host 的 Management Address 進行溝通。

NSX Manager 運作概念說明,再次強調與所有運作元件的溝通都是透過 SSL 加密 處理,同時也會把相關設定都儲存在 NSX Manager Database 當中。

UWA(User World Agent) 座落位置,在先前提到的 Kernel Module(VXLAN,LR) 之上,透過 ESXi 主機內的二個 Service Daemon(netcpa, vsfwd),與 NSX Controller 及 NSX Manager 進行溝通作業。


NSX Controller 的高可用性機制,由三台 NSX Controller 組成的 Cluster 會自動選舉一台 Master 角色出來(最佳實務是 3 台分別放在不同台 ESXi Host),採用 Paxos-Based 演算法 能夠保證其正確性(但是不保證收斂)。

當 NSX Controller Master 掛點時,會自動選舉出新的 Master 出來,非 Master 掛點則不影響運作。但是,即使 NSX Controller 全掛點(座落在 Control Plane),也不會影響 Data Plane 層級網路流量的傳送 (只會喪失「管理」功能)。例如,剛才前面提到 VM 虛擬主機發出 ARP 請求,因為 NSX Controller 已經全部掛點,此時便不會回應 ARP Request,而是讓 ARP 流程在 Layer2 中直接執行(與舊有流程相同)。

NSX Controller 設計多台的原因,就是要達成動態負載平衡所有的工作負載,讓每台 NSX Controller 都收到近乎相等的工作量。也就是先把工作負載進行「切片 (Slices)」,然後盡量平均分配給每台 NSX Controller 處理。

當然有 NSX Controller 掛點時,會把原有的工作量分給其它存活主機,例如,最右邊的 NSX Controller 掛點之後,原有的工作量會自動分配給另外二台。


最後,當我們了解 NSX 相關元件的功能特性之後,再來看看要部署 NSX 網路虛擬化運作環境的初始化流程,以及組態設定說明。




VMware NSX 攻略 - 系列文章

文章標籤: ,