1. 程式人生 > >獨立冗餘磁碟陣列簡述

獨立冗餘磁碟陣列簡述

RAID磁碟陣列

      RAID是英文Redundant Array of Independent Disks的縮寫,中文簡稱為獨立冗餘磁碟陣列。簡單的說,RAID是一種把多塊獨立的硬碟(物理硬碟)按不同的方式組合起來形成一個硬碟組(邏輯硬碟),從而提供比單個硬碟更高的儲存效能和提供資料備份技術。       組成磁碟陣列的不同方式稱為RAID級別(RAID Levels)。在使用者看起來,組成的磁碟組就像是一個硬碟,使用者可以對它進行分割槽,格式化等等。總之,對磁碟陣列的操作與單個硬碟一模一樣。不同的是,磁碟陣列的儲存速度要比單個硬碟高很多,而且可以提供自動資料備份。資料備份的功能是在使用者資料一旦發生損壞後,利用備份資訊可以使損壞資料得以恢復,從而保障了使用者資料的安全性。 主要目的

      雖然RAID包含多塊硬碟,但是在作業系統下是作為一個獨立的大型儲存裝置出現。利用RAID技術於儲存系統的好處主要有以下三種:       (1)通過把多個磁碟組織在一起作為一個邏輯卷提供磁碟跨越功能;       (2)通過把資料分成多個數據塊(Block)並行寫入/讀出多個磁碟以提高訪問磁碟的速度;       (3)通過映象或校驗操作提供容錯能力;       最初開發RAID的主要目的是節省成本,當時幾塊小容量硬碟的價格總和要低於大容量的硬碟。目前來看RAID在節省成本方面的作用並不明顯,但是 RAID可以充分發揮出多塊硬碟的優勢,實現遠遠超出任何一塊單獨硬碟的速度和吞吐量。除了效能上的提高之外,RAID還可以提供良好的容錯能力,在任何一塊硬碟出現問題的情況下都可以繼續工作,不會受到損壞硬碟的影響。       RAID技術分為幾種不同的等級,分別可以提供不同的速度,安全性和價效比。根據實際情況選擇適當的RAID級別可以滿足使用者對儲存系統可用性、效能和容量的要求。常用的RAID級別有以下幾種:NRAID,JBOD,RAID0,RAID1,RAID1+0,RAID3,RAID5等。目前經常使用的是RAID5和RAID(1+0)。       磁碟陣列(Disk Array)是由一個硬碟控制器來控制多個硬碟的相互連線,使多個硬碟的讀寫同步,減少錯誤,增加效率和可靠度的技術。磁碟陣列卡則是實現這一技術的硬體產品,磁碟陣列卡擁有一個專門的處理器,還擁有專門的存貯器,用於高速緩衝資料。使用磁碟陣列卡伺服器對磁碟的操作就直接通過陣列卡來進行處理,因此不需要大量的CPU及系統記憶體資源,不會降低磁碟子系統的效能。陣列卡專用的處理單元來進行操作,它的效能要遠遠高於常規非陣列硬碟,並且更安全更穩定。       RAID技術的兩大特點:一是速度、二是安全,由於這兩項優點,RAID技術早期被應用於高階伺服器中的SCSI介面的硬碟系統中,隨著近年計算機技術的發展,PC機的CPU的速度已進入GHz 時代。IDE介面的硬碟也不甘落後,相繼推出了ATA66和ATA100硬碟。這就使得RAID技術被應用於中低檔甚至個人PC機上成為可能。RAID通常是由在硬碟陣列塔中的RAID控制器或電腦中的RAID卡來實現的。 分類
      AID技術經過不斷的發展,現在已擁有了從 RAID 0 到 7 八種基本的RAID 級別。另外,還有一些基本RAID級別的組合形式,如RAID 10(RAID 0與RAID 1的組合),RAID 50(RAID 0與RAID 5的組合)等。不同RAID 級別代表著不同的儲存效能、資料安全性和儲存成本。但我們最為常用的是下面的幾種RAID形式。 (1)RAID 0 (2) RAID 1 (3)RAID 0+1 (4) RAID 3 (5) RAID 5       RAID級別的選擇有三個主要因素:可用性(資料冗餘)、效能和成本。如果不要求可用性,選擇RAID0以獲得最佳效能。如果可用性和效能是重要的而成本不是一個主要因素,則根據硬碟數量選擇RAID 1。如果可用性、成本和效能都同樣重要,則根據一般的資料傳輸和硬碟的數量選擇RAID3、RAID5。 規範
