在 CentOS 6.5 上安装和配置 Xen

长假回来工作的第一周有点不适应,还在找状态。。。这周把一些老的 Xen 服务器(CentOS 5.2 + Xen 3.1)升级到了 CentOS 6.5 + Xen 4.2,顺便记录一下。

自从 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 官方 Xen 源(Xen4CentOS6)并安装 Xen 内核及相关工具。需要注意的是,采用 CentOS-6.5-x86_64-minimal.iso 最小化安装的系统没有包括 Perl,Xen 工具需要 Perl 的支持,所以需要安装 perl 先:

# yum update
# reboot

# yum install centos-release-xen
# yum update

# yum install perl
# yum install xen

安装完支持 Xen 的 Linux 内核后需要加新条目到 grub.conf,以便系统能默认启动带 Xen 的 Linux 内核(而不是常规 Linux 内核),这个操作可以通过 grub-bootxen.sh 自动完成,弄完后打开 grub.conf 文件再次确认一下:

# /usr/bin/grub-bootxen.sh

# vi /etc/grub.conf
...
title CentOS (3.10.25-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.25-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_node11-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_node11/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rd_LVM_LV=vg_node11/lv_root rhgb quiet
        module /initramfs-3.10.25-11.el6.centos.alt.x86_64.img
...

重启系统后,默认应该进入 Xen 内核,可以通过 uname -r 和 xm info 确认是否安装成功:

# reboot

# uname -r
3.10.25-11.el6.centos.alt.x86_64

# xm info
host                   : xen01.vpsee.com
release                : 3.10.25-11.el6.centos.alt.x86_64
version                : #1 SMP Fri Dec 27 21:44:15 UTC 2013
machine                : x86_64
nr_cpus                : 8
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 2393
hw_caps                : 1febfbff:28100800:00000000:00003f40:80982201:00000000:00000001:00000000
virt_caps              :
total_memory           : 8191
free_memory            : 7073
free_cpus              : 0
xen_major              : 4
xen_minor              : 2
xen_extra              : .3-26.el6
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p
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-3)
cc_compile_by          : mockbuild
cc_compile_domain      : centos.org
cc_compile_date        : Tue Dec 10 20:32:58 UTC 2013
xend_config_format     : 4

资源

CentOS 5.x 版本可以参看:在 CentOS 5.x 上安装和配置 Xen
Ubuntu 版本可以参看:在 Ubuntu 上安装和配置 Xen
Debian 版本参看:在 Debian 上安装和配置 Xen
OpenSolaris 版本参看:在 OpenSolaris 上安装和配置 Xen
NetBSD 版本参看:在 NetBSD 上安装和配置 Xen.

评论 (19 Comments)

  1. 能说下你的服务器都是租用美国哪家机房和哪家公司的呢?

  2. 之前按照Xen4Centos6的方法安装后的内核版本为3.4,但是官方说明中,3.4的内核不支持EFI,请问下博主现在升到3.10后,是否支持EFI了?现在官方的说明还是针对3.4的内核。

  3. 不清楚 EFI 的情况,没有试过,不过据说 kernel 3.10 以后的内核有支持 EFI 的选项。

  4. 博主,我按照你的步骤在CentOS-6.5-x86_64-minimal上安装xen,但安装完重启后就进不了系统了,一直在循环重启,请问你碰到过这种情况吗?我是在VirtualBox里装的

  5. 已经装好系统
    分区如下
    /boot 1 GB
    / 80 GB
    swap 4 GB

    剩余还有900多g空间没有指定分区,请问要怎么利用这900多g来创建lvm分区呢?
    谢谢

  6. 我也是一直在循环重启

  7. 博主,我按照你的步骤在CentOS-6.5-x86_64-minimal上安装xen,但安装完重启后就进不了系统了,一直在循环重启,请问你碰到过这种情况吗?我是在VMware 10.0.1里装的

  8. @geter513
    在 VMware 上装 CentOS + Xen 可能会有问题,涉及到 VMware 配置,CentOS 带的 Xen 内核和工具,CPU 支持等问题,查起来不方便,建议用物理机器安装 CentOS + Xen.

  9. 非常感谢您的文章
    vpsee 你始终走在技术的前沿

  10. 不知道vpsee有没有试过这种方式:2层qcow2作为启动盘,我实验的时候发现,level1 qcow2 盘可以正常启动,但level2 qcow2 盘启动出现 “no bootable device”错误,通过分析,我基本排除了qemu-img的问题,怀疑是 xen4centos6 的问题,因为在 xen4.1.2 + centos6.2 上没有这个问题

  11. 类似这种:http://www.gossamer-threads.com/lists/xen/users/234572

  12. 谢谢您的分享。我尝试过程中遇到个问题,希望你能帮我。
    就是在安装完xen之后,执行grub-bootxen.sh的时候居然提示我expr:语法错误。我不知道是哪里出了问题,只好向您请教了

  13. 你们不会都是在命令行下管理xen的吧?有没有什么图形化的管理工具呢?

  14. 单机 Xen 可以用 virt-manager 之类的虚拟机图形管理器,多机也可以用 virt-manager 连接管理。如果服务器数量再多比如上百台 Xen 最好用 OpenStack, OpenNebula 之类的云管理工具。

  15. Xen 4.2下 多了很多netback/x x等于vm的数字 测试的话,硬盘IO就下降很多,请问您有遇到过吗?

  16. vpsee 你好,请教下
    6.5下安装不用 yum install kernel-xen吗
    安装完重启 系统卡在启动界面 最后一步
    就是最下面有一道白条条,如果把xen到内核删了 直接用更新的内核 可以开机启动
    请问下这是怎么回事呢 按什么键盘都没有反应

  17. 循环重启 可以尝试减少grub.conf里内存参数的大小

  18. 循环重启的检查一下grub.conf里的Xen的那一堆是不是少了
    module /initramfs-3.xx.xx.xx.el6.x86_64.img

  19. CentOS 6.5 + Xen 4.2这个组合稳定吗?

发表评论