1. 程式人生 > >Linux實現最常用的磁盤陣列--RAID5

Linux實現最常用的磁盤陣列--RAID5

alt -s 音頻 add 增加 正常 detail 6.5 raid簡介

(一) RAID簡介:
獨立磁盤冗余數組(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗余數組(RAID,Redundant Array of Inexpensive Disks),簡稱硬盤陣列。其基本思想就是把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至超過一個價格昂貴、容量巨大的硬盤。根據選擇的版本不同,RAID比單個硬盤有以下一個或多個方面的好處:增強數據集成度,增強容錯功能,增加處理量或容量。另外,磁盤陣列對於電腦來說, 看起來就像一個單獨的硬盤或邏輯存儲單元。分為RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50
簡單來說,RAID把多個硬盤組合成為一個邏輯扇區,因此,操作系統只會把它當作一個硬盤。RAID常被用在服務器電腦上,並且常使用完全相同的硬盤作為組合。由於硬盤價格的不斷下降與RAID功能更加有效地與主板集成,它也成為了玩家的一個選擇,特別是需要大容量存儲空間的工作,如:視頻與音頻制作
最初的RAID分成了不同的等級,每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加數據可靠性以及增加存儲器(群)讀寫性能。這些年來,出現了對於RAID觀念不同的應用
技術分享圖片
RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 RAID 5可以理解為是RAID 0和RAID 1的折中方案。RAID 5具有和RAID 0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由於多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低,是目前運用較多的一種解決方案
(二) 各軟RAID的區別:
RAID4,奇偶備份,最少3塊硬盤,其中一塊硬盤作為奇偶校驗備份,那麽任意一塊硬盤損壞都可以其他盤和校驗盤通過奇偶校驗還原數據
RAID5,將奇偶校驗數據庫分散到各個硬盤,最少3塊硬盤
RAID6,橫向和縱向都生成奇偶校驗,最少4塊硬盤
RAID0,速度最快,不冗余,最少2塊硬盤,提高2倍速度(硬盤越多,理論速度提高越多),但任何一塊硬盤損壞,則所有數據報廢
RAID1,50%冗余;——RAID0+1
(三) Linux實現RAID5各參數詳解與註意事項:
需要的磁盤個數:三塊以上
我們在這裏添加四塊硬盤,其中3塊做磁盤陣列,1塊做預備(spare)磁盤
註意:raid5 的磁盤使用率是N-1 也就是說四個30G的硬盤可用空間是90G
實驗步驟:

  1. 查看一下系統中的磁盤設備fdisk -l
    技術分享圖片
  2. 接下來創建raid了使用的命令是mdadm,如果沒有請先安裝mdadm軟件包(rpm -qa |grep mdadm)
    註意:RHEL 6.5的光盤中有
    mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]
    技術分享圖片
    參數解釋:
    --create //表示要創建raid
    --auto=yes /dev/md0 //是否自動檢測,新建立的軟件磁盤陳列設備為md0,md序號可以為0-9
    --level=5 //磁盤陣列的等級,這裏是raid5
    -raid-devices //所需使用的磁盤數量
    --spare-devices //添加作為預備(spare)磁盤的塊數
    /dev/sd[b-e] //磁盤陣列所使用的設備,還可以寫成“/dev/sdb /dev/sdc /dev/sdd /dev/sde”同樣可以縮寫為:mdadm –C –a yes /dev/md0 –l5 –n3 –x1 /dev/sd[b-e]
    查看RAID是否成功的創建是否運行的正常,有兩種方法
  3. 查看詳細信息:mdadm --detail /dev/md0命令查看RAID的詳細信息
    技術分享圖片

  4. 較為簡單的查看:可以直接查看cat /proc/mdstat的文件看到RAID運行的情況
    技術分享圖片
    U代表沒有問題、_則表示不正常;磁盤後面的(S)表示作為預備
    格式化並且掛載和使用創建的RAID
    mkfs.ext4 /dev/md0 //格式化 raid5磁盤為 md0
    技術分享圖片
    mkdir /raid
    mount /dev/md0 /raid //將md0 掛載到/raid目錄下
    查看一下掛載情況
    df –hT
    技術分享圖片
    試一下新加上的RAID是不是可以使用,向裏面寫入文件技術分享圖片
    設置開機自動啟動RAID以及自動掛載
    讓RAID開機啟動, RIAD配置文件名字為mdadm.conf , 這個文件默認是不存在的,要自己建立.該配置文件存在的主要作用是系統啟動的時候能夠自動加載軟RAID,同時也方便日後管理. 說明下mdadm.conf文件主要由以下部分組成:
    DEVICES選項制定組成RAID所有設備,
    ARRAY選項指定陣列的設備名、RAID級別、陣列中活動設備的數目以及設備的UUID號
    註意:此文件如果不創建下次開機重啟後/dev/md0將會被系統自動識別為其他非/dev/md0名稱的設備,對於實現開機掛載和使用都不方便
    自動啟動raid
    先建立/etc/mdadm.conf 這個文件
    mdadm --detail --scan > /etc/mdadm.conf
    要對這個文件做一下改動:將組成RAID5的設備名全部追加到配置文件中
    技術分享圖片
    在設置RAID的自動掛載
    修改文件 vi /etc/fstab
    在裏面加上一行 /dev/md0 /raid ext4 defaults 0 0
    模擬RAID5中的磁盤損壞,驗證spare磁盤的功能(在raid5中允許一塊磁盤的損壞,也就是我們設置的spare磁盤會立即的替換壞掉的磁盤進行raid的重建,保障數據的安全性)
    mdadm --manage /dev/md0 --fail /dev/sdd //使用此命令設置sdd成為出錯的狀態(或可簡寫為mdadm /dev/md0 -f /dev/sdd)
    技術分享圖片
    再來查看一下磁盤的信息:mdadm –-detail /dev/md0
    技術分享圖片

簡單的查看一下RAID的情況:
技術分享圖片
創建完成也就是說明raid5 已經自動的恢復了!
查看一下raid5是不是可以正常使用!
向裏面寫寫數據,這時可以發現,RAID5還可正常使用,對數據不造成任何影響
Active sync /dev/sdb1 # raid的真成員
spare /dev/sdc1 #raid備用成員
如果想重新添加/dev/sdd進RAID5,可做以下操作:
mdadm /dev/md0 --remove /dev/sdd //將壞掉的磁盤sdd從raid中
mdadm /dev/md0 -a /dev/sdd //將/dev/sdd加入陣列
mdadm --zero-superblock --force /dev/sdd(可選) //可修復硬盤將模擬損壞的硬盤重新添加
命令參數
-A = --assemble 激活
-S = --stop 停止
-D = --detail 查看raid詳細信息
-C = -- create 建立raid設備
-v = --verbose 顯示建立過程的詳細信息
-l = --level raid的級別
-n = --raid-devices raid設備數
-s = --scan 掃描raid設備
-f = --fail 標示壞的硬盤
-a = --add 添加硬盤
-r = -remove 移除壞的硬盤

關閉RAID的方法:

直接卸載/dev/md0,並且註釋掉/etc/fstab文件中的配置
umount /dev/md0 //解除掛接
vi /etc/fstab //將fstab裏面的開機自動掛載註釋掉
#/dev/md0 /var/www/html ext4 defaults 0 0
mdadm --stop /dev/md0 //停止md0磁盤服務

Linux實現最常用的磁盤陣列--RAID5