ubuntu10.04-x86_64安装xen 4.0.1

来源:互联网 发布:王者荣耀上分英雄知乎 编辑:程序博客网 时间:2024/06/06 23:17

 


ubuntu10.04-x86_64-LTS-Lucid安装xen4.0.1

 

===============================================

author:yejingx   

Sat, Jan 29, 2011

===============================================

 

#说明:

与ubuntu9.10上安装xen的方法不同,ubuntu10.04不再官方维护xen软件包,没有相应的xen-tools,

即使用第三方的也没有现成的Dom0内核。因此只能由源代码安装。

以下操作全部在超级用户下进行。

 

#安装步聚:

1.安装需要的包

apt-get install libcurl4-openssl-dev /

xserver-xorg-dev /

mercurial gitk /

build-essential /

libncurses5-dev /

uuid-dev gawk /

gettext texinfo bcc /

libncurses5-dev dpkg-dev debhelper /

iasl texinfo bridge-utils bison flex python-dev

 

若是 Debian/Ubuntu 64bit 所需另外安裝套件

apt-get install gcc-multilib

 

 

2.下源Dom0内核源代码(大约350M)

cd /usr/src

git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen

cd linux-2.6-xen

git checkout -b xen/stable-2.6.32.x origin/xen/stable-2.6.32.x

 

3.编译Dom0内核

change 'EXTRAVERSION' in Makefile to what you want.

make menuconfig # Enabled the dom0 support and the Xen backend as usual on Ubuntu 9.10

make -j(x)number_of_kernels

make modules_install install

chmod g-s /usr/src -R

make deb-pkg

dpkg -i ../linux-image*2.6.32.27*.deb

depmod 2.6.32.27

update-initramfs -c -k 2.6.32.27

 

4.下载xen4.0.1源代码并编译安装

cd /usr/src

hg clone http://xenbits.xensource.com/xen-4.0-testing.hg

cd xen-4.0-testing.hg

make xen tools stubdom

make install-xen

make install-tools PYTHON_PREFIX_ARG=

 

5.加入到自动启动脚本中

update-rc.d xend defaults 20 21

update-rc.d xendomains defaults 21 20

 

6.修改grub2 entry, reboot

menuentry "Xen 4.0.1 / Ubuntu 10.04 kernel 2.6.32.27" {

insmod ext2

set root='(hd0,7)'

multiboot (hd0,7)/boot/xen-4.0.1.gz dummy=dummy dom0_mem=1024M

module (hd0,7)/boot/vmlinuz-2.6.32.27 dummy=dummy nopat root=UUID=013228f1-cae3-4f2f-aa52-b025785d3aa6 ro console=tty0

module (hd0,7)/boot/initrd.img-2.6.32.27

}

注意:

-在grub2中必需加上dummy=dummy参数才能正常启动。

-dom0_mem必需足够大才能使Dom0正常启动,否则Dom0将不断自动重启。

 

7.检查是否安装成功

$ sudo xm list

Name                                        ID   Mem VCPUs      State   Time(s)

Domain-0                                     0  3713     4     r-----      6.4

 

8.安装DomU

8.1.HVM

DomU磁盘文件:

mkdir -p /xens/burkesys/

dd if=/dev/zero of=/xens/burkesys/diskimage.img bs=1024k count=1 seek=4000

dd if=/dev/zero of=/xens/burkesys/swapimage.img bs=1024k count=1 seek=512 

mkfs.ext3 /xens/burkesys/diskimage.img

mkswap /xens/burkesys/swapimage.img

 

DomU配置文件:

kernel = "/usr/lib/xen/boot/hvmloader"

builder = 'hvm'

memory = 512

name = "LucidSRV"

vcpus = 1

#vif = [ 'type=ioemu, bridge=eth0' ]

disk = [ 'file:/xens/burkesys/diskimage.img,ioemu:hda,w',

'file:/home/yejingx/TomatoWinXP_SP3_V1.1.ISO,ioemu:hdc:cdrom,r']

