軟體定義儲存 SDS 超融合基礎架構 HCI SDDC 軟體定義資料中心

支援原生檔案服務 就地提供NFS共享及K8s儲存

實戰VMware vSAN 7 體驗超融合架構新設計

2020-07-06
VMware全新推出的vSAN 7超融合架構,具備了許多令人耳目一新的設計,本文將詳細說明,並且實作示範vSAN 7運作架構除了提供原有VM虛擬主機的各項應用外,還能夠在啟用原生檔案服務後提供給新興容器技術使用,因此不必再額外採購硬體儲存設備。

 

在2020年4月2日時,VMware官方宣佈vSAN 7正式發行。事實上,在VMware的軟體定義資料中心(SDDC)的願景中,擔任SDC軟體定義運算角色的部分,為管理人員所熟悉的vSphere虛擬化解決方案,擔任SDN軟體定義網路角色的則是NSX網路虛擬化解決方案,至於SDS軟體定義儲存角色,則是本文即將深入剖析和實戰演練的vSAN超融合解決方案。

過去,企業組織希望打造軟體定義資料中心時,可能必須分別導入上述的SDC、SDN、SDS三種軟體定義技術。現在,透過VCF(VMware Cloud Foundation)便能一次掌握這三大關鍵的軟體定義技術,同時搭配SDDC Manager之後,除了打造企業內部軟體定義資料中心架構外,甚至能夠串接公有雲和私有雲環境,達成更具彈性的混合雲運作環境,如圖1所示。

圖1  VCF(VMware Cloud Foundation)運作架構示意圖。(圖片來源:VMware Blogs - Microsoft SQL Server on VMware Cloud Foundation)

vSAN 7有那些亮眼特色

全新打造的vSAN 7不僅是VCF運作架構中的儲存資源基石,並且因應商業數位化和新興容器技術的需求,新版的vSAN 7不僅能夠原生提供NFS檔案共享服務,同時更增強和擴大雲端原生儲存資源的支援度。

舉例來說,過去vSAN運作環境所建立的VMFS儲存資源,僅支援運作VM虛擬主機使用,至於企業和組織在Linux容器環境中經常使用的NFS檔案共享服務,則必須依賴其他外部硬體儲存設備來提供。而現在,新版vSAN 7直接原生支援NFS檔案共享服務,如圖2所示,除了減少企業需要額外採購外部儲存設備外,這個NFS檔案共享服務還同時支援Kubernetes建立「永續性磁碟區」(Persistent Volumes,PV),讓企業組織同時解決傳統NFS檔案共享服務,以及容器技術所需儲存資料的永續性磁碟區。

圖2  新版vSAN 7直接原生支援NFS檔案共享服務。(圖片來源:VMware Blogs - VMware vSAN 7 is Now Generally Available)

PowerCLI 12支援vSAN 7

熟悉Windows PowerShell的管理人員對於VMware PowerCLI應該不陌生,簡單來說,PowerCLI便是以PowerShell為底層基礎的指令工具,PowerCLI提供一系列的Cmdlet指令和相關模組,幫助管理人員維運vSphere和vSAN運作環境。

舉例來說,當管理人員需要建立100台虛擬主機時,雖然可以透過vSphere HTML 5 Client圖形化管理工具來達成,但必須花費大量時間並且有可能發生人為操作失誤的情況,此時透過PowerCLI便能夠輕鬆且快速地達成工作任務。

最新版本的PowerCLI 12新增了許多Cmdlet,協助管理人員組態設定及管理vSAN 7新增的原生檔案服務,舉例而言,管理人員透過Cmdlet組態設定vSAN 7檔案服務後,可以使用「Get-VsanFileShare」這個Cmdlet指令,來查詢vSAN 7原生檔案服務的相關資訊,如圖3所示。

圖3  查詢vSAN 7原生檔案服務的相關資訊。(圖片來源:VMware Blogs – PowerCLI 12 for vSAN)

支援原生檔案服務

