磁盘IO的瓶颈已经很多年了,随着SSD硬盘技术日益成熟、成本的逐步下降,越来越多公司开始在服务器上使用SSD硬盘。
自打去年给笔记本加了一块mSata接口的SSD之后,整个系统性能的提升无以言表!
单块SSD的性能已经非常好了,若没有Raid则数据安全性无法保证。但使用普通的Raid卡跑SSD硬盘,瓶颈会压在Raid卡上。既要性能好、又要数据安全,可以选择高大上的:PCIE接口的固态硬盘(SSD)或闪存卡(FlashCard)。
Debian软RAID安装笔记 – 使用mdadm安装RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm
常用RAID技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htm
Linux实现最常用的磁盘阵列– RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm
RAID0+1和RAID5的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm
有没一种亲民方案呢?答案就是软Raid,比如Linux下的 mdadm v3.2.5。
下图是在 CentOS 6.4 x86_64 结合 fio v2.1.4-8-g3e26,结出不同Raid结合下的iops测试结果:
结论如下:
1、软Raid可以发挥多个SSD的性能,盘越多性能越好(目前只测试了最多5块盘)
2、Raid0 的性能最佳,但安全性最差
3、Raid5 的写性能较差,导致混合读写时性能被拖跨
4、Raid10 是性能、容量、数据安全 综合最优的方案
测试脚本如下:
- #!/bin/bash -x
- yum –y install fio mdadm xfsprogs
- mkdir –pv /ssd
- umount /ssd
- mdadm –S /dev/md0
- yes | mdadm –C /dev/md0 –a yes –l 0–n 5—assume–clean /dev/sd{b,c,d,e,f}
- mkfs.xfs –f /dev/md0
- mount /dev/md0 /ssd
- rm –fv /tmp/fio-*.txt
- cat /proc/mdstat
- mdadm –D /dev/md0
- fio —bs=512—ioengine=libaio —userspace_reap —time_based —runtime=600—group_reporting —buffered=0—direct=1—randrepeat=0—norandommap —ramp_time=6—iodepth=16—numjobs=16—size=100G—directory=/ssd –name=randread –rw=randread –filename=fio-test.file –output=/tmp/fio–r.txt #随机读
- fio —bs=512—ioengine=libaio —userspace_reap —time_based —runtime=600—group_reporting —buffered=0—direct=1—randrepeat=0—norandommap —ramp_time=6—iodepth=16—numjobs=16—size=100G—directory=/ssd –name=randwrite –rw=randwrite –filename=fio-test.file –output=/tmp/fio–w.txt # 随机写
- fio —bs=512—ioengine=libaio —userspace_reap —time_based —runtime=600—group_reporting —buffered=0—direct=1—randrepeat=0—norandommap —ramp_time=6—iodepth=16—numjobs=16—size=100G—directory=/ssd –name=randmixed –rwmixwrite=20 –rw=randrw –filename=fio-test.file –output=/tmp/fio–m.txt # 8:2混合读写
- grep —color iops /tmp/fio-*.txt
需要注意的是,软Raid默认不会开机自动加载,需要手动生成配置文件。
- mdadm —verbose —detail —scan >/etc/mdadm.conf
- # ARRAY /dev/md0 level=raid0 num-devices=5 metadata=1.2 name=ssd.higkoo.org:0 UUID=0dfa7417:13c1622d:1dca1dfe:12a0e0f4
- # devices=/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde,/dev/sdf
“/etc/mdadm.conf”的详细说明可以查看帮助或“rpm -ql mdadm | grep “mdadm.conf””给的示例文件作���考。
然后将Raid分区写入到 fstab 中,可以使用 /dev/md0 或者 `ls -l /dev/disk/by-uuid` 查看其 uuid。写入一些数据,然后重启、验证。大功告成!
via : http://hi.baidu.com/higkoo/item/13371fe44761e62d5a7cfb55
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-06/103247.htm