一.利用场景
Raid 大家都晓得是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),能够按业务零碎的须要提供高可用性和冗余性,目前市面上比拟常见的是通过服务器的 raid 阵列卡来实现此性能。
通过硬件阵列卡实现 raid 具备可靠性高,性能好等特点,然而对于个别的企业而言硬件阵列卡诚然好,如果大规模利用的话动辄几千上万的费用也不是他们所能接受的,难道就没有既能保障数据安全,又能缩小费用反对的 IT 计划吗?
当然有,软 raid 就能够实现这一需要。
二.实现步骤
软 raid 比拟依赖操作系统,所以他的劣势也不言而喻,须要占用系统资源(次要是 CPU 资源)。目前在 Linux 和 windows 下软 raid 都比拟常见了,Linux 是通过 mdadm 实现的,windows 下则在 win2003 之后通过磁盘治理来实现。
试验环境:
一台 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 –create 创立阵列;
- -a –auto 批准创立设施,如不加此参数时必须先应用 mknod 命令来创立一个 RAID 设施,不过举荐应用 -a yes 参数一次性创立;
- -l –level 阵列模式,反对的阵列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
- -n –raid-devices 阵列中流动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
- /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
留神:在格式化时,能够指定 - E 选项下的 stride 参数指定条带是块大小的多少倍,有在肯定水平上进步软 RAID 性能,如块默认大小为 4k,而条带大小默认为 64k,则 stride 为 16,这样就防止了 RAID 每次存取数据时都去计算条带大小,如:
mkfs.ext4 -E stride=16 -b 4096 /dev/md0
6. 其余命令
比方组 raid 的阵列中有磁盘损坏,能够应用如下命令:
选项:-a(--add),-d(--del),-r(--remove),-f(--fail)
模仿损坏盘:mdadm /dev/md1 -f /dev/sdb5
移除故障盘:mdadm /dev/md1 -r /dev/sdb5
增加新硬盘:mdadm /dev/md1 -a /dev/sdb7
进行阵列
mdadm -S /dev/md1
起源:helloclei
blog.chinaunix.net/uid-26252206-id-5785379.html