在 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