服務器為什麼要做磁盤陣列?

有朋友留言希望我們能發一期關於RAID的介紹,今天我們就來一起了解下RAID。

在租用服務器的時候經常會看到硬盤raid。raid就是冗餘磁盤陣列,把多個硬磁盤驅動器按照一定的要求使整個磁盤陣列由陣列控制器管理組成一個儲存系統。最初始的研製目的是為了利用多個廉價的小磁盤來替代昂貴的大磁盤,以此來降低成本。而隨著硬盤技術的發展,如今的磁盤陣列採用了冗餘信息的方式,使得其具有數據保護的功能。

那麼服務器為啥要做磁盤陣列呢?主要有兩個作用:

提供容錯功能

普通的磁盤驅動器是無法提供容錯功能的,而磁盤陣列可以通過數據校驗提供容錯功能,服務器會將數據寫入多個磁盤,如果某個磁盤發生故障時,此時仍能保證信息的可用性,重要數據不會丟失,也不會耽誤服務器的正常運轉。

提高傳輸速率

磁盤陣列將多個磁盤組成一個陣列,當做一個單一的磁盤使用,把數據已分段的形式存儲到不同的硬盤之中,發生數據存取變動時,陣列中的相關磁盤一起工作,這就可以大幅的降低數據存儲的時間,同時還能擁有更佳的空間和使用率。

Raid0、Raid0+1、Raid1、Raid5四者的區別

當大家租用服務器時,挑選配置卻又發現raid還有很多種類,其中常見的有RAID0、RAID0+1、RAID1、RAID5這四種。那麼它們四者之間的區別又是什麼呢?

通過下面這張形象的圖片,生動的展現出它們之間的區別!

服務器為什麼要做磁盤陣列?

Standalone

最普遍的單磁盤儲存方式。

Cluster

集群儲存是通過將數據分佈到集群中各節點的存儲方式,提供單一的使用接口與界面,使用戶可以方便地對所有數據進行統一使用與管理。

Hot swap

用戶可以再不關閉系統,不切斷電源的情況下取出和更換硬盤,提高系統的恢復能力、拓展性和靈活性。

Raid0

Raid0是所有raid中存儲性能最強的陣列形式。其工作原理就是在多個磁盤上分散存取連續的數據,這樣,當需要存取數據是多個磁盤可以並排執行,每個磁盤執行屬於它自己的那部分數據請求,顯著提高磁盤整體存取性能。但是不具備容錯能力,適用於低成本、低可靠性的臺式系統。

服務器為什麼要做磁盤陣列?

服務器為什麼要做磁盤陣列?

Raid1

又稱鏡像盤,把一個磁盤的數據鏡像到另一個磁盤上,採用鏡像容錯來提高可靠性,具有raid中最高的數據冗餘能力。存數據時會將數據同時寫入鏡像盤內,讀取數據則只從工作盤讀出。發生故障時,系統將從鏡像盤讀取數據,然後再恢復工作盤正確數據。這種陣列方式可靠性極高,但是其容量會減去一半。廣泛用於數據要求極嚴的應用場合,如商業金融、檔案管理等領域。只允許一顆硬盤出故障。

服務器為什麼要做磁盤陣列?

Raid5

Raid5可以看成是Raid0+1的低成本方案。採用循環偶校驗獨立存取的陣列方式。將數據和相對應的奇偶校驗信息分佈存儲到組成RAID5的各個磁盤上。當其中一個磁盤數據發生損壞後,利用剩下的磁盤和相應的奇偶校驗信息 重新恢復/生成丟失的數據而不影響數據的可用性。至少需要3個或以上的硬盤。適用於大數據量的操作。成本稍高、儲存新強、可靠性強的陣列方式。

服務器為什麼要做磁盤陣列?

Raid0+1(也稱為RAID10)

將Raid0和Raid1技術結合在一起,兼顧兩者的優勢。在數據得到保障的同時,還能提供較強的存儲性能。不過至少要求4個或以上的硬盤,也只運行一個磁盤出錯。是一種高成本、高可靠性、高存儲性能的三高陣列技術。

服務器為什麼要做磁盤陣列?

總結:

RAID 0、RAID1、RAID 5和RAID10比較常用。

RAID 0:如果你有n塊磁盤,原來只能同時寫一塊磁盤,寫滿了再下一塊,做了RAID 0之後,n塊可以同時寫,速度提升很快,但由於沒有備份,可靠性很差。n最少為2。

RAID 1:正因為RAID 0太不可靠,所以衍生出了RAID 1。如果你有n塊磁盤,把其中n/2塊磁盤作為鏡像磁盤,在往其中一塊磁盤寫入數據時,也同時往另一塊寫數據。壞了其中一塊時,鏡像磁盤自動頂上,可靠性最佳,但空間利用率太低。n最少為2。

RAID 3:為了說明白RAID 5,先說RAID 3,RAID 3是若你有n塊盤,其中1塊盤作為校驗盤,剩餘n-1塊盤相當於作RAID 0同時讀寫,當其中一塊盤壞掉時,可以通過校驗碼還原出壞掉盤的原始數據。這個校驗方式比較特別,奇偶檢驗,1 XOR 0 XOR 1=0,0 XOR 1 XOR 0=1,最後的數據時校驗數據,當中間缺了一個數據時,可以通過其他盤的數據和校驗數據推算出來。但是這有個問題,由於n-1塊盤做了RAID 0,每一次讀寫都要牽動所有盤來為它服務,而且萬一校驗盤壞掉就完蛋了。最多允許壞一塊盤。n最少為3。

RAID 5:在RAID 3的基礎上有所區別,同樣是相當於是1塊盤的大小作為校驗盤,n-1塊盤的大小作為數據盤,但校驗碼分佈在各個磁盤中,不是單獨的一塊磁盤,也就是分佈式校驗盤,這樣做好處多多。最多壞一塊盤。n最少為3。

raid10:就是raid1+raid0,比較適合速度要求高,又要完全容錯,當然¥也很多。最少需要4塊硬盤(注意:做raid10時要先作RAID1,再把數個RAID1做成RAID0,這樣比先做raid0,再做raid1有更高的可靠性)。

服務器為什麼要做磁盤陣列?


分享到:


相關文章: