一、应用场景
众所周知,RAID指的是冗余磁盘阵列(Redundant Arrays of Independent Disks),能够根据业务系统的需求提供高可用性和冗余性。目前市场上常见的实现方法是通过服务器的RAID阵列卡来完成。
使用硬件阵列卡实现RAID具有高可靠性和优异性能的优点,但对于一般的企业而言,硬件阵列卡虽好,但大规模应用的成本往往高达数千甚至上万元,这并非所有企业都能承受的。那么,是否有既能保证数据安全,又能降低成本的IT方案呢?
当然有,软件RAID就可以满足这一需求。
二、实现步骤
软件RAID在实现上依赖于操作系统,因此其劣势也显而易见,会占用系统资源(主要是CPU资源)。目前在Linux和Windows系统下,软件RAID的应用都非常普遍,Linux通过mdadm工具实现,而Windows在Windows Server 2003之后通过磁盘管理来实现。
实验环境:
一台安装了CentOS 7.2的虚拟机,主机名为host1,配置了两个50GB的数据盘,我们的实验将在这两个数据盘上进行。
注意:在生产环境中,组成RAID的两块硬盘必须是同一品牌、同型号、同容量的,否则容易导致软件RAID失效。
1.确认操作系统是否安装了mdadm软件
[root@host1 ~]# rpm -qa | grep mdadm mdadm-3.3.2-7.el7.x86_64
2.对两块数据盘进行分区,并设置分区类型为RAID

使用fdisk命令只能对容量小于2TB的硬盘进行分区,如果超过2TB,则需要使用parted工具。Parted工具的使用方法将在后续介绍,本节不做详细说明。
在fdisk中,RAID分区类型的代码是fd;在parted工具中,首先需要使用mklabel命令将磁盘格式从MBR改为GPT,然后才能使用mkpart命令进行分区,分区完成后使用set命令将分区标志设置为RAID。
3.使用mdadm命令创建RAID1

在创建过程中,有一个Note提示,指出软件RAID不能用作启动设备,这就是软件RAID的一个局限性。
mdadm -C /dev/md0 -a yes -l 1 -n 2 /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.confmdadm在运行时会自动检查/etc/mdadm.conf文件并尝试自动装配,因此第一次配置RAID后应将信息导入到/etc/mdadm.conf中。
5.使用/dev/md0
在/dev/md0上创建文件系统,然后挂载并使用。
mkfs.ext4 /dev/md0
注意:在格式化时,可以使用-E选项下的stride参数指定条带是块大小的多少倍,这在一定程度上可以提高软件RAID的性能。例如,块默认大小为4KB,而条带大小默认为64KB,则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
以上就是Linux 下软 RAID 实现方案的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号