一、软RAID实现RAID1
目前,Linux上实现RAID主要有两种:
1. 硬RAID(hard-RAID)
通过专门的RAID控制芯片实现。一般表现为RAID卡,并且卡上有专用的、独立于主板BIOS的固件(一般也称其为raid-BIOS)。硬RAID在性能上是最好的,所有RAID操作都由RAID控制芯片完成,不占用任何CPU和内存资源,而且RAID卡上一般还有额外的缓存进一步提升性能。对于操作系统和主板上的BIOS而言,硬RAID和一块普通的硬盘没有任何差别。但硬RAID的劣势也在于它的完全独立性,由于它完全依赖硬件实现,我们无法知道其精确的内部工作方式,而且RAID配置信息也保存在这块卡上,万一RAID卡自身损坏的话,硬盘中的数据恢复就没有那么容易了。
2. 软RAID(soft-RAID)
完全通过操作系统内核实现的RAID。不需要任何额外的辅助硬件。对于软RAID来说,因为它跟硬件没有任何关系,并且它的配置信息也是保存在硬盘上的,所以即使主板坏了,把硬盘拿到另一个Linux系统下照样可以读出正确数据来。
**本文着重实现软RAID**
3. RAID1的环境准备
首先为虚拟机当前配置添加两块大小一致的硬盘:
进入Linux系统,查看新添加的硬盘是否生效:
这里我将使用的是 /dev/sdb和/dev/sdc两块硬盘实现RAID1。
二、对两块硬盘进行格式化并修改分区类型
格式化上述说的两块硬盘,这里我用的是交互式fdisk命令:
[root@localhost ~]# fdisk /dev/sdb
使用partprobe命令同步磁盘信息
[root@localhost ~]# partprobe
同理,用以上方法对/dev/sdc硬盘进行格式化分区和修改分区类型,得到以下两块硬盘:
我们可以通过 mdadm -E 命令查看这两个分区的RAID信息:
三、创建RAID1
1.创建RAID使用命令:
[root@localhost ~]# mdadm -C -v /dev/md1 -l 1 -n 2 /dev/sd[b-c]1
2.查看RAID使用命令:
[root@localhost ~]# mdadm -D /dev/md1
1.
3.格式化创建文件系统并创建挂载点
[root@localhost ~]# mkfs.xfs /dev/md1
[root@localhost ~]# mkdir /mnt/raid1
4.在/etc/fstab中设置开机自动挂载
先查看分区 /dev/md1的UUID:
修改/etc/fstab配置文件
使用mount -a命令自动加载配置文件,完成挂载,df命令查看挂载情况:
至此,创建工作已经完成
四、测试与验证
1.在分区中写入一个大文件,测试读写性能
[root@localhost raid1]# dd if=/dev/zero of=/mnt/raid1/bigfile bs=1024 count=10000
[root@localhost raid1]# dd if=/mnt/raid1/bigfile bs=64k | dd of=/dev/null
2.模拟其中一块硬盘损坏
[root@localhost raid1]# mdadm /dev/md1-f /dev/sdc1
在查看RAID情况:
检查挂载目录/mnt/raid1中的bigfile是否还在:
发现文件还在,则证明raid1设置是成功的。