高效存儲技術研究
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 領域,現有的高效存儲技術會得到長足發展,新的存儲技術將會層出不窮。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