在新版vSAN 7運作環境中,已經正式支援「原生檔案服務」(Native File Services),以便快速提供NFS檔案共享服務,因此企業無須再額外採購外部儲存設備來提供NFS檔案共享服務。那麼,就來看看在vSAN運作架構中如何建構和提供原生檔案服務。

首先,在vSAN運作架構中,必須具備「3~8」台vSAN節點伺服器,才能建構原生檔案服務,並且每台節點伺服器都必須具備唯一的IP位址,以及DNS正向和反向解析記錄。值得注意的是,在vSAN叢集中必須準備「檔案服務網域」(File Services Domain),這是屆時提供NFS檔案共享服務時使用的唯一名稱空間。

事實上,當vSAN叢集啟用原生檔案服務特色功能時,系統將在vSAN叢集內建立「VMware分佈式檔案系統」(VMware Distributed File System,VDFS),這個檔案系統的主要目的在於管理用途,如圖4所示。

圖4  vSAN原生檔案服務運作架構示意圖。(圖片來源:VMware Docs – vSAN File Service)

此外,在vSAN叢集中的每台vSAN節點主機,將會運作一台「檔案服務虛擬主機」(File Service VM,FSVM),每台檔案服務虛擬主機都會提供NFS檔案共享服務,而NFS檔案共享服務的原始儲存資源,則是採用vSAN Datastore儲存資源,以便保持儲存資源的資料保存可用性。

雲端原生儲存整合vSphere with Kubernetes

在全新的vSphere 7和VCF(VMware Cloud Foundation)運作架構中,已經整合了新興應用的容器技術管理平面Kubernetes,管理人員可以選擇採用TKG(Tanzu Kubernetes Grid)或vSphere with Kubernetes,來部署K8s叢集並且運作和管理各式各樣的容器。

基本上,無論管理人員選擇採用TKG或vSphere with Kubernetes,都可以透過Pod Service CSI或TKG Service CSI驅動程序,存取座落於底層的vSAN儲存資源和原生檔案服務,如圖5所示。

圖5  雲端原生儲存資源整合TKG和vSphere with Kubernetes運作架構示意圖。(圖片來源:VMware Blogs - Cloud Native Storage integration for vSphere with Kubernetes)

增強vSAN儲存資源報表

由於新版的vSAN 7超融合解決方案,已經不像舊版著重於VM虛擬主機的工作負載,更支援新興的容器技術應用。同時,增強vSAN儲存資源報表功能和呈現方式,方便管理人員了解vSAN叢集的各項工作負載和資源耗用情況,以便於管理人員判斷是否該為vSAN叢集中每台vSAN節點主機,擴充運算和儲存資源達成「垂直擴展」(Scale-Up),或是為vSAN叢集增加更多台vSAN節點主機,以達成「水平擴展」(Scale-Out)的運作架構。

在VM虛擬主機的部分,當管理人員點選VM虛擬主機的Summary頁籤後,可以找到一個〔Switch to New View〕按鈕,按下之後可以發現新版更精簡清晰的VM虛擬主機工作負載和資源使用情況,例如管理人員最在意的動態記憶體和儲存資源使用率,如圖6所示。

圖6  新版VM虛擬主機工作負載和資源使用率示意圖。

此外,當vSAN叢集啟用原生檔案服務,那麼在vSAN容量使用報表中,依序展開「vSAN > Capacity > Usage breakdown before dedup and compression > User Objects > File shares」項目後,即可查看vSAN原生檔案服務儲存資源使用率,如圖7所示。

圖7  查看vSAN原生檔案服務儲存資源使用率。

實戰vSAN 7原生檔案服務

如上所述,新版vSAN 7已經可以透過啟用原生檔案服務,讓vSAN 7叢集能夠提供NFS v3和NFS v4.1檔案共享機制,並且這個NFS檔案共享機制不僅可以分享給VM虛擬主機使用,也能因應新興容器技術的使用,同時企業組織無須額外採購儲存設備,便能輕鬆地將NFS檔案共享的資料,儲存在高效能和高可用性的vSAN Datastore儲存資源內,如圖8所示。

圖8  vSAN原生檔案服務運作架構示意圖。(圖片來源:VMware StorageHub – vSAN File Service Overview)

舉例來說,新興應用微服務架構上「雲端原生」(Cloud Native)類型的工作負載,例如Apache、Nginx、Tomcat等網頁應用伺服器使用儲存資源的特性,便是透過NFS v4.1協定存取儲存資源,以便達到分佈式應用程序的運作架構。

在開始實戰演練vSAN原生檔案服務之前,先了解相關前置作業以及運作環境需求,以便稍後能夠順利啟用vSAN原生檔案服務:

‧在vSAN叢集中的每台vSAN節點主機,必須具備唯一IP位址,倘若需要Layer 3路由轉送的話,則必須組態設定預設閘道和路由機制。

‧在vSAN原生檔案服務運作環境中,必須具備DNS名稱解析伺服器,以便處理DNS正向和反向名稱解析服務。

‧在啟用vSAN原生檔案服務時,必須組態設定「檔案服務網域」(File Services Domain),這在vSAN叢集中必須具備唯一性的「命名空間」(Namespace)。

啟用vSAN原生檔案服務

在本文實作環境中,vSAN叢集內共有3台vSAN節點主機,已經在vSphere叢集中啟用vSAN特色功能,將3台vSAN節點主機的本機儲存裝置匯整為vSAN Datastore儲存資源,並且完成組態設定vDS分佈式虛擬交換器,以利3台vSAN節點主機之間vSAN Traffic儲存流量交換。

確認vSAN叢集為正常運作狀態後,依序點選「vSAN Cluster > Configure > vSAN > Services > File Service > Enable」項目,系統便會彈出組態設定原生檔案服務精靈對話視窗,如圖9所示。

圖9  準備啟用並組態設定vSAN檔案服務。

由於啟用vSAN檔案服務之後,系統將會在vSAN叢集中透過vSphere ESX Agent Manager,為每一台vSAN節點主機安裝「檔案服務代理程式」(File Service Agent),這個檔案服務代理程式為採用Photon OS的輕量型「虛擬設備」(Virtual Appliance,VA)運作架構,並且已經啟用了NFS伺服器服務,以便提供NFS檔案共享服務。

因此,在File Service Agent頁面中,可以選擇採用預設值「Automatic Approach」,如圖10所示,並且勾選「Trust the certificate」選項。讓vCenter Server自動前往VMware官方網站下載最新穩定版本的檔案服務代理程式,並安裝至vSAN叢集中每一台vSAN節點主機。倘若vCenter Server無法接觸網際網路,則改為選擇「Manual Approach」項目,以手動的方式上傳檔案服務代理程式。

圖10  採用預設值自動下載最新穩定版本的檔案服務代理程式。

在Domain頁面中,管理人員必須提供vSAN檔案服務的網域資訊,在本文實作環境中,檔案服務網域名稱為「vsan-nfs」,而DNS伺服器的IP位址是「10.10.75.60」,DNS尾碼則是「weithenn.org」,如圖11所示。

圖11  組態設定vSAN檔案服務的網域資訊。

在Networking頁面中,管理人員必須選擇屆時部署檔案服務代理程式,所要使用的NFS檔案共享網路環境Port Group,點選Network下拉式選單,選擇本文實作環境採用的「NFS Network」,並鍵入使用的子網路遮罩「255.255.255.0」,以及預設閘道「10.10.75.254」,如圖12所示。

圖12  組態設定檔案服務代理程式使用的NFS檔案共享網路環境Port Group。

在IP Pool頁面中,鍵入檔案服務代理程式所要使用的IP位址資源池,根據VMware的最佳建議作法,便是為vSAN叢集中的每台vSAN節點主機額外配置專用於NFS檔案共享服務的IP位址資源池,並且建議採用連續的IP位址。

在本文實作環境中,鍵入第一筆IP位址「10.10.75.71」之後,按下「Lookup DNS」確保能夠正確進行DNS名稱解析,然後按下「AutoFill」,則會依序遞增IP位址,並再次按下「Lookup DNS」,確保新加入的IP位址能夠正確進行DNS名稱解析,如圖13所示。

圖13  組態設定檔案服務代理程式所要使用的IP位址資源池。

然後,在Review頁面中再次檢視所有組態設定內容是否正確無誤,確認無誤後按下〔Finish〕按鈕,便立即進行檔案服務代理程式的部署作業。當部署的工作任務完成後,可以看到在vSAN叢集中每台vSAN節點主機上皆會運作一台名稱為「vSAN File Service Node」的虛擬主機(圖14),採用的客體作業系統為VMware Photon OS,並由vSphere ESX Agent Manager管理。

圖14  檔案服務代理程式部署完畢。

建立NFS檔案共享機制

順利組態設定和啟用vSAN檔案服務後,在vSphere HTML 5 Client管理介面中,「vSAN Cluster > Configure > vSAN」選項內將會多出一個「File Service Shares」子項目,請按下「ADD」準備新增NFS檔案共享機制。

在本文實作環境中,NFS檔案共享網路名稱為「nfs-share」,而採用的vSAN儲存原則為預設的「vSAN Default Storage Policy」。除此之外,在NFS檔案共享儲存空間限制中,觸發儲存空間警告的臨介值為「7GB」,而最大儲存空間則為「10GB」,如圖15所示。

圖15  組態設定NFS檔案共享網路名稱和儲存空間警告及限制。

在Net Access Control頁面中,組態設定能夠存取NFS檔案共享的網段和權限,本文實作環境允許「10.10.75.0/24」網路環境的主機,皆能夠存取NFS檔案共享儲存空間,並且具備「讀取∕寫入」(Read/Write)的權限,相關內容如圖16所示。

圖16  組態設定存取NFS檔案共享的網段和權限。

在Review頁面中,再次檢視所有組態設定內容是否正確無誤,確認無誤後按下〔Finish〕按鈕,便立即進行建立NFS檔案共享的工作任務。當NFS檔案共享機制建立完成後,便能看見建立的NFS檔案共享儲存資源,後續管理人員也可以依照專案需求,隨時調整套用的vSAN儲存原則,以及儲存空間警告和儲存空間限制臨界值,如圖17所示。

圖17  NFS檔案共享機制建立完成。

掛載檔案共享儲存資源

雖然vSAN檔案服務同時支援NFS v3和NFS v4.1機制,然而當管理人員在Linux主機端,透過「showmount」指令查詢NFS檔案共享資源時,將會發現僅查詢Primary IP「10.10.75.71」時,才得獲得NFS檔案共享資源,如圖18所示。

圖18  查詢vSAN檔案服務建立的NFS檔案共享儲存資源。

那麼,從Linux主機端該如何掛載NFS v3和NFS v4.1檔案共享儲存資源?管理人員可以從vSphere HTML 5 Client管理介面中,點選本文實作的NFS檔案共享資源項目後,按下「Copy URL」選擇【NFSv3】或【NFSv4.1】,便會顯示NFS檔案共享資源掛載路徑,如圖19所示。

圖19  顯示NFS檔案共享資源掛載路徑。

接下來,便可以切換至Linux主機端,採用「mount」指令搭配剛才複製的NFS檔案共享資源掛載路徑「10.10.75.71:/vsanfs/nfs-share」,以及Linux主機端的掛載點「/mnt/nfs-share」。當NFS檔案共享資源掛載工作任務執行完成後,執行「mount | egrep "nfs-share|4.1"」指令,確認成功掛載NFS檔案共享儲存資源並採用NFS v4.1版本,如圖20所示。

圖20  掛載NFS檔案共享儲存資源並確認採用的NFS版本。

