獨立磁盤冗餘陣列(RAID,redundant array of independent disks)是把相同的數據存儲在多個硬盤的不同的地方(因此,冗餘地)的方法。通過把數據放在多個硬盤上,輸入輸出操作能以平衡的方式交疊,改良性能。因爲多個硬盤增加了平均故障間隔時間(MTBF),儲存冗餘數據也增加了容錯。
磁盤陣列其樣式有三種,一是外接式磁盤陣列櫃、二是內接式磁盤陣列卡,三是利用軟件來仿真。
RAID0:把數據條帶化後,分別同時寫入不同的磁盤當中,每個磁盤的數據內容不一樣,但是容量一致,讀寫都有提升,出現故障,無法進行任何補救,
RAID1:把數據做成備份,所有的盤裏都是一樣的數據內容,浪費,寫的性能下降,讀有提升,
RAID4:帶有校驗碼的磁盤陣列,一個盤存校驗碼,但是由於使用磁盤頻繁,導致它會容易損壞,
RAID5:帶有校驗碼,所有盤輪迴存校驗碼,使用機率和磁盤損壞機率都公平,
RAID6:兩個校驗盤
RAID10:先1後0,公司大部分使用這種方式
下面就用軟件模擬的方式做一個RAID5
環境:在centos7、sdb磁盤上進行
創建4個磁盤分區
#fdisk /dev/sdb
n
+10G
....
#partx -a /dev/sdb (內核重讀設備文件)
#mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdb{5,6,7,8} (創建raid5)
#mke2fs -j /dev/md5 (格式化文件系統)
#mount /dev/md5 /mnt (掛載)
#cp -r /etc /mnt
#mdadm -D /dev/md5 (查看raid信息)
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb5
mdadm: set /dev/sdb5 faulty in /dev/md5(模擬損壞)
空閒盤會自動頂上替。
[root@localhost ~]# cat /proc/mdstat
[root@localhost ~]# mdadm /dev/md5 -r /dev/sdb5
mdadm: hot removed /dev/sdb5 from /dev/md5(把磁盤5移除)
#mdadm /dev/md5 -f /dev/sdb6 (把6模擬損壞)
[root@localhost ~]# cat /mnt/etc/is
iscsi/ issue issue.net
[root@localhost ~]# cat /mnt/etc/issue
\S
Kernel \r on an \m
(還能正常訪問)
在有壞的就不能訪問了,能訪問也是緩存裏面的,機器重啓後,無法訪問:
生成配置文件:mdadm –D –s >> /etc/mdadm.conf
停服務:mdadm –S /dev/md0
激活:mdadm –A –s /dev/md0 激活
強制啓動:mdadm –R /dev/md0
刪除raid信息:mdadm –zero-superblock /dev/sdb1