如何自动执行多启动服务器的远程启动/重启?

如何自动执行多启动服务器的远程启动/重启?

我的团队正在开发一款需要在多平台(Linux [32/64]、Windows [32/64])上运行的应用程序,并且需要 3D 渲染(OpenGL)。我们希望使用带有 nvidia 主板的服务器来自动化测试。

我们尝试使用 Xen Server(免费版)来虚拟化我们想要测试的所有平台,但我们无法让虚拟服务器与 nvidia 主板配合使用。然后我们使用 VirtualBox 进行了一些测试,但它的 3D 加速功能并不符合我们的要求。

现在,我们正在考虑在服务器上安装所有操作系统,作为多启动配置。有谁知道一些允许远程控制此服务器的解决方案,以便我们可以使用我们选择的操作系统远程启动和重新启动它?这样,在所有平台上自动化测试过程就很容易了。

我也愿意接受其他可能的解决方案。

答案1

如果您使用 grub 作为引导加载程序,当您准备切换到下一个操作系统时,您可以更改 grub.conf 以使用不同的默认引导分区,然后在重新启动时它将转到下一个操作系统。在 Windows 上,您必须安装 ext2 驱动程序,但这并不难。

答案2

按照@Dan的建议,使用 grub 并修改 grub.conf 中的默认操作系统并不是一个坏方法,但我建议网络KVM,它将允许您从任何有互联网连接的地方远程控制您的机器 - 包括 BIOS 和引导加载程序操作。

如果您选择这种方式,我建议您设置较长的自动启动延迟以补偿不可避免的网络延迟,或者甚至完全禁用自动启动,每次都需要手动选择要加载的操作系统。它本身并不是“自动化”,但它可以让您控制远程系统的启动,并且不需要您对任何底层操作系统进行任何更改。

答案3

除了 Dan 的建议(如果你使用 GRUB,这可能是最好的选择)之外,我能想到的唯一“自动化”引导加载程序的方法是将串行控制台连接到单独的机器并使用预计或者一些类似的东西来与引导加载程序交互。

对于引导加载程序,一般的假设是 (a) 没有人在场,在这种情况下应该启动“默认”操作系统,或者 (b) 有人会在控制台上选择他们想要的操作系统。这似乎不是自动化人员关注的领域...

答案4

在 Windows 上,重启会满足您的需要,让您在登录环境中选择要重新启动 PC 的操作系统(一次或多次)。不过,您需要在由 BOOTMGR/BCD 而不是 GRUB/GRUB2 控制的多重启动中配置不同的操作系统。

相关内容