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

CentOS系统快速安装Xen虚拟机

背景描述一台托管在外的服务器,环境为CentOS5.5,跑LAMP。由于运行环境和成本控制的考虑,需要同时配置PHP4+Mysql和PHP5+Mysql两种环境。起初计划采用两个apache环境,不同的端口来解决。考虑到目前Xen技术上已经成熟,于是考虑在真实主机上安装ngnix和mys

背景描述

一台托管在外的服务器,环境为CentOS5.5,跑LAMP。由于运行环境和成本控制的考虑,需要同时配置PHP4+Mysql和PHP5+Mysql两种环境。起初计划采用两个apache环境,不同的端口来解决。考虑到目前Xen技术上已经成熟,于是考虑在真实主机上安装ngnix和mysql。通过xen安装两套虚拟环境分别配置不同的Php版本,前端使用ngnix代理的方式实现多个虚拟主机合并到同一个80号的目的。

本文同样适用于RedHat和小白鼠Fedora.

真实主机(主机名:www)上配置Xen

CentOS的Xen还是比较容易设置的
#yum install kernel-xen xen等待安装,安装结束后,修改grub配置,确保主机通过xen内核启动后,重启主机。

主机启动后,首先确认
#uname -r ,内核版本号后面应该跟随一个xen标记,如:2.6.18-194.11.3.el5xen

需要解释的是,由于这台主机的要求网络结构是“一个出口”,即逻辑上虚拟主机的网络拓扑应该是路由方式,而Centos默认Xen的结构是网桥模式,这里需要修改下相应的配置。
/etc/xen/xend-config.sxp文件中
(network-script network-bridge)
(vif-script vif-bridge)
注释掉
(network-script network-route)
(vif-script     vif-route)
去掉注释
重启xen服务使设置生效,/etc/init.d/xend restart

配置虚拟主机

相比之前参考的很多文档,Centos的虚拟主机配置相对比较容易,至少没有那么复杂,因为Centos提供了一个比较方便的工具virt-install

我准备给虚拟主机都安装CentOS5.5,为了方便,我将光盘挂装到了 /mnt并设置了ngnix可以直接通过http://www/方式访问光盘中的文件,如果您之前通过http或者其他方式网络安装过操作系统,这一步应该很好理解。

正题来了:

 virt-install -n CentOSVM1 -r 512 -f /xen/CentOSVM1.img  -l http://www/  ?network=network:default -p -s 10 ?nographics ?vcpus=2

解释:
-n CentOSVM1 设置虚拟服务器名称
-r 512 设置内存大小
-f /xen/CentOSVM1.img  虚拟磁盘文件的保存路径,如果有重名可以使用?force参数强制重建。
-l http://www/ 安装文件的访问方式,支持nfs http ftp smb等多种方式。如果你对你的带宽比较自信,可以使用http://mirrors.163.com/centos/5.5/os/i386/网易的镜像站
?network=network:default 网络连接方式,我选择的是route中的default
-p 我的机器不支持硬件虚拟化,-p参数不使用类似技术。现在新的CPU连Atom这样的都支持了,-p可以不加。
-s 10磁盘文件的大小,单位是G
?nographics 不使用图形界面,可以不加此参数,然后加入?vnc看看图形效果
?vcpus=2 虚拟CPU的个数

剩下的就是等待安装的过程,由于之前的设置,网络这块直接DHCP就可以通过了。安装过程中报错找不到安装媒体的大多都是网络设置错误。

整个过程中可以通过ctrl+]回到真实主机,通过在真实主机中使用xm console CentOSVM1回到CentOSVM1的控制台。

OK,可以开始第二台主机的安装了,照旧吧:
 virt-install -n CentOSVM2 -r 512 -f /xen/CentOSVM2.img  -l http://www/  ?network=network:default -p -s 10 ?nographics ?vcpus=1

部分操作

xm console 连接到虚拟机控制台
xm create 根据配置文件创建主机,如果您一直follow之前的操作并且完成了虚拟主机的安装,这条命令实际上等于启动一台虚拟机
xm shutdown 关机
xm reboot 重启
xm destroy 删除主机
xentop 各主机之前的资源占用情况

关于Ubuntu的xen

记得Ubuntu 8.04的时候,通过apt-get install ubuntu-xen-server xen的方式可以搭建起xen的环境,但不知出于什么目的,9.04以后,apt源里面移出了linux-xen内核的安装包。你当然可以下载到类似的替代安装包,但这无疑给安装带来了麻烦。

ubunt desktop和server的安装盘都无法通过网络安装程序,如果需要部署Ubuntu的虚拟机,你需要下载alternate安装盘。


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
author-avatar
不分手得恋爱假的_457
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有