陳立秀
(重慶信息技術職業學院,重慶,404000)
在置備虛擬機時,很多時候并不是隨意的選擇一個數據存儲,把虛擬機存放在該數據存儲中就完畢,事實上沒那么簡單!因為某些虛擬機上的應用程序可能因為業務需求,它需求被存放到一些特定的數據存儲之中,這些特定的數據存儲可能要具備一些特定的屬性來滿足虛擬上伺服的業務和應用程序,這些特定的特性包括了存儲設備的類型、功能、狀態、配置信息、容量、IOPS 速率等,暫時簡稱這些特性叫存儲功能。由于不同物理存儲廠商所提供的存儲功能又是不同的,所以首先需要來理解虛擬化管理員如何去感知并獲得不同存儲廠商的存儲功能,以方便將存儲功能附加到存儲策略上。VMware 的VASA 則是感知并獲得存儲功能的一個API 接口。
VASA(vSphere APIs for Storage Awareness)叫 感知存儲API 接口,簡單的講它就是一個通過API 注冊到時vCeneter 中的存儲供應商程序,這是一個存儲廠商的第三方應用程序,它主要為vSphere 提供當前存儲的設備類型、狀態、配置信息、容量、置備信息、IOPS 等情況,當然這些信息因存儲供應商不同而有所差異。簡而言之,它的最終目標是讓用戶在vSphere Web Client 上查看到存儲的底層信息,并感知運行狀況,從而方便用戶根據這些信息、運行狀況及功能來部署虛擬機的存儲策略。注意:這個功能必須要存儲應供商支持,很多情況下、VASA 以存儲供應商提供的一個虛擬機的形式體現,而且管理員需要注冊VASA 到vCenter,才能使用。
虛擬機存儲策略在以前被稱為虛擬機的存儲配置文件,它是一種由管理員制訂的用來描述虛擬機所需要的存儲屬性,包括了:存儲性能、存儲容量、可用性、冗余、甚至于可以是指定具體的數據存儲等。通過存儲策略來保障虛擬機可以在符合其應用需求的數據存儲之上存放,而不是隨意的放置。用戶可以把存儲策略理解為是一種對虛擬機存儲需求的QOS 保障技術。虛擬機存儲策略是緊貼具體虛擬機的。比如:某臺虛擬機的應用程序讀寫性能必須要在滿足一定的IOPS 速率,如果此時特定存儲廠商提供了VASA 程序,并且提供了IOPS 的策略參數,用戶就可以將該參數列入虛擬機的存儲策略之中,并且讓該存儲策略跟隨虛擬機,那么在部署這臺虛擬機到數據存儲,或者遷移這臺虛擬機到目標數據存儲時,存儲策略將對虛擬機的存儲及存儲位置進行合格性檢查,以保證虛擬機的運行性能。
虛擬機的存儲策略可以通過兩種方式實現:一種是基于特定供應商的存儲功能來制訂策略;另一種是基于標記來制訂存儲策略;當然還可以把這兩種方式聯合起來使用。
(1)建立標記和類別,將標記關聯到具體的數據存儲,這過程相當于“染色”;
(2)建立虛擬機存儲策略、將標記列入到虛擬機存儲策略的規則中、指定策略范圍;
(3)將存儲策略關聯到虛擬機,通過熱遷移來檢驗虛擬機存儲策略,通過新建虛擬機來檢驗虛擬機的存儲策略。
如圖1 所示, 兩臺ESXi 主機掛了各種基于不同來源介質的數據存儲,其中包括:ESXi 主機本地硬盤介質的數據存儲、NFS 之上的數據存儲、IP-SAN 之上的數據存儲。當前由于存儲管理員考慮到很多實踐性的生產因素,要求虛擬化群集ClusterA 上當前所有的虛擬機,以及后面將要新建的虛擬機必須存儲在一個基于IP-SAN 構造的數據存儲之上,該數據存儲的名稱叫“Datastore-iSCSI-SAN”。因為管理員綜合評估了各個數據存儲的存儲功能和參數,得出一個評估結論:Datastore-iSCSI-SAN 數據存儲是目標眾多數據存儲中最符合生產需求的。現在的任務是要求建立一個存儲策略,方便管理員從眾多數據存儲中快速的查找并定位Datastore-iSCSI-SAN 數據存儲,并要求將虛擬機存儲放在該數據存儲之中。

