应用服务器虚拟化整合实战

日期: 2012-03-05 作者:张冀川 来源:TechTarget中国

在《三步确保服务器虚拟化整合成功》一文中,我们介绍了应用服务器进行虚拟化整合的两种方式:P2V和新建虚拟机。本文介绍采用新建虚拟机方式如何开展虚拟化整合工作。   搭建虚拟机环境 应用软件提供商在不断完善软件功能,提升软件性能,修复软件存在的漏洞。搭建虚拟机环境的第一步就是创建虚拟机并安装客户操作系统。

根据现有生产环境所使用的操作系统版本,使用应用软件提供商所发布的最新操作系统版本。例如如果生产环境使用的是64位的Windows Server 2003 Enterprise Server,那么可以考虑升级至Windows Server 2008 R2 Enterprise Server。如果生……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在《三步确保服务器虚拟化整合成功》一文中,我们介绍了应用服务器进行虚拟化整合的两种方式:P2V和新建虚拟机。本文介绍采用新建虚拟机方式如何开展虚拟化整合工作。

  搭建虚拟机环境

应用软件提供商在不断完善软件功能,提升软件性能,修复软件存在的漏洞。搭建虚拟机环境的第一步就是创建虚拟机并安装客户操作系统。根据现有生产环境所使用的操作系统版本,使用应用软件提供商所发布的最新操作系统版本。例如如果生产环境使用的是64位的Windows Server 2003 Enterprise Server,那么可以考虑升级至Windows Server 2008 R2 Enterprise Server。如果生产环境中使用的是 SuSE Linux Enterprise 10,那么可以考虑升级至SuSE Linux Enterprise 11 SP1。

接下来就需要根据生产环境中应用服务器环境部署相应的Web服务器和中间件服务器。例如,如果信息系统基于J2EE开发,那么需要到Oracle官方网站下载最新版本的Java SE 6 Update 31或者是Java SE 7u3。如果使用的是开源Web服务器和中间件服务器,那么可以到Apache的官方网站下载HTTP Server和Tomcat,建议用户选择Apache HTTP Server 2.2.22以及Tomcat 6.0.35。如果生产环境中使用的是商业版的Web服务器和中间件,比如IBM HTTP Server和IBM WebSphere Application Server,那么可以选择IBM WebSphere Application Server 7.0,并在IBM官方网站下载并安装最新的补丁Fix Pack 21 (7.0.0.21)。

  进行中间件配置
 
  由于只是进行应用服务器的虚拟化整合,不需要对生产环境中的数据库进行任何调整,只需要将原有的Web应用程序部署到Tomcat中间件的WebApps目录下或者通过WebSphere控制台发布应用即可。

  如果将多个Web应用程序部署在同一个Tomcat中间件下或者单个WebSphere概要表下,在中间件服务器出现故障时,将面临多个Web应用同时无法访问的尴尬局面。可以通过安装多个Tomcat中间件或者创建多个WebSphere概要表,然后将Web应用分散部署在多个Tomcat中间件或者多个WebSphere概要表下解决这一问题。

  Apache HTTP Server + Tomcat中间件配置

  在Linux服务器下安装多个Tomcat最常见的一个问题就是端口冲突。每个Tomcat服务器所使用的端口记录在${TOMCAT_HOME}/conf/server.xml文件中,主要包括了以下三个端口,Server port、Connector port以及AJP 1.3 Connector port,安装多个Tomcat中间件,修改对应的这三个端口号。下面这段代码就是server.xml文件对应的端口配置信息。

<Server port="8209" shutdown="SHUTDOWN">
<!-- A "Connector" represents an endpoint by which requests are received          and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP  Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8109
-->
   <Connector port="8109" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

  将Apache HTTP Server 2.2与多个Tomcat进行端口绑定时只需要修改${HTTP_SERVER}/conf/httpd.conf文件,以与三个Tomcat中间件绑定为例,在httpd.conf文件末尾添加如下内容即可:

#Tomcat Server 1端口绑定配置,8009为Tomcat Server 1的AJP 1.3 Connector Port
#webapp1为访问应用的上下文根。
ProxyPass /webapp1 ajp://localhost:8009/ webapp1
ProxyPassReverse / webapp1 ajp://localhost:8009/ webapp1

#Tomcat Server2端口绑定配置,8010为Tomcat Server 2的AJP 1.3 Connector Port
#webapp2为访问应用的上下文根。
ProxyPass /webapp2 ajp://localhost:8010/ webapp2
ProxyPassReverse / webapp2 ajp://localhost:8010/ webapp2

#Tomcat Server 3端口绑定配置,8011为Tomcat Server 3的AJP 1.3 Connector Port
#webapp3为访问应用的上下文根。
ProxyPass /webapp3ajp://localhost:8011/ webapp1
ProxyPassReverse / webapp3 ajp://localhost:8011/ webapp3

  完成上述配置后,重新启动Tomcat和HTTP Server即可:

