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操作系统需要连接SUSE SMT更新源。如果您是从阿里云云市场购买使用的付费SLES for SAP镜像(如何判断ECS使用的镜像是否是SLES for SAP付费镜像?),它已经预置了授权并且默认配置了阿里云SUSE SMT更新源,可以直接进行升级操作。
- 如果您使用的是自定义镜像,需要持有SUSE registration code,注册并连接到SUSE官方SMT更新源(How to register SLES using the SUSEConnect)可以进行小版本升级操作,但不支持大版本升级操作。
- 规划停机窗口,确保SAP应用和数据库的服务处于停止状态。
- 升级前强烈建议做好备份,您可以参考单块云盘快照或者多个云盘快照。如果您已经购买了HBR产品服务,可以使用创建ECS整机备份
- 请确保系统盘有足够的空间,如需扩容请参考在线扩容云盘(Linux系统)。
解决方案一(小版本升级)
以下操作以SLES for SAP 12 SP4升级到SLES for SAP 12 SP5为例描述操作流程:
- 在任意节点上执行以下命令,将集群设置为维护模式。
说明:单机环境请直接跳至步骤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
- 执行以下命令,停止集群服务。
systemctl stop pacemaker
- 按顺序停止SAP应用和数据库服务。
- 登录要升级的ECS服务器,执行以下命令,刷新SMT repository。
zypper ref
系统显示类似如下。
说明:如果您使用的是自定义镜像,默认并没有配置SMT更新源,需要手动注册并连接到SUSE官方的更新源才能进行后续的操作,手动注册的命令如下:
SUSEConnect --regcode <YOUR_REGISTRATION_CODE>
- 执行以下命令,安装最新的更新。
zypper patch
- 执行以下命令,安装zypper-migration-plugin组件。
zypper in zypper-migration-plugin
- 运行更新程序,选择要升级到的目标版本。
选择1,升级到SLES for SAP 12 SP5zypper 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 - 确认有变更的组件信息,尤其是将要删除的包。输入y继续(要升级的软件包数量可能因为不同的系统存在差异)。
- 阅读并确认许可条款,输入yes,回车。
Do you agree with the terms of the license? [yes/no] (no): yes
- 安装成功后重启ECS,执行以下命令,验证升级后的操作系统版本。
cat /etc/issue
系统显示类似如下。Welcome to SUSE Linux Enterprise Server for SAP Applications 12 SP5 (x86_64) - Kernel \r (\l).
- 在另一个节点执行步骤2-10。
- 集群两个节点都成功升级后,启动集群服务。
systemctl start pacemaker
说明:单机环境的场景需要手动启动数据库和SAP应用。
- 在任意节点上执行以下命令,关闭集群维护模式。
crm configure property maintenance-mode=false
- 执行以下命令,验证集群服务。
crm_mon -r
系统显示类似如下。
解决方案二(大版本升级)
以下操作以SLES for SAP 12 SP5升级到SLES for SAP 15 SP1为例描述操作流程:
- 在任意节点上执行以下命令,将集群设置为维护模式。
说明:单机环境请直接跳至步骤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
- 停止集群服务。
systemctl stop pacemaker
- 验证更新服务SMT的连接状态。
SUSEConnect -s
SLES 12/SLES for SAP 12版本激活正常的结果,类似如下:
[{"identifier":"SLES_SAP","version":"12.5","arch":"x86_64","status":"Registered"}]
- 安装升级必需用组件。
SUSEConnect -p sle-module-public-cloud/12/x86_64
zypper in SLES15-Migration - 执行升级程序。
sudo run_migration
整个升级过程中预计需要15-30分钟,升级过程中尝试SSH连接会出现如下提示:
The client has disconnected from the server. Reason:
Unable to authenticate using any of the configured authentication methods.
- 升级成功后会登录ECS,执行以下命令,验证升级后的操作系统版本。
cat /etc/issue
系统显示类似如下。Welcome to SUSE Linux Enterprise Server for SAP Applications 15 SP1 (x86_64) - Kernel \r (\l).
- 在另一个节点执行步骤2-6。
- 集群两个节点都成功升级后,启动集群服务。
systemctl start pacemaker
说明:单机环境的场景需要手动启动数据库和SAP应用。
- 在任意节点上执行以下命令,关闭集群维护模式。
crm configure property maintenance-mode=false
- 执行以下命令,验证集群服务。
crm_mon -r
系统显示类似如下。
参考文档
文档内容是否对您有帮助?