扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
计算机解放
当我告诉一个朋友,我在自己的便携式计算机中运行 IBM® DB2® Express for Linux® 时,得到了预料之中的反应:既震惊又有所怀疑。我怎么能够这么快地克服自己的 UNIX® 恐惧症呢?事实上,我的便携式计算机仍然运行着 Windows® XP,而日常需要的所有应用程序依然在 Windows 上运行。然而,我在自己的便携式计算机中添加了 VMware Server,这样一来,我就可以运行 Linux 或 Windows 虚拟机镜像,而不用担心会对自己的 Windows 安装造成破坏。
实际上,我认为运行虚拟机是一种非常解放的思想。在尝试使用新的软件之前,我再也不必担心了。当我希望尝试使用最新的 IBM WebSphere 驱动程序时,我只需要启动一个虚拟机。我用不着担心新的版本可能与现有的安装之间发生冲突。虚拟机提供了我的台式机中所不具有的隔离级别。
当然,虚拟化并不是一个新的概念,IBM eServer zSeries® 和 IBM eServer pSeries® 客户进行这项工作已经很多年了。然而不可否认的是,现在人们对它的兴趣更加强烈。无论这种兴趣是否来源于 XEN™ 的发布、x86 服务器日益增强的功能使得虚拟化更具有吸引力、通过服务器整合寻求更低廉的管理成本、或其他的什么原因,我听到人们对虚拟化的兴趣比以前任何时候都更加强烈。
有许多不同类型的虚拟化(请参见参考资料部分),并且它们具有不同的优点和急待解决的问题。我通常将虚拟化分为三个类别:
这里,我将重点关注于一对多的场景,就像我的便携式计算机中的情况一样。这种典型的一对多的使用模式提供了许多优点,包括服务器整合、应用程序隔离以及快速提供。
|
优点
服务器整合
一对多的场景将多种工作负载整合于一台服务器,因此减少了需要购买和管理的物理服务器的数目,同时减少了空间和电能需求。在许多机构中,为不同的 WebSphere 应用程序和不同的环境(开发、测试和生产)使用单独的服务器。特别是在使用 x86 硬件的情况下更是如此,而这将导致许多服务器的利用率非常低(小于百分之二十)。由于 x86 服务器的功能越来越强大,并且能够支持高性能的虚拟化解决方案,所以这些环境非常适合于进行整合,以减少硬件和管理的成本。
隔离性
尽管不使用虚拟化也可以对不同的工作负载进行整合,但是虚拟机所具有的隔离性可以提供一些重要的特性。使用虚拟机,每个应用程序可以在自己的操作系统环境中独立地运行,而不会影响到其他的工作负载。例如,如果一个虚拟机的操作系统崩溃了,那么其他虚拟机中的应用程序将可以继续运行。
这种隔离性支持多个用户在同一台物理服务器上对不同的应用程序进行独立地操作。例如,虚拟机所提供的隔离特性非常适合于测试场景,支持并行地和隔离地执行多项测试。事实上,隔离性提供了在同一台物理服务器上运行不同版本的操作系统和应用程序的灵活性。这对于测试场景和增量地推出更新来说,是非常有价值的。
快速提供
除了服务器整合和隔离性之外,虚拟机还为显著地改进安装、配置和部署过程提供了可能性。可以将虚拟机从一台物理服务器转移到另一台物理服务器,而不需要重新安装。利用这种功能,可以允许中心团队对应用程序进行一次性安装和配置,然后轻松地将相同的虚拟机部署到许多用户。这样可以避免一些常见的问题,比如用户对产品进行了不正确的配置,或者该产品与同一台计算机上已安装的应用程序不兼容。标准的环境还可以简化调试工作。
通常需要进行虚拟机特定的配置。例如,要部署一个 WebSphere Application Server 集群,需要为每个虚拟机节点配置不同的主机名。这可以通过在虚拟机上更改主机名来实现,然后创建相应的 WebSphere 配置文件。可以使用脚本将这些操作步骤集成到虚拟机的启动过程中,并实现它们的自动化。
在部署了一组镜像之后,还可以将这些镜像在不同的用户之间进行移动,而无需重新安装。例如,开发人员可以提交其确切的开发镜像进行测试。识别出问题的测试人员可以对虚拟机进行快照,以便开发人员进行调试。可以快速地和无缝地将这些镜像从测试部门移动到性能测试部门,直至生产部门,这样可以带来更低的不兼容问题的可能性。虚拟化层对基础的硬件接口进行规范化,所以虚拟机可以在不同的硬件平台之间无缝地移动。另外,因为镜像捕获了可以运行的配置,所以不会出现由于新的安装没能正确地复制相应的配置参数而导致的常见问题。
可以创建镜像的层次结构,并对其进行保存以便快速地重新提供该环境。例如,测试人员可以在某一天使用硬件对特定的操作系统版本进行测试,并在第二天快速地切换到运行不同的操作系统版本。可以对镜像进行单独的保存,并且可以轻松地恢复它们以便进行回归测试或调试。
|
注意事项
性能
虚拟化的许多优点可以用于开发、测试和生产环境之中。然而在使用虚拟化的生产环境之前,很显然,性能是一个很重要的考虑因素。High Performance On Demand Solutions Team 和 VMware 最近进行了一组性能测试(请参见参考资料部分),并且所得到的结果鼓舞人心。这些试验将在一台物理服务器上运行多个 WebSphere 应用程序的性能与在 VMware 镜像中运行多个单独的 WebSphere Application Server 镜像的性能进行了对比。在这些测试中,对 WebSphere 层进行了虚拟化,而应用程序数据库则使用了物理硬件。
从这些测试的结果中可以看出,虚拟化仅仅带来了很小的开销。当虚拟机的数目少于物理 CPU 的数目时,性能最佳。根据这些结果,如果在许多物理服务器中部署了低容量的 WebSphere 应用程序,那么您可能希望考虑使用虚拟化对其进行整合。
尽管这些试验运行于 VMware ESX Server,但其他的虚拟化技术,包括 XEN(请参见参考资料部分),也应该具有较低的开销。自然地,在部署到生产环境之前,您将希望先在虚拟环境中对应用程序的性能进行验证。根据您具体的性能需求,您还可以混合使用物理的和虚拟的服务器,将高容量的和在性能方面更加敏感的应用程序放在物理服务器上。
|
结束语
硬件和虚拟化技术方面的进步为虚拟化的实现提供了绝佳的机会。虚拟化可以通过服务器整合减少潜在的成本,并且通过虚拟镜像的使用,为改进安装、配置和部署过程提供了可能性。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者