天天看点

使用软Raid 发挥多块SSD硬盘的性能并提升数据安全性使用软Raid 发挥多块SSD硬盘的性能并提升数据安全性

使用软Raid 发挥多块SSD硬盘的性能并提升数据安全性使用软Raid 发挥多块SSD硬盘的性能并提升数据安全性

磁盘io的瓶颈已经很多年了,随着ssd硬盘技术日益成熟、成本的逐步下降,越来越多公司开始在服务器上使用ssd硬盘。

自打去年给笔记本加了一块msata接口的ssd之后,整个系统性能的提升无以言表!

单块ssd的性能已经非常好了,若没有raid则数据安全性无法保证。但使用普通的raid卡跑ssd硬盘,瓶颈会压在raid卡上。既要性能好、又要数据安全,可以选择高大上的:pcie接口的固态硬盘(ssd)或闪存卡(flashcard)。

使用软Raid 发挥多块SSD硬盘的性能并提升数据安全性使用软Raid 发挥多块SSD硬盘的性能并提升数据安全性
使用软Raid 发挥多块SSD硬盘的性能并提升数据安全性使用软Raid 发挥多块SSD硬盘的性能并提升数据安全性

结论如下:

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。写入一些数据,然后重启、验证。大功告成!

原文发布时间:2014-06-16

本文来自云栖合作伙伴“linux中国”

继续阅读