高效存儲技術研究

 

高效存儲技術研究

分類: 計算機理論 數據存儲 2010-12-08 21:29 9620人閱讀 評論(36) 收藏 舉報

高效存儲技術研究

1 引言

物質、能量和信息是自然科學研究的三個基本對象,處理、傳輸和存儲是信息計算的三大基本任務。隨着信息化技術水平的不斷提高,數據已經取代計算成爲了信息計算的中心,數據將成爲企業最終有價值的財富。1998年圖靈獎獲得者Jim Gray曾斷言:現在每18個月新增的存儲量等於有史以來存儲量之和。根據預測,2020年數據宇宙將達到35.2 ZB(1 ZB = 1百萬PB),比2009的0.8ZB增加44倍。在如此強大的實際需求推動下,人們不斷追求海量存儲容量、高性能、高安全性、高可用性、可擴展性、可管理性等特性,對存儲的需求不斷提高。信息量呈現爆炸式增長趨勢,使得存儲已經成爲急需提高的瓶頸。

面對數據量的急劇膨脹,企業需要不斷購置大量的存儲設備來應對不斷增長的存儲需求。權威調查機構的研究表明,目前世界大公司的年度存儲需求增長率爲100%。然而,這似乎並不能從根本解決問題。首先,存儲設備的採購預算越來越高,大多數企業難以承受如此巨大的開支。其次,隨着數據中心的擴大,存儲管理成本、佔用空間、製冷能力、能耗等也都變得越來越嚴重,其中能耗尤爲突出。在美國,數據中心大約消耗掉2%總電量,每年電費開銷高達40億美元。Gartner曾預測,2009年全世界將會有一半以上的數據中心電力供應不足。Emerson的調研則顯示2011年96%的數據中心將缺乏電力,美國許多企業的數據中心被迫遷至其它電力供應充足的地方。再者,大量的異構物理存儲資源大大增加了存儲管理的複雜性,容易造成存儲資源浪費和利用效率不高。研究發現,企業的存儲利用率往往不足50%,存儲投資回報率水平較低。

因此,我們需要另闢蹊徑來解決信息的急劇增長問題。高效存儲理念正是爲此而提出的,它旨在緩解存儲系統的空間增長問題,縮減數據佔用空間,簡化存儲管理,最大程度地利用已有資源,降低成本。

2 何謂高效存儲?

高效存儲目前還沒有統一的定義,各個存儲廠商分別有各自的定義和詮釋,但目標是基本一致的,即提高存儲利用效率、簡化存儲管理、降低存儲能耗,從而獲得較低的總持有成本和運營成本。高效存儲的關鍵是平衡,需要在存儲成本、商業價值以及運營風險之間作好平衡。

從現有的高效存儲技術和存儲產品來看,高效存儲的基本策略主要有存儲資源整合、動態存儲容量配置、縮減存儲容量、信息生命週期管理和降低能耗,高效存儲技術基於這五種基本策略來實現高效的存儲。SNIA GSI(Green Storage Initiative)針對綠色存儲給出了四種基本策略:提高設備能耗效率、使用更少的冗餘、提供更少的空間、存儲更多的數據,相應的高效存儲技術和管理策略概覽如表1所示。

表1 高效存儲技術和管理策略概覽

NO.

高效存儲技術

簡要說明

1

Mange Your Data

減少冗餘數據副本,減緩數據增長率;根據數據價值和SLA定製數據管理和保護策略,降低總成本

2

Select the Appropriate Storage RAID Level

根據數據價值和SLA選擇合適的RAID級別,結合其他高效存儲技術來減少存儲量和能耗

3

Leverage Storage Virtualization

將分散物理存儲資源整合成虛擬的存儲資源池,最大化存儲利用率,減緩存儲需求

4

Use Data Compression

有效減小數據通信量和存儲量,同是產生一定的性能負載,有些數據壓縮有限,操作順序影響壓縮效果

5

Incorporate Data Deduplication

刪除塊級冗餘數據,減小存儲量

6

File Deduplication

刪除文件級冗餘數據,減小存儲量

7

Thin Provisioning of Storage to Servers

