︿
Top

網管人雜誌

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





文章目錄

1、前言
2、VSAN 6.0 新功能概要
3、實作一 - 建立 VSAN 6.0 Datastore儲存環境
          步驟1、設定 VSAN 專屬網路
          步驟2、為 Cluster 啟用 Virtual SAN 功能
          步驟3、宣告加入 VSAN Datastore 的硬碟
          步驟4、確認 Storage Provider 運作狀態
4、實作二 - VSAN Cluster水平擴充(Scale-Out)
          手動 - 擴充 vsanDatastore 儲存空間
          自動 - 擴充 vsanDatastore 儲存空間
5、實作三 - 容錯網域(Fault Domain)
6、結語





1、前言

隨著最新版本 VMware vSphere ESXi 6.0 在 2015 年 3 月正式發行。同時,與 VMware vSphere Kernel 整合的 VSAN(Virtual SAN)技術,也從先前舊版的 VSAN 1.0 版本,雖然原訂新版本為 VSAN 2.0,但是卻直接與 vSphere 最新版本對齊成為 VSAN 6.0 版本。

運作在 VMware vSphere ESXi 5.x 虛擬化平台的 VSAN 1.0 版本,僅支援單一儲存資源運作架構,也就是每一台 ESXi 主機的儲存資源,僅支援 SSD 固態硬碟與機械式硬碟的混用架構。現在,最新版本的 VSAN 6.0 版本多出了「All-Flash」運作架構,也就是說你可以採用全部 SSD 固態硬碟或 Flash 快閃記憶體來建立 VSAN 儲存資源。

圖1、VSAN 6.0 支援 Hybrid 及 All-Flash 運作架構示意圖

首先,在 VSAN 6.0 版本中,仍然支援原有的「Hybrid」儲存資源運作架構,也就是在「磁碟群組(Disk Group)」當中,採用 SSD/Flash 當成資料快取(Caching)的用途,在快取方面的比例為「30% Write Buffer」以及「70% Read Cache」,至於資料儲存(Data Store)的部分則採用儲存空間大,但效能相對較普通的「SAS / NL-SAS / SATA」機械式硬碟即可。

圖2、VSAN 6.0 Hybrid儲存資源運作架構示意圖

此外,在新版 VSAN 6.0 當中推出全新的「All-Flash」儲存資源運作架構,在資料快取的部份可以採用「SAS / SATA」介面的 SSD 固態硬碟,或採用 PCIe Flash 卡來擔任,而資料儲存的部分則可以採用容量較大的 SSD 固態硬碟(例如,TLC SSD)。

採用 All-Flash 儲存資源運作架構時,在資料快取的部份與 Hybrid 架構有很大的不同,其中「100% Write Buffer」直接交給擔任資料快取的 SSD 固態硬碟或 PCIe Flash 快閃記憶卡負責,而「100% Read Cache」則由擔任資料儲存的 SSD 固態硬碟負責。

圖3、VSAN 6.0 All-Flash儲存資源運作架構示意圖





2、VSAN 6.0 新功能概要

簡單來說,「VSAN(Virtual SAN)」是由 VMware 所發展的「軟體定義儲存(Software-Defined Storage,SDS)」技術,能夠將眾多 x86 伺服器上的本機儲存資源(Local Storage)串連起來變成一個共享的儲存空間,同時透過 SSD 固態硬碟的快速存取特性,來提升 VSAN 整體運作環境的資料 I/O 效能。

新版的 VSAN 6.0 同樣支援「垂直擴充(Scale-Up)」的運作架構。在 VSAN Cluster 運作架構當中,若以 Hybrid 運作架構來看,每一台 ESXi 主機最多可以配置「5組磁碟群組」,每一組磁碟群組當中可以配置1顆SSD固態硬碟,搭配最多 7 顆SAS / NL-SAS / SATA介面的機械式硬碟,因此每台 ESXi 主機最多可以配置總數 5 顆 SSD 固態硬碟加上35顆機械式硬碟。

