Ansible 自動化測試工具實際應用IO Benchmark

硬體環境

16GB FC target H12-100(R610) + SAS DAS MD1200 * 2
8 *32GB FC target H6-203(R740)
4 * 32GB FC Initiator H4-52(R730) and H4-57(R730)
32Gb Brocade 6100

軟體環境

OEL7U6
Ansible VM 172.22.16.46
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ihv epel-release-latest-7.noarch.rpm
yum install ansible
ssh-keygen -t rsa -P ”
ssh-copy-id 192.168.10.1
Repeat ssh-copy-id to each VM

vim /etc/ansible/hosts
[fio]
172.22.4.52172.22.4.57
[fss]
172.22.6.203
[all:vars]
ansible_python_interpreter=/usr/bin/python2.7

測試主機回應
ansible fio -m ping

The ansible playbook format
YAML sample

新建ansible playbook file
vim playbook.yml

– hosts: fio
   remote_user: root
   tasks:
   – name: run fio
       shell: cd /root/FIO ; ./fio.sh 1

檢查playbook file正確
ansible-playbook –syntax-check playbook.yml

測試同步IO fio指定
ansible fio -m shell -a “cd /root/FIO ; ./fio.sh 1”

主流程控制bash script

vim benchmark_32g.sh
#!/bin/bash
for i in seq 65
do
ssh 172.22.6.203 “mpstat 1 > /root/FIO/mptstat.$i.log &”
ssh 172.22.6.203 “vmstat 1 > /root/FIO/vmstat.$i.log &”
ansible fio -m shell -a “cd /root/FIO ; ./fio.sh $i”
ssh 172.22.6.203 “/root/kill_p.sh”
done

停止mpstat程序bash script

vi /root/kill_p.shkill -15 pgrep mpstat

At H4-52 & H4-57 side, for upload file fio.sh

vi /root/FIO/fio.sh

#!/bin/bashcase $1 in1)fio –name=read_4k_1D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.4k.1.fiov3.csv;;

2)fio –name=read_4k_4D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.4k.4.fiov3.csv;;

3)fio –name=read_4k_16D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.4k.16.fiov3.csv;;

4)fio –name=read_4k_64D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.4k.64.fiov3.csv;;

5)fio –name=read_8k_1D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.8k.1.fiov3.csv;;

6)fio –name=read_8k_4D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.8k.4.fiov3.csv;;

7)fio –name=read_8k_16D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.8k.16.fiov3.csv;;

8)fio –name=read_8k_64D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.8k.64.fiov3.csv;;

9)fio –name=read_32k_1D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.32k.1.fiov3.csv;;

10)fio –name=read_32k_4D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.32k.4.fiov3.csv;;

11)fio –name=read_32k_16D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.32k.16.fiov3.csv;;

12)fio –name=read_32k_64D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.32k.64.fiov3.csv;;

13)fio –name=read_2048k_1D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.2048k.1.fiov3.csv;;

14)fio –name=read_2048k_4D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.2048k.4.fiov3.csv;;

15)fio –name=read_2048k_16D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.2048k.16.fiov3.csv;;

16)fio –name=read_2048k_64D –rw=read –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.read.2048k.64.fiov3.csv;;

17)fio –name=randread_4k_1D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.4k.1.fiov3.csv;;

18)fio –name=randread_4k_4D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.4k.4.fiov3.csv;;

19)fio –name=randread_4k_16D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.4k.16.fiov3.csv;;

20)fio –name=randread_4k_64D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.4k.64.fiov3.csv;;

21)fio –name=randread_8k_1D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.8k.1.fiov3.csv;;

22)fio –name=randread_8k_4D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.8k.4.fiov3.csv;;

23)fio –name=randread_8k_16D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.8k.16.fiov3.csv;;

24)fio –name=randread_8k_64D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.8k.64.fiov3.csv;;

25)fio –name=randread_32k_1D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.32k.1.fiov3.csv;;

26)fio –name=randread_32k_4D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.32k.4.fiov3.csv;;

27)fio –name=randread_32k_16D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.32k.16.fiov3.csv;;

28)fio –name=randread_32k_64D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.32k.64.fiov3.csv;;

29)fio –name=randread_2048k_1D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.2048k.1.fiov3.csv;;

30)fio –name=randread_2048k_4D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.2048k.4.fiov3.csv;;

31)fio –name=randread_2048k_16D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.2048k.16.fiov3.csv;;

32)fio –name=randread_2048k_64D –rw=randread –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randread.2048k.64.fiov3.csv;;

33)fio –name=write_4k_1D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.4k.1.fiov3.csv;;

34)fio –name=write_4k_4D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.4k.4.fiov3.csv;;

35)fio –name=write_4k_16D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.4k.16.fiov3.csv;;

36)fio –name=write_4k_64D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.4k.64.fiov3.csv;;

37)fio –name=write_8k_1D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.8k.1.fiov3.csv;;

38)fio –name=write_8k_4D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.8k.4.fiov3.csv;;

39)fio –name=write_8k_16D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.8k.16.fiov3.csv;;

40)fio –name=write_8k_64D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.8k.64.fiov3.csv;;

41)fio –name=write_32k_1D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.32k.1.fiov3.csv;;

42)fio –name=write_32k_4D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.32k.4.fiov3.csv;;

43)fio –name=write_32k_16D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.32k.16.fiov3.csv;;

44)fio –name=write_32k_64D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.32k.64.fiov3.csv;;

45)fio –name=write_2048k_1D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.2048k.1.fiov3.csv;;

46)fio –name=write_2048k_4D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.2048k.4.fiov3.csv;;

47)fio –name=write_2048k_16D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.2048k.16.fiov3.csv;;

49)fio –name=write_2048k_64D –rw=write –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.write.2048k.64.fiov3.csv;;

50)fio –name=randwrite_4k_1D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.4k.1.fiov3.csv;;

51)fio –name=randwrite_4k_4D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.4k.4.fiov3.csv;;

52)fio –name=randwrite_4k_16D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.4k.16.fiov3.csv;;

53)fio –name=randwrite_4k_64D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=4k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.4k.64.fiov3.csv;;

54)fio –name=randwrite_8k_1D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.8k.1.fiov3.csv;;

55)fio –name=randwrite_8k_4D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.8k.4.fiov3.csv;;

56)fio –name=randwrite_8k_16D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.8k.16.fiov3.csv;;

57)fio –name=randwrite_8k_64D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=8k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.8k.64.fiov3.csv;;

58)fio –name=randwrite_32k_1D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.32k.1.fiov3.csv;;

59)fio –name=randwrite_32k_4D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.32k.4.fiov3.csv;;

60)fio –name=randwrite_32k_16D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.32k.16.fiov3.csv;;

61)fio –name=randwrite_32k_64D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=32k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.32k.64.fiov3.csv;;

62)fio –name=randwrite_2048k_1D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=1 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.2048k.1.fiov3.csv;;

63)fio –name=randwrite_2048k_4D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=4 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.2048k.4.fiov3.csv;;

64)fio –name=randwrite_2048k_16D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=16 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.2048k.16.fiov3.csv;;

65)fio –name=randwrite_2048k_64D –rw=randwrite –direct=1 –ioengine=libaio –runtime=30s –size=100G –ioscheduler=noop –filename=/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde –bs=2048k –iodepth=64 –numjobs=1 –group_reporting –minimal >> FalconStor.Linux.randwrite.2048k.64.fiov3.csv;;

esac