自動精減配置在滿足存儲需求的同時按需分配存儲,最小化存儲需求

8

Leverage Resizeable Volumes

根據需要動態調整數據卷大小,提高存儲利用率,減小存儲需求

9

Writeable Snapshot

減少測試、仿真、建模等應用的存儲空間需求

10

Deploy Tired Storage

根據數據價值和訪問頻度自動在不同存儲層次之間流動,降低成本

11

Solid State Storage

SSD具有高性能、低能耗的特點,但成本高、寫抖動、使用壽命短等問題

12

MAID and Slow-Spin Disk Technology

將空閒磁盤轉換成非活動或低速旋轉模式,可有效節省能耗

13

Tape Subsystem

容量大、存儲有效期長、無能耗,磁帶仍是數據長期歸檔的最佳選擇

14

Fabric Design

網絡設計影響能耗和冷卻系統

15

File System Virtualization

管理物理分佈的數據,提高存儲效率、安全性、訪問性能和數據保護,降低能耗

16

Server, Fabric and Storage Virtualization

綜合多種虛擬化技術減緩存儲需求、提高存儲利用率、降低能耗

17

Flywheel UPS Technology

針對不同價值的存儲採用不同的電源保護策略

18

Data Center Air Conditioning Improvement

改進空調系統幫助節省能耗

19

Increased Data Center temperatures

保證數據中心正常運行的前提下,提高 溫度以節省大量能耗

20

Work with Your Regional Utilities

尋求本地電力提供機構幫助節省能耗

表1中所羅列的高效存儲技術和管理策略均是最佳實踐,但是單一技術往往難以顯著地提高存儲利用效率、降低能耗、降低成本,實際中通常綜合運用其中多種技術以獲得更佳的整體效果。另外,一定要根據實際的數據特徵和應用環境來選擇合適的技術和策略,不可照搬亂套,否則可能效果甚微,甚至得不償失。

3 高效存儲技術

目前業界公認的五項高效存儲技術分別是數據壓縮、重複數據刪除、自動精簡配置、自動分層存儲和存儲虛擬化,已經在存儲產品得到廣泛推廣和應用,IBM最新推出的Storwize V7000存儲陣列甚至同時集這五項技術與一身。其他的相關技術還包括固態硬盤SSD、MAID技術、動態卷、RAID級別等,它們分別利用自身的特點提高存儲效率、簡化存儲管理和節約成本。

3.1 數據壓縮

數據壓縮是一種對數據進行編碼以減小數據量的處理方法和過程。在有些應用中,採用有損壓縮壓縮過程中會丟失一部分的原始信息對某些格式的數據如數字圖像進行壓縮;但是對大多數的IT應用,需要的是無損壓縮壓縮過程能夠保存完整的原始信息,並且能夠從壓縮數據精確地重構原始數據。存儲技術中使用無損數據壓縮技術來減小數據量,根據目前的技術水平,無損壓縮算法一般可以把普通數據壓縮到原來的1/2~1/4,常用的無損壓縮算法有霍夫曼(Huffman)、Lempel-Ziv(LZ)、LZW(Lempel-Ziv & Welch)、LZR (LZ-Renau)等壓縮算法。其中,LZ算法應用廣泛,PKZIP、gzip、PNG、CAB格式均使用該算法或變體;GIF圖像格式使用LZW算法,LZR是ZIP方法的基礎。

數據壓縮要求在寫入數據前進行編碼,在讀取數據前進行解碼,因此會對存儲系統性能產生一定的影響。然而,數據壓縮技術可以有效縮減數據存儲容量以及存儲硬件需求,在存儲技術中應用非常廣泛,尤其是近線和離線存儲。數據壓縮並非對任何數據都會效果顯著,諸如JPEG、MPEG、MP3等文件格式,這類數據已經由應用層作過壓縮處理,存儲系統對它的再次壓縮幾乎沒有效果,而且會產生額外的性能損失。另外,數據壓縮和加密機制往往同時被應用,壓縮和加密操作需要按照合適的順序執行。加密會對數據進行轉置和變換,通常會增加字節冗餘數據發現的難度以及降低數據壓縮率,所以數據壓縮應當先於數據加密執行,而解壓縮則以相反次序執行,以獲得更高的壓縮率。

