如何使用 vmbuilder 创建和导出 vmware 映像

Oni*_*nic 5 server vmware kvm qemu 12.04

我一直在使用 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=-
Run Code Online (Sandbox Code Playgroud)

然而,最近我有一个请求来构建一个 VMWare 映像,虽然我过去使用几个 VMWare 工具完成了这样的操作,但我最近读到这也可以使用 vmbuilder 来实现,我将如何创建一个我可以提供的 vmware 映像给我的客户,他可以导入到 VMWare 吗?

另外,我需要向映像添加第二个磁盘,如何添加另一个 vmdk?

agc*_*c93 1

尽管有可用的脚本可以转换它们,但我不信任它们,所以我将在这里向您展示手动路线


最简单的方法是直接使用 QEMU。关闭客户机电源,然后运行qemu-img -O vmdk /path/to/guest/disk /path/to/new/disk.vmdk命令来转换磁盘格式(见下文)。

接下来,用于virsh dumpxml vmname转储来宾的 XML 描述。

现在,在 vSphere Client 中创建新虚拟机时,只需尝试使硬件至少尽可能接近 XML,而不是创建新磁盘映像,只需添加上述命令生成的 vmdk 即可qemu-img

这应该做你想做的


qemu版本问题

在 Ubuntu 12.04 上运行这些命令会给你带来无穷无尽的令人困惑的版本问题。根据我的经验,1.5.3 给出了很好的结果。如果您遇到困难,请按照此处的说明进行操作(显然要更改顺序和命令以符合您的情况)。