如何正确关闭 Linux VMware Server 主机

如何正确关闭 Linux VMware Server 主机

在我们的实验室中,我们有一台运行 Ubuntu Linux 8.04.4 x64 的服务器,其中 VMware Server 2.1 托管 4 台 VM。

我对关闭主机服务器有很大的顾虑。我最关心的是如何确保客户虚拟机能够安全关闭?

在 VMware Web 界面控制台中,我已启用:

  • “允许虚拟机随系统自动启动和停止”
  • 我启用了默认启动延迟 15 秒,并选中了“如果 VMware Tools 启动,则立即启动下一个 VM”选项
  • 我启用了默认关机延迟,关机延迟为 60 秒,关机操作为“关闭客户机”

所有虚拟机都已安装 VMware Tools 并正常运行。所有虚拟机都已移至“启动顺序”的“指定顺序”部分,因此当重新启动服务器时,所有这些虚拟机都应按照指定顺序重新启动。

当我要关闭服务器时,我使用了该shutdown -h now命令。根据我上面输入的设置,我预计关闭时间为 4 分钟,因为有一个选项可以将每个虚拟机的关闭时间延迟 60 秒。然而,这是不是发生了什么事?相反,服务器在一分钟内就关闭了。

当我重新打开服务器时,只有 2 个虚拟机正确加载。其他 2 个虚拟机显示以下错误:

“启动虚拟机”未能完成

如果这些问题仍然存在,请联系您的系统管理员。

详细信息:无法打开磁盘“[location to .vmdk]”或其所依赖的快照磁盘之一。原因:无法锁定文件。

显然,如果出现此错误,那么我很清楚虚拟机不是正确关闭,或者在虚拟机完全关闭之前服务器就关闭了。我已通过删除各个虚拟机目录中的 .lck 文件修复了上述错误。

我如何知道虚拟机是否已正确关闭?我检查了 VMware 服务器日志,但它们似乎只显示当前会话中运行 vmware-mgmt 服务的日志。我主要运行 Linux 虚拟机,那么有没有一种简单的方法可以知道 Linux 中的服务器是否已正确关闭?

谢谢大家的帮助!

答案1

如果您现在使用 shutdown -h,它将立即关闭,而不管“默认设置”如何,因为您使用参数覆盖了这些设置。

话虽如此,上次我们关闭环境时,我们分别关闭了每个虚拟机,等到它们都显示为已关闭,然后关闭主机(在本例中为 ESXi)。这允许您在关闭虚拟机期间检查错误,在我们的例子中,关闭 Web 服务器,然后关闭特定应用程序的数据库服务器,以避免任何错误。

我们在启动时执行同样的事情,并再次确保没有错误。

我认为在生产环境中找出适当的关闭和启动程序非常重要。

话虽如此,我认为您需要提供更多关于虚拟机的信息。我认为 VMware Server 无法区分有错误的关机和没有错误的关机。

PS 为什么不一开始就使用 ESXi?

答案2

通过 SSH 进入每个虚拟机并发出shutdown -h now。这是关闭 Linux 机器的正确方法,无论机器是否是虚拟机。

相关内容