數據壓縮可以有效縮減數據存儲容量,緩解數據增長壓力,不足之處是相應產生一定性能損失。因此在存儲系統中實際運用時,需要根據存儲的性能、容量、成本等因素綜合考慮,不能由於採用數據壓縮而導致性能指標不能達標,爲了提高性能而又增加總成本。通常來看,性能要求高的實時在線數據存儲不適合採用數據壓縮;而以數據備份、容災、歸檔、複製爲主的近線和離線存儲,存儲容量需求大但性能要求較低,非常適合採用數據壓縮技術。然而,如果有方法可以解決壓縮和解壓所產生的性能損失問題(如專用芯片、高效算法),在線存儲採用數據壓縮也是可行的。

3.2 重複數據刪除

重複數據刪除(Deduplication)是一種數據縮減技術,可對存儲容量進行有效優化。它通過刪除數據集中重複的數據,只保留其中一份,從而消除冗餘數據。Dedupe技術可以有效提高存儲效率和利用率,數據可以縮減到原來的1/20~1/50。這種技術可以很大程度上減少對物理存儲空間的需求,減少傳輸過程中的網絡帶寬,有效節約設備採購與維護成本。同時它也是一種綠色存儲技術,能有效降低能耗。

 

圖1 重複數據刪除技術原理

Dedupe按照消重的粒度可以分爲文件級和數據塊級。文件級的dedupe技術也稱爲單一實例存儲(SIS, Single Instance Store),數據塊級的重複數據刪除,其消重粒度更小,可以達到4-24KB之間。顯而易見,數據塊級可以提供更高的數據消重率,因此目前主流的 dedupe產品都是數據塊級的。Dedupe將文件分割成定長或變長的數據塊,採用MD5/SHA1等Hash算法爲數據塊計算指紋(FP, Fingerprint)。可以同時使用兩種及以上hash算法計算數據指紋,以獲得非常小的數據碰撞發生概率。具有相同指紋的數據塊即可認爲是相同的數據塊,存儲系統中僅需要保留一份。這樣,一個物理文件在存儲系統就對應一個邏輯表示,由一組FP組成的元數據。當進行讀取文件時,先讀取邏輯文件,然後根據FP序列,從存儲系統中取出相應數據塊,還原物理文件副本。

Dedupe技術可以幫助衆多應用降低數據存儲量,節省網絡帶寬,提高存儲效率,減小備份窗口,有效節省成本。Dedupe技術目前最成功的應用領域是數據備份、容災和歸檔系統,然而事實上dedupe技術可以用於很多場合,包括在線數據、近線數據、離線數據存儲系統,可以在文件系統、卷管理器、NAS、SAN中實施。Dedupe也可以用數據傳輸與同步,作爲一種數據壓縮技術可用於數據打包。爲什麼dedupe技術最成功的應用是數據備份領域,而其他領域應用很少呢?這主要由兩方面的原因決定的,一是數據備份應用對數據進行多次備份後,存在大量重複數據,非常適合這種技術。二是dedupe技術的缺陷,主要是數據安全、性能。Dedupe使用hash指紋來識別相同數據,存在產生數據碰撞並導致數據不一致性的可能性。Dedupe需要進行數據塊切分、數據塊指紋計算和數據塊檢索,消耗可觀的系統資源,對存儲系統性能產生影響。

信息呈現的指數級增長方式給存儲容量帶來巨大的壓力,而dedupe是最爲行之有效的解決方案,因此固然其在性能和安全方面有一定的不足,它大行其道的技術趨勢無法改變。更低碰撞概率的hash函數、多核、GPU、SSD等,這些技術推動dedupe走向成熟,由作爲一種產品而轉向作爲一種功能,逐漸應用到近線和在線存儲系統。ZFS已經原生地支持dedupe技術,我們相信將會不斷有更多的文件系統、存儲系統支持這一功能。此外,數據壓縮可以與dedupe技術結合應用以獲得更大的數據縮減比率,寫入數據時去重得先於壓縮執行,讀取數據的執行順序則相反,如此可以達到最佳效果。

