我正在尝试使用 fio
在关机后验证存储中的数据,
为此目的,使用 fio
写入 --trigger-file
选项以在中途停止 fio
操作(并模拟断电)。
然后使用--verify_state_load
选项读取fio
,只检查成功完成的部分数据,但是验证失败,似乎state_load没有效果(读取验证将正常工作如果写入作业未被触发器部分终止,则符合预期。
使用trigger/state_load有什么限制需要注意吗?
写入作业参数:
[global]
verify_fatal=1
do_verify=0
loops=1
group_reporting=1
filename=/dev/nvme0n1
cpus_allowed=0-7
cpus_allowed_policy=split
runtime=0
verify=crc32c-intel
direct=1
rw=randwrite
verify_offset=100
ioengine=libaio
iodepth=32
size=200mb
bs=4096
verify_backlog=16384.0
[job_0]
size=209715200
offset=0
[job_1]
size=209715200
offset=1744830464
[job_2]
size=209715200
offset=3489660928
[job_3]
size=209715200
offset=5234491392
[job_4]
size=209715200
offset=6979321856
[job_5]
size=209715200
offset=8724152320
[job_6]
size=209715200
offset=10468982784
[job_7]
size=209715200
offset=12213813248
读取作业参数:
[global]
verify_fatal=1
do_verify=1
loops=1
group_reporting=1
filename=/dev/nvme0n1
cpus_allowed=0-7
verify_state_load=1
cpus_allowed_policy=split
runtime=0
verify=crc32c-intel
direct=1
rw=read
verify_offset=100
ioengine=libaio
iodepth=32
size=1mb
bs=4096
verify_backlog=16384.0
[job_0]
size=1048576
offset=0
[job_1]
size=1048576
offset=1744830464
[job_2]
size=1048576
offset=3489660928
[job_3]
size=1048576
offset=5234491392
[job_4]
size=1048576
offset=6979321856
[job_5]
size=1048576
offset=8724152320
[job_6]
size=1048576
offset=10468982784
[job_7]
size=1048576
offset=1221381324
读取作业中的错误:
starting 8 processes job_5: No I/O performed by libaio, perhaps try --debug=io option for details? job_4: No I/O performed by libaio, perhaps try --debug=io option for details? job_7: No I/O performed by libaio, perhaps try --debug=io option for details? job_6: No I/O performed by libaio, perhaps try --debug=io option for details? job_3: No I/O performed by libaio, perhaps try --debug=io option for details? job_2: No I/O performed by libaio, perhaps try --debug=io option for details? verify: bad header offset 466944, wanted 20480 at file /dev/nvme0n1 offset 20480, length 4096 verify: bad header offset 462848, wanted 24576 at file /dev/nvme0n1 offset 24576, length 4096 job_0: No I/O performed by libaio, perhaps try --debug=io option for details? fio: pid=1920, err=84/file:io_u.c:1985, func=io_u_queued_complete, error=Invalid or incomplete multibyte or wide character
最佳答案
我的问题似乎是因为我使用 fio rw=randwrite 生成数据并分离 rw=read 作业以在触发后验证数据,使用 rw=randread 验证数据解决了我遇到的问题
关于linux - FIO verify_state_load 和触发器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46426468/