4

是否可以使用 VMware 或任何其他虚拟化产品自动安装操作系统?

我们的其中一款产品包含一个定制版本的 CentOS,它将操作系统和我们的应用程序安装在服务器上。这很像任何 CentOS/RHEL 安装,您选择对应于不同 kickstart 选项的模式,然后选择您的键盘类型。其余的安装是自动的。

我想要的是一个自动化系统,它将创建一个新的客户 VM,使用我们产品的 ISO 映像启动它,开始安装(包括选择键盘),等待重启,然后启动一组自动化测试。

我知道有很多方法可以从现有模板/图像自动创建新的 VM 来宾,而且我知道您可以使用 VIX API 与虚拟机交互,但 VIX API 似乎要求 VMware 工具已经在运行(当您从 CentOS 安装盘启动时,情况并非如此)。

这个答案(Automating VMWare 或 VirtualPC)表明您可以编写 VMware 脚本以从执行无人值守安装的 ISO 启动,但我真的很想测试我们的客户将使用的相同过程。

另一种选择可能是使用 Xen 的完全虚拟化模式,看看是否可以通过串行端口编写脚本。

TIA,杰森

4

3 回答 3

1

我有一个非常相似的问题,它是在超级用户上:

https://superuser.com/questions/36047/moving-vmware-os-image-as-primary-os-on-a-system

于 2009-09-09T05:05:17.887 回答
1

您也可以使用 VirtualBox 代替 VMWare。VirtualBox SDK 允许您直接控制键盘、鼠标、串口和并口的客户机,而无需安装 virtualbox 客户机工具。

不幸的是,它不提供文本控制台界面,但串行端口可以连接到本地管道文件,并且可能也可以使用。

于 2009-09-09T19:59:42.843 回答
0

这可能不是您所需要的:

我对基于 Ubuntu 的安装做了类似的事情。我们使用预置(Debian 的 kickstart 形式)来回答安装过程中的所有问题 - 通过 tftp 提供预置文件和安装程序。除了官方的 Ubuntu 镜像,我们在预种子文件中添加了带有我们自己的包的 apt-server。我们将 .deb 版本的 vmware-tools 放在 apt-server 上,并将其添加到要安装的软件包中。

vmware 工具的 .deb 仅包含 .tar.gz 和一个安装后脚本,该脚本会将其解压缩到 /tmp 并运行 vmware 安装脚本(它有一个可以无人值守运行的开关,因此它不会询问任何问题)。

因此,在重新启动后,vmware-tools 启动并运行,我们可以使用 vix 编写其余部分的脚本(这不是很可靠)。如果您在启动期间遇到运行 vmware-config.pl 的问题,您可以制作一个自定义软件包,仅提取工具和一个 init 脚本,在首次启动时安装它们,禁用自身并重新启动。

也许你可以使用这个策略(用 yum 替换 apt,用 kickstart 预置,用重新制作的 iso 替换 tftp)。如果您真的需要测试您的用户是否在安装程序中选择了一个键盘(这与 kickstart 没有太大不同),这显然不适合您..

于 2009-08-10T19:58:48.817 回答