除了增加單一主機儲存空間的垂直擴充運作架構之外,也支援增加 ESXi 主機數量的「水平擴充(Scale-Out)」運作架構,除了最初組成 VSAN Cluster 必須至少 3 台 ESXi 主機之外,後續只要運算資源或儲存空間不足時便可以逐台進行擴充。不同的是,在舊版 VSAN 1.0 當中每個 VSAN Cluster 最多僅支援「32 Nodes」,而新版 VSAN 6.0 當中可支援至「64 Nodes」。

圖4、VSAN 6.0 彈性延展運作架構示意圖

此外,在 VSAN 1.0 版本時期,在 VSAN Cluster 當中的每台ESXi主機最多運作 100 VMs,現在,新版的 VSAN 6.0 可運作最多 200 VMs。同時,在舊版 VSAN 1.0 版本中,雖然檔案系統早就支援 62TB 儲存空間,但是在 VMDK 虛擬磁碟的部分仍僅支援 2TB,現在新版的 VSAN 6.0 在VMDK 虛擬磁碟的部分也能支援 62TB。

值得一提的是,雖然 VSAN 可與大部分現有的 vSphere 進階技術如 vSphere HA、DRS、vMotion、Storage vMotion...等協同運作。但是,目前最新版本的 VSAN 6.0 仍不支援的進階技術有 SIOC(Storage IO Control)、Storage DRS、DPM(Distributed Power Management)這部分管理人員必須特別注意。





3、實作一 - 建立 VSAN 6.0 Datastore儲存環境

步驟 1、設定 VSAN 專屬網路

雖然,VSAN 運作架構支援 1 Gbps 及 10 Gbps 網路環境,但是根據 VMware 官方的建議在 VSAN Network 專屬網路的規劃部分,若是採用 Hybrid 運作架構的話則支援採用 1 Gbps 及 10 Gbps,但若採用 All-Flash 運作架構的話僅支援採用 10 Gbps,以免屆時因為網路環境滿載造成 VSAN 運作效能低落。

在虛擬交換器的部份,VSAN運作架構支援標準式交換器vSS(vNetwork Standard Switch),以及分散式交換器 vDS(vNetwork Distributed Switch)。因此,如果 VSAN 運作架構規模較小,或許可以使用 vSS 虛擬交換器即可,若VSAN運作架構規模較大那麼便建議採用 vDS 虛擬交換器,除了便於管理及維運之外,還可以整合只有 vDS 虛擬交換器才支援的網路流量控制 NIOC(Network I/O Control)功能。

請登入vSphere Web Client管理介面後,依序點選「首頁 > 主機和叢集 > ESXi主機 > 管理 > 網路功能 > VMkernel 介面卡」項目,點選「 新增主機網路」圖示後,在彈出的新增網路視窗當中,於選取連線類型頁面內點選「VMkernel 網路介面卡」項目,準備新增 VSAN 網路專屬用途的 VMkernel Port。 (請注意,從 VSAN 1.0 版本開始,建立及啟用 vSS/vDS 虛擬交換器 VSAN 網路流量功能的部分,都僅支援 vSphere Web Client 管理介面進行操作,不支援傳統的 vSphere C# Client。)

圖5、準備新增 VSAN 網路專屬用途的 VMkernel Port

在選取目標裝置頁面中,請點選「選取現有網路」項目後,按下瀏覽鈕選擇先前所建立名稱為「VSAN Network」的 vDS 虛擬交換器連接埠群組,也就是要將 VSAN VMkernel Port 連接至此 Port Group。

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

在連接埠內容頁面中,請勾選「Virtual SAN 流量」項目,也就是此建立的 VMkernel Port 將專用於 VSAN 傳輸流量。

圖7、勾選Virtual SAN流量項目

在 IPv4 設定頁面中,設定此 VMkernel Port 的 IP 位址即可。此實作環境中,選擇採用自動取得 IPv4 位址設定。(請注意,從 VSAN 1.0 版本開始,在 VSAN 傳輸網路的部分便不支援 IPv6。即使是目前最新版本的 VSAN 6.0 仍僅支援 IPv4 而不支援 IPv6。此外,在實體交換器的部份也必須要支援並啟用「Layer 2 Multicast」功能才行,否則屆時在 VSAN Cluster 當中的 ESXi 主機之間將無法正確溝通 VSAN 資訊。)

圖8、設定 VSAN 用途的 VMKernel Port IP 位址

最後,確認相關組態設定內容無誤後按下完成鈕即可。

圖9、建立 VSAN 用途的 VMKernel Port

此實作環境當中,共有 6 台 ESXi 主機都建立專屬 VSAN 流量用途的 VMkernel Port,可以看到 VSAN Network 當中有 6 個 VMkernel 連接埠。

圖10、為 6 台 ESXi 主機建立專屬 VSAN 流量用途的 VMkernel Port



步驟 2、為 Cluster 啟用 Virtual SAN 功能

完成 ESXi 主機的 VSAN 專用網路設定後,便可以為叢集(Cluster)啟用 Virtual SAN 功能。原則上,在叢集中啟用 Virtual SAN 功能,跟以往在叢集中啟用 vSphere HA 及 DRS 進階功能的操作體驗相同,只要在叢集當中勾選「開啟 Virtual SAN」選項,並決定採用「自動(Automatic)或手動(Manual)」的方式,來新增 ESXi 主機的本機硬碟即可。

請在 vSphere Web Client 管理介面中,依序點選「Cluster > 管理 > 設定 > Virtual SAN > 一般 > 編輯」,在彈出的編輯 Virtual SAN 設定視窗中,請勾選「開啟 Virtual SAN」選項,並於將磁碟新增至儲存區的下拉選單中選擇至「手動」項目,以便了解整個新增VSAN儲存資源的操作步驟及流程。

圖11、為 Cluster 開啟 Virtual SAN 功能

為VSAN Cluster 啟用 Virtual SAN 功能完畢,並將 3 台 ESXi 主機加入至 VSAN Cluster 之後,因為選擇採用「手動」的方式來新增 ESXi 主機本機硬碟,所以在管理介面中你可以看到目前的 VSAN 資訊內容,雖然 VSAN Datastore 已經建立完成,但是儲存空間大小卻為「0.00 B」。若剛才選擇採用「自動」的新增方式,則會將 ESXi 主機中「所有本機硬碟」自動加入到 VSAN Datastore 當中。

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



步驟 3、宣告加入 VSAN Datastore 的硬碟

點選「磁碟管理」項目後,你可以點選「 建立新的磁碟群組」圖示,一次僅幫「1台」ESXi主機宣告加入 VSAN Datastore 的硬碟,或者點選「 宣告磁碟」圖示,一次幫「多台」ESXi 主機宣告硬碟。此次實作環境中,請點選宣告磁碟圖示,以便同時幫 3 台 ESXi 主機宣告要貢獻本機儲存空間至 VSAN Datastore 的作業。

這個宣告磁碟的動作,其實就是建立「磁碟群組(Disk Group)」的動作,因此 ESXi 成員主機當中的本機硬碟中至少要 1 顆 SSD 固態硬碟,以及1顆機械式硬碟(每組 Disk Group 內最多支援7顆機械式硬碟)。雖然,你可以為不同的 ESXi 主機宣告不同顆數的硬碟數量,甚至沒有本機硬碟的 ESXi 主機也可以加入至 VSAN Cluster 當中,不過根據 VMware 官方的最佳實務建議,管理人員應該盡量保持 VSAN Cluster 當中儲存資源的一致性,此實作中我們為 3 台 ESXi 主機,分別宣告 1 顆 SSD 固態硬碟(8GB)及2 顆機械式硬碟(16GB)。

在彈出的宣告磁碟視窗中,預設會顯示加入 VSAN Cluster 內所有的 ESXi 主機,以及該主機中所安裝的儲存資源(SSD 固態硬碟及機械式硬碟)。只要點選「選取所有合格的磁碟」鈕,便會勾選每台 ESXi 主機當中合乎條件的硬碟,確認無誤後按下確定鈕即可建立磁碟群組。

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

宣告硬碟的動作完成後,在管理介面中請依序點選「首頁 > 儲存區 > vsanDatastore > 管理 > 設定 > 一般」,便可以看到目前的 VSAN Datastore 儲存資源的詳細資訊。此次實作環境中VSAN Cluster目前共有3台ESXi主機,每台 ESXi 主機貢獻 2 顆 16 GB 機械式硬碟(總共 6 顆16 GB 硬碟),所以建立的 VSAN Datastore 儲存空間為 94.45 GB 正確無誤。(請注意,在 VSAN 運作架構中,負責資料快取任務的 SSD 固態硬碟及 Flash 快閃記憶體的儲存空間,僅僅是提供讀取快取及寫入緩衝的資料 I/O,其儲存空間並不會納入VSAN Datastore 內。)

圖15、查詢 vsanDatastore 儲存空間資訊



步驟 4、確認 Storage Provider 運作狀態

當建立 VSAN Cluster 之後,每台加入叢集的 ESXi 主機便會擁有「儲存區提供者(Storage Providers)」,並會自動透過它與 vCenter Server 及 Storage Layer 進行溝通作業。

同時,ESXi 主機會透過儲存區提供者自動向 vCenter Server 註冊 SMS(Storage Management Service)服務,接著在 VSAN Cluster 當中會有一台 ESXi 主機擔任「作用中(Active)」角色,負責提供 VSAN Datastore 儲存資訊,其它台 ESXi 主機則擔任「待命(Standby)」角色,只有在擔任作用中角色的 ESXi 主機發生故障損壞事件時,才會自動從待命角色中重新選舉出新的 ESXi 主機擔任作用中的角色。

請在管理介面中依序點選「首頁 > vCenter Server > 管理 > 儲存區提供者」,即可看到目前 VSAN Cluster 當中,每台 ESXi 主機的儲存區提供者運作狀態。倘若此頁面中的運作狀態無法順利顯示時,那麼可以嘗試點選「 同步」圖示,以便將所有 Virtual SAN 儲存區提供者與環境的目前狀態進行同步。

圖16、確認 ESXi 主機儲存區提供者運作狀態

後續,便如同 VSAN 1.0 操作程序一樣,可以定義 VSAN 儲存原則之後,將新建立的 VM 虛擬主機套用所定義的 VSAN 儲存原則,以便決定該台 VM 虛擬主機的可用性及效能等表現。因為在本雜誌第 110 期內容中,已經詳細說明整個操作步驟及流程,因此本文便不再贅述。





4、實作二 - VSAN Cluster水平擴充(Scale-Out)

手動 - 擴充 vsanDatastore 儲存空間

目前的實作環境中 VSAN Cluster 只有 3 台 ESXi 主機,我們將實作演練當 VSAN Cluster 運算資源或儲存空間不足時,便可以透過「水平擴充(Scale-Out)」機制來擴充 ESXi 主機數量,達成同時擴充運算資源及儲存空間的目的。

因為,目前在 VSAN Cluster 當中將磁碟新增至儲存區的選項為「手動」,因此當我們將 1 台 ESXi 主機加入至 VSAN Cluster 之後,並不會自動宣告本地端硬碟並加入儲存空間至 vsanDatastore 當中。所以,雖然快閃磁碟雖然顯示為 4 顆但使用中只有 3 顆,而資料磁碟雖然顯示為 8 顆但使用中只有 6 顆。

圖17、目前 VSAN Cluster 新增磁碟設定為手動模式,所以不會自動宣告硬碟

因此,必須由管理人員手動點選「磁碟管理 > 宣告磁碟」圖示,並且如同先前的宣告磁碟作業程序,將新加入的 ESXi 主機本地端儲存空間,加入到 vsanDatastore 儲存空間當中。當宣告磁碟作業完成之後,你可以再次查看一般內容,便會發現快閃磁碟增加 1 顆(共 4 顆),而資料磁碟則是增加 2 顆(共 8 顆),當然 vsanDatastore 儲存空間也從原本的 94.45 GB 增加為 125.94 GB。

圖18、手動增加 ESXi 本地端儲存空間至 vsanDatastore 儲存資源當中



自動 - 擴充 vsanDatastore 儲存空間

倘若,在 VSAN Cluster 當中將磁碟新增至儲存區的選項設定為「自動」,那麼當我們將 1 台 ESXi 主機加入至 VSAN Cluster 之後,系統便會自動宣告 ESXi 主機的本機硬碟並加入儲存空間至 vsanDatastore 當中。

圖19、將 VSAN Cluster 磁碟新增至儲存區選項調整為自動

因此,後續加入 VSAN Cluster 的 ESXi 主機,只要本地端儲存空間合乎宣告磁碟的規則,那麼便會自動將相關的硬碟加入至 vsanDatastore 儲存空間當中。可以看到 ESXi 主機順利加入 VSAN Cluster 之後,便會發現快閃磁碟又增加 1 顆(共 5 顆),而資料磁碟則是增加 2 顆(共 10 顆),當然 vsanDatastore 儲存空間也從剛才的 125.94 GB 增加為 157.42 GB。

圖20、自動增加 ESXi 本地端儲存空間至 vsanDatastore 儲存資源當中





5、實作三 - 容錯網域(Fault Domain)

容錯網域(Fault Domain)」是 VSAN 6.0 版本中的新功能,它可以增強 VSAN 運作架構的容錯機制,除了原本可針對磁碟(Disk)、網路(Network)、主機(Host)故障情況進行因應之外。現在,容錯網域機制還可以因應「機櫃(Rack)」及「電力(Power)」等故障事件。

圖21、容錯網域(Fault Domain)運作架構示意圖

請在管理介面中,依序點選「Cluster > 管理 > 設定 > 容錯網域」項目,然後按下在 Virtual SAN 叢集容錯網域設定區塊中的「綠色加號」圖示,準備建立容錯網域。

圖22、準備建立容錯網域

在彈出的新增容錯網域視窗中,輸入容錯網域的名稱此實作為「RackA – Fault Domain A」,並且勾選要加入此容錯網域的 ESXi 主機,此實作環境勾選「vsan01 ~ vsan03」等 3 台 ESXi 主機,模擬這 3 台 ESXi 主機放置在機櫃 A 當中。

圖23、建立容錯網域 RackA – Fault Domain A

接著,建立容錯網域「RackB – Fault Domain B」並將「vsan04 ~ vsan06」等 3 台 ESXi 主機加入其中,模擬這 3 台 ESXi 主機放置在機櫃 B 內。因此,可以看到目前 VSAN Cluster 當中共有 6 台 ESXi 主機,並且因為 ESXi 主機所處的機櫃位置不同,分別建立兩個不同的容錯網域,以便因應其中一個機櫃或其電力發生故障損壞事件時,另一組機櫃的 ESXi 主機仍能順利運作不受影響。

圖24、為 VSAN Cluster 建立兩個容錯網域

最後,我們來簡單驗證一下容錯網域的運作機制。原則上,如果建立的儲存原則是具備容錯機制的 RAID-1,也就是採用「容許的故障次數」儲存原則,那麼所建立的 VM 虛擬主機元件「一定」會擺放在「不同」的容錯網域當中,倘若是加快資料存取效能的 RAID-0 也就是「每個物件的磁碟等量區數目」儲存原則,那麼 VM 虛擬主機的元件會「盡量」擺放在不同的容錯網域中。

如下圖所示,我們在名稱為 vsan01 的 ESXi 主機(容錯網域 RackA)中建立 1 台 VM 虛擬主機,查看此台 VM 虛擬主機的元件存放地點後,可以發現 3 份元件有其中 2 份存放在容錯網域 Rack B 的 vsan04、vsan05 的 ESXi 主機當中。

圖25、建立的 VM 虛擬主機元件分別擺放在不同的容錯網域中





6、結語

透過本文的說明,相信讀者已經了解到伴隨新版 vSphere 6.0 一同釋出的 VSAN 6.0,有哪些新增的特色功能機制以及舊有功能的增強部分。

此外,在本文的下半部直接實戰演練相關進階功能,讓管理人員能夠實際了解 VSAN 6.0 的儲存資源建立,以及在實務上必然會使用到的水平擴充機制,同時建立能夠充份因應機櫃及電力發生故障事件時的容錯網域機制。