热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在64位CentOS5.10系统下安装使用Xen虚拟机

1、安装XEN虚拟机前的准备工作首先介绍一下安装XEN主机的配置,它的物理机配置如下所示:CPU:英特尔i5-2310内存:金士顿DDR313334GB主板:华硕P8H61-MLX硬盘:西部数据SATA31T系统:Centos5.10x86_64服务器IP:192.168.11.23在安装XEN之前我们

1、安装XEN虚拟机前的准备工作

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

CPU:英特尔 i5-2310

内存:金士顿DDR3 1333 4GB

主板:华硕P8H61-MLX

硬盘:西部数据SATA3 1T

系统:Centos5.10 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虚拟机。


推荐阅读
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
author-avatar
西北孤狼2502911947
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有