使用 CLI 启动时如何知道 Xen VM 何时启动

使用 CLI 启动时如何知道 Xen VM 何时启动

我正在使用 XenServer 作为我们应用程序开发的一次性 QA 机器的主机。我想编写一个脚本,自动从模板创建新的 VM、启动它、登录它、获取最新的应用程序构建并部署它。

我希望我的脚本使用“xe vm-install”安装虚拟机,使用“xe vm-start”启动它,等待它启动完成,通过 SSH 进入它,然后执行应用程序安装过程。

问题是,“xe vm-start”命令不会阻止 shell。也就是说,该命令在机器完全加载之前返回。

有人知道我是否可以以及如何查询 Xen 的机器启动状态?

谢谢

答案1

没有办法从外部判断你的机器是否已经完成操作系统的启动...但是有两种方法可以解决这个问题:

  1. 假设您的系统在完成加载服务(例如 sshd)时已启动并正在运行。探测系统直到该服务启动并正在运行。

  2. 向客户端添加一个安装脚本,该脚本在客户端启动完成后运行。让脚本从外部服务器拉取一个 shell 脚本并执行它。

答案2

值得研究使用 xen-tools 并创建自定义角色来抓取/安装包

相关内容