分别进入每个Tomcat安装目录:cd {TOMCAT_HOME}/bin
停止Tomcat:./shutdown.sh
启动Tomcat,查看启动过程:./catalina.sh run
 进入HTTP Server安装目录:cd ${HTTP_SERVER}/bin
 停止Apache HTTP Server:./apachectl stop
 启动Apache HTTP Server:./apachectl start

  IBM HTTP Server + WebSphere Application Server中间件配置

  和Tomcat类似,使用WebSphere Application Server可以创建多个概要表,然后在每个概要表下分别部署应用。

  如果使用安装的是64位的WebSphere Application Server,那么不能使用图形界面创建概要表了,创建概要表的命令如下:

进入WebSphere Application Server 安装目录下的bin目录下:cd ${WAS_HOME}/bin
在/opt/IBM/WebSphere/AppServer/profiles/AppSrv01下创建概要表AppSrv01:
./manageprofiles.sh -create -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/default/ -profileName AppSrv01 -profilePath /opt/IBM/WebSphere/AppServer/profiles/AppSrv01

  创建完概要表后,就可以启动该应用服务器了:

  进入概要表主目录下的bin目录:
cd/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
启动应用服务器:./startServer server1
然后就可以登录该概要表的管理控制台,管理控制台访问端口可以通过查看/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/ HOSTNAMENode01Cell/nodes/HOSTNAMENode01/erverindex.xml文件中endPointName值为WC_defaulthost所对应的端口号查看,其HTTP端口号为9080,对应的HTTPS访问端口可以通过endPointName值为WC_adminhost所对应的端口号查看,其HTTP端口号为9060,我们可以通过http://ip:9080/admin或者是https://ip:9060/admin访问该概要表的控制台并部署应用了。

<specialEndpoints xmi_id="NamedEndPoint_1329977706398" endPointName="WC_adminhost">
      <endPoint xmi_id="EndPoint_1329977706398" host="*" port="9060"/>
    </specialEndpoints>
    <specialEndpoints xmi_id="NamedEndPoint_1329977706399" endPointName="WC_defaulthost">
      <endPoint xmi_id="EndPoint_1329977706399" host="*" port="9080"/>
    </specialEndpoints>

  虚拟机性能测试

  将生产环境中的Web应用安装包拷贝到${TOMCAT_HOME}/WebApps下或者是通过WebSphere管理控制台发布Web应用,然后就可以对相应的应用进行测试了。VMware vSphere 5提供了性能监视视图,可以在应用访问过程中对虚拟机的性能进行实时监控。方便我们根据应用访问情况随即对虚拟机的CPU、内存、网络配置、磁盘IO进行调整,和在物理服务器上进行硬件扩容相比,虚拟机的稳定性以及效率有了大大的提高。

应用服务器虚拟化整合实战

图1. Tomcat中间件服务器CPU性能视图

  从上图可见,在大部分情况下CPU使用率较低,但是在某段时间CPU使用率达到了100%,需要引起关注,查找在该段时间对虚拟机进行了哪些操作。

应用服务器虚拟化整合实战

图2. Tomcat中间件服务器内存性能视图

  从上图可见,内存使用率一直较低,即使在高峰期也只有40%,所以可以考虑在该虚拟机上多部署几个Web应用,或者是适当减少内存配置。

应用服务器虚拟化整合实战

图3. Tomcat中间件服务器磁盘IO性能视图

  从上图可见,虚拟机磁盘IO在下午4点达到了峰值,每秒达到了2500KB。

  利用上述vSphere 5.0性能视图,可以最终决定在一台虚拟机上部署多少个生产应用仍满足业务系统访问的需要。

  通过新建虚拟机方式对应用进行迁移整合,可以在一台物理服务器上部署多个虚拟机的基础上更进一步,实现在一台虚拟机上部署多个Web应用,进一步提高了服务器的使用率。而且在应用迁移过程中可以提供过性能视图实时了解虚拟机的性能状况,为合理评估虚拟机性能,实现更高效的应用整合提供了保证。

  但采用新建虚拟机方式整合应用工作量往往很大,配置较为复杂,容易出错。在下一篇文章中将介绍如何使用VMware vCenter Converter进行实现物理机到虚拟机的P2V迁移。

  在下一篇文章中介绍使用P2V进行应用服务器虚拟化整合。

  关于作者:张冀川,TechTarget中国特邀技术编辑。任职于某国企信息中心,主要负责数据中心系统、数据库运维管理工作,对存储虚拟化、服务器虚拟化、技术有浓厚兴趣,并在工作中积极应用。

作者

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用

相关推荐

  • VMware快照工作原理以及如何运用

    当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。

  • 推荐一款好的虚拟主机提供商

    推荐一款好的虚拟主机提供商 推荐理由:   第一:种类多:有经济型,全能型,功能型等   […]

  • 哪里的虚拟主机最便宜?

    鱼和熊掌不可兼得, 想要找即便宜又好用的虚拟谁有办法? 我来推荐一款,可以了解 新网云虚拟主机一年只要1元钱 […]