使用vmbuilder在Xen,KVM,VMware Workstation 6和VMware Server上创建虚拟机在Ubuntu 8.10上

使用vmbuilder在Ubuntu 8.10上为Xen,KVM,VMware Workstation 6和VMware Server创建虚拟机

版本1.0
作者:Falko Timme

vmbuilder是一个工具(在Ubuntu 8.10上介绍),可以让您构建虚拟机(使用Ubuntu作为操作系统),用于多种虚拟化技术。 目前,它支持Xen,KVM,VMware Workstation 6和VMware Server。 您可以将虚拟机复制到另一个系统(Xen,KVM,VMware Workstation 6或VMware Server主机)并在那里运行。

我不会保证这将为您工作!

1初步说明

我使用的主机名为server1.example.com的计算机,IP地址为192.168.0.100这里作为我的主机系统。

因为我们将使用root权限运行本教程中的所有步骤,我们可以使用字符串sudo来为本教程中的所有命令添加所有命令,也可以通过键入来成为root

sudo su

2安装vmbuilder

vmbuilder可以安装如下:

apt-get install python-vm-builder

3安装apt-proxy

每当vmbuilder构建一个新的VM时,它必须从Ubuntu镜像下载所有的软件包,这可能需要相当长的一段时间。 为了加快速度,我们安装apt-proxy ...

apt-get install apt-proxy

...缓存下载的软件包,以便后续的VM安装速度将快得多。

现在打开/etc/apt-proxy/apt-proxy-v2.conf ...

vi /etc/apt-proxy/apt-proxy-v2.conf

...并使用靠近您的镜像替换默认的Ubuntu镜像(例如,如果您在德国,请http://de.archive.ubuntu.com/ubuntu ):

[...]
[ubuntu]
;; Ubuntu archive
backends = http://de.archive.ubuntu.com/ubuntu
min_refresh_delay = 15m
[...]

然后我们重新启动apt-proxy:

/etc/init.d/apt-proxy restart

apt-proxy监听端口9999 ,所以我们可以将本地的apt-proxy“mirror”作为参数传递给vmbuilder脚本。

4使用vmbuilder

看看以下命令,了解如何使用vmbuilder

vmbuilder xen ubuntu --help
vmbuilder kvm ubuntu --help
vmbuilder vmw6 ubuntu --help
vmbuilder vmserver ubuntu --help

我现在将创建名为vm7的四个虚拟机,一个用于Xen,一个用于KVM,一个用于VMware Workstation 6,另一个用于VMware Server。 我假设您正在为虚拟机使用桥接。

vmbuilder使用模板创建虚拟机 - 此模板位于/ etc / vmbuilder / libvirt /目录中。 因为我们必须修改模板,我们创建一个副本并修改它:

mkdir -p ~/vm7/mytemplates/libvirt
cp /etc/vmbuilder/libvirt/* ~/vm7/mytemplates/libvirt/

现在我们打开〜/ vm7 / mytemplates / libvirt / libvirtxml.tmpl ...

vi ~/vm7/mytemplates/libvirt/libvirtxml.tmpl

...并更改网络部分

[...]
    <interface type='network'>
      <source network='default'/>
    </interface>
[...]

[...]
    <interface type='bridge'>
      <source bridge='br0'/>
    </interface>
[...]

因为我们希望VM使用桥接(如果使用NAT而不是桥接,那么不要修改模板!)。

现在我们来分配我们的虚拟机。 我们创建一个名为vmbuilder.partition的文件...

vi ~/vm7/vmbuilder.partition

...并定义所需的分区如下:

root 8000
swap 4000
/var 20000

这定义了大小为8000MB的根分区( / ),4000MB的交换分区和20000MB的/ var分区。 当然,您可以自由定义任何你喜欢的分区(只要你也定义root和swap)。

我想在虚拟机中安装openssh-server 。 为了确保每个VM都有一个独特的OpenSSH密钥,当我们创建VM时,我们无法安装openssh-server 。 因此,我们创建一个名为boot.sh的脚本,该脚本将在VM首次引导时执行。 它将安装openssh服务器 (使用唯一的密钥),并强制用户(我将默认使用默认的密码管理员以及默认的密码youcl )在首次登录时更改密码:

vi ~/vm7/boot.sh
# This script will run the first time the virtual machine boots
# It is ran as root.

# Expire the user account
passwd -e administrator

# Install openssh-server
apt-get update
apt-get install -qqy --force-yes openssh-server

请确保用默认登录名替换用户名管理员

(您可以在这里找到更多信息: https//help.ubuntu.com/community/JeOSVMBuilder#First%20boot

(您还可以按照以下所述定义“首次登录”脚本: https//help.ubuntu.com/community/JeOSVMBuilder#First%20login

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