管理 - SAPHANAon AWS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理

本节提供操作SAPHANA系统所需的常见管理任务的指导,包括有关启动、停止和克隆系统的信息。

启动和停止运行SAPHANA主机的EC2实例

您可以随时停止一台或多SAPHANA台主机。在停止SAPHANA主机的EC2实例之前,请先在该实例SAPHANA上停下来。

恢复实例时,它将自动使用与以前相同的 IP 地址、网络和存储配置启动。您还可以选择使用EC2计划程序来安排EC2实例的启动和停止。EC2调度程序依赖于操作系统的本机关闭和启动机制。这些原生机制将调用您的SAPHANA实例的有序关闭和启动。以下是EC2调度器工作原理的架构图:

EC2调度器

图 1:EC2调度程序

将SAP资源标记为 AWS

为SAP资源添加标签 AWS 可以显著简化这些资源的识别、安全性、可管理性和计费。您可以使用 AWS 管理控制台或 AWS Command Line Interface (AWS CLI) 的create-tags功能为资源添加标签。此表列出了一些示例标记名称和标记值:

标记名称 标签值
名称 SAP服务器的虚拟(主机)名称
环境 SAP服务器的横向角色;例如:SBX、DEV、QAT、STG、PRD。
应用程序 SAP解决方案或产品;例如:ECC、、BW CRM、PI、、SCMSRM、EP
所有者 SAP联系人
服务等级 已知的正常运行时间和停机时间计划表

标记资源后,您可以根据标记值应用特定的安全限制,例如访问控制。以下是 Sec AWS urity 博客中此类策略的示例:

{ "Version" : "2012-10-17", "Statement" : [ { "Sid" : "LaunchEC2Instances", "Effect" : "Allow", "Action" : [ "ec2:Describe*", "ec2:RunInstances" ], "Resource" : [ "*" ] }, { "Sid" : "AllowActionsIfYouAreTheOwner", "Effect" : "Allow", "Action" : [ "ec2:StopInstances", "ec2:StartInstances", "ec2:RebootInstances", "ec2:TerminateInstances" ], "Condition" : { "StringEquals" : { "ec2:ResourceTag/PrincipalId" : "${aws:userid}" } }, "Resource" : [ "*" ] } ] }

Ident AWS ity and Access Management (IAM) 策略仅允许基于标签值的特定权限。在这种情况下,当前用户 ID 必须匹配标记值,以便向用户授予权限。有关标记的更多信息,请参阅AWS 文档AWS 博客

监控

您可以使用各种 AWS第三方解决方案来监控您的SAP工作负载。SAP以下是一些核心 AWS 监控服务:

  • Amazon CloudWatch — CloudWatch 是一项 AWS 资源监控服务。对于用于收集资源利用率日志和创建警报以自动响应资源变化SAP的工作负载来说,这一点至关重要。 AWS

  • AWS CloudTrail— CloudTrail 跟踪您 AWS 账户内API拨打的所有电话。它可以捕获有关API调用的关键指标,可用于自动为您的SAP资源创建跟踪。

要获取 AWS 和SAP支持,必须为SAP资源配置 CloudWatch 详细监控。您可以将本机 AWS 监控服务与SAP解决方案管理器配合使用。您可以在 Marketpl AWS ace 中找到第三方监控工具。

自动化

AWS 提供了多种选项,可通过编程方式编写资源脚本,以便以可预测和可重复的方式对其进行操作或扩展。您可以使用 AWS CloudFormation 来自动化和操作SAP系统 AWS。以下是一些实现SAP环境自动化的示例: AWS

领域 活动 AWS 服务
基础设施部署

配置新SAP环境

SAP系统克隆

AWS CloudFormation

AWS CLI

容量管理

自动扩展/横向扩展应用程序服务器 SAP

AWS Lambda

AWS CloudFormation

操作