限制檔案共享儲存空間

接著,測試先前組態設定的NFS檔案共享儲存空間警告和限制機制,在本文實作環境中觸發儲存空間警告的臨介值為「7GB」,而最大儲存空間則為「10GB」。可以在Linux主機端,透過「dd if=/dev/zero of=/mnt/nfs-share/8gb.txt bs=1G count=8」指令,建立一個占用空間大小為「8GB」的測試檔案,執行過程如圖21所示。

圖21  透過dd指令建立8GB空間大小的測試檔案。

此時,切換至vSphere HTML 5 Client管理介面,可以看到NFS檔案共享使用空間已經達到組態設定的「80%」,如圖22所示。

圖22  查看NFS檔案共享儲存空間警告和限制資訊。

由於仍然未達到NFS檔案共享最大儲存空間限制10GB,所以Linux主機端仍然能夠寫入檔案,然而當寫入資料達到最大儲存空間限制10GB時,若嘗試再寫入資料,便會出現「Disk quota exceeded」的錯誤訊息,如圖23所示,無法再繼續寫入任何資料。

圖23  寫入資料達到最大儲存空間限制10GB時便無法再繼續寫入任何資料。

隨後,切換至vSphere HTML 5 Client管理介面,依序點選「vSAN Cluster > Monitor > vSAN > Skyline Health」項目,可以看到「File Service > Share health」子項目出現紅色錯誤訊息,原因便是NFS檔案共享儲存資源超過限制大小,如圖24所示。

圖24  透過Skyline Health健康偵測機制,查看NFS檔案共享儲存資源健康情況。

vSAN檔案服務容錯移轉

由於NFS檔案共享儲存資源為運作在vSAN叢集之上的應用服務,所以就像在vSAN Datastore當中受保護的VM虛擬主機一樣,除了享有vSAN高效能之外,也同樣具備高可用性。首先,於vSphere HTML 5 Client管理介面中,依序點選「vSAN Cluster > Monitor > vSAN > Virtual Objects > Affected inventory objects > File Shares」。

接著,點選本文實作的NFS檔案共享儲存資源「nfs-share」,然後按下「View Placement Details」,即可看到NFS檔案共享儲存資源物件,分佈在vSAN叢集中的所有vSAN節點主機,如圖25所示。

圖25  查看NFS檔案共享儲存資源物件分佈情況。

在本文實作環境中所建立的「nfs-share」NFS檔案共享儲存資源,系統已指派由「vsan-n02.weithenn.org」vSAN節點主機負責。接著,將此台vSAN節點主機直接斷電以便模擬故障損害的情況,測試NFS檔案共享儲存資源的高可用性。

當「vsan-n02.weithenn.org」vSAN節點主機斷電後,再次查看NFS檔案共享儲存資源物件分佈情況,可以發現原本由「vsan-n02.weithenn.org」vSAN節點主機儲存的物件,狀態已由先前健康良好的「Active」轉變為「Absent」,如圖26所示。

圖26  原本由vsan-n02.weithenn.org節點主機負責儲存的物件狀態轉變為Absent。

除此之外,如果切換到「nfs-share」NFS檔案共享儲存資源頁面,可以看到原本由「vsan-n02.weithenn.org」vSAN節點主機負責NFS檔案共享服務,因為發生斷電的故障損壞情況之後,系統改為指派由「vsan-n01.weithenn.org」vSAN節點主機,來接手負責NFS檔案共享服務,如圖27所示。

圖27  由vSAN節點主機vsan-n01.weithenn.org接手NFS檔案共享服務。

結語

透過深入剖析和實作演練後,大家已經了解全新vSAN 7超融合架構有哪些亮眼特色,同時建構vSAN 7運作架構後不僅能夠為企業和組織提供原有VM虛擬主機的各項應用,並且在為vSAN 7啟用原生檔案服務後也能提供給新興容器技術使用,無須再採購硬體儲存設備。

<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>

 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!