網管人雜誌
本文刊載於 網管人雜誌第 154 期 - 2018 年 11 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。文章目錄
前言vSAN 與 Storage Appliance 的差別
vSAN 6.7 Update 1 新增特色功能
簡化 vSAN 部署流程
透過 Update Manager 更新驅動程式及韌體
增強儲存空間使用率報表
正式支援 TRIM/UNMAP
支援混合型 Jumbo Frame 網路環境
增強健康狀態檢查機制
實戰 vSAN Cluster 6.7 叢集架構
2 Node 的 vSAN 運作架構
建立資料中心及叢集
建立 vDS 分散式交換器
叢集啟用 vSAN 軟體定義儲存機制
啟用重複資料刪除及壓縮機制
高可用性測試
結語
前言
在 VMware 所擘劃的 SDDC 軟體定義資料中心願景中,負責 SDS 軟體定義儲存解決方案的角色便是VMware vSAN(Virtual SAN)。新一代的 vSAN 軟體定義儲存解決方案,在 2018 年 4 月時正式發佈 VMware vSAN 6.7,並在 2018 年 8 月 VMworld 2018 舉辦時推出 VMware vSAN 6.7 Update 1 增強版本,同時也發佈新的 vSAN Private Beta 計畫,這個計畫將讓 vSAN 更專注於資料保護、檔案服務及雲原生儲存資源等層面。那麼 VMware vSAN 軟體定義儲存運作架構,對於企業及組織來說有什麼幫助? 簡單來說,在過去傳統運作架構中「運算及儲存」資源是互相分離的,負責運算資源的通常是 x86 硬體伺服器,而負責儲存資源的則是硬體式專用儲存設備,並且在 x86 硬體伺服器及儲存設備之間還必須採用 SAN 儲存網路以確保高效率運作。
現在,企業及組織只要透過 VMware vSAN 軟體定義儲存技術,便可以將多台安裝 ESXi 虛擬化平台 x86 硬體伺服器中,所有「本機硬碟」(LocalHardDisk)儲存空間匯整(例如,NVMe 快閃儲存、SSD 固態硬碟、HDD 機械式硬碟……等),建構出高可用性高效能的共享儲存資源集區(如圖 1 所示)。因此,企業及組織在建構 VMware vSAN 軟體定義儲存環境後,便能同時解決建置「運算和儲存」2大資源的難題,這也是目前非常熱門的「超融合式架構」(Hyper-Converged Infrastructure,HCI)應用情境。
在每台擔任 vSAN 角色的 x86 硬體伺服器中,可以配置「1 ~ 5 個」快取儲存裝置(例如,NVMe 快閃儲存或 SSD 固態硬碟),以及「1 ~ 7 個」容量儲存裝置(例如,HDD 機械式硬碟)。
圖 1、VMware vSAN Disk Group 運作示意圖
當企業及組織需要得到最大化儲存效能時,可以採用「All Flash」的 vSAN 運作架構(如圖所示),例如,NVMe 快閃儲存搭配 SSD 固態硬碟,在 All Flash 的運作架構中「快取層級」(Cache Tier)只會負責資料「寫入」的部份。
倘若,企業及組織需要得到的是兼顧儲存效能及空間時,則可以採用「Hybrid」的 vSAN 運作架構,例如,SSD 固態硬碟搭配 HDD 機械式硬碟,在 Hybrid 的運作架構中「快取層級」(Cache Tier)則會同時負責資料「寫入及讀取」的部份(如圖 2 所示),並且在預設情況下將會以快取層級的儲存裝置中,以「70 %」的快取空間存放資料「讀取」的部分,而「30 %」的快取空間則存放資料「寫入」的部分。
圖 2、VMware vSAN 快取層級及容量層級運作示意圖
vSAN 與 Storage Appliance 的差別
那麼 VMware vSAN 與其它 Storage Appliance 解決方案的差別為何? 一般來說,在 Storage Appliance 的運作架構中,必須在「每台」ESXi 虛擬化平台中採用「專用」的 CPU 和記憶體等運算資源,以避免虛擬化平台工作負載繁忙時發生資源爭奪的情況,導致提供的儲存資源效能不佳。同時,Storage Appliance 在整個儲存堆疊架構中,將會有額外的存取動作導致延遲時間拉長進而影響到運作效能。舉例來說,在 Storage Appliance 儲存堆疊架構中,當 VM 虛擬主機需要使用儲存資源時,整個 Storage Appliance 儲存堆疊架構的操作步驟便需要六個動作才能完成(如圖 3 所示)。
圖 3、Storage Appliance 儲存堆疊架構路徑存取運作示意圖
VMware vSAN 則是原生內建在 vSphere Hypervisor 層級中,所以無須在每台 ESXi 虛擬化平台中安裝或部署 Appliance,並且 vSAN 使用的運算資源通常在每台 ESXi 虛擬化平台中佔用不到「10 %」,最後當 VM 虛擬主機需要使用 vSAN 儲存資源時,在 vSAN 儲存堆疊架構中只需要三個動作的操作步驟即可完成,提供最短存取路徑及延遲時間進而提升整體儲存效能表現(如圖 4 所示)。
圖 4、VMware vSAN 儲存堆疊架構路徑存取運作示意圖
vSAN 6.7 Update 1 新增特色功能
了解 VMware vSAN 基礎和傳統 Storage Appliance 的差異後,我們來看看在 VMworld 2018 大會中,最新發佈的第 7 代 VMware vSAN 6.7 Update 1 增強版本有哪些亮眼特色功能。簡化 vSAN 部署流程
在過去 vSAN 版本中,當企業及組織的 IT 管理人員在進行 vSAN 部署和叢集建立時,倘若對於 vSphere 虛擬化架構及 vSAN 部署流程沒有一定熟悉程度的話,那麼可能無法輕鬆部署或擴充 vSAN 軟體定義儲存運作架構。舉例來說,下列項目便是建構 vSAN Cluster 所需的部署項目及配置:- 建立 vSphere Cluster 並組態設定 vSphere HA、vSphere DRS、vSAN。
- 組態設定 vSAN 部署類型,例如,All Flash 或 Hybrid。
- 組態設定每台 vSAN 節點主機網路環境,例如,vDS 分散式虛擬交換機。
- 組態設定 vSAN 磁碟群組,例如,每台 vSAN 節點主機採用多少顆快取裝置及儲存容量裝置。
- 組態設定 vSAN 資料服務,例如,資料重複刪除和壓縮及加密等機制。
現在,IT 管理人員可以透過最新提供「叢集快速入門」(Cluster Quickstart)的 Step-by-Step 流程(如圖 5 所示),即可讓建立 vSAN 軟體定義儲存架構的繁雜流程進行簡化,幫助 IT 管理人員輕鬆建立及配置符合正式營運環境的 vSAN Cluster。
圖 5、vSAN Cluster Quickstart 操作流程示意圖
透過 Update Manager 更新驅動程式及韌體
在過去的 vSAN 版本中,處理 ESXi 虛擬化平台「驅動程式」(Driver)及「韌體」(Firmware)更新的工作任務,一直是由「Configuration Assist」機制進行處理。現在,最新的 vSAN 6.7 Update 1 版本中,已經將驅動程式及韌體更新作業程式整合至 vUM(vSphere Update Manager)當中(如圖 6 所示)。此外,透過 vUM 更新機制還能整合 OEM 供應商的 ISO 映像檔,以便幫 ESXi 虛擬化平台進行驅動程式及韌體更新作業。因此,即便在無法連接至網際網路的 vSAN 運作環境中,仍能輕鬆透過 vUM 更新機制,幫 vSAN 節點主機進行驅動程式及韌體更新作業。
圖 6、vSphere Update Manager 整合驅動程式及韌體更新機制運作架構示意圖
增強儲存空間使用率報表
相信 IT 管理人員對於 vSAN 提供的高可用性及高儲存效能感到滿意,但是要如何對 vSAN 提供的儲存空間以及使用情況進行預估,以便因應未來適時提出增加 vSAN 節點主機的需求。現在,除了可以在 HTML 5 管理介面中,直接看到 vSAN 儲存容量資訊及儲存原則的套用情形之外,還可以透過增強儲存空間使用率報表機制,來查看 vSAN 儲存空間使用情況的歷史資訊,包含,資料重複刪除以及隨著時間及使用空間不斷變化的資料壓縮率(如圖 7 所示)。
圖 7、透過 HTML 5 管理介面查看 vSAN 儲存空間使用情況的歷史資訊
正式支援 TRIM/UNMAP
在過去的 vSAN 版本中,雖然也可以達到「TRIM/UNMAP」的目的,也就是當 Guest OS 釋放出儲存空間時,能夠透過 TRIM/UNMAP 空間回收機制將 Guest OS 釋放的儲存空間,能夠回歸到 vSAN Datastore 儲存資源中,但有些部分必須要 IT 管理人員介入處理才行。現在,最新 vSAN 6.7 Update 1 當中 TRIM/UNMAP 儲存空間回收機制,已經能夠「自動化」運作 IT 管理人員無須再人為介入處理即可回收儲存空間,並且能夠支援各種 Guest OS 客體作業系統及虛擬硬體類型(如圖 8 所示)。
圖 8、TRIM/UNMAP 儲存空間回收自動化機制運作示意圖
支援混合型 Jumbo Frame 網路環境
在 vSAN Cluster 運作架構中,我們已經知道為 vSAN 網路環境開啟 Jumbo Frame 提升傳輸封包大小,將有助於提升 vSAN Cluster 的儲存效能表現。但是,在過去的 vSAN 版本中當採用 vSAN Stretched Clusters 運作架構時,因為 vSAN Cluster 與 vSAN Witness 之間溝通的網路流量並不適合開啟 Jumbo Frame,因為一旦開啟 Jumbo Frame 雖然可以獲得儲存效能提升,但有可能會遭遇到潛在的網路問題。
現在,最新的發佈的 vSAN 6.7 Update 1 支援採用不同 MTU Size 的運作環境,所以在 vSAN Stretched Clusters 之間可以開啟 Jumbo Frame(MTU = 9,000),以便提升 vSAN Cluster 的儲存效能表現(如圖 9 所示),而 vSAN Cluster 與 vSAN Witness 之間溝通的網路流量,則採用標準的 MTU = 1,500 的封包大小避免遭遇到潛在的網路問題,有效在提升效能與運作穩定性方面得到良好的平衡。
圖 9、vSAN Stretched Clusters 支援不同 MTU Size 運作架構示意圖
增強健康狀態檢查機制
建構 vSAN 軟體定義儲存運作架構,除了必須確認 vSAN 節點主機硬體配件及軟體組態設定正確之外,IT 管理人員也必須時刻關心 vSAN Cluster 的健康情況,以確保 vSAN Cluster 擁有最佳運作效能及最高可用率,然而該如何檢查 vSAN Cluster 的健康情況則視 IT 管理人員的熟悉度而定。現在,透過新版 vSAN 的增強健康狀態檢查機制,便可以自動依照 vSAN 最佳建議作業進行 vSAN Cluster 運作環境的檢測,同時給予健康狀態檢查的最終結果讓 IT 管理人員知道應該如何進行改善作業(如圖 10 所示)。
圖 10、vSAN 增強健康狀態檢查機制運作示意圖
實戰 vSAN Cluster 6.7 叢集架構
由於本文實作撰寫時,VMware 官方網站下載中心內仍未釋出最新 vSAN 6.7 Update 1 映像檔,所以本文實作將採用 vSAN 6.7 版本進行實作。在建構 vSAN 軟體定義儲存叢集架構時,最值得注意的部分便是在於 vSAN 節點主機的硬體組態配置,舉例來說,倘若管理人員希望在測試環境嘗試建構 vSAN 叢集架構時,那麼 ESXi 主機的記憶體資源至少需要「8 GB」才行。實務上,企業及組織在建構正式營運環境 vSAN 叢集架構時,倘若採用「vSAN Ready Node」的話則無須擔心硬體組態配置,若是自行配置時則必須要注意由 vSAN 軟體定義儲存所管理的儲存裝置,必須要採用「HBA 控制器(Passthrough 或 RAID 0 Mode)」才行(如圖 11 所示),這個部分是初次建置 vSAN 叢集架構時,IT 管理人員最容易忽略的部分。
圖 11、自行配置 vSAN 節點主機硬體組態參考架構
2 Node 的 vSAN 運作架構
對於中小型規模的企業及組織來說,可能一開始的 vSAN Cluster 運作規模無須太大。因此,VMware 官方從第 5 代 vSAN 6.5 版本開始,便正式支援在 vSAN 叢集運作架構中最小運作「2 台」vSAN 節點主機即可,並且這 2 台 vSAN 節點主機可直接透過「交叉式纜線」(Crossover Cables)的方式進行連接(如圖 12 所示),無須透過 10 Gbps 網路交換器即可進行 vSAN 節點主機的資料交換作業,有效降中小型規模的企業及組織 vSAN 運作規模的整體 IT 預算。根據 VMware 官方的分析調查結果顯示,透過交叉式纜線的方式可以有效降低約 20 % 的投資成本。在組態設定部分,根據 VMware 官方最佳作法除了將儲存及遷移流量分開,也就是應該要將「vSAN 儲存流量」及「vMotion 遷移流量」分開在不同的 10 Gbps 纜線進行傳輸,以避免儲存或遷移流量互相干擾的情況發生。此外,也應該要組態設定為互相備援機制以便故障情況發生時,能夠有另 1 個 10 Gbps 纜線進行網路流量的容錯移轉。
VMware 官方建議,當 vSAN 運作架構採用「Hybrid」儲存組態時,在儲存網路流量的部分應規劃 10 Gbps 網路頻寬,當 vSAN 運作架構採用「All-Flash」儲存組態時,在儲存網路流量的部分應規劃 25 Gbps 或 40 Gbps 網路頻寬。
圖 12、2 台 vSAN 節點主機透過交叉式纜線連接網路流量規劃組態配置示意圖
值得注意的是,當企業及組織採用 2 台 vSAN 節點主機的叢集架構時,則必須要有「vSAN Witness」的仲裁機制才行,並且負責 vSAN 叢集運作架構的見證虛擬設備(vSAN Witness Appliance),「不」可運作在 2 台 vSAN 節點主機之上以避免誤判的情況發生,並且在 VMware 的最佳建議作法當中,建議 vSAN Witness 的網路流量也應該規劃獨立網路環境以避免互相干擾的情況發生(如圖 13 所示)。
圖 13、2 台 vSAN 節點主機叢集架構 vSAN Witness 網路流量規劃運作架構示意圖
建立資料中心及叢集
事實上,從 vSphere 6.7 版本開始針對管理工具的部分,已經全面改為採用 HTML 5 技術的 vSphere HTML Client(HTML5-Based),過去的 vSphere Web Client(Flash-Based)管理工具將全面棄用,本文實作環境也將全部以 HTML 5 管理介面進行說明及實作。在 2017 年 8 月時,VMware 便在官方部落格中正式宣佈下一版 vSphere 6.7 當中,便會以 vSphere HTML Client 為主要管理工具,並且不再有舊式的 vSphere Web Client 管理工具,詳細資訊請參考 VMware vSphere Blog - Goodbye,vSphere Web Client!。在本文實作環境中共有「3 台」vSAN 節點主機,當管理人員安裝好 vCSA 6.7 及 vSAN 節點主機後,請建立「資料中心」(Datacenter)及「叢集」(Cluster),然後將 3 台 vSAN 節點主機加入至 vSAN 叢集中。
順利將 3 台 vSAN 節點主機加入叢集後,在本文實作環境中每台 vSAN 節點主機,除了安裝 ESXi Hypervisor 的儲存裝置之外,還額外配置「200 GB *2」的 SSD 固態硬碟(如圖 14 所示)。
圖 14、每台 vSAN 節點主機皆額外配置 2 個 200 GB 容量的 SSD 固態硬碟
建立 vDS 分散式交換器
在 VMware 官方的 vSAN 網路環境建議作法中,針對 vSAN 網路環境建議採用「vDS 分散式網路交換器」(vNetwork Distributed Switch)為佳。現在,請為 vSAN 節點主機組態設定 vDS 分散式網路交換器,請在 vSphere HTML Client 管理介面中,依序點選【Menu > Networking > Datacenter > Actions > Distributed Switch > New Distributed Switch】。
在彈出的 New Distributed Switch 精靈視窗中,請指定建立的 vDS 分散式網路交換器名稱及位置,在本文實作環境中 vDS 分散式網路交換器命名為「vSAN-DSwitch」,接著選擇 vDS 分散式網路交換器版本,因為本文實作環境中並沒有新舊版本混合的 vSAN 節點主機所以採用最新「6.6.0」版本,最後在設定組態頁面中,除了連接埠群組名稱改為「vSAN-DPortGroup」之外其餘採用系統預設值即可(如圖 15 所示)。
圖 15、建立 vDS 分散式網路交換器及連接埠群組
順利新增 vDS 分散式網路交換器及連接埠群組之後,請將 vSAN 節點主機中用於 vSAN 儲存流量的網路卡,加入至剛才所建立的 vDS 分散式網路交換器及連接埠群組當中。請在 vSphere HTML Client 管理介面中,依序點選【Menu > Networking > Datacenter > vSAN-DSwitch > Actions > Add and Manage Hosts】。
在彈出的 Add and Manage Hosts 精靈視窗中,於步驟 1 選取工作頁面中請選擇「Add hosts」項目,在步驟 2 選取主機頁面中按下「New hosts」鈕後將 3 台 vSAN 節點主機全數加入,在步驟 3 管理實體介面卡頁面中請將 vSAN 節點主機中,配置用於 vSAN 儲存流量傳輸用途的網路卡加入,請點選「vmnic1」網路卡後點選「Assign uplink」鈕,將選定為 vSAN 儲存流量傳輸用途網路卡,指派為 vSAN-DSwitch 的 Uplink(如圖 16 所示)。
圖 16、將選定為 vSAN 儲存流量傳輸用途網路卡指派為 vSAN-DSwitch 的 Uplink
在步驟 4 管理 VMkernel 網路介面卡頁面中,請先點選「vmk1」然後按下「Assign port group」鈕,選擇採用「vSAN-DPortGroup」連接埠群組,並且勾選「Apply this port group assignment to all other hosts」項目,以便一次組態設定好 3 台 vSAN 節點主機(如圖 17 所示)。
圖 17、指派 vSAN 儲存流量用途網路卡採用 vSAN-DPortGroup 連接埠群組
完成指派 vSAN 儲存流量的工作任務後,再次確認 vSAN-DSwitch 及 vSAN-DPortGroup 是否指派完成且正確無誤(如圖 18 所示),以避免稍後為啟用 vSAN 特色功能時發生不可預期的錯誤。
圖 18、再次確認 vSAN-DSwitch 及 vSAN-DPortGroup 是否指派完成且正確無誤
叢集啟用 vSAN 軟體定義儲存機制
現在,請透過 vSphere HTML Client 管理工具,為 vSphere 叢集啟用 vSAN 軟體定義儲存機制,請依序點選【Menu > Hosts and Clusters > vSAN-Cluster > Configure > vSAN > Services > Configure】,在彈出的組態設定 vSAN 精靈視窗中,由於我們是「第一個」vSAN 叢集站台,所以請點選「Single site cluster」項目。在步驟 2 服務頁面中,將詢問是否啟用「重複資料刪除及壓縮」及「加密」功能,在步驟 3 宣告儲存裝置頁面中(如圖 19 所示),請為每台 vSAN 節點主機,指派 1 顆 SSD 固態硬碟為「快取層」(Cache Tier),另 1 顆 SSD 固態硬碟則指派為「容量層」(Capacity Tier),步驟 4 則是容錯網域的組態設定。
有關 Hybrid 及 All Flash 的 vSAN 磁碟群組的組態設定詳細資訊,請參考 VMware Docs – Claim Storage Devices for a vSAN Cluster 文件內容。
圖 19、vSAN 叢集 All Flash 磁碟群組宣告指派快取層和容量層
順利為 vSphere 叢集啟用 vSAN 軟體定義儲存機制後,請在管理介面中依序點選【vSAN-Cluster > Monitor > vSAN > Health】,查看目前 vSAN Cluster 的各項健康狀態及效能狀態等資訊(如圖 20 所示)。
圖 20、查看目前 vSAN Cluster 的各項健康狀態及效能狀態等資訊
啟用重複資料刪除及壓縮機制
在 vSAN 叢集運作架構中採用 All Flash 類型時,便能啟用「重複資料刪除及壓縮」機制,一旦啟用後 vSAN 叢集中的壓縮演算法,將會把資料區塊壓縮到 2 KB 甚至更少後才寫入至容量層,倘若某些類型的資料區塊無法壓縮時,則會以完整 4 KB 的資料區塊寫入至容量層。請在 HTML 5 管理介面中,依序點選【vSAN-Cluster > Configure > vSAN > Services > Deduplication and compression > Edit】項目,然後啟用「Deduplication and Compression Services」項目後按下「Apply」鈕即可套用生效。
完成組態設定後,請依序點選【vSAN-Cluster > Monitor > vSAN > Capacity】項目,即可看到啟用重複資料刪除及壓縮機制的相關資訊,例如,儲存空間節省多少和儲存空間節省比例等資訊(如圖 21 所示)。
圖 21、查看重複資料刪除及壓縮機制相關資訊
高可用性測試
預設情況下,當 vSAN 叢集具備至少「3 台」vSAN 節點主機時,那麼即便沒有佈署 vSAN Witness 仲裁機制,也能容許「1 台」vSAN 節點主機發生故障損壞時仍能正常運作,簡單來說這樣的運作架構已經具備高可用性。倘若,在 vSAN 叢集架構中只有「2 台」vSAN 節點主機時,那麼「必須」要佈署 vSAN Witness 仲裁機制才能確保高可用性。值得注意的是,運作 vSAN Witness 的 ESXi 主機「不能」加入至 vSAN 叢集中,並且該台 ESXi 主機「必須」要能接觸到 vSAN 儲存網路才行。
IT 管理人員可以在 vSphere HTML Client 管理工具中,依序點選【vSAN-Cluster > Configure > vSAN > Fault Domains】選項,可以看到目前 vSAN 叢集容許「1 台」vSAN 節點主機故障(如圖 22 所示),表示 vSAN 叢集已經具備高可用性。
圖 22、目前 vSAN 叢集可容許 1 台 vSAN 節點主機故障
同時,請為 vSAN 叢集「啟用 vSphere HA」高可用性機制,以便某 1 台 vSAN 節點主機發生故障損壞事件時,其上運作的 VM 虛擬主機能夠自動在其它存活的 vSAN 節點主機上重新啟動。現在,運作在 vSAN 叢集當中的 VM 虛擬主機,預設情況下儲存物件和元件將會分別存放在不同台 vSAN 節點主機中(如圖 23 所示)。
圖 23、VM 虛擬主機儲存物件將會分別存放在不同台 vSAN 節點主機中
即便某 1 台 vSAN 節點主機,因為安全性更新需要重新啟動或發生故障損壞事件(如圖 24 所示),在 vSAN 叢集當中的 VM 虛擬主機仍然能夠正常運作提供服務達到高可用性的目的。
圖 24、某 1 台 vSAN 節點主機重新啟動或故障損壞時 VM 虛擬主機仍能正常運作