在测试有问题的 LUN 是否存在读取错误时,我遇到了以下问题:
find /mnt/problem_lun/ -type f -print -exec dd if={} of=/dev/null bs=8k \;
...
/mnt/problem_lun/a_file
dd: writing `/dev/null': File too large
33619977+0 records in
33619976+0 records out
275414843392 bytes (275 GB) copied, 804.171 s, 342 MB/s
IBM 硬件,RHEL 6.6
如果这个特定的文件能够被读取且没有任何错误,那么罪魁祸首是谁?
答案1
看起来您/dev/null
可能在某个时候被删除了,所以当您开始写入它时,您是在写入一个普通文件,而不是字符特殊空设备。
您可以通过查看 ls 的输出来确认这一点
$ ls -l /dev/null
crw-rw-rw-. 1 root root 1, 3 Sep 28 08:11 /dev/null
如果我没记错的话,你不会看到字符特殊设备。你可以先删除你创建的文件,然后运行
MAKEDEV std
应该适用于 EL6 或
mknod -m 666 /dev/null c 1 3