迁移集群环境中的 WebSphere Commerce
2010-09-27 08:31:09 来源:WEB开发网引言
官方迁移指南中已清楚地记录了用于将 WebSphere Commerce 迁移到最新版本的方法和逐步说明。本文将讨论用于迁移集群环境中的 WebSphere Commerce 的策略,并且是对官方文档的补充。该策略将重用现有的硬件。并采取相关预防措施以显著减少迁移过程期间的停机时间。在迁移过程期间,您将创建一个新集群。一旦对迁移后的环境进行了测试,您就可以将新的集群投入生产应用。
本文中使用的示例基于从 WebSphere Commerce 版本 5.5、5.6.0 或 5.6.1 到版本 6.0 的迁移场景。在迁移到版本 5.6.0 或 5.6.1 时,您可以使用类似的方法。
优点
使用集群 WebSphere Commerce 环境有两个优点:
分布式工作负载管理:可以通过添加新计算机来处理额外负载,从而进行扩展。
故障转移:如果一台计算机失败,其他计算机可以接管并继续处理请求。
记住这些优点以后,本文将讨论用于迁移集群环境中的 WebSphere Commerce 的策略,以便您仍然能够利用集群所提供的优点。在迁移集群环境以后,生产站点将使用与以前相同的硬件。使用本文所述的方法,整个迁移过程不需要任何新硬件。
此外,如果旧的生产站点体系结构包含 Web 服务器集群和应用程序服务器集群,则通过遵循本文所述的步骤,新迁移后的站点仍然具有 Web 服务器和应用程序服务器集群。使用此策略,即使在迁移以后,您仍然可以获得故障转移保护和工作负载平衡的优点。
迁移 WebSphere Commerce 集群的风险非常小。您的生产站点在迁移过程中的大多数时间内仍然在运行。在遵循本文列出的策略时,只有在备份和迁移数据库时才需要关闭生产站点。因此,迁移 WebSphere Commerce 站点所导致的停机时间被减至最小。
图 1 演示了要迁移的环境。
图 1. 原始 WebSphere Commerce 环境目标
本迁移策略的目标为:
在迁移后维持故障转移保护和工作负载平衡。
重用现有硬件。
最小化停机时间。
最小化在迁移到新版本时的风险。
为了支持故障转移和工作负载平衡,您使用了一个集群的 WebSphere Commerce 版本 5.x 环境。在迁移该站点之后,新环境应该可以使用相同级别的故障转移支持和工作负载平衡。当前生产站点由三个层组成:数据库、应用程序和 Web 服务器。如图 1 所示,Web 服务器层至少有两台物理计算机。负载平衡器将 Internet 流量路由到 Web 服务器。应用程序层是至少有两个物理系统的集群。WebSphere Network Deployment Manager 用于管理该应用程序服务器集群,但是由于网络部署管理器不参与工作负载平衡,因此在图 1 中未显示它。
迁移阶段
迁移项目由三个阶段组成:规划、测试迁移和生产迁移。本文讨论在每个阶段中实现前述目标所需要完成的操作。
规划阶段
任何迁移项目中的关键阶段都是规划阶段。对于此迁移策略,您务必要规划、规划、再规划!此策略中的规划将受到以下因素的影响:
您将重用现有的硬件。
该迁移项目最长可能持续几个月。
生产站点将会减少部分容量。
因此,您必须制定容量规划,解决如何在迁移项目和生产站点之间分配硬件。您还应该有应急计划。
表 1 显示了可降低风险和最小化停机时间的建议迁移方法。
表 1. 迁移集群中的 WebSphere Commerce
步骤 | 目标 | 高级步骤 | 详细步骤 |
1 | 在生产站点正常运行的同时,安装新的软件堆栈并升级到最新 Fixpack 级别。 | 安装 WebSphere Commerce V6.0。 | 安装新的 Web 服务器软件,使其与原有的共存。 安装新的应用程序服务器软件,使其与原有的共存。 在应用程序服务器层上安装 WebSphere Commerce V6.0,使其与原有的共存。 安装新的数据库软件,使其与原有的共存。 |
2 | 为测试迁移和集群做准备。 | 停止应用程序更新。 | |
3 | 在对运行的生产站点具有最小影响的情况下执行迁移。 | 从现有环境删除节点以用于迁移。 | 从 Web 服务器层删除一台主计算机。 从应用程序层删除一台主计算机。 |
4 | 迁移 WebSphere Commerce。 | 使用删除的硬件来执行测试迁移。 | 迁移数据库的副本。 在同一节点上迁移应用程序。 将 Web 服务器迁移到不同的主机名称。 根据需要部署自定义配置。 测试迁移后的 WebSphere Commerce 实例。 |
5 | 在当前应用程序仍在运行的同时,构建并测试新的应用程序集群。 | 集群迁移后的应用程序。 | 联合应用程序层中的所有节点。 基于迁移后的应用程序创建一个新的应用程序集群。 在应用程序层中的所有其他节点上添加集群成员。 测试新的应用程序集群。 |
6 | 为生产迁移做准备。 | 关闭生产站点。 | |
7 | 配置 Web 服务器来为生产运行做好准备。 | 重新集群 Web 服务器层。 | 将 Web 服务器配置传播到 Web 服务器层中的所有节点。 根据需要重新配置负载平衡器。 |
8 | 为生产运行而配置数据库层和应用程序层。 | 迁移数据库层 | 迁移具有最新数据的生产数据库。 根据需要配置应用程序集群,以连接到迁移后的生产数据库。 |
9 | 将新迁移后的站点重新投入生产运行。 | 重新启动生产站点。 | 测试迁移后的站点。 将负载平衡器重新连接到 Internet。 |
测试迁移阶段
测试迁移阶段由表 1 中的步骤 1 至步骤 5 组成:
安装 WebSphere Commerce V6.0。有关安装说明,请参见 WebSphere Commerce Installation Guide。
停止应用程序更新。
从现有环境删除节点以用于迁移。
使用删除的硬件来执行测试迁移。
集群迁移后的应用程序。
生产集群在整个测试阶段期间保持运行。它不受测试迁移中任何活动的影响。务必记住,一旦开始构建和测试与 V5 应用程序共存的新的 V6 应用程序,您将看到系统资源消耗会增加。您需要预先为容量做好规划,并计划在非高峰时间执行任何负载测试。
如果有要迁移的自定义代码,您可能需要在安装 WebSphere Commerce(步骤 1)之前迁移开发环境。WebSphere Commerce Migration Guide 对用于迁移和在开发环境中测试自定义代码的说明作了文档记录。
安装 WebSphere Commerce
第一步是在生产计算机上安装 WebSphere Commerce 及其堆栈软件。在执行安装时,务必记住以下建议:
为支持 WebSphere Application Server 与 Network Deployment Manager 的共存,请确保选择与该软件的原始版本不同的端口。
在属于 Web 服务器集群的所有节点上安装 Web 服务器程序的新版本。
在计划用于测试迁移的节点上安装 WebSphere Commerce。
在数据库节点上安装数据库管理系统的新版本。
在属于应用程序集群的所有节点上安装 WebSphere Application Server。
如果必须升级操作系统的版本,则应选择同时受该软件的旧版本和新版本支持的操作系统版本。
停止应用程序更新
测试迁移阶段期间迁移的应用程序将在以后投入生产运行。因此,在从测试迁移开始时到完成生产迁移时之间,应用程序一定不能有任何更改。您可以在迁移成功完成后恢复应用程序更新。
从生产集群删除硬件以用于测试迁移
为了最小化此迁移策略中的风险,您必须从 Web 服务器层删除一台主计算机,从应用程序层删除一台主计算机。
关闭该主计算机上的 5.x 版 WebSphere Application Server 和 Node Agent 以用于测试。其他节点上的集群成员保持运行,以便它们自动接管工作负载。
关闭要用于测试的主计算机上的 Web 服务器程序,例如 IBM HTTP 服务器。负载平衡器自动将来自 Internet 的流量路由到其他 Web 服务器。
在此步骤之后,生产站点将在整个测试阶段期间以减少后的容量运行。如果您的每个层只有两台物理计算机,则生产站点将会失去故障转移保护和工作负载管理。
在从生产集群删除的硬件上执行测试迁移。
WebSphere Commerce Migration Guide 对用于执行测试迁移的说明作了清楚的文档记录。我们这里只列出高级步骤:
创建生产数据库的随机快照以用于还原到测试数据库。如果可能的话,可以执行在线备份以避免关闭生产站点。
在前一步中删除的硬件上,使用 Migration Wizard 执行所有层的测试迁移:数据库、应用程序和 Web 服务器。
根据需要部署自定义代码。
测试迁移后的 WebSphere Commerce 应用程序。将测试集中于确定功能性问题。
在此步骤之后,WebSphere Commerce 应用程序迁移到了具有测试数据库的非集群环境。生产站点仍然与测试站点并行运行。
集群 WebSphere Commerce Enterprise 应用程序
在此步骤中应该谨慎,因为它在生产硬件上执行许多任务。在执行那些任务前,请参见 WebSphere Commerce Installation Guide 中的说明:
安装新版本的 WebSphere Network Deployment(如果还未安装的话)。您可以使用安装当前 WebSphere Network Deployment 的相同硬件。
将该节点与迁移后的应用程序联合,并创建迁移后的应用程序的集群。此时,您拥有了一个新的 WebSphere Commerce V6.0 集群,其中只有一个集群成员。
将所有其他 WebSphere Commerce V6.0 节点联合到新单元中。
向新的 WebSphere Commerce V6.0 集群添加其他集群成员。更新测试 Web 服务器上的 Web 服务器插件配置。
跨应用程序层中的所有节点测试迁移后的集群。首先,确保集群中的故障转移和其他功能正常工作,然后侧重于新群集的性能和可伸缩性问题。
当新的应用程序集群运行时,生产站点的容量进一步减少,因为同一计算机在同时运行 WebSphere Commerce V5.x 和 V6.0 集群。
如图 2 所示,迁移后的集群连接到单个 Web 服务器和测试数据库。在集群前对应用程序所做的任何自定义都将分布到整个群集。
注意:在构建新的 WebSphere Commerce V6.0 集群以后,除了测试功能以外,在将新站点投入生产运行之前,还务必执行全面的负载测试和性能优化。若要获得有关这方面的帮助,请与 Advanced Technical Services (ATS) 团队的 Steven Godfrey 联系(905-413-2369 或 sgodfrey@ca.ibm.com)。ATS 团队提供收费服务来帮助确保系统稳定性、最小化风险并达到您的性能目标。
图 2. 跨应用程序层所有节点迁移的集群生产迁移阶段
集群环境中的生产迁移持续时间较短。生产迁移阶段由表 1 中的步骤 6 至步骤 9 组成:
关闭生产站点。
重新集群 Web 服务器层。
迁移数据库层并配置应用程序层。
重新启动生产站点。
关闭生产站点。
若要执行生产迁移,您必须关闭生产站点。这是因为当数据正在使用时,您无法迁移数据库。通过创建维护页面来将停机时间通知客户。数据库是要迁移的最后一项,以包括自从测试迁移来所做的任何更改。应用程序层和 Web 服务器层不需要再次迁移。
重新集群 Web 服务器层
执行下列步骤来为迁移后的站点配置 Web 服务器层。
将 Web 服务器配置传播到所有其他 Web 服务器节点。例如对于 IBM HTTP 服务器,可以将 httpd.conf 文件复制到所有其他 Web 服务器。
根据需要在负载平衡器上注册新的 Web 服务器主机名称并注销旧的主机名称。
迁移数据库层并配置应用程序层
最后一次迁移生产数据。可以通过直接迁移原始数据库来节省时间。建议执行下列步骤:
备份生产数据库。
按照 WebSphere Commerce Migration Guide 的说明迁移原始数据库。
如有必要,可以重新定义应用程序服务器上的数据源,以指向新迁移后的数据库。
将新迁移后的站点投入生产运行
在将站点恢复到生产运行前,应最后一次对其进行测试。
验证数据已成功迁移。
验证应用程序在使用正确的数据库。
验证 Web 服务器集群能正常工作。
删除维护页面,并将所有三个层都具有完整容量的生产站点恢复在线。
生产站点现已成功迁移并且可供客户使用。
注意:如果您决定切换回旧的生产站点,则必须执行下列步骤:
备份新的生产数据库并还原旧的生产数据库。
关闭新的 WebSphere Commerce V6.0 集群和 Web 服务器。
启动旧的 WebSphere Commerce V5.x 集群和 Web 服务器。
结束语
本文列出了相关方法和步骤,介绍如何迁移高度可伸缩环境中的 WebSphere Commerce,同时维持故障转移保护和工作负载平衡。这些准则允许您重用现有的硬件以削减成本,并帮助您通过最小化生产站点的停机时间来继续获得收入。本文描述的策略已得到我们客户的成功运用,是用于迁移集群环境中的 WebSphere Commerce 的推荐方法。
更多精彩
赞助商链接