虛擬化技術已經(jīng)改變了數(shù)據(jù)中心的原有工作方式,而現(xiàn)在存儲技術也在發(fā)生變革,以滿足虛擬機為IT管理員所帶來的全新需求。
現(xiàn)在管理員可以使用大量自動化技術完成部署流程,因此能夠在幾分鐘之內(nèi)部署一臺全新的虛擬機,但是通常虛擬機仍然需要共享容量大大超過自身需求的LUN,并且存儲空間的分配過程需要由管理員在存儲陣列上手動完成。由此帶來的結(jié)果是浪費大量存儲空間——在本就有限的磁盤轉(zhuǎn)速和性能表現(xiàn)的基礎上,增加了IOPS和隨機磁盤活動。更為糟糕的是,邏輯上存儲系統(tǒng)和虛擬機并無關聯(lián),這使得優(yōu)化和排錯變得極其困難。
但是好消息是存儲終于開始逐漸適應虛擬化技術的發(fā)展,能夠感知虛擬化的存儲系統(tǒng)可以提供更快的訪問速度以及更高效的存儲利用率,并且可以針對單個虛擬機來分配、遷移和管理存儲。
實現(xiàn)虛擬機感知能力
從根本上來說,現(xiàn)在虛擬化環(huán)境當中所面臨的存儲挑戰(zhàn)來自于傳統(tǒng)的物理環(huán)境,也就是服務器、網(wǎng)絡和存儲資源由企業(yè)中的不同人員進行管理。有經(jīng)驗的IT專家也許能夠回想起在傳統(tǒng)虛擬化環(huán)境當中部署虛擬機或者負載的過程中,所遇到的大量計劃、協(xié)作和排錯工作。
虛擬化技術改變了這種工作模式,將負載從底層硬件當中抽象出來,為IT管理員提供了能夠?qū)⒎掌骱途W(wǎng)絡資源融合在一起的工具。盡管同樣能夠?qū)⒋鎯ο到y(tǒng)融入到其中,但是存儲仍然在很大程度上保持獨立。存儲管理員通常會根據(jù)計劃劃分出固定容量的LUN,之后將虛擬機分配到可用的LUN當中。這些單元號依賴于傳統(tǒng)的存儲協(xié)議,比如SCSI、NFS、SMB等等,而和虛擬化環(huán)境或者負載并無關聯(lián)。因此存儲系統(tǒng)一直十分笨重并且難以管理,特別是隨著虛擬機數(shù)量不斷增加導致對于LUN的競爭更加激烈,對存儲的性能表現(xiàn)和容量帶來了更多壓力。
存儲廠商使用插件和命令行腳本來實現(xiàn)常用存儲任務自動化,這樣可以輕松滿足一些簡單的配置需求。后來,hypervisor廠商推出了新的存儲協(xié)議,比如XenServer(現(xiàn)在已經(jīng)被棄用)、StorageLink和適用于陣列集成的VMware vStorage API,其可以幫助實現(xiàn)一些基于陣列的功能,比如復制、快照和QoS支持等。盡管從管理的角度來說這些功能可以提供很大的幫助作用,但是這些所謂的改進并沒有將虛擬機和存儲實現(xiàn)底層分離。
比如,即便一套存儲系統(tǒng)在處理備份和遠程復制方面表現(xiàn)的十分完美,但是這些功能仍舊只是針對每個LUN,而不是每臺虛擬機。因此,當許多臺虛擬機共享一個LUN時,其性能和效率將會被極大浪費。
而虛擬化感知存儲的目標在于從根本上改變對于傳統(tǒng)LUN的依賴性。虛擬化技術允許在虛擬機層面(每臺虛擬機而不是每個LUN)將存儲平臺集成到虛擬基礎架構當中,并且提供了存儲管理、計算和網(wǎng)絡等資源,這種薄置備技術已經(jīng)應用在早期的存儲虛擬化當中,但是并不能識別hypervisor或者虛擬化。
一套真正能夠感知虛擬機的存儲系統(tǒng)可以在存儲和虛擬機之間建立映射關系,所以可以使用性能監(jiān)控等方式來評估虛擬機層的存儲延遲等問題。還可以將其應用在QoS這樣的特性當中——可以根據(jù)存儲重要性(通過QoS設定)以及其他存儲基礎架構當中的性能等級來智能決定將出現(xiàn)問題的虛擬機移動到哪個存儲資源當中。
“大多數(shù)能夠感知虛擬化的存儲都通過在hypervisor當中集成軟件實現(xiàn),”Aldo Cabrera說 ,他是W.P.Carey公司的網(wǎng)絡工程師和發(fā)布經(jīng)理。“我們使用一套安裝有vCenter插件的Nimble存儲系統(tǒng),當其需要備份、創(chuàng)建、銷毀、更改新的LUN,或者報告IOPS、容量和其他問題時,可以和hypervisor直接進行通訊。”
滿足需求
能夠感知虛擬機的存儲會在傳統(tǒng)的存儲陣列之上集成hypervisor軟件層——存儲陣列自身仍然使用磁盤、閃存或者多種存儲媒介混合等方式。IT部門可以選擇是否進行部署、是否在本地部署這種混合環(huán)境,或者購買經(jīng)過預先配置、已經(jīng)包含hypervisor集成軟件存儲子系統(tǒng)。
IT部門當然也可以使用自己開發(fā)的虛擬化感知存儲。“如果你現(xiàn)在擁有一個空白存儲陣列,你當然使用OpenStack工具將其進行虛擬化,并不需要其他特殊的硬件,”Tim Noble說,他是ReachIPS的IT總監(jiān)和顧問委員會成員。“我們在一套全閃存陣列當中使用OpenStack,將這個存儲用于現(xiàn)有的內(nèi)部云環(huán)境。”Noble注意到使用亞毫秒訪問時間有助于提升應用程序的訪問速度。除了開源工具之外,第三方軟件產(chǎn)品,比如Nutanix Xtreme Computing Platform可以被安裝用來虛擬化現(xiàn)有的存儲資產(chǎn)或者創(chuàng)建軟件定義存儲環(huán)境。
企業(yè)還可以使用專用的存儲子系統(tǒng)來部署虛擬化感知存儲(有時將這些子系統(tǒng)被歸類到超級融合設備),比如Tintri VMstore、Nutanix NX硬件平臺等?,F(xiàn)在陣列能夠更加高效地使用閃存、硬盤、混合陣列甚至是全閃存系統(tǒng)。來自Tegile和Pure Storage等廠商的混合以及閃存陣列大量使用了壓縮和去重復化技術,以功能模塊的方式來提供計算和存儲資源,利用集群機制提供更好的系統(tǒng)彈性。
但是仍然有一些潛在隱患需要考慮。不論最終采用哪種方式,IT經(jīng)理都必須注意集成等級以及底層hypervisor提供的管理功能。Noble表示VMware hypervisor可以在不同陣列之間遷移存儲,但是還不能基于當然使用情況在不同存儲層之間移動數(shù)據(jù)——這是一種非常讓人心煩的限制,因為許多傳統(tǒng)的、非虛擬化存儲陣列都已經(jīng)能夠自動完成這個過程。
此外,為虛擬化感知存儲提供怎樣的技術支持對于是否能夠成功部署也是至關重要的。比如,部署OpenStack之前需要對Linux版本(比如KVM)進行深入理解。不能忽視OpenStack環(huán)境當中的安全性,特別是在基于appliance的OpenStack產(chǎn)品當中,需要及時安裝廠商補丁或者更新來修復潛在的脆弱性。OpenStack安全性需要IT和開發(fā)人員的共同努力才能實現(xiàn),只有他們才能創(chuàng)建和維護這些軟件。DevOps也能夠在本地軟件開發(fā)當中發(fā)揮作用。外部顧問不僅需要幫助開發(fā)針對OpenStack部署的支持軟件,還應該擁有制作文檔的專業(yè)知識,并且為內(nèi)部員工提供詳細的技術培訓。
“強大的hypervisor工具以及獲得足夠技術支持的硬件真的能夠避免許多令人頭疼的問題,”網(wǎng)絡自動化解決方案提供商6connect的COO兼合伙人Pete Sclafani表示。Sclafani還提到了網(wǎng)絡專業(yè)知識和支持的重要性。“所有這些存儲系統(tǒng)都需要依賴于網(wǎng)絡基礎架構才能正常工作,如果能夠提前了解哪些地方可能出現(xiàn)性能瓶頸并且主動進行修復,那么將會起到很大幫助作用。”他說。