东北人的gravatar头像
东北人 2017-11-16 13:50:05
虚拟机CentOS7搭建xen环境

一、vmware workstation 12 创建centos7虚拟机并将网络设置为桥连。

二、更换yum源
   1.步骤:
    [1] 首先备份/etc/yum.repos.d/CentOS-Base.repo

      #mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup  

    [2] 进入yum源配置文件所在文件夹

      #cd /etc/yum.repos.d/  

    [3] 下载163或者阿里云的yum源配置文件,放入/etc/yum.repos.d/(操作前请做好相应备份) 

      centos5:

        #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS5-Base-163.repo  

      centos6:

        #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo  

      centos7:

        #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo  

    [4] 运行yum makecache生成缓存

      #yum makecache

三、安装Xen搭建虚拟化环境
   1.安装xen

    [1]下载安装xen源

      #yum -y install centos-release-xen

    [2]添加xen的源

      #sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-Xen.repo

    [3]更新centos内核

      #yum --enablerepo=centos-virt-xen -y update kernel

    [4]安装xen

      #yum --enablerepo=centos-virt-xen -y install xen

    [5]编辑Domain0的配置文件,如同下面code,我配置Domain0的内存是4Gb,如果你安装xen的虚拟机或实体机的内存也为4Gb的话,当安装完xen后重启进入不了系统,注意:虚拟机或实体机的内存一定要大于Domain0设置的内存。

      #vi /etc/default/grub

      GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=4096M,max:4096M cpuinfo com1=115200,8n1 .....

    [6]我使用Libvirt装的虚拟机,安装Libvirt

      #yum --enablerepo=centos-virt-xen -y install libvirt libvirt-daemon-xen virt-install virt-manager

    [7]运行grub-bootxen.sh脚本,将xen添加到开机启动项中

      #/bin/grub-bootxen.sh

    [8]重启进入xen系统

      #reboot

    [9]查看xen的信息,检查是否安装成功

      #xl info

虚拟机CentOS7搭建xen环境

   2.配置网桥

    [1]添加网桥“br0”,添加成功会提示successfully added。

      #nmcli c add type bridge autoconnect yes con-name br0 ifname br0

       Connection 'br0' (0f4b7bc8-8c7a-461a-bff1-d516b941a6ec) successfully added.

    [2]为“br0”创建ip地址

      #nmcli c modify br0 ipv4.addresses 192.168.19.196/24 ipv4.method manual

    [3]为“br0”创建网关(此处网关设置与主机的网关相同,避免主机与虚拟机之间ping不通等问题)

      #nmcli c modify br0 ipv4.gateway 192.168.19.1 

    [4]为“br0”创建DNS

      #nmcli c modify br0 ipv4.dns 8.8.8.8

    [5]删除原有网卡,添加新的网卡与br0连通

      #nmcli c delete eno16777736
      #nmcli c add type bridge-slave autoconnect yes con-name eno16777736 ifname eno16777736 master br0

    [6]重启NetworkManager服务

      #systemctl stop NetworkManager; systemctl start NetworkManager

    [7]查看ip信息
      #ip addr

