一.应用场景html
Raid你们都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),能够按业务系统的须要提供高可用性和冗余性,目前市面上比较常见的是经过服务器的raid阵列卡来实现此功能。windows
经过硬件阵列卡实现raid具备可靠性高,性能好等特色,可是对于通常的企业而言硬件阵列卡当然好,若是大规模应用的话动辄几千上万的费用也不是他们所能承受的,难道就没有既能保证数据安全,又能减小费用支持的IT方案吗?centos
固然有,软raid就能够实现这一需求。安全
二.实现步骤服务器
软raid比较依赖操做系统,因此他的劣势也显而易见,须要占用系统资源(主要是CPU资源)。目前在Linux和windows下软raid都比较常见了,Linux是经过mdadm实现的,windows下则在win2003以后经过磁盘管理来实现。ide
实验环境:工具
一台centos 7.2 VM,主机名分别为host1,host1上挂载两块50G的数据盘,咱们的实验就在这两块数据盘上完成。性能
P.S:须要强调的是生产环境下两块组raid的硬盘必须是同品牌同型号同容量的,不然极容易出现软raid失效的状况。ui
1.确认操做系统是否安装了mdadm软件spa
[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
命令说明:
建立完成后可使用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