天天看點

Centos 上軟raid 介紹和配置

**

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

來檢視狀态

“`

Centos 上軟raid 介紹和配置

可以看到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 磁盤損壞

Centos 上軟raid 介紹和配置

此時我們比較mnt 裡面的檔案,發現雖然sdb1 此時已經損壞 ,但是mnt 裡面的檔案卻沒有任何丢失!

2.7

mdadm /dev/md5 -r /dev/sdb1 移除壞掉的sdb1 磁盤。

如果加入新磁盤可以通過指令: mdadm -a /dev/sdx /dev/raid5 。

至此raid 5 模拟磁盤損壞和新增磁盤結束。

繼續閱讀