RAID技術主要包含RAID 0~RAID 7等數個規範,它們的側重點各不相同,常見的規範有如下幾種:       RAID 0:連續以位或位元組為單位分割資料,並行讀/寫於多個磁碟上,因此具有很高的資料傳輸率,但它沒有資料冗餘,因此並不能算是真正的RAID結構。RAID 0只是單純地提高效能,並沒有為資料的可靠性提供保證,而且其中的一個磁碟失效將影響到所有資料。因此,RAID 0不能應用於資料安全性要求高的場合。       RAID 1:它是通過磁碟資料映象實現資料冗餘,在成對的獨立磁碟上產生互 為備份的資料。當原始資料繁忙時,可直接從映象拷貝中讀取資料,因此RAID 1可以提高讀取效能。      RAID 1是磁碟陣列中單位成本最高的,但提供了很高的資料安全性和可用性。當一個磁碟失效時,系統可以自動切換到映象磁碟上讀寫,而不需要重組失效的資料。       RAID 0+1: 也被稱為RAID 10標準,實際是將RAID 0和RAID 1標準結合的產物,在連續地以位或位元組為單位分割資料並且並行讀/寫多個磁碟的同時,為每一塊磁碟作磁碟映象進行冗餘。它的優點是同時擁有RAID 0的超凡速度和RAID 1的資料高可靠性,但是CPU佔用率同樣也更高,而且磁碟的利用率比較低。       RAID 2:將資料條塊化地分佈於不同的硬碟上,條塊單位為位或位元組,並使用稱為“加重平均糾錯碼(海明碼)”的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁碟存放檢查及恢復資訊,使得RAID 2技術實施更復雜,因此在商業環境中很少使用。       RAID 3:它同RAID 2非常類似,都是將資料條塊化分佈於不同的硬碟上,區別在於RAID 3使用簡單的奇偶校驗,並用單塊磁碟存放奇偶校驗資訊。如果一塊磁碟失效,奇偶盤及其他資料盤可以重新產生資料;如果奇偶盤失效則不影響資料使用。RAID 3對於大量的連續資料可提供很好的傳輸率,但對於隨機資料來說,奇偶盤會成為寫操作的瓶頸。       RAID 4:RAID 4同樣也將資料條塊化並分佈於不同的磁碟上,但條塊單位為塊或記錄。RAID 4使用一塊磁碟作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。       RAID 5:RAID 5不單獨指定的奇偶盤,而是在所有磁碟上交叉地存取資料及奇偶校驗資訊。在RAID 5上,讀/寫指標可同時對陣列裝置進行操作,提供了更高的資料流量。RAID 5更適合於小資料塊和隨機讀寫的資料。       RAID 3與RAID 5相比,最主要的區別在於RAID 3每進行一次資料傳輸就需涉及到所有的陣列盤;而對於RAID 5來說,大部分資料傳輸只對一塊磁碟操作,並可進行並行操作。在RAID 5中有“寫損失”,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶資訊,兩次寫新的資料及奇偶資訊。       RAID 6:與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗資訊塊。兩個獨立的奇偶系統使用不同的演算法,資料的可靠性非常高,即使兩塊磁碟同時失效也不會影響資料的使用。但RAID 6需要分配給奇偶校驗資訊更大的磁碟空間,相對於RAID 5有更大的“寫損失”,因此“寫效能”非常差。較差的效能和複雜的實施方式使得RAID 6很少得到實際應用。       RAID 7:這是一種新的RAID標準,其自身帶有智慧化實時作業系統和用於儲存管理的軟體工具,可完全獨立於主機執行,不佔用主機CPU資源。RAID 7可以看作是一種儲存計算機(Storage Computer),它與其他RAID標準有明顯區別。除了以上的各種標準,我們可以如RAID 0+1那樣結合多種RAID規範來構築所需的RAID陣列,例如RAID 5+3(RAID 53)就是一種應用較為廣泛的陣列形式。使用者一般可以通過靈活配置磁碟陣列來獲得更加符合其要求的磁碟儲存系統。 開始時RAID方案主要針對SCSI硬碟系統,系統成本比較昂貴。1993年,HighPoint公司推出了第一款IDE-RAID控制晶片,能夠利用相對廉價的IDE硬碟來組建RAID系統,從而大大降低了RAID的“門檻”。       從此,個人使用者也開始關注這項技術,因為硬碟是現代個人計算機中發展最為“緩慢”和最缺少安全性的裝置,而使用者儲存在其中的資料卻常常遠超計算機的本身價格。在花費相對較少的情況下,RAID技術可以使個人使用者也享受到成倍的磁碟速度提升和更高的資料安全性,現在個人電腦市場上的IDE-RAID控制晶片主要出自HighPoint和Promise公司,此外還有一部分來自AMI公司。       面向個人使用者的IDE-RAID晶片一般只提供了RAID 0、RAID 1和RAID 0+1(RAID 10)等RAID規範的支援,雖然它們在技術上無法與商用系統相提並論,但是對普通使用者來說其提供的速度提升和安全保證已經足夠了。       隨著硬碟介面傳輸率的不斷提高,IDE-RAID晶片也不斷地更新換代,晶片市場上的主流晶片已經全部支援ATA 100標準,而HighPoint公司新推出的HPT 372晶片和Promise最新的PDC20276晶片,甚至已經可以支援ATA 133標準的IDE硬碟。在主機板廠商競爭加劇、個人電腦使用者要求逐漸提高的今天,在主機板上板載RAID晶片的廠商已經不在少數,使用者完全可以不用購置RAID卡,直接組建自己的磁碟陣列,感受磁碟狂飆的速度。 對RAID 的各項指標總結如下

在這裡插入圖片描述