SAP备份自动化(参见备份示例

执行监控和可视化

亚马逊 CloudWatch AWS Systems Manager

修补

您可以通过两种方法来修补SAPHANA数据库,一种是最大限度地减少成本和/或停机时间。借助 AWS,您可以根据需要配置更多服务器,以经济实惠的方式最大限度地减少修补停机时间。您还可以按需创建现有生产SAPHANA数据库的副本,以进行逼真的生产就绪性测试,从而最大限度地降低风险。

下表汇总了两种修补方法的利弊:

修补方法

优点

权衡取舍

可用技术

修补现有服务器

额外的按需实例不收取任何费用

所涉及的相对复杂程度和设置任务最低

需要修补现有的操作系统和数据库

现有服务器和数据库停机时间最长

本机操作系统修补工具 Patch Manager

原生SAPHANA修补工具

预置和修补新服务器

利用最新版本AMIs(只需要数据库补丁)

现有服务器和数据库的停机时间最短

可以选择单独或一起修补和测试操作系统和数据库

额外按需实例的成本更高

涉及更多的复杂性和设置任务

Amazon 机器映像 (AMI)

AWS CLI

AWS CloudFormation

SAPHANA系统复制SAPHANA系统克隆SAPHANA备份

SAP备注:

1984882-使用HANA系统复制进行硬件交换,停机时间最小/为零

1913302-HANA: 暂停数据库连接以执行短期维护任务

第一种方法(修补现有服务器)涉及修补SAPHANA服务器的操作系统 (OS) 和数据库 (DB) 组件。此方法的目标是最大限度地减少任何额外的服务器成本,并避免产生设置额外系统或测试所需的任何任务。如果您具有明确定义的修补过程,并且对您当前的停机时间和成本感到满意,则此方法可能是最合适的。使用此方法,您必须为 Linux 发行版使用正确的操作系统 (OS) 更新过程和工具。请参阅此SUSE博客Red Hat FAQ,或查看每家供应商的文档,了解其具体流程和程序。

除了我们的 Linux 合作伙伴提供的修补工具外,还AWS 提供名为 Patch Manager 的免费修补服务。Patch Manager 是一种自动化工具,可以帮助您简化操作系统的修补流程。您可以扫描您的EC2实例中是否缺少补丁并自动安装它们,选择补丁发布的时间,控制实例重启以及许多其他任务。您还可以为补丁定义自动批准规则,从而获得以下额外功能:将特定补丁加入黑名单或白名单、控制补丁在目标实例上的部署方式(例如,应用补丁前停止服务)以及安排在维护期间进行自动部署。

第二种方法(配置和修补新服务器)涉及配置一个新EC2实例,该实例将接收源系统和数据库的副本。该方法的目标是最大限度地减少停机时间,最大限度地降低风险(通过拥有生产数据和执行类似生产的测试),并具有可重复的流程。如果您正在寻找更高程度的自动化来实现这些目标,并且对权衡感到满意,则此方法可能是最合适的。这种方法更加复杂,并且有更多的选项来满足您的要求。某些选项不是排他性的,可以一起使用。例如,您的 AWS CloudFormation 模板可以包含最新的 Amazon 系统映像 (AMIs),然后您可以使用这些映像自动配置、设置和配置新SAPHANA服务器。

有关更多信息,请参阅自动修补

备份和恢复

本节概述了SAPHANA系统备份和恢复中使用的 AWS 服务,并提供了备份和恢复场景示例。本指南不包括有关如何使用本机备份和恢复功能或第三方HANA备份工具执行数据库备份的详细说明。请参考标准操作系统SAP、备份软件供应商提供的SAPHANA文档或文档。此外,备份计划、频率和保留期可能因系统类型和业务要求而异。有关这些主题的指导,请参阅以下标准SAP文档。

注意

有关SAP系统的一般和高级备份和恢复概念的讨论,请参阅 on AWS Back AWS up and Recovery Guid e。SAP

SAP注意

描述

1642148 FAQ: SAP HANA 数据库备份和恢复
1821207 确定所需的恢复文件
1869119 使用 hdbbackupcheck 检查备份
1873247 使用 hdbbackupdiag --check 检查可恢复性
1651055 在 Linux 中安排SAPHANA数据库备份
2484177 为多租户 C SAP HANA ockpit 2.0 安排备份

创建SAPHANA系统映像

您可以使用 AWS Management Console 或命令行AMI根据现有实例创建自己的实例。有关更多信息,请参阅 AWS 文档。您可以将AMI您的SAPHANA实例用于以下目的:

  • 要创建完整的离线系统备份(OS /usr/sap、HANA共享、备份、数据和日志文件),将自动保存在同一区域内的多个可用区中。AMIs AWS

  • 要将HANA系统从一个 AWS 区域移动到另一个区域-您可以按照AWS 文档中的说明创建现有EC2实例的映像并将其移动到另一个 AWS 区域。将AMI复制到目标 AWS 区域后,您可以在那里启动新实例。

  • 克隆SAPHANA系统-您可以从现有系统AMI中创建一个,以创建该SAPHANA系统的精确克隆。有关更多信息,请参阅下一节。

提示

在创建之前,SAPHANA系统应处于一致状态AMI。为此,请在创建之前停止SAPHANA实例,AMI或者按照SAP注释 170 3435 中的说明进行操作。

AWS Backup 解决方案的服务和组件

AWS 为存储和备份提供了许多服务和选项,包括 Amazon Simple Storage Service (Amazon S3)、 AWS Identity and Access Management (IAM) 和 S3 Glacier。

Amazon S3

Amazon S3 是上所有SAP备份和恢复解决方案的中心 AWS。它为任务关键型和主数据存储提供了高度耐用的存储基础设施。它可在一年内提供 99.999999999% 的数据元持久性和 99.99% 的可用性。有关如何创建和配置 S3 存储桶以存储SAPHANA备份文件的详细说明,请参阅 Amazon S3 文档

IAM

IAM助,您可以安全地控制用户对 AWS 服务和资源的访问权限。您可以创建和管理 AWS 用户和群组,并使用权限授予用户对 AWS 资源的访问权限。您可以在中创建角色IAM并管理权限,以控制担任该角色的实体或 AWS 服务可以执行哪些操作。您也可以定义由哪个实体承担该角色。

在部署过程中, AWS CloudFormation 创建一个IAM角色,允许访问从 Amazon S3 获取对象和/或将对象放入 Amazon S3。随后,该角色将在部署主节点和工作节点时分配给在启动时托管SAPHANA主节点和工作节点的每个EC2实例。

IAM角色示例

图 2:IAM 角色示例

为确保安全性并仅应用最低权限原则,此角色的权限仅限于备份和恢复所需的操作。

{"Statement":[ {"Resource":"arn:aws:s3::: <amzn-s3-demo-bucket>/*", "Action":["s3:GetObject","s3:PutObject","s3:DeleteObject", "s3:ListBucket","s3:Get*","s3:List*"], "Effect":"Allow"}, {"Resource":"*","Action":["s3:List*","ec2:Describe*","ec2:Attach NetworkInterface", "ec2:AttachVolume","ec2:CreateTags","ec2:CreateVolume","ec2:RunI nstances", "ec2:StartInstances"],"Effect":"Allow"}]}

要稍后添加函数,您可以使用 AWS Management Console 来修改IAM角色。

S3 Glacier

S3 Glacier 是一项成本极低的服务,可为数据存档和备份提供安全耐用的存储。S3 Glacier 针对不经常访问的数据进行了优化,并提供了多种选项,例如快速、标准和批量数据检索方法。对于标准检索和批量检索,数据分别在 3-5 小时或 5-12 小时内可用。

但是,通过快速检索,S3 Glacier 为您提供了在 3-5 分钟内检索数据的选项,这对于偶尔出现的紧急请求来说非常理想。借助 S3 Glacier,您可以以每月每千兆字节低至 0.01 美元的价格可靠地存储大量或少量数据,与本地解决方案相比,节省了大量资金。您可以按照 Amazon S3 开发人员指南中的说明使用生命周期策略将SAPHANA备份推送到 S3 Glacier 以进行长期存档。

备份目的地

与传统的本地基础架构 AWS 相比,备份SAP系统的主要区别在于备份目的地。磁带是本地基础设施所用的典型备份目标。开启 AWS,备份存储在 Amazon S3 中。与磁带相比,Amazon S3 有许多好处,包括能够自动将源系统的备份存储在异地,因为 Amazon S3 中的数据可以在该 AWS 地区的多个设施之间复制。

SAPHANA使用 for 配置 AWS Launch Wizard SAP的系统配置了一组用作初始本地备份目标的EBS卷。HANA备份首先存储在这些本地EBS卷上,然后复制到 Amazon S3 进行长期存储。

您可以使用 SAP HANA Studio、SQL命令或 DBA Cockpit 来启动或安排SAPHANA数据备份。除非已禁用,否则会自动写入日志备份。/backup 文件系统作为部署过程的一部分进行配置。

SAPHANA文件系统布局

图 3:SAPHANA文件系统布局

SAPHANAglobal.ini 配置文件已经过自定义,可以直接访问数据库备份/backup/data/<SID>,而自动日志存档文件则转到/backup/log/<SID>

[persistence] basepath_shared = no savepoint_intervals = 300 basepath_datavolumes = /hana/data/<SID> basepath_logvolumes = /hana/log/<SID> basepath_databackup = /backup/data/<SID> basepath_logbackup = /backup/log/<SID>

一些第三方备份工具, NetBackup例如 Commvault 和 IBM Tivoli Storage Manager (IBMTSM),已与 Amazon S3 功能集成,可用于触发SAPHANA备份并将其直接保存到 Amazon S3 中,而无需先将备份存储在卷上EBS。

AWS CLI

AWS Command Line Interface(AWS CLI) 是管理 AWS 服务的统一工具,是作为基础映像的一部分安装的。使用各种命令,您可以直接从命令行控制多个 AWS 服务,并通过脚本自动执行这些服务。您可以通过分配给实例的IAM角色访问您的 S3 存储桶(如前所)。使用适用于 Amazon S3 的 AWS CLI 命令,您可以列出先前创建的存储桶的内容、备份文件和恢复文件,如AWS CLI 文档中所述。

imdbmaster:/backup # aws s3 ls --region=us-east-1 s3://node2- hana-s3bucket-gcynh5v2nqs3 Bucket: node2-hana-s3bucket-gcynh5v2nqs3 Prefix: LastWriteTime Length Name ------------- ------ ----

备份示例

以下是您可以执行典型备份任务的步骤:

  1. 在SAPHANA备份编辑器中,选择 “打开备份向导”。还可以通过右键单击要备份的系统并选择备份来打开备份向导。

    1. 选择文件目标类型。这样可将数据库备份到指定文件系统中的文件。

    2. 指定备份目的地 (/backup/data/<SID>) 和备份前缀。

      SAPHANA备份示例

      图 4:SAPHANA备份示例

    3. 选择下一步,然后选择完成。备份完成后,将显示一条确认消息。

    4. 验证备份文件在操作系统级别是否可用。下一步是使用 aws s3 s ync 命令将备份文件从 /backup 文件系统推送或同步到 Ama zon S3。

      imdbmaster:/ # aws s3 sync backup s3://node2-hana-s3bucket- gcynh5v2nqs3 --region=us-east-1
  2. 使用 AWS Management Console 来验证文件是否已推送到 Amazon S3。您也可以使用本AWS Command Line Interface 节前面显示的 aws s3 ls 命令。

    备份后的 Amazon S3 存储桶内容

    图 5:备份后的 Amazon S3 存储桶内容

提示

aws s3 sync命令只会上传 Amazon S3 中不存在的新文件。使用定期计划的 cron 作业进行同步,然后删除已上传的文件。有关在 Linux 中安排定期备份作业的信息,请参阅SAP注释 1651055,并使用命令扩展提供的脚本。aws s3 sync

远程计划和执行备份

您可以使用 S AWS ystems Manager 运行命令和 Amazon Ev CloudWatch ents 来远程安排SAPHANA系统的备份,而无需登录EC2实例。您也可以使用 cron 或任何其他实例级计划机制。

您可以使用 Systems Manager Run Command 以远程方式安全地管理托管实例的配置。托管实例是混合环境中已为 Systems Manager 配置的任何EC2实例或本地计算机。利用 Run Command,您可以自动完成常用管理任务以及大规模执行临时配置更改

缩放。你可以使用 Amazon EC2 控制台、 AWS CLI PowerShell、Windows 或中的运行命令 AWS SDKs。

Systems Manager 必备

Systems Manager 具有以下先决条件。

支持的操作系统 (Linux)

实例必须运行支持的 Linux 版本。

64 位和 32 位系统:

  • 亚马逊 Linux 2014.09、2014.03 或更高版本

  • Ubuntu Server 16.04 LTS、14.04 或 12. LTS 04 LTS

  • 红帽企业 Linux (RHEL) 6.5 或更高版本

  • CentOS 6.3 或更高版本

仅 64 位系统:

  • 亚马逊 Linux 2015.09、2015.03 或更高版本

  • 红帽企业 Linux (RHEL) 7.x 或更高版本

  • CentOS 7.1 或更高版本

  • SUSELinux 企业服务器 (SLES) 12 或更高版本

有关支持的操作系统的最新信息,请参阅 Syst AWS ems Manager 文档

Systems Manager 的角色

对于处理命令的IAM实例,Systems Manager 需要一个角色,执行命令的用户需要一个单独的角色。这两个角色都需要允许他们与 Systems Manager 通信的权限策略API。您可以选择使用 Systems Manager 托管策略或创建自己的角色并指定权限。有关更多信息,请参阅 AWS 文档中的为 S ystems Manager 配置安全角色

如果您正在配置要使用 Systems Manager 配置的本地服务器或虚拟机 (VMs),则还必须配置IAM服务角色。有关更多信息,请参阅 AWS 文档中的创建IAM服务角色

SSM代理(EC2Linux 实例)

AWS Systems Manager SSM 代理(代理)处理 Systems Manager 请求,并按照请求中的指定配置您的计算机。您必须将SSM代理下载并安装到您的 EC2 Linux 实例。有关更多信息,请参阅 AWS 文档中的在 Linux 上安装SSM代理

要计划远程备份,请执行以下简要步骤:

  1. 在EC2实例上安装和配置SSM代理。有关详细的安装步骤,请参阅 S AWS ystems Manager 文档

  2. 提供对分配给EC2实例的实例角色的SSMSAPHANA访问权限。有关如何为角色分配SSM访问权限的详细信息,请参阅 S AWS ystems Manager 文档

  3. 创建SAPHANA备份脚本。您可以使用以下示例脚本作为起点,并对其进行修改以满足您的要求。

    #!/bin/sh set -x S3Bucket_Name=<Name of the S3 bucket where backup files will be copied> TIMESTAMP=$(date +\%F\_%H\%M) exec 1>/backup/data/${SAPSYSTEMNAME}/${TIMESTAMP}_backup_log.out 2>&1 echo "Starting to take backup of Hana Database and Upload the backup files to S3" echo "Backup Timestamp for $SAPSYSTEMNAME is $TIMESTAMP" BACKUP_PREFIX=${SAPSYSTEMNAME}_${TIMESTAMP} echo $BACKUP_PREFIX # source HANA environment source $DIR_INSTANCE/hdbenv.sh # execute command with user key hdbsql -U BACKUP "backup data using file ('$BACKUP_PREFIX')" echo "HANA Backup is completed" echo "Continue with copying the backup files in to S3" echo $BACKUP_PREFIX sudo -u root /usr/local/bin/aws s3 cp --recursive /backup/data/${SAPSYSTEMNAME}/ s3://${S3Bucket_Name}/bkps/${SAPSYSTEMNAME}/data/ --exclude "*" --include "${BACKUP_PREFIX}*" echo "Copying HANA Database log files in to S3" sudo -u root /usr/local/bin/aws s3 sync /backup/log/${SAPSYSTEMNAME}/ s3://${S3Bucket_Name}/bkps/${SAPSYSTEMNAME}/log/ --exclude "*" --include "log_backup*" sudo -u root /usr/local/bin/aws s3 cp /backup/data/${SAPSYSTEMNAME}/${TIMESTAMP}_backup_log.out s3://${S3Bucket_Name}/bkps/${SAPSYSTEMNAME}
    注意

    此脚本考虑到 hdbuserstore 具有名为 Backup 的键。

  4. 通过直接执行 ssm 命令来测试一次性备份。

    注意

    要成功执行此命令,您必须使用 sudo 启用 <sid>adm login

    aws ssm send-command --instance-ids <HANA master instance ID> --document-name AWS-RunShellScript --parameters commands="sudo - u <HANA_SID>adm TIMESTAMP=$(date +\%F\_%H\%M) SAPSYSTEMNAME=<HANA_SID> DIR_INSTANCE=/hana/shared/${SAPSYSTEMNAME}/HDB00 -i /usr/sap/HDB/HDB00/hana_backup.sh"
  5. 使用 “ CloudWatch 事件”,您可以按任意所需频率远程安排备份。导航到 “ CloudWatch 事件” 页面并创建规则。

创建亚马逊 CloudWatch 活动规则

图 6:创建亚马逊 CloudWatch 活动规则

配置规则时:

  1. 选择 Schedule

  2. 选择 “SSM运行命令” 作为目标。

  3. 选择 AWS-RunShellScript (Linux) 作为文档类型。

  4. 选择InstanceIds标签作为目标密钥。

  5. 在 “配置参数” 下选择 “常量”,然后键入run命令。

恢复SAPHANA备份和快照

恢复SAP备份

要从备份中恢复SAPHANA数据库,请执行以下步骤:

  1. 如果备份文件在 /backup 文件系统中尚不可用,但在 Amazon S3 中,请使用 aws s3 cp 命令从 Ama zon S3 恢复文件。此命令具有以下语法:

    aws --region <region> cp <s3-bucket/path> --recursive <backup- prefix>*.

    例如:

    imdbmaster:/backup/data/YYZ # aws --region us-east-1 s3 cp s3://node2-hana-s3bucket-gcynh5v2nqs3/data/YYZ . --recursive -- include COMPLETE*
  2. 使用《SAPHANA管理指南》中概述的恢复向导恢复SAPHANA数据库。指定文件作为目的地类型,然后输入正确的备份前缀。

    还原示例

    图 7:还原示例

  3. 恢复完成后,您可以继续正常操作并从 /backup/<SID>/* 目录清除备份文件。

恢复EBS快照

要恢复EBS快照,请执行以下步骤:

  1. 从快照创建新卷:

    aws ec2 create-volume --region us-west-2 --availability-zone us- west-2a --snapshot-id snap-1234abc123a12345a --volume-type gp2
  2. 将新创建的卷连接到您的EC2主机:

    aws ec2 attach-volume --region=us-west-2 --volume-id vol- 4567c123e45678dd9 --instance-id i-03add123456789012 --device /dev/sdf
  3. 在主机上装载与SAPHANA数据关联的逻辑卷:

    mount /dev/sdf /hana/data
  4. 启动您的SAPHANA实例。

注意

对于大型任务关键型系统,我们强烈建议您在还原数据库之后AMI但在启动数据库之前,对数据库数据和日志卷执行卷初始化命令。执行卷初始化命令将帮助您避免在数据库可用之前长时间等待。以下是您可以使用的示例 fio 命令:

sudo fio –filename=/dev/xvdf –rw=read –bs=128K –iodepth=32 – ioengine=libaiodirect=1 –name=volume-initialize

有关初始化 Amazon EBS 卷的更多信息,请参阅AWS 文档

恢复AMI快照

您可以通过恢复SAPHANAAMI快照 AWS Management Console。打开 Amazon EC2 控制台,然后AMIs在导航窗格中进行选择。

选择AMI要恢复的,展开操作,然后选择启动

恢复快AMI照

图 8:恢复AMI快照