CentOS 6.5 安装 Xen 4.1.2
时间:2014-08-06 15:39 来源:server110.com 作者:server110.com
在centos下安装xen不是很顺利,遇到很多问题。安装过程主要参考了以下两个文档:
http://wiki.xen.org/xenwiki/RHEL6Xen4Tutorial?action=fullsearch&value=linkto%3A%22RHEL6Xen4Tutorial%22&context=180
这个方法可以正常安装xen,并指出RedHat 6 下安装xen 会遇到的问题,只是安装过程复杂,不是源码安装。
系统和安装的xen版本上面有介绍,开始着手安装xen了。
1.下载Xen的源码
wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
2.安装必备软件包
yum groupinstall "Development Libraries"
yum groupinstall "Development Tools"
yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel
bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-devel
yum -y install glibc-devel.i686texinfo libuuid-devel iasl python-lxml
yum -y install openssl openssl-devel
yum -y install ncurses ncurses-*
yum -y install python-devel
yum –y install texinfo
3.编译安装Xen hypervisor
tar zxvf xen-4.1.2.tar.gz
cd xen-4.1.2
make world
4.将Xen加入到启动脚本:
/sbin/chkconfig --add xend
/sbin/chkconfig --add xencommons
/sbin/chkconfig --add xendomains
/sbin/chkconfig xend on
/sbin/chkconfig xendomains on
/sbin/chkconfig xencommons on
5.编译安装Linux3.1.2内核
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2
tar -jxvf linux-3.1..tar.bz2
make menuconfig
Processor type and features --- >
选中Paravirtualized Guest Support
Device Drivers --->
Xen driver support --->
全部选*
修改:CONFIG_XEN_DEV_EVTCHN=y(如果是m,开机时无法启动xencommons)
注意:仅仅上面的是不够的,还需要修改:否则在创建虚拟机的过程中遇到这样的问题:
注意:Device 0 (vif) could not be connected. HotPlug scripts not working.
在.config文件中做如下修改,就可以解决问题了
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_NETDEV_BACKEND=m
接下来开始编译安装了:
make
make modules
make modules_install
make install
depmod 3.1.
mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initramfs-3.1..img 3.1.
6.配置grub:
title Xen (3.1.-xen)
root (hd0,)
kernel /xen-4.1..gz dom0_mem=512M
module /vmlinuz-3.1. ro root=UUID=3f920108-b74b-46b9-81c2-aff834494381
rd_DM_UUID=ddf1_4c5349202020202010000055000000004711471100001450 rd_NO_LUKS rd_NO_LVM rd_NO_MD LANG=en_US.UTF-
SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
module /initramfs-3.1..img
这个配置在第4行后面root=UUID随自己的系统
7.安装virt-manager
yum install libvirt virt-manager xorg-x11-xauth
8. 重新编译libvirt
在文章前面第一个链接中,说明了,redhat6系统中,默认的libvirt是不支持xen的,如果直接使用默认的这会出现如下的问题:
注意virt-manager & 这个命令中的'&' 代表该进程后台运行
[root@el6 ~]# virt-manager &
[]
Unable to open connection to hypervisor URI 'xen:///':
no connection driver available for xen:///
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/connection.py", line , in _try_open
None], flags)
File "/usr/lib64/python2.6/site-packages/libvirt.py", line , in openAuth
if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: no connection driver available for xen:///
开始重新编译libvirt解决以上的问题。
以下的操作都在非xen系统中进行:
没个系统遇到的缺的包不一样,我的系统中还缺失xen-devel包,并且在yum
[root@el6 ~]# cd /root/src
[root@el6 src]# wget ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/libvirt-0.8.1-27.el6.src.rpm
[root@el6 src]# rpm -i libvirt-0.8.-.el6.src.rpm
[root@el6 src]# wget http://pasik.reaktio.net/xen/patches/libvirt-spec-rhel6-enable-xen.patch
[root@el6 src]# cd /root/rpmbuild/SPECS
[root@el6 SPECS]# cp -a libvirt.spec libvirt.spec.orig
[root@el6 SPECS]# patch -p0 < ~/src/libvirt-spec-rhel6-enable-xen.patch
patching file libvirt.spec
[root@el6 SPECS]# rpmbuild -bb libvirt.spec
error: Failed build dependencies:
libnl-devel >= 1.1 is needed by libvirt-0.8.-.el6.x86_64
xhtml1-dtds is needed by libvirt-0.8.-.el6.x86_64
libudev-devel >= is needed by libvirt-0.8.-.el6.x86_64
libpciaccess-devel >= 0.10. is needed by libvirt-0.8.-.el6.x86_64
yajl-devel is needed by libvirt-0.8.-.el6.x86_64
libpcap-devel is needed by libvirt-0.8.-.el6.x86_64
avahi-devel is needed by libvirt-0.8.-.el6.x86_64
parted-devel is needed by libvirt-0.8.-.el6.x86_64
device-mapper-devel is needed by libvirt-0.8.-.el6.x86_64
numactl-devel is needed by libvirt-0.8.-.el6.x86_64
netcf-devel >= 0.1. is needed by libvirt-0.8.-.el6.x86_64
[root@el6 SPECS]# yum install libnl-devel xhtml1-dtds libudev-devel libpciaccess-devel yajl-devel libpcap-devel avahi-devel parted-devel device-mapper-devel numactl-devel netcf-devel
安装的时候,提示No packages xen-devel available 。
在多次替换yum源之后,依然无法解决这个xen-devel包缺失的问题。
随后的解决方案如下:
在网上下载xen-devel rpm 包,安装遇到依赖问题,接着下载xen-libs rpm 包,接着还有其他的依赖问题,同样查找。
具体链接: 搜索xen-devel,找到符合系统版本的
http://rpm.pbone.net/index.php3
我下载的版本是:
xen-devel-4.1.2_03-1.1.x86_64.rpm
安装xen-devel还依赖其他的包,如下:
xen-libs-4.1.2_03-1.1.x86_64.rpm
liblzma5-5.0.3-7.1.x86_64.rpm
glibc-common-2.14.90-14.x86_64.rpm
glibc-2.14.90-14.x86_64.rpm
强制安装如上的包。
如果缺少依赖包,依次去下载对应版本,解决问题。这个过程很蛋疼。
如果所有的依赖包都安装上后,接着下面的操作:
[root@gb31 SPECS]# rpmbuild -bb libvirt.spec
After a while you'll see:
Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-0.8.-.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-client-0.8.-.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-devel-0.8.-.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-python-0.8.-.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-debuginfo-0.8.-.el6.x86_64.rpm
如果有如上的显示则安装成功。
如果遇到屏幕显示test 。。 一直卡住之后,卸载掉系统中已经安装的libvirt包,再重新尝试,即可。
接着如下:注意,可能版本不一样
如果还显示存在test失败,make失败,与libvirt版本相关,这个问题很蛋疼,多试下几个版本吧。就可以解决。
[root@el6 ~]# cd /root/rpmbuild/RPMS/x86_64/
[root@el6 x86_64]# rpm -Uvh --force libvirt-0.8.-.el6.x86_64.rpm libvirt-client-0.8.-.el6.x86_64.rpm libvirt-python-0.8.-.el6.x86_64.rpm
Preparing... ########################################### [%]
:libvirt-client ########################################### [ %]
:libvirt ########################################### [ %]
:libvirt-python ########################################### [%]
9.进入xen系统
重启系统,进入xen系统。
尝试输入如下命令:xm-list ,xm-info
再接着尝试如下命令:virt-install,尝试着安装虚拟机
如果显示的错误如下:
ERROR unable to connect to ‘localhost:′: Connection refused
则需要去做如下修改:
解决方案:查看libvirtd服务是否启动,关闭防火墙,在/etc/xen/xend-config.sxp
(xend-http-server yes)
# Port xend should use for the HTTP interface, if xend-http-server is set.
(xend-port )
去掉上面两个括弧的注释,ok
再重新启动xend服务
至此,可以尝试在桌面上气筒virtual machine manager 去创建虚拟机。
创建过程如果如下问题:
可以系统路劲的问题,在usr/lib/xen/bin下找到qemu-dm放到lib64下对应的路径。
就ok。
10.配置网桥桥接模式
修改ifcfg-eth0如下:
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="**********“
NM_CONTROLLED="no"
ONBOOT="yes"
IPADDR="*******”
NETMASK="255.255.0.0"
GATEWAY="********"
TYPE=Ethernet
DNS1="8.8.8.8"
DNS2="8.8.4.4"
BRIDGE=br100
创建ifcfg-br100文件,内容如下:
DEVICE="br100"
BOOTPROTO="static"
HWADDR="*********"
NM_CONTROLLED="no"
ONBOOT="yes"
IPADDR="*******"
NETMASK="255.255.0.0"
GATEWAY="*******"
TYPE=Bridge
DEFROUTE=yes
DNS1="8.8.8.8"
DNS2="8.8.4.4"
11.ok,至此,xen的安装结束了,可以放心大胆的创建虚拟机了。
(责任编辑:IT)
在centos下安装xen不是很顺利,遇到很多问题。安装过程主要参考了以下两个文档: http://wiki.xen.org/xenwiki/RHEL6Xen4Tutorial?action=fullsearch&value=linkto%3A%22RHEL6Xen4Tutorial%22&context=180 这个方法可以正常安装xen,并指出RedHat 6 下安装xen 会遇到的问题,只是安装过程复杂,不是源码安装。 系统和安装的xen版本上面有介绍,开始着手安装xen了。 1.下载Xen的源码 wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz2.安装必备软件包 yum groupinstall "Development Libraries"yum groupinstall "Development Tools" yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-devel yum -y install glibc-devel.i686texinfo libuuid-devel iasl python-lxml yum -y install openssl openssl-devel yum -y install ncurses ncurses-* yum -y install python-devel yum –y install texinfo 3.编译安装Xen hypervisor tar zxvf xen-4.1.2.tar.gzcd xen-4.1.2 make world 4.将Xen加入到启动脚本: /sbin/chkconfig --add xend/sbin/chkconfig --add xencommons /sbin/chkconfig --add xendomains /sbin/chkconfig xend on /sbin/chkconfig xendomains on /sbin/chkconfig xencommons on 5.编译安装Linux3.1.2内核 wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2tar -jxvf linux-3.1..tar.bz2 make menuconfig Processor type and features --- > 选中Paravirtualized Guest Support Device Drivers ---> Xen driver support ---> 全部选* 修改:CONFIG_XEN_DEV_EVTCHN=y(如果是m,开机时无法启动xencommons) 注意:仅仅上面的是不够的,还需要修改:否则在创建虚拟机的过程中遇到这样的问题:
注意:Device 0 (vif) could not be connected. HotPlug scripts not working. 在.config文件中做如下修改,就可以解决问题了 CONFIG_XEN_BLKDEV_BACKEND=mCONFIG_XEN_NETDEV_BACKEND=m 接下来开始编译安装了: makemake modules make modules_install make install depmod 3.1. mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initramfs-3.1..img 3.1. 6.配置grub: title Xen (3.1.-xen)root (hd0,) kernel /xen-4.1..gz dom0_mem=512M module /vmlinuz-3.1. ro root=UUID=3f920108-b74b-46b9-81c2-aff834494381 rd_DM_UUID=ddf1_4c5349202020202010000055000000004711471100001450 rd_NO_LUKS rd_NO_LVM rd_NO_MD LANG=en_US.UTF- SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet module /initramfs-3.1..img 这个配置在第4行后面root=UUID随自己的系统 7.安装virt-manager yum install libvirt virt-manager xorg-x11-xauth8. 重新编译libvirt 在文章前面第一个链接中,说明了,redhat6系统中,默认的libvirt是不支持xen的,如果直接使用默认的这会出现如下的问题: 注意virt-manager & 这个命令中的'&' 代表该进程后台运行 [root@el6 ~]# virt-manager &[] Unable to open connection to hypervisor URI 'xen:///': no connection driver available for xen:/// Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/connection.py", line , in _try_open None], flags) File "/usr/lib64/python2.6/site-packages/libvirt.py", line , in openAuth if ret is None:raise libvirtError('virConnectOpenAuth() failed') libvirtError: no connection driver available for xen:/// 开始重新编译libvirt解决以上的问题。 以下的操作都在非xen系统中进行: 没个系统遇到的缺的包不一样,我的系统中还缺失xen-devel包,并且在yum [root@el6 ~]# cd /root/src[root@el6 src]# wget ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/libvirt-0.8.1-27.el6.src.rpm [root@el6 src]# rpm -i libvirt-0.8.-.el6.src.rpm [root@el6 src]# wget http://pasik.reaktio.net/xen/patches/libvirt-spec-rhel6-enable-xen.patch [root@el6 src]# cd /root/rpmbuild/SPECS [root@el6 SPECS]# cp -a libvirt.spec libvirt.spec.orig [root@el6 SPECS]# patch -p0 < ~/src/libvirt-spec-rhel6-enable-xen.patch patching file libvirt.spec [root@el6 SPECS]# rpmbuild -bb libvirt.spec error: Failed build dependencies: libnl-devel >= 1.1 is needed by libvirt-0.8.-.el6.x86_64 xhtml1-dtds is needed by libvirt-0.8.-.el6.x86_64 libudev-devel >= is needed by libvirt-0.8.-.el6.x86_64 libpciaccess-devel >= 0.10. is needed by libvirt-0.8.-.el6.x86_64 yajl-devel is needed by libvirt-0.8.-.el6.x86_64 libpcap-devel is needed by libvirt-0.8.-.el6.x86_64 avahi-devel is needed by libvirt-0.8.-.el6.x86_64 parted-devel is needed by libvirt-0.8.-.el6.x86_64 device-mapper-devel is needed by libvirt-0.8.-.el6.x86_64 numactl-devel is needed by libvirt-0.8.-.el6.x86_64 netcf-devel >= 0.1. is needed by libvirt-0.8.-.el6.x86_64 [root@el6 SPECS]# yum install libnl-devel xhtml1-dtds libudev-devel libpciaccess-devel yajl-devel libpcap-devel avahi-devel parted-devel device-mapper-devel numactl-devel netcf-devel 安装的时候,提示No packages xen-devel available 。 在多次替换yum源之后,依然无法解决这个xen-devel包缺失的问题。 随后的解决方案如下: 在网上下载xen-devel rpm 包,安装遇到依赖问题,接着下载xen-libs rpm 包,接着还有其他的依赖问题,同样查找。 具体链接: 搜索xen-devel,找到符合系统版本的 http://rpm.pbone.net/index.php3
我下载的版本是: 安装xen-devel还依赖其他的包,如下: xen-libs-4.1.2_03-1.1.x86_64.rpm liblzma5-5.0.3-7.1.x86_64.rpm glibc-common-2.14.90-14.x86_64.rpm glibc-2.14.90-14.x86_64.rpm 强制安装如上的包。 如果缺少依赖包,依次去下载对应版本,解决问题。这个过程很蛋疼。 如果所有的依赖包都安装上后,接着下面的操作: [root@gb31 SPECS]# rpmbuild -bb libvirt.specAfter a while you'll see: Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-0.8.-.el6.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-client-0.8.-.el6.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-devel-0.8.-.el6.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-python-0.8.-.el6.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-debuginfo-0.8.-.el6.x86_64.rpm 如果有如上的显示则安装成功。
如果遇到屏幕显示test 。。 一直卡住之后,卸载掉系统中已经安装的libvirt包,再重新尝试,即可。 如果还显示存在test失败,make失败,与libvirt版本相关,这个问题很蛋疼,多试下几个版本吧。就可以解决。 [root@el6 ~]# cd /root/rpmbuild/RPMS/x86_64/[root@el6 x86_64]# rpm -Uvh --force libvirt-0.8.-.el6.x86_64.rpm libvirt-client-0.8.-.el6.x86_64.rpm libvirt-python-0.8.-.el6.x86_64.rpm Preparing... ########################################### [%] :libvirt-client ########################################### [ %] :libvirt ########################################### [ %] :libvirt-python ########################################### [%] 9.进入xen系统 重启系统,进入xen系统。 尝试输入如下命令:xm-list ,xm-info 再接着尝试如下命令:virt-install,尝试着安装虚拟机 如果显示的错误如下: ERROR unable to connect to ‘localhost:′: Connection refused则需要去做如下修改: 解决方案:查看libvirtd服务是否启动,关闭防火墙,在/etc/xen/xend-config.sxp(xend-http-server yes) # Port xend should use for the HTTP interface, if xend-http-server is set. (xend-port ) 去掉上面两个括弧的注释,ok 再重新启动xend服务
至此,可以尝试在桌面上气筒virtual machine manager 去创建虚拟机。
可以系统路劲的问题,在usr/lib/xen/bin下找到qemu-dm放到lib64下对应的路径。 就ok。 10.配置网桥桥接模式 修改ifcfg-eth0如下: DEVICE="eth0"BOOTPROTO="static" HWADDR="**********“ NM_CONTROLLED="no" ONBOOT="yes" IPADDR="*******” NETMASK="255.255.0.0" GATEWAY="********" TYPE=Ethernet DNS1="8.8.8.8" DNS2="8.8.4.4" BRIDGE=br100 创建ifcfg-br100文件,内容如下: DEVICE="br100"BOOTPROTO="static" HWADDR="*********" NM_CONTROLLED="no" ONBOOT="yes" IPADDR="*******" NETMASK="255.255.0.0" GATEWAY="*******" TYPE=Bridge DEFROUTE=yes DNS1="8.8.8.8" DNS2="8.8.4.4" 11.ok,至此,xen的安装结束了,可以放心大胆的创建虚拟机了。 (责任编辑:IT) |