关于滚动升级

要升级应用程序而不使用户遭受任何服务损失,请每次在一个服务器或群集上升级应用程序。群集以透明方式维护一个混合版本环境,用户不会察觉到正在进行升级。这种类型的升级称为滚动升级。

只有在旧版本和新版本的应用程序兼容并且能够同时运行的情况下,才能执行滚动升级。会话信息必须可以兼容。可以在单个独立群集或在多个群集中执行混合模式的滚动升级。

如果应用程序发生重大更改(例如,对数据库模式的更改),则无法执行混合模式环境中的滚动升级。在这种情况下,升级时必须关闭此应用程序。

在单个独立群集中进行升级

要在单个独立群集(即不与任何其他群集共享配置的群集)中升级应用程序,请执行以下步骤:

  1. 保存旧版本的应用程序或备份域。
  2. 关闭群集的动态重新配置(如果已启用)。
  3. 通过管理控制台:

    1. 展开“配置”节点。
    2. 单击群集配置的名称。
    3. 在“配置系统属性”页面中,取消选中“已启用动态重新配置”框。
    4. 单击“保存”
    5. 等效的 asadmin 命令为 asadmin set。语法为:

      asadmin set --user user --passwordfile password_file cluster_name-config.dynamic-reconfiguration-enabled=true

  4. 将已升级的应用程序重新部署到目标 domain 中。如果使用管理控制台进行重新部署,域将自动成为目标。由于已禁用动态重新配置,因此旧应用程序将继续在群集上运行。
  5. 使用 asadmin enable-http-lb-application 为实例启用已重新部署的应用程序。
  6. 使用 asadmin disable-http-lb-server 禁用一个服务器实例。
  7. 使用 asadmin export-http-lb-config 导出负载平衡器配置文件。
  8. 将已导出的配置文件复制到 Web 服务器实例的配置目录。例如,对于 Sun ONE Web Server,其位置为 web-server-install-dir/https-host-name/config/loadbalancer.xml
  9. 请等待,直至超时值到期。监视负载平衡器的日志文件以确保实例已脱机。
  10. 在群集中的其他实例仍处于运行状态的情况下,重新启动已禁用的服务器实例。重新启动操作将使服务器与域同步,并更新应用程序。
  11. 测试重新启动的服务器上的应用程序,以确保应用程序运行正常。
  12. 使用 asadmin enable-http-lb-server 启用服务器实例。
  13. 使用 asadmin export-http-lb-config 导出负载平衡器配置文件。
  14. 将配置文件复制到 Web 服务器的配置目录。
  15. 对群集中的每个实例重复步骤 5步骤 13
  16. 当所有服务器实例都包含新的应用程序并且处于运行状态时,便可以再次为群集启用动态重新配置。

在两个群集中进行升级

  1. 保存旧版本的应用程序或备份域。
  2. 关闭两个群集的动态重新配置(如果已启用)。
  3. 通过管理控制台:

    1. 展开“配置”节点。
    2. 单击其中一个群集配置的名称。
    3. 在“配置系统属性”页面中,取消选中“已启用动态重新配置”框。
    4. 单击“保存”
    5. 对第二个群集重复此过程。
    6. 等效的 asadmin 命令为 asadmin set。语法为:

      asadmin set --user user --passwordfile password_file cluster_name-config.dynamic-reconfiguration-enabled=true

  4. 将已升级的应用程序重新部署到目标 domain 中。如果使用管理控制台进行重新部署,域将自动成为目标。由于已禁用动态重新配置,因此旧应用程序将继续在群集上运行。
  5. 使用 asadmin enable-http-lb-application 为群集启用已重新部署的应用程序。
  6. 使用 asadmin disable-http-lb-server 从负载平衡器上禁用其中一个群集。
  7. 使用 asadmin export-http-lb-config 导出负载平衡器配置文件。
  8. 将已导出的配置文件复制到 Web 服务器实例的配置目录。例如,对于 Sun ONE Web Server,其位置为 web-server-install-dir/https-host-name/config/loadbalancer.xml
  9. 请等待,直至超时值到期。监视负载平衡器的日志文件以确保群集已脱机。
  10. 在另一个群集仍处于运行状态的情况下,重新启动已禁用的群集。重新启动操作将导致群集与域同步,并更新应用程序。
  11. 测试重新启动的群集上的应用程序,以确保应用程序运行正常。
  12. 使用 asadmin enable-http-lb-server 启用群集。
  13. 使用 asadmin export-http-lb-config 导出负载平衡器配置文件。
  14. 将配置文件复制到 Web 服务器的配置目录。
  15. 对另一个群集重复步骤 5步骤 13
  16. 当所有服务器实例都包含新的应用程序并且处于运行状态时,便可以再次为这两个群集启用动态重新配置。

法律通告