有时,当停电并且 UPS 在重新启动之前就死机了,我们服务器上的某些服务无法恢复。即一些VMware虚拟机。
我正在考虑设置一个监控服务,如果它们没有运行,它将尝试每五分钟启动一次虚拟机,但是由于来自 VMware 的vmrun命令需要用户名和密码,我怎样才能确保它的安全?
有时,当停电并且 UPS 在重新启动之前就死机了,我们服务器上的某些服务无法恢复。即一些VMware虚拟机。
我正在考虑设置一个监控服务,如果它们没有运行,它将尝试每五分钟启动一次虚拟机,但是由于来自 VMware 的vmrun命令需要用户名和密码,我怎样才能确保它的安全?
Linux 上的 Vmware Server 支持将虚拟机设置为开机时开机。从服务器控制台,转到 VM properties :: Options Tab :: Startup/Shutdown 和 On Host Startup 以打开虚拟机电源。我想这也可以用其他 vmware 软件来完成。
编辑:好吧,然后尝试实际回答您的问题:-)
当我在自己的机器上运行 vmrun 时,它不会要求我输入密码。如果您使用带有 host 参数的 vmrun(或者如果您需要 root 权限?),它可能只要求您输入密码。如果是这种情况,那么使用密钥设置无密码 ssh 怎么样?然后你可以做类似的事情
ssh fooUser@myServer 'vmrun start /foo/bar/baz.vm'
,这可能会奏效。如果确实需要更高的权限,您可以授予特定用户使用 sudo 和 /etc/sudoers 文件运行特定命令的权限。使用 Nagios 监控,您可以设置事件处理程序,如果它检测到有问题的主机实际上已关闭,它将运行脚本(例如我发布的命令)。
我没有对此进行测试,但它应该可以工作。将包括密码在内的 vmrun 命令放入文件中并 chmod 700。然后您应该能够使用带有 NOPASSWD 选项的sudo来运行脚本;
sudo /path/to/vmrun_script.sh
安德鲁