CentOS上Xen的快速部署

背景描述

一台托管在外的服务器,环境为CentOS5.5,跑LAMP。由于运行环境和成本控制的考虑,需要同时配置PHP4+Mysql和PHP5+Mysql两种环境。起初计划采用两个apache环境,不同的端口来解决。考虑到目前Xen技术上已经成熟,于是考虑在真实主机上安装ngnix和mysql。通过xen安装两套虚拟环境分别配置不同的Php版本,前端使用ngnix代理的方式实现多个虚拟主机合并到同一个80号的目的。

本文同样适用于Redhat和小白鼠Fedora.

真实主机(主机名:www)上配置Xen

CentOS的Xen还是比较容易设置的
#yum install kernel-xen xen等待安装,安装结束后,修改grub配置,确保主机通过xen内核启动后,重启主机。

主机启动后,首先确认
#uname -r ,内核版本号后面应该跟随一个xen标记,如:2.6.18-194.11.3.el5xen

需要解释的是,由于这台主机的要求网络结构是“一个出口”,即逻辑上虚拟主机的网络拓扑应该是路由方式,而Centos默认Xen的结构是网桥模式,这里需要修改下相应的配置。
/etc/xen/xend-config.sxp文件中
(network-script network-bridge)
(vif-script vif-bridge)
注释掉
(network-script network-route)
(vif-script     vif-route)
去掉注释
重启xen服务使设置生效,/etc/init.d/xend restart

配置虚拟主机

相比之前参考的很多文档,Centos的虚拟主机配置相对比较容易,至少没有那么复杂,因为Centos提供了一个比较方便的工具virt-install

我准备给虚拟主机都安装CentOS5.5,为了方便,我将光盘挂装到了 /mnt并设置了ngnix可以直接通过http://www/方式访问光盘中的文件,如果您之前通过http或者其他方式网络安装过操作系统,这一步应该很好理解。

正题来了:

 virt-install -n CentOSVM1 -r 512 -f /xen/CentOSVM1.img  -l http://www/  –network=network:default -p -s 10 –nographics –vcpus=2

解释:
-n CentOSVM1 设置虚拟服务器名称
-r 512 设置内存大小
-f /xen/CentOSVM1.img  虚拟磁盘文件的保存路径,如果有重名可以使用–force参数强制重建。
-l http://www/ 安装文件的访问方式,支持nfs http ftp smb等多种方式。如果你对你的带宽比较自信,可以使用http://mirrors.163.com/centos/5.5/os/i386/网易的镜像站
–network=network:default 网络连接方式,我选择的是route中的default
-p 我的机器不支持硬件虚拟化,-p参数不使用类似技术。现在新的CPU连Atom这样的都支持了,-p可以不加。
-s 10磁盘文件的大小,单位是G
–nographics 不使用图形界面,可以不加此参数,然后加入–vnc看看图形效果
–vcpus=2 虚拟CPU的个数

剩下的就是等待安装的过程,由于之前的设置,网络这块直接DHCP就可以通过了。安装过程中报错找不到安装媒体的大多都是网络设置错误。

整个过程中可以通过ctrl+]回到真实主机,通过在真实主机中使用xm console CentOSVM1回到CentOSVM1的控制台。

OK,可以开始第二台主机的安装了,照旧吧:
 virt-install -n CentOSVM2 -r 512 -f /xen/CentOSVM2.img  -l http://www/  –network=network:default -p -s 10 –nographics –vcpus=1

部分操作

xm console <NAME> 连接到虚拟机控制台
xm create <NAME> 根据配置文件创建主机,如果您一直follow之前的操作并且完成了虚拟主机的安装,这条命令实际上等于启动一台虚拟机
xm shutdown <NAME> 关机
xm reboot <NAME> 重启
xm destroy <NAME> 删除主机
xentop 各主机之前的资源占用情况

关于Ubuntu的xen

记得804的时候,通过apt-get install ubuntu-xen-server xen的方式可以搭建起xen的环境,但不知出于什么目的,904以后,apt源里面移出了linux-xen内核的安装包。你当然可以下载到类似的替代安装包,但这无疑给安装带来了麻烦。

ubunt desktop和server的安装盘都无法通过网络安装程序,如果需要部署Ubuntu的虚拟机,你需要下载alternate安装盘。

暂时就这么多,改日写个ubuntu的安装文档出来。

推荐阅读:
时延 latency(亦称为延
事出前些日子有人咨询我:“在某
有感于CPU的各种电源状态描述
如果大家了解一点CPU的知识,

“CentOS上Xen的快速部署”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请补全下列算式: *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据