利用Veeam保护SAP HANA数据库
利用Veeam保护SAP HANA数据库
前言
针对越来越多的SAP HANA备份需求,我们Team翻译、整理、借鉴了Veeam 的SAP HANA 大神 Clemens Zerbe 和 Ali Salman 的文章,本着力求实用的原则。希望能给我们中国的Partner一些实际的帮助,本文会在以后以多个章节的形式进行体现。
<a name="1.1.1">本文主要内容</a>
- SAP HANA 介绍
- Veeam Plug-in for SAP HANA
- Veeam SAP HANA插件安装过程
- Veeam SAP HANA插件配置过程
- 用Veeam进行SAP HANA 的备份
- 用Veeam进行SAP HANA的还原
- 有价值的白皮书推荐阅读
- 本文的原文链接
<a name="1.2">SAP HANA 介绍</a>
SAP HANA 是个内存数据平台,可以在本地数据中心,物理和虚拟化和公有云平台中实施。HANA High-performance ANalytical Appliance)是高性能分析设备的缩写,其设计目的是使分析应用程序更快,使
企业级用户在全球范围内更方便地使用SAP HANA,SAP HANA是与客户核心业务功能直接相关的应用程序。
对于企业来说,为SAP HANA制定适当的灾难恢复策略至关重要。 万一发生灾难,他们可以轻松地恢复SAP HANA服务和应用程序。Veeam 的云数据管理解决方案,可以简化虚拟,物理和云工作负载的备份和恢复,并为所有关键任务应用程序提供可用性。在本文中,我们将说明如何使用Veeam Plug-in for SAP HANA备份和还原SAP HANA数据库。
简单讲SAP HANA数据库服务器有三个内部层级和一个外部模块,如下图所示:
- Network layer
- Data and processing layer
- Persistence layer
- External storage

通常我们在市面上看到的SAP HANA,以一体机的型式出现的居多,HANA系统可以是单节点,也可以是多节点,多节点系统能并行处理并具有高可用配置,以进行故障却换。
HANA的一体机节点本质上是一台X86服务器,硬件含有CPU,内存,磁盘,软件含有操作系统、应用系统。HANA采用多CPU并行处理及内存数据库技术,SAP HANA内存数据库的数据并不是只在内存里,也会不停写到硬盘里。HANA运行的操作系统是Linux系统,主要有:Suse Linux 企业版(SLES)和红帽Linux,大部分硬件厂商都有SAP HANA 一体机的产品。
<a name="1.2.1">关于SAP HANA 常用术语</a>
术语 | 解释 |
---|---|
SID 系统标识符 | SAP HANA 集群 可能包含多个的SID。 |
Node 节点 | 一个HANA设备可含一个或多个节点,Veeam 依照节点进行授权 |
Service 服务 | 节点通常含4个服务:Index Server, Name Server, Statistics Server, XS Engine |
持久性存储 Persistent storage | 设备中的磁盘存储,比内存更稳定,用于存放数据/日志。 |
数据卷 Data volume | 磁盘存储上的文件,包含所有数据库的数据和Undo信息。 |
日志卷 Log volume | 磁盘存储上的文件,包含所有数据库的交易事务Transactions。 |
配置文件 | *.ini文件,含有HANA系统的配置参数。 |
恢复目录 | Recovery catalog 在恢复目录里,捕获了所有的日志备份,日志备份中包含了所有备份信息。 |
工作室 SAP HANA Studio | 是HANA的应用程序,用于管理和监控HANA数据库,工作室提供了管理控制台,建模,生命周期管理,备份和恢复也从这里发起。 |
备份接口 Backup Interface (BACKINT) | 备份接口,能把SAP HANA与备份软件集成在一起。 |
保护点 Savepoint | 从内存中导出的数据库一致性映像数据,保存到持久性存储中,包含SQL数据和未提交事务的Undo信息。 |
MCOD | Multiple Components on Database,数据库上的多个组件,这种配置用于多个应用居留在一个数据库中。 |
MCOS | Multiple Components on System,系统上多个组件,这种配置用于多个数据库居留在同一个设备中(只适合非生产系统)。 |
<a name="1.2.2">关于SAP HANA 体系架构</a>
一个SAP HANA系统含有一个或多个节点,多节点系统可以是HA或A/A配置,多节点配置可以实现并行处理。在一个节点中,含有多个服务:包括Index Server, Name Server, Preprocessor, Statistics Server, XS Engine等。每个内存中的服务会把数据备份到持久存储层中自己的数据卷和日志卷上。下图是一个多节点的HANA架构示意图。

