您好,我在 2 台独立的服务器上安装了 2 个虚拟思科应用程序,这些服务器通过 HBA 连接到 vnx 数据存储区 – 当我失去与数据存储区的连接时,我的 LUN 在相应的主机上将变为非活动状态。有没有办法设置警报,以便如果 LUN 变为非活动状态,它将关闭该服务器上的相应 vmware 主机。一旦该主机关闭,另一台服务器上的其他 vmware 主机将变为活动状态。目前,由于 vmware 主机仍处于运行状态(即使其数据存储区未运行),因此它阻止另一台机器变为活动状态 – 冗余是在思科应用程序中完成的,而不是在 vmware 级别。HBA 与冗余交换机双连接,因此数据存储区断开连接的可能性很小,但我们必须测试它是否会发生。
我尝试在数据存储上设置警报,触发器为“所有主机均不可用”,操作为“shutdown -h now”,但没有效果。..TIA,J
答案1
我建议使用 VMware 的 vMotion 和 vSphere High Availability (HA) 来设置冗余。HA 的作用是在检测到故障时自动将您的 VM vMotion 到另一台主机,并允许其继续照常运行。
我认为,要解决您当前的问题,仅靠关闭主机是行不通的。当数据存储无法访问时,使用该数据存储的虚拟机将进入挂起状态。这意味着该服务器上的虚拟 Cisco 应用程序将不再运行或响应。如果 Cisco 部分正在执行冗余(它们之间有心跳或其他东西),那么无论另一台主机是否在线,第二个 Cisco 应用程序都应该自动接管。Cisco 应用程序不知道它是在主机上运行的虚拟机。
此外,如果您打算shutdown -h [hibernation]
在不再与数据存储区连接的主机上关闭虚拟机,那么这也行不通。由于虚拟机进入挂起状态,数据存储区不可用,因此虚拟机没有地方存储休眠文件。
如果您尝试关闭主机,最好使用 vSphere PowerCLI 脚本(如果可能)并使用Stop-VMHost
cmdlet。请参阅参考这里。另外,请记住,要运行 PowerCLI 脚本,您必须将其放在与要关闭的主机不同的机器或虚拟机上。
以下是从警报运行 PowerCLI 脚本的方法: http://blogs.vmware.com/vipowershell/2009/09/how-to-run-powercli-scripts-from-vcenter-alarms.html