Skip to content

Commit 5ca741b

Browse files
authored
Create burnin_fio_template.sh
1 parent 98f4b99 commit 5ca741b

1 file changed

Lines changed: 75 additions & 0 deletions

File tree

burnin_fio_template.sh

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
FIO_BURNIN_CONFIG=./fio-burnin.conf
5+
FIO_CLEAN_FILESYSTEM_CONFIG=./fio-clean_filesystem.conf
6+
7+
cat <<EOF
8+
1. fio burning disk
9+
10+
sudo yum install fio
11+
nohup fio ./fio-burnin.conf &
12+
13+
2. clean filesystem
14+
> After running fio, it will write to the filesystem, so you need to clear the filesystem and execute:
15+
16+
fio ./fio-clean_filesystem.conf
17+
18+
EOF
19+
20+
cat > "$FIO_BURNIN_CONFIG" <<EOF
21+
[global]
22+
ioengine=libaio
23+
group_reporting
24+
blocksize=1M
25+
iodepth=32
26+
direct=1
27+
verify=md5
28+
do_verify=1
29+
rw=write
30+
31+
EOF
32+
33+
cat > "$FIO_CLEAN_FILESYSTEM_CONFIG" <<EOF
34+
[global]
35+
ioengine=libaio
36+
group_reporting
37+
blocksize=1M
38+
iodepth=32
39+
direct=1
40+
size=1M
41+
rw=write
42+
buffer_pattern=0
43+
44+
EOF
45+
46+
for block in $(ls /sys/block); do
47+
# Skip blocks not starting with 'sd'
48+
if [[ ! $block =~ ^sd ]]; then
49+
continue
50+
fi
51+
# Skip blocks with unkown model
52+
if [[ ! -f /sys/block/$block/device/model ]]; then
53+
continue
54+
fi
55+
# Skip INTEL SSD
56+
if [[ $(cat /sys/block/$block/device/model) =~ .*INTEL.* ]]; then
57+
continue
58+
fi
59+
# Skip blocks having any file systems on it
60+
subblock=""
61+
for subblock in $(ls -d /sys/block/$block/$block* 2> /dev/null); do
62+
if [[ -f /dev/$subblock ]] && ! sudo blkid /dev/$subblock | grep -q $subblock; then
63+
echo "[$subblock]" >> "$FIO_BURNIN_CONFIG"
64+
echo "filename=/dev/$subblock" >> "$FIO_BURNIN_CONFIG"
65+
echo "[$subblock]" >> ""$FIO_CLEAN_FILESYSTEM_CONFIG""
66+
echo "filename=/dev/$subblock" >> ""$FIO_CLEAN_FILESYSTEM_CONFIG""
67+
fi
68+
done
69+
if [[ -z $subblock ]] && ! sudo blkid /dev/$block | grep -q $block; then
70+
echo "[$block]" >> "$FIO_BURNIN_CONFIG"
71+
echo "filename=/dev/$block" >> "$FIO_BURNIN_CONFIG"
72+
echo "[$block]" >> "$FIO_CLEAN_FILESYSTEM_CONFIG"
73+
echo "filename=/dev/$block" >> "$FIO_CLEAN_FILESYSTEM_CONFIG"
74+
fi
75+
done

0 commit comments

Comments
 (0)