首页 > 基础设施 > 正文

虚拟机架构应用实例:如何进行升级?

2008-07-02 17:33:29  来源:IT专家网

摘要:虚拟化能够让你更好地利用你的服务器,有效地提高服务器利用率能够节省大量的资金。现在,使用虚拟机复制复制服务器实例是很容易的,现在开始谈论利用这种新能力的最佳方法是有道
关键词: 虚拟化 案例

    虚拟化能够让你更好地利用你的服务器,有效地提高服务器利用率能够节省大量的资金。现在,使用虚拟机复制复制服务器实例是很容易的,现在开始谈论利用这种新能力的最佳方法是有道理的。改善的应用程序可用性和性能现在能够轻松地实现了。然而,根据有关的应用程序,如何实现这个目标是有很大差别的。

  水平升级与垂直升级

  我们首先讨论一下水平升级和垂直升级的理论区别。有些应用程序可以升级,也就是能够在速度更快的硬件上运行以支持更多的处理任务。我们把这种升级称作“垂直升级”。例如,我们有一台数据库服务器,每秒钟能够处理100万个查询请求。由于新的需求,我们需要这台服务器每秒钟至少处理200万个查询请求。数据库是很适合升级的,因为影响性能的瓶颈主要是内存和处理器。如果这个瓶颈碰巧是硬盘IO(输入输出),那么你可以升级这个数据库使用的存储系统。

  水平升级意味着增加更多的服务器和把工作量分散到多台机器。在这个数据库的例子中,这种升级是非常困难的,因为所有的数据库服务器都需要使用相同的数据,并且这个数据必须要复制下来。然而,水平升级服务器是一种常用的做法。

  在决定进行水平升级或者垂直升级之前,你必须认识到水平升级代表它自己的问题。网络应用程序需要进程数据,因此,一个负载均衡的服务器集群要有同样的状态。一个普通的例子是身份识别:如果一个用户与一台服务器进行了身份识别,这个负载均衡器将决定通过另一台服务器为那个用户的下一个请求提供服务,它可能不会认识到这个用户登录了。

  下面是确定水平升级是不是正确解决方案之前要问的几个问题:

  ·这个应用程序在一个负载均衡的环境中的工作是否正常?

  ·这个应用程序在没有负载均衡的条件下进行垂直升级是否能为足够的用户服务?

  ·我能在自动和可管理的方式下运行同一个应用程序的多个实例?

  如果你发现由于应用程序的局限性必须要进行垂直升级,你也许根本不需要使用虚拟化。一个需要自己的服务器的应用程序不适合进行虚拟化。虚拟化的开销将限制你的性能。而且,你将得不到任何虚拟化的好处,如整合和物理服务器之间的迁移等,因为这个应用程序无论如何都要在自己的专用服务器上运行。一旦发生硬件故障,这种迁移就是使用虚拟化的一个微弱的理由,因为两台物理服务器之间的容错设置是很容易设置的。

  这就是说,如果你能够水平升级,你可能会从虚拟化中获得更大的好处。管理虚拟机比管理物理硬件要容易一些。你可以在没有关机时间的情况下拆下虚拟硬件,你的服务器利用率将达到最大化。

    负载均衡与责任分离

  假设我们有一个使用Apache Web服务器托管几千个网站的一个Web基础设施,任何拥有那么多网站的人都可能已经水平升级到了某种程度,如在四台服务器上托管500个网站。这种做法有几个问题。

  ·任何一台机器发生故障都意味着这500个网站将关闭。

  ·Apache在处理那样多的网站的时候是很可怕的,它需要很长时间才能重新启动一台服务器。

  ·每一台服务器的利用率可能都非常高。

  我们做过一些推测。但是,让我们假设上述问题在我们虚构的环境中都是真实的。这个问题有两个解决方案。

  负载均衡在这种情况下不是很好的解决方案。正如上面提到的那样,负载均衡设置需要那个应用程序保持在一个中心的、共享的位置。在这些服务器上的2000个网站都能够做到这一点是不可能的。一个好的负载均衡器能够跟踪入网的请求,并且总是把这些请求发回到同一台后台服务器。这种做法有一点帮助。但是,如果服务器断开连接,这些客户端必须重新进行身份识别。而且,负载均衡最适合升级支持水平升级的具体应用程序。

  在Apache托管太多的网站的情况下需要采取责任分离的方法。理想的情况是,我们想看到每个Apache实例不超过100个网站。你不会遇到Apache故障,因为它有许多开放的设置文件(也许每一个虚拟主机都有一个设置文件),你不需要处理负载均衡问题。这取决于硬件,但是,你很有可能在一台服务器上运行四个至五个虚拟机。这样你可以再一次在一台服务器上托管500个网站。请等一下,那是我们以前曾达到的利用水平,只不过有了虚拟化的开销和五个操作系统实例额外需要的内存和处理器要求。确实如此,但是,每组100个网站使用的资源是不同的。

  当我们进行水平升级的时候,我们通过利用服务器上的VMWare软件中的自动迁移功能可以实现更好的服务器利用率。你越多地进行的水平升级,优化的机会就越多。如果你与某些类型的集群管理软件一起使用Xen软件,可以建立同样的规则。免责声明:事实上,你可能需要在这个组合中增加一台服务器以处理未来的增长。

  简言之,使用虚拟化技术进行水平升级比使用物理服务器升级更容易,能够得到随意调整工作负荷的好处。能够分成许多小部分的水平升级将提供更大的灵活性和多台虚拟机升级战略的好处。然而,一个单个的、重要任务的应用程序适当地支持一个负载均衡的设置,负载均衡可能是你最佳的选择。

 


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。