早在今年的2月,Veeam 就发布了面向 SAP HANA 的数据备份插件 Veeam Plug-in for SAP HANA,并通过 SAP 认证(SAP® Certified Integration for SAP HANA® 。关于这一点,SAP 网站上有非常中肯的评价:避免备份对生产系统的影响,提高恢复能力,这可以使客户减少成本,提高效率,创建数据操作的连续性。
SAP HANA插件依赖于 SAP HANA 的 SAP Backint,这是一种 API,使 Veeam 能够将 Veeam 代理直接连接到 SAP HANA 数据库。SAP HANA可以处理自己的备份目录与自己的保留和调度,因此,Veeam 备份和复制只需将数据(技术上从数据管道中)存储到 Veeam 存储库中即可。在还原操作期间,SAP HANA 会告知 Veeam 备份和复制需要还原哪些数据,以及 Veeam 根据需要交付数据。这种方法与典型的 Veeam 无代理方法相反,了解差异非常重要。虽然这对经验丰富的 SAP Basis 管理员来说可能不是新闻,但值得与你们中有些人一样共享此信息,这可能是新的信息,因此很有帮助。
<a name="1.2.3">SAP HANA 备份的重要性</a>
为了确保HANA系统的最佳性能,HANA把数据存储在内存中,为了防止断电等内存故障导致的数据丢失,SAP HANA也使用持久性的存储系统来保存数据,以达到内存故障后恢复系统的目的。数据库进行正常运行时,会定时发起保护点(Savepoint)操作,所有数据和Undo信息在保存点过程中会自动地写入持久性的硬盘存储中,数据的变化同时被记录在Redo日志中,在满足一定条件下Redo日志也会写入磁盘中。Savepoint和Redo日志写操作可以防止任何内存故障对数据库的影响,但是当持久性存储设备(如硬盘)发生故障后,就没办法恢复HANA系统了。为了防止硬件故障导致的数据丢失,对持久性存储设备上数据进行备份是必要的。
<a name="2.1">Veeam Plug-in for SAP HANA</a>
<a name="2.1.1">Veeam 通过SAP HANA认证</a>
早在今年的2月,Veeam 就发布了面向 SAP HANA 的数据备份插件 Veeam Plug-in for SAP HANA,并通过 SAP 认证(SAP® Certified Integration for SAP HANA® 。您可以在SAP HANA 认证页面找到 关于这一点,SAP 网站上有非常中肯的评价:避免数据备份对生产系统的影响,提高恢复能力,这可以使客户减少成本,提高效率,创建操作连续性。 新的 Veeam 和 SAP 解决方案的主要集成功能和优势包括:
- 轻松集成,经过SAP认证的BACKINT插件;
- 让SAP HANA管理员全面掌控备份和恢复流程;
- 利用Veeam的横向扩展备份存储库(Scale-out Backup Repository)(SOBR™) ,可同时使用多个存储库服务器,或是利用云端的对象存储提高备份和恢复性能,并在多个存储系统之间扩展。

除了新的SAP HANA插件,Veeam 还为 SAP S/4 HANA、SAP BW Data Warehouse 和 SAP Business ONE 提供备份与恢复的支持,已经通过验证并投入生产的环境包括:
- 安装在 VMware 上的工作负载,可使用即时全虚拟机恢复(Instant VM Recovery)和 数据实验室(DataLabs)等功能
- 轻松集可集成的存储解决方案包括:HPE 3PAR、NetApp AFF、Pure FlashArray 和 DellEMC Unity;
- 轻松集支持超融合基础设施,例如 Cisco HyperFlex、NetApp HCI、Nutanix AHV 等;
- 轻松集还可以保护物理服务器和 Microsoft Azure、Azure Stack 和 Amazon EC2 等基于云的工作负载。
<a name="2.1.2">Veeam SAP HANA插件介绍</a>
SAP HANA插件依赖于 SAP HANA 的 SAP Backint,它是SAP HANA的一类API,使 Veeam 代理程序可以直接连接到 SAP HANA 数据库。SAP HANA可以处理自己的备份目录与自己的保留和调度,因此,Veeam 只负责将数据,从数据管道中存储到 Veeam 备份存储库中。在还原操作期间,SAP HANA 会告知 Veeam 程序需要还原哪些数据, Veeam则根据需要交付数据。这种方法与典型的 Veeam 无代理方式有所不同。虽然这对经验丰富的 SAP Basis 管理员来说可能早就了如指掌,在此仅做为参考。

<mark> 除了 Backint API 之外,对于数据备份来说,重要不仅是 SAP HANA Backint 负责处理数据库数据,包括完整、差分、增量和日志备份和恢复。同时,底层操作系统(红帽或 SUSE)和 SAP HANA 安装和配置文件也应在备份规划中进行考虑。 </mark>
<a name="3.1">Veeam SAP HANA插件安装过程</a>
安装过程的先决条件,包括:
- Veeam Backup & Replication 9.5 Update 4 (or 4b) 已安装
- DNS (forward & reverse)可以正常解析SAP HANA 系统和Veeam Backup & Replication Repository 服务器
- SAP HANA 2.0 SPS02 以上版本
SAP HANA plugin的安装文件保存在Veeam Backup & Replication iso镜像文件中,如下图所示, 安装命令简单好用,形如:
rpm -ivh VeeamPluginforSAPHANA-9.5.4.2753-1.x86_64.rpm

首先,选择合适版本的RPM文件,将RPM文件复制到SAP HANA系统。在 SAP HANA 系统上使用命令行工具进行安装。安装过程中,您需要具有 sudo 权限,安装过程如下图:

<mark>注意:对于 Veeam 备份和复制 9.5 更新 4a,有一个适用于 HANA的性能修补程序:</mark> 您可以在这里找到
<a name="4.1">Veeam SAP HANA插件配置过程</a>
我们要使用root用户运行 "SapBackintConfigTool --Wizard":
与VBR的默认端口号为10006,关于详细的端口列表您也可参考 Veeam Agent Management Guide
Veeam 备份服务器的用户名和密码以及存储库权限,需要由 Veeam 管理员提供。您应该可以在此处发现可用的存储库列表。如果您已使用其他软件配置了 SAP Backint,Veeam 的向导将告诉您要删除的内容并重新运行向导。

<a name="5.1">用Veeam进行SAP HANA 的备份</a>
您可以通过 SAP HANA Studio来定义您的备份,也可以使用 SAP HANA Cockpit、DBA Planer,或其它的外部调度程序。如下图所示,启动 SAP HANA Studio,并在 SYSTEM DB 模式下连接到最近配置的 SAP HANA 实例。

输入SAP HANA用户账号 (不需要是系统用户)。您可以创建并使用具有备份与服务目录权限的用户来作为备份和还原的管理员用户。有关详细信息,请参阅 HANA 管理指南。

若一切配置得当,您应该会看到类似于下面的屏幕截图的内容:

双击SYSTEMDB_DEV (SYSTEM),将打开概览窗口, 请记住这些信息,在后面提供其他配置详细信息时会用到

右键 Open Backup Console

转到 congfiguration, 展开 Backint Setting 设置。检查您的 Backint Agent 是否已经指向 /opt/Veeam/VeeamForSAPHANA/hdbbackint

在此处有两点值得强调:
- Veeam 不使用任何回退参数文件 此处字段应留空
- 日志备份设置 允许您在文件系统上保留日志,或使用 Backint 将所有新日志直接转发到 Veeam 备份服务器。我们建议您通过 Backint 备份它们, 但请与您的 SAP 管理员讨论此设置。

右键 SYSTEMDB@SID ,Backup and Recovery 首先选择 Back Up System Database (随后 Tenant Database).

在以下窗口中确保选中 Backint ,点击Next。

查看Summary 点击 Finish

您将看到如下提示


检查 Log File 并返回 Backup System DB 窗口并转到Backup Catalog,查看已有的备份条目。

现在对 Tenant Database 执行相同的操作:运行备份,检查日志和Catalog。

同样,您也可以在VBR上去检查备份操作的执行情况。如在Jobs中,或是Histroy中查询。


<a name="6.1">用Veeam进行SAP HANA的还原</a>
<mark>重要声明: 不要在数据库管理员不知情的情况执行任何操作,始终在测试环境中测试第一次恢复。以下步骤仅用于测试参考,不要使用任何生产数据库!!</mark>
我们现在只做Tenant Database的恢复。只有在出现严重错误时才需要恢复系统数据库,只有在SAP 技术支持建议您恢复系统数据库时,我们才建议恢复系统数据库。右键 SYSTEMDB@SID ,Backup and Recovery 选择
Recover Tenant Database

选择您想要恢复的 Tenant Database, 点击 Next.

选择 Recover the database to its most recent state,当然您也可以选择还原到指定的时间点。

指定Backup Catelog的位置,在这里我们选择“Search for the Backup catalog in Backint Only"。

<mark>注意:此时Tenant Database 将会关闭 </mark>
选择您的备份 , 点击 Check Availability

在 Availability 为绿色之后,单击Next。

在如下窗口定位 Log Backups。

单击Next,不要忘记在Backint上包含日志,这些选项是以数据库为中心的,如果您需要更改某些内容,应该与SAP管理员讨论。

单击Next将显示摘要,Finish将启动恢复过程。

最终,等待恢复过程结束

请仔细检查 Summary

至此!您已使用Veeam Plug-in for SAP HANA 对SAP HANA进行了 备份定义与配置、备份和恢复。请关注我们后续的文章。
<a name="7.1">有价值的白皮书推荐阅读</a>
《Veeam Enterprise Availability for SAP HANA》
《快速入门:在 Azure 虚拟机上手动安装单实例 SAP HANA》