即使一個磁盤陣列有完善的全零頁回收能力,那也只是在有大量的0數(shù)據(jù)寫入時才有用。這就意味著要委托服務(wù)器端必須寫0填充那些不再使用的空間,而這對于服務(wù)器端來說并不是一個典型的默認(rèn)的操作。因此多數(shù)操作系統(tǒng)都需要一個命令,像Windows里邊的“sdelete –c“或者有類似NetApp SnapDrive的東西去執(zhí)行這個操作,當(dāng)然只是偶爾才運(yùn)行一次。
應(yīng)用層的角色
還有些應(yīng)用程序,像VMware ESX的數(shù)據(jù)卷,在創(chuàng)建新空間時就會用全零位填充,而ESX的命令“eagerzeroedthick“甚至能夠?qū)⒖臻g清除。另外,盡管還存在一些兼容性的問題,但在VMotion應(yīng)用上,ESX顯然正在變得越來越“精簡”。ESX 4.1版本中增加的VAAI(vStorage APIs for Array Intergration)內(nèi)嵌了“block zeroing”功能,可以支持多款指定的存儲產(chǎn)品。ESX使用支持T10 ”WRITE_SAME”命令的插件(plug-in,插件既可以是定制的,亦或是通用的)給后端的磁盤陣列發(fā)信號,告知陣列去釋放那些VMFS不再占用的空間。
Symantec也是率先支持自動精簡配置的廠商。他們有Veritas Thin Reclamation API,該API集成在Veritas Storage Foundation產(chǎn)品中,可以廣泛的支持大多數(shù)主流的存儲陣列。它使用多種通信機(jī)制去釋放不需要的空間,并且與VxFS文件系統(tǒng)和volume manager產(chǎn)品完全集成在一起。Storage Foundation還包含一個SmartMove遷移工具,該工具可以幫助精簡陣列只轉(zhuǎn)移那些包含實(shí)際數(shù)據(jù)的塊。
精簡技術(shù)在其他系統(tǒng)中也在同步發(fā)展。有一個標(biāo)準(zhǔn)的ATA TRIM命令,可以發(fā)送精簡回收的信號,就像SCSI協(xié)議里對應(yīng)的UNMAP命令一樣。不過TRIM主要是用來支持固態(tài)存儲。Microsoft和Linux現(xiàn)在都支持TRIM,因此在未來同樣能夠增加對自動精簡配置的支持,這些操作系統(tǒng)公司還可以改進(jìn)其文件系統(tǒng)中關(guān)于存儲分配和釋放的機(jī)制。
越來越精簡
自動精簡配置技術(shù)并非沒有爭議,但是好處也很多。它是少數(shù)幾個真正可以提升存儲實(shí)際利用率的技術(shù)之一,即便問題的核心可能與技術(shù)無關(guān)。雖然精簡配置技術(shù)掩飾存儲空間局限性的能力以及分配空間的過程尚存某些負(fù)面的因素,但隨著技術(shù)的改進(jìn),以及精簡回收工作越來越自動化,未來在企業(yè)級存儲領(lǐng)域,該技術(shù)必將成為重要的標(biāo)準(zhǔn)。
相關(guān)鏈接:
對于自動精簡配置應(yīng)用,我們應(yīng)該關(guān)注什么?
在評估一個支持自動精簡配置的存儲陣列的時候,請仔細(xì)考慮下面的問題。這些問題總體上反映了我們各個方面的疑慮。注意,并不是所有情況下全部因素都必須考慮。
• 自動精簡配置功能是包含在磁盤陣列的基礎(chǔ)報(bào)價(jià)中,還是一個需要單獨(dú)付費(fèi)的option?
• 磁盤陣列是否支持全零頁回收?以及回收進(jìn)程運(yùn)行的頻率?
• 頁面的大小或精簡配置增量分配的大小是多少?
• 快照、鏡像和復(fù)制操作是否支持自動精簡配置?是否支持從非精簡配置復(fù)制到精簡配置?
• 當(dāng)磁盤陣列空間寫滿之后會出現(xiàn)什么情況?報(bào)警、釋放空間以及掛起寫操作的流程是什么?
• 磁盤陣列是否支持WRITE_SAME命令?是否支持SCSI UNMAP或ATA TRIM命令?
• 是否有可與該磁盤陣列集成的支持“block zeroing”的VAAI插件?是否是基于T10的插件,還是為該產(chǎn)品系列定制的插件?
空間浪費(fèi)的根源
一個DBA想:“我可能需要500GB或更多的空間給應(yīng)用程序“,為了穩(wěn)妥起見,他向存儲管理員要了1TB的空間。而存儲管理者們則保有同樣的想法,為了讓DBA滿意的離開,因此他們給DBA分配了2個TB的存儲資源。類似的故事經(jīng)常用來形容存儲空間利用率的糟糕狀況,但這是全部真實(shí)情況嗎?
在大多數(shù)企業(yè)存儲環(huán)境中,低下的空間利用率可能有許多原因:
• 年度和項(xiàng)目預(yù)算周期制度導(dǎo)致了超買情況的發(fā)生,有些超買的存儲空間也許永遠(yuǎn)不會用到。
• 無效的資源監(jiān)測和容量計(jì)劃過程并不能搞清楚真實(shí)的空間需求。
• 存儲網(wǎng)絡(luò)不夠完善,導(dǎo)致部分空間資源無法分配給需要空間的服務(wù)器。
• 不連續(xù)的空間劃撥過程導(dǎo)致有些空間雖然被分配,但可能永遠(yuǎn)也無法被用到。
• 操作系統(tǒng)和文件系統(tǒng)缺乏靈活性,當(dāng)存儲需求改變時,難以擴(kuò)展或收縮。
以上列舉的許多問題,使用自動精簡配置都是有效的,但它也并非萬能。如果采購流程和容量計(jì)劃做的很差,那么精簡技術(shù)的很多優(yōu)點(diǎn)也無從發(fā)揮。如果多個孤立的SAN和SAN之間無法訪問,那么其中的空閑空間也無法利用。但這里要強(qiáng)調(diào)的是,一個系統(tǒng)即使只具備最基本的自動精簡配置功能,那么對于改善閑置空間的利用率也將大有幫助。
自動精簡配置對TCO的影響
把多個企業(yè)級存儲解決方案放在一起比較TCO(total cost of ownership,總擁有成本)的高低很容易引起爭議,因?yàn)殡y免會受到人為主觀因素的影響,評估模型往往也不夠完善,衡量各廠商的標(biāo)準(zhǔn)也不一致。因此,企業(yè)在花錢采購那些用于節(jié)約成本、提升效率的技術(shù)—如自動精簡配置—之前,最明智的做法是創(chuàng)建一個內(nèi)部使用的評估模型充當(dāng)檢測工具,以便驗(yàn)證廠商提供的結(jié)論和承諾。
完整的TCO涵蓋的不僅是硬件和軟件的成本,還包括運(yùn)行維護(hù)、數(shù)據(jù)中心成本,以及與采購、遷移、產(chǎn)品淘汰等活動相關(guān)的費(fèi)用,以上必須一并考慮。一條好的經(jīng)驗(yàn)是用乘積法來衡量低效率分配存儲資源所產(chǎn)生的影響:每個主機(jī)每剩余1GB的閑置空間,我們就計(jì)入雙倍的實(shí)際成本,那么隨著端到端的存儲利用率平均低于25%,這個乘積的結(jié)果值就會快速的增加。
這樣的成本模型往往會揭示出令人吃驚的事實(shí),硬盤(或固態(tài)盤)驅(qū)動器的存儲容量成本只是TCO的一小部分,通常不到總體的15%。但這并不意味著追求更高的空間利用率是事倍功半。從解決存儲利用率開始著手消減乘積的結(jié)果,對TCO產(chǎn)生的影響要遠(yuǎn)大于單純的采用大容量硬盤。
考慮到自動精簡配置的操作優(yōu)勢,以及存儲密度的因素,精簡系統(tǒng)需要的管理開銷可能更低,因?yàn)槿萘康姆峙洳粫艿絺鹘y(tǒng)規(guī)則的制約。但這樣也可能會導(dǎo)致糟糕的狀況出現(xiàn):比如磁盤陣列分配過度,當(dāng)寫入的數(shù)據(jù)超過實(shí)際物理容量,應(yīng)用程序就不得不停止運(yùn)行。因此,最好的精簡配置存儲系統(tǒng)應(yīng)該是高度虛擬化的、靈活、且監(jiān)控功能完善,允許改進(jìn)操作效率,并且保持較高的空間利用率。