在Lucid KVM服务器上自动安装Lucid客人

我们有一台运行KVM的Ubuntu 10.04服务器,但是很难找出最简洁(最快)的方式来完成10.04客户端的无人值守安装。

要求:

选项1:我们不喜欢从virt-manager UI执行此操作,因为您必须在物理服务器(不使用virt-manager远程)上安装到LVM分区。 这确实有效,但是你必须在服务器上运行VNC和Gnome,这并不酷。 另外它是交互式的,你必须点击很多选项,我们仍然希望编写包装脚本来完成这个任务。

选项2:从python-vm-builder包中看到的vmbuilder就像我们想要的那样 – 因为你可以指定一个本地镜像(使用apt-proxy来做这个),但是还没有能够让它使用LVM卷,使用virtio作为磁盘。

vmbuilder kvm ubuntu –suite = lucid –flavour = virtual –arch = amd64 –mirror = http://192.168.1.1:9999/ubuntu -o –libvirt = qemu:/// system –ip = 192.168 .1.94 –part = vmbuilder.partition –raw = / dev / VG0 / LVtest –templates = mytemplates –firstboot = / root / vm / boot.sh –user = linuxadmin –name = linuxadmin –pass = secretpass –mem = 256 –hostname = test –bridge = br0

这只是忽略–raw =部分,并创build一个qcow图像文件 – 并不使用virtio。 我怀疑我可以将图像文件转换为LVM卷,并手动添加在XML中的virtio的东西,但似乎烦人和杂乱。

选项3:这是我们正在使用的,但它不是最佳的 – 因为它是kludgey,不允许我们指定的IP地址,我们真的不能dynamic控制(从安装命令/脚本)的一些在kickstart文件中硬编码的参数。

手动创build一个逻辑卷 – 然后…

#virt-install –connect qemu:/// system -n test -r 1024 –vcpus = 1 –disk path = / dev / VG0 / LVvm-test model = virtio –pxe –vnc –noautoconsole – -os-type linux –os-variant virtio26 –accelerate –network = bridge:br0 –hvm

这转到了一个PXE引导服务器,它指向一个本地安装服务器,并带有一个kickstart文件来完成大量的configuration。 它使用virtio的networking和磁盘,所以这是很好的。 它使用本地镜像和LVM,这意味着它满足我们的最低要求,但我们希望它是100%自动化。 现在,你必须连接到VNC控制台(通过virt-manager),并select“安装”在Lucid安装程序 – 这样就打破了全自动的东西。 当然,你必须查看系统日志,看看它有什么IP地址,所以你可以SSH的框。

当然,我们不只是想要这个function!

在RHEV中,您只需从一个准备就绪的模板中部署虚拟机,该模板基本上是原始模板映像的副本或来自它的快照(以节省空间)

我很确定,如果你有一个你的版本的黄金形象,你可以将它设置为一个模板,你的脚本将使用qemu-img甚至dd克隆它。

该模板应该具有特定于VM的详细信息,例如剥离ssh密钥(RHEL / Fedora中的sys-unconfig,不知道如何在Ubuntu中执行此操作),所以当从其中部署的VM启动时,会重新生成数据。

因为它不使用mount-by-UUID (因此,即使您将libvirt XML模板更改为使用virtio,vmbuilder也会硬编码/ dev / sd *转换成/ etc / fstab); --raw应该工作,但请为此提出一个错误。

就我个人而言,我正在考虑使用virt-install的组合(创build虚拟机并初始化其磁盘)以及使用预置文件以自动模式启动PXE引导的debian-installer。

给补鞋匠( https://fedorahosted.org/cobbler/ )怎么样?

我已经做了这样的系统。 我正在使用preseed文件,木偶和sabayon PXE启动。 作为一个resoult系统安装根密码,一些用户,完全更新的用户configuration文件,ssh,openoffice和其他。

有sabayon和Firefox的问题。

但! 所有这些需要大约5-10分钟才能部署在我的系统上。

另一种方法是用dd制作一些克隆,并用木偶更新它们。

它很容易采取你的第三个选项,并使清醒安装程序自动启动,而不是等待你input。

在我们的情况下,我重新调整ISO并从它启动。 只需更改isolinux.cfg以具有默认标签。 为PXE做这件事基本上是一回事。

然后,您可以使用预先select的文件指定任何内容(包括IP!)。

https://help.ubuntu.com/10.04/installation-guide/i386/preseed-using.html