• CentOS6 安装 Xen 4.1.2


    个人网站:臭蛋 www.choudan.net

    这里没有陌路,你从不孤独-韩寒

    系统:CentOS6.0  安装的Xen版本:4.1.2

    在centos下安装xen不是很顺利,遇到很多问题。安装过程主要参考了以下两个文档:

    http://wiki.xen.org/xenwiki/RHEL6Xen4Tutorial?action=fullsearch&value=linkto%3A%22RHEL6Xen4Tutorial%22&context=180

    这个方法可以正常安装xen,并指出RedHat 6 下安装xen 会遇到的问题,只是安装过程复杂,不是源码安装。

    http://www.cnblogs.com/feisky/archive/2012/04/10/2441307.html

    这个是xen的源码编译安装,也是centos下,安装xen 4.1.2,但是经过实践,这样安装出来存在一些问题,很意外的。解决起来很头痛。

    在上面这个方法上,具体的描述我的安装过程。

    系统和安装的xen版本上面有介绍,开始着手安装xen了。

    1.下载Xen的源码

    1 wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz

    2.安装必备软件包

    1 yum groupinstall "Development Libraries"
    2 yum groupinstall "Development Tools"
    3 yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel
    4 bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-devel
    5 yum -y install glibc-devel.i686texinfo libuuid-devel iasl python-lxml
    6 yum -y install openssl openssl-devel
    7 yum -y install ncurses ncurses-*
    8 yum -y install python-devel

    3.编译安装Xen hypervisor

    1 tar zxvf xen-4.1.2.tar.gz
    2 cd xen-4.1.2
    3 make world

    在此可能会遇到如下问题:

    解决办法:yum –y install texinfo

    1 make install

    4.将Xen加入到启动脚本:

    1 /sbin/chkconfig --add xend
    2 /sbin/chkconfig --add xencommons
    3 /sbin/chkconfig --add xendomains
    4 /sbin/chkconfig xend on
    5 /sbin/chkconfig xendomains on
    6 /sbin/chkconfig xencommons on

    5.编译安装Linux3.1.2内核

     1 wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2
     2 tar -jxvf linux-3.1.3.tar.bz2
     3 make menuconfig
     4 
     5 Processor type and features --- >
     6      选中Paravirtualized Guest Support
     7   Device Drivers ---> 
     8       Xen driver support ---> 
     9         全部选*
    10 
    11 修改:CONFIG_XEN_DEV_EVTCHN=y(如果是m,开机时无法启动xencommons)

     注意:仅仅上面的是不够的,还需要修改:否则在创建虚拟机的过程中遇到这样的问题:

    注意:Device 0 (vif) could not be connected. HotPlug scripts not working.

    在.config文件中做如下修改,就可以解决问题了

    1 CONFIG_XEN_BLKDEV_BACKEND=m
    2 CONFIG_XEN_NETDEV_BACKEND=m

    接下来开始编译安装了:

    1 make
    2 make modules
    3 make modules_install
    4 make install 
    5 depmod 3.1.2
    6 mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initramfs-3.1.2.img 3.1.2

    6.配置grub:

    1 title Xen (3.1.2-xen)
    2         root (hd0,0)
    3         kernel /xen-4.1.2.gz dom0_mem=512M
    4         module /vmlinuz-3.1.2 ro root=UUID=3f920108-b74b-46b9-81c2-aff834494381  
    5 rd_DM_UUID=ddf1_4c5349202020202010000055000000004711471100001450 rd_NO_LUKS rd_NO_LVM rd_NO_MD LANG=en_US.UTF-8  
    6 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
    7         module /initramfs-3.1.2.img

    这个配置在第4行后面root=UUID随自己的系统

    7.安装virt-manager

    1 yum install libvirt virt-manager xorg-x11-xauth

     8. 重新编译libvirt

      在文章前面第一个链接中,说明了,redhat6系统中,默认的libvirt是不支持xen的,如果直接使用默认的这会出现如下的问题:

      注意virt-manager & 这个命令中的'&' 代表该进程后台运行

     1 [root@el6 ~]# virt-manager &
     2 [1] 2867
     3 Unable to open connection to hypervisor URI 'xen:///':
     4 no connection driver available for xen:///
     5 Traceback (most recent call last):
     6   File "/usr/share/virt-manager/virtManager/connection.py", line 992, in _try_open
     7     None], flags)
     8   File "/usr/lib64/python2.6/site-packages/libvirt.py", line 111, in openAuth
     9     if ret is None:raise libvirtError('virConnectOpenAuth() failed')
    10 libvirtError: no connection driver available for xen:///

     开始重新编译libvirt解决以上的问题。

    以下的操作都在非xen系统中进行:

    没个系统遇到的缺的包不一样,我的系统中还缺失xen-devel包,并且在yum

     1 [root@el6 ~]# cd /root/src
     2 [root@el6 src]# wget ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/libvirt-0.8.1-27.el6.src.rpm
     3 [root@el6 src]# rpm -i libvirt-0.8.1-27.el6.src.rpm
     4 [root@el6 src]# wget http://pasik.reaktio.net/xen/patches/libvirt-spec-rhel6-enable-xen.patch
     5 [root@el6 src]# cd /root/rpmbuild/SPECS
     6 [root@el6 SPECS]# cp -a libvirt.spec libvirt.spec.orig
     7 [root@el6 SPECS]# patch -p0 < ~/src/libvirt-spec-rhel6-enable-xen.patch
     8 patching file libvirt.spec
     9 
    10 [root@el6 SPECS]# rpmbuild -bb libvirt.spec
    11 error: Failed build dependencies:
    12         libnl-devel >= 1.1 is needed by libvirt-0.8.1-27.el6.x86_64
    13         xhtml1-dtds is needed by libvirt-0.8.1-27.el6.x86_64
    14         libudev-devel >= 145 is needed by libvirt-0.8.1-27.el6.x86_64
    15         libpciaccess-devel >= 0.10.9 is needed by libvirt-0.8.1-27.el6.x86_64
    16         yajl-devel is needed by libvirt-0.8.1-27.el6.x86_64
    17         libpcap-devel is needed by libvirt-0.8.1-27.el6.x86_64
    18         avahi-devel is needed by libvirt-0.8.1-27.el6.x86_64
    19         parted-devel is needed by libvirt-0.8.1-27.el6.x86_64
    20         device-mapper-devel is needed by libvirt-0.8.1-27.el6.x86_64
    21         numactl-devel is needed by libvirt-0.8.1-27.el6.x86_64
    22         netcf-devel >= 0.1.4 is needed by libvirt-0.8.1-27.el6.x86_64
    23  [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,找到符合系统版本的

    1 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

    强制安装如上的包。

    如果缺少依赖包,依次去下载对应版本,解决问题。这个过程很蛋疼。

    如果所有的依赖包都安装上后,接着下面的操作:

    1 [root@gb31 SPECS]# rpmbuild -bb libvirt.spec
    2 After a while you'll see: 
    3 Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-0.8.1-27.el6.x86_64.rpm
    4 Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-client-0.8.1-27.el6.x86_64.rpm
    5 Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-devel-0.8.1-27.el6.x86_64.rpm
    6 Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-python-0.8.1-27.el6.x86_64.rpm
    7 Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-debuginfo-0.8.1-27.el6.x86_64.rpm

    如果有如上的显示则安装成功。

    如果遇到屏幕显示test 。。 一直卡住之后,卸载掉系统中已经安装的libvirt包,再重新尝试,即可。
    接着如下:注意,可能版本不一样

    如果还显示存在test失败,make失败,与libvirt版本相关,这个问题很蛋疼,多试下几个版本吧。就可以解决。

    1 [root@el6 ~]# cd /root/rpmbuild/RPMS/x86_64/
    2 [root@el6 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
    3 Preparing...                ########################################### [100%]
    4    1:libvirt-client         ########################################### [ 33%]
    5    2:libvirt                ########################################### [ 67%]
    6    3:libvirt-python         ########################################### [100%]

    9.进入xen系统

    重启系统,进入xen系统。

    尝试输入如下命令:xm-list ,xm-info

    再接着尝试如下命令:virt-install,尝试着安装虚拟机

    如果显示的错误如下:

    1 ERROR unable to connect to ‘localhost:8000′: Connection refused

    则需要去做如下修改:

    1 解决方案:查看libvirtd服务是否启动,关闭防火墙,在/etc/xen/xend-config.sxp 
    2 (xend-http-server yes)
    3 # Port xend should use for the HTTP interface, if xend-http-server is set.
    4 (xend-port 8000)
    5 去掉上面两个括弧的注释,ok

    再重新启动xend服务

    1 service xend restart

    至此,可以尝试在桌面上气筒virtual machine manager 去创建虚拟机。
    创建过程如果如下问题:

    可以系统路劲的问题,在usr/lib/xen/bin下找到qemu-dm放到lib64下对应的路径。

    就ok。

    10.配置网桥桥接模式

    修改ifcfg-eth0如下:

     1 DEVICE="eth0"
     2 BOOTPROTO="static"
     3 HWADDR="**********“
     4 NM_CONTROLLED="no"
     5 ONBOOT="yes"
     6 IPADDR="*******”
     7 NETMASK="255.255.0.0"
     8 GATEWAY="********"
     9 TYPE=Ethernet
    10 DNS1="8.8.8.8"
    11 DNS2="8.8.4.4"
    12 BRIDGE=br100

    创建ifcfg-br100文件,内容如下:

     1 DEVICE="br100"
     2 BOOTPROTO="static"
     3 HWADDR="*********"
     4 NM_CONTROLLED="no"
     5 ONBOOT="yes"
     6 IPADDR="*******"
     7 NETMASK="255.255.0.0"
     8 GATEWAY="*******"
     9 TYPE=Bridge
    10 DEFROUTE=yes
    11 DNS1="8.8.8.8"
    12 DNS2="8.8.4.4"

    11.ok,至此,xen的安装结束了,可以放心大胆的创建虚拟机了。

  • 相关阅读:
    AfxMessageBox详细使用说明
    动态规划: 求一个一维整数数组的最大子序列和
    常见HTTP状态码
    PHP 基础系列(三) 【转】PHP 函数实现原理及性能分析
    empty() isset() isnull() 比较
    isset() 与 array_key_exists() 比较
    PHP基础系列(二) PHP数组相关的函数分类整理
    PHP基础系列(一) PHP字符串相关的函数分类整理
    linux df 命令
    grep 同时满足多个关键字和满足任意关键字
  • 原文地址:https://www.cnblogs.com/liuan/p/2548558.html
Copyright © 2020-2023  润新知