device_model = '/usr/lib/xen/bin/qemu-dm'

vnc=1

vncviewer=1

sdl=0

boot='d'

#把boot='d'改为boot='c'就不会从光盘启动

 

8.2.利用vnc进行图形化管理

在/etc/xen/xend-config.sxp中开启

(vnc-listen '192.168.0.xxx')

(vncpasswd '')

开启vnc服务

#vnc4server start 

vncviewer 127.0.0.1:590x  #远程

 

8.3.Paravirtualization-Linux

8.3.1.分配磁盘空间

LVM方式:

pvcreate /dev/sda7

vgcreate vmlinux01 /dev/sda7

lvcreate -n twister --size 2g vmlinux01

lvcreate -n twisterswp --size 512m vmlinux01

 

文件方式:

mkdir -p /xens/burkesys/

dd if=/dev/zero of=/xens/burkesys/diskimage.img bs=1024k count=1 seek=1000

dd if=/dev/zero of=/xens/burkesys/swapimage.img bs=1024k count=1 seek=512 

 

格式化磁盘:

mkfs.ext3 /dev/vmlinux01/twister

mkswap /dev/vmlinux01/twisterswp

 

mount -o loop /dev/main-vol2/twister /mnt

 

//mount -o loop ubuntu-10.04.1-server-amd64.iso /tmp/ubuntu

//debootstrap --arch amd64 lucid /mnt file:/tmp/ubuntu/ubuntu/

debootstrap --arch amd64 lucid /mnt http://archive.ubuntu.com/ubuntu

 

mv /mnt/lib/tls /mnt/lib/tls.disabled

cp /etc/apt/sources.list /mnt/etc/apt/

vi /mnt/etc/apt/sources.list

cp -a /lib/modules/2.6.32.24-xen-domU /mnt/lib/modules

cp /etc/resolv.conf /mnt/etc/

cp /etc/network/interfaces /mnt/etc/network/

vi /mnt/etc/network/interfaces

 

#To use Specific IP address - edit the /mnt/etc/network/interfaces manually.

#To use DHCP, edit and include the following:

    # The loopback network interface

   auto lo

   iface lo inet loopback

   # The primary network interface

   auto eth0

   iface eth0 inet dhcp

 

vi /mnt/etc/hostname # echo 'hostname' > /mnt/etc/hostname

vi /mnt/etc/fstab

proc            /proc       proc    defaults    0 0

/dev/xvda1       /           ext3    defaults,errors=remount-ro    0 1

/dev/xvda2       none        swap    sw          0 0

 

umount /mnt

 

8.3.2.创建DomU配置文件

vi /etc/xen/burkesys

kernel = "/boot/vmlinuz-2.6.16-1-xen-k7"

ramdisk = "/boot/initrd.img-2.6.16-1-xen-k7"

memory = 192

name = "Domain-1"

vif = ['bridge=xenbr0']

#File Based:# disk = ['file:/xens/burkesys/diskimage.img,sda1,w','file:/xens/burkesys/swapimage.img,sda2,w']

disk = ['phy:/dev/main-vol2/twister,xvda1,w', 'phy:/dev/main-vol2/twisterswp,xvda2,w']

#DHCP - remove the ip, gateway and netmask lines, and include:# dhcp = "dhcp"

ip = "ip add"

gateway = "ip add"

netmask = "255.255.0.0"

root = "/dev/xvda1 ro"

extra = 'console=hvc0 xencons=tty'

 

ln -s /etc/xen/Domain-1 /etc/xen/auto/Domain-1

//link in the config file so that the Virtal Machine starts on Bootup of Dom0

 

xm create Domain-1 -c vmid=1

 

 

 

 

 

#注意:

1. 如果安装过旧版的xen3.3,则需要装它删除,否则xen4.0与xen3.3的tools可能不匹配而出错:

ERROR (SrvDaemon:347) Exception starting xend ((13, 'Pemission denied'))

 

2. 如果grub2不能成功引导Dom0,可以将grub2删除,改用grub。

