http://www.zjyxh.com/archives/201306/centos-6-4-x86_64-yum-install-xen-4-2-2.html

一.准备系统环境
1.下载kernel-xen repo镜像

?
1
2
wget http: //us3 .mirror.crc. id .au /el6/x86_64/kernel-xen-release-6-4 .noarch.rpm
rpm -ivh kernel-xen-release-6-4.noarch.rpm

2 安装xen 内核及其相关软件

?
1
2
yum install -y xen kernel-xen xen-libs python-virtinst bridge-utils
reboot

3.重新编译libvirtrpm包,因为centos 6 中的libvirt去掉了对xen支持

?
01
02
03
04
05
06
07
08
09
10
11
12
mkdir -p /root/src/
cd /root/src
wget ftp : //ftp .redhat.com /pub/redhat/linux/enterprise/6Server/en/os/SRPMS/libvirt-0 .8.1-27.el6.src.rpm
rpm -i libvirt-0.8.1-27.el6.src.rpm
wget http: //pasik .reaktio.net /xen/patches/libvirt-spec-rhel6-enable-xen .patch
cd /root/rpmbuild/SPECS
cp -a libvirt.spec libvirt.spec.orig
patch -p0 < ~ /src/libvirt-spec-rhel6-enable-xen .patch
yum install ebtables libcgroup lzop iscsi-initiator-utils lvm2 dnsmasq xen-devel nfs-utils libnl-devel xhtml1-dtds libudev-devel libpciaccess-devel yajl-devel libpcap-devel avahi-devel parted-devel device-mapper-devel numactl-devel netcf-devel python-devel autoconf automake libtool libxml2-devel readline-devel ncurses-devel gnutls-devel cyrus-sasl-devel libcap-ng-devel libcurl-devel
rpmbuild -bb libvirt.spec
/root/rpmbuild/RPMS/x86_64
rpm -Uvh --force libvirt-0.8.1-27.el6.x86_64.rpm libvirt-client-0.8.1-27.el6.x86_64.rpm libvirt-python-0.8.1-27.el6.x86_64.rpm

4. 配置网卡为桥接模式
例如:

?
01
02
03
04
05
06
07
08
09
10
11
12
cd /etc/sysconfig/network-scripts/
cp -a ifcfg-eth0 ifcfg-br0
ifcfg-br0 内容为
DEVICE= "br0"
BOOTPROTO= "none"
HWADDR= "6C:92:BF:00:40:CA"
NM_CONTROLLED= "yes"
IPADDR=172.19.10.21
ONBOOT= "yes"
TYPE= "Bridge"
NETMASK= "255.255.255.0"
#UUID="a833937d-9306-44d3-a011-b941d4c4dd7b"

ifcfg-eth0修改如下

?
1
2
3
4
5
6
7
DEVICE= "eth0"
HWADDR= "6C:92:BF:00:40:CA"
NM_CONTROLLED= "yes"
ONBOOT= "yes"
TYPE= "Ethernet"
BRIDGE=br0
UUID= "a833937d-9306-44d3-a011-b941d4c4dd7b"

修改完毕重启网卡
service network restart

5.最后修改/boot/grub/grub.conf

?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda8
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashp_w_picpath=(hd0,0) /grub/splash .xpm.gz
hiddenmenu
title CentOS (3.6.7-1.el6xen.x86_64)
root (hd0,0)
kernel /xen-4 .2.gz dom0_mem=4096M
module /vmlinuz-3 .6.7-1.el6xen.x86_64 ro root=UUID=1b782dd8-0693-4336-b3b3-512f8f1ed548 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
module /initramfs-3 .6.7-1.el6xen.x86_64.img
title CentOS (2.6.32-279.14.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2 .6.32-279.14.1.el6.x86_64 ro root=UUID=1b782dd8-0693-4336-b3b3-512f8f1ed548 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2 .6.32-279.14.1.el6.x86_64.img
title CentOS (2.6.32-279.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2 .6.32-279.el6.x86_64 ro root=UUID=1b782dd8-0693-4336-b3b3-512f8f1ed548 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2 .6.32-279.el6.x86_64.img

6.重启linux