瀏覽單個文章
Sily
Regular Member
 
Sily的大頭照
 

加入日期: Feb 2000
您的住址: Taipei
文章: 51
RAID是甚麼?
備援磁碟陣列(redundant arrays of inexpensive disks, RAID),其原理是利用陣列式磁碟組,再配合資料分散排列的設計以提昇資料的可使用性。RAID的主要訴求,是針對目前的硬碟科技,在容量及速度上,無法追上 CPU 及記憶體的發展,提出改善方法。因為長期來看,這種腳步的差距,會造成硬碟無法即時供應對資料的急迫需要。所以,RAID由許多較便宜、容量較小、穩定性較高、速度較慢磁碟,組成一個大型的磁碟組,將能藉著個別磁碟提供資料所產生的加成效果來提昇整個磁碟系統的效能。。同時,在實際儲存資料時,透過這項技術,將資料切割成多區段並分別同時存放於各個硬碟機上。在實際讀取資料時,也是同時自此多顆硬碟機讀出資料。另外值得一提的是,藉由 Parity Check 的概念及方法,能在該群陣列硬碟中任一顆硬碟故障時,仍能讀出資料,並可於資料重建時,將原故障硬碟內的資料,經計算後置回替代的新硬碟中,使其回復原貌。如果在陣列中,加上備援硬碟,當任一陣列硬碟故障時,該備援硬碟可以自動上線,將故障硬碟立即取代,並開始依設定的"重建優先權"作資料重建,就可有效縮短上述的"前往處理"的時間,也可減少因急迫性所造成的壓力。



RAID的歷史?
1987年,有一群研究者在美國 University of California - Berkeley 發表了一篇文章:A Case for Redundant Arrays of Inexpensive Disks", 而 IBM 是此一專案研究的主要協助者。這篇文章,介紹了一個新的字彙-RAID。同時並定義了五種 RAID 代號-RAID level。只是當時所需之鉅額投資推翻了量產與商業化的決定。柏克萊大學研究陣列式磁碟組的目的,乃在於反應當時快速增強的CPU效能。在那時CPU效能每年大約成長30~50%,而在同時期大型磁碟機僅成長大約 7%。研究小組希望能研究出一種新的磁碟技術,藉著在更短的時間內提供更多的資料來平快速的電腦主機運算能力。然而我們也不要忽略了當時的背景:柏克萊研究小組的研究主要是在強調效能與成本,研究小組成員試著解決效能的瓶頸,同時降低生產成本。在他們常識提高穩定性的努力下,他們設計出了容錯(fault-tolerance),以及邏輯資料備援(logical data redundancy )的構想,也因而產生了最初的RAID理論。初期的RAID研究,便宜的(Inexpensive )磁碟乃是主要的重點;然而後續的就發現,大量的便宜磁碟組合併不能適用於現實的生產環境,所以便宜的字眼也在後來被重新定義為獨立,代表了許多獨立的小磁碟組。



RAID 0 - 平行儲存
RAID 0提出以磁碟機陣列平行儲存資料的概念,它使用數顆硬碟平行儲存一份資料的不同部份,一般的作法是將待儲存的資料以特定長度的區塊為單位加以分 割,第一塊存放在陣列的第一顆磁碟機,第二塊存放在陣列的第二顆磁碟機,餘 依此類推,區塊的長度單位可能是一個磁區、磁串(cluster) 、磁軌、甚至一整個磁柱(cylinder)。

RAID 0 磁 碟 機 陣 列


如此同時儲存的結果將提昇資料的存取效率,提昇的倍數則視構成磁碟機陣列的硬碟個數而定,但是RAID 0 並無錯誤修正碼的設置,因此,只要任一部磁碟機出狀況,則所有資料可能都將付之一炬,對於資料反而更加沒有保障。

RAID 0在Windows NT即是所謂的等量儲存組(stripe set),Windows NT的工作站版及伺服器版皆允許使用者以普通的磁碟機建立無錯誤修正的等量儲存組,伺服器版則進一步提供具同位(parity)修正碼的等量儲存組。



RAID 1 - 磁碟機映射
RAID 1提出磁碟機映射(disk mirror)概念以保障資料,原始的提案是採用兩顆容量相同的磁碟機儲存同一份資料,增加另一顆硬碟儲存相同的資料可保障其中一 顆硬碟故障造成資料漏失的風險,Windows NT則允許使用者以相同容量的硬碟分割建立磁碟機映射,不須受限於整顆硬碟容量的大小,如此可提高不同容量的硬碟在使用上的彈性,例如,用戶可購買較大容量的硬碟,將其中的某個分割作為某顆硬碟的映射,另一個分割挪做它用。

RAID 1 磁 碟 機 映 射


RAID 1在Windows NT即是所謂的映射儲存組(mirror set),在一組映射儲存組中,我們尚可將兩顆磁碟機分別接至不同的磁碟機控制卡及電源供應器,如此可降低 因控制卡或電源供應器的故障所導致的資料錯誤的機率。

