Linux基礎(19)軟件磁盤陣列RAID

1.什麼是RAID?

RAID是容錯廉價磁盤陣列,可以將多個小磁盤整合爲一個較大的磁盤設備,不僅可以擴大磁盤的容量,還可以實現數據保護。

2.RAID等級

   RAID根據等級的不同,實現的功能和性能也有所不同

   RAID0 至少需要兩塊磁盤,在寫數據前現將數據分爲等大小的區塊(chunk),然後將數據交叉存放到不同的設備中。優點是數據的讀寫性能好,缺點是如果有一塊磁盤的數據損毀,整個文件就損毀了。

   RAID1 鏡像模式,可以實現數據的完整備份,寫數據的時候,將同一份數據完整的寫到兩塊不同的磁盤上,磁盤的空間利用率爲50%,讀性能好,寫性能較差。最大的優點是可以實現數據的完整備份。

   RAID 1+0 需要四塊磁盤,先用兩塊磁盤實現RAID1,再用兩個RAID1實現RAID0 

   RAID 0+1 需要四塊磁盤,先用兩塊磁盤實現RAID0,再用兩個RAID1實現RAID0

   RAID5 至少需要三塊以上的磁盤實現,當任何一塊磁盤有數據損毀的時候,可以通過同位檢查碼(parity)將數據恢復。舉個例子 1+2=3,3可以看做是parity,當數據1損毀的時候,可以通過3-2=1得到損毀的數據(當然,具體實現肯定要比這複雜)。注意RAID5僅僅支持一塊磁盤的損毀情況。

3.RAID的預備磁盤

  爲了可以更快的抽換損毀的磁盤,可以準備預備磁盤,該磁盤平時不被RAID使用,當有數據損毀的時候,這塊磁盤可以被主動拉入磁盤陣列替換損毀的磁盤。如果支持熱插拔,則可以在線替換,不同關機。

4.軟件磁盤陣列

  平時生產環境中使用的都是硬件磁盤陣列,磁盤陣列的管理通過磁盤陣列卡中的芯片實現,性能很好,缺點是磁盤陣列卡一般都很貴。

  軟件磁盤陣列可以通過軟件mdadm實現,但是會消耗較多的系統資源,性能較差。軟件磁盤陣列的設備名爲/dev/md#,我們可以通過軟件磁盤陣列達到學習的目的。

5.軟件磁盤陣列的設置

  下面我們通過mdadm來演練一下,達到學習的目的。

   mdadm的格式爲

   mdadm --detail /dev/md#  #查看某個RAID設備的詳細信息

   mdadm --create --auto=yes /dev/md# --level=N --raid-devices=N 

--spare-devices=N

   具體參數的含義:

   --create #創建RAID設備

   --auto=yes #後面指定軟件磁盤陣列設備

   --level=N  #設置級別  建議只是用0 1 5

   --raid-devices=N  #設置幾個磁盤設備作爲RAID設備

   --spare-devices=N #設置幾個磁盤作爲預備設備

   下面實際演練一下,不實際操作永遠得不到直觀的經驗,馬哥的名言。。。。。。

   mdadm --create --auto=yes /dev/md0 --level=1 --raid-device=2 --spare-devices=1 /dev/sda{9,10,11}

    wKiom1eQNjWycJe3AAGtugIET-k214.jpg-wh_50

     

    mdadm --detail /dev/md0

     wKiom1eQNpKgl791AAKqIlVO-yk615.jpg-wh_50

    格式化RAID設備並且掛載

    mke2fs -j /dev/md0

    mkdir /mnt/raid

    mount /dev/md0 /mnt/raid

    wKioL1eQN0rydupZAALLqrQcstg650.jpg-wh_50

    df /mnt/raid  #查看一下該設備我們可以看到設備的容量是100M ,因爲我們創建的是RAID1設備,另一個100M的分區是作爲鏡像存在的。

    wKioL1eQN7OTo2npAADdSfY83Pg608.jpg-wh_50  

   下面我們模擬損毀一塊磁盤,來實現熱插拔的功能

   mdadm --manage /dev/md0

   --add 設備  #添加設備

   --remove 設備  #刪除設備

   --fail  設備  #模擬損毀後面的設備

   mdadm --manage /dev/md0 --fail /dev/sda9  #很顯然9換下去了,11換上來了。

   wKiom1eQOK-ihJM-AAJh3go4k8M514.jpg-wh_50

   下面將出錯的磁盤移除

   mdadm --manage /dev/md0 --remove /dev/sda9

   wKiom1eQOR_i8xG-AAKk4bRiigg804.jpg-wh_50

6.如何正確的關閉RAID設備

關閉RAID設備不能簡單的將其分區刪掉,必須按照步驟,否則會是文件系統出錯

  umount /mnt/raid  #先卸載

  sed -i "/^\/dev\/md0/d" /mnt/raid   #如果設置了自動掛載,將/mnt/raid哪一行刪掉

  mdadm --stop /dev/md0 #關閉raid設備

  cat /proc/mdstat #確實不存在任何的數組設備

  vim /etc/mdadm.conf  #將開頭的ARRAY那一行註釋掉。

  wKiom1eQOteiqEtQAADZWRgjES0215.jpg-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章