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写入的块大小
本文来自博客园,作者:FengweiTech,转载请注明原文链接:https://www.cnblogs.com/fengwei-blogs/p/20003557

浙公网安备 33010602011771号