wordpress java 开源 nginx Python HTML5 Android linux 微软 Windows Ubuntu mysql shell php Firefox apache google linux命令 程序员 centos

CentOS5 Linux 安装 Xen

一,判断CPU对虚拟化的支持

1,半虚拟化 (Para-virtualization) 硬件需求:

[root@Linux ~]# cat /proc/cpuinfo | grep flags
flags : fpu tsc msr pae mce cx8 ……

列表中出现pae表示支持半虚拟化,可以安装xen

2,全虚拟化 (Fully-virtualization) 硬件需求:

[root@linux ~]# cat /proc/cpuinfo | grep flags
flags : fpu tsc msr pae mce……

对于Intel的CPU,列表中出现vmx表示支持全虚拟化,可以安装xen
对于AMD的CPU,列表中出现svm表示支持全虚拟化,可以安装xen

需要说明的一点儿是,只有fully virtualized的才可以从iso文件、cd-ROM等为虚拟机安装操作系统,且可以安装windows系统,para virtualized只能从ftp/HTTP服务器安装,且不能安装windows系统。

二,安装Xen

安装前建议先把本机的yum源改为网易的源,这样在安装的时候可能快一些。

[root@linux ~]# yum install kernel-xen xen

安装后会在/boot/grub/grub.conf中看到一个支持xen的新内核已经配置好,修改 default 的值默认启动 Xen 内核(default=0表示从第一个内核启动)。

接下来是重启。

[root@linux ~]# uname -r
2.6.18-348.3.1.el5xen  #确定一下是否是xen内核

再检查一下xen是否已经启动

[root@linux ~]# /usr/sbin/xm list
Name               ID Mem(MiB) VCPUs State   time(s)
Domain-0           0      992     2 r-----    147.3
[root@linux ~]# mkdir -p /vm
[root@linux ~]# dd if=/dev/zero of=/vm/vm01.img bs=500M count=10    #创建一个5G的硬盘
[root@linux ~]# virt-install -n vm01 -r 512 --vcpus=1 --nographic -f /vm/vm01.img -p -l http://192.168.202.128/

如果使用VNC安装,可把参数--nographic换成--vnc,且确保系统安装了virt-viewer,桌面分辨率要大于800x600:
virt-install -n vm02 -r 512 --vcpus=1 --vnc -f /vm/vm02.img -p -l http://mirrors.163.com/CentOS/5.9/os/i386/ -x "ip=192.168.86.141 netmask=255.255.255.0 gateway=192.168.86.2"
virt-install时的选项:
# -n :虚拟机名称,配置文件位于/etc/xen下
# -r :分配的内存大小,至少需要256才能夠執行,单位为M
# --vcpus : 分配多少个cpu
# -f :后面接磁盘文件
# --nographics :不使用图形化安装;
# --vnc :使用VNC安装(需先安装virt-viewer)
# -p : 半虚拟化
# -s : 虚拟机的硬盘空间,单位为G
# -l :安装源
# -x :其它选项

然后根据系统提示安装系统,使用文本模式安装,安装过程跟真实机一样,虚拟机的配置文件存放在 /etc/xen 下面。

注意:指定安装源的时候,如果源在本机安装,请使用http://ip的形式访问,不要用http://localhost或者http://127.0.0.1,否则会导致Unable to retrieve http://127.0.0.1/的错误。

/usr/sbin/xend:服务启动脚本,使用python编写
/usr/sbin/xm:管理xen的命令,可用xm help查询用法

常见的管理命令:
xm list - 列出所有虚拟机
xm console - 进入一个虚拟机的控制台,按 ctrl + ] 键切换出来
xm create -c /path/to/config - 启动一个虚拟机,启动后会默认进入此虚拟机的控制台
xm shutdown - 停止一个虚拟机
xm destroy - Stop a virtual machine immediately without shutting it down
xm help - 帮助

另外,我执行xm console vm01的时候,虚拟机的控制台并没有显示出来,此时回车一下就好了。

三,图形化管理xen

如果你的真实机运行在一个图形界面里,也可以图形化操作管理虚拟机,包括创建,安装,启动,关闭都可以。这里要用到一个管理工具,名叫virt-manager。

[root@linux ~]# yum install virt-manager

然后依次点击“Applications”-“System Tools”-“Virtual Machine Manager”,打开Virtual Machine Manager,刚才创建的虚拟机便显示在这里了。

也可以在这个软件里直接创建虚拟机,先选中第一行的真实机,然后右下角的New选项便被激活,接下来就可以创建虚拟机了。

参考资料:

  • http://www.vpsee.com/2009/07/install-xen-on-centos/
  • http://linux.vbird.org/linux_enterprise/xen.PHP
  • http://hi.baidu.com/cwbdde/item/80b32161003cfb92c4d2496d
  • http://kerry.blog.51cto.com/172631/559899/

不建议在CentOS6上安装xen。事实证明,在CentOS6上安装xen是十分蛋痛的行为。据说CentOS6内核不再支持xen,而是支持RedHat自家的KVM虚拟机,我花了一整天时间来尝试,结果遇到了各式各样的错误,最后只得放弃。

CentOS6 编译安装xen时,首先进入tools目录进行./configure,可能会提示No package ‘glib-2.0′ found,解决办法

运行 yum install libgnomeui-devel

延伸阅读

评论