在centos6.9上实现软RAID
什么是RAID?
RAID,全称Redundant Arrays of Inexpensive(Independent)Disks。简单翻译叫磁盘阵列。
通俗一点讲就是多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。
目的有两个:一个是提高磁盘的IO能力,提高耐用性。
实现方式有3种:
1、外接式磁盘阵列:通过扩展卡提供适配能力
2、内接式RAID:主板集成RAID控制器—安装OS前在BIOS里配置
3、软件RAID:通过OS实现
实际生产场景中大部分是使用硬RAID,在教室试验环境我们用软RAID
常见的RAID级别
软RAID管理工具
mdadm
-C:创建模式
-n:定义创建RAID设备个数
-l:指明要创建的RAID的级别
-c CHUNK_SIZE: 指明块大小
-x : 指明空闲盘的个数
-A:装配
-D:显示RAID的详细信息
-F:监控
-f:标记指定磁盘为损坏
-r:移除磁盘
-a:添加磁盘
观察md的状态:cat /proc/mdstat
RAID前的配置
1、检查mdadm,我这里已经安装了mdadm的rpm包。如果没安装,使用yum -y install mdadm进行安装。
2、磁盘准备,想要RAID必须使用相同容量的磁盘或者分区,我这里先添加了7块5G的磁盘
创建RAID0
1、创建RAID0最少只需要2块硬盘,我们这里选择/dev/sdb和/dev/sdc,首先新建分区,更改分区ID为fd Linux raid auto。
分完区需要partx -a /dev/sdb 同步一下。
2、创建RAID-0
-C /dev/md0 —–创建
-a yes —–同意一次性创建
-l 0 —–指定创建的级别
-n 2 —–指定磁盘数目
3、两条查看状态的命令
4、创建配置文件
mdadm -Ds /dev/md0 > /etc/mdadm.conf
5、格式化磁盘、挂载
mkfs.ext4 /dev/md0
mount /dev/md0 /mnt/raid0、
可以看到/dev/md0容量大小是9.7G,实际为10G,允许有些许误差。
删除raid-0
[root@centos6 ~]#umount /mnt/raid0 <==取消挂载
[root@centos6 ~]#mdadm -S /dev/md0 <==停止设备
mdadm: stopped /dev/md0
[root@centos6 ~]#mdadm –zero-superblock /dev/sdb1 <==删除raid信息
[root@centos6 ~]#mdadm –zero-superblock /dev/sdc1
RAID-1
RAID1的步骤和方式与1相同(配置省略),但是由于RAID0并没有容错能力,其中一块磁盘损坏,阵列就瘫痪。RAID1有相对的冗余能力,但是成本相对较高。
通过下图看到/dev/md1的容量为5.2G,和RAID0相比少了一半。
RAID-5
1、创建raid5
mdadm -C /dev/md5 -a yes -n 3 -l 5 -x 1 /dev/sd[b,c,d,e]1 <==-x1 表示留一块备用
mdadm -Ds /dev/md5 > /etc/mdadm.conf
mkdir /mnt/raid5
mount /dev/md5 /mnt/raid5
[root@centos6 ~]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 48G 4.9G 41G 11% /
tmpfs 491M 76K 491M 1% /dev/shm
/dev/sda3 39G 48M 37G 1% /app
/dev/sda1 969M 35M 885M 4% /boot
/dev/sr0 3.7G 3.7G 0 100% /media/CentOS_6.9_Final
/dev/md5 9.7G 23M 9.2G 1% /mnt/raid5 <==raid5的容量为(3-1)*5G
模拟磁盘损坏
之前的状态
模拟sdb1损坏
mdadm /dev/md5 -f /dev/sdb1
/dev/sdb1损坏后,备用的/dev/sde1会自动补上,我们来看下状态。重启后会丢失。
mdadm /dev/md5 -a /dev/sdb1 <==重新添加进raid,多加的变成备用
比较一下RAID5上面的写入能力,发现从63.3MB/s提升到317 MB/s,效果明显。
[root@centos6 ~]#dd if=/dev/zero of=/app/f1 bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 3.31538 s, 63.3 MB/s
[root@centos6 ~]#dd if=/dev/zero of=/mnt/raid5/f1 bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.661708 s, 317 MB/s
原创文章,作者:eleven,如若转载,请注明出处:http://www.178linux.com/84517