虚拟机CentOS7搭建xen环境

   3.virt-install命令创建虚拟机

    [1]启动Libvirt服务
      #systemctl start libvirtd
      #systemctl enable libvirtd

    [2]安装系统安装镜像,实体机的话可以挂载安装,找到挂载目录就行。

    创建虚拟机镜像目录

      #mkdir -p /var/xen/images

    [3]将CentOS7.iso 文件上传到home/iso 目录下

      通过sftp等。

    [4]安装Apache并且挂载(CentOS7.iso)ISO镜像文件

      # yum -y install httpd
      # service httpd start
      # chkconfig httpd on
      # cd /var/www/html/
      # mkdir iso
      # mount -o loop /home/iso/CentOS7.iso /var/www/html/iso/

    [5]开始安装虚拟机,需要注意的是size大小,不要弄太大,要小于机身存储减去Domain0的存储后的存储,否则会报错,提示存储空间不够。

      #virt-install --connect xen:/// --paravirt --name centos7 --ram 4096 --disk path=/var/xen/images/centos7.img,size=10 --vcpus 2 --os-type linux --os-variant rhel7 --network bridge=br0 --graphics none --location 'http://localhost/iso' --extra-args 'text console=com1 utf8 console=hvc0'

   4.xl命令创建虚拟机(xen4.1中引入,xen4.5以后只有xl没有xm/xend)

    [1]创建虚拟磁盘映像文件

      # mkdir  /xen
      # cd /xen
      # dd if=/dev/zero of=centos.img oflag=direct seek=102399 bs=1M count=1

    [2]用sftp插件将CentOS-6.5-x86_64-minimal.iso 文件上传到xen 的/source 目录下

    [3]安装Apache并且挂载(CentOS-6.5-x86_64-minimal.iso)ISO镜像文件

      # yum -y install httpd
      # service httpd start
      # chkconfig httpd on
      # cd /var/www/html/
      # mkdir iso
      # mount -o loop /xen/source/CentOS-6.5-x86_64-minimal.iso /var/www/html/iso/

    [4]为虚拟机提供内核和内核模块文件

      # cp /var/www/html/iso/isolinux/{vmlinuz,initrd.img} /xen/source

    [5]修改xlexample.pvlinux文件

      # cd /etc/xen
      # vim xlexample.pvlinux
            name = "centos"
            kernel = "/source/vmlinuz"
            ramdisk = "/source/initrd.img"
            memory = 850
            vcpus = 1
            vif = [ 'bridge=br0' ]
            disk = [ 'file:/xen/centos.img,xvda,w' ]
            on_reboot = "destroy"

    [6]创建虚拟机

      # xl create -c xlexample.pvlinux

    [7]重启虚拟机

    在重启之前需要先修改配置文件xlexample.pvlinux

      # vim /etc/xen/xlexample.pvlinux
            name = "centos"
            #kernel = "/source/vmlinuz"
            #ramdisk = "/source/initrd.img"
            bootloader = "/usr/bin/pygrub"
            memory = 850
            vcpus = 1
            vif = [ 'bridge=br0' ]
            disk = [ 'file:/xen/centos.img,xvda,w' ]

    重启虚拟机

      # xl reboot 3 (centos 的ID)

   5.virt-manager创建虚拟机

     [1]创建xen虚拟机

虚拟机CentOS7搭建xen环境

    [2]选择xen类型全虚拟化或半虚拟化,这里我选择全虚拟化。点击Forward进入下一个页面

虚拟机CentOS7搭建xen环境

    [3]选择镜像文件。点击Forward进入下一个页面

虚拟机CentOS7搭建xen环境

    [4]设置内存大小和cpu个数(注:内存不能大于等于Domain0的内存,cpu个数不能大于Domain0的cpu个数,否则无法安装成功

虚拟机CentOS7搭建xen环境

    [5]创建存储卷,可自动也可自己创建。

虚拟机CentOS7搭建xen环境

    [6]选择网络。点击Finish完成进入安装页面安装。

虚拟机CentOS7搭建xen环境

    ok安装完成。

四、曾遇到的问题

   1.创建虚拟机时提示"ERROR (cli:306) internal error: libxenlight failed to create new domain 'XXX'"或在/var/log/xen/qemu-dm-XXX.log文件中出现"/usr/lib64/xen/bin/qemu-system-i386: symbol lookup error: /usr/lib64/xen/bin/qemu-system-i386: undefined symbol: libusb_free_ss_endpoint_companion_descriptor"

      这个是我安装时报的错。

      解决方案:
      # yum update qemu-img

     设置虚拟机的内存大于等于Domain0的内存或cpu个数大于Domain0的cpu个数,也可能造成这个问题。具体问题具体分析。

  2.如果打开virt-managr出现如图下图情况

虚拟机CentOS7搭建xen环境

临时解决方法为:

#LANG="en_US.UTF-8"

重新打开virt-manager问题解决。

若想彻底解决这个问题修改你的系统语言文件重启系统。


打赏

已有1人打赏

最代码官方的gravatar头像
最近浏览
interface  LV22 2021年10月29日
学不好运维的bc 2020年12月23日
暂无贡献等级
xiuren  LV1 2020年9月3日
Glovethird 2020年2月20日
暂无贡献等级
lyd17_  LV1 2019年9月22日
huleibiggg 2019年8月23日
暂无贡献等级
zhuangjing  LV2 2018年8月2日
yxq330521  LV11 2018年3月2日
tuyong  LV7 2017年12月11日
低调人  LV38 2017年12月9日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友