一、Xen虚拟化原理详解
查看Xen原理详解请点击
二、RHEL系统版本和Xen的关系
rhel 5.3: xen
kernel-xen, xen
kernel
rhel 5.4: xen, kvm
kernel-xen, xen = vmm
kernel, kvm = vmm
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.163.com/centos/6/xen4/x86_64/ gpgcheck=0 enabled=1 cost=500
3、Xen的安装
[root@node1 ~]# yum install xen
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的加载过程。
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等虚拟机
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.163.com/centos/5/os/x86_64/”。
在打开图形界面之前我们首先启动libvirtd服务。
[root@node1 ~]# service libvirtd start
这时会生成一个网桥virbr0,如下:
接下来我们在Xshell里面输入virt-manager &启动图形界面,图形界面如下:
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.163.com/centos/6/os/x86_64/ --disk centos6.qcow2 --graphics none --force
出现的问题
因为我的所有操作都是在虚拟机上面进行操作了,没有开启硬件虚拟化,每次在创建开启虚拟机的时候到中通就会机器卡死,目前我也不知道是什么原因造成的。