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


推荐阅读
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • 如何在Mozilla Firefox中调整GIF动画的循环次数
    本文介绍了如何通过调整Mozilla Firefox的高级设置来控制GIF动画的播放次数,帮助用户根据个人喜好自定义浏览体验。 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
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社区 版权所有