我正在尝试使用以下命令在我的其中一台服务器上备份 LVM:
dd bs=4M conv=noerror,sync if=/dev/vg_volgroup/LvmName | ssh myuer@myip “dd of=/home/myuser/LvmName bs=4M conv=noerror,sync”
我正在读取此 LVM 的磁盘有一个坏扇区返回:
dd:读取“/dev/vg_volgroup/Lvmname”:输入/输出错误
224+1 条记录输入
225+0 条记录输出
943718400 字节(944 MB)已复制,1313.12 秒,719 kB/s
由于这个坏扇区我使用 conv=noerror,sync
原始 LVM 为 100GB,输出 LVM 为 130GB 并且还在增长。有人知道这是为什么吗,或者我做错了什么吗?
据我所知,noerror 会用零填充有缺陷的块,但我不清楚这会如何使 LVM 变大。
有人有什么提示或想法吗?
更新:
使用 kill -USR1 pid
其中 pid 是发送数据的 dd 进程的 pid,返回以下内容:
601+1 条记录输入
601+0 条记录输出
2520776704 字节 (2.5 GB) 已复制,4457.14 秒,566 kB/s
但现在输出文件的大小为 154GB。
答案1
您应该检查输出文件以找出其中的内容。了解文件中的内容有助于确定它的来源。作为起点,您可以head -c10k /home/myuser/LvmName | hexdump -C
尝试tail -c10k /home/myuser/LvmName | hexdump -C
我的猜测是它要么主要由 NUL 字符组成,要么由某种文本消息组成,而这些文本消息并不旨在重定向到该文件。