PS:自从 RedHat 在 RHEL 6 放弃 Xen 后,下载 Xen 源码编译安装似乎是在 RHEL/CentOS 6.x 上安装 Xen 的唯一办法.不过,开源世界永远不缺少热情的志愿者,Xen Made Easy这个项目为我们提供了可用的 Xen 第三方软件源,免去了自己编译源码的痛苦.现在,我们有了更好的官方选择,就是Xen4CentOS6. Xen4CentOS6 是来自 CentOS, Xen, Citrix, Godaddy, Rackspace 社区和相关团队合作开发的一个开源项目,旨在为 CentOS 6.x 维护一个稳定的 Xen 工具链(Xen hypervisor 和相关 Xen 工具),让 Xen 运行在 CentOS 6 上变得更容易,更可靠
-
作业环境
#服务器端: #操作系统:CentOS-6.5-x86_64-minimal
-
虚拟化检查
安装xen前需要检查CPU是否支持虚拟化,虚拟化又分全虚拟化和半虚拟化
#半虚拟检查:结果大于0表示支持 [root@local ~]# cat /proc/cpuinfo | grep flags | grep pae | wc -l; #全虚拟化检查:结果大于0表示支持 #其中vmx是intel cpu 标志,svm是amd cpu 标志 [root@local ~]# cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l;
xen对两种虚拟化的支持主要体现在:
半虚拟化:支持NetBSD, GNU/Linux, FreeBSD等系统安装
全虚拟化:允许对Windows进行虚拟,支持windows系统安装 -
升级系统
安装系统:CentOS-6.5-x86_64-minimal.iso
#安装常用系统软件包 [root@local ~]# yum -y install vim wget gcc make crontabs mlocate ntp lrzsz gcc-c++ autoconf setuptool ntsysv iptables system-config-securitylevel-tui system-config-network-tui sysstat dstat screen; #升级重启 [root@local ~]# yum update; [root@local ~]# reboot; #安装Xen支持库perl [root@local ~]# yum -y install perl;
提示:Xen4CentOS6项目组是从centos6.4开始维护xen的,所以提醒大家centos最好在6.4以上
-
安装Xen
此安装过程整体参考Xen4 CentOS6 QuickStart。
#centos-release-xen 组件用来启用及关联 Xen-4.2及其相关软件库 [root@local ~]# yum -y install centos-release-xen; #安装xen [root@local ~]# yum -y install xen;
安装完后通过grub-bootxen.sh脚本自动将Xen的Linux内核(而不是常规 Linux 内核)后需要添加新条目到启动grub.conf:
#运行脚本 [root@local ~]# /usr/bin/grub-bootxen.sh [root@local ~]# vim /boot/grub/grub.conf ... default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (3.10.34-11.el6.centos.alt.x86_64) root (hd0,0) kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all module /vmlinuz-3.10.34-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg-root rd_NO_LUKS KEYBO ARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD quiet rd_LVM_LV=vg/swap SYSFONT=latarcyrheb-sun16 rhg b crashkernel=auto rd_LVM_LV=vg/root rd_NO_DM module /initramfs-3.10.34-11.el6.centos.alt.x86_64.img title CentOS (2.6.32-431.11.2.el6.x86_64)
关闭selinux,因为selinux的安全机制导致xen无法正常工作
[root@local ~]# setenforce 0 >> /dev/null 2>&1; [root@local ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config;
禁止netmanager接管网络,因为这个工具不支持网桥管理
[root@local ~]# sed -i 's/NM_CONTROLLED=yes/NM_CONTROLLED=no/g' /etc/sysconfig/network-scripts/ifcfg-eth0; [root@local ~]# service network restart;
重启系统后,默认应该进入 Xen 内核,可以通过 uname -r 和 xm info 确认是否安装成功:
#重启服务器 [root@local ~]# reboot; #当前内核 [root@local ~]# uname -r 3.10.34-11.el6.centos.alt.x86_64 #确认xen安装成功信息 [root@local ~]# xm info host : cnrakzjzt134.com release : 3.10.34-11.el6.centos.alt.x86_64 version : #1 SMP Fri Mar 28 00:57:43 UTC 2014 machine : x86_64 nr_cpus : 8 nr_nodes : 1 cores_per_socket : 4 threads_per_core : 2 cpu_mhz : 3300 hw_caps : bfebfbff:28100800:00000000:00007f40:77bae3ff:00000000:00000001:00000281 virt_caps : hvm total_memory : 16356 free_memory : 15148 free_cpus : 0 xen_major : 4 xen_minor : 2 xen_extra : .4-30.el6 xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 xen_scheduler : credit xen_pagesize : 4096 platform_params : virt_start=0xffff800000000000 xen_changeset : unavailable xen_commandline : dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all cc_compiler : gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) cc_compile_by : mockbuild cc_compile_domain : centos.org cc_compile_date : Thu Mar 27 23:03:24 UTC 2014 xend_config_format : 4
xen 安装成功!
-
创建首台虚拟机器
截至此点,你已经可以创建首台虚拟机器,而达致此目的的方法很多。对于新用户来说,如果要寻找最简单的安装途径,我们推荐采用 Libvirt。高级用户普遍会采用 xen 的命令行工具,以手动方式设置网络、存储方案及 xen 的执行环境。
-
采用 Xen 命令行工具,包括 xm 及 xl: /Xen4Cli
-
采用 LibVirt/ Virt-install 及 Virt-Manager 来管理 xen4centos: /Xen4Libvirt
-