CentOS 6.5 安装 Xen 4.1.2

来源:互联网 发布:淘宝网折叠沙发床单人 编辑:程序博客网 时间:2024/06/05 09:56

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的安装结束了,可以放心大胆的创建虚拟机了。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 支付宝租的手机坏了怎么办 新买的衣服布料扎人怎么办 洗衣服的时候卫生纸沾裤子上怎么办 洗衣服给白衣服染上色了怎么办 不小心喝了游泳池的水怎么办 铁水中硅的含量高了怎么办 视频拍摄单人变双人是怎么办的 四季青进来的货比淘宝还贵怎么办 淘宝还没收货价格买贵了怎么办 在微信上赌博庄跑了怎么办 微信赌博输了10000多怎么办 欠了信用卡说来来家里调查怎么办 没用过的超市购物卡丢了怎么办 体验服抢号成功手机号填错了怎么办 起亚kx3一键启动钥匙没电怎么办 逆战下载的时候显示文件损坏怎么办 移动公司买手机送话费套路怎么办 开通京东白条身份信息被占用怎么办 丰巢快递柜把东西寄丢了怎么办? 圆通快递把我寄的东西弄丢了怎么办 快递把我寄出去的东西弄丢了怎么办 京东被盗刷都是到付怎么办 订机票时护照号错了怎么办 请问网上不小心点了扣话费了怎么办 不小心被中国移动扣了话费怎么办 京东买东西已经付款了说无货怎么办 不小心提交了两次中信信用卡怎么办 淘宝买东西扣了银行卡两次钱怎么办 拼多多同一个订单支付了两次怎么办 京东手机号服务密码忘记了怎么办 京东买的东西转手给别人保修怎么办 改了无线网密码还是上不去网怎么办 买的京东e卡丢了怎么办 已认证未抵扣的发票发生退货怎么办 办的消费卡不给退怎么办 银行卡密码忘了手机号也换了怎么办 公务卡在当当购物的刷卡单怎么办 杭州市网签提示住宅均价异常怎么办 吃鸡账号没有绑定手机就买了怎么办 微信绑定的银行卡密码错误怎么办 淘宝单张券已领取达上限怎么办