是否可以使用VMware或任何其他虚拟化产品自动安装操作系统?
我们的某个产品包含一个定制版本的CentOS,可在服务器上安装操作系统和我们的应用程序。这与任何CentOS / RHEL安装非常相似,您可以选择与不同kickstart选项对应的模式,然后选择键盘类型。其余的安装是自动的。
我想要的是一个自动化系统,它将创建一个新的来宾VM,使用我们产品的ISO映像启动它,开始安装(包括选择键盘),等待重新启动,然后启动一组自动化测试。
我知道有很多方法可以自动从现有模板/映像创建新的VM guest虚拟机,我知道您可以使用VIX API与虚拟机进行交互,但VIX API似乎需要VMware工具已经在运行(从CentOS安装盘启动时不会出现这种情况)。
此答案(Automating VMWare or VirtualPC)表示您可以编写VMware脚本以从无人值守安装的ISO启动,但我真的想测试客户将使用的相同过程。
另一种选择可能是使用Xen的完全虚拟化模式,看看是否可以通过串口编写脚本。
TIA, 杰森
答案 0 :(得分:1)
我有一个非常相似的问题,它是超级用户:
https://superuser.com/questions/36047/moving-vmware-os-image-as-primary-os-on-a-system
答案 1 :(得分:1)
您也可以使用VirtualBox而不是VMWare。 VirtualBox SDK允许您直接控制键盘,鼠标,串行端口和guest虚拟机的并行端口,而无需安装virtualbox guest虚拟机工具。
不幸的是它没有提供文本控制台界面,但是串口可以连接到本地管道文件,也可以使用它。
答案 2 :(得分:0)
这可能不是您所需要的:
我在基于Ubuntu的安装方面做了类似的事情。我们使用preseeding(Debian的kickstart形式)来回答安装过程中的所有问题 - 通过tftp提供preseed文件和安装程序。 除了官方的Ubuntu镜像,我们在preseed文件中添加了apt-server和我们自己的包。我们在apt-server上放了一个.deb版本的vmware-tools,并将其添加到要安装的软件包中。
.deb的vmware工具只包含.tar.gz和一个postinstall脚本,它会将其解压缩到/ tmp并运行vmware安装脚本(它有一个无人操作的开关,所以它不会问任何问题)。
所以在重新启动后vmware-tools启动并运行,我们可以使用vix编写其余的脚本(这不是很可靠)。 如果您在启动期间遇到运行vmware-config.pl的问题,您可以创建一个自定义程序包,它只提取工具和初始启动时安装它们的init脚本,禁用自身并重新启动。
也许你可以使用这个策略(用yum替换apt,由kickstart和tftp替换为remastered iso)。如果你真的需要测试你的用户在安装程序中选择一个键盘(这与kickstart没有什么不同),这显然对你不起作用..