Linux基礎知識之RAID

1、什么是RAID?
    多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供。
2、RAID的優點?
    提高IO 能力:
        磁盤并行讀寫
    提高耐用性:
        磁盤冗余來實現
3、RAID 實現的方式:
    外接式磁盤陣列:通過擴展卡提供適配能力
    內接式RAID :主板集成RAID 控制器
        安裝OS 前在BIOS 里配置
    Software RAID:軟件實現的RAID
4、RAID級別:多塊磁盤組織在一起的工作方式有所不同
    0:條帶
        性能提升:讀和寫
        冗余能力(容錯能力):無
        空間利用率:nS
        至少需要2塊硬盤
    1:鏡像
        性能提升:寫性能下降,讀性能提升
        冗余能力:有
        空間利用率:1/2
        至少需要2塊硬盤
    2-4:現在不做使用
    5:
        性能提升:讀 寫
        冗余能力:有
        空間利用率:(n-1)/n
        至少需要3塊硬盤
    6:
        性能提升:讀 寫
        冗余能力:有,最多支持兩塊硬盤同時損壞
        空間利用率:(n-2)/n
        至少需要4塊磁盤
    7:
        可以理解為一個獨立存儲計算機,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID

組合RAID
    10:
        性能提升:讀 寫
        冗余能力:有
        空間利用率:1/2
        至少需要4塊硬盤
    01:
        性能提升:讀 寫
        冗余能力:有
        空間利用率:1/2
        至少需要4塊硬盤
    50:
        性能提升:讀 寫
        冗余能力:有
        空間利用率:(n-2)/n
        至少需要6塊硬盤
    jbod:
        性能提升:無提升
        冗余能力:無
        空間利用率:100%
        至少需要2塊硬盤
    常用級別:RAID-0, RAID-1, RAID-5, RAID-10,RAID-50, JBOD
5、利用軟件實現RAID
    mdadm:模式化的工具  
    支持的RAID 級別:LINEAR, RAID0, RAID1, RAID4,RAID5, RAID6, RAID10
    語法:mdadm [mode] <raiddevice> [options] <component-devices>
    模式化的命令:
        創建模式
        -C 設備
        專用選項
            -n #: 使用#個塊設備來創建此RAID;
            -l #:指明要創建的RAID的級別;
            -a {yes|no}:自動創建目標RAID設備的設備文件;
            -c CHUNK_SIZE: 指明塊大小;
            -x #: 指明空閑盤的個數;
        管理模式
            –add(-a)    eg:mdadm /dev/md# -a /dev/sda9      將磁盤sda9添加的md#陣列中,新添加硬盤要與原先的硬盤的儲存空間相同
            –remove(-r) eg:madam /dev/md# -r /dev/sda8      移除md#下的sda8磁盤
            –fail(-f)   eg:mdadm /dev/md# –fail /dev/sda7       模擬損壞的md#下的sda7磁盤
        監控模式
            -F
            -D  /dev/md1  顯示/dev/md1 的所有的磁盤信息
        增長模式
            -G
        裝配模式
            -A  mdadm -A /dev/md# /dev/sda7 /dev/sda9 將sda7和sda9裝配到md#下
        停止陣列:
            mdadm -S /dev/md#  停止/dev/md#的磁盤陣列
        觀察md的狀態:
            cat /proc/mdstat
6.軟RAID配置實例
    使用mdadm創建并定義RAID設備
        #mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
    用文件系統對每個RAID 設備進行格式化
        #mke2fs -j /dev/md0
    測試RAID 設備
        mdadm 允許檢查RAID 設備的狀況
        #mdadm –detail|D /dev/md0
    增加新的成員
        #mdadm –G /dev/md0 –n4 -a /dev/sdf1
7.軟RAID測試和修復
    模擬磁盤故障
        #mdadm /dev/md0 -f /dev/sda1
    移除磁盤
        #mdadm /dev/md0 –r /dev/sda1
    從軟件RAID磁盤修復磁盤故障,替換出故障的磁盤然后開機
    在備用驅動器上重建分區
        #mdadm /dev/md0 -a /dev/sda1
        mdadm  /proc/mdstat 及系統日志信息
8、軟RAID管理
    生成配置文件:mdadm –D –s >> /etc/mdadm.conf
    停服務:mdadm –S /dev/md0
    激活:mdadm –A –s /dev/md0  激活
    刪除raid信息:mdadm –zero-superblock /dev/sdb1
