Linux上實現軟RAID

RAID介紹:多個磁盤合成一個“陣列”來提供更好的讀寫性能和冗餘;

RAID-0:條帶

  RAID-0最少需要兩塊硬盤,比方一個100M大小的數據內容來存放時,是將50M存放在A硬盤,另外50M存放在B硬盤;當然這樣不管用戶來讀取數據內容和修改存放數據內容,因爲兩塊硬盤,讀和寫都會比原來一塊硬盤要快。短處是沒有容錯能力,也沒有備份,壞一塊硬盤因爲數據在兩個地方存放着,所以數據都會完蛋。

讀,寫性能提升;

可用空間:硬盤個數*硬盤最小空間

無容錯能力

最少磁盤數:2,2+

RAID-1:鏡像

   RAID-1稱之爲鏡像,就想照鏡子一樣,數據在兩塊硬盤上個存放一份;需要兩塊硬盤,讀的能力從兩塊硬盤都可以讀取,速度變快;寫因爲要同時寫兩份速度相對下降些;優點是一塊硬盤出現故障,不影響另外一塊硬盤的讀寫使用。

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

可用空間:1*硬盤最小空間

有冗餘能力

最少磁盤數:2,2+

RAID-5:校驗碼

   RAID-5是存放校驗碼,需要最少三塊硬盤;先介紹下RAID-4,也是最少三塊硬盤,兩塊硬盤A和B存放正常數據(0和1),一塊硬盤存放數據的校驗碼x(異或性);比方硬盤A壞掉一塊時,可根據存放校驗碼的硬盤和硬盤B推導出來硬盤A上的數據。那麼這樣缺點是存放校驗碼的硬盤卻會經常壞掉;由此RAID-5就是將數據比方0,1,x,循環不同的放入三塊硬盤中,而不是隻單單將校驗碼放入第三塊硬盤(三塊硬盤循環放入)。這樣也允許三塊硬盤“隨便”壞一塊。

讀,寫性能提升

可用空間:(硬盤數量-1)*硬盤最小空間

有容錯能力;允許壞掉1塊硬盤

最少磁盤數:3,3+

RAID-6:類似RAID-5

兩塊硬盤存放校驗碼

RAID-10:(先做RAID-1鏡像,在做RAID-0)

讀,寫性能提升

可用空間:硬盤數量*硬盤最小空間/2

有容錯能力,每組鏡像最多隻能壞一塊

最小磁盤數:4,4+

RAID-01

RAID-50

JBOD:將多塊磁盤的空間合併一個大的連續空間使用


硬RAID:主板集成RAID控制器,安裝OS前在BIOS裏配置


Centos 6上的軟件RAID的實現:

結合內核中的md

mdadm:模式化的工具

命令的語法格式:mdadm [模式] RAID設備 [選項] 成員設備

模式:

創建:-C:  -n #:使用#個塊設備來創建此RAID; -l:創建的RAID級別

 -a {yes|no}:自動創建目標RAID設備的設備文件;-c:指定塊大小;-x:指明空閒盤的個數

裝配:-A

監控:-F

管理:-f標記指定磁盤爲損壞,-r移除磁盤,-a添加磁盤

RAID設備:/dev/md#

成員設備:任意塊設備(單獨硬盤,不同磁盤的分區)

  Centos 6例子:fdisk /dev/sda 先創建分區,並使用t命令設置型號fd!

  partx -a /dev/sda  內存同步分區信息

  mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10} 創建RAID5

  cat /proc/mdstat  查看md信息  可使用which -n1刷新查看

  mkfs.ext4 /dev/md0  格式化創建文件系統

  mkdir /mydata   mount /dev/md0 /mydata  掛載到目錄

  df -lh

  mdadm -D /dev/md0  查看RAID詳細信息

  mdadm -f /dev/md0 -f /dev/sda7 “有意”破壞一張硬盤

  mdadm /dev/md0 -a添加-r刪除 /dev/sda7

  生成配置文件:mdadm –D –s >> /etc/mdadm.conf

  停止服務:mdadm –S /dev/md0

  激活:mdadm –A –s /dev/md0 激活


即使硬盤可以做RAID,但數據也要及時做備份


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