RAID 2 - 位元容錯平行儲存
與RAID 0類似,RAID 2也是以磁碟機陣列平行儲存資料,但不同於前者,RAID 2分散至各磁碟機的資料單位為位元,而非RAID 0的大區塊方式,意即,RAID 2將資料的第一個位元存放於陣列的第一顆磁碟機,第二個位元存放於陣列的第二顆磁碟機,餘依此類推,如此同樣可提昇資料的存取效率,和RAID 0相較下,由於RAID 2是以位元為分散單位,所以每此讀寫動作都將牽引陣列內所有的磁碟機同時讀寫。
RAID 2也使用數部額外的磁碟機儲存錯誤修正碼(ECC)或同位(parity)檢查碼,以此提昇資料的失誤容忍度,每增加一部這樣的磁碟機即表示該磁碟機陣列可容忍 的磁碟機故障機數又增加一部,錯誤修正碼的目的是當某部資料磁碟機發生故障時,尚可經過計算、由其它未故障磁碟機的資料中還原出正確的資料內容,可還原的程度則視錯誤修正磁碟機個數佔全部磁碟機數目的比例而定。
舉個簡單的例子,假設某磁碟機陣列內含9部磁碟機,其中一部儲存奇同位位元,另外8部分別儲存資料位元組的第0至第7個位元值,奇同位位元值的計算方式是若對應的8個資料位元中,有奇數個1,則同位位元值即為1,否則為0,若當中負責儲存某資料位元的磁碟機發生故障,則對於每個位元組,磁碟機控制卡尚可由其餘正常7個資料位元值與同位位元值算出失去的那個位元值,例如,原本的某個資料位元組以二進位表示為11101101,其中有偶數個1,所以其奇同位位元值為0,若陣列中的第5部磁碟機發生故障,使得該位元組變成11?01101,其中已知的有5個1,因為同位位元是0,所以該失去的位元一定是1。
除了奇同位之外,也有採用偶同位的,偶同位位元值的計算方式剛好與奇同位的相反,一般隨機存取記憶體( RAM)的同位檢查(parity check)也是類似的原理。

RAID 2 磁 碟 機 陣 列


由於是以位元方式將資料分散儲存於數部磁碟機,普通的磁碟機控制卡並不支援此種讀寫,尤其是PC的控制卡,所以為達到RAID 2的要求,系統須使用特別的磁碟機控制卡,因為這類技術較複雜、昂貴,所以僅可見於大型電腦系統或工作站,個人電腦的小型系統較少此種設計。



RAID 3 - 大單位容錯平行儲存
RAID 3與RAID 0、 2相似,也是以磁碟機陣列平行儲存資料,但不同RAID 2的是,RAID 3分散至各磁碟機的資料單位不限制在位元,它可以是位元組、或其它邏輯長度,其中以位元組較常見,如此同樣可提昇資料的存取效率,由於是以位元或位元組等小量資料為分散單位,所以每次讀寫動作都將牽引陣列內所有的磁碟機同時讀寫。
RAID 3 磁 碟 機 陣 列


RAID 3 僅以一部專職磁碟機儲存錯誤修正碼或同位碼,所以這樣的磁碟機陣列可容忍一部磁碟機出狀況。



RAID 4 - 改良式容錯平行儲存
RAID 0的缺點是無錯誤修正資訊,RAID 2及RAID 3的缺點是,無論資料量多寡,其每次讀寫都將牽引陣列內所有的磁碟機同時動作,為令陣列內所有的磁碟機可同時各別進行不同的讀寫,且還保有錯誤修正能力,RAID 4集合RAID 0、2、3的優點,將分散於各磁碟機的資料區塊長度提昇為作業系統層次的傳輸單位,如磁區或磁串,如此,每次寫入任一部磁碟機的區塊長度即是一整個磁區或磁串,RAID 4也另外設置一部專職的磁碟機儲存錯誤修正資訊,基本上,我們可將RAID 1看成是RAID 4的一個特例。
RAID 4 磁 碟 機 陣 列


RAID 4的優點是,對於多工的系統,數個工作可同時讀取磁碟機陣列內不同磁碟機、甚至不同磁碟機之不同磁頭下的資料,但此項優點僅反應在讀取動作上,因為僅採一部磁碟機統一存放錯誤修正資訊,故每次寫入動作皆會牽引該部磁碟機儲存對應的錯誤修正資訊,換言之,數個工作可同時讀取磁碟機陣列,但同時僅可有一個工作對磁碟機陣列進行寫入。

RAID 5 ─ 高效率容錯平行儲存
和RAID 4類似,RAID 5也將分散於各磁碟機的資料區塊長度限定在作業系統層次的傳輸單位,如磁區或磁串,但與前者不同的是,RAID 5不再將錯誤修正資訊存放於同一部磁碟機,為改善RAID 4的缺點,RAID 5將錯誤修正資訊連同資料區塊一併分散於磁碟機陣列中的各個磁碟機,當欲寫入磁碟機陣列時,RAID 5將資料區塊寫入一部磁碟機,同時更新另一部磁碟機的錯誤修正碼, 當其中任一部磁碟機出狀況時,失去的資料尚可由其它正常磁碟機的資料計算得。
所以在多工環境下,若磁碟機陣列由N部磁碟機所組成,則RAID 5的設計允許最多N個工作同時讀取該磁碟機陣列的不同資料區塊,在寫入方面,由於每次寫入動作須將資料及錯誤修正碼分別寫入兩部磁碟機,因此最多允許N / 2個工作同時寫入不同的資料區塊,和RAID 4只允許一個工作同時寫入磁碟機列相較下,RAID 5的確在寫入效率上改善不少。
RAID 5 磁 碟 機 陣 列


RAID 5在Windows NT 即是所謂的同位等量儲存組(stripe set with parity),伺服器版提供此等級的服務,它同樣允許使用者在普通的磁碟機建立這樣的儲存組。
__________________
Sily means Sunny I love You!!!
舊 2001-12-29, 12:34 PM #16
回應時引用此文章
Sily離線中