读书频道 > 网站 > 网页设计 > 构建高可用Linux服务器(第2版)
2.2.3 在CentOS 5.5下安装Xen虚拟机
12-08-10    叶孤城
收藏    我要投稿   
本书是资深Linux/Unix系统管理专家兼架构师多年一线工作经验的结晶,51CTO和ChinaUnix等知名社区联袂推荐。第1版上市后广获好评,分别被《程序员》杂志和51CTO网站评选为2011年度10大最具技术影响力的图书和2011...立即去当当网订购
1? 全新安装Xen
如果在一台没有操作系统的机器上安装Xen,可以使用CentOS 5.5的安装盘直接安装,与安装普通系统的主要差别在于磁盘分区和组件的选择。具体步骤如下所示:
首先合理地划分磁盘分区,生产环境中的磁盘划分方法如下。
/boot :256MB(这个分区应该都没异议吧?)
/ 内存大小+20GB(20GB是保守的正常开销,同内存大小相当的硬盘空间用来存放虚拟机快照。)
SWAP:5GB~10GB(内存总量很大,但随后会限制分配给宿主实体机1GB~4GB内存。)
/data:其他所有空间(系统安装后再将其划分为LVM分区,弹性扩充虚拟机的磁盘空间。)
如果是新装系统,则在安装系统时选择下列软件包:
 Applications??Editors
 Development??Legacy Software Development
??Development Libraries
??Development Tools
 Base System??Administration Tools
??System Tools
??Base
 可选择安装:??Dialup Network Support--lrzsz
 Virtualization??Virtualization
2?在已有的最小化安装系统上安装Xen
如果要在已经安装好的系统上安装Xen,或者安装RHEL 6?0这类没有Xen的系统,需要手动补全RPM包。
Xen的详细安装过程如下:
1)首先检查这些RPM依赖包是否存在,如不存在,请从系统盘中寻找或yum安装,如下所示:
 
rpm -q bridge-utils iproute grub gcc binutils make zlib zlib-devel
rpm -q python python-devel dnsmasq SDL cyrus-sasl-md5 iscsi-initiator-utils
rpm -q XEN-libs libvirt libvirt-python python-virtinst
2)挂载并进入系统盘的RPM包目录,执行下列命令就可以安装Xen的相关软件包了:
 
rpm -ivhkernel-xen-2?* kernel-xen-devel-2?* xen-devel* xen-3*
3?系统优化设置
Xen系统安装完后,还要做一些设置和优化,它才能正常工作。
1)关闭SELinux,设定启动级别为3,精简系统启动的服务为:
 
crond lvm2-monitor network syslog sshd XENd XENdomains
2)固化宿主机使用的内存,以防出现内存挤压Bug。
我们在实际生产中会发现Xen服务本身并不会占用很多系统资源,只要有1GB内存就能很平稳地运行Xen服务了,但是考虑到Linux系统会将许多内存当做cache和buffer来缓解磁盘I/O压力,所以根据内存的总量情况,建议给Xen服务器分配1GB~4GB的固定内存。
安装了Xen以后,grub?conf的内容应该是下面这样的(版本不同可能会有细微区别):
 
default=0 #这里一定要确认启用的内核是Xen相关内核
timeout=5
splashimage=(hd0,0)/grub/splash?xpm?gz
hiddenmenu
title CentOS (2?6?18-164?el5)
root (hd0,0)
kernel /xen?gz-2?6?18-164?el5
module /vmlinuz-2?6?18-164?el5xen ro root=LABEL=/
module /initrd-2?6?18-164?el5xen?img
title???
如果是在已有的系统上安装Xen,会保留默认不支持Xen的老内核。
假设这台服务器有32GB的内存,我们可加上“dom0_mem=4096M”命令,以便设置Xen服务器固定使用4GB的内存,如下所示:
 
kernel /boot/xen?gz-2?6?18-194?el5 ==> kernel
 
/boot/xen?gz-2?6?18-194?el5 dom0_mem=4096M
配置文件是/etc/xen/xend-config?sxp,请更改dom-min-mem的数值,使之和grub?conf中的一致。更改的具体数值如下所示:
 
(dom0-min-mem 256)==>(dom0-min-mem 4096)
4?验证安装成功
重启系统后需要依次验证以下内容。
1)启动的内核为Xen内核,命令如下所示:
 
[root@server-1 ~]# uname -r|grep xen
2?6?18-194?el5xen
2)当前系统的内存只显示4GB,但通过Xen相关命令看到的内存仍然是48GB,命令如下所示:
 
free -m
显示内容如下所示:
 
totalusedfreesharedbufferscached
Mem:4096110129940177563
-/+ buffers/cache:3603735
Swap:409404094
我们用Xen有关命令查看内存,命令如下所示:
 
xm info |greptotal_memory
命令显示内容如下所示:
 
total_memory: 49142
3)xend服务由Xen控制,安装完成后会自动启动。
 
[root@server-1 ~]# /etc/init?d/xend status
xend is running
[root@server-1 ~]# head /etc/init?d/xend
#!/bin/bash
# xendScript to start and stop the Xen control daemon?
 4)xendomains服务是虚拟机控制,安装完成后Xen会自动启动。
下面的命令中“web001 web002 md001 md002”是正在运行的虚拟机名称:
 
[root@idctest-1-2 ~]# /etc/init?d/xendomains status
Checking for xendomains: web001 web002 md001 md002 [running][OK]
[root@idctest-1-2 ~]# head /etc/init?d/xendomains
#!/bin/bash
# Start / stop domains automatically when domain 0 boots / shuts down?
5?Domain-0的硬件管理
待Xen安装完后就可以使用一些与Xen相关的命令了,其中最重要的是“xm”命令。
xm list命令可以列出现有的虚拟机,默认已经有一个特殊的虚拟机Domain-0在运行了,如下所示。
 
[root@xen ~]# xm list
NameID Mem(MiB) VCPUs StateTime(s)
Domain-008792 r-----89?2
当xend进程启动时,会根据配置文件和系统现状将一部分资源划入Domain-0中。然后Domain-0再把资源分配给虚拟机来使用。它的身份其实就是上文提到的VMM的管理接口。比如说,我在创建新的虚拟机时恶意指定了一个大内存值,xend和Domain-0就会跳出来阻止,如下所示。
 
xend?err 'Error creating domain: I need 919552 KiB, but dom0_min_mem
is 262144 and shrinking to 262144 KiB would leave only 765888 KiB free?'
至此,Xen服务器使用默认的配置就已经可以正常工作了,如果想要进行其他设置,可以去看看/etc/xen/xend?config?sxp
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站