Dedupe的衡量維度主要有兩個,即重複數據刪除率(Deduplication ratios)和性能。Dedupe性能取決於具體實現技術,而重複數據刪除率則由數據自身的特徵和應用模式所決定,目前各存儲廠商公佈的重複數據刪除率從20:1到500:1不等。對何種數據進行消重,時間數據還是空間數據,全局數據還是局部數據?何時進行消重,在線還是離線?在何處進行消重,源端還是目標端?如何進行消重?實際應用Dedupe技術時應該考慮各種因素,因爲這些因素會直接影響其性能和效果。另外值得一得的是,hash碰撞問題現在還沒有根本的解決方法,因此對於關鍵業務數據應該慎重考慮應用dedupe技術。

3.3 自動精簡配置

自動精簡配置(Thin Provisioning)的概念最早由3PAR公司提出,是一種全新的存儲空間管理技術,利用虛擬化方法減少物理存儲部署,可最大限度提升存儲空間利用率。它的核心原理是“欺騙”操作系統,讓其認爲存儲系統中有很大的存儲空間,而實際上的物理存儲空間並沒有那麼大。自動精簡配置減少已分配但未使用的存儲容量的浪費,根據用戶的實際所需自動分配和利用存儲資源。目前,IBM、HDS、EMC、3PAR的高端磁盤陣列均支持該項技術。

 

圖2 傳統存儲空間分配與自動精簡配置比較

傳統的存儲系統中,爲確保存儲容量足夠使用,用戶往往會部署多於實際需求的充足物理存儲空間。但在實際使用過程中,部署容量通常未受到充分利用。行業研究組織發現在某些項目中,實際使用容量僅佔部署容量的20%—30%。因此,“自動精簡配置”技術應運而生,旨在實現更高的存儲容量利用率,並帶來更大的投資回報。

自動精簡配置不會一次性的劃分過大的空間給某項應用,而是根據該項應用實際所需要的容量,多次的少量的分配給應用程序,當該項應用所產生的數據增長,分配的容量空間已不夠的時候,系統會再次從後端存儲池中補充分配一部分存儲空間。自動精簡配置技術擴展了存儲管理功能,雖然實際分配的物理容量小,但可以爲操作系統提供超大容量的虛擬存儲空間。隨着應用寫入的數據越來越多,實際存儲空間也可以及時擴展,而無須手動擴展。換句話說,自動精簡配置提供的是“運行時空間”,可以顯著減少已分配但是未使用的存儲空間。利用自動精簡配置技術,能夠幫助用戶在不降低性能的情況下,大幅提高存儲空間利用效率,降低初始投資成本;需求變化時,無需更改存儲容量設置;通過虛擬化技術集成存儲,降低運營成本;減少超量配置,降低總功耗。

毫無疑問,自動精簡配置技術是一項非常有效的存儲管理工具,但在實際應用過程中也會產生一些問題,需要根據所處的數據環境和存儲需求來權衡。首先,當預先分配的存儲空間不夠時,系統會從存儲資源池中補充存儲空間。然而,如果已經分配的空間不再使用而空閒下來,空間回收相對困難,現在的產品支持較少。可見這種技術呈現只增不減的態勢,彈性不足。其次,當存儲空間超過預先設置的閾值,系統會觸發存儲空間分配。對於高負載的數據應用來說,面對突發的訪問峯值,有可能在配置更多的物理存儲空間之前系統就變得過載,導致磁盤和應用程序錯誤使得整個系統運行極其緩慢。再者,爲了維持精簡配置環境增加了存儲系統複雜性,如果一旦發生故障,系統恢復可能比傳統的存儲系統更加緩慢。

3.4 自動分層存儲

自動分層存儲(Automated Tiered Storage,ATS)屬於分層存儲,而分層存儲其實由來已久。分層存儲(Tiered Storage),也稱爲層級存儲管理(Hierarchical Storage Management),廣義上講,就是將數據存儲在不同層級的介質中,並在不同的介質之間進行自動或者手動的數據遷移,複製等操作。同時,分層存儲也是信息生命週期管理(ILM)的一個具體應用和實現。分層存儲發展至自動分層存儲,主要擯棄了甄別數據和遷移數據的人工操作,而實現了智能化和自動化。

 

