︿
Top

網管人雜誌

本文刊載於 網管人雜誌第 110 期 - 2015 年 3 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。





文章目錄

1、前言
2、實作環境
3、VMware Virtual SAN 實戰演練
          步驟 1、準備 VSAN 運作環境
          步驟 2、建立 VSAN 專用網路
          步驟 3、建立叢集並啟用 Virtual SAN 功能
          步驟 4、宣告用於 VSAN Datastore 的硬碟
          步驟 5、建立 VSAN 儲存原則
          步驟 6、佈建 VM 虛擬主機
          步驟 7、線上調整 VSAN 儲存原則
4、結語





1、前言

在前期的文章中,我們已經討論 VMware VSAN(Virtual SAN)的運作架構,以及在規劃建置初期中有哪些事項必須特別注意。本文,將帶領讀者一步一步輕鬆建立 VSAN 運作環境,並且在實戰演練過程中,也會適時提醒需要特別注意的部份。

圖 1、VSAN 運作架構示意圖

那麼,在 VSAN 運作環境中有哪些需要注意的地方呢? 舉例來說,在以往的 VMware 運作架構中 VM 虛擬主機是由一堆「檔案(Files)」所組成,並且運作在 VMware 檔案系統「VMFS(Virtual Machine File System)」當中(目前最新版本為 VMFS 5)。而現在的 VMware VSAN 1.0 版本中,VM虛擬主機則是由眾多的「物件(Object)、元件(Component)」所組成,並且透過「SPBM(Storage Policy Based Management)」運作機制,控制 VM 虛擬主機當中的物件及元件,以達成資料 I/O 存取的高可用性及效能,同時運作在 VMFS-L 檔案系統上。

圖 2、VSAN 架構物件及元件運作示意圖





2、實作環境






3、VMware Virtual SAN 實戰演練

步驟 1、準備 VSAN 運作環境

本次實作環境中,一共準備了 3 台主機(VSAN運作環境最低需求),每台主機配置了 4GB 的 SD Card,以及  1 顆 200GB SSD 固態硬碟及 5 顆 300GB SAS 硬碟,並且安裝最新版本 vSphere ESXi 5.5 update2(從 ESXi 5.5 update1 版本開始支援 VSAN)。

此外,雖然安裝 ESXi 5.5 update2 的主機,只要具備 4GB 的記憶體空間即可安裝並運作,但事實上你將會發現屆時無法建立 VSAN Disk Group。所以,讀者若希望在資料中心內測試機中,建置 VSAN 運作環境時,必須特別注意 ESXi 主機的實體記憶體空間。舉例來說,當 ESXi 主機的記憶體空間只有 6GB 時,你將會發現屆時所建立的 VSAN Disk Group,只能由 1 顆 SSD 固態硬碟及 1 顆機械式硬碟組成,當你嘗試再同一組 Disk Group 中加入其它顆機械式硬碟時,便會發生系統錯誤的情況。

下列表格為 ESXi 主機具備多少記憶體空間時,所能夠支援的 VSAN Disk Group 數量,以及 Disk Group 當中成員硬碟的數量。原則上,只要 ESXi 主機具備 32GB 的記憶體空間或更大時,便可以支援最多 5 組 Disk Group 以及 5 顆固態硬碟及 35 顆機械式硬碟。




步驟 2、建立 VSAN 專用網路

雖然,VSAN 運作架構支援 1Gbps 及 10Gbps 網路環境,而此次實作的網路環境也採用 1Gbps。但是強烈建議讀者,若要將 VSAN 用於正式營運環境時,請務必採用 10Gbps 網路環境,以免屆時因為網路環境滿載造成 VSAN 運作效能低落。

此次實作環境中每台 ESXi 主機,都配置了二片 1Gbps 的網路卡,一片負責管理(Management Network)、遷移(vMotion Network)、VM(Virtual Machine Network)等網路流量,而另外一片則專責於 VSAN 傳輸流量。

在虛擬交換器的部份,VSAN 運作架構支援標準式交換器 vSS(vNetwork Standard Switch),以及分散式交換器 vDS(vNetwork Distributed Switch)。所以,如果你的 VSAN 運作架構較小,使用 vSS 虛擬交換器即可,若是 VSAN 運作架構較大並採用 10Gbps 網路環境,那麼建議採用 vDS 虛擬交換器,除了便於管理之外,還可以整合只有 vDS 才支援的網路流量控制 NIOC(Network I/O Control)功能。請注意 !! 目前的 VSAN 1.0 架構中,不支援 3-Party 虛擬交換器如 Cisco Nexus 1000V、IBM 5000V...等。

