热门标签 | 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虚拟机。


推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
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社区 版权所有