我一直在使用 vmbuilder 来构建 kvm 映像,如下所示:
vmbuilder kvm ubuntu \
-v \
--suite=precise \
--libvirt=qemu:///system \
--arch=amd64 \
--cpus=2 \
--mem=1024 \
--swapsize=1024 \
--rootsize=10240 \
--flavour=server \
--hostname=hostnamehere \
--ip=X.X.X.X \
--mask=X.X.X.X \
--net=X.X.X.X \
--bcast=X.X.X.X \
--gw=X.X.X.X \
--dns='X.X.X.X X.X.X.X' \
--bridge=br0 \
--mirror=http://archive.ubuntu.com/ubuntu \
--components='main,universe' \
--addpkg=openssh-server,acpid \
--user=username \
--pass=password \
--dest=/vmname \
--tmpfs=-
然而最近我收到一个构建 VMWare 映像的请求,尽管我过去曾使用多个 VMWare 工具完成此操作,但我最近读到这也可以使用 vmbuilder 来实现,我该如何创建一个可以提供给客户并且他可以导入到 VMWare 的 vmware 映像呢?
另外,我还需要向映像添加第二个磁盘,如何添加另一个 vmdk?
答案1
虽然有脚本可以转换它们,但我不相信它们,所以我将在这里向你展示手动路线
最简单的方法是直接使用 QEMU。关闭客户机,然后运行命令qemu-img -O vmdk /path/to/guest/disk /path/to/new/disk.vmdk
来转换磁盘格式(见下文)。
接下来,使用virsh dumpxml vmname
转储出客户的 XML 描述。
现在,在 vSphere Client 中创建新的 VM 时,只需尝试使硬件至少尽可能接近 XML,而不必创建新的磁盘映像,只需添加qemu-img
上述命令生成的 vmdk 即可。
这应该可以满足你的要求
qemu 版本问题
在 Ubuntu 12.04 上运行这些命令将给你带来无数令人困惑的版本问题。根据我的经验,1.5.3 给出了良好的结果。按照说明这里(显然要改变顺序和命令来适应你的情况),如果你遇到困难的话。