大家應該經常聽到這個名詞厚
實際上還是要玩過一遍才知道它是在幹嘛
RAID有分作兩種:
1. 硬RAID:需要有RAID卡,磁盤接在RAID卡上,由它來統一管理控制(硬件RAID是在裝系統之前,先做陣列才裝系統,服務器啟動時,有顯示進入配置RAID的提示,比如按下CTRL+L/H/M進入配置RAID的介面。)
2. 軟RAID:通過操作系統來實現(Linux有個md(multiple devices)模塊在底層管理RAID)
因為硬碟空間有限(?)
今天先來練習一下 RAID 0 和 RAID 1
RAID1適用於:重要的數據,數據庫,系統盤(把系統盤安裝到raid1的md1設備上,可以對md1做分區)
RAID0和1需要兩塊硬碟
RAID5需要(至少)三塊硬碟(四塊硬碟也能做RAID5)
不建議劃分區,拿分區去做RAID,因為硬碟壞了,整個分區都會壞
【-mdadm指令,簡單看一下-】
-C --create 建立一個新陣列-A --active 啟用磁碟陣列-D --detail 打印陣列設備的詳細信息-s --scan 掃描配置文件或/proc/mdstat得到陣列缺失信息-f --false 將設備狀態定為故障-a --add 添加設備到陣列-v --verbose 顯示詳細信息-r --remove 移除設備-l --level= 設定磁碟陣列的級別-n --raid-devices= 設定陣列成員(分區/磁碟)的數量-x --spare-devicds= 指定陣列中備用盤的數量-c --chunk= 設定陣列的塊的大小,單位為k-G --grow 改變陣列的大小和形態-S 停止陣列
【-RAID 0 搭建開始-】
首先查看你的機器底下有哪些磁碟
例如下圖,原本我就有一顆動態硬碟sda,sda1,sda2
後來才加上兩顆sdb、sdc要來做RAID 0
ls /dev/sd*
再來就直接要開始創建了
(-C代表創建 -v詳細訊息 -l磁碟陣列等級 -n用幾塊硬碟來做)
mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
完成之後可以查看一下磁碟訊息
第一條能看到一覽,第二條指定陣列位址之後能看更詳細訊息
mdadm -Dsv
mdadm -D /dev/md0
將剛才看到的訊息,寫入配置文件
mdadm -Dsv > /etc/mdadm.conf
vim !$
cat /proc/mdstat
接下來要提到磁碟格式化,選一種即可
個人掛了xfs會開不了機,最後是選擇ext4格式來做的
mkfs.xfs /dev/md0 #xfs格式
mkfs.ext4 /dev/md0 #ext4格式
創建對應的資料夾
mkdir /raid0
掛載上去
mount /dev/md0 /raid0/
檢查一下
ls !$
df -h
查看「掛載磁碟用」的UUID(在做完分區之後)
這和mdadm -Ds的UUID不一樣喔(存硬件設備用的UUID)
blkid /dev/md0
把UUID複製下來
vi /etc/fstab
包含剛才的UUID一起寫入開機自動掛載文件(注意格式是xfs或ext4)
UUID=XXXXXXXXXXXX /raid0 ext4 defaults 0 0
補充
掛載選項:defaults
轉儲頻率 0:不做備份 1:每天轉儲 2:每隔一天轉儲
自檢次序 0:不自檢 1:首先自檢(一般只有rootfs才有)
重新開機
reboot now
重新開機之後查看RAID還存在就是成功了喔
分隔線
分隔線
分隔線
【-RAID 1 搭建開始-】
其實方法跟RAID0幾乎大同小異
只是RAID1能做「備援」,所以用上三顆硬碟來做
指令也用了另一種詳細的寫法
這裡新出現的「spare-devices」是備用硬碟,也可簡寫成「-x」
mdadm --create /dev/md1 --level=1 --chunk=128 --raid-devices=2 --spare-devices=1 /dev/sdd /dev/sde /dev/sdf
創建完之後寫入配置文件
mdadm -Dsv > /etc/mdadm.confmdadm -D /dev/md1
格式化
mkfs.ext4 /dev/md1
生成文件夾並掛載
mkdir /raid1mount /dev/md1 /raid1
記得開機自動掛載要寫
vi /etc/fstab
就成功啦
分隔線
分隔線
分隔線
【-RAID 1 測試時間-】
隨便生成兩個測試文件給它們同步一下
touch a.txt /raid1touch b.txt /raid1
這裡除了看到硬碟之間在同步之外
也可以透過其他指令來測試
例如標記一顆硬碟為故障來模擬一下
圖中可看到sde已經被標記為故障
mdadm /dev/md1 -f /dev/sde
因為設置有更改,記得先更新一下配置文件
mdadm -Dsv > /etc/mdadm.conf
檢查數據有無丟失
ls /raid1/
再來把標記故障的那顆硬碟移除掉
可發現做RAID的裝置已經從三顆變成了兩顆硬碟
mdadm -r /dev/md1 /dev/sde
若把剛才標記壞掉的sde加回來也可以
加回來就會重新變成第三顆(備援硬碟)
mdadm -a /dev/md1 /dev/sde
分隔線
分隔線
分隔線
【-RAID 0 卸載磁碟陣列,並將硬碟恢復成一般普通的硬碟掛載-】
首先要卸載RAID0,並停止RAID的啟用
umount /raid0/
mdadm -S /dev/md0
再來就是再格式化一次
mkfs.ext4 /dev/sdb
把磁碟訊息寫入開機自動掛載
注意這次不是/raid0而是作為/data一顆普通的磁碟了
blkid /dev/sdb
vi /etc/fstab
UUID=XXXXXXXXXXXXX /data ext4 defaults 0 0
創建對應的文件夾並掛載
再用df -h檢查一下就會發現RAID0不見囉
卸載掉RAID0,不是同時卸載掉了sdb、sbc嗎?
所以我們又將sdb重新掛載上來作為一般的硬盤服役,就是這麼簡單~
mkdir /data
mount -a
df -h
【-排錯-】
不能開機、登入失敗怎麼辦?
通常在開機前會進入「welcome to emergency mode」
這個時候要先敲管理者密碼
再來就是一般的vi xxx 將你剛才修改的東西改回來
例如這一篇文章的案例就是vi /etc/fstab 將掛上去的RAID語句刪除