周末,我办公室有 11 台服务器,其中一台在周六凌晨自行关闭。这是一台虚拟服务器(运行 SQL,当然,这是我们的生产数据库),运行在一台本身没有关闭的物理主机上,同时运行的还有三台虚拟服务器,它们都没有关闭。
它运行 Server 2012R2,并且是与另外三个 VM(2x 2012R2、1x 2019)一起在 Server 2012R2 主机上运行的 Hyper-V VM。
仔细查看事件查看器,我只能在系统日志中找到 User32 的一条记录,记录了似乎是正常关机的事件,代码为 1074。没有明显的应用程序、计划任务或更新相关原因导致这种情况发生。我发现的唯一另一个奇怪之处是前一天,大约九个小时前,磁盘 2 和 3“被移除” - 警告,但很奇怪,因为这台机器没有磁盘 2 或 3(只有 0 和 1,分别是操作系统和数据)。
显然,如果有人只是正常关闭机器,那么你期望在日志中看到 1074 - 但凌晨 3 点,办公室就锁上了。
该条目的内容如下:
进程 C:\Windows\System32\svchost.exe (THESQLSERVER) 已代表用户 NT AUTHORITY\SYSTEM 启动计算机 THESQLSERVER 的关闭,原因如下:其他(计划内)原因代码:0x80000000 关机类型:关机注释:
在网上查看了一下,没有什么可以做的 - 基本上就是检查计划任务,确保系统的电源设置没有关闭它,或者确保没有运行脚本。 就我而言,这些都不适用。
我发现的唯一其他可能的线索是 UPS 的 PowerChute 管理控制台中的条目 - 日志写入 1074 条目后约三分钟,它显示“通信停止”,七分钟后通信重新建立。但是,查看其他本地虚拟机和主机,它们似乎都没有关闭或有任何值得注意的事情。这可能只是时间安排奇怪。
有人遇到过这种情况并真正找出了根本原因吗?我看到其他人也研究过这个问题,但到目前为止,他们的经历似乎与我的不一样。
可以使用什么样的工具来进一步深入研究这个问题?
答案1
这是由操作系统进程发起的计划关机。也许已经自动安装了更新?这将触发重新启动(如果系统配置为自动安装更新);凌晨 3 点也是自动安装更新时的默认重新启动时间,这进一步指向了这一点。您可以检查已安装更新的历史记录(和/或安装事件日志)以确认是否是这种情况。
答案2
好的,是时候进一步挖掘了。
不幸的是,svchost.exe
这是许多系统服务的通用容器进程,其中任何一个都可能触发关闭;但这并不能真正说明实际的根本原因。
可能的来源可能是 Hyper-V 客户机组件,可能是对主机关闭 VM 的指令的响应(无论出于何种原因)。您是否能在 Hyper-V 应用程序特定日志(在“应用程序和服务日志 -> Microsoft -> Windows -> Hyper-V-*”下)中找到任何有趣的东西两个都主机和客户系统)?