圖1 實施數據存儲功能與虛擬機的存儲策略配置的環境
第一步:建立標記和類別,在vCenter 中導航到【標記】欄目,在【項目】選項卡下,點擊過程新建一個標記。然后在類別中選擇【新建類別】,然后在類別名稱中輸入“存儲類”,注意類別名在vCenter系統中必須是唯一的。然后在【基數】配置中選擇【每個對象對應一個標記】,在【可關聯的對象類型】中先擇【數據存儲】。實際上這個【可關聯的對象類型】是指當前類別中的標記可以分配給所有對象,還是只能分配給特定類型的受管對象(例如虛擬機或數據存儲)。至此完成標記和類別的建立。
第二步:將標記關聯到具體的數據存儲,這過程相當于“染色”,也就是給相應的數據存儲貼標簽,具體過程如:選擇需要貼標簽的特定數據存儲當前實驗環境中選擇Datastore-iSCSI-SAN 的數據存儲,然后在該對象的【管理】選項卡下點擊【標記分配】按鈕,然后在可供分配的標記欄中選擇“必須SAN 的Tag”以完成對數據存儲的標記分配。
第三步:建立虛擬機存儲策略,在vCenter 系統的【主頁】選項卡上點擊【虛擬機存儲策略】,來新建一個虛擬機存儲策略,然后開始配置虛擬機存儲策略的具體內容,首先在虛擬機存儲策略的名稱中輸入“必須分配給SAN 的策略”。然后進入虛擬機存儲策略規劃集的創建,注意這個過程是重點。在創建虛擬機存儲策略規則集時有兩個規劃選項:一個是【基于供應商特定功能的規則】這個就是關于理解數據存儲功能與虛擬機的存儲策略理論中所描述的需要特定存儲廠商提供了VASA 程序,然后在vCenter 中注冊。然后管理員就可以使用特定供應商所提供的存儲策略作為規劃集。注意在當前環境中筆者并沒有安裝特定存儲供應商的VASA 程序,所以【基于供應商特定功能的規則】為無;另一個規劃選項是【添加基于標記的規則】,這個就是關于理解數據存儲功能與虛擬機的存儲策略理論中所描述的手工的通過標記來完成存儲策略的配置,當前的實施環境正在使用【添加基于標記的規則】。然后在【添加基于標記的規則】中的【類別】列表中選擇在第一步中新建的“存儲類”,然后勾選“必須SAN 的Tag”標記。這個過程相當于將DatastoreiSCSI-SAN 數據存儲列入到虛擬機存儲策略中。顯示數據存儲Datastore-iSCSI-SAN 是與策略匹配的對象。致此完成虛擬機存儲策略的配置。
完成上面的配置后,接下來需要在相應的范圍啟動虛擬機存儲策略,首先在vCenter 系統中導航到虛擬機存儲策略頁面,然后可以看到剛才所建立了虛擬機存儲策略-“分配給必須存SAN 的策略”請選中他,然后啟動存儲策略。
第四步:將存儲策略關聯到虛擬機,在Cluster 群集中選擇數據庫虛擬機DataBase,然后在該虛擬機的【虛擬硬件】選項卡下找到【虛擬機存儲策略】然后選擇“分配給必須存SAN 的策略”,此時在【虛擬機存儲策略合規性】檢查中會顯示“合規”,這意味著該虛擬機正是存儲在Datastore-iSCSI-SAN 的數據存儲中的。
第五步:現在通過對關聯存儲策略的虛擬機來執行熱遷移,檢驗虛擬機存儲策略的有效性,假設當前對DataBase的虛擬機執行計算和存儲的熱遷移,用戶可以發現計算熱遷移可以任意的發生。
第六步:接下來通過新建虛擬機的方式來驗證虛擬機的存儲策略的有效性,用戶可以在Cluster 群集中新建一個虛擬機,當新建步驟執行到【選擇存儲器】選項卡時,如果在【虛擬機存儲策略】中選擇了“分配給必須存儲SAN 的策略”那么管理系統仍然會為用戶例舉出符合與不符合存儲策略兼容性的數據存儲。
如果以本實施環境的存儲策略為依據,當前存儲在主機本地磁盤之上的虛擬機會報告虛擬機存儲策略合規性檢測失敗,用戶是可以強制啟動虛擬機的,但是這會帶來很多不可預計的影響,因為管理員既然訂制的存儲策略,肯定是因為需要使用Datastore-iSCSI-SAN 這個數據存儲之上的相關功能特性,或者只有該數據存儲的容量和性能可以滿足當前虛擬機的存儲業務,希望解決這個問題很簡單:將當前虛擬機執行存儲熱遷移到Datastore-iSCSI-SAN 數據存儲之上,然后重新觸發虛擬機存儲策略檢測,即可解決,整個解決過程虛擬機可以保持開機狀態!