由于设备上没有剩余空间,Fio 重播 Blktrace 文件失败

由于设备上没有剩余空间,Fio 重播 Blktrace 文件失败

我正在使用 fio-3.14 重播 blktrace 创建的跟踪文件。我的 Linux 版本是 Mint 18.3,内核为 4.10.0-38-generic。作为 root,我按照以下步骤操作:

  1. 第一步

我使用以下工作负载选项在 /home/arghavan/fio/test 上应用了 fio 工作负载。同时,我使用命令:blktrace -d /dev/sda6来捕获 /dev/sda6 上的跟踪,因为它安装在 fio 运行工作负载的 /home 上。

Fio工作负载

; Read 4 files with aio at different depths
[global]
ioengine=libaio
directory=/home/arghavan/fio/test

buffered=0
rw=randread
bs=128k
size=512m


[file1]
iodepth=4

[file2]
iodepth=32

[file3]
iodepth=8

[file4]
iodepth=16 
  1. 第二步

我使用命令:blkparse sda6 -a read -o /dev/null -d /root/traces/sda6_trace.bin制作 blkparse 二进制文件,fio 可以使用该文件重播跟踪。

  1. 第三步

我使用 fio 和命令:fio --name=rp1 --read_iolog=/home/arghavan/traces/sda6_trace.bin --replay_no_stall=1 --replay_redirect=/dev/sda6来重播跟踪。但是,fio 报告以下错误:

fio: io_u error on file /dev/sda6: No space left on device: write offset=278643662848, buflen=4096
fio: pid=11495, err=28/file:io_u.c:1785, func=io_u error, error=No space left on device
Jobs: 1 (f=1): [f(1)][-.-%][eta 00m:00s]
rp1: (groupid=0, jobs=1): err=28 (file:io_u.c:1785, func=io_u error, error=No space left on device)

该设备上有大量可用空间,但我不知道问题是什么。我应该怎么办?

答案1

您确定blktrace只记录了分区的 I/O/dev/sda6而没有完全记录整个/dev/sda分区的 I/O 吗?我懂了https://www.spinics.net/lists/linux-btrace/msg00417.html但我不确定它是否曾经应用于主流内核......

相关内容