圖3 自動分層存儲結構

數據有生命週期,從創建到刪除的時間內,信息的商業價值和訪問頻度不斷降低。存儲設備有高低貴賤之分,性能好、可靠性高、讀寫速度快的設備,自然價格就高;而性能較低、讀寫速度慢的設備,價格也就相對低廉。“分層”是指,對數據的訪問需求增加或減少時,將數據在不同類型的存儲介質之間遷移,即把那些不常被訪問的數據或過時的數據轉移到速度較慢、成本較低的存儲介質上,如SATA磁盤或磁帶,以此來降低硬件成本;而把那些經常被訪問或重要的數據放在速度較快、成本較高的光纖磁盤甚至固態硬盤(SSD)上,以此來提升性能。自動分層存儲就是要讓數據和設備“門當戶對”,不僅可以降低存儲容量成本和管理成本,同時還維持適當的性能水平。

分層存儲的概念已經出現已久,並且這一概念被EMC、STK等廠商昇華爲信息生命週期管理(ILM)。不過,這一數據管理的理想因爲操作複雜、成本較高,實現起來卻不那麼理想,ILM叫好而不叫座。以往,數據的分層存儲依靠存儲管理員的手工操作。如今,這一過程實現了自動化,智能軟件可以自動將數據轉移到最經濟高效的存儲介質上。SSD的出現使自動分層技術顯得更加有必要,它能使一個兩層甚至三層的存儲系統享有SSD級的性能,同時,反過來又促進了SSD的應用。隨着自動化數據分層技術不斷成熟,它也許有助於促進SSD的採用,因爲它可以幫助管理員將分層技術調整到足夠優化的地步,從而確保能夠從性能最高但成本也最高的存儲介質中獲得最大效益。

目前提供ATS存儲產品的廠商主要有3PAR、DELL、Compellent、EMC、IBM,它們都是自動實現對熱點數據的甄別和遷移,但彼此之間其實還是存在較大的差別。第一大區別體現在熱點數據的甄別方式上。一種是基於策略的方式,如EMC的FAST2;一種是支持全自動方式,用戶不需要制定任何策略,如IBM的Easy Tier、Compellent的Data Progression、DELL的EqualLogic 5.0。另一大區別體現在被遷移數據的粒度方面,分爲卷級、子卷級、文件級和數據塊級。目前,大多數廠商的ATS技術都能實現子卷級數據遷移。是否爲子卷級的數據遷移是評價ATS技術的一個很重要的參數,因爲它關係到ATS技術的實際運行效果。數據塊級是自動分級存儲的最高境界,只有這一步才能做到真正的對於應用完全自動化和透明。目前,EMC、3PAR是子卷級,NetAPP是文件級,Compellent做到了數據塊級。不過,各廠商的ATS都在向數據塊級逼近。

自動分層存儲具有許多優點,被存儲業內人士所推崇,但也需要注意一些潛在的問題。首先,從性能的角度看,大部分自動分層系統都是使用SSD加快I/O和減少延遲性。這種做法的好處在於它可以讓存儲管理員自動地利用SSD,缺點在於整個環境的其他部分也必須足夠快才能夠充分利用它的優點。同時,大量部署SSD目前在成本上還是難以接受的。其次,一些自動分層解決方案通過將非活躍數據遷移到SATA存儲層來減少成本,並減小購買更多光纖或SAS容量的必要性。這對性能提升並沒有任何幫助,自動分層系統只是爲了處理好舊數據,而許多數據中心多的就是這種數據。但是,主存儲系統並不是爲了在更長的時間內存儲舊數據而設計的,歸檔到磁盤或許是更行之有效的方案。再者,對於訪問模式頻繁變化的存儲系統,數據頻繁在不同存儲層次之間遷移,可能會對系統性能產生影響,甚至抵消原來帶來的性能提升。另外,如果數據被以近似均勻的頻率訪問,則數據分層會異常困難和複雜。最後,數據被分成爲多個數據小塊分別存儲與不同的存儲層次,增加了元數據管理的複雜性,一旦系統發生故障,數據的恢復將會更加複雜和緩慢。

