如何理解Raid技術,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
獨立硬盤冗余陣列(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗余陣列,簡稱硬盤陣列。其基本思想就是把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至超過一個價格昂貴、容量巨大的硬盤。根據選擇的版本不同,RAID比單顆硬盤有以下一個或多個方面的好處:增強數據集成度,增強容錯功能,增加處理量或容量。另外,磁盤陣列對于計算機來說,看起來就像一個單獨的硬盤或邏輯存儲單元。
簡單來說,RAID把多個物理硬盤組合成為一個邏輯磁盤,因此,操作系統只會把一個raid陣列當作一個硬盤。RAID常被用在服務器計算機上,并且常使用完全相同的硬盤作為組合。由于硬盤價格的不斷下降與RAID功能更加有效地與主板集成,它也成為了玩家的一個選擇,特別是需要大容量存儲空間的工作。
最初的RAID分成了不同的等級,每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加數據可靠性以及增加存儲器(群)讀寫性能。常見RAID級別分為RAID-0,RAID-1,RAID-5,RAID-6,RAID-10,RAID-50,RAID-60。
將多個磁盤合并成一個大的磁盤,不具有冗余,并行I/O,速度最快。RAID 0亦稱為帶區集。它是將多個磁盤并列起來,成為一個大磁盤。在存放數據時,其將數據按磁盤的個數來進行分段,然后同時將這些數據寫進這些盤中,所以在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗余功能,如果一個磁盤(物理)損壞,則所有的數據都會丟失,危險程度與JBOD相當。
理論上越多的磁盤性能就等于“單一磁盤性能”ד磁盤數”,但實際上受限于總線I/O瓶頸及其它因素的影響,RAID性能會隨邊際遞減,也就是說,假設一個磁盤的性能是50MB每秒,兩個磁盤的RAID 0性能約96MB每秒,三個磁盤的RAID 0也許是130MB每秒而不是150MB每秒。 可使用容量是硬盤總數乘以單塊硬盤的最小容量:Size=(N)*min(S1,S2,S3...Sn)
RAID1是將一個兩塊硬盤所構成RAID磁盤陣列,其容量僅等于一塊硬盤的容量,因為另一塊只是當作數據“鏡像”。RAID 1磁盤陣列顯然是最可靠的一種陣列,因為它總是保持一份完整的數據備份。它的性能自然沒有RAID 0磁盤陣列那樣好,但其數據讀取確實較單一硬盤來的快,因為數據會從兩塊硬盤中較快的一塊中讀出。RAID 1磁盤陣列的寫入速度通常較慢,因為數據得分別寫入兩塊硬盤中并做比較。RAID 1磁盤陣列一般支持“熱交換”,就是說陣列中硬盤的移除或替換可以在系統運行時進行,無須中斷退出系統。RAID 1磁盤陣列是十分安全的,不過也是較貴一種RAID磁盤陣列解決方案,因為兩塊硬盤僅能提供一塊硬盤的容量。RAID 1磁盤陣列主要用在數據安全性很高,而且要求能夠快速恢復被破壞的數據的場合。
RAID Level 5是一種儲存性能、數據安全和存儲成本兼顧的存儲解決方案。它使用的是Disk Striping技術。RAID 5至少需要三顆硬盤,RAID 5不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。當RAID5的一個磁盤數據發生損壞后,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供數據安全保障,但保障程度要比鏡像低而磁盤空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的數據讀取速度,只是因為多了一個奇偶校驗信息,寫入數據的速度相對單獨寫入一塊硬盤的速度略慢,若使用“回寫高速緩存”可以讓性能改善不少。同時由于多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較便宜。
可使用的容量為硬盤總數減去1的差,乘以單塊硬盤的最小容量,公式為Size=(N-1)*min(S1,S2,S3...Sn)
與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。但RAID 6需要分配給奇偶校驗信息更大的磁盤空間,相對于RAID 5有更大的“寫損失”,因此“寫性能”非常差。較差的性能和復雜的實作方式使得RAID 6很少得到實際應用。
同一數組中最多容許兩個磁盤損壞。更換新磁盤后,數據將會重新算出并寫入新的磁盤中。依照設計理論,RAID 6必須具備四個以上的磁盤才能生效。
可使用的容量為硬盤總數減去2的差,乘以單塊硬盤的最小容量,公式為Size=(N-2)*min(S1,S2,S3...Sn)
RAID 1與RAID 0的組合,先作RAID 1,再作RAID 0,也就是對多組RAID 1彼此構成Stripe訪問。由于RAID 10是以RAID 1為基礎,而RAID 1至少需要2塊硬盤,因此要以多組RAID 1構成RAID 10,至少需要4塊硬盤。以RAID 10最小的4臺硬盤組態為例,先把4臺硬盤分為2組,每組2臺構成RAID 1,如此就得到兩組RAID 1,然后再把兩組RAID 1構成RAID 0。
RAID 10在底層的任一組或多組RAID 1中出現1臺硬盤損壞時,仍能維持運作,不過如果任一組RAID 1中的兩塊硬盤損毀,整組RAID10就會失效。
RAID 10由于在上層把多組RAID 1構成Stripe,容量利用率是50%,例如:4塊硬盤做的raid10的總容量是兩塊硬盤的容量。
RAID 5與RAID 0的組合,先作RAID 5,再作RAID 0,也就是對多組RAID 5彼此構成Stripe訪問。由于RAID 50是以RAID 5為基礎,而RAID 5至少需要3臺硬盤,因此要以多組RAID 5構成RAID 50,至少需要6臺硬盤。以RAID 50最小的6臺硬盤組態為例,先把6臺硬盤分為2組,每組3臺構成RAID 5,如此就得到兩組RAID 5,然后再把兩組RAID 5構成RAID 0。
RAID 50在底層的任一組或多組RAID 5中出現1臺硬盤損壞時,仍能維持運作,不過如果任一組RAID 5中出現2臺或兩臺以上硬盤損毀,整組RAID 50就會失效。
RAID 50由于在上層把多組RAID 5構成Stripe,性能比起單純的RAID 5高,容量利用率比RAID5要低。比如同樣9塊硬盤,RAID 50則3個RAID 5組成RAID 0,每個RAID 5會損失一塊硬盤的容量,利用率為(1-3/9),RAID 5則為(1-1/9)。
RAID 6與RAID 0的組合:先作RAID 6,再作RAID 0。換句話說,就是對兩組以上的RAID 6作Stripe訪問。RAID 6至少需具備4塊硬盤,所以RAID 60的最小需求是8塊硬盤。
由于底層是以RAID 6組成,所以RAID 60可以容許任一組RAID 6中損毀最多2塊硬盤,而系統仍能維持運作;不過只要底層任一組RAID 6中損毀3塊硬盤,整組RAID 60就會失效,當然這種情況的機率相當低。
比起單純的RAID 6,RAID 60的上層通過結合多組RAID 6構成Stripe訪問,因此性能較高。不過使用門檻高,而且容量利用率低是較大的問題
關于如何理解Raid技術問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。