Linux-raid的工作原理與管理

本章內容:

       1、RAID詳細描述

       2、mdadm 工具

       3、創建raid

       4、磁盤陣列的管理

RAID描述:

          RAID:(Redundant Array of indenpensive Disk) 獨立磁盤冗余陣列: 磁盤陣列是把多個磁盤組成一個陣列,             當作單一磁盤使用,它將數據以分段(striping)的方式儲存在不同的磁盤中,存取數據時,陣列中的相關磁             盤一起動作,大幅減低數據的存取時間,同時有更佳的空間利用率。

      功能:

             提高IO能力:磁盤并行讀寫。
           提高耐用性:磁盤冗余來實現。

   RAID級別:多塊磁盤組織在一起的工作方式有所不同,稱為RAID level。不同的level針對不同的系統及應用,以解               決數據安全的問題。簡單來說,RAID把多個硬盤組合成為一個邏輯扇區。因此,操作系統只會把它當作               一個硬盤。

  RAID的實方式:    
            1. 硬件RAID:用RAId接口卡來實現;需要內核支持其驅動,并且該類設備設備顯示為SCSI設備,代號                   為/dev/sd*。
         2. 軟件RAID:用內核中的MD(multiple devices)模塊實現,該類設備在/etc/下表示為:md*;使用mdadm               工具管理軟RAID;

            雖然來說可以用軟件模擬實現raid,但是相對對磁盤控制的功能及性能不如硬件實現的好,生產環境中最             好使用硬件raid 。

 常見的RAID類型描述:

            RAID0:條帶卷(striping),至少需要兩塊磁盤,做RAID分區的大小最好是相同的(也可以用相同大小的                  兩塊磁盤直接做 RAID);把數據分割成若干個相同大小的chunk,依次均勻的存儲在不同的磁盤                   上,在讀寫的時候可以實現并發,所以讀、寫性能好;但是沒有容錯功能,任何一塊磁盤損壞,將導                  致全部數據的損壞。磁盤利用率100%。

                如下圖:

               Linux-raid的工作原理與管理

                      

          RAID1:鏡像卷(mirroring),至少需要兩塊硬盤,raid大小等于兩個raid分區中最小的容量(最好將分區                 大小分為一樣),磁盤利用率50%;數據有冗余,在存儲時同時寫入兩塊硬盤,實現了數據備份;但                  相對降低了寫入性能,但是讀取數據時可以并發,幾乎類似于raid0的讀取效率。

               如下圖:

                      Linux-raid的工作原理與管理         

       RAID5:最少需要三塊硬盤,可以提供熱備盤實現故障的恢復;采用異或運算,可靠性強,允許損壞一塊磁盤,只有同時                   損壞兩塊硬盤時數據才會完全損壞,只損壞一塊硬盤時,系統會根據存儲的異或校驗位重建數據,臨時提供服務;此               時如果磁盤陣列中有備用盤,系統會自動在備用盤上重建故障磁盤上的數據。

             如下圖:

         Linux-raid的工作原理與管理  

          注:RAID中的容錯表示即使磁盤故障,數據仍能保持完整,可讓系統存取到正確的數據,而SCSI的磁盤陣列更可在工作中抽換               磁盤, 并可自動重建故障磁盤的數據。 


mdadm:模式化的工具

    命令語法格式:mdadm [mode]  <raiddevice> [options] <component-devices>
    支持的RAID級別:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
   [mode]:

       -C, –create:  創建一個新的陣列

      -A, –assemble: 激活RAID設備

       -F, –follow, –monitor:選擇監控(Monitor)模式

       -G, –grow:   改變激活陣列的大小或形態

   <raiddevice>: /dev/md# 
   <component-devices>: 任意塊設備
   [options]:選擇一個模式的選項

         -C: 創建模式 
           -n #: 使用#個塊設備來創建此RAID 
           -l #:指明要創建的RAID的級別 
           -a {yes|no}:自動創建目標RAID設備的設備文件 
           -c CHUNK_SIZE: 指明塊大小 
           -x #: 指明空閑盤的個數 
        -D:顯示raid的詳細信息; 
              mdadm -D /dev/md#  
           -s:–scan:掃描配置文件或 /proc/mdstat以搜尋丟失的信息。

               默認配置文件:/etc/mdadm.conf 

   理模式: -f: 標記指定磁盤為損壞 

               -a: 添加磁盤 

               -r: 移除磁盤


創建軟RAID的過程:

     以四個分區模擬創建一個raid5為操作示例。

   步驟:

        1、創建RAID5 的組員

       linux中陣列組成單元是分區,分區可以是整個設備也可以是設備多個分區中的一個;組成的陣列中,每個分區          的大小必須一樣;在fdisk分區后需要將分區標志改為Linux raid auto類型;分區后如下:

 

                              Device             Boot       Start     EndBlocks    Id        System

/dev/sda6 19507 22118 20980890 fd Linux raid autodetect
/dev/sdc1 1 2612 20980858+ fd Linux raid autodetect
/dev/sdd1 1 2612 20980858+ fd Linux raid autodetect

       2、建立RAID5磁盤陣列;如下圖:

              Linux-raid的工作原理與管理

    

   3、查看陣列狀態;cat /proc/mdstat

       Linux-raid的工作原理與管理

          上圖中,通過cat /proc/mdstat信息查看所有運行的RAID陣列的狀態,在第一行中首先是MD的設備名md0,active和                 inactive選項表示陣列是否能讀/寫,接著是陣列的RAID級別raid5,后面是屬于陣列的塊設備,方括號[]里的數字表示設           備在陣列中的序號,(S)表示其是熱備盤,(F)表示這個磁盤是 faulty狀態。下一行中首先是陣列的大小,用塊數來表示;           后面有chunk-size的大小,然后是layout類型,不同RAID級別的 layout類型不同,[3/3] [UUU]表示陣列有3個磁盤并且3           個磁盤都是正常運行的,而[2/3]和[_UU] 表示陣列有3個磁盤中2個是正常運行的,下劃線對應的那個位置的磁盤是faulty           狀態。

   4、生成RAID的配置文件;

      mdadm.conf是該軟件的默認配置文件,主要作用是方便跟蹤軟RAID的配置,尤其是可以配置監視和事件上報選項。其中寫入每       一個陣列組成的詳細情況,用于在下次開啟陣列后依據此文件重新裝配開啟陣列,否則就需要在開啟時手動定義陣列中的成         員;當然是推薦創建該文件,防止出現意外情況。

       Linux-raid的工作原理與管理

       

   5、創建文件系統;

     Linux-raid的工作原理與管理

   6、掛載;

      Linux-raid的工作原理與管理

    7、查看陣列的詳細信息;

      Linux-raid的工作原理與管理


磁盤陣列管理:

    1、RAID5磁盤陣列中模擬一塊磁盤故障;下圖中模擬/dev/sdb盤損壞,發現熱備的盤/dev/sdd1/自動替換損壞的磁盤,并顯示數       據構建的進度條。

    Linux-raid的工作原理與管理

    2、移除損壞的磁盤;損壞的磁盤狀態是faulty.

       Linux-raid的工作原理與管理

    注意:對于有冗余的raid形式,在單一磁盤故障時一般能在一段時間內重建數據;但是數據量非常大時,重建會非常緩慢,且重          建系統過程壓力比較大,此時需要多關注系統負載,防止重建過程出現錯誤;在熱移除故障盤后,也需要盡快的換上新              硬盤,并且添加spare盤;在故障修復,重建重建之后,需要重新生成配置文件,防止在下次開啟時,按照最初的定義模            式開啟。

     3、RAID陣列添加新的組員;

           #mdadm -G /dev/md0 -n4 -a /dev/sdb

     4、停止RAID設備;如下圖:

        Linux-raid的工作原理與管理

     5、激活RAID設備;如下圖:

        Linux-raid的工作原理與管理

     6、刪除RAID設備,如下圖:

  •         先取消掛載:#umount /mnt/raid
  •         停止RAID設備:mdadm -S /dev/md0
  •         刪除配置文件:rf -f /etc/mdadm.conf
  •         刪除/etc/fsatb 文件下的對應掛載信息
  •         分別清除RAID成員上的raid元數據:

            # mdadm –zero-superblock /dev/sda6

 RAID-10的創建方法: 

      1、先創建兩個底層的RAID-1:

          #mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sd{a6,b}

          #mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sd{c1,d1}

      2、用兩個RAID-1,創建上層RAID-0

          #mdadm -C /dev/md2 -a yes -l 0 -n 2 /dev/md{0,1}

      3、查看狀態;如下圖:

        Linux-raid的工作原理與管理

      4、創建配置文件

        Linux-raid的工作原理與管理    

      5、停止與開啟陣列;

        Linux-raid的工作原理與管理

       上圖中:關閉與開啟過程,系統只能識別層級,關閉先關閉上層的RAID-0,再關閉底層的兩個RAID-1;

           開啟也是與關閉過程一樣;防止了沖突。







   

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

(3)
shenjialongshenjialong
上一篇 2017-06-24 17:15
下一篇 2017-06-24

相關推薦

  • Docker 之初次體驗

    一、Docker 簡介  lxc linux container,openvz  容器中各虛擬機只有一個內核,而是多個用戶空間  在庫中完成虛擬化,比如wine 或者在windows中運行bash  在應用程序的運行級別提供虛擬化,比如jvm   pstree , pid 為1 的進程  …

    Linux干貨 2017-02-24
  • N25-第一周博客作業

    1、描述計算機的組成及其功能:    沒有聽馬哥視頻之前,計算機的組成理解為主機+顯示器;    聽完視頻之后,對計算機的組成分為硬件系統和軟件系統。    硬件系統主要有:運算器、控制器、存儲器、輸入設備和輸出設備;    軟件系統主要有…

    Linux干貨 2016-12-04
  • 關于 建立私有CA和申請證書

                               建立私有CA和申請證書            …

    系統運維 2016-09-23
  • linux正則表達式和vim的詳細解析!

    正則表達式: 元字符– [:upper:] 大寫 [:lower:] 小寫 [:digit:] 全數字 [:alpha:] 全字母 [:alnum:] 全字母數字 匹配次數– . 匹配任意單個字符 * 匹配前面字符任意次 \? 匹配前面字符0次或1次 \{n\} 匹配至少n次 \{m,m\} 匹配至少m次 最多n次 \{,n\} 匹配…

    Linux干貨 2017-04-09
  • 請羅列Linux發行版的基礎目錄名稱命名法則及功用規定

    Linux文件系統 <邏輯視圖>     根文件系統(rootfs):         root filesystem     LSB,FHS:(FileSystem Heirache Standard)         /bo…

    Linux干貨 2016-10-30
欧美性久久久久