4te3r3r 发表于 2014-11-25 09:29:04

基于ubuntu10.04 安装xen 4.1.2

一、   安装ubuntu10.04国内唯一可以源:
deb http://mirrors.163.com/ubuntu/ lucid mainuniverse restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid mainuniverse restricted multiverse
deb http://mirrors.163.com/ubuntu/ lucid-securityuniverse main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/lucid-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ lucid-updatesuniverse main multiverse restricted
deb http://mirrors.163.com/ubuntu/ lucid-proposeduniverse main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/lucid-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ lucid-backportsuniverse main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/lucid-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/lucid-updates universe main multiverse restricted

加上官方源
deb http://security.ubuntu.com/ubuntulucid-security main


二、   更新ubuntu的内核kernel版本为:3.0.0-13-peneric-paeaptitude install linux-image-3.0.0-13-generic-pae
最好提前安装头文件包 linux-header-3.0.0-13
三、   编译安装xen-4.1.2源码包3.1下载源码包
一定在linux中下载,否则出错
wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz

3.2 检查编译时所需的库
我检测缺失库:方法xen源码包/tools/check/make
texlive-latex-base
TransFig:You need thefig2dev program in the TransFig package in addition to xfig to be complete
推荐完全安装所有库:
apt-get install bcc bin86 gawk bridge-utils iproutelibcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfotexlive-latex-base texlive-latex-recommended texlive-fonts-extratexlive-fonts-recommended pciutils-dev mercurial build-essential make gcclibc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patchlibvncserver-dev libsdl-dev libjpeg62-dev iasl libbz2-dev e2fslibs-dev git-coreuuid-dev ocaml ocaml-findlib libx11-dev libc6-xen gcc-multilib xz-utils

3.3 编译,安装
# tar zxvf xen-4.1.2.tar.gz
# cd xen-4.1.2
# make world
# make install
如果是要在另一台机子上部署的用make dist。
编译过程中会通过git或hg从网上下源码,所以要确保网络连通

3.4修改xm为默认工具
对于Xen的管理工具,Xen 4.1后的趋势是xl逐渐替代xm。用哪个可以在配置文件中设置:
/etc/default/xen
TOOLSTACK="xm"

3.5 设置启动服务
# update-rc.d xencommons defaults 19 18
# update-rc.d xend defaults 20 21
# update-rc.d xendomains defaults 21 20
# update-rc.d xen-watchdog defaults 22 23
和启动模块,在/etc/modules中添加:
xen-evtchn
xen-gntdev
xen-netback
xen-blkback
xenfs
blktap

3.6 添加启动项
长按shift调出grub菜单,选刚才新加的那项,进入dom0
menuentry 'Ubuntu GNU/Linux, with Xen 4 and Linux3.0.0-13-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os--class xen {
       insmod part_msdos
       insmod ext2
      setroot='(hd0,msdos8)'
      search --no-floppy --fs-uuid --set=root594f161e-0a85-4543-98c9-3be570ab8f4c
       echo    'Loading Xen 4 ...'
       multiboot       /boot/xen-4.gzplaceholder
       echo    'Loading Linux3.0.0-13-generic-pae ...'
       module/boot/vmlinuz-3.0.0-13-generic-paeplaceholder root=UUID=594f161e-0a85-4543-98c9-3be570ab8f4c roquiet splash
       echo    'Loading initial ramdisk...'
       module /boot/initrd.img-3.0.0-13-generic-pae
}

3.7启动xend
首先启动xencommons
sudo service xencommons start
启动xend之前关闭网卡启动xend之后重启网卡(如果不这样做会提示出错,原因暂不详)
sudo ifconfig eth0 down
sudo service xend start
sudo ifconfig eth0 up

可能出现的问题:
1) ImportError: libxenctrl.so.4.0: cannot openshared object file: No such file or directory
在64位环境中,Xen编译生成了libxenctrl.so.4.0,并把它放到/usr/lib64中,为了让系统能找到它,需要在/etc/ld.so.conf.d/libc.conf中加入
/usr/lib64
然后
# ldconfig
2) can't find module xxxx
Xen的管理工具里很多是python写的,而Ubuntu中默认是不将/usr/lib/python2.7/site-packages放入module搜索路径的。比较简便的方法是在.bashrc中加
export PYTHONPATH=/usr/lib/python2.7/site-packages
3)Error: Unable to connect to xend: No such file ordirectory. Is xend running?
可以试试重新启动xend:
# xend restart
当然很多情况可能导致这个问题,版本不对或是设置不对等等。

四、   生成dom0和domU,创建实验ubuntu-hvm
[*]a)       为虚拟机添加新块硬盘

[*]b)      用gparted 创见新的dos2 分区表

[*]c)       安装lvm2软件

[*]d)      格式化新硬盘为LV2格式:

fdisk /dev/sdbn-创建新分区p-创建主分区 1-主分区号 最后一块磁盘号 默认回车t-修改分区类型输入8e-linux lvm分区类型代码w-保存退出

[*]e)       创建物理卷pvcreate /dev/sdb1

[*]f)       创建卷组 vgcreate vg0/dev/sdb1

[*]g)       创建逻辑卷

[*]1.pvs

查看所在vg名:ubuntu-vg
2.lvcreate -L 6G -n ubuntu-hvm /dev/ubuntu-vg
在该group中,创建逻辑卷ubuntu-hvm
3.vi /etc/xen/ubuntu-hvm.cfg
创建配置信息,具体看纸上,注意磁盘处参考最新版的格式,磁盘中的sda是虚拟机中对应挂载的磁盘,不是本机磁盘,和本机磁盘卷标无关
4.xl create /etc/xen/ubuntu-hvm.cfg
创建虚拟机
5.xl list
查看是否运行
6.aptitude install xtightvncviewer
由于创建的是HVM,不能用终端连接 console 主机名,下载vncviewer
7. xl vncviewer ubuntu虚拟机名

五、   修改源代码,实现Dynamic Extracted
页: [1]
查看完整版本: 基于ubuntu10.04 安装xen 4.1.2