fio-dd使用

核心功能:复制和转换文件,但因为它能直接操作设备文件,所以常被用来做磁盘备份、恢复和性能测试。

/dev/zero:产生0

/dev/urandom:产生随机数

/dev/null:任何写入它的输出都会被抛弃

dd 的核心参数

    • if=/dev/nvme6n1:从/dev/nvme6n1读取数据
    • skip=56:从输入文件开头跳过56个块,再开始读取
    • of=/tmp/data.bin:将数据写到/tmp/data.bin
    • seek=100:从输出文件开头第 100 个块之后开始写入
  • bs=1:读和写的字节数为1字节(块大小)
  • count=4040:一共复制4040个块
  • status=progress:显示进度
  • conv:指定写入默认
    • 默认、conv=sync:将数据写入缓存就返回
    • conv=fdatasync:只把文件的“数据”写入盘
    • conv=fsync:把文件的“数据”和“metadata”都写入盘
      • metadata:metadata包括size、访问时间st_atime & st_mtime等

dd 常用命令

  • 向磁盘写入一个1GB的文件:dd if=/dev/zero of=./test.img bs=1M count=1024 status=progress
  • 读取刚写好的那个大文件,并将其丢弃:dd if=./test.img of=/dev/null bs=1M status=progress
  • 克隆整个磁盘:dd if=/dev/sda of=/dev/sdb bs=128K conv=noerror,sync status=progress
    • bs设置大一些(如64K/128K)能显著加快速度 
    • conv=noerror,sync 确保遇到坏块也能继续并填充
  • 从第 56 个字节开始,读取连续的 4032 个字节:dd if=/dev/nvme6n1 of=/tmp/data.bin bs=1 skip=56 count=4032
    •  skip=56:跳过verify_header的56字节
    •  count=4032:数据区为4032字节
    •  4032+56=4096、4kb=实际为fio写入的块大小
posted @ 2026-05-09 16:44  FengweiTech  阅读(27)  评论(0)    收藏  举报