RAID磁盤冗余探究

RAID磁盤冗余探究

RAID的全稱是Redundant Arrays of Inexpensive Disk,可以翻譯為廉價的磁盤冗余陣列。由加利福尼亞大學伯克利分校的一位教授在1988年提出,是一種磁盤管理方式。其產生的初衷是為了降低成本,但是為了達到RAID的功能,其造價并不便宜,所以后來改為Redundant Arrays of Independent Disks(獨立磁盤冗余陣列)

其工作原理是:多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供

RAID的實現方式:操作系統(如windows, linux)稱為軟RAID

硬件卡實現(但價格昂貴)稱為硬RAID

如果是軟RAID,假如有幾塊大小不一的磁盤,每個磁盤都取100G來組合成RAID,這時系統就會產生對應的RAID設備,如/dev/sm0,/dev/sm1,/dev/sm2… 如果再將RAID掛載,假如掛載的是/mnt/raid目錄下,對應的就是幾塊磁盤而非一塊磁盤的大小,這里不同于分區。

RAID級別:

 

RAID-0: 條帶卷,strip

如果是RAID-0,假設有一個非常大的名為file的文件存在于掛載的設備中,如/dev/sm0,掛載在/mnt/raid0下。RAID-0會將file切割成叫做chunk的單位,這樣文件就可以跨磁盤存儲。那么RAID-0到底是怎么存儲的呢?先看看下面的圖和解釋吧!

RAID磁盤冗余探究

解釋:如圖,代表RAID-0的存儲方式,即如果有四個盤,其寫入順序為(11、(22、(33、(44、(15、(26…….。這樣,不論你是寫入數據還是讀取數據,都不是一塊磁盤在工作,而是四塊磁盤同時在讀取寫入,這就大大加快了讀取寫入時間。但是,有優點也有缺點。其缺點是如果四個磁盤同時寫入,沒有重復備份的磁盤的話,一旦有一塊磁盤損壞,就會導致所有數據丟失。

補充:RAID在生產環境中至少要有二塊磁盤,其磁盤利用率是100%。

 

RAID-1: 鏡像卷,mirror,其數據存放方式如下:

RAID磁盤冗余探究

解釋:如圖可知,(1)和(2)存放的是一樣的數據。這樣存取,有利于數據的保存,只要有一塊磁盤存在,數據就不會丟失。但是其造價也高。數據與造價相比,道消彼長,如果是存放比較重要的數據,建議還是將造價放在次要位置。至少要有二塊磁盤,利用率為1/n。

 

RAID-4:與RAID-0相似,將文件分割成chunk。但是其寫入與讀取方式有所不同,詳細如圖所示:

RAID磁盤冗余探究

解釋:同樣是四個磁盤,但是前三個磁盤同RAID-0一樣按照(11、(22、(33、(14、(25……的方式存儲,至于第四個磁盤則存放通過異或校驗得出的數據。這樣如果損壞一塊磁盤,可以加入一個新的,通過校驗信息得出損壞的盤的數據。但是如果壞了第二塊,就沒辦法恢復了,所以RAID-4只允許損壞一塊磁盤。但是RAID4在實際中用到的并不多,因為事實證明,通常放校驗數據的磁盤最容易壞。磁盤至少要有三塊,磁盤利用率為n-1/n                                                                                                                                                                                                                                                                                                                                                                                                                                                                補充:什么是異或校驗,如下

原理:相同為假,相異為真,假為0,真為1,如

1000110

0011011

1011101     ①和②按照其原理得出這個結果

 

RAID-5:也是同RAID-4相似,但存放校驗數據的盤不是固定的。如下圖:

RAID磁盤冗余探究

解釋:這樣每個磁盤都承擔相同的壓力,有效的解決了磁盤的冗余性,所以在實際中用到的比較多。允許壞一塊磁盤,所以適用于保存不太重要的數據。但想要保持數據的百分之百安全,仍是不行。磁盤至少要有三塊,磁盤利用率為n-1/n 。

 

RAID-6:雖然與RAID-0,RAID-4,RAID-5相似,但是更復雜,成本也更高了。

RAID磁盤冗余探究

解釋:RAID-6允放損壞兩塊磁盤,所以適用于存放比較重要的數據。磁盤至少要有四塊,磁盤利用率為n-2/n。

 

RAID-10

RAID磁盤冗余探究

解釋:如圖可知,先使用RAID-1的存儲方式,再使用RAID-0的方式,RAID-10相比RAID-01,在性能和使用率上沒有多大區別,但RAID-10更好的是允許損壞的磁盤更多。

 

RAID-01RAID-01,是RAID-0RAID-1的組合,其工作方式如下:

RAID磁盤冗余探究

解釋:方框內的數據采用RAID-0的方式存取下來,同時再用RAID-1的方式,備份一份,使兩個方框內的內容相同。這樣,如果一個或多個方框內的磁盤,仍然可以利用另一個方塊內的數據恢復。但是如果兩邊各壞一個,那數據仍然也恢復不了。

 

 

原創文章,作者:xxcj,如若轉載,請注明出處:http://www.www58058.com/85492

(0)
xxcjxxcj
上一篇 2017-08-26
下一篇 2017-08-26

相關推薦

  • N26-第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。(盜圖了,哈哈哈) 文件查看類命令:cat, tac, head, tail, more, less,touch    cat 查看文件內容   tac命令   反向查看文件內容  注:可對照上圖 分屏查看命令:more  …

    Linux干貨 2017-01-07
  • N26 – 第三周作業

    1、列出當前系統上所有已登錄的用戶的用戶名,同一用戶登錄多次只顯示一次     ~]# who -u |cut -d ' ' -f1|uniq -u 2、最后登錄到當前系統的用戶的相關信息     ~]#id $(last | h…

    Linux干貨 2017-01-03
  • linux中的幾種壓縮工具

    文件壓縮 compress 不能自動補齊 .Z -d 解壓縮 uncompress zcat X.Z > X -c 將結果打印到屏幕上,配合重定向,不會覆蓋原文件,但權限會變。 -f 默認不對硬鏈接數為2及以上的文件壓縮,加上f,強制壓縮指定文件,而其他同inode的文件硬鏈接數減1. -v 顯示詳細過程。 ———&…

    2017-08-11
  • Python高階函數和裝飾器

    高階函數 First Class Object 函數在Python中是一等公民 函數也是對象,可調用(callable)的對象 函數可以作為普通變量、參數、返回值等等 高階函數 數學概念y=g(f(x)) 在Python中,高階函數應該滿足下列至少一個條件 接受一個或者多個函數作為參數 輸出一個函數 計數器 def counter(base): def in…

    Linux干貨 2017-10-23
  • rpm和yum常用命令選項總結

    =======rpm命令的使用總結====== 安裝:  rpm {-i|–install} [install-options] PACKAGE_FILE …     -v: verbose     -vv: more verbose &nbsp…

    Linux干貨 2015-12-15
  • linux進程管理

    linux系統進程查看及管理工具 對于服務器來說重要的IO 設備磁盤網絡 pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohup,nice,renice,killall….. pstree命令: pstree-display …

    Linux干貨 2016-09-09
欧美性久久久久