淺析固態(tài)盤應(yīng)用程度及文件系統(tǒng)難題 |
發(fā)布時(shí)間: 2012/8/7 17:51:17 |
基于閃存的固態(tài)盤(SSD)正在成為企業(yè)存儲(chǔ)用戶的一個(gè)大難題;和我一起工作的很多用戶出于很多原因正打算采用這種新型“Tier 0”數(shù)據(jù)存儲(chǔ),可能這些原因非常簡(jiǎn)單,比如每瓦IOPS、每單位成本IOPS、(或者對(duì)于某些應(yīng)用來說)每GB/s存儲(chǔ)的帶寬。 相比傳統(tǒng)磁盤存儲(chǔ)來說,固態(tài)盤有很多缺點(diǎn),到目前為止最大的缺點(diǎn)恐怕就是成本了。有人說,因?yàn)殚W存固態(tài)盤的出現(xiàn),旋轉(zhuǎn)硬盤很快將成為歷史,但我認(rèn)為這在短期內(nèi)是不太可能發(fā)生的,即使發(fā)生了,取代了旋轉(zhuǎn)硬盤的設(shè)備也不會(huì)是基于閃存的,并且不會(huì)在這個(gè)十年結(jié)束之前出現(xiàn)。廠商們說磁帶將走向滅亡已經(jīng)說了20多年了,但是磁帶至今仍然在數(shù)據(jù)保護(hù)策略中扮演著重要的角色?瓷先ニ坪醵鄬哟鎯(chǔ)將一直存在。 這是關(guān)于閃存固態(tài)盤部署系列文章的第一篇,將談到適用于閃存的應(yīng)用,以及一些用于部署的文件系統(tǒng)和其他等問題。第二篇文章將談到硬件問題,第三篇將談一談固態(tài)盤設(shè)計(jì)和所使用的SAS以及RAID控制器。 適用于固態(tài)盤的應(yīng)用 我們都知道,高IOPS架構(gòu)有利于數(shù)據(jù)庫(kù)等應(yīng)用,但是當(dāng)你嘗試向架構(gòu)中引入閃存固態(tài)盤的時(shí)候你應(yīng)該考慮些什么? 對(duì)于應(yīng)用來說,固態(tài)盤真正的好處包括小塊I/O請(qǐng)求的延遲,F(xiàn)在,大多數(shù)企業(yè)級(jí)固態(tài)盤很輕松地就可以保持40000的讀取IOPS和30000的寫入IOPS,而最快的2.5英寸1.5萬轉(zhuǎn)硬盤只能做250個(gè)隨機(jī)IOPS。當(dāng)然,你需要硬件來實(shí)現(xiàn)這一性能,后面的第二篇文章我們將談到這個(gè)問題。 顯然使用密集的數(shù)據(jù)庫(kù)可以從固態(tài)盤技術(shù)中獲益,最突出的要算數(shù)據(jù)庫(kù)索引了,其次是數(shù)據(jù)庫(kù)日志文件。這些文件一般要比表格空間小,而且通常是保存在1.5萬轉(zhuǎn)硬盤中的,甚至經(jīng)常受到性能方面的限制。像iostat這樣的性能工具、sar和其他等性能監(jiān)控工具通常被用于評(píng)估與這些設(shè)備相連接的LUN附加存儲(chǔ)的延遲。 盡管閃存存儲(chǔ)相比旋轉(zhuǎn)磁盤來說仍然是非常昂貴,但是了解閃存所能帶來的潛在好處是非常關(guān)鍵的。如果你的設(shè)備上有較大型的命令隊(duì)列,而且每個(gè)命令的延遲較高,那么也許你的數(shù)據(jù)庫(kù)比較適合于使用閃存存儲(chǔ)。 閃存的文件系統(tǒng)難題 另外一個(gè)新出現(xiàn)可利用閃存的潛在領(lǐng)域就是文件系統(tǒng)元數(shù)據(jù),F(xiàn)在有很多文件系統(tǒng)是將數(shù)據(jù)與元數(shù)據(jù)分離開來的,這樣我們就可以把元數(shù)據(jù)保存在固態(tài)盤上。這種類型的文件系統(tǒng)將變得越來越普遍。順便說一下,當(dāng)我與文件系統(tǒng)設(shè)計(jì)者交流,或者我自己設(shè)計(jì)文件系統(tǒng)的時(shí)候,我個(gè)人比較推崇這種文件系統(tǒng)。這種方法很有意義,因?yàn)樵獢?shù)據(jù)通常有不同的訪問模式。除了文件系統(tǒng)元數(shù)據(jù)以外,與數(shù)據(jù)庫(kù)一樣,對(duì)于那些有日志的文件系統(tǒng)來說,這些文件系統(tǒng)的日志也適合保存在固態(tài)盤中。 對(duì)于大多數(shù)閃存固態(tài)盤來說,最大的問題之一就是它們的讀寫限制在4096字節(jié)范圍內(nèi)。你可能會(huì)認(rèn)為這并不算是個(gè)問題,因?yàn)樗饕?jié)點(diǎn)大多數(shù)是512字節(jié)的,而且就我所知文件系統(tǒng)元數(shù)據(jù)的分配通常是成對(duì)的。這時(shí)候出現(xiàn)的問題我們通常稱之為文件系統(tǒng)超級(jí)塊(superblock)。超級(jí)塊包括關(guān)于文件系統(tǒng)的基本信息:用于文件系統(tǒng)的卷和位置,配置和可調(diào)節(jié)的大小,分配映射表和其他關(guān)鍵數(shù)據(jù)的不同種類。一些文件系統(tǒng)不會(huì)將超級(jí)塊設(shè)定在4096字節(jié)。這對(duì)于緩存大小固定的RAID控制器來說顯然是一個(gè)問題,而且對(duì)于閃存設(shè)備也是一樣的。這并不是說性能十分糟糕,但是對(duì)于大多數(shù)企業(yè)級(jí)閃存設(shè)備來說,在4096字節(jié)的限制基礎(chǔ)上進(jìn)行調(diào)整和讀寫性能降低達(dá)50%已經(jīng)是很不錯(cuò)的了。這要比磁盤好多了,但是對(duì)于一種高成本設(shè)備來說,為什么要浪費(fèi)那50%的性能呢? 對(duì)于我們這些有幸擁有足夠預(yù)算為文件系統(tǒng)購(gòu)買固態(tài)盤的人們來說,你需要考慮文件系統(tǒng)調(diào)節(jié)參數(shù)。有些文件系統(tǒng)的配置是允許超過64KB的,那么使用大型配置對(duì)于基于磁盤的文件系統(tǒng)來說是有利的,而且你可以為浪費(fèi)空間買單。因此,如果你的配置是1MB,在磁盤上保存了很多大容量文件和一些小容量文件,每個(gè)文件的大小都在幾MB,那么犧牲小型文件的空間但是有效地配置大型文件,這樣你就不需要遵循以往針對(duì)大型文件的常規(guī)配置。固態(tài)盤能夠起到幫助作用,因?yàn)樵獢?shù)據(jù)的分配開銷很小,因此遵循常規(guī)分配方式往往不會(huì)影響到性能。盡管固態(tài)盤空間的成本很高,但是當(dāng)你既有大型文件又有小型文件的時(shí)候使用大型分配方式并沒有太大意義。按照最小的文件那樣進(jìn)行分配,這樣就不會(huì)浪費(fèi)寶貴的固態(tài)盤空間。例如,我的筆記本電腦使用了固態(tài)盤,我設(shè)置NTFS為1024字節(jié),而不是默認(rèn)的4096字節(jié),因?yàn)槲抑牢矣泻芏嘈⌒臀募?/p> 其他固態(tài)盤軟件問題 當(dāng)利用閃存固態(tài)盤設(shè)備滿足高IOPS需求的時(shí)候,你還要考慮到其他一些軟件規(guī)劃的問題。例如,如果你在固態(tài)盤上將元數(shù)據(jù)分為文件系統(tǒng)和數(shù)據(jù)庫(kù),那么你的備份和找回程序需要能夠訪問固態(tài)盤。有時(shí)候這些程序有一些認(rèn)證的硬件,那么你需要確保固態(tài)盤是支持這些硬件的。 到目前為之最大的問題恐怕就是你需要多大的空間了。如果你使用固態(tài)盤來保存文件系統(tǒng)元數(shù)據(jù)或者日志、數(shù)據(jù)索引或者日志的話,那么空間計(jì)算就會(huì)變得極其復(fù)雜。文件系統(tǒng)中的超級(jí)塊通常很小,不便于計(jì)算。往往管理員也不了解目錄中的文件數(shù)或者目錄數(shù)。文件系統(tǒng)的不同空間分配也是不同的,你肯定不希望空間被占滿,因?yàn)槟銦o法添加更多文件或者完成請(qǐng)求中的文件寫入操作。文件系統(tǒng)日志也是一樣。在數(shù)據(jù)庫(kù)方面也面臨和文件系統(tǒng)一樣的問題。你不希望空間被占滿,但是用于索引和日志的空間是很容易計(jì)算出來的。對(duì)于數(shù)據(jù)庫(kù)來說,另外一個(gè)需要考慮的就是,如果你在文件系統(tǒng)上運(yùn)行數(shù)據(jù)庫(kù)的話,你就需要計(jì)算數(shù)據(jù)庫(kù)和文件系統(tǒng)的空間需求。所有這些都會(huì)變成一個(gè)難題,因?yàn)楣虘B(tài)盤的成本要遠(yuǎn)遠(yuǎn)高于磁盤的成本,因此浪費(fèi)空間在我看來是非最優(yōu)的。 本文出自:億恩科技【www.riomediacenter.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |