XEN虚拟机在CentOS 5.8 x86_64下的安装及管理

原创
运维 系统运维
Xen能使不同和不兼容的OS运行在同一台计算机上,并且支持在运行时进行迁移,保证正常运行并且避免宕机。本文是抚琴煮酒整理的XEN虚拟机在CentOS 5.8 x86_64下的安装及管理全过程。

  【51CTO原创稿件】1、安装XEN虚拟机前的准备工作

  首先介绍一下安装XEN主机的配置,它的物理机配置如下所示:

  • CPU :英特尔 i5-2310
  • 内存:金士顿DDR3 1333 4GB
  • 主板:华硕P8H61-MLX
  • 硬盘:西部数据SATA3 1T
  • 系统:Centos5.8 x86_64
  • 服务器IP:192.168.11.23

  在安装XEN之前我们先检查一下CPU是否支持XEN虚拟化,命令如下:

  egrep '(vmx|svm)' /proc/cpuinfo

  如果什么结果都不显示,则表示CPU是不支持XEN虚拟化的,结果显示如下:

  flags : fpu tsc msr pae cx8 apic mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc ida arat pni vmx est ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm

  flags : fpu tsc msr pae cx8 apic mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc ida arat pni vmx est ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm

  flags : fpu tsc msr pae cx8 apic mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc ida arat pni vmx est ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm

  flags : fpu tsc msr pae cx8 apic mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc ida arat pni vmx est ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm

  2. XEN的安装过程

  我们可以用以下命令来安装XEN软件,如:

  yum -y install kernel-xen xen

  顺利安装完Centos5.8后,我们要修改下/etc/grub.conf文件,让其采用新的内核,/etc/grub.conf文件的内容如下:

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-308.11.1.el5xen)
 root (hd0,0)
 kernel /xen.gz-2.6.18-308.11.1.el5
 module /vmlinuz-2.6.18-308.11.1.el5xen ro root=LABEL=/
 module /initrd-2.6.18-308.11.1.el5xen.img
title CentOS (2.6.18-238.el5)
 root (hd0,0)
 kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/
 initrd /initrd-2.6.18-238.el5.img

  3. 开始安装XEN虚拟机

  下面我们要安装XEN虚拟机了,安装前我们做点准备工作,搭好httpd环境,因为等会儿我们需要httpd服务,这个很容易实现,命令如下:

  yum -y install httpd && service httpd start

  另外,记得建一个目录以供XEN安装虚拟机使用,我这里是/data/vm;我准备安装3个XEN虚拟系统,所以我将其光盘文件用cp -a命令拷至/var/www/html/centos目录下,这些都是Linux下的基本操作,大家应该都很熟悉。如果只有iso文件,我们可以直接在Centos下用mount命令挂载,命令如下: 

  mount -t iso9660 -o loop,user download.iso  /isoimage

  1)首先安装名为vm1的Centos5.6 x86_64 XEN虚拟机,安装命令为:

  virt-install -n vm0 -r 512 -f  /data/vm/vm1.img -s 150 --nographics -p -l http://192.168.11.23/centos

  2)安装完vm1的XEN虚拟机后,我们再接着安装一个名为vm2的XEN虚拟机,命令如下:

  virt-install -n vm2 -r 512 -f  /data/vm/vm2.img -s 150 --nographics -p -l http://192.168.11.23/centos

  3) 我们接着安装名为vm3的XEN虚拟机,命令如下:

  virt-install -n vm3 -r 256 -f  /data/vm/vm3.img -s 150 --nographics -p -l http://192.168.11.23/centos

  如果还需要安装其它的XEN虚拟机,可以依此步骤继续操作,最后我们可以用xm list命令来查看一下,如下所示:

Name             ID Mem(MiB) VCPUs State   Time(s)
Domain-0         0     3933     4 r-----  32803.0
vm1              8      512     1 -b----  16074.5
vm2              26      512     1 -b----  13140.8
vm3              44      256     1 -b----   7800.5
vm4              45      256     1 -b----   8048.2
vm5              46      256     1 -b----   5934.1

 如果XEN虚拟机没有开放SSH权限,或者采用的是DHCP动态分配IP,这个时候就需要我们进入XEN主机进行管理登陆,命令如下所示:

  xm console ID

  此时接XEN机的名字或ID号都是可以的,console命令也可以精简为con,大家可以自行尝试,如果进入XEN控制台后想退出,可以按快捷键CTRL+]。

  如果要启动名为vm1的XEN虚拟机,可以用如下命令,其他以此类推:

  xm create -f /etc/xen/vm1

4. 利用XEN模板机快速克隆虚拟机

  如果每次都手动一台一台地安装服务器,效率会极低,而且也很容易出现不符合规范的误操作,所以我们在生产环境下只需要安装一次XEN虚拟机,然后就此虚拟机为模板,克隆出成百上千台虚拟机用于业务,下面总结一下安装XEN模板机要注意的问题:

  • 模板机的IP和主机名要避免现在或以后的线上运行的服务器不要冲突。
  • 模板机应该精简不必要的服务,一般只保留network、sshd、crond等基础服务。
  • 模板机要配置好帐号、snmp、nrpe、ssh、文件同步等与监控及安全相关的配置。
  • 模板机应该安装好如Apache、Nginx、PHP或Java、MySQL及Varnish、memcached等常见的服务程序,想用时随时可以开启,省去了重新编译安装的时间,统一了编译参数,为以后的自动化运维做好铺垫。
  • 模板机以后需要通过网络分发,所以模板机的体积不宜过大,以20GB为宜。
  • 如果是大规模的部署XEN虚拟机,可以考虑搭建内网YUM源服务器,然后修改模板机的YUM源为同一内网服务器。
  • 需要编写一个修改主机名及IP地址的SHELL脚本,输入IP地址和主机名后,脚本就可以自动修改这些信息。

  下面我们以名为vm1的XEN为模板机来克隆名为vm6的XEN虚拟机,命令如下:

  virt-clone -o vm1 -n vm6 -f /data/vm/vm6.img

  克隆成功以后我们需要作主机名和IP的修改,这里用脚本来简化此工作量即可。

  5. XEN虚拟机的管理

  1.XEN虚拟机常用的命令为:

  xm list:查看当前机器里的全部虚拟机列表。
  xm help:所有可用的xm命令概述。
  xm top:提供所有的虚拟机的状态概貌。
  xm create xxxx:启动名字为xxx的虚拟机。
  xm shutdown xxx:关闭名字为xxx的虚拟机。
  xm destroy xxx:像关掉电源那样关闭名字为xx的虚拟机。
  xm reboot xxx:重启名字为xxx的虚拟机。
  xm pause xxx:暂停名字为xxx的虚拟机。
  xm resuem xxx:继续运行名字为xxx的虚拟机。
  xm save xxx:保存虚拟机状态到一个文件。
  xm restore:重新启动已经保存在文件里的虚拟机。

  2.如何快速的新建XEN虚拟机呢?

  其实我们只需要拷贝XEN虚拟机的img镜像文件和配置文件,并修改配置文件中的镜像路径和虚拟机名称就可以了。注意要修改虚拟机的MAC地址,要不然会出现冲突。

  3.让虚拟机随宿主机一起启动。

  只要在/etc/xen/auto建立一个xen vm配置文件的链接就可以了,如下列命令所示:

  ln -s /etc/xen/vm1 /etc/xen/auto/vm1

  4. XEN虚拟机时间同步失败的解决办法

  虚拟机同宿主机硬件时钟同步,本来是很方便的嘛。不过因为软件模拟中断会在负载变化的时候出现延迟,所以慢慢会跑慢了,这个时候我们可以用如下方法来解决。

  我们修改/etc/sysctl.conf文件,增加内容如下所示:

  xen.independent_wallclock = 1

  然后执行以下命令让其立即生效,如下所示:

  sysctl -p

  6. XEN虚拟机的优势

  XEN虚拟机的的优势有如下几点:

  (1)XEN的工作原理是基于准虚拟化(半虚拟化)的,是获得最佳性能的方法,XEN虚拟化只有2%-8%的效能损耗,大家可以看一下XEN作为VPS虚拟主机的使用率。

  (2)XEN虚拟机是以文件的形式存在的,所以虚拟机的迁徒和备份及恢复都是非常方便的。

  (3)Linux下的各种版本自带了XEN虚拟化软件,这个跟大多数Linux系统一样是免费开源的,大家就不需要担心版权问题了。

  (4)XEN利用模板功能10分钟就能克隆出一台XEN虚拟机来,在大规模的虚拟机集群部署上,我们短时间就能部署200台以上的XEN虚拟机集群,在自动化运维越来越重要的今天,这个功能非常重要。

  注意:对部会会严重消耗I/O的服务,如Cache服务器、数据库服务器,不建议使用XEN虚拟机。

 本文作者:余洪春(抚琴煮酒),英文名Andrew.Yu。

 个人博客地址:http://andrewyu.blog.51cto.com/

 Sina微博地址:http://weibo.com/yuhongchun027

责任编辑:黄丹 来源: 51CTO.com
相关推荐

2011-07-04 11:45:59

XenCentOS 5.6

2012-03-18 22:33:15

centosxen

2009-06-25 09:03:42

Linux

2011-12-14 13:02:05

Power虚拟机X86平台服务器

2010-01-21 11:17:36

xen虚拟机

2009-09-27 10:20:19

挂载虚拟机磁盘Xen环境

2011-05-13 10:49:50

虚拟机Oracle安装

2021-06-07 15:20:22

Linux X861MB内存BIOS

2023-09-25 10:29:21

CPUAArch64x86_64

2009-05-20 19:33:34

Vista虚拟机Linux

2010-02-22 17:39:22

CentOS vmwa

2014-02-21 11:20:34

KVMXen虚拟机

2009-10-14 10:56:00

主流x86虚拟机技术

2009-10-10 11:29:41

RHEL5 Xen 虚

2010-05-14 14:47:46

x86虚拟机

2010-08-30 10:11:25

XenKVM虚拟机迁移

2011-05-05 09:32:59

CentOS 5.6KVM

2009-10-22 18:09:10

linux虚拟机

2019-08-05 14:23:32

虚拟机操作系统软件

2010-04-09 11:34:12

Xen虚拟机
点赞
收藏

51CTO技术栈公众号