9、RAID實戰演練
    (1)創建2G RAID0
    2G  2個1G的 分區
    mdadm -C /dev/md0   創建一個設備
    fdisk /dev/sda     查看一下/dev/sda
    n +1G n +1G 創建兩個為sda5 sda6的分區
    t 5 fd  t 6 fd 將這兩個分區的格式更改為Linux Raid auto
    w 保存退出
    partprobe /dev/sda 重新讀取一下硬盤分區
    cat /proc/partitions 查看所有的Raid
    mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda5 /dev/sda6   創建/dev/md0 自動為其創建文件,創建的級別為0 設備個數為2
    cat /proc/mdstat   查看所有的Raid
    mke2fs -j /dev/md0      格式化md0,不能格式化sda5 sda6
    mount /dev/md0 /mnt 將md0掛載到/mnt
    (2)創建2G RAID1
    因為磁盤的利用率為1/2,要想創建一個2G的RAID1需要創建兩個2G的分區
    mdadm -C /dev/md1   創建一個設備
    fdisk /dev/sda     查看一下/dev/sda
    n +2G n +2G 創建兩個為sda7 sda8的分區
    t 7 fd  t 8 fd 將這兩個分區的格式更改為Linux Raid auto
    w 保存退出
    partprobe /dev/sda 重新讀取一下硬盤分區
    cat /proc/partitions 查看所有的Raid
    mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sda7 /dev/sda8   創建/dev/md1 自動為其創建文件,創建的級別為0 設備個數為2
    cat /proc/mdstat   查看所有的Raid
    mke2fs -j /dev/md1      格式化md1,不能格式化sda7 sda8
    mount /dev/md1 /mnt 將md1掛載到/mnt
    (3)實現軟件raid
    ①將已經存在的或者新建的多塊磁盤分區同意調整為 fd  Linux raid auto 模式
        fdisk  /dev/sd#  n  p  +10G  t  fd  w
    磁盤的建議塊數,RAID5為例 需要5塊磁盤左右
    ②創建RAID設備
        mdadm -C  /dev/md0 -a yes -l 5  -n 4 -x 1 /dev/sd{b,c,d,e,f}
    創建的RAID的設備的文件名為md0,自動創建設備文件(-a yes),創建的級別為RAID5(-l 5),設備的個數為4個(-n 4),創建空閑盤的合數為1個(-x 1),創建的真實的磁盤為/dev/sd{b,c,d,e,f}
    ③查看已經創建的RAID設備是否存在
        mdadm -D /dev/md0
        cat /proc/mdstat
    ④為創建好的RAID設備設定文件類型,以ext4文件系統為例
        mkfs.ext4 /dev/md0
    ⑤將已經創建好的RAID設備,設置開機自動掛載,設置掛載點和掛載類型等
        vim /etc/fstab
        UUID="b92ddd51-c555-4948-b1d5-8563b697a2f1"   /mnt/raid   ext4    defaults     0       0
    ⑥將設備的配置信息,寫入到文件中,生成配置文件
        mdadm  -Ds /dev/md0 > /etc/mdadm.conf
    ⑦啟動與停止RAID
        mdadm -A /dev/md0 啟動RAID
        mdadm -S /dev/md0 停止RAID(注意:停止RAID之前,應該先卸載RAID,mount /dev/md0,之后使用-S卸載,否則會報錯)
    ⑧模擬RAID在日常生活中出現的錯誤
        mdadm /dev/md0 -f /dev/sdf1 模擬損壞
        mdadm /dev/md0 -r /dev/sdf1 刪除成員
        mdadm /dev/md0 -a /dev/sdf1 增加
        mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增加成員
    ⑨刪除RAID
        umount /mnt/md#  卸載RAID的掛載
        mdadm -S /dev/md0 停止RAID的使用
        rm -f /etc/mdadm.conf 刪除RAID配置文件
        vi /etc/fstab    將RAID的默認掛載取消掉
        fdisk /dev/sda   刪除新建的RAID分區
        mdadm –zero-superblock /dev/sdd1  將磁盤中的超級塊信息取消掉

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

(0)
sjsirsjsir
上一篇 2016-09-01
下一篇 2016-09-01

相關推薦

  • 雙主模型的Nginx高可用負載均衡集群

    實驗目的:使用keepalived實現Nginx的雙主高可用負載均衡集群 實驗環境:兩臺Nginx proxy(雙主Nginx,各需要兩塊網卡,eth0連接內網,eth1連接外網)、兩臺web server(請求的負載均衡)、一臺client用于驗證結果。 注意:為了不影響實驗結果,在實驗開始前先關閉iptables和selinux 操作步驟: 一、配置IP…

    2017-05-13
  • http狀態碼大全

    狀態值:100 客戶端應當繼續發送請求。這個臨時響應是用來通知客戶端它的部分請求已經被服務器接收,且仍未被拒絕。客戶端應當繼續發送請求的剩余部分,或者如果請求已經完成,忽略這個響應。服務器必須在請求完成后向客戶端發送一個最終響應。 狀態值:101 服務器已經理解了客戶端的請求,并將通過Upgrade 消息頭通知客戶端采用不同的協議來完成這個請求。在發送完這個…

    Linux干貨 2016-11-01
  • Puppet基于Master/Agent模式實現LNMP平臺部署

    前言 隨著IT行業的迅猛發展,傳統的運維方式靠大量人力比較吃力,運維人員面對日益增長的服務器和運維工作,不得不把很多重復的、繁瑣的工作利用自動化處理。前期我們介紹了運維自動化工具ansible的簡單應用,本期帶來的是運維自動化神器puppet基于Master/Agent模式實現LNMP平臺部署。 Puppet 簡介 Puppet是基于ruby語言開發的一種L…

    Linux干貨 2015-07-13
  • 文件掛載

    (1)創建目錄 /mnt/file,利用dd命令創建一個大文件; (2)將文件格式化,這個文件有文件系統,相當于一個分區; (3)直接用blkid 看不到文件,可以用mount -o loop 掛載文件,掛載上后,文件就可以當作分區來用了; (4)掛載文件的優勢在于,方便移動。分區不能隨便移動而文件可以; centos6是要加-o loop的 centos7…

    2017-05-03
  • sed工具

    sed是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(patternspace),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有 改變,除非你使用重定向存儲輸出。Sed主要用來…

    2017-08-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-01 13:07

    內容總結的很好,可以通過圖片來展示各raid級別的工作模式會更直觀哦

欧美性久久久久