如何使用 Xen 管理程序?

Oxw*_*ivi 7 xen

我有兴趣尝试 Xen;

  • 我需要安装哪些软件包?
  • 如何设置 DomU 实例?

Rin*_*ind 9

半虚拟化来宾Ubuntu 11.04

安装 Xen 虚拟机时,您需要确定要使用的块设备类型。有三种可能:直接安装在专用分区上(最大性能)或使用重要的磁盘映像文件或使用 dd 创建自己的磁盘映像文件(可调整大小;您可以使用快照进行备份)

所有命令都假定root(即。sudo su)。我还假设使用 LVM,但也包含了一种未经测试的方法,您可以dd在其中使用自己的图像。因此,如果您想使用文件(而不是 LVM),请跳过 1,如果您确实使用 LVM,请跳过 2。

  1. 为您的虚拟机创建一个新的 LVM 卷。更改名称(在 之后-n)以满足您的需要:

    lvcreate -L10G -n example.ubuntu.natty VolumeGroup
    
    Run Code Online (Sandbox Code Playgroud)

    lvcreatelvm2的一部分 安装lvm2 但是当您使用lvms时它已经安装了。

  2. 您也可以使用文件 ( dd)。我还没有找到这与Ubuntu合适的方法,但这个应该接近。如果你这样做,我有经验,但接下来的所有步骤都应该是一样的。从链接复制创建一个使用的方法dd(该链接还包括其他获取文件的方法):

    使用 at 创建一个 4Gb 空文件/var/lib/xen/images/disk1(更改大小和位置以满足您的需要):

    dd if=/dev/zero of=/var/lib/xen/images/disk1 bs=1M count=4096
    
    Run Code Online (Sandbox Code Playgroud)

    除了使用 dd 实用程序创建空映像文件之外,您还可以使用 ISO 文件作为物理光驱的替代方案。用法与dd创建的磁盘镜像文件的用法相同。还没有 ISO 文件?那么我们有好消息要告诉你;创建一个很容易。如果您要创建 ISO 文件的 cd-rom 在您的光驱中,请使用以下命令将其复制到名为 cdrom.iso 的文件中:

    dd if=/dev/cdrom of=/isos/cdrom.iso
    
    Run Code Online (Sandbox Code Playgroud)

    创建磁盘映像文件或 ISO 文件后,您需要使用磁盘定义中的 file 选项将磁盘映像文件包含在虚拟机配置中:

    disk=[ 'file:/var/lib/xen/images/disk1,hda,w', 'file:/isos/cdrom.iso,hdc,r', ]
    
    Run Code Online (Sandbox Code Playgroud)
  3. 获取kernelinitrdxen configwget版本nlinstaller-amd64(因此改变国家代码nl,还可以使用installer-amd64在URL满足您的需求):

    wget http://nl.archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/netboot/xen/xm-debian.cfg
    wget http://nl.archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/netboot/xen/initrd.gz
    wget http://nl.archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/netboot/xen/vmlinuz
    
    Run Code Online (Sandbox Code Playgroud)
  4. 编辑配置文件

    编辑配置文件,注意内存、名称、vcpus、vif 和磁盘选项。另外,找到说bootloader=pygrub并将其更改为绝对路径的行bootloader=/usr/sbin/pygrub

  5. 开始安装(再次注意命令:根据需要更改服务器国家代码和架构):

    xm create -f xm-debian.cfg -c install=true install-kernel="vmlinuz" install-ramdisk="initrd.gz" install-mirror="http://nl.archive.ubuntu.com/ubuntu" install-arch=i386 install-method=network
    
    Run Code Online (Sandbox Code Playgroud)
    • 选择语言
    • 选择一个位置
    • 配置你的网卡。如果失败,您将需要手动配置它(选择back,放到 ashell并发出 a modprobe xen-netfront && exit。再次配置网卡。
    • 选择检测网络硬件并插入主机名

    它开始安装。

  6. 修复安装。

    xen-blkfront模块最初未加载,因此xen将无法启动。

    (initframfs) modprobe xen-blkfront
    (initramfs) exit
    
    Run Code Online (Sandbox Code Playgroud)

    主机完成启动后,登录并 sudo 到 root。然后输入以下内容:

    echo "xen-blkfront" >> /etc/initramfs-tools/modules
    update-initramfs -u
    update-initramfs: Generating /boot/initrd.img-2.6.38-11-generic
    
    Run Code Online (Sandbox Code Playgroud)

未经测试,根据记忆 + 谷歌搜索来修复我的记忆