感谢支持
我们一直在努力

CentOS 5.4安装XEN3.4.2

1. XEN 的安装
a需要的包名称:


xen-3.4.2.tar.gz 


linux-2.6.18-xen-3.4.2.tar.gz 


补丁:


grub-0.97.tar.gz   newlib-1.16.0.tar.gz    pciutils-2.2.9.tar.gz


lwip-1.3.0.tar.gz  pciutils-2.2.9.tar.bz2  zlib-1.2.3.tar.gz


其中 zlib-1.2.3.tar.gz 注意解压后文件夹名称是否为 zlib-1.2.3(重要)


否则会导致编译错误


b.安装包:


# yum install libX11-devel.x86_64 openssl-devel.x86_64 gettext-devel.x86_64 gcc.x86_64 dev86.x86_64 ncurses-devel Python-devel libtool-ltdl texinfo.x86_64 xorg-x11- xtrans-devel xorg-x11- server-sdk xorg-x11-drv-i810-devel xorg-x11-drv-via xorg-x11-proto-devel


c.设置配置文件


把对应的linux内核源码包放到xen的目录下,改成linux-2.6.18-xen.hg,并修改src.hg-clone文件。


[root@localhost source]# mv linux-2.6.18-xen-3.4.2 xen-3.4.2/linux-2.6.18-xen.hg


[root@localhost source]# cd xen-3.4.2


[root@localhost xen-3.4.2]# gedit buildconfigs/src.hg-clone 


去掉hg同步linux内核源码的步骤, (修改后的文件) 如下:


—————————————————————-


# Mercurial


HG ?= hg


LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg


# Repository to clone.


XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) $(LINUX_SRC_PATH))


# Set XEN_LINUX_HGREV to update to a particlar revision.


XEN_LINUX_HGREV  ?= tip


$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)


set -e ; \


touch $@


d. 准备studom补丁集


studom 是xen中的一个补丁集,可以增加性能,是从xen3.3引入的,并不是必需的。网上有说可以把这块去掉(具体步骤可以到网上去找),如果不想去掉的话,可以自己上网下载对应的工具包,放到xen源码目录下的studom目录下。我已经下好了,这些工具包在按照名字在网上都很容易搜索到的。


[root@localhost stubdom]# ls


grub-0.97.tar.gz   newlib-1.16.0.tar.gz    pciutils-2.2.9.tar.gz


lwip-1.3.0.tar.gz  pciutils-2.2.9.tar.bz2  zlib-1.2.3.tar.gz


[root@localhost stubdom]# cp * ../xen-3.4.2/stubdom/


其中 zlib-1.2.3.tar.gz 注意解压后文件夹名称是否为 zlib-1.2.3(重要)


e.开始编译安装


[root@localhost xen-3.4.2]# make dist (有 Y选Y,没Y选M )


[root@localhost xen-3.4.2]# make install


f. 生成initrd镜像


[root@localhost xen-3.4.2]# mkinitrd –without-dmraid -v -f /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen


g. 修改grub配置文件


[root@localhost xen-3.4.2]# gedit /boot/grub/grub.conf 


—————————————————————-


default=1


timeout=1


splashimage=(hd0,1)/boot/grub/splash.xpm.gz


hiddenmenu


title CentOS (2.6.18-164.el5)


root (hd0,1)


kernel /boot/vmlinuz-2.6.18-164.el5 ro root=LABEL=/1 rhgb quiet


initrd /boot/initrd-2.6.18-164.el5.img


 


title CentOS-Xen3.4.2 (2.6.18-8)


root (hd0,1)


kernel /boot/xen-3.4.2.gz


module /boot/vmlinuz-2.6.18.8-xen ro root=LABEL=/1 rhgb quiet


module /boot/initrd-2.6.18.8-xen.img 


 


title Other


rootnoverify (hd0,0)


chainloader +1


—————————————————————-

2. DOMU的启动
编译一个domU 内核
   我们使用上面下载的 Xen 源代码来创建 domU 内核
1、进入包含源代码的目录
   cd ~/xen-source
2、编译 domU 内核
   make linux-2.6-xenU-config
