一、源码安装fio工具:
#yum install libaio-devel make
#wget http://brick.kernel.dk/snaps/fio-2.2.10.tar.gz
#tar -zxvf fio-2.2.10.tar.gz
#cd fio-2.2.10
#make $ make install
参数解释:
--ioengine io引擎使用liba的方式
--iodepth 控制同一时刻发送给os多少个IO
--numjobs 测试线程数
--direct=1 测试过程绕过机器自带的buffer
--group_reporting 显示结果的,汇总每个进程的信息
--time_based --runtime 时间设置
二、Local SCSI场景测试:
8k随机读:fio --name=test --output=8krr -thread --rw=randread --bs=8k --ioengine=libaio --iodepth=64 --numjobs=8 --filename=/dev/sdp --direct=1 --time_based --runtime=7200 --group_reporting
8k随机写:fio --name=test --output=8krw -thread --rw=randwrite --bs=8k --ioengine=libaio --iodepth=64 --numjobs=8 --filename=/dev/sdp --direct=1 --time_based --runtime=7200 --group_reporting
8k顺序读:fio --name=test --output=8kr1 -thread --rw=read --bs=8k --ioengine=libaio --iodepth=64 --numjobs=8 --filename=/dev/sdp --direct=1 --time_based --runtime=7200 --group_reporting
8k顺序写:fio --name=test --output=8kr1 -thread --rw=write --bs=8k --ioengine=libaio --iodepth=64 --numjobs=8 --filename=/dev/sdp --direct=1 --time_based --runtime=7200 --group_reporting
三、虚拟NBU测试场景(移除节点、加入节点测试):
fio --name=test --output=8krr -thread --rw=randread --bs=8k --ioengine=libaio --iodepth=64 --numjobs=8 --filename=/dev/sda --direct=1 --time_based --runtime=7200 --group_reporting
四、物理机测试场景(5台不同物理机,移除节点、加入节点测试):
写:fio --name=test --output=8krw -thread --rw=randwrite --bs=8k --ioengine=libaio --iodepth=64 --numjobs=8 --filename=/dev/sdb1 --direct=1 --allow_mounted_write=1 --time_based --runtime=7200 --group_reporting
读:fio --name=test --output=8krr -thread --rw=randread --bs=8k --ioengine=libaio --iodepth=64 --numjobs=8 --filename=/dev/sdb1 --direct=1 --time_based --runtime=7200 --group_reporting
五、数据获取方法
客户端加入zabbix监控,获取系统资源数据变化过程;
Ceph集群服务端直接在ceph集群页面获取系统资源数据变化过程;
业务性能的测试带宽和iops数据从生成的报告中获取。