在VMware vSphere架構環境中,您可以善用Flash設備于各種特殊訪問功能,來提升虛擬機的整體運行性能,這包括了Virtual SAN、VMFS數據存放區、虛擬Flash資源。其中結合ESXi主機的VMFS數據存放區,可以讓我們將部分Flash的存儲區,用來作為所有虛擬機共享的交換緩存,以提升虛擬機的執行性能。做法很簡單,只要開啟ESXi主機節點的“管理→存儲區”頁面,然后在“主機緩存組態”頁面中,可以發現在默認狀態下,并沒有設置任何主機緩存空間,點擊編輯的小圖示繼續。

圖2 啟用CBRC功能
接著請將“設置主機緩存空間”設置勾選,然后輸入所要運用的空間大小并點擊“確定”?;氐缴弦豁撁婧簏c擊重整圖示,便可以查看到最新的設置信息。
另一項增進主機I/O讀取性能的功能就是CBRC(Content-Based Read Cache),它同樣也是一項默認沒有被啟用的功能,主要原因我想是它由一塊選定的實體記憶大小空間,來作為進行屬性讀取時的緩存空間。您可以從ESXi主機的“設置→軟件→高級設置“界面中找到此項設置。
如圖2所示,在此您可以發現CBRC.DCacheSize與CBRC.DCacheMemReserved字段的大小上限值均為2048MB(2GB),前者為數據緩存的大小值,而后者則是欲保留給數據緩存使用的實體內存大小。請修改成您想要的設置值,原則上兩者的大小設置相同即可,最后再將CBRC.Enable勾選即可。
善用目前在ESXi主機中所安裝的Flash設備,來創建虛擬Flash資源將有兩大改善整體虛擬化運行的優勢,分別是改以VFFS磁盤區而非VMFS數據存放區,來作為替代主機緩存的強化設置(Virtual Flash Host Swap Cache),而所謂的 VFFS 便是一個在vSphere平臺上的邏輯容器,它是通過群組化本地Flash設備的管理方式,來提供一個虛擬緩存資源讓主機的運行來運用。
另一方面則是可作為虛擬機的Flash讀取緩存(Flash Read Cache),來提升關鍵虛擬機的運行性能,它支持最多一個群集下的32部ESXi主機同時來提供此功能,而每一部ESXi主機則可以最多安裝8個Flash設備,且無論是SATA、SAS或PCI Express的存儲界面都是支持的。
請先在ESXi主機中點擊至“管理→設置”頁面,然后展開至“虛擬Flash→虛擬Flash資源管理”。在默認的狀態下,并沒有任何已設置好的虛擬Flash資源,點擊“添加容量”按鈕繼續。
注 意 :vSphere Flash Read Cache功能唯一支持在vSphere 5.5以上版本。
在“添加虛擬Flahs資源容量”頁面中,將會列出目前所有合格的ESXi主機的Flash設備列表。必須注意的是,在此所選取的Flash設備一旦確定之后,將會被立即格式化清除所有數據,以作為虛擬Flash設備。
接著,可以看到目前所有已加入的Flash設備資源,包括了總容量、已用空間、可用空間、虛擬Flash讀取緩存的容量以及可用空間等信息。后續,您仍可以在此添加更多可用的Flash設備,若已不再需要使用,也可以在此進行移除。完成了虛擬Flash資源的創建之后,緊接著可以點擊至“虛擬Flash主機交換緩存”頁面,默認同樣沒有任何虛擬Flash主機緩存被設置,點擊“編輯”繼續。
注意:如果目前ESXi主機處于維護模式,則無法添加或修改主機的交換緩存設置,您必須在結束維護模式后,才能繼續進行此設置。
勾選“啟用虛擬Flash主機交換緩存”設置,輸入想要設置的虛擬Flash主機交換緩存大小,目前每一部ESXi主機支持的最大交換緩存容量為4TB。點擊“確定”。
想要知道現階段虛擬Flash Read Cache的 運作狀態,您可以選擇使用vCenter Server網站的圖形化界面,通過相關的性能計數器來實時查看,也可以選擇以ESXCLI命令控制臺,通過esxcli storage vflash相關命令來實時查詢相關信息。
首先讓我們一同來看看圖形化界面的使用方法。點擊至已啟用虛擬Flash Read Cache的虛擬機節點,在“監視器→性能”頁面中點擊至“高級”,最后點擊“圖選項”鏈接。在此您只要點擊位于窗格中的“虛擬磁盤”,便可以找到三個關于虛擬Flash Read Cache的計數器,分別是虛擬磁盤的每秒鐘虛擬Flash讀取緩存I/O、虛擬磁盤的虛擬Flash讀取緩存延遲時間、虛擬磁盤的虛擬Flash讀取緩存傳送量。您除了可以輕易通過鼠標找出不同時間點的性能表現數據之外,還可以將它們輸出成PNG、JPG或是CSV文件。
若是不想通過連接vCenter Server網站的方式,來查看虛擬Flash相關信息,您可以改使用ESXCLI命令工具來查詢,而進入此命令控制臺的方式可以是以SSH遠程連接,或是直接從服務端來開啟。在此可以使用的相關命令與用途分別如下:
* esxcli storage vflash device list[get]:列出虛擬Flash的所有SSD設備。
* esxcli storage vflash cache list[get]:列出Flash Read Cache名稱清單。
* esxcli storage vflash module list[get]:列出Flash Read Cache模塊列表。
* esxcli storage vflash cache stats get-c[-m]:取得最新Flash Read Cache統計數據,包括已使用到的緩存百分比、平均使用的IOPS、每個I/O平均的傳輸量大小等。