傳統(tǒng)RAID技術的瓶頸到底有哪些?
1、背景
在各類存儲介質中,機械磁盤由于采用了電機驅動,故障率***,平均無故障時間(MTBF)指標也***,因此磁盤的數(shù)據保護技術至關重要。
加利福尼亞大學伯克利分校(University of California-Berkeley)在1988年,發(fā)表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中談到了RAID這個詞匯,而且定義了RAID的5層級。自1989年以來,RAID(獨立磁盤冗余陣列)技術一直是磁盤系統(tǒng)數(shù)據保護的標準的和最常用的方式。在絕大部分用戶眼中,RAID是一種成熟、可靠的解決方案,也被視為數(shù)據存儲的基礎技術。那些基本的RAID概念很多年都不曾改變過,至今仍然十分流行,也擁有有眾多的用戶。但事實上,傳統(tǒng)的RAID技術正在逐漸被一些新的技術取代。
2、傳統(tǒng)RAID技術的主要瓶頸
當故障發(fā)生時,根據用戶使用的RAID類型,(一個或多個)故障磁盤上的數(shù)據會通過校驗值計算或者從鏡像盤拷貝的方式重新生成原來的數(shù)據。但是:
(1)傳統(tǒng)RAID在數(shù)據重建方面表現(xiàn)比較差,以前因為單塊磁盤的容量較小,當磁盤發(fā)生故障之后,數(shù)據重建需要的時間大部分用戶是可以接受的,但隨著數(shù)據量的不斷增大,在許多應用環(huán)境中單塊的磁盤容量在4TB或者以上,數(shù)據重建可能需要十幾個小時,甚至幾十個小時才能將故障盤中的數(shù)據恢復。這樣就有一個比較大的問題,重建時間越久發(fā)生二次損壞的概率就越大,一旦發(fā)生了二次損壞很有可能會造成數(shù)據全部丟失無法恢復;
(2)比如當RAID組中某塊磁盤發(fā)生故障以后,處于同一個RAID組中的其他盤將會存在大量的讀操作,去獲取條帶數(shù)據,然后生成故障盤上的數(shù)據,***寫入熱備磁盤中,這是一個完整的數(shù)據重建過程。會造成若干塊磁盤存在讀操作,一塊磁盤存在寫操作。我們很容易的發(fā)現(xiàn),熱備盤是寫操作性能瓶頸點,同時RAID組中的其他磁盤是讀操作性能瓶頸點,大容量磁盤對傳統(tǒng)RAID技術的***挑戰(zhàn)就在于此。
另外在數(shù)據重建的過程中,上層文件系統(tǒng)的性能也會受到極大的影響。并且在應用數(shù)據壓力的情況下,數(shù)據重建的I/O和應用的I/O交錯在一起,導致惡性循環(huán),使得數(shù)據重建和應用I/O性能都表現(xiàn)較差;
(3)RAID系統(tǒng)需要為發(fā)生故障的那個磁盤記錄一系列的關聯(lián)信息, 包括跟蹤故障磁盤的位置、相關數(shù)據、數(shù)據位置、數(shù)據產生時間等信息的痕跡,這個時間周期從故障磁盤被拔出那一刻開始,一直到RAID組被修復(或者RAID組被毀壞)。這是一個冗長乏味的過程,如果是加密的磁盤,則還需要復雜的手工操作。
既然傳統(tǒng)RAID技術有上述的瓶頸,那是不是用SSD硬盤就能徹底解決呢?不容置疑如果不在乎成本的因素,肯定是能解決一些問題的,但不能徹底解決,這源于機制的作用,因為傳統(tǒng)RAID技術的機制已經非常的固化。后期在許多應用場景下可能會廣泛采用混合的機制,比如采用SSD等高速硬盤用來存放熱點數(shù)據,需要長期保留的大容量的數(shù)據就用大容量的普通硬盤,但同時還是都需要做數(shù)據保護的。
3、新的技術
最近幾年業(yè)內興起了許多新的技術,我個人覺得其主要思想都是將數(shù)據分割成多個等長的不能直接讀取的數(shù)據塊,并且在每個數(shù)據塊上附加元數(shù)據信息。一份完整的數(shù)據通過全部數(shù)據塊中的部分子集就可以復原,也就是說只要有部分數(shù)據塊存在,數(shù)據就不會丟失。這些數(shù)據塊可以分布在不同的存儲位置,可以是一個數(shù)據中心內部,甚至可以跨越城市、跨越一個地區(qū),或者在世界上任何其他地方,形成一個邏輯的資源池。在數(shù)據重建時數(shù)據寫入操作不再局限在一塊磁盤上面,而在邏輯的存儲池中任意布局,相應的重建需要的數(shù)據塊讀操作也不再局限在一個RAID組中了,而且根本不需要數(shù)據的復制操作。面對自然災難以及技術錯誤時具有很強的生存適應能力,因為只要有部分數(shù)據塊存在,就能復原完整的原始數(shù)據。實際上,即使客戶端、服務器、存儲單元,磁盤驅動器或者網絡這一些列環(huán)節(jié)中同時發(fā)生多個故障,我們仍然可以實時訪問數(shù)據。與傳統(tǒng)RAID的存儲機制完全不同,可以完全消除和彌補傳統(tǒng)RAID技術的不足。
另外這種機制天生具有數(shù)據的私密性,因為每個獨立數(shù)據塊所包含的信息量都不足以揭示原始數(shù)據集的全貌。必須有足夠數(shù)量的數(shù)據塊集合(可能來自于不同的存儲節(jié)點設備)才能恢復完整的數(shù)據,這個數(shù)量由附加在每個數(shù)據塊上的元數(shù)據信息量決定。附加的元數(shù)據信息越多,意味著恢復時需要的數(shù)據塊就越少。
當然說不定隨著技術的發(fā)展會有更好的解決方案出現(xiàn),讓我們拭目以待吧!