diff --git a/scripts/test-fio-sequential b/scripts/test-fio-sequential new file mode 100755 index 0000000..977ea1b --- /dev/null +++ b/scripts/test-fio-sequential @@ -0,0 +1,86 @@ +#!/bin/bash + +if [[ -z $OUTPUT_DIR ]] ; then + source scan-dmidecode +fi + +source test-variables + +scan-hdd # Always rescan +echo -n "BEGIN: " >> $OUTPUT_DIR/fio-seq.log +date >> $OUTPUT_DIR/fio-seq.log +for DISK in `cat $OUTPUT_DIR/disk.lst \ + | sed 's/#.*$//' \ + | cut -d ':' -f 1` +do + SERIAL=`cat $OUTPUT_DIR/disk.lst \ + | grep $DISK \ + | cut -d ':' -f 2` + echo -n "Testing disk $DISK with fio ..." + #wrapper-fio $DISK $SERIAL $JOBS & + BLK_SIZE=`cat /sys/block/$DISK/queue/physical_block_size` + +cat > $OUTPUT_DIR/disk/$DISK.seq.job << EOF +[global] +ioengine=libaio +#direct=1 +gtod_reduce=1 +bs=$BLK_SIZE +iodepth=64 +# TODO: Uncomment for production +size=15G +# TODO: Debug variable. Comment out for production +#size=16M +#rw=randrw +rw=readwrite +rwmixread=95 +directory=/mnt/$DISK + +[file1] +name=test1 +filename=test1 + +EOF + + BEGIN=`date +%s` + # Reset partition table to zero + dd if=/dev/zero of=/dev/${DISK} bs=$BLK_SIZE count=128 \ + >> /run/$SERIAL.fio-seq.out 2>&1 + parted /dev/${DISK} mklabel gpt mkpart primary 1 128G \ + >> /run/$SERIAL.fio-seq.out 2>&1 + sleep 1 + if [[ ! -b /dev/${DISK}1 ]] ; then + echo "Device /dev/${DISK}1 is not a block special file" + exit 17 + fi + mkfs.ext4 /dev/${DISK}1 \ + >> /run/$SERIAL.fio-seq.out 2>&1 + mkdir -pv /mnt/${DISK} + mount /dev/${DISK}1 /mnt/${DISK} + MOUNTED=`cat /proc/mounts | grep ${DISK}1` + if [[ -z $MOUNTED ]] ; then + echo "Device /dev/${DISK}1 is not mounted" + exit 18 + fi + fio --output $OUTPUT_DIR/disk/$SERIAL.fio-seq.out \ + $OUTPUT_DIR/disk/$DISK.seq.job + umount -f /mnt/${DISK} + # Reset partition table to zero + dd if=/dev/zero of=/dev/${DISK} bs=$BLK_SIZE count=128 \ + >> /run/$SERIAL.fio-seq.out 2>&1 + END=`date +%s` + + DURATION=$(( END - BEGIN )) + + echo $DURATION + +done +echo -n "END: " >> $OUTPUT_DIR/fio-seq.log +date >> $OUTPUT_DIR/fio-seq.log +echo >> $OUTPUT_DIR/fio-seq.log + +#snapshot +mkdir -p $SNAPSHOT_D +cp -af $OUTPUT_DIR/* $SNAPSHOT_D/ + +