$ sudo apt-get purge grub-pc

$ sudo rm /boot/grub/*

$ sudo apt-get install grub

$ sudo grub-install --recheck /dev/sda

$ sudo update-grub

$ sudo vi /boot/grub/menu.lst

但是如果你是双系统,grub装识别不出windows,此时需要手动在menu.lst中添加windows的引导:

titleWindows Vista/Longhorn (loader)

root(hd0,0)

savedefault

makeactive

chainloader+1

 

 

 

 

 

#附

 

 

//////////////////////////////////////////////Debian5.06 lenny下创建DomU

# vi /etc/apt/sources.list

 

deb http://http.us.debian.org/debian stable main contrib non-free

#deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

deb http://security.debian.org stable/updates main contrib non-free

 

# apt-get install xen-hypervisor-3.2-1-amd64 /

xen-linux-system-2.6.26-2-xen-amd64 xen-utils-3.2-1 /

xenstore-utils xenwatch xen-shell xen-tools

 

# vi /etc/modules

 

loop max_loop=64

 

# vi /etc/xen/xend-config.sxp

 

#(network-script network-dummy)

(network-script network-bridge)

 

# vi /boot/grub/menu.lst

 

...

title           Xen 3.2-1-amd64 / Debian GNU/Linux, kernel 2.6.26-2-xen-amd64

root            (hd0,0)

kernel          /xen-3.2-1-amd64.gz dom0_mem=256M

module          /vmlinuz-2.6.26-2-xen-amd64 root=/dev/mapper/vpsee-root ro console=tty0

module          /initrd.img-2.6.26-2-xen-amd64

...

 

# reboot

 

# uname -r

2.6.26-2-xen-amd64

 

# xm list

Name                                        ID   Mem VCPUs      State   Time(s)

Domain-0                                     0   256     2     r-----      9.3

 

# mkdir /vm

 

# xen-create-image --hostname=vm01 --size=10Gb --swap=512Mb --ide /

--ip=172.16.39.121 --netmask=255.255.254.0 --gateway=172.16.38.1 --force /

--dir=/vm --memory=512Mb --arch=amd64 /

--kernel=/boot/vmlinuz-2.6.26-2-xen-amd64 /

--dist=lenny --mirror=http://ftp2.de.debian.org/debian/ --passwd

 

# vi /etc/xen/vm01

 

kernel      = '/boot/vmlinuz-2.6.26-2-xen-amd64'

ramdisk     = '/boot/initrd.img-2.6.26-2-xen-amd64'

memory      = '256'

root        = '/dev/xvda2 ro'

disk        = [

                  'file:/vm/domains/vm01/swap.img,xvda1,w',

                  'file:/vm/domains/vm01/disk.img,xvda2,w',

              ]

name        = 'vm01'

vif         = [ 'bridge=eth0' ]

dhcp = "dhcp"

on_poweroff = 'destroy'

on_reboot   = 'restart'

on_crash    = 'restart'

extra = 'console=hvc0 xencons=tty'

 

# xm create vm01

# xm console vm01

 

 

ln -s /etc/xen/vm01 /etc/xen/auto

 

 

 

 

 

 


#常见问题

1. ifdown: interface eth0 not configured

在/etc/network/interface中添加

auto eth0

iface eth0 inet static

address 192.168.1.100

netmask 255.255.255.0

network 192.168.1.0

gateway 192.168.1.1

 

/etc/init.d/networking stop

/etc/init.d/networking start

xend stop

xend start

 

 

 

 

 

 

#参考:

http://www.vpsee.com/2010/04/install-xen-on-ubuntu-from-source/

http://bderzhavets.wordpress.com/2010/04/24/set-up-ubuntu-10-04-server-pv-domu-at-xen-4-0-dom0-pvops-2-6-32-10-kernel-dom0-on-top-of-ubuntu-10-04-server/

http://wiki.kartbuilding.net/index.php/Create_DomU

 

原创粉丝点击