RAID详解及软RAID管理
RAID释义:
RAID--磁盘冗余阵列(将磁盘有组织的捆绑到一起使用,提高IO速率、提供冗余备份)
硬RAID:RAID卡(类似bios界面)
软RAID:软件模拟--mdadm
RAID类型
RAID 0:把多块物理磁盘(至少两块)通过硬件或软件串联到一起,将数据一次写入到各个物理盘中,IO速率成倍增加,毫无备份功能,磁盘使用率100% RAID0----条带模式
RAID 1:至少两块盘成2n倍数,IO熟虑没有提升,数据具备冗余效果,磁盘空间使用率低100%/n RAID1---镜像模式
RAID 5:至少三快盘,至多允许损坏一块盘,在提升IO速率的同时,提供数据备份功能,提供奇偶过程,奇偶校验码必须穿插存储在不同硬盘上
RAID 6:至少需要四块盘,至多损坏两块盘,提供双奇偶校验
RAID 10:RAID0+RAID1 至少需要四块磁盘(先提供IO速率再提供数据备份功能)
先做两个raid1,然后将两个raid1做成raid0(先镜像,再条带)
RAID 01:RAID1+RAID0 至少需要四块硬盘(先提供数据备份再提供IO速率功能)
先做两个raid0,然后将两个raid0做成raid1(先条带,再镜像)
一.创建raid10的软raid制作(先加四块盘,也可以用分区做)
/dev/sdb /dev/sdc /dev/sdd /dev/sde 4块盘都是2G
#]yum -y install mdadm
mdadm选项注解
-a或--add:添加设备到阵列
-C或--create:建立一个新阵列
-c或--chunk:设定阵列的块chunk大小,单位为KB
-l或--level:设定磁盘阵列的级别
-n或--raid-devices=:指定阵列成员(分区/磁盘)的数量
-x或--spare-devicds=:指定阵列中备用盘的数量
-G或--grow:改变阵列大小或形态
-D或--detail:打印阵列设备的详细信息
-s或--scan:扫描配置文件或/proc/mdstat得到阵列缺失信息
-A:激活磁盘阵列
-f:将设备状态定为故障
-v:--verbose显示详细信息
-r:移除设备
#]mdadm -E /dev/sd[b-e]
(查看这几块盘是否做过raid)
如果没有检测到超级块,意味着没有配置raid
#]mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
#]ll /dev/md0
brw-rw---- 1 root disk 9, 0 12月 31 21:37 /dev/md0
做好raid之后格式化文件系统才能使用
#]mkfs.ext4 /dev/md0
创建挂载目录并挂载到该目录下,df -hT查看挂载信息
#]mkdir /RAID
#]mount /dev/md0 /RAID
#]df -hT
查看阵列信息
#]mdadm -D /dev/md0
#]echo “/dev/md0 /RAID ext4 defaults 0 0” >> /etc/fstab (实现开机自动挂载)
#]mount -a
实际生产环境中若做了软raid且raid中有磁盘损坏的修复方法如下:
#]mdadm /dev/md0 -f /dev/sdb
#]mdadm -D /dev/md0
在阵列中损坏一块盘不影响整个阵列的使用,重新添加新盘即可恢复
#]mdadm /dev/md0 -a /dev/sdb
mdadm: Cannot open /dev/sdb: Device or resource busy
(/dev/sdb正在使用中,需要去除开机自动挂载并重启机器后重新把/dev/sdb加入到raid中)
#]sed -i 's&^/dev/md0&#/dev/md0&' /etc/fstab
#]reboot
#]mdadm /dev/md0 -a /dev/sdb
mdadm: added /dev/sdb (/dev/sdb加入/devmd0成功)
#]mdadm -D /dev/md0
raid恢复后查看挂载信息并未发现设备/dev/md0和挂载目录,之前sed命令注释了,需要重新设置开机自动挂载并重新挂载
注意:raid重构后,可能会自动重新命名,并不是原来的raid消失只是名字变了,如果发生raid名字重命名了,挂载时修改相对应的名字即可(原因是dev设备管理器会自动对设备进行命名,rhel6不会改变设备名字,rhel7可能会改变)
#]df -hT
#]sed -i ‘s&#/dev/md0&/dev/md0&’ /etc/fstab
#]mount -a
#]df -hT
停止raid
#]umount /RAID
#]mdadm -S /dev/md0
(-S选项停止使用raid,等同于删除raid,再去查看是没有/dev/md0这块设备的)
RAID卡支持热插拔,不需要重启,软RAID重构需要重启生效
二.创建raid5的软raid制作(先加四块盘,也可以用分区做)raid+备份盘
备份盘:存储奇偶校验码,用于恢复raid(raid5机制)
/dev/sdb /dev/sdc /dev/sdd /dev/sde 4块盘都是2G
#]mdadm -Cv /dev/md1 -a yes -l 5 -n 3 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
注意:不管主盘备份盘的选项放前还是放后,备份盘都是在主盘之后,只有创建了raid之后才有备份盘,和选项先后顺序无关,和磁盘先后顺序有关
#]mdadm -Cv /dev/md1 -a yes -l 5 -n 3 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
#]mdadm -Cv /dev/md1 -a yes -l 5 -x 1 -n 3 /dev/sdb /dev/sdc /dev/sdd /dev/sde
(这两条命令的结果都是/dev/sdb /dev/sdc /dev/sdd三块做raid主盘,/dev/sde做备份盘)
#]mdadm -D /dev/md1
#]mkfs.ext4 /dev/md1
#]echo “/dev/md1 /RAID ext4 defaults 0 0” << /etc/fstab
#]mount /dev/md1 /RAID
#]df -hT
从raid中剔除/dev/sdb后查看/dev/md1状态
#]mdadm /dev/md1 -f /dev/sdb
#]mdadm -D /dev/md1
去除开机自动挂载并重启,然后重构raid查看raid5的阵列变化
#]sed -i ‘s&^/dev/md1&#/dev/md1&’ /etc/fstab
#]reboot
#]mdadm /dev/md1 -a /dev/sdb
#]mdadm -D /dev/md1
重新挂载使用
#]sed -i ‘s&^#/dev/md1&/dev/md1&’ /etc/fstab
#]mount /dev/md1 /RAID (mount -a)
#]df -hT
三.创建raid01的软raid制作
/dev/sdb /dev/sdc /dev/sdd /dev/sde 4块盘都是2G
#]mdadm -Cv /dev/md2 -a yes -n 2 -l 0 /dev/sdb /dev/sdc
#]mdadm -D /dev/md2
#]mdadm -Cv /dev/md3 -a yes -n 2 -l 0 /dev/sdd /dev/sde
#]mdadm -D /dev/md3
#]mdadm -Cv /dev/md4 -a yes -n 2 -l 1 /dev/md2 /dev/md3
#]mdadm -D /dev/md4
#]mdfs.ext4 /dev/md4
#]echo “/dev/md4 /RAID ext4 defaults 0 0” << /etc/fstab
#]mount /dev/md4 /RAID
#]df -hT