**
Raid 介紹**
RAID 的全稱為Redundant Arrays of Inexpensive(Independent) Disks,是 1988年由加利福尼亞大學伯克利分校發明的。
Raid 可以将多個磁盤合成一個“陣列”來提供更好的性能、備援,或者兩者都提供。
RAID實作的方式:
1. 外接式磁盤陣列:通過擴充卡提供适配能力
2. 内接式RAID:主機闆內建RAID控制器
3. 安裝OS前在BIOS裡配置
4. 軟體RAID:通過OS實作
*
raid 常用級别*
raid 常用級别有 raid0,raid1,raid5,raid6,raid10,raid 50。
raid 0 兩塊磁盤同時讀寫,資料分開放在不同的磁盤裡,主要是為了提升讀寫性能,但是并無備援能力(容錯能力),磁盤中任何一個壞掉都會導緻資料丢失,生産中都不會單獨使用raid 0。
raid 1 相當于對磁盤做鏡像,這樣其中一個磁盤壞掉了對資料不會有任何影響,磁盤使用率隻有1/2,雖然這大大保證資料安全,但是卻比較浪費。性能表現:寫性能下降,讀性能提升。
raid 5 是用磁盤其中一個磁盤的空間做資料校驗,但是校驗碼是分散的儲存在不同的磁盤上的,如果其中有一個磁盤壞掉後可以通過校驗值恢複資料,磁盤使用率為 (n-1)/n,性能表現讀寫效率都有提升。
raid 6 是拿出整體磁盤中兩塊磁盤的空間來做資料校驗,校驗值也是分散儲存在不同磁盤上的,磁盤使用率為 (n-2)/n 。
raid 10 就是先做raid 1 後再做raid 0 ,這樣既保證了資料的完全備份,也提高了資料的讀寫效率,容錯率高。
Centos 上軟raid 配置說明
Centos 上軟體raid是結合核心中的md(multi devices)來實作的。
RAID裝置可命名為/dev/md0、 /dev/md1、 /dev/md2、/dev/md3等
通過指令mdadm 可以建立軟raid
指令的文法格式: mdadm [mode] <raiddevice> [options]
-C: 建立模式
-n #: 使用#個塊裝置來建立此RAID
-l #:指明要建立的RAID的級别
-a {yes|no}:自動建立目标RAID裝置的裝置檔案
-c CHUNK_SIZE: 指明塊大小
-x #: 指明空閑盤的個數
-D:顯示raid的詳細資訊;
mdadm -D /dev/md#
管理模式:
-f: 标記指定磁盤為損壞
-a: 添加磁盤
-r: 移除磁盤
觀察md的狀态:cat /proc/mdstat
軟RAID配置示例:
mdadm -C /dev/md5 -a yes -l -n -x /dev/sd{b,c,d,e}
**(-C /dev/md5 表示建立名稱為/dev/md5 的raid ,-l 表示建立raid ,-n 表示用 個硬碟 ,-x 表示用一個備份)**
用檔案系統對每個RAID裝置進行格式化
mke2fs -j /dev/md0
使用mdadm檢查RAID裝置的狀況
mdadm --detail|D /dev/md0
增加新的成員: mdadm –G /dev/md0 –n4 -a /dev/sdf116
模拟磁盤故障 mdadm /dev/md0 -f /dev/sda1
移除磁盤 mdadm /dev/md0 –r /dev/sda1
• 在備用驅動器上重建分區
• mdadm /dev/md0 -a /dev/sda1
mdadm、 /proc/mdstat及系統日志資訊
**
Centos 上配置 Raid 5 執行個體**
centos6.9 上使用sdb1,sdc1,sdd1,sde1 來建立raid5 ,前提要保證該四個硬碟系統類型為 Linux raid autodetect ,如果不是通過fdisk 來改變。
第一步:
[[email protected]]#fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): t ###表示要改變類型
Partition number (-):
Hex code (type L to list codes): fd ###fd 是raid 的類型
Command (m for help): p ### 檢視是否改變成功
Disk /dev/sdb: GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier:
Device Boot Start End Blocks Id System
/dev/sdb1 + fd Linux raid autodetect
其餘的磁盤也是通過一樣的方法來改變。
第二步:
建立raid 5
`mdadm -C /dev/md5 -l 5 -n 3 -x1 /dev/sd{b,c,d,e}1` (建立名稱為/dev/md5 的raid ,-l 表示raid5 , -n 表示 個硬碟,-x 表示一塊硬碟做後備 )
2.2
mkfs.ext4 /dev/md5
格式化raid5
2.3 通過
mdadm -D /dev/md5
來檢視狀态
“`

可以看到sdb1 sdc1 sdd1 和sde1 都已經加入raid5 中,sde1 是在備份狀态。
2.4 通過
mount /dev/md5 /mnt
把raid 挂載到/mnt 下後就可以對raid5 來讀寫檔案了 ,這時候我們可以在/mnt 寫任意檔案。至此raid5 的建立已經
2.6 為了驗證raid 5 對磁盤的容錯功能,模拟其中一個硬碟
mdadm /dev/md5 -f /dev/sdb1 模拟sdb1 磁盤損壞
此時我們比較mnt 裡面的檔案,發現雖然sdb1 此時已經損壞 ,但是mnt 裡面的檔案卻沒有任何丢失!
2.7
mdadm /dev/md5 -r /dev/sdb1 移除壞掉的sdb1 磁盤。
如果加入新磁盤可以通過指令: mdadm -a /dev/sdx /dev/raid5 。
至此raid 5 模拟磁盤損壞和新增磁盤結束。