3.5 存儲虛擬化

隨着存儲的需求不斷激增,物理存儲資源(如服務器、磁盤陣列、網絡設備)也隨之成倍增長。這種分佈的異構存儲資源的蔓延發展最終使管理變得異常困難,從而導致存儲資源未被充分發揮效用,存儲利用率只有50%的現象很普遍,導致新存儲的投資白白浪費掉。對於這種存儲管理困境的一種解決辦法便是存儲虛擬化。

 

圖4 存儲虛擬化簡化存儲管理

存儲虛擬化將分散的物理存儲資源整合抽象成單一邏輯資源池,使得管理員僅以單一的邏輯視圖對存儲資源進行識別、配置和管理,如圖4所示。虛擬化將存儲資源的物理特性隱藏起來,對於用戶來說虛擬化的存儲資源就像是一個巨大的“存儲池”,而不必關心其背後的物理存儲設備。存儲虛擬化是存儲整合的一個重要組成部分,它能減少管理問題,而且能夠最大化存儲利用率,減緩存儲需求,這樣可以降低新增存儲的費用。如果沒有存儲虛擬化,只能分別管理物理存儲設備,不僅管理複雜性很大,並且容易造成存儲資源的浪費。

存儲虛擬化是通過將一個(或多個)目標服務或功能與其他附加的功能集成,統一提供有用的全面存儲服務。典型的虛擬化包括如下一些情況:屏蔽系統的複雜性,增加或集成新的功能,仿真、整合或分解現有的服務功能等。虛擬化是作用在一個或者多個實體上,而這些實體則是用來提供存儲資源或服務的。存儲虛擬化是一個抽象的定義,它並不能夠明確地指導用戶怎麼去比較產品及其功能,這個定義只能用來描述廣義的技術和產品。存儲虛擬化同樣也是一個抽象的技術,幾乎可以應用在存儲的所有層面:文件系統、文件、塊、主機、網絡、存儲設備等等。存儲虛擬化可以在三個不同的層面上實現:基本專用卷管理軟件在主機服務器上實現,或者利用陣列控制器的固件在磁盤陣列上實現,或者利用專用的虛擬化引擎在存儲網絡上實現。而具體使用哪種方法來實現,應根據實際需求來決定。

存儲虛擬化其實算不上是全新的概念,RAID、LVM、SWAP、VM、文件系統等這些都歸屬於其範疇。存儲的虛擬化技術有很多優點,比如提高存儲利用效率和性能,簡化存儲管理複雜性,綠色節省,降低運營成本等。現代數據應用在存儲容量、I/O性能、可用性、可靠性、利用效率、管理、業務連續性等方面對存儲系統不斷提出更高的需求,基於存儲虛擬化提供的解決方案可以幫助數據中心應對這些新的挑戰,有效整合各種異構存儲資源,消除信息孤島,保持高效數據流動與共享,合理規劃數據中心擴容,簡化存儲管理以及綠色節能等。它還是自動精簡配置、動態卷、快照等存儲技術的基礎。存儲虛擬化是目前的存儲熱點技術,也是未來的存儲技術趨勢,受到衆多存儲軟硬件廠商的大力推崇。

存儲虛擬化的不利方面是額外增加的複雜性。存儲層是存儲環境新增的部分,隨着虛擬產品打補丁和更新,必須進行管理和維護。同樣,存儲設備之間的互操作性和兼容性也會有所影響。另外,虛擬層可能會與存儲系統的某些特性相干擾,比如遠程複製。另一個問題就是一旦存儲虛擬化實施後,重新恢復或是取消操作存在的困難。這並不是不可能,但是重新將應用與存儲位置進行關聯的過程很容易出錯。

3.6 其他技術

