RAID详解及软RAID管理

时间:2024-03-04 09:40:07

RAID释义:

RAID--磁盘冗余阵列(将磁盘有组织的捆绑到一起使用,提高IO速率、提供冗余备份)

RAIDRAID卡(类似bios界面)

RAID:软件模拟--mdadm

 

RAID类型

RAID 0:把多块物理磁盘(至少两块)通过硬件或软件串联到一起,将数据一次写入到各个物理盘中,IO速率成倍增加,毫无备份功能,磁盘使用率100%   RAID0----条带模式

RAID 1:至少两块盘成2n倍数,IO熟虑没有提升,数据具备冗余效果,磁盘空间使用率低100%/n   RAID1---镜像模式

RAID 5:至少三快盘,至多允许损坏一块盘,在提升IO速率的同时,提供数据备份功能,提供奇偶过程,奇偶校验码必须穿插存储在不同硬盘上

RAID 6:至少需要四块盘,至多损坏两块盘,提供双奇偶校验

RAID 10RAID0+RAID1  至少需要四块磁盘(先提供IO速率再提供数据备份功能)

先做两个raid1,然后将两个raid1做成raid0(先镜像,再条带)

RAID 01RAID1+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 1231 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

 

实际生产环境中若做了软raidraid中有磁盘损坏的修复方法如下:

#]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+备份盘

备份盘:存储奇偶校验码,用于恢复raidraid5机制)

/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