3、选择 domU 内核需要的选项,如果不确定,可以使用缺省选项,记得在退出时保存选项。
4、创建 domU 内核然后安装
   make linux-2.6-xenU-build
   make linux-2.6-xenU-install
5、为 domU 内核创建 initrd (我没有成功建立,少个模块,没有这个也可以启动 )
   mkinitrd -v -f –with=ide-disk –with=sd_mod –with=ide-generic –with=ext3 –with=scsi_mod /boot/initrd-2.6.**.**-xenU.img 2.6.**.**-xenU


 


mkinitrd -v -f   initrd-2.6.21.DomU.img  $(uname -r)


 


 


 


 


创建镜像文件


 


For example, to create a 2GB sparse le-backed virtual block device (actually only


consumes 1KB of disk):


# dd if=/dev/zero of=vm1disk bs=1k seek=2048k count=1


Make a le system in the disk le:


# mkfs -t ext3 vm1disk


(when the tool asks for conrmation, answer `y’)


Populate the le system e.g. by copying from the current root:


# mount -o loop vm1disk /mnt


# cp -ax /{root,dev,var,etc,usr,bin,sbin,lib} /mnt


# mkdir /mnt/{proc,sys,home,tmp}


 


配置文件修改


修改与系统相关的配置文件,例如 :


文件系统表(/etc/fstab),


主机名(/etc/sysconfig/network),


IP地址和MAC地址(/etc/sysconfig/network-scripts/ifcfg-eth0),这些最好都进行修改。


注意: 这里所说的文件系统表还有主机名等文件是在/mnt/下的 ,如/etc/fstab实际是指/mnt/etc/fstab含义其实很简单,就是修改我们创建的 vm1disk 这套半虚拟话磁盘镜像系统内的系统表,主机名等,这里就不再赘述了。

现将我的修改贴出来以供大家参考,我的修改全部是必须的修改,因为我之前这些有的没有修改,因此会爆出这样或那样的错误让人很困扰,后面的错误分析中我会具体说明是哪些未修改引起的错误。


文件系统表(/etc/fstab)


  全部都注释掉,只留一行


/dev/sda2    /  ext3 defaults     1     1


注:sda2 这个要视情况而定。学长告诉我先要在终端中用fdisk -l这个命令,看看哪个在root那一行是*,然后就写成哪个,所以我本来写的是sda1,但是有问题,后来另一个学长告诉我恰恰相反,要用没有用过的,因此用了在fdisk -l里面没有出现的sda2,结果成功了,所以这个选择我希望大家最好还是试试看吧,有兴趣的尝试一下可以告诉我哦~


补充:刚才我又试了一下,在一切的成功的基础上将sda2都改为sda1也没有问题,不知道是什么情况,希望知道的留言解释,呵呵。


  主机名(/etc/sysconfig/network)


将主机名修改即可。


IP和MAC地址(/etc/sysconfig/network-scripts/ifcfg-eth0)


这个可以不修改,但是不修改则无法上网,至少我用的时候不修改是无法ping通本机的,建议大家修改


更改系统级别(/etc/inittab)


选择3 无界面方式


 


Domu启动配置文件


配置文件制作


kernel = “/boot/vmlinuz-2.6.21-2950.fc8xen”        //DomU的内核


ramdisk = “/boot/initrd-2.6.21.DomU.img”               // 包含相应驱动 DomU  的 intrd  文件   ,要自己制作,最好不要用                  系统生成的 (可选)


#ramdisk  = “/boot/initrd-2.6.21-2950.fc8xen.img”


memory = 200


maxmem = 200


name   = “jiangyue-fc8”


vif    = [‘mac=AA:AA:0A:EF:EF:04,bridge=eth0’]


vcpus  = 1


ip     = “192.168.201.18”


netmask= “255.255.255.0”


dns    = “202.114.0.242”


disk   = [‘ file:/media/disk/fc8.img,sda2,w ‘]    //sda2 与 DomU 中  /etc/fstab 中一致


root   = “/dev/sda2 ro”                                                   //sda2 与 DomU 中一致


#extra  = ‘xencons=tty’  


OK

赞(0) 打赏
转载请注明出处:服务器评测 » CentOS 5.4安装XEN3.4.2
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