

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

# 使用具有相同主机名的 SAP HSR 将 SAP HANA 迁移至 AWS
<a name="migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname"></a>

*Pradeep Puliyampatta，Amazon Web Services*

## Summary
<a name="migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname-summary"></a>

可以使用多种选项执行 SAP HANA 向 Amazon Web Services（AWS）的迁移，包含备份和还原、导出和导入以及 SAP HANA 系统复制（HSR）。特定选项的选择取决于源数据库和目标 SAP HANA 数据库间的网络连接、源数据库的大小、停机注意事项和其他因素。 

当源系统和目标系统之间存在稳定的网络并且整个数据库（SAP HANA 数据库复制快照）可以在 1 天内完全复制时，用于将 SAP HANA 工作负载迁移至 AWS 的 SAP HSR 选项效果良好，这是 SAP HSR 网络吞吐量要求所规定的。这种方法的停机时间要求仅限于在目标 AWS 环境上执行接管、SAP HANA 数据库备份和迁移后任务。

SAP HSR 支持使用不同的主机名（映射到不同 IP 地址的主机名）来传输主系统（源系统）与辅助系统或目标系统之间的复制流量。为此，您可通过在 `global.ini` 中的 `[system_replication_hostname_resolution]` 部分定义这些特定的主机名集来实现。在本节中，必须在每台主机定义主站点和辅助站点的所有主机。有关详细配置步骤，请参阅 [SAP 文档](https://help.sap.com/viewer/eb3777d5495d46c5b2fa773206bbfb46/1.0.12/en-US/c0cba1cb2ba34ec89f45b48b2157ec7b.html)。

此设置的关键要点是，主系统中的主机名必须与辅助系统中的主机名不同。否则，可能会出现如下错误。
+ `"each site must have a unique set of logical hostnames"`
+ `"remoteHost does not match with any host of the source site. All hosts of source and target site must be able to resolve all hostnames of both sites correctly"`

但是，通过在目标 AWS 环境中使用相同的 SAP HANA 数据库主机名，可以减少迁移后的步骤数量。 

此模式为使用 SAP HSR 选项时在源环境和目标环境中使用相同主机名提供了一种解决方法。使用此模式，您可使用 SAP HANA 主机名重命名选项。您可为目标 SAP HANA 数据库分配一个临时主机名，以便 SAP HSR 的主机名具有唯一性。迁移完成目标 SAP HANA 环境的接管里程碑后，您可将目标系统的主机名恢复为源系统的主机名。

## 先决条件和限制
<a name="migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname-prereqs"></a>

**先决条件**
+ 活跃 AWS 账户的.
+ 带有虚拟专用网络（VPN）端点或路由器的虚拟私有云（VPC）。
+ AWS Client VPN 或 AWS Direct Connect 配置为将文件从源传输到目标。
+ 源环境和目标环境的 SAP HANA 数据库。在相同 SAP HANA 平台版本中，目标 SAP HANA 数据库补丁级别应等于或高于源 SAP HANA 数据库补丁级别。例如：无法在 HANA 1.0 和 HANA 2.0 系统之间设置复制。若要获取更多信息，请参见 SAP Note 第 15 题：1999880 – 常见问题解答：SAP HANA 系统复制。
+ 目标环境的 SAP 应用程序服务器。
+ 在目标环境红的 Amazon Elastic Block Store（Amazon EBS）卷

**限制**

以下 SAP 文档列表涵盖了与此变通方法相关的已知问题，包含与 SAP HANA 动态分层和横向扩展迁移相关的限制：
+ 2956397 — 重命名 SAP HANA 数据库系统失败
+ 2222694 — 尝试重命名 HANA 系统时，会出现以下错误：“源文件不归初始 sidadm 用户所有 (uid = xxxx)”
+ 2607227 — hdblcm：register\$1rename\$1system：重命名 SAP HANA 实例失败
+ 2630562 — HANA 主机名重命名失败且 HANA 无法启动
+ 2935639 — sr\$1register 没有使用 global.ini 部分中 system\$1replication\$1hostname\$1resolution 指定的主机名
+ 2710211 — 错误：源系统和目标系统的逻辑主机名重叠
+ 2693441 — 由于出现错误，无法重命名 SAP HANA 系统
+ 2519672 — HANA 主级和辅助版的系统 PKI SSFS 数据和密钥不同，或无法检查
+ 2457129 — 当动态分层是环境一部分时，不允许重命名 SAP HANA 系统主机
+ 2473002 — 使用 HANA 系统复制迁移横向扩展系统（SAP 在横向扩展 SAP HANA 系统使用这种主机名重命名方法时，SAP 没有提供任何限制。但是，必须在每台主机上重复该过程。其他横向扩展迁移限制也适用于这种方法。）

**产品版本**
+ 此解决方案适用于 SAP HANA 数据库平台 1.0 和 2.0 版。

## 架构
<a name="migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname-architecture"></a>

**源设置**

源环境安装 SAP HANA 数据库。所有 SAP 应用程序服务器连接和数据库接口都采用相同的主机名进行客户机连接。下图显示了示例源主机名 `hdbhost` 及其对应的 IP 地址。

![\[SAP HANA 数据库源 hdbhost 位于企业数据中心，IP 地址为 10.1.2.1。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/004781c1-96df-43dd-a52e-ed1db5bdf9ef/images/a1b28c3a-93b7-4f82-a5da-81008b74c9ae.png)


**目标设置**

 AWS 云 目标环境使用相同的主机名来运行 SAP HANA 数据库。AWS 上的目标环境包含以下内容：
+ SAP HANA 数据库
+ SAP 应用程序服务器
+ EBS 卷

![\[SAP HANA 数据库以 AWS 云中的 hdbhost 为目标，IP 地址为 172.16.2.1。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/004781c1-96df-43dd-a52e-ed1db5bdf9ef/images/7f45d7aa-9b80-4413-bec9-1616492b650c.png)


**中间配置**

在下图中， AWS 目标环境上的主机名被临时重命名`temp-host`为源环境和目标环境的主机名是唯一的。迁移完成目标环境的接管里程碑后，将使用原始名称重命名目标系统的虚拟主机名为 `hdbhost`。

中间配置包含以下选项之一：
+ AWS Client VPN 使用 Client VPN 端点
+ Direct Connect 正在连接路由器

![\[源系统需连接至目标 AWS 云系统，临时主机 IP 地址为 172.31.5.10。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/004781c1-96df-43dd-a52e-ed1db5bdf9ef/images/e2794477-2e8f-4974-bca3-2275f6809fce.png)


 AWS 目标环境上的 SAP 应用程序服务器可以在复制设置之前或接管之后安装。但是，在设置复制之前安装应用程序服务器可帮助减少安装、配置高可用性和备份过程中的停机时间。

## 工具
<a name="migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname-tools"></a>

**AWS 服务**
+ [AWS Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/client-vpn-user-what-is.html)是一项基于客户端的托管 VPN 服务，可让您安全地访问本地网络中的 AWS 资源和资源。
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)通过标准的以太网光纤电缆将您的内部网络链接到某个 Direct Connect 位置。通过此连接，您可以直接创建面向公众的虚拟接口 AWS 服务，绕过网络路径中的互联网服务提供商。
+ [亚马逊弹性区块存储 (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) Elastic Block Store 提供块级存储卷，用于亚马逊弹性计算云 (Ama EC2 zon) 实例。EBS 卷的行为类似于原始、未格式化的块储存设备。您可以将这些卷作为设备挂载在实例上。

**其他工具**
+ [SAP 应用程序服务器](https://help.sap.com/doc/saphelp_nw73ehp1/7.31.19/en-US/47/a032c0305e0b3ae10000000a42189d/content.htm?no_cache=true) — SAP 应用程序服务器为程序员提供了表达业务逻辑的方法。SAP 应用程序服务器根据业务逻辑执行数据处理。实际数据存储在数据库内，该数据库是一个独立的组件。 
+ [SAP HANA cockpit](https://help.sap.com/viewer/6b94445c94ae495c83a19646e7c3fd56/2.0.03/en-US/da25cad976064dc0a24a1b0ee9b62525.html) 和 [SAP HANA Studio](https://help.sap.com/viewer/a2a49126a5c546a9864aae22c05c3d0e/2.0.00/en-US/c831c3bbbb571014901199718bf7edc5.html) – Both SAP HANA cockpit 和 SAP HANA Studio 都为 SAP HANA 数据库提供了管理界面。在 SAP HANA Studio 中，SAP HANA 管理控制台为系统视图，它为 SAP HANA 数据库管理提供相关内容。 
+ [SAP HANA System Replication](https://help.sap.com/viewer/4e9b18c116aa42fc84c7dbfd02111aba/2.0.04/en-US) – SAP HANA System Replication (SAP HSR) 是 SAP 提供的用于复制 SAP HANA 数据库的标准程序。SAP HSR 所需可执行文件是 SAP HANA 服务器内核本身的一部分。

## 操作说明
<a name="migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname-epics"></a>

### 准备源和目标环境
<a name="prepare-the-source-and-target-environments"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 安装与配置 SAP HANA 数据库。 | 在源环境和目标环境中，确保按照 SAP HANA 最佳实践安装与配置 SAP HANA 数据库。有关更多信息，请参阅[上的 SAP HANA AWS](https://docs.aws.amazon.com/sap/latest/sap-hana/sap-hana.pdf)。 | SAP Basis 管理 | 
| 映射 IP 地址。 | 在目标环境中，确保将临时主机名分配至内部 IP 地址。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname.html) | AWS 管理 | 
| 解析目标主机名。 | 在辅助 SAP HANA 数据库上，通过更新 `/etc/hosts` 文件中的相关主机名，确认已为 SAP HANA 复制网络解析两个主机名（`hdbhost` 和 `temp-host`）。 | Linux 管理 | 
| 备份源与目标 SAP HANA 数据库。 | 使用 SAP HANA Studio 或 SAP HANA cockpit 在 SAP HANA 数据库上执行备份。 | SAP Basis 管理 | 
| 交换系统 PKI 凭证。 | (仅适用于 SAP HANA 2.0 及以上版本)在主数据库和辅助数据库之间的文件系统 (SSFS) 存储区中的系统公钥基础设施 (PKI) 安全存储区中交换凭证。有关更多信息，请参阅 SAP Note 2369981 — 使用 SAP HANA 系统复制进行身份验证所需配置步骤。 | SAP Basis 管理 | 

### 重命名目标 SAP HANA 数据库
<a name="rename-the-target-sap-hana-db"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 停止目标客户端连接。 | 在目标环境中，关闭 SAP 应用程序服务器与其他客户端连接。 | SAP Basis 管理 | 
| 将目标 SAP HANA 数据库重命名为临时主机名。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname.html)SAP HANA 数据库的停止和启动将由 `hdblcm` 控制。  | SAP Basis 管理 | 
| 分配复制网络。 | 在源系统的 `global.ini` 文件的 `[system_replication_hostname_resolution]` 标题下，提供源和目标复制网络的详细信息。然后将这些条目复制到目标系统的 `global.ini` 文件中。 | SAP Basis 管理 | 
| 在主服务器上启用复制功能。 | 若要在源 SAP HANA 数据库上启用复制，请运行以下命令。 <pre>hdbnsutil -sr_enable --name=siteA</pre> | SAP Basis 管理 | 
| 将目标 SAP HANA 数据库注册至辅助系统。 | 要将目标 SAP HANA 数据库注册为 SAP HSR 的辅助系统，请选择**异步复制**。 <pre>(sid)adm $> HDB stop<br />(sid)adm $> hdbnsutil -sr_register –name=siteB –remotehost=hdbhost /<br />--remoteInstance=00 –replicationMode=async –operationMode=logreplay<br />(sid)adm $> HDB start</pre>或者，您可选择注册 `–online` 选项。在这种情况下，您无需停止和启动 SAP HANA 数据库。 | SAP Basis 管理 | 
| 验证同步。 | 在源 SAP HANA 数据库上，确认所有日志均已应用于目标系统（因为它是异步复制）。若要验证复制，请在源上运行以下命令。<pre>(sid)adm $> cdpy<br />(sidadm $> python systemReplicationStatus.py</pre> | SAP Basis 管理 | 
| 关闭源 SAP 应用程序与 SAP HANA 数据库。 | 在迁移割接期间，关闭源系统 (SAP 应用程序和 SAP HANA 数据库)。 | SAP Basis 管理 | 
| 对目标执行接管。 | 若要在 AWS 上对目标执行接管，请运行命令 `hdbnsutil -sr_takeover`。 | SAP Basis 管理 | 
| 在目标 SAP HANA 数据库，关闭复制。 | 若要清除复制元数据，请运行命令停止目标系统上的复制 `hdbnsutil -sr_disable`。 符合 SAP Note 2693441 — 由于错误，无法重命名 SAP HANA 系统。 | SAP Basis 管理 | 
| 备份目标 SAP HANA 数据库。 | 接管成功后，我们建议执行完整 SAP HANA 数据库备份。 | SAP Basis 管理 | 

### 恢复至目标系统中的原始主机名
<a name="revert-to-the-original-hostname-in-the-target-system"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 将目标 SAP HANA 数据库主机名恢复至原始主机名。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname.html)您可根据需要验证其他选项。但是，请确保不要将主机重命名与 SID 更改混为一谈 (SAP Note 2598814 — hdblcm：SID 重命名失败)。 | SAP Basis 管理 | 
| 调节 hdbuserstore。 | 调整指向源 `hdbuserstore` 细节的 `schema/user` 细节。有关详细步骤，请参阅 [SAP 文档](https://help.sap.com/viewer/b3ee5778bc2e4a089d3299b82ec762a7/2.0.02/en-US/ddbdd66b632d4fe7b3c2e0e6e341e222.html?q=hdbuserstore)。 若要验证此步骤，请运行命令 `R3trans -d`。结果应反映成功连接至 SAP HANA 数据库。 | SAP Basis 管理 | 
| 启动客户端连接。 | 在目标环境中，启动 SAP 应用程序服务器和其他客户端连接。 | SAP Basis 管理 | 

## 相关资源
<a name="migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname-resources"></a>

**SAP 参考**

SAP 经常更新 SAP 文档参考资料。若要了解最新信息，请参阅 SAP Note 2407186 — SAP HANA 高可用性操作指南和白皮书。

*附加 SAP 说明*
+ 2550327 — 如何重命名 SAP HANA 系统
+ 1999880 — 常见问题解答：SAP HANA 系统复制
+ 2078425 — SAP HANA 平台生命周期管理工具 hdblcm 故障排除
+ 2592227 — HANA 系统的 FQDN 后缀更改
+ 2048681 — 在没有 SSH 或根凭证的情况下，在多主机系统上执行 SAP HANA 平台生命周期管理管理任务

*SAP 文档*
+ [系统复制网络连接](https://help.sap.com/docs/SAP_HANA_PLATFORM/4e9b18c116aa42fc84c7dbfd02111aba/47190b425eb1433697b026ecd46ff5f9.html)
+ [系统复制的主机名解析](https://help.sap.com/viewer/eb3777d5495d46c5b2fa773206bbfb46/1.0.12/en-US/c0cba1cb2ba34ec89f45b48b2157ec7b.html)

**AWS 参考**
+ [将 SAP HANA 从其他平台迁移到 AWS](https://docs.aws.amazon.com/sap/latest/sap-hana/migrating-hana-hana-to-aws.html)

## 附加信息
<a name="migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname-additional"></a>

作为主机名重命名活动的一部分，`hdblcm` 所执行的更改合并至以下详细日志中。

![\[代码显示进程在临时主机上停止，在 hdbhost 上启动，并且 SAP HANA 数据库系统已重命名。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/004781c1-96df-43dd-a52e-ed1db5bdf9ef/images/9e0c11ca-6555-484f-9639-107f60f725f5.png)
