一、Xen虚拟化原理详解

    查看Xen原理详解请点击

二、RHEL系统版本和Xen的关系

rhel 5.3: xen

rhel 5.4: xen, kvm

rhel 6.0: xen-, kvm

rhel6.0+ 只支持运行为DomU中的系统

Linux: 2.6.24+: 收录进来了将Linux运行Xen DomU中的代码;

Linux: 2.6.37+: 收录进来了将Linux运行Xen Dom0中的代码;

Linux: 3.0+: 收录进来对Xen优化种的各种驱动;

三、Xen的安装

1、主机环境准备

    为了不影响Xen的正常运行,防火墙和SELinux我们提前关闭。

2、yum源的准备 

    因为RHEL 6.x系统自带的软件包取消了对Xen的支持,所以我们使用CentOS官方专门编译的Xen软件包进行安装。

[root@node1 ~]          # cat /etc/yum.repos.d/xen4.repo          
          [Xen4]         
          name=Xen4 Project         
          baseurl=http:          //mirrors          .          /centos/6/xen4/x86_64/         
          gpgcheck=0         
          enabled=1         
          cost=500

3、Xen的安装

[root@node1 ~]# yum install xen

centos 开启cpu虚拟化_centos 开启cpu虚拟化

4、配置grub

[root@node1 ~]          # cat /boot/grub/menu.lst             
          # 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/mapper/vg_node1-lv_root         
          #          initrd /initrd-[generic-]version.img         
          #boot=/dev/sda         
          default=0         
          timeout=5         
          splashimage=(hd0,0)          /grub/splash          .xpm.gz         
          hiddenmenu         
          title CentOS (3.18.21-16.el6.x86_64)         
                    root (hd0,0)         
                    kernel           /xen          .gz dom0_mem=512M cpufreq=xen dom0_max_vcpus=1 dom0_vcpus_pin         
                    module           /vmlinuz-3          .18.21-16.el6.x86_64 ro root=          /dev/mapper/vg_node1-lv_root           rd_NO_LUKS rd_LVM_LV=vg_node1          /lv_swap           rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=vg_node1          /lv_root            KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet         
                    module           /initramfs-3          .18.21-16.el6.x86_64.img         
          title CentOS (2.6.32-431.el6.x86_64)         
                    root (hd0,0)         
                    kernel           /vmlinuz-2          .6.32-431.el6.x86_64 ro root=          /dev/mapper/vg_node1-lv_root           rd_NO_LUKS rd_LVM_LV=vg_node1          /lv_swap           rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=vg_node1          /lv_root            KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet         
                    initrd           /initramfs-2          .6.32-431.el6.x86_64.img


四、Xen的检验

1、重启系统查看

    在进行以上配置完毕之后,我们重启系统,在终端查看Xen的加载过程。

centos 开启cpu虚拟化_操作系统_02

2、工具栈xl查看Dom0

    因为工具栈zend/xm即将被废弃,我们这里不再使用这个命令进行操作,xl的功能和xm的功能差不多,并且不像xm需要开启xend服务,可以直接使用。

[root@node1 ~]          # xl help    #查看命令使用帮助         
          Usage xl [-vfN] <subcommand> [args]         
          xl full list of subcommands:         
                    create              Create a domain from config           file           <filename>         
                    config-update       Update a running domain's saved configuration, used when rebuilding the domain after reboot         
                    list                List information about all          /some           domains         
                    destroy             Terminate a domain immediately         
                    …… ……


[root@node1 ~]          # xl list           #查看虚拟机列表         
          Name                                        ID   Mem VCPUs      State   Time(s)         
          Domain-0                                     0   512     1     r-----      40.4


    看到以上信息,差不多证明我们的Xen已经安装成功了,下面我们就会进行虚拟机的安装演示。

五、虚拟机的创建

    我们这里使用一个由红帽联合开发的通用工具栈libvirt,他可以管理Xen、KVM、QEMU等虚拟机

centos 开启cpu虚拟化_操作系统_03

1、安装需要的软件

    virt-manager是一个图形管理工具,他依赖libvirt,和VMware Workstation的图形管理差不多

yum           install           virt-manager libvirt -y


2、安装图形库或桌面环境

    我不喜欢安装不需要的组件,这个可能是我的一个洁癖吧,不需要的软件包我就是不想安装,如果大家没有这个洁癖,你们可以直接安装桌面环境(yum groupinstall "Desktop"),肯定没有问题,如果是最小化安装的系统,可能需要下载很多很多软件包,我这里是按照自己寻找的方法安装的,有的时候可能需要退出一下终端才可以生效,我用的是Xshell工具进行操作的,我的经验告诉我安装下面的软件包之后一定要重启一下系统

yum           install           xorg-x11-xauth                 #安装图像界面         
          yum           install           jomolhari-fonts                #安装图像界面字体,也可以直接yum groupinstall Fonts


 3、虚拟机的创建与安装

    首先我们应该准备安装镜像源,因为是半虚拟化,只允许网络安装,我这里没有自己专门制作镜像源,使用的是网易的镜像源“http://mirrors./centos/5/os/x86_64/”。  

    在打开图形界面之前我们首先启动libvirtd服务。

[root@node1 ~]          # service libvirtd start


    这时会生成一个网桥virbr0,如下:

centos 开启cpu虚拟化_python_04

virt-manager &启动图形界面,图形界面如下:

centos 开启cpu虚拟化_Xen_05

centos 开启cpu虚拟化_运维_06

centos 开启cpu虚拟化_centos 开启cpu虚拟化_07

centos 开启cpu虚拟化_操作系统_08

centos 开启cpu虚拟化_python_09

centos 开启cpu虚拟化_操作系统_10

centos 开启cpu虚拟化_centos 开启cpu虚拟化_11

centos 开启cpu虚拟化_运维_12

centos 开启cpu虚拟化_运维_13

centos 开启cpu虚拟化_centos 开启cpu虚拟化_14

centos 开启cpu虚拟化_运维_15

4、命令行模式安装

    以上是图形界面的安装,比较方便,有的时候在没有图像界面安装的时候我们就需要命令行模式安装,命令行模式的安装也很方便,可以使用命令“virt-install”,在使用这个命令的时候我们也可以把图形界面调出来,需要安装“yum install virt-viewer”。

    首先我们先建立安装的镜像存储文件。

[root@node1 ~]          # qemu-img create -f qcow2 -o size=10G,preallocation=metadata centos6.qcow2


    然后进行安装操作,可以使用“virt-install -h”查看使用帮助,这里不再介绍参数信息。

virt-          install           -n centos7 -r 1024 --vcpus 1 -l http:          //mirrors          .          /centos/6/os/x86_64/           --disk centos6.qcow2 --graphics none --force


centos 开启cpu虚拟化_python_16

出现的问题

    因为我的所有操作都是在虚拟机上面进行操作了,没有开启硬件虚拟化,每次在创建开启虚拟机的时候到中通就会机器卡死,目前我也不知道是什么原因造成的。

   本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/1730555,如需转载请自行联系原作者