我们主要以学习为目的,在命令模式下配置RAID 5,其他RAID的配置方式和RAID 5的配置方式相似。由于软RAID在工作中并不常用,所以我们用RAID 5来举例。
在Linux系统中,使用mdadm命令建立和管理软RAID。mdadm命令既支持用完整的硬盘建立RAID,也支持用硬盘中的不同分区建立RAID。在这里使用分区建立RAID。
仍然建立3个2GB大小的分区,用于构建RAID 5。不过,在这里多建立了1个2GB大小的分区,用作备份分区。
这个备份分区的作用是什么呢?RAID最大的好处就是具有冗余功能,当有一块硬盘或一个分区损坏时,数据不会丢失,只要插入新的硬盘或分区,依赖其他硬盘或分区就会主动重建损坏的硬盘或分区中的数据。不过,这仍然需要关闭服务器,手工插拔硬盘。如果在组成RAID的时候就加入了备份硬盘或备份分区,那么,当硬盘或分区损坏时,RAID会自动用备份硬盘或备份分区代替损坏的硬盘或分区,然后立即重建数据,而不需要人为手工参与。这样就避免了服务器停机和人为手工参与,非常方便,唯一的问题就是需要多余的硬盘或分区作为备份设备。
也就是说,在这个实验中需要4个2GB大小的分区,其中3个组成RAID 5,1个作为备份分区。建立分区的过程这里不再详细解释。在建立完分区之后,可以使用gdisk命令查看。命令如下:
我们建立了/dev/sdb1、/dev/sdb2、/dev/sdb3和/dev/sdb4共4个2GB大小的分区。
使用mdadm命令建立RAID,命令格式如下:
因为我们准备创建的是RAID 5,所以使用以下命令创建:
其中,/dev/md0是第一个RAID设备的设备文件名。如果还有其他RAID设备,则可以使用/dev/md[0~9]来表示。我们建立了RAID 5,使用了3个分区,并建立了1个备份分区。先查看一下新建立的/dev/md0,命令如下:
再查看/proc/mdstat文件,在这个文件中也保存了RAID的相关信息。命令如下:
虽然已经创建了RAID 5,但是,要想正常使用,还需要格式化和挂载。格式化命令如下:
挂载命令如下:
在CentOS 7.x中,mdadm配置文件并不存在,需要手工建立。使用以下命令建立/etc/mdadm.conf配置文件:
设置开机后自动挂载需要修改/etc/fstab配置文件,命令如下:
如果要重新启动,则一定要在这一步完成之后再进行,否则会报错。
虽然已经配置了RAID,但是它真的生效了吗?我们模拟磁盘报错,看看备份分区是否会自动代替错误分区。mdadm命令有一个选项-f,其作用是把一块硬盘或一个分区变成错误状态,用来模拟RAID报错。命令如下:
要想看到上面的效果,在查看时要快一点,否则修复可能就完成了。因为有备份分区的存在,所以分区损坏了,是不用管理员手工参与的。如果修复完成再查看,就会出现下面的情况:
备份分区/dev/sdb4已经被激活,而/dev/sdb2分区失效了。
既然分区已经报错,就把/dev/sdb2分区从RAID中移除。如果报错的是硬盘,则可以进行更换硬盘的处理。移除命令如下:
既然分区已经报错,那么还需要加入一个新的备份分区,以防下次硬盘或分区出现问题。既然要加入新的备份分区,那么还需要再划分出一个2GB大小的分区。命令如下:
新建/dev/sdb5分区,然后把它加入/dev/md0中作为备份分区。命令如下: