共计 1387 个字符,预计需要花费 4 分钟才能阅读完成。
Raid 大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性,目前市面上比较常见的是通过服务器的 raid 阵列卡来实现此功能。
通过硬件阵列卡实现 raid 具有可靠性高,性能好等特点,但是对于一般的企业而言硬件阵列卡固然好,如果大规模应用的话动辄几千上万的费用也不是他们所能承受的,难道就没有既能保证数据安全,又能减少费用支持的 IT 方案吗?当然有,软 raid 就可以实现这一需求。
一台 centos 7.2 VM,主机名分别为 host1,host1 上挂载两块 50G 的数据盘,我们的实验就在这两块数据盘上完成。
P.S: 需要强调的是生产环境下两块组 raid 的硬盘必须是同品牌同型号同容量的,否则极容易出现软 raid 失效的情况。
1. 确认操作系统是否安装了 mdadm 软件
[root@host1 ~]# rpm -qa |grep mdadm
mdadm-3.3.2-7.el7.x86_64
2. 对两块数据盘进行分区,并设置分区类型为 raid
fdisk 命令只能对容量在 2T 以下的硬盘进行分区,如果超过 2T 则需要使用 parted 工具了。Parted 命令以后会介绍使用方法,本节不赘述了。
在 fdisk 下 raid 的分区类型代码是 fd,在 parted 工具下首先需要使用 mklabel 将磁盘格式由 MBR 改成 GPT,然后才能使用 mkpart 命令进行分区,分完区之后使用 set 设置分区 flag 为 raid 即可。
3. 使用 mdadm 命令创建 raid1
可以看到创建时有个 Note 的提示,是说软 raid 不能当启动设备,这就是软 raid 比较鸡肋的地方了。
mdadm -C /dev/md0 -ayes -l1 -n2 /dev/xvd[b,c]1
命令说明:
-C创建阵列;
-a同意创建设备,如不加此参数时必须先使用 mknod 命令来创建一个 RAID 设备,不过推荐使用 -a yes 参数一次性创建;
-l阵列模式;
-n阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
/dev/md0阵列的设备名称,如果还有其他阵列组可以以此类推;
创建完成后可以使用 cat /proc/mdstat 查看阵列状态:
下图中第一次查看的时候提示 resync 完成了 95.7%,第二次查询的时候两块盘才真正同步完。
也可以使用 mdadm -D /dev/md0 查看阵列组的状态
4. 创建 md0 的配置文件
echo DEVICE /dev/sd{a,b}1 >> /etc/mdadm.conf
mdadm -Evs >> /etc/mdadm.conf
mdadm 运行时会自动检查/etc/mdadm.conf 文件并尝试自动装配,因此第一次配置 raid 后可以将信息导入到/etc/mdadm.conf 中。
5. 使用 /dev/md0
在 /dev/md0 上创建文件,然后挂载进行使用。
mkfs.ext4 /dev/md0
