本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理
本节提供操作SAPHANA系统所需的常见管理任务的指导,包括有关启动、停止和克隆系统的信息。
启动和停止运行SAPHANA主机的EC2实例
您可以随时停止一台或多SAPHANA台主机。在停止SAPHANA主机的EC2实例之前,请先在该实例SAPHANA上停下来。
恢复实例时,它将自动使用与以前相同的 IP 地址、网络和存储配置启动。您还可以选择使用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系统克隆 |
|
容量管理 |
自动扩展/横向扩展应用程序服务器 SAP |
|
操作 |
执行监控和可视化 |
修补
您可以通过两种方法来修补SAPHANA数据库,一种是最大限度地减少成本和/或停机时间。借助 AWS,您可以根据需要配置更多服务器,以经济实惠的方式最大限度地减少修补停机时间。您还可以按需创建现有生产SAPHANA数据库的副本,以进行逼真的生产就绪性测试,从而最大限度地降低风险。
下表汇总了两种修补方法的利弊:
修补方法 |
优点 |
权衡取舍 |
可用技术 |
---|---|---|---|
修补现有服务器 |
额外的按需实例不收取任何费用 所涉及的相对复杂程度和设置任务最低 |
需要修补现有的操作系统和数据库 现有服务器和数据库停机时间最长 |
本机操作系统修补工具 Patch Manager |
预置和修补新服务器 |
利用最新版本AMIs(只需要数据库补丁) 现有服务器和数据库的停机时间最短 可以选择单独或一起修补和测试操作系统和数据库 |
额外按需实例的成本更高 涉及更多的复杂性和设置任务 |
SAPHANA系统复制SAP SAP备注: 1984882 1913302 |
第一种方法(修补现有服务器)涉及修补SAPHANA服务器的操作系统 (OS) 和数据库 (DB) 组件。此方法的目标是最大限度地减少任何额外的服务器成本,并避免产生设置额外系统或测试所需的任何任务。如果您具有明确定义的修补过程,并且对您当前的停机时间和成本感到满意,则此方法可能是最合适的。使用此方法,您必须为 Linux 发行版使用正确的操作系统 (OS) 更新过程和工具。请参阅此SUSE博客
除了我们的 Linux 合作伙伴提供的修补工具外,还AWS 提供名为 Patch Manager 的免费修补
第二种方法(配置和修补新服务器)涉及配置一个新EC2实例,该实例将接收源系统和数据库的副本。该方法的目标是最大限度地减少停机时间,最大限度地降低风险(通过拥有生产数据和执行类似生产的测试),并具有可重复的流程。如果您正在寻找更高程度的自动化来实现这些目标,并且对权衡感到满意,则此方法可能是最合适的。这种方法更加复杂,并且有更多的选项来满足您的要求。某些选项不是排他性的,可以一起使用。例如,您的 AWS CloudFormation 模板可以包含最新的 Amazon 系统映像 (AMIs),然后您可以使用这些映像自动配置、设置和配置新SAPHANA服务器。
有关更多信息,请参阅自动修补。
备份和恢复
本节概述了SAPHANA系统备份和恢复中使用的 AWS 服务,并提供了备份和恢复场景示例。本指南不包括有关如何使用本机备份和恢复功能或第三方HANA备份工具执行数据库备份的详细说明。请参考标准操作系统SAP、备份软件供应商提供的SAPHANA文档或文档。此外,备份计划、频率和保留期可能因系统类型和业务要求而异。有关这些主题的指导,请参阅以下标准SAP文档。
注意
有关SAP系统的一般和高级备份和恢复概念的讨论,请参阅 on AWS Back AWS up and Recovery Guid
创建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备份和快照”。
提示
在创建之前,SAPHANA系统应处于一致状态AMI。为此,请在创建之前停止SAPHANA实例,AMI或者按照SAP注释 170
AWS Backup 解决方案的服务和组件
AWS 为存储和备份提供了许多服务和选项,包括 Amazon Simple Storage Service (Amazon S3)、 AWS Identity and Access Management (IAM) 和 S3 Glacier。
Amazon S3
Amazon S3
IAM
借IAM
在部署过程中, AWS CloudFormation 创建一个IAM角色,允许访问从 Amazon S3 获取对象和/或将对象放入 Amazon S3。随后,该角色将在部署主节点和工作节点时分配给在启动时托管SAPHANA主节点和工作节点的每个EC2实例。
图 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 分钟内检索数据的选项,这对于偶尔出现的紧急请求来说非常理想。借助 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 文件系统作为部署过程的一部分进行配置。
图 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
imdbmaster:/backup # aws s3 ls --region=us-east-1 s3://node2- hana-s3bucket-gcynh5v2nqs3 Bucket: node2-hana-s3bucket-gcynh5v2nqs3 Prefix: LastWriteTime Length Name ------------- ------ ----
备份示例
以下是您可以执行典型备份任务的步骤:
-
在SAPHANA备份编辑器中,选择 “打开备份向导”。还可以通过右键单击要备份的系统并选择备份来打开备份向导。
-
选择文件目标类型。这样可将数据库备份到指定文件系统中的文件。
-
指定备份目的地 (
/backup/data/<SID>
) 和备份前缀。图 4:SAPHANA备份示例
-
选择下一步,然后选择完成。备份完成后,将显示一条确认消息。
-
验证备份文件在操作系统级别是否可用。下一步是使用 aws s3 s ync 命令将备份文件从 /backup 文件系统推送或同步到 Ama zon S3。
imdbmaster:/ # aws s3 sync backup s3://node2-hana-s3bucket- gcynh5v2nqs3 --region=us-east-1
-
-
使用 AWS Management Console 来验证文件是否已推送到 Amazon S3。您也可以使用本AWS Command Line Interface 节前面显示的 aws s3 ls 命令。
图 5:备份后的 Amazon S3 存储桶内容
提示
该aws s3 sync
命令只会上传 Amazon S3 中不存在的新文件。使用定期计划的 cron
作业进行同步,然后删除已上传的文件。有关在 Linux 中安排定期备份作业的信息,请参阅SAP注释 1651055aws
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 位系统:
仅 64 位系统:
有关支持的操作系统的最新信息,请参阅 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代理。 |
要计划远程备份,请执行以下简要步骤:
-
在EC2实例上安装和配置SSM代理。有关详细的安装步骤,请参阅 S AWS ystems Manager 文档。
-
提供对分配给EC2实例的实例角色的SSMSAPHANA访问权限。有关如何为角色分配SSM访问权限的详细信息,请参阅 S AWS ystems Manager 文档。
-
创建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
的键。 -
通过直接执行
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"
-
使用 “ CloudWatch 事件”,您可以按任意所需频率远程安排备份。导航到 “ CloudWatch 事件” 页面并创建规则。
图 6:创建亚马逊 CloudWatch 活动规则
配置规则时:
-
选择 Schedule。
-
选择 “SSM运行命令” 作为目标。
-
选择 AWS-RunShellScript (Linux) 作为文档类型。
-
选择InstanceIds或标签作为目标密钥。
-
在 “配置参数” 下选择 “常量”,然后键入
run
命令。
恢复SAPHANA备份和快照
恢复SAP备份
要从备份中恢复SAPHANA数据库,请执行以下步骤:
-
如果备份文件在 /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*
-
使用《SAPHANA管理指南》中概述的恢复向导
恢复SAPHANA数据库。指定文件作为目的地类型,然后输入正确的备份前缀。 图 7:还原示例
-
恢复完成后,您可以继续正常操作并从
/backup/<SID>/*
目录清除备份文件。
恢复EBS快照
要恢复EBS快照,请执行以下步骤:
-
从快照创建新卷:
aws ec2 create-volume --region us-west-2 --availability-zone us- west-2a --snapshot-id snap-1234abc123a12345a --volume-type gp2
-
将新创建的卷连接到您的EC2主机:
aws ec2 attach-volume --region=us-west-2 --volume-id vol- 4567c123e45678dd9 --instance-id i-03add123456789012 --device /dev/sdf
-
在主机上装载与SAPHANA数据关联的逻辑卷:
mount /dev/sdf /hana/data
-
启动您的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 控制台
选择AMI要恢复的,展开操作,然后选择启动。
图 8:恢复AMI快照