康耐信N100频繁重启故障排查,最后发现是电源适配器老化了

9次阅读
2026-11-03

昨天家里的 PVE 小主机出了点问题。

一开始只是发现 Docker 服务突然停止,后来才发现不只是 Docker,整个 PVE 主机都发生过重启。原本运行得好好的 iStoreOS、Docker、Portainer 和一些业务服务,也因此受到了影响。

本来以为是系统或者硬盘出了问题,没想到一番折腾下来,最后发现罪魁祸首竟然是一个不起眼的电源适配器。

这次排查过程还挺曲折,记录一下。

故障视频

一、PVE 突然重启,日志却找不到明显原因

最开始发现 Docker 服务不正常,我登录 PVE 查看了一下状态。

通过 last -x 可以看到系统确实发生过重启。再往前翻日志,发现某个时间点之后日志就突然中断了,随后进入了新一轮启动记录。

这就有点奇怪了。

如果是正常关机,通常能看到关机流程;如果是系统崩溃,有时也能在日志中找到一些线索。但这次并没有发现特别明确的异常。

我又检查了内核日志、watchdog、温度以及其他相关信息,也没有找到能够直接确定原因的证据。

当时还怀疑过是不是硬盘出了问题,毕竟 PVE 系统和虚拟机都在这块盘上。

但仅凭这些日志,还不能确定故障原因。

二、担心硬盘出问题,先把备份保存下来

考虑到系统运行不稳定,而且硬盘也准备送去保修,我先把 /var/lib/vz/dump/ 目录中的备份文件下载到了 Windows 电脑。

最后找到了两个备份:

  • vzdump-lxc-102-2026_11_02-05_00_02.tar.zst
  • vzdump-qemu-104-2026_11_02-05_06_13.vma.zst

这两个文件分别对应:

  • CT 102:原来运行 Docker、Portainer 和业务服务的 LXC 容器。
  • VM 104:iStoreOS 虚拟机,负责给 PVE 内部虚拟机提供网络。

有了这两个备份,至少不用担心原来的服务完全无法恢复。

硬盘健康度又非常低,我不得不进行备份。

康耐信 N100 频繁重启故障排查,最后发现是电源适配器老化了
硬盘健康度

三、没有备用硬盘,就在 Windows 上临时搭建 PVE

当时手头没有其他硬盘,只有一台 Windows 电脑。

为了尽快把服务恢复起来,我决定使用 VMware Workstation,在 Windows 里面再安装一套 PVE。

整个过程并不复杂:

  1. 下载 PVE ISO 镜像。
  2. 在 VMware 中创建虚拟机。
  3. 分配 CPU、内存和虚拟硬盘。
  4. 安装 PVE。
  5. 配置网络,让 Windows 能够访问 PVE 管理页面。

刚开始使用的是 NAT 网络,发现 Windows 物理机无法直接访问 PVE 的管理地址。

后来改成桥接模式,让 PVE 和 Windows 处于同一个局域网网段,终于可以正常访问了。

这一步也算是解决了临时恢复环境的问题。

四、恢复 iStoreOS,又遇到了网络问题

按照原来的架构,应该先恢复 VM 104,也就是 iStoreOS。

因为它负责给内部虚拟机提供网络,如果它没有恢复,后面的业务服务可能无法正常联网。

恢复 VM 104 后,启动时又遇到了一个报错:

cannot prepare PCI pass-through, IOMMU not present

原因是原来的 iStoreOS 配置了 PCI 设备直通,而现在的 PVE 是运行在 VMware 里面的,没有原来那套物理硬件直通环境。

于是检查了 VM 104 的配置,发现原来只有一张虚拟网卡配置,之前的 PCI 直通设备也无法继续使用。

接着又检查了 iStoreOS 内部网络,发现它原来配置了多张网卡:

  • LAN 使用 br-lan,地址是 192.168.3.101。
  • WAN 原本绑定 eth3,使用 DHCP 获取地址。

但现在 VMware 环境中并没有原来的网卡结构,所以网络配置也需要重新调整。

后来通过检查网络和路由信息,确认 iStoreOS 已经能够 Ping 通家庭路由器,但 DNS 和默认路由仍然存在问题。

这部分其实就是在尝试把原来的物理 PVE 网络结构迁移到 VMware 环境中。

五、恢复 CT 102,又出现了只读文件系统错误

网络问题还在排查时,我又尝试恢复 CT 102。

恢复过程一开始看起来很正常,备份文件也已经开始解压。

但是进行到最后,突然出现大量报错:

Read-only file system

其中还包括:

Cannot change ownership

Cannot change mode

最后恢复任务失败:

TASK ERROR: unable to restore CT 102

从日志来看,备份数据已经读取了约 24GiB,但写入容器文件系统时出现了只读错误。

这下又开始怀疑是不是 VMware 虚拟磁盘、PVE 的 LVM Thin Pool,或者文件系统出了问题。

当时准备继续检查磁盘空间、存储状态和内核日志。

如果只看这些现象,很容易把问题归结到系统或者硬盘上。

六、最后发现:真正的问题是电源适配器老化

折腾了这么一圈,最后还是回到了最开始的问题:为什么 PVE 会突然重启?

重新考虑硬件供电之后,才发现原来的电源适配器已经使用了很长时间。

原适配器规格是:

12V 2.5A

而且之前就注意到一个现象:电源适配器即使空载,指示灯也会规律地忽明忽暗,有点像呼吸灯。

当时没有把这个现象和 PVE 重启联系起来。

最终排查下来,确认是电源适配器老化导致供电不稳定。

于是换成了一个绿联的:

12V 5A 电源适配器。

更换之后,之前遇到的异常问题就恢复正常了。

康耐信 N100 频繁重启故障排查,最后发现是电源适配器老化了

原本以为是硬盘、PVE 系统或者文件系统出了问题,结果最后只是一个电源适配器。

七、这次排查的一点经验

这次经历让我有一个比较深的感受:

遇到服务器异常,不要一上来就只盯着软件和系统。

尤其是小主机这种设备,电源适配器虽然不起眼,但它直接影响整台机器的稳定运行。

如果出现下面这些情况,可以把供电问题也纳入排查范围:

  • 主机无明显原因突然重启。
  • 系统日志突然中断,没有正常关机记录。
  • 服务偶尔异常,但又找不到稳定复现的原因。
  • 电源适配器指示灯异常闪烁。
  • 更换电源后,之前的问题明显消失。

当然,遇到文件系统只读、磁盘 I/O 错误等情况,还是应该检查存储本身,不能直接认定就是电源问题。

这次也算是给自己提了个醒:服务器稳定运行,不只是 CPU、内存、硬盘和系统的问题,供电同样重要。

有时候,折腾半天的系统故障,最后可能只是一个几十块钱的电源适配器。

1
小蔡
版权声明:本站原创文章,由 小蔡 发表,共计2447字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。