今天闲来无事,来模拟下raid5的效率能够提升多少
第一步:
首先在VMware中的centos虚拟机设置上增加相同的盘,数量大于3。这是做raid5的条件。


注意不要使用目前正在用的那个盘,这里sda可能就是系统正在使用的盘,会报错,sda is busy。
其中-C创建, -n指定磁盘块数,这里挂载了3块磁盘,故-n3
[root@rac1 ~]# mdadm -Cv dev/md0 -l5 -n3 dev/sdb dev/sdc dev/sdd
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 5238272K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
然后执行 mdadm -D /dev/md0 查看创建的磁盘。这里md后面的数字是看你生成的数字,不是确定的。
[root@rac1 ~]# mdadm -D dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Sep 5 09:06:44 2017
Raid Level : raid5
Array Size : 10476544 (9.99 GiB 10.73 GB)
Used Dev Size : 5238272 (5.00 GiB 5.36 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Tue Sep 5 09:07:11 2017
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : rac1:0 (local to host rac1)
UUID : 42a084f1:3248955e:9ae7d1ec:b438e182
Events : 18
Number Major Minor RaidDevice State
0 8 16 0 active sync dev/sdb
1 8 32 1 active sync dev/sdc
3 8 48 2 active sync dev/sdd
查看磁盘相关的信息
[root@rac1 ~]# cat proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[3] sdc[1] sdb[0]
10476544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
格式化
[root@rac1 ~]# mkfs.ext4 dev/md0
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
655360 inodes, 2619136 blocks
130956 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
挂载
[root@rac1 ~]# mkdir /raid5
[root@rac1 ~]# mount /dev/md0 /raid5
[root@rac1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 28G 19G 7.0G 74% /
tmpfs 933M 80K 933M 1% /dev/shm
/dev/sda1 194M 66M 119M 36% /boot
/dev/md0 9.8G 23M 9.2G 1% /raid5
测试磁盘的纯写速度
[root@rac1 ~]# time dd if=/dev/zero of=/tmp/test bs=8k count=1000000
记录了1000000+0 的读入
记录了1000000+0 的写出
8192000000字节(8.2 GB)已复制,60.7261 秒,135 MB/秒
real 1m0.871s
user 0m0.160s
sys 0m11.560s
[root@rac1 ~]# time dd if=/dev/zero of=/raid5/test bs=8k count=1000000
记录了1000000+0 的读入
记录了1000000+0 的写出
8192000000字节(8.2 GB)已复制,14.6756 秒,558 MB/秒
real 0m14.683s
user 0m0.215s
sys 0m8.552s
测试磁盘的纯读速度
[root@rac1 ~]# time dd if=/tmp/test of=/dev/null bs=8k count=1000000
记录了1000000+0 的读入
记录了1000000+0 的写出
8192000000字节(8.2 GB)已复制,32.367 秒,253 MB/秒
real 0m32.404s
user 0m0.007s
sys 0m8.496s
[root@rac1 ~]# time dd if=/raid5/test of=/dev/null bs=8k count=1000000
记录了1000000+0 的读入
记录了1000000+0 的写出
8192000000字节(8.2 GB)已复制,5.2367 秒,1.6 GB/秒
real 0m5.468s
user 0m0.025s
sys 0m4.297s
测试结果,不管读或写,raid5的效率都大幅提升,这还只是在虚拟机环境,生产环境磁盘I/O更好,自定义条带化参数,加入热备磁盘,效率会更高




