升级过程

注意

由于大多数AEM升级都是就地执行的,因此升级过程将需要创作层停机。 通过遵循这些最佳实践,可以最大限度地减少或消除发布层停机时间。

在升级AEM环境时,您需要考虑升级创作环境或发布环境之间在方法上的差异,以便最大限度地减少作者和最终用户的停机时间。 本页概述了升级当前在AEM 6.x版本上运行的AEM拓扑的高级过程。由于创作层和发布层以及基于Mongo和TarMK的部署之间的过程不同,因此每个层和微内核都已在单独的部分中列出。 执行部署时,我们建议您先升级创作环境,确定成功与否,然后继续访问发布环境。

TarMK创作层

启动拓扑

此部分假定的拓扑由在TarMK上运行的具有冷备用的作者服务器组成。 从创作服务器复制到TarMK发布场。 虽然此处未说明,但此方法也可用于使用卸载的部署。 请确保在创作实例上禁用复制代理后并在重新启用它们之前,在新版本上升级或重新构建卸载实例。

tarmk_starting_topology

升级准备

upgrade-preparation-author

  1. 停止内容创作

  2. 停止备用实例

  3. 在作者上禁用复制代理

  4. 运行升级前维护任务

升级执行

execute_upgrade

  1. 运行就地升级

  2. 如果需要,请更新调度程序模块​**

  3. QA将验证升级

  4. 关闭创作实例。

如果成功

if_successful

  1. 复制已升级的实例以创建新的Cold Standby

  2. 启动创作实例

  3. 启动备用实例。

如果失败(回滚)

回滚

  1. 启动冷备用实例作为新主实例

  2. 从冷备用环境重建创作环境。

MongoMK创作群集

启动拓扑

此部分的假定拓扑由MongoMK创作群集组成,该群集至少具有两个AEM创作实例,并由至少两个MongoMK数据库作为后盾。 所有创作实例都共享一个数据存储。 这些步骤应同时适用于S3和文件数据存储。 从创作服务器复制到TarMK发布场。

mongo拓扑

升级准备

mongo-upgrade_prep

  1. 停止内容创作
  2. 克隆数据存储以进行备份
  3. 停止除一个AEM创作实例(主作者)之外的所有其他实例
  4. 从副本集(主Mongo实例)中删除除一个MongoDB节点之外的所有节点
  5. 更新主作者上的DocumentNodeStoreService.cfg文件,以反映您的单个成员副本集
  6. 重新启动主作者,以确保正确重新启动
  7. 在主作者上禁用复制代理
  8. 在主Author实例上运行升级前维护任务
  9. 如有必要,请使用WiredTiger将主Mongo实例上的MongoDB升级到版本3.2

升级执行

mongo execution

  1. 在主作者上运行就地升级
  2. 如果需要,请更新调度程序或Web模块​**
  3. QA将验证升级

如果成功

mongo-secondaries

  1. 创建新的6.5创作实例,该实例已连接到已升级的Mongo实例

  2. 重建已从群集中删除的MongoDB节点

  3. 更新DocumentNodeStoreService.cfg文件以反映完整的副本集

  4. 重新启动创作实例,一次一个

  5. 删除克隆的数据存储。

如果失败(回滚)

mongo-rollback

  1. 重新配置辅助创作实例以连接到克隆的数据存储

  2. 关闭已升级的创作主实例

  3. 关闭已升级的Mongo主实例。

  4. 启动次Mongo实例,其中一个实例作为新主实例

  5. 在辅助Author实例上配置DocumentNodeStoreService.cfg文件,以指向尚未升级的Mongo实例的副本集

  6. 启动辅助创作实例

  7. 清理已升级的创作实例、Mongo节点和数据存储。

TarMK发布场

TarMK发布场

此部分的假定拓扑由两个TarMK发布实例组成,Dispatcher前面有两个TarMK发布实例,后面有负载平衡器。 从创作服务器复制到TarMK发布场。

tarmk-pub-farmv5

升级执行

upgrade-publish2

  1. 在负载平衡器中停止Publish 2实例的流量
  2. 在发布2中运行升级前维护
  3. 在发布2中运行就地升级
  4. 如果需要,请更新调度程序或Web模块​**
  5. 刷新Dispatcher缓存
  6. QA将验证通过防火墙后的Dispatcher发布2
  7. 关闭发布2
  8. 复制Publish 2实例
  9. 开始发布2

如果成功

upgrade-publish1

  1. 启用流量以发布2
  2. 停止流量以发布1
  3. 停止Publish 1实例
  4. 将Publish 1实例替换为Publish 2的副本
  5. 如果需要,请更新调度程序或Web模块​**
  6. 刷新Publish 1的Dispatcher缓存
  7. 开始发布1
  8. QA将验证通过防火墙后的Dispatcher发布1

如果失败(回滚)

pub_rollback

  1. 创建发布1的副本
  2. 将Publish 2实例替换为Publish 1的副本
  3. 刷新Publish 2的调度程序缓存
  4. 开始发布2
  5. QA将验证通过防火墙后的Dispatcher发布2
  6. 启用流量以发布2

最终升级步骤

  1. 启用流量以发布1
  2. QA会通过公共URL执行最终验证
  3. 从创作环境中启用复制代理
  4. 恢复内容创作
  5. 执行升级后检查

final

在此页面上