首先,我最近承担了一个 proxmox 集群的管理工作,之前我没有任何管理经验(我对集群管理完全陌生,但在 Linux 方面还不错)。
pve-manager/5.1-46/ae8241d4 (running kernel: 4.13.13-6-pve)
我有 2 个 xen 节点,它们在其中运行许多容器和虚拟机。昨天,Xen2 上运行 mysql 数据库的容器停止响应。我能够通过 ssh 登录到容器并尝试重新启动 mysql,但只收到一条错误消息,内容是无法连接到 mysql.sock。因此,我决定简单地关闭容器并重新启动它。我在 proxmox UI 中为容器选择了“关闭”,然后容器关闭。然后我单击“启动”,其中记录了 proxmox 日志:
CT 110 - Start ERROR: command 'systemctl start pve-container@110' failed: exit code 1
因此,我尝试通过 ssh 运行“系统启动...”。这需要一段时间,然后我得到以下信息:
Job for [email protected] failed because a timeout was exceeded.
See "systemctl status [email protected]" and "journalctl -xe" for details.
以下是‘systemctl status ...’的输出:
● [email protected] - PVE LXC Container: 110
Loaded: loaded (/lib/systemd/system/[email protected]; static; vendor preset: enabled)
Active: failed (Result: timeout) since Thu 2018-06-07 08:35:22 BST; 43s ago
Docs: man:lxc-start
man:lxc
man:pct
Process: 1603366 ExecStart=/usr/bin/lxc-start -n 110 (code=killed, signal=TERM)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/system-pve\x2dcontainer.slice/[email protected]
└─1532500 [lxc monitor] /var/lib/lxc 110
Jun 07 08:33:52 xen2 systemd[1]: Starting PVE LXC Container: 110...
Jun 07 08:35:22 xen2 systemd[1]: [email protected]: Start operation timed out. Terminating.
Jun 07 08:35:22 xen2 systemd[1]: Failed to start PVE LXC Container: 110.
Jun 07 08:35:22 xen2 systemd[1]: [email protected]: Unit entered failed state.
Jun 07 08:35:22 xen2 systemd[1]: [email protected]: Failed with result 'timeout'.
和'journalctl -xe':
Jun 07 08:35:22 xen2 systemd[1]: [email protected]: Start operation timed out. Terminating.
Jun 07 08:35:22 xen2 systemd[1]: Failed to start PVE LXC Container: 110.
-- Subject: Unit [email protected] has failed
-- Defined-By: systemd
--
-- Unit [email protected] has failed.
--
-- The result is failed.
Jun 07 08:35:22 xen2 systemd[1]: [email protected]: Unit entered failed state.
Jun 07 08:35:22 xen2 systemd[1]: [email protected]: Failed with result 'timeout'.
第一次尝试重新启动容器后不久,整个 xen2 节点开始在其所有 VM/容器旁边显示灰色问号,并且它们丢失了标签(见屏幕截图):
尽管如此,xen2 中的所有其他虚拟机/容器仍正常运行。因此,我决定运行以下命令来查看会发生什么:
服务 pvedaemon 重启(没有任何变化)服务 pveproxy 重启(没有任何变化)服务 pvestatd 重启(虚拟机开始在 proxmox UI 中显示名称(但不是容器),但这只持续了 10-15 分钟)
由于配置方面未知以及可能存在的潜在陷阱,以及至少运行某些程序对业务至关重要,因此我犹豫是否要升级或重新启动整个 xen 节点。此外,我查看了 /var/log/syslog,没有看到任何表明容器崩溃原因的信息。
理想情况下,我想要实现:确定数据库容器崩溃的原因(110)再次成功启动数据库容器确定为什么 xen2 节点没有向 UI 报告有关其 VM/容器的数据修复节点 UI 中的报告数据再次,请理解我是 proxmox 的新手,但我确实了解 linux。
感谢您提供有关解决此问题的任何提示/知识。如果您希望我分享任何其他信息,请告诉我。
干杯,大卫
答案1
我也遇到过类似症状的问题(所有节点、虚拟机和 CT 都进入“未知”状态)。使用命令行一切似乎都很好,所以这比什么都麻烦,因为这意味着我必须迁移所有内容并单独重新启动每个节点,然后才能再次使用 Web UI。我最终发现,按如下方式在每个节点上重新启动以下服务可以解决问题:
systemctl restart pvedaemon
systemctl restart pveproxy
systemctl restart pvestatd
./script.sh &
如果您打算使用 Web UI,我建议将它们放入脚本中并运行它以将其分叉,因为这将断开您的控制台会话。
答案2
我在 ssh 中运行以下命令来解决我在服务器上遇到的相同问题,尽管我没有使用 ./script.sh
systemctl restart pvedaemon
systemctl restart pveproxy
systemctl restart pvestatd
答案3
刚刚遇到了同样的问题(一个集群节点只显示灰色问号,容器丢失了标签)。就我而言,这是在 proxmox 更新(从 5.3 到 5.4)后不久发生的。在做了类似 OP 的事情后,我终于发现我的 sshd 不再在端口 22 上列出。重新启动 sshd 后,并没有立即恢复正常,大约需要 15 分钟左右。然后一切又恢复正常了。