RAID學習總結

RAID(Redundant Array of Independent Disks):

定義:獨立硬盤冗余陣列,舊稱廉價磁盤冗余陣列(Redundant Array of Independent Disks),簡稱磁盤陣列。

原理:把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使其性能達到甚至超過價格昂貴,容量巨大的硬盤。

優勢:

  • RAID在容量和管理上的優勢

    • 易于靈活地進行容量拓展

    • “虛擬化”可使管理性極大的增強

  • RAID在性能上的優勢

    • “磁盤分塊”技術帶來性能的提高

  • RAID在可靠性和可用性上的優勢

    • 通過冗余技術和熱備、熱換提升了可靠性

分級

RAID-0:條帶卷。將兩個以上磁盤并聯起來,成為一個大容量的磁盤。在存放數據時,以條帶的形式將數據塊(chunk)均勻分布在陣列的各個磁盤上,因為讀寫時都可以并行處理,所以在所有的級別中,RAID-0的速度是最快的。但是RAID-0既沒有冗余能力,也不具備容錯能力,如果一個物理磁盤損壞,所有數據都會丟失。

小結:

  1. 硬盤的讀、寫性能均得到提高

  2. 磁盤陣列可用空間:size=N*min(S1,S2,S3…)

  3. 無容錯能力

  4. 所需最少磁盤數為2塊

應用場景:視頻生成和編輯、圖像編輯及其他需要大的傳輸帶寬的操作。

RAID學習總結

RAID-1:鏡像卷。以鏡像為冗余方式,對虛擬磁盤上的數據做多份拷貝,放在成員磁盤上。在一些多線程操作系統中能有很好的讀取速度,理論上讀取速度等于硬盤數量的倍數,另外寫入速度有微小的降低。只要一個磁盤正常即可維持運作,可靠性最高。其原理為在主硬盤上存放數據的同時也在鏡像硬盤上寫一樣的數據。當主硬盤(物理)損壞時,鏡像硬盤則代替主硬盤的工作。因為有鏡像硬盤做數據備份,所以RAID 1的數據安全性在所有的RAID級別上來說是最好的。但無論用多少磁盤做RAID-1,僅算一個磁盤的容量,是所有RAID中磁盤利用率最低的一個級別。

小結:

  1. 讀性能提升,寫性能略有下降

  2. 磁盤陣列可用空間:size=min(S1,S2,S3…)

  3. 有冗余能力

  4. 所需最少磁盤數為2塊

應用場景:財務、金融等高可用、高安全的數據存儲環境

RAID學習總結

RAID-3:數據塊被分為更小的塊并行傳輸到各個成員磁盤上,同時計算XOR校驗數據存放到專用的校驗磁盤上,比較適于讀取大量數據時使用。

小結:

  1. 讀寫性能都比較好當有磁盤損壞時,對整體吞吐量影響較小

  2. 采用并行存取方式,主軸同步時吞吐量沒有提高校驗磁盤的寫性能有瓶頸

  3. 所需最少磁盤數為3塊

應用場景:視頻生成和圖像、視頻編輯等需要高吞吐量的應用環境

RAID學習總結

RAID-4:數據被分為更大的塊并行傳輸到各個成員磁盤上,同時計算XOR校驗數據存放到專用的校驗磁盤上,它與RAID 3不同的是它在分區時是以區塊為單位分別存在硬盤中.

小結:

  1. 提高了讀、寫性能,但是冗余校驗碼都是存放在單一硬盤上,所以此硬盤性能可能會很差

  2. 提高了硬盤容錯能力

  3. 陣列所需最少磁盤數為3塊

  4. 可用空間:size=(N-1)*min(S1,S2,S3…)

RAID學習總結

RAID-5:較RAID-4,采用獨立存取的陣列方式,校驗信息被均勻的分散到陣列的各個磁盤上。

小結:

  1. 提高了讀、寫性能

  2. 提升了硬盤的容錯能力

  3. 陣列的可用空間:size=(N-1)*min(S1,S2,…)

  4. 最少磁盤數為3塊

應用場景:文件服務器、Email服務器、Web服務器等環境數據庫應用

RAID學習總結

RAID-6:帶有兩種分布存儲的檢驗信息的磁盤陣列,它是對RAID5的擴展,主要是用于要求數據絕對不能出錯的場合,使用了二種奇偶校驗方法,需要N+2個磁盤。

小結:

  1. 讀、寫性能提升

  2. 可用空間:size=(N-2)*min(S1,S2,…)

  3. 提高了容錯能力

  4. 所需最少磁盤數為4塊

RAID學習總結

RAID-10:結合RAID-1和RAID-0,先鏡像,再條帶化。

小結:

  1. 讀、寫性能提升

  2. 可用空間:size=N*min(S1,S2,…)/2

  3. 有容錯能力:每組鏡像最多只能壞一塊

  4. 最少磁盤數為4塊

應用場景:多用于要求高可用性和高安全性的數據庫應用

RAID學習總結

RAID-01:結合RAID-0和RAID-1,先條帶化,再鏡像。

小結:

  1. 讀、寫性能提升

  2. 可用空間:size=N*min(S1,S2,…)/2

  3. 有容錯能力,但效果不理想

  4. 所需最少磁盤數為4塊

RAID學習總結

RAID-50:RAID 5與RAID 0的組合,先作RAID 5,再作RAID 0.

小結:

RAID 50在底層的任一組或多組RAID 5中出現1顆硬盤損壞時,仍能維持運作,不過如果任一組RAID 5中出現2顆或2顆以上硬盤損毀,整組RAID 50就會失效。

應用場景:大型數據庫服務器、應用服務器、文件服務器等應用

RAID學習總結

JBOD:將多個硬盤空間合并成一個大的邏輯硬盤。

小結:

  1. 沒有錯誤備援機制

  2. size=sum(S1,S2,…)

RAID學習總結

常用RAID級別的比較

RAID學習總結

RAID的實現方式

  • 硬件方式:主板上集成了相應的硬件和控制芯片,需要在BIOS界面中進行配置。硬件RAID的實現不占用其他硬件資源,穩定性和速度都比軟件RAID高,對于服務器來說,一般使用硬件RAID來提高計算機的性能。

  • 軟件方式:通過內核的md(Multi Devices)機制來實現,由于沒有獨立的硬件和接口,需要占用一定的系統資源。

CentOS 6上軟件RAID的實現

  • 模塊化工具mdadm

    1.支持的RAID級別:RAID0,RAID1,RAID4,RAID5,RAID6,RAID10;
    2.可以基于多塊硬盤、分區以及邏輯卷來實現RAID;
    3.狀態信息保存在/proc/mdstat
    4.已創建好的RAID位于/dev/md#
  • mdadm的語法格式

    mdadm [mode] <raiddevice> [options] <component-devices>
                模式:
                    創建:-C
                    裝配: -A
                    監控: -F
                    管理:-f, -r, -a
    
                <raiddevice>: /dev/md#
                <component-devices>: 任意塊設備
    
    
                -C: 創建模式
                    -n #: 使用#個塊設備來創建此RAID;
                    -l #:指明要創建的RAID的級別;
                    -a {yes|no}:自動創建目標RAID設備的設備文件;
                    -c CHUNK_SIZE: 指明塊大?。?
                    -x #: 指明空閑盤的個數;
    
    
                -D:顯示raid的詳細信息;
                    mdadm -D /dev/md#
    
                管理模式:
                    -f: 標記指定磁盤為損壞;
                    -a: 添加磁盤
                    -r: 移除磁盤
    
                觀察md的狀態:
                    cat /proc/mdstat
    
                停止md設備:
                    mdadm -S /dev/md#
  • 實現實例

創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能

[root@CentOS6 ~]# mdadm -C /dev/md0 -n 2 -l 1 -c 128 /dev/sd{b,c}

[root@CentOS6 ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Aug 19 15:40:11 2016
     Raid Level : raid1
     Array Size : 5238720 (5.00 GiB 5.36 GB)
  Used Dev Size : 5238720 (5.00 GiB 5.36 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Aug 19 15:40:27 2016
          State : clean, resyncing 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

  Resync Status : 64% complete

           Name : CentOS6:0  (local to host CentOS6)
           UUID : f92a25b5:a1120042:521176b5:1964c806
         Events : 10

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

[root@CentOS6 ~]# mkfs.ext4 /dev/md0
[root@CentOS6 ~]# echo "/dev/md1    /backup   ext4  defaults,acl,nodiratime  0 0"  >> /etc/fstab
  • 注意:

    • 創建好RAID之后,最好將相關信息保存到/etc/mdadm文件中,如是在下次啟動系統時會自動掛載啟用RAID

      # mdadm -D --scan > /etc/mdadm.conf
    • 創建好RAID之后使用時要使用RAID設備來掛載,不要對原塊設備操作

    • 在停止RAID之前要先卸載,而后使用mdadm -S命令

    • 若要重啟RAID使用mdadm -R命令,但是由于操作系統或軟件版本的問題,關閉RAID后會找不到/dev/md#塊設備,此時只要重啟系統便可,因為已把相關信息保存至/etc/mdadm.conf文件

其他概念:

XOR算法:相同為假,不同為真。

熱備是指在不干擾當前系統的正常使用的情況下,用系統中另外一個正常的備用磁盤頂替失效磁盤。

熱換是指在不影響系統正常運轉的情況下,用正常的磁盤物理替換RAID陣列中的失效磁盤。

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

(0)
JeasonJeason
上一篇 2016-08-22
下一篇 2016-08-22

相關推薦

  • n28 第二周作業

    n28 第二周作業

    Linux干貨 2017-12-09
  • 網絡組Network Team

    網絡組Network Team 網絡組team:是將多個網卡聚合在一起,從而實現容錯和提高吞吐量 1 創建網絡組接口 nmcli connection add type team con-name TEAMname ifname INTname [config JSON] TEAMname 指定連接名,INname指定接口名, JSON指定runner方式,…

    Linux干貨 2017-05-07
  • Linux 基礎(三)——用戶管理&正則表達式

    1、  列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d " " -f1 | uniq 2、  取出最后登錄到當前系統的用戶的相關信息。 last -1 | cut -d " " -f1 | head -1 | id 3、  …

    Linux干貨 2016-11-08
  • 馬哥教育網絡班N22期+第五周課程練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell; ~]# grep -E "^(root|user1|fedora)" /etc/passwd | awk -F: '{ print $1 $7 }' root/bin/bash user1/bin/bash fedora/bin/bash 2、…

    Linux干貨 2016-10-17
  • Linux之計劃任務

    Linux 之計劃任務    任務計劃Linux任務計劃、周期性任務執行未來的某時間點執行一次任務:atbatch:系統自行選擇空閑時間去執行此處指定的任務周期性運行某任務:cron   at任務at命令:at [option] TIME常用選項:-V 顯示版本信息:-l: 列出指定隊列中等待運行的作業;相當于atq-d: 刪除…

    Linux干貨 2016-09-11
  • Linux磁盤和文件系統管理進階(swap、磁盤配額、RAID、LVM、btrfs)

    概述:     上篇已經介紹了一些磁盤和文件系統管理的基礎概念,對磁盤的硬件構造,文件系統的基礎概念部分有了一個大致的了解。本篇就分享一些關于磁盤和文件系統管理的一些高級應用,具體包含:     1、swap交換分區的管理     2、掛載…

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