除了上述的五大基本的高效存儲技術之外,還有其他許多高效存儲技術和策略,羅列如下。(1)管理數據:根據數據價值和SLA定製數據管理和保護策略,減少冗餘數據副本,減緩數據增長速率,降低成本;(2)選擇RAID級別:根據數據價值和SLA選擇合適的RAID級別,並結合其他高效存儲技術來減少存儲量和能耗;(3)動態數據卷:按照實際存儲需求動態調整數據卷大小,提高存儲利用率,減小存儲需求;(4)SSD:具有高性能、低能耗的特點,有效緩解高性能應用的I/O瓶頸問題,並可作爲分層存儲的頂層存儲介質,提高整合性能和降低成本;(5)MAID:將空閒磁盤轉換成非活動或低帶旋轉模式,可有效節省能耗。(6)可寫快照:減少用於測試、仿真、建模等應用的存儲空間需求。下面重點分析一下SSD和RAID技術。

3.6.1 固態硬盤SSD

固態硬盤(SSD, solid state disk)是目前倍受存儲界廣泛關注的存儲新技術,它被看作是一種革命性的存儲技術,可能會給存儲行業甚至計算機體系結構帶來深刻變革。在計算機系統內部,L1 cache、L2 cache、總線、內存、外存、網絡接口等存儲層次之間,目前來看內存與外存之間的存儲鴻溝最大,磁盤I/O通常成爲系統性能瓶頸。SSD與傳統磁盤不同,它是一種電子器件而非物理機械裝置,它具有體積小、能耗小、搞干擾能力強、尋址時間極小(甚至可以忽略不計)、IOPS高、I/O性能高等特點。因此,SSD可以有效縮短內存與外存之間的存儲鴻溝,計算機系統中原本爲解決I/O性能瓶頸的諸多組件和技術的作用將變得越來越微不足道,甚至最終將被淘汰出局。試想,如果SSD性能達到內存甚至L1/L2 cache,後者的存在還有什麼意義,數據預讀和緩存技術也將不再需要,計算機體系結構也將會隨之發生重大變革。

對於存儲系統來說,SSD最大突破是大幅提高了IOPS,摩爾定理的效力再次顯現,通過簡單地用SSD替換傳統磁盤,就可能可以達到和超越綜合運用緩存、預讀、高併發、數據局部性、磁盤調度策略等軟件技術的效用。SSD目前對IOPS要求高的存儲應用最爲有效,主要是大量隨機讀寫應用,這類應用包括互聯網行業和CDN行業的海量小文件存儲與訪問(圖片、網頁)、數據分析與挖掘領域的OLTP等。SSD已經開始被廣泛接受並應用,當前主要的限制因素包括價格、使用壽命、寫性能抖動等。從最近兩年的發展情況來看,這些問題都在不斷地改善和解決,SSD的發展和廣泛應用將勢不可擋。

3.6.2 磁盤陣列RAID

1988 年美國加州大學伯克利分校的 D. A. Patterson 教授等首次在論文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念,即廉價冗餘磁盤陣列( Redundant Array of Inexpensive Disks )。RAID即獨立磁盤冗餘陣列,通常簡稱爲磁盤陣列。簡單地說, RAID 是由多個獨立的高性能磁盤驅動器組成的磁盤子系統,從而提供比單個磁盤更高的存儲性能和數據冗餘的技術。 RAID 是一類多磁盤管理技術,其向主機環境提供了成本適中、數據可靠性高的高性能存儲。 SNIA 對 RAID 的定義是:一種磁盤陣列,部分物理存儲空間用來記錄保存在剩餘空間上的用戶數據的冗餘信息。當其中某一個磁盤或訪問路徑發生故障時,冗餘信息可用來重建用戶數據。磁盤條帶化雖然與 RAID 定義不符,通常還是稱爲 RAID (即 RAID0)。RAID 技術具有大容量、高性能、可靠性、可管理性等顯著的特徵和優勢,基本可以滿足大部分的數據存儲需求。

RAID 的兩個關鍵目標是提高數據可靠性和 I/O 性能。磁盤陣列中,數據分散在多個磁盤中,然而對於計算機系統來說,就像一個單獨的磁盤。通過把相同數據同時寫入到多塊磁盤(典型地如鏡像),或者將計算的校驗數據寫入陣列中來獲得冗餘能力,當單塊磁盤出現故障時可以保證不會導致數據丟失。在這樣的冗餘機制下,可以用新磁盤替換故障磁盤, RAID 會自動根據剩餘磁盤中的數據和校驗數據重建丟失的數據,保證數據一致性和完整性。數據分散保存在 RAID 中的多個不同磁盤上,併發數據讀寫要大大優於單個磁盤,因此可以獲得更高的聚合 I/O 帶寬。當然,磁盤陣列會減少全體磁盤的總可用存儲空間,犧牲空間換取更高的可靠性和性能。比如,RAID1 存儲空間利用率僅有 50%,RAID5 會損失其中一個磁盤的存儲容量,空間利用率爲 (n-1)/n 。

RAID 中主要有三個關鍵概念和技術:鏡像( Mirroring )、數據條帶( Data Stripping )和數據校驗( Data parity ) [3][4][5] 。鏡像,將數據複製到多個磁盤,一方面可以提高可靠性,另一方面可併發從兩個或多個副本讀取數據來提高讀性能。顯而易見,鏡像的寫性能要稍低,確保數據正確地寫到多個磁盤需要更多的時間消耗。數據條帶,將數據分片保存在多個不同的磁盤,多個數據分片共同組成一個完整數據副本,這與鏡像的多個副本是不同的,它通常用於性能考慮。數據條帶具有更高的併發粒度,當訪問數據時,可以同時對位於不同磁盤上數據進行讀寫操作,從而獲得非常可觀的 I/O 性能提升 。數據校驗,利用冗餘數據進行數據錯誤檢測和修復,冗餘數據通常採用海明碼、異或操作等算法來計算獲得。利用校驗功能,可以很大程度上提高磁盤陣列的可靠性、魯棒性和容錯能力。不過,數據校驗需要從多處讀取數據並進行計算和對比,會影響系統性能。 不同等級的 RAID 採用一個或多個以上的三種技術,來獲得不同的數據可靠性、可用性和 I/O 性能。至於設計何種 RAID (甚至新的等級或類型)或採用何種模式的 RAID ,需要在深入理解系統需求的前提下進行合理選擇,綜合評估可靠性、性能和成本來進行折中的選擇。

RAID 這種設計思想很快被業界接納, RAID 技術作爲高性能、高可靠的存儲技術,已經得到了非常廣泛的應用。 RAID 主要利用數據條帶、鏡像和數據校驗技術來獲取高性能、可靠性、容錯能力和擴展性,根據運用或組合運用這三種技術的策略和架構,可以把 RAID 分爲不同的等級,以滿足不同數據應用的需求。目前業界公認的標準是 RAID0 ~ RAID5 ,除 RAID2 外的五個等級被定爲工業標準,而在實際應用領域中使用最多的 RAID 等級是 RAID0 、 RAID1 、 RAID3 、 RAID5 、RAID6 和 RAID10 。RAID 每一個等級代表一種實現方法和技術,等級之間並無高低之分。在實際應用中,應當根據用戶的數據應用特點,綜合考慮可用性、性能和成本來選擇合適的 RAID 等級,以及具體的實現方式。

4 總結

現代信息呈現爆炸式增長趨勢,數據總量急劇膨脹。信息在帶來價值和財富的同時,也使給我們帶來許多挑戰,諸如存儲空間巨大、管理複雜性、存儲利用率低下、電力消耗巨大、冷卻能力不足、總體擁有成本高昂。數據壓縮、重複數據刪除、自動精簡配置、自動分層存儲、存儲虛擬化等高效存儲技術有效解決或緩解了這些難題。然而,目前還沒有從根本上解決,挑戰和壓力依然很巨大,我們期待高密度、超低能耗、高可靠的存儲硬件技術發展以及全新的存儲體系結構的出現。因爲潛在的巨大存儲需求和市場,存儲將仍然是最爲熱門的IT領域,現有的高效存儲技術會得到長足發展,新的存儲技術將會層出不窮。

分享到:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章