虛擬機中被遺忘的數據對象可能會引起虛擬化存儲的性能下降,清理這些數據對象并回收存儲空間,對可存儲空間進行重復使用。
在虛擬環境中優化資源利用以提高效率,其挑戰比在物理環境中進行要難得多。能夠快速創建虛擬機是增強靈活性和投資回報的主要優勢所在,但這也是產生這一挑戰的主要原因。
更進一步的問題是,如通過快照或有時為每個虛擬機創建的額外的VM映像等相關的數據對象,這大大增加了虛擬化存儲的使用量。所有未使用的快照、模板,被遺棄的VM鏡像和虛擬機嚴重浪費了CPU、內存、帶寬以及存儲資源。然而,查找和回收這些資源卻不是一件簡單的工作。下面,我們將對每個可能創建數據垃圾的數據對象進行分析,并探討如何清理這些未使用的數據對象,以提高數據中心的投資回報率。
在虛擬基礎設施之中的數據垃圾類型
廢棄的VM映像
當一個虛擬機從VMware vCenter、微軟Systems Center、紅帽企業管理(RHEM)或其他的虛擬機管理控制臺中刪除時,還必須從磁盤上進行刪除。否則,虛擬機雖然不再出現在管理控制臺中,但其仍在存儲中存在附帶的VM映像。如果發生這種情況,其結果就是一個廢棄的VM映像仍駐留在存儲之中,并占用存儲空間,但卻不再被使用。從理論上講,正確的操作流程應該是,每當系統管理員從管理控制臺刪除虛擬機之后,管理員應當在存儲陣列上也重復相同的操作,但事實并非如此。
由于各種各樣的原因,某個虛擬機映像可能仍存在于存儲系統之中,盡管其已經被從管理控制臺中刪除。其可能由下面的原因導致的:
某個VMware vMotion存儲失敗,但文件卻還沒有完全轉移到另一個數據存儲之中。不管是將之前的VMDK文件進行遷移,還是復制新的VMDK文件到新的數據存儲位置上,這種情況都是有可能發生的。在這兩種情況下,vCenter都不會知道這些文件所在。如果新的主機不是相同的配置,亦或是沒有足夠的磁盤空間,vMotion都會存儲失敗。此外,一些用戶咋配置vMotion時采用的完全自動化方式,所以,除非對錯誤日志進行檢查,否則將很難發現vMotion存儲失敗。
系統管理員采用手動復制并粘貼VM映像的方式進行遷移,但卻又忘記刪除舊文件。
VM映像被復制以代替正在使用的模板,而虛機映像是沒有必要的,但卻又未被刪除。
第三方備份或存儲快照工具復制了VM映像文件,但管理控制臺卻不會知道以這種方式創建了額外的VM映像文件。
查找這些廢舊數據:
通過對管理控制臺中的虛擬機列表和存儲陣列中的VM映像來完成對廢棄VM映像的檢測。這些文件很難用手動的方式進行識別,因為更為重要的是VM映像名稱極有可能與VM名稱不匹配,這些VM映像文件通常被稱為孤立文件或者孤立VM。
可節省的資源:
查找并刪除孤立虛機是回收和釋放存儲空間的重要方式之一。此外,刪除這些文件將釋放并可重復使用軟件許可證。
已經關閉的虛擬機
已關閉的虛擬機,顧名思義,是已經停用的虛擬機,即不再使用的虛擬機。虛擬機被關閉的時間越長,其越有可能不再被使用。僵尸(又稱作為空閑)VM是確定的,但不是被刪除,其也有可能被重新使用。如果這個VM被關閉,那么其文件雖然不再被使用,但仍占用存儲資源,所以可以被回收。
查找廢棄數據方法
以報告虛擬機被關閉的天數為出發點來確定這個虛擬機是否還將會用到。一旦候選列表中的某些虛擬機確定不再需要時,在刪除這些虛擬機的文件之前還需要做一些檢測工作和跨存儲報表。
關鍵在于檢測到那些關閉并不再使用的虛擬機是否能夠分析、排除虛擬機,并判斷虛擬機管理員是否還需要這些已關閉的映像。否則,關閉虛擬機上的任何報告機制都最終將成為長期的難題,未使用的已關閉的虛擬機將掩蓋下一水平等級的細節并隱藏需要被刪除的關閉虛機。
可節省的資源
刪除關閉的虛擬機是非常重要的,其不僅能夠免費提升存儲空間,而且還能釋放相關的軟件許可以及VM占用。
未使用的快照
虛擬機的快照是用于在特定時間內用于備份和恢復的,快照類似于桌面的恢復點。VM管理員通常會坐一個虛擬機鏡像快照以防止更新或升級失敗,亦或是按照計劃去改變一個特定的VM后的快速回滾。
一旦補丁成功應用,系統管理員應該快照納入到虛擬機配置之中,刪除這些快照,并使之永久更改。
從理論上說,這似乎很容易。但這其中有幾個問題使得管理員進行管理時特別麻煩:
快照可能會占用所有的可用存儲,但管理員卻未必知道;
某些環境下,某個特定的虛擬機可能存在多個快照;
查找存儲系統中的快照是何時產生的,如果這些仍在使用則使用額外的工作和工具去檢測;
一個被刪除的虛機,其快照可能仍然存在,由于這個虛機不再存在,所以相互參照將會非常困難;
SAN存儲系統可以利用其軟件自身的快照;以及
系統管理員根本就忘記了這些快照,或者這些快照是由另一個用戶產生的,并未被報告。
如何查找這些數據垃圾
查找未使用快照,關鍵是看快照的時間點,如果這個虛機的快照已經超過時限,那么就刪除這個舊快照。
可節省的資源
刪除未使用的快照可騰出存儲空間。
未使用的模板映像
模板是用來快速創建相同的虛機的基礎映像,模板包括操作系統映像、補丁級別以及軟件安裝情況。每次操作系統或應用程序發生變化,都需要創建一個新的模板。如果模板已經過時,且未被刪除,那么它就會消耗原本不必要的存儲資源。未被使用的模板映像可能會成為存儲浪費的重要因素。
如何查找這些數據垃圾
發現未被使用模板的關鍵點在于看模板所創建的時間點,然后檢測這個模板是否仍然有效。
可節省的資源
刪除未被使用的模板將能騰出存儲空間。
僵尸(也稱為閑置)虛擬機
僵尸虛擬機是指仍在運行的虛擬機,但其已經達到了其生命周期。在卷環境中,這是最有可能發生的:
最終用戶本身創建的虛擬機;
最終用戶和系統管理員之間的通信環路被關閉,并且最終用戶也沒有通知系統管理員,某個特定的虛擬機不再被使用;
QA或者開發團隊可能運行自己的虛擬機,并不受到中央控制臺的監管;
終端用戶可能在云端自動部署虛擬機;
以及虛擬機上運行的應用程序離線,并且應用程序的管理者沒有發現并申請下線。
如何查找到這些廢棄資源
僵尸虛擬機是很難檢測到的,因為它們保持著開機,并且看起來承擔著負載。但是,因為是僵尸虛擬機,所以其負載可能很低。但是,即使是低負載也無法完全判斷其屬于真正的僵尸虛擬機。隨著時間的推移,負載偏差是區別一臺僵尸虛擬機最好的方法,例如,從DNS服務器來看,其只有很少的負載。
一旦確定了潛在的僵尸虛擬機列表,就可使用存儲信息與VM信息進行相互印證以判斷這個虛擬機是否是一個真正的僵尸虛擬機。看起來像僵尸虛擬機而實際上不是的應該被標記,以防止其被再次判斷為潛在的僵尸虛擬機。更為重要的是,如果僵尸虛擬機是被簡單的電源關閉而非被刪除,其仍然會占用存儲資源,并被作為一個關閉的虛擬機。
可節省的資源
清理僵尸虛擬機可釋放CPU、內存、帶寬以及存儲,并被重復使用。此外,每個被用作僵尸虛擬機所消耗的操作系統和其他軟件可用于其他許可。
結論
數據中心的標準操作可能在虛擬環境中產生浪費。即使清理虛耗數據對象的程序跟進,仍可能發生虛耗的現象,亦或是程序可能并不能完全清除。相反,數據中心管理者和系統管理員能夠根據實際環境實行定期垃圾清理措施,積極尋找廢棄的數據對象并刪除。在虛擬環境下,建立這些程序是非常重要的,能夠使企業保持最高的投資回報。