RAID介绍:
磁盘阵列既本文中所讲的RAID,其具有提高磁盘操作效率及容错的功能。RAID分为硬RAID和软RAID,硬RAID是基于磁盘阵列卡的,而软RAID则是使用软件管理,本文中所述的RAID属于软RAID。
各个RAID类型的简单介绍:
RAID0:至少需要两块磁盘,提高读写性能,没有容错能力。磁盘利用率为:100% RAID1:至少需要两块硬盘,镜像数据,具有容错能力,读的性能提升,写的性能下降。磁盘利用率为: 50% RAID4:至少需要三块硬盘,允许一块出错,读写性能提升。磁盘利用率为: (n-1)/n RAID5:至少需要三块硬盘,允许一块出错,读写性能提升。磁盘利用率为: (n-1)/n RAID6:至少需要四块硬盘,允许两块出错,读写性能提升。磁盘利用率为:(n-2)/n RAID10:至少需要四块硬盘,允许不同组内各坏一块盘,读写性能提升。磁盘利用率为:50
环境准备:
本文中使用VirtualBox虚拟机,你也可以使用VMware的虚拟机。虚拟机中安装好CentOS 6.5版本后,添加四块大小为10GB的SCSI硬盘,此处硬盘接口类型可随意。
软件包安装:
# yum install -y mdadm //mdadm是Linux下的软RAID管理程序。
软RAID创建方法:
查看刚刚添加的硬盘。
# lsblk
若刚才添加的硬盘不显示,则重启系统后再次查看,重启命令如下。
# reboot
下面我将带你创建一个RAID10来了解CentOS 6下软RAID创建和管理的流程。
RAID10是RAID1和RAID0组合在一起的一种形式,兼具两者的优点,在企业中比较常用。制作时先做RAID1再做RAID0,如下图中就是本例中的RAID10的创建方案。结合图片可以很容易理解,RAID10就是两组高可靠的RAID1被使用RAID0组合在一起增加了性能。
具体步骤如下。
一、先为每块硬盘新建一个分区,并将分区类型修改为RAID。此处需注意的是:加入到同一个RAID的不同硬盘上的分区的大小最好相同,否则以容量最小的分区的容量作为同一RAID在所有硬盘上的可用容量,其余空间则浪费掉。
这里只以/dev/sdb为例说明,其余硬盘按照需求参考此步骤操作即可。
使用fdisk工具编辑/dev/sbd硬盘的分区表,本例中为每块硬盘创建1个主分区,每个主分区使用全部硬盘空间。
# fdisk /dev/sdb
fdisk工具的使用方法这里不做详细说明,如需了解可参考此篇文章。
查看划分完的分区。
二、将分区类型修改为RAID,默认为Linux。
在fdisk程序中输入t,随后会要求你输入要将分区更改为的类型的代码,并提示可以输入L或list列出所有可选的类型的代码。
注意,如果硬盘中存在多个分区(本例中一块硬盘只有一个分区),那输入t后还会要求你输入要更改分区类型的分区的编号,如下图中,我选择为1号分区更改分区类型。
输入L,查看所有可选类型。
如上图红色箭头标记的,我们要将分区类型修改为Linux raid auto,输入他的代码:fd,而后会弹出一个修改成功的提示。
将所有硬盘的所有分区都按照如上步骤修改其分区类型。
全部修改完后,查看所有磁盘。
# lsblk
上图中,可以看到每块硬盘下都有我们刚刚新建的分区,若你看不到分区也不用着急,可以执行下面的命令后再次查看。
# partprobe //使系统内核立即读取新的分区表信息
若Shell提示找不到partprobe命令则可以参考此篇文章解决。
三、使用mdadm工具创建并管理软RAID
使用mdadm工具将/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde这四块硬盘组建成RAID10。
# mdadm -C /dev/md10 -a yes -l 10 -n 4 /dev/sd{b,c,d,e}1 //不要看命令好长就觉得头晕,可以结合下面的命令参数解释来试着理解这条命令中每一部分的含义。
执行后,返回信息提示已经成功创建。
在组建RAID时若弹出以下提示是警告你:软RAID不能用作启动盘,是否还继续创建软RAID,输入“y”确认即可。
若出现下图这种提示是因为磁盘之前做过一次RAID,也输入y确认。
以下是mdadm工具各个参数的详细说明:
-A 装配模式 //暂时没搞懂是怎么用的,如果你知道的话欢迎留言。 -C 创建模式 创建模式专用选项: -n 用于创建RAID设备的个数 -x 热备磁盘的个数 -l 指定RAID级别 -a 参数值:yes(自动为创建的RAID设备创建设备文件) -c 指定块的大小,默认为512KB -F FOLLOW 监控 -S 停止RAID -D 显示阵列详细信息 例如: # mdadm -C /dev/md10 -a yes -l 10 -n 4 /dev/sd{b,c,d,e}1 //此条命令就是本文中创建RAID10的命令,现在可以结合参数的帮助文档来理解啦! 管理模式命令: -f 将一块硬盘标记为损坏 -r 移除设备 -a 添加新设备 例如: # mdadm /dev/md0 -a /dev/sdb1 //这里将/dev/sdb1这块硬盘从RAID10中移除。
需要注意的是,使用mdadm工具组建完软RAID后要将其写入到RAID配置文件中,否则系统重启后RAID设备的名称会变为默认的md127,而非之前指定的md10。
# mdadm -Ds > /etc/mdadm.conf
查看刚刚创建的RAID10的信息。
# mdadm -D /dev/md10
四、为RAID设备指定文件系统。
这里我将其格式化为ext4文件系统。
# mkfs.ext4 /dev/md10
五、挂载磁盘
# mount /dev/md10 /mnt
也可以将其写入到/etc/fstab文件中,使其开自动挂载。
# vim /etc/fstab