答案1
看起来设备/dev/sdc
出现了物理故障。从救援环境启动,勾选SMART,用于ddrescue
保存幸存数据或发送至专业数据救援服务。
硬件会死掉,这不是“如果”而是“何时”,您必须做好准备,因此请提前计划并采取措施以防止它让您失望。
了解如何使用 RAID、定期进行自动备份以及监控硬件和备份的运行状况。 Proxmox 内置了对 ZFS 和 BTRFS 的支持,两者都提供冗余,还可以在 MD RAID(又名 Linux 软件 RAID)+ LVM 上安装 Debian 并将其转换为 Proxmox 安装;它像这样完美地工作。 Proxmox还提供了优秀的备份服务器,它与虚拟环境紧密集成,非常整洁、易于使用且高效。
答案2
我在 ZFS 上运行虚拟机时遇到此错误。 ZFS 池正常,但 e2fsck 失败,给出错误:
/dev/zvol/tank/my-disk: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? yes
e2fsck: Input/output error while recovering journal of
/dev/zvol/tank/my-disk
e2fsck: unable to set superblock flags on /dev/zvol/tank/my-disk
/dev/zvol/tank/my-disk: ********** WARNING: Filesystem still has errors **********
Superblock needs_recovery flag is clear, but journal has data.
dmesg 说:
[11284814.033303] Buffer I/O error on dev zd192, logical block 0, lost async page write
[11284814.033554] Buffer I/O error on dev zd192, logical block 1, lost async page write
[11284814.033678] Buffer I/O error on dev zd192, logical block 2, lost async page write
[11284814.033713] Buffer I/O error on dev zd192, logical block 3, lost async page write
[11284814.033733] Buffer I/O error on dev zd192, logical block 9, lost async page write
[11284814.033741] Buffer I/O error on dev zd192, logical block 1057, lost async page write
[11284814.033788] Buffer I/O error on dev zd192, logical block 1058, lost async page write
[11284814.033837] Buffer I/O error on dev zd192, logical block 1083, lost async page write
[11284814.033904] Buffer I/O error on dev zd192, logical block 1098, lost async page write
[11284814.033931] Buffer I/O error on dev zd192, logical block 1398, lost async page write
经过一番调查后发现,设备物理上没有问题,问题的根本原因是 ZFS 池已满:
zpool list -v
显示“油箱”已满96.5%。我已经安排了快照,并通过以下命令删除了较旧的快照(从 2022 年开始):
/sbin/zfs list -H -o name -t snapshot |grep tank |grep 2022 |xargs -n1 /sbin/zfs destroy
我建议一开始就在没有 UNIX 管道的情况下逐一运行命令来找出正确的命令。
此后 e2fsck 正常工作。