linux - FIO verify_state_load 和触发器不起作用

标签 linux testing io kernel

我正在尝试使用 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/

相关文章:

Java:测试集合中的重复对象

javascript - 在 Cypress 测试中访问 "it"函数之外的夹具数据

android - 如何在 Android 上测试 "App Process Killed"路由?

c - 在 C 中有效地重定向输出

python - 在 python 中简单编辑二进制文件

python捕获异常

c - 我在哪里可以找到 xcb 库的实现?

r - 强制 Rstudio 在 linux 上使用特定版本的 R

java - 为什么linux路径中多了一个 "/.\"?

java - 在 Java 中是否可以在关闭后重新打开 System.in