圖 3、VSAN 運作架構示意圖

因為 VSAN 運作架構具備 Scale-Out 水平擴充的特色,最多可支援至 32 台 ESXi 主機,為了日後的管理便利性考量,實作環境便採用 vDS 分散式交換器網路基礎架構。首先,請建立 2 台 vDS 分散式交換器,分別命名為 dvSwitch-VSAN 及 dvSwitch-MGMT,並且在建立 dvSwitch-VSAN 虛擬交換器的過程中,將專用於 VSAN 網路的實體網路卡 vmnic1 加入其中。

圖 4、dvSwitch-VSAN 分散式交換器,以及所屬的實體網路卡

因為此實作環境中,ESXi 主機僅有二片網路卡,安裝過程中便會自動建立 vSS 並新增 VM Network 及 Management。因此,建立第 2 台 vDS 虛擬交換器 dvSwitch-MGMT 時,先不把任何實體網路卡加入,待建立完成後再以遷移的方式,將原本的管理網路網卡 vmnic0,由原本的 vSS 遷移至 vDS 虛擬交換器 dvSwitch-MGMT,完成遷移動作後便可以將原有的 vSS 刪除。

圖 5、dvSwitch-MGMT 分散式交換器,以及所屬的實體網路卡

接著,再為 dvSwitch-VSAN 虛擬交換器「啟用」VSAN 網路流量。請登入 vSphere Web Client 管理介面後,依序點選「首頁 > 主機和叢集 > ESXi 主機 > 管理 > 網路功能 > VMkernel 介面卡」項目,點選「 新增主機網路」圖示後,在彈出的視窗中,於選取連線類型頁面內點選「VMkernel 網路介面卡」項目,準備新增 VSAN 網路的 VMkernel Port(請注意 !! 建立及啟用虛擬交換器 VSAN 網路流量的動作,目前僅支援在 vSphere Web Client 管理介面操作,不支援傳統的 vSphere C# Client)。

圖 6、準備新增 VSAN 網路的 VMkernel Port

在選取目標裝置頁面中,請點選「選取現有的分散式連接埠群組」項目後,按下瀏覽鈕選擇剛才建立的「dvSwitch-VSAN」虛擬交換器,以及「dvPortGroup-VSAN」連接埠群組,也就是要將 VSAN VMkernel Port 連接至此 Port Group。

圖 7、選擇 VSAN VMkernel Port 連接至哪個 Port Group

在連接埠內容頁面中,請勾選「虛擬 SAN 流量」項目,表示此 VMkernel Port 專用於 VSAN 傳輸流量(此項目在傳統 vSphere C# Client 中看不到 !!)。

圖 8、勾選虛擬 SAN 流量項目

最後,設定此 VMkernel Port 的固定 IP 位址即可。此實作環境中 ESXi 主機共有 3 台(vsan-node 1 ~ 3),而 IP 位址為 172.20.75.31 ~ 33。

圖 9、設定 VMkernel Port 的固定 IP 位址

請以上述同樣的設定方式,為另外 2 台 ESXi 主機建立專用於 VSAN 流量的 VMkernel Port。目前,3 台 ESXi 主機已經都建立好 VSAN 專用的傳輸網路了。

圖 10、3 台 ESXi 主機完成 VSAN 專用傳輸網路



步驟 3、建立叢集並啟用 Virtual SAN 功能

完成 ESXi 主機的 VSAN 專用網路設定後,便可以建立叢集並啟用 Virtual SAN 功能。原則上,在叢集中啟用 Virtual SAN 功能,跟以往在叢集中啟用 vSphere HA 及 DRS 的操作體驗相同,只要在新增叢集過程中勾選「虛擬 SAN」項目的開啟選項,並決定採用「自動或手動」的方式,來新增加入 VSAN 的硬碟即可。此實作上,我們採用「手動」新增的方式,以協助讀者了解新增 VSAN 儲存資源的操作步驟。

圖 11、新增叢集並啟用 Virtual SAN 功能

建立 VSAN Cluster 完畢,並將 3 台 ESXi 主機加入至叢集後,因為剛才選擇採用「手動」的方式來新增磁碟,所以請依序點選「首頁 > 主機和叢集 > VSAN Cluster > 管理 > 一般」項目後,在管理介面中你可以看到目前的 VSAN 資訊內容,雖然 VSAN Datastore 已經建立完成,但儲存空間為「0.00 B」。若先前選擇採用「自動」的新增方式,則會將 ESXi 主機中「所有硬碟」自動加入到 VSAN Datastore 當中。

圖 12、採用手動方式,所以 VSAN Datastore 儲存空間為 0.00 B



步驟 4、宣告用於 VSAN Datastore 的硬碟

接著,點選「磁碟管理」項目後,你可以點選「建立新的磁碟群組」圖示,幫「單台」ESXi 主機宣告(新增)用於 VSAN Datastore 的硬碟,或者點選「宣告磁碟」圖示,一次幫「多台」 ESXi 主機宣告硬碟。此次實作環境中,點選宣告磁碟圖示,以便一次同時幫多台 ESXi 主機進行 VSAN Datastore 儲存空間的硬碟新增作業。

事實上,宣告磁碟的動作,其實就是建立「磁碟群組(Disk Group)」的動作,也就是成員硬碟中至少要 1 顆 SSD 固態硬碟,以及 1 顆機械式硬碟(每一組 Disk Group 中最多支援 7 顆機械式硬碟)。

在彈出的宣告磁碟視窗中,預設會顯示加入此 VSAN Cluster 當中的 ESXi 主機,以及該主機中所安裝的儲存資源(SSD 固態硬碟及機械式硬碟)。雖然,你可以為不同的 ESXi 主機宣告不同顆數的硬碟數量,不過 VMware 官方的最佳實務建議你,應該盡量保持 VSAN Cluster 當中儲存資源的一致性,此實作中我們為 3 台 ESXi 主機,分別宣告 1 顆 SSD 固態硬碟及 5 顆機械式硬碟。

圖 13、宣告 VSAN Cluster 當中的 ESXi 主機儲存資源

宣告硬碟的動作完成後,你可以點回剛才的一般項目查看,或依序點選「首頁 > 儲存區 > vsanDatastore > 摘要」,便可以看到目前的 VSAN Datastore 儲存資源的相關資訊。此次實作環境中 VSAN Cluster 共有 3 台 ESXi 主機,每台 ESXi 主機貢獻 5 顆 300GB 機械式硬碟(總共 15 顆 300GB 硬碟),所以建立的 VSAN Datastore 儲存空間為 4.38TB 正確無誤 (請注意 !! SSD 固態硬碟的儲存空間,僅負責資料 I/O 行為中讀取快取及寫入緩衝作業,並不會納入 VSAN Datastore 儲存空間當中)。

圖 14、VSAN Datastore 儲存資源建立完成



步驟 5、建立 VSAN 儲存原則

完成 VSAN Datastore 建立作業後,便可以著手建立 VSAN 儲存原則。本文一開始已經大略說明,在 VSAN 運作架構當中,是採用 SPBM(Storage Policy Based Management)的運作機制,來控制 VM 虛擬主機當中的物件及元件以達成高可用性及效能,接著我們進行實際操作,並在過程當中順便了解它是如何達成的。

透過 vSphere Web Client 登入管理介面後,請依序點選「首頁 > 虛擬機器儲存區原則」後,點選「建立新的虛擬機器儲存區原則」圖示,便會彈出建立 VSAN 儲存原則視窗。首先,在名稱欄位請鍵入此 VSAN 儲存原則的名稱,並在說明欄位中鍵入此儲存原則的說明文字。

圖 15、指定 VSAN 儲存原則的名稱

在規則集頁面中新增功能下拉選單內,你可以看到共有 5 條 VSAN 儲存原則可供選擇,以下便是每條儲存原則的預設值及功能說明:

  • 每個物件的磁碟等量區數目: 物件複本的切割份數(預設值為 1,最大值為 12),將 VM 虛擬主機所擁有的物件包含複本,切割後打散到多台 ESXi 成員主機當中。此儲存原則機制,可想像為加速資料存取效能的 RAID-0 功能。
  • Flash 讀取快取保留區: SSD 固態硬碟所要保留的讀取快取空間(預設值為 0%,最大值為 100%),預設情況下 SSD 固態硬碟當中的讀取快取儲存空間,是「所有物件」大家一起共享,當你設定此儲存原則時,那麼保留下來的讀取快取空間只會給「特定物件」使用,其它物件則無法共享使用。
  • 容許的故障次數: VM 虛擬主機的物件複本份數(預設值為 1,最大值為 3),簡單來說如果你希望運作在 VSAN 環境中的 VM 虛擬主機,擁有容許 n 次故障發生的話,便需要建立相對應 n+1 份的物件複本,同時需要 2n+1 台 ESXi 主機。此儲存原則機制,可想像為具備容錯機制的 RAID-1 功能。
  • 強制佈建: 即使不符合儲存原則要求也要佈建(預設值為否,可調整為是),預設情況下當 VSAN Datastore 無法滿足儲存原則的內容時,便會停止佈建 VM 虛擬主機,舉例來說 儲存空間僅剩 500GB 空間,但儲存原則卻嘗試要產生完整佈建 1TB 的 VM 虛擬主機時,便會發生系統錯誤的情況。當然,你可以將此儲存原則調整為是,系統便會嘗試強行佈建作業,但很有可能會發生無法預期的錯誤。
  • 物件空間保留區: 物件所佔用的儲存資源百分比(預設值為 0%,最大值為 100%),預設情況下 VSAN 儲存原則所佈建出來的 VM 虛擬主機,將會採用「精簡佈建(Thin Provision)」的方式。如果你希望佈建出來的 VM 虛擬主機,採用「完整佈建(Thick Provision)」的方式,那麼便可以設定此百分比數值。值得注意的地方是,這裡的完整佈建所採用的是不會預先進行 Zeroed 處理的「Thick Lazy Zeroed」,而不是「Thick Eager Zeroed」磁碟格式。

圖 16、5 條 VSAN 儲存原則可供選擇

值得注意的是,每 1 條 VSAN 儲存原則,即使你沒有新增仍會自動採用「預設值」進行套用的動作。以此實作環境舉例來說,僅新增「容許的故障次數」儲存原則,並且將組態數值設定為「1」,雖然在規則集中並未新增其它 VSAN 儲存原則,但事實上另外 4 條 VSAN 儲存原則將會採用預設值的方式跟隨著。

圖 17、新增容許的故障次數 VSAN 儲存原則

設定完成後,便會看到 VSAN 儲存原則已經建立完成,稍後新增 VM 虛擬主機時,便會出現此 VSAN 儲存原則可供選擇並進行後續的佈建作業。因此,當你的資料中心當中,有不同等級或不同需求的 VM 虛擬主機時,舉例來說 當容許的故障次數設定為 2 時,所佈建出來的 VM 虛擬主機,將會高於組態設定值為 1 時,具備較高等級因應災難事件的能力。所以,你可以建立多組不同內容的 VSAN 儲存原則,提供給需要不同等級的 VM 虛擬主機。

圖 18、VSAN 儲存原則建立完成



步驟 6、佈建 VM 虛擬主機

現在,便可以點選 VSAN Cluster 然後新增虛擬機器,準備以 VSAN 儲存原則佈建 VM 虛擬主機。原則上,建立運作在 VSAN 環境的 VM 虛擬主機,操作體驗跟以往傳統建立的方式並無不同,只有在「選取儲存區」頁面時需要注意。

首先,在虛擬機器儲存區原則下拉選單中,選擇要用來佈建 VM 虛擬主機的 VSAN 儲存原則(此實作為 FTT=1),而下方則會顯示「相容與不相容」的 Datastore,這裡的相容指的是該 Datastore 能夠「了解」VSAN 儲存原則,因此點選 vsanDatastore 之後,在下方的相容性區塊中便會顯示「相容性檢查成功」。

圖 19、選擇準備佈建 VM 虛擬主機的 VSAN 儲存原則及 Datastore

當 VM 虛擬主機佈建完成後,依序點選「VM 虛擬主機 > 管理 > 虛擬機器儲存區原則 > 硬碟 1」,可以看到目前 VM 虛擬主機的符合性狀態欄位為「符合標準」,表示此 VM 虛擬主機的物件及元件,確實遵守 VSAN 儲存原則進行佈建。下方的實體磁碟放置位置區塊中,你可以看到此 VM 虛擬主機的元件共有「2 份」(因為 VSAN 儲存原則容許的故障次數設定為 1),並且分佈在不同的 ESXi 主機當中。

圖 20、採用 VSAN 儲存原則所佈建出來的 VM 虛擬主機



步驟 7、線上調整 VSAN 儲存原則

資料中心的需求,時常因為不同的專案內容而有不同的需求。當我們希望調整 VM 虛擬主機的 VSAN 儲存原則時,是否需要重新佈建 VM 虛擬主機? 答案是不需要的,可以線上調整 VSAN 儲存原則後,直接進行套用的動作即可。

剛才,我們以容許的故障次數設定為 1 的組態數值佈建出 VM 虛擬主機,因為 VSAN 儲存原則中並沒有定義「每個物件的磁碟等量區數目」項目,所以便以預設值 1 進行套用。只要將每個物件的磁碟等量區數目組態設定為「2」之後,便可以將變動後的 VSAN 儲存原則,線上套用到 VM 虛擬主機。

圖 21、調整 VSAN 儲存原則中,每個物件的磁碟等量區數目組態設定為 2

調整後,系統偵測到 VSAN 儲存原則內容不同,因此詢問是否要套用至所屬的 VM 虛擬主機。我們先選擇「稍後手動執行」,以便讓讀者了解如何手動去重新套用 VM 虛擬主機的 VSAN 儲存原則。

圖 22、變更 VSAN 儲存原則內容後,是否要立即套用所屬 VM 虛擬主機

此時切換到該 VM 虛擬主機,再次查看符合性狀態欄位,將會發現該欄位顯示為「已過期」,表示目前 VM 虛擬主機的物件及元件,並不符合目前的 VSAN 儲存原則。

圖 23、VM 虛擬主機的物件及元件不符合目前的 VSAN 儲存原則

此時,只要點選「將虛擬機器儲存區原則重新套用至所有過期實體」圖示,便會立即執行「重新套用」VSAN 儲存原則至該 VM 虛擬主機的動作。套用作業完成後,再次檢視 VM 虛擬主機的物件及元件,你可以看到因為磁碟等量區數目組態設定為 2,所以將1份物件切割為 2 份元件(RAID-0),而容許的故障次數組態設定為 1,所以會多 1 份物件複本,也就是總共 2 份(RAID-1)。現在,此 VSAN 儲存原則當中的 VM 虛擬主機,除了擁有容錯功能之外,也因為物件分割後打散可加速資料 I/O 存取作業。

圖 24、重新套用 VSAN 儲存原則的 VM 虛擬主機

先前有提到,預設情況下 VSAN 儲存原則,會採用精簡佈建的方式來產生 VM 虛擬主機的虛擬磁碟格式。當我們需要 VM 虛擬主機,預先「配置(Allocate)」所有的儲存空間時,同樣的只需要調整 VSAN 儲存原則內容即可。請在管理介面中,依序點選「首頁 > 儲存區 > vsanDatastore > 管理 > 檔案」後,我們可以看到目前的VM虛擬主機採用精簡佈建虛擬磁碟格式,以動態增加的方式來配置儲存空間。

圖 25、VM 虛擬主機預設採用精簡佈建虛擬磁碟格式

同樣的,我們只需要到 VSAN 儲存原則中,新增「物件空間保留區」儲存原則項目並組態設定為「100 %」,然後重新套用 VSAN 儲存原則至所屬的 VM 虛擬主機。套用作業結束後,便會看到 VM 虛擬主機的 VMDK 虛擬磁碟,由剛才精簡佈建的「2,048 KB」,變更為完整佈建的「40 GB」(預設 VM 虛擬主機的虛擬磁碟大小)。

圖 26、VM 虛擬主機虛擬磁碟格式,由精簡佈建變更為完整佈建





4、結語

透過本文的實戰演練操作,從無到有逐步建立 VSAN 運作環境,相信讀者已經了解到,其實建立 VSAN 運作環境並不困難。反而是初期計劃導入及部署 VMware VSAN 運作環境時,必須特別注意 x86 伺服器的零組件部份如 SSD 固態硬碟及 RAID Card。

後續的文章中,我們將會陸續討論及實戰演練,當 VSAN 環境中運作為數眾多的 VM 虛擬主機時,如何針對 VSAN 運作環境進行監控作業,以及發生 VM 虛擬主機效能不佳的情況時,該如何發現問題發生的原因。