SLES/SLES for SAP的操作系统如何升级到新版本?

更新时间:

问题描述

由于业务需要,您想升级SUSE Linux Enterprise Server(SLES)/SUSE Linux Enterprise Server for SAP(SLES for SAP)操作系统到新的版本。

适用于

  • SLES 12/15 或 SLES for SAP 12/15小版本(support package)升级,SUSE官方支持的升级路径如下:
  • SLES 12升级到SLES 15的大版本(major release)升级
  • SLES for SAP 12升级到SLES for SAP 15的大版本(major release)升级

升级路径

准备和使用限制

解决方案一(小版本升级)

以下操作以SLES for SAP 12 SP4升级到SLES for SAP 12 SP5为例描述操作流程:

  1. 在任意节点上执行以下命令,将集群设置为维护模式。
    说明:单机环境请直接跳至步骤3。
    crm configure property maintenance-mode=true
    设置成功后,执行以下命令,确认所有资源都是unmanaged状态。
    crm_mon -r
    系统显示类似如下。
    说明:如果还有没被unmanaged的资源,需要手工将其设置成unmanaged,命令语法如下:

    crm resource maintenance <resource name> true

    例如,手工设置图中HANA HDB的资源的命令如下:

    crm resource maintenance rsc_SAPHana_HDB true

  2. 执行以下命令,停止集群服务。
    systemctl stop pacemaker
  3. 按顺序停止SAP应用和数据库服务。
  4. 登录要升级的ECS服务器,执行以下命令,刷新SMT repository。
    zypper ref
    系统显示类似如下。
    说明:如果您使用的是自定义镜像,默认并没有配置SMT更新源,需要手动注册并连接到SUSE官方的更新源才能进行后续的操作,手动注册的命令如下:
    SUSEConnect --regcode <YOUR_REGISTRATION_CODE>
  5. 执行以下命令,安装最新的更新。
    zypper patch
  6. 执行以下命令,安装zypper-migration-plugin组件。
    zypper in zypper-migration-plugin
  7. 运行更新程序,选择要升级到的目标版本。
    选择1,升级到SLES for SAP 12 SP5
    zypper migration
    系统显示类似如下。
    Executing 'zypper  refresh'
    Repository 'SLE-12-SP4-SAP-Updates' is up to date.                                                                                                                     
    Repository 'SLE-HA12-SP4-Pool' is up to date.                                                                                                                          
    Repository 'SLE-HA12-SP4-Updates' is up to date.                                                                                                                       
    Repository 'SLE-Module-Public-Cloud12-Updates' is up to date.                                                                                                          
    Repository 'SLE-Module-Toolchain12-Updates' is up to date.                                                                                                             
    Repository 'SLE-SDK12-SP4-Updates' is up to date.                                                                                                                      
    Repository 'SLE12-SP4-SAP-Pool' is up to date.                                                                                                                         
    Repository 'SLES12-SP4-Pool' is up to date.                                                                                                                            
    Repository 'SLES12-SP4-Updates' is up to date.                                                                                                                         
    All repositories have been refreshed.

    Executing 'zypper  --no-refresh patch-check --updatestack-only'

    Loading repository data...
    Reading installed packages...

    Considering 0 out of 389 applicable patches:
    0 patches needed (0 security patches)

    Available migrations:

        1 | SUSE Linux Enterprise Server for SAP Applications 12 SP5 x86_64
           

    [num/q]: 1
  8. 确认有变更的组件信息,尤其是将要删除的包。输入y继续(要升级的软件包数量可能因为不同的系统存在差异)。
  9. 阅读并确认许可条款,输入yes,回车。
    Do you agree with the terms of the license? [yes/no] (no): yes
  10. 安装成功后重启ECS,执行以下命令,验证升级后的操作系统版本。
    cat /etc/issue
    系统显示类似如下。
    Welcome to SUSE Linux Enterprise Server for SAP Applications 12 SP5  (x86_64) - Kernel \r (\l).
  11. 在另一个节点执行步骤2-10。
  12. 集群两个节点都成功升级后,启动集群服务。
    systemctl start pacemaker
    说明:单机环境的场景需要手动启动数据库和SAP应用。
  13. 在任意节点上执行以下命令,关闭集群维护模式。
    crm configure property maintenance-mode=false
  14. 执行以下命令,验证集群服务。
    crm_mon -r
    系统显示类似如下。

解决方案二(大版本升级)

以下操作以SLES for SAP 12 SP5升级到SLES for SAP 15 SP1为例描述操作流程:

  1. 在任意节点上执行以下命令,将集群设置为维护模式。
    说明:单机环境请直接跳至步骤3。
    crm configure property maintenance-mode=true
    设置成功后,执行以下命令,确认所有资源都是unmanaged状态。
    crm_mon -r
    系统显示类似如下。
    说明:如果还有没被unmanaged的资源,需要手工将其设置成unmanaged,命令语法如下:

    crm resource maintenance <resource name> true

    例如,手工设置图中SAP HANA HDB的资源的命令如下:

    crm resource maintenance rsc_SAPHana_HDB true

  2. 停止集群服务。
    systemctl stop pacemaker
  3. 验证更新服务SMT的连接状态。
    SUSEConnect -s

    SLES 12/SLES for SAP 12版本激活正常的结果,类似如下:

    [{"identifier":"SLES_SAP","version":"12.5","arch":"x86_64","status":"Registered"}]
  4. 安装升级必需用组件。
    SUSEConnect -p sle-module-public-cloud/12/x86_64
    zypper in SLES15-Migration
  5. 执行升级程序。
    sudo run_migration

    整个升级过程中预计需要15-30分钟,升级过程中尝试SSH连接会出现如下提示:

    The client has disconnected from the server. Reason:

    Unable to authenticate using any of the configured authentication methods.

  6. 升级成功后会登录ECS,执行以下命令,验证升级后的操作系统版本。
    cat /etc/issue
    系统显示类似如下。
    Welcome to SUSE Linux Enterprise Server for SAP Applications 15 SP1  (x86_64) - Kernel \r (\l).
  7. 在另一个节点执行步骤2-6。
  8. 集群两个节点都成功升级后,启动集群服务。
    systemctl start pacemaker
    说明:单机环境的场景需要手动启动数据库和SAP应用。
  9. 在任意节点上执行以下命令,关闭集群维护模式。
    crm configure property maintenance-mode=false
  10. 执行以下命令,验证集群服务。
    crm_mon -r
    系统显示类似如下。

参考文档