本教程介绍如何使用 Azure 业务连续性中心备份在 Azure 虚拟机(VM)上运行的 SAP Adaptive Server Enterprise(ASE)(Sybase)数据库。
了解 Azure VM 上支持 SAP ASE 数据库备份的配置和方案。
先决条件
在设置 SAP ASE 数据库进行备份之前,请查看以下先决条件:
在运行 SAP ASE 的 VM 所在的同一区域和订阅中标识或创建一个恢复服务保管库。
允许从 VM 连接到 Internet,以便它可以访问 Azure。
SAP ASE 服务器 VM 名称和资源组名称的组合长度必须为 <Azure 资源管理器 (ARM) VM 的 84 个字符(经典 VM 的 77 个字符),因为服务会保留一些字符。
VM 必须安装 python >= 3.6.15 (建议 - Python3.10),并安装请求模块。 默认 sudo python3 必须运行 python 3.6.15 或更高版本。 通过在系统中运行 python3 和 sudo python3 来验证 python 版本。 若要更改默认版本,请将 python3 链接到 python 3.6.15 或更高版本。
在托管 SAP ASE 数据库的虚拟机中运行 SAP ASE 备份配置脚本(预注册脚本)。 此脚本将为 ASE 系统准备好备份。
为备份操作分配以下权限和设置:
权限/设置 DESCRIPTION 操作员角色 为数据库用户启用此 ASE 数据库角色,以便为备份和还原操作创建自定义数据库用户,并将其传递到预注册脚本中。 “映射外部文件”权限 启用此角色以允许数据库文件访问。 “拥有任何数据库”权限 允许差异备份。 数据库的“允许增量转储”应为 True。 “trunc log on chkpt”权限 对要使用 ASE 备份保护的所有数据库禁用此权限。 允许将数据库日志备份到恢复服务保管库。 详细了解 SAP note - 2921874 - "trunc log on chkpt" in databases with HADR - SAP ASE - SAP for Me
。注释
Master 数据库不支持日志备份。 对于其他系统数据库,仅当数据库的日志文件与其数据文件分开存储时,才能支持日志备份。 默认情况下,系统数据库使用同一数据库设备中的数据和日志文件创建,从而阻止日志备份。 若要启用日志备份,数据库管理员必须将日志文件的位置更改为单独的设备。
使用 Azure 内置角色配置备份 - 为资源分配角色和范围。 以下参与者角色允许在数据库 VM 上运行 “配置保护 ”作:
资源(访问控制) 角色 用户、组或服务主体 运行 ASE 数据库的源 Azure VM 虚拟机参与者 允许配置备份操作。
为 Azure 备份创建自定义角色
若要为 Azure 备份创建自定义角色,请运行以下 bash 命令:
注释
在每个命令之后,请确保运行命令 go
以执行语句。
使用单一登录 (SSO) 角色用户登录到数据库。
isql -U sapsso -P <password> -S <sid> -X
创建角色。
create role azurebackup_role
向新角色授予操作员角色。
grant role oper_role to azurebackup_role
启用精细权限。
sp_configure 'enable granular permissions', 1
使用
SA
角色用户登录到数据库。isql -U sapsa -P <password> -S <sid> -X
切换到主数据库。
use master
向新角色授予“映射外部文件”权限。
grant map external file to azurebackup_role
使用 SSO 角色用户再次登录。
isql -U sapsso -P <password> -S <sid> -X
创建一个用户。
sp_addlogin backupuser, <password>
向用户授予自定义角色。
grant role azurebackup_role to backupuser
将自定义角色设置为用户的默认角色。
sp_modifylogin backupuser, "add default role", azurebackup_role
以 SA 用户身份向自定义角色授予“拥有任何数据库”权限。
grant own any database to azurebackup_role
再次以 SA 用户身份登录到数据库。
isql -U sapsa -P <password> -S <sid> -X
启用文件访问。
sp_configure "enable file access", 1
对数据库启用差异备份。
use master go sp_dboption <database_name>, 'allow incremental dumps', true go
对数据库禁用“trunc log on chkpt”。
use master go sp_dboption <database_name>, 'trunc log on chkpt', false go
建立网络连接
对于所有操作,在 Azure VM 上运行的 SAP ASE 数据库需要连接到 Azure 备份服务、Azure 存储和 Microsoft Entra ID。 可以使用专用终结点或通过允许访问所需的公共 IP 地址或完全限定的域名(FQDN)来实现此连接。 如果不允许与所需的 Azure 服务正常连接,则可能导致操作失败,例如数据库发现、配置备份、执行备份和还原数据。
下表列出了可用于建立连接的各种替代方法:
选项 | 优点 | 缺点 |
---|---|---|
专用终结点 | 允许通过虚拟网络中的专用 IP 进行备份。 提供网络和保管库端的精细控制。 |
产生标准专用终结点成本。 |
网络安全组 (NSG) 服务标记 | 由于范围更改会自动合并,因此更易于管理。 无需额外费用。 |
仅与 NSG 配合使用。 提供对整个服务的访问。 |
Azure 防火墙 FQDN 标记 | 由于必需的 FQDN 会自动管理,因此更易于管理。 | 仅与 Azure 防火墙配合使用。 |
允许访问服务 FQDN/IP | 无需额外费用。 适用于所有网络安全设备和防火墙。 还可以将服务终结点用于存储。 但是,对于 Azure 备份和 Microsoft Entra ID,需要分配对相应 IP/FQDN 的访问权限。 |
可能需要访问一组广泛的 IP 或 FQDN。 |
虚拟网络服务终结点 | 用于 Azure 存储。 提供很大的优势,可优化数据平面流量的性能。 |
不能用于 Microsoft Entra ID、Azure 备份服务。 |
网络虚拟设备 | 用于 Azure 存储、Microsoft Entra ID、Azure 备份服务。 数据平面 - Azure 存储: *.blob.core.windows.net 、*.queue.core.windows.net 、*.blob.storage.azure.net 管理平面 - Microsoft Entra ID:允许访问 Microsoft 365 Common 和 Office Online 的 56 和 59 节中提到的 FQDN。 - Azure 备份服务: .backup.windowsazure.com 详细了解 Azure 防火墙服务标记。 |
增加数据平面流量的开销,降低吞吐量/性能。 |
以下各部分详细介绍了连接选项的用法。
专用终结点
使用专用终结点,可以从虚拟网络中的服务器安全地连接到恢复服务保管库。 专用终结点为保管库使用虚拟网络 (VNET) 地址空间中的 IP。 虚拟网络中的资源与保管库之间的网络流量将通过虚拟网络和 Microsoft 主干网络上的专用链接传输。 此操作消除了来自公网的暴露。 详细了解 Azure 备份的专用终结点。
注释
- Azure 备份和 Azure 存储支持专用终结点。 Microsoft Entra ID 支持专用终结点。 在正式发布之前,Azure 备份支持为 Microsoft Entra ID 设置代理,以便让 ASE VM 无需出站连接。 有关详细信息,请参阅代理支持部分。
- SAP ASE 预注册脚本(ASE 工作负载脚本)的下载操作需要访问 Internet。 但是,在启用了专用终结点 (PE) 的 VM 上,预注册脚本无法直接下载这些工作负载脚本。 因此,必须在具有 Internet 访问权限的本地 VM 或其他 VM 上下载脚本,然后使用 SCP 或任何其他传输方法将其移动到启用了 PE 的 VM。
网络安全组标记
如果使用网络安全组 (NSG),请使用 AzureBackup 服务标记以允许对 Azure 备份进行出站访问。 除了 Azure 备份标记之外,还必须通过为 Microsoft Entra ID 和 Azure 存储(存储)创建类似的 NSG 规则 来允许身份验证和数据传输的连接。
若要为 Azure 备份标记创建规则,请执行以下步骤:
- 在 Azure 门户中转到“网络安全组”,然后选择网络安全组。
- 在 “设置” 窗格中,选择 “出站安全规则”。
- 选择 并添加。
- 输入创建新规则所需的所有详细信息。 请确保将“目标”设置为“服务标记”,将“目标服务标记”设置为
AzureBackup
。 - 选择“添加”,保存新创建的出站安全规则。
同样,可以为 Azure 存储和 Microsoft Entra ID 创建 NSG 出站安全规则。 详细了解服务标记。
Azure 防火墙标记
如果使用 Azure 防火墙,请使用 AzureBackup Azure 防火墙 FQDN 标记创建应用程序规则。 此规则允许对 Azure 备份进行所有出站访问。
注释
Azure 备份目前在 Azure 防火墙上不支持启用了 TLS 检查的应用程序规则。
允许访问服务 IP 范围
如果选择允许访问服务 IP,请参阅 JSON 文件中的 IP 范围。 需要允许访问与 Azure 备份、Azure 存储和 Microsoft Entra ID 对应的 IP。
允许访问服务 FQDN
还可以使用以下 FQDN 以允许从服务器访问所需的服务:
服务 | 要访问的域名 | 港口 |
---|---|---|
Azure 备份服务 | *.backup.windowsazure.com |
443 |
Azure 存储 | *.blob.core.windows.net *.queue.core.windows.net *.blob.storage.azure.net |
443 |
Microsoft Entra 身份识别系统 | *.login.microsoft.com 根据本文,允许访问第 56 和 59 节下的 FQDN。 |
443 如果适用。 |
使用 HTTP 代理服务器路由流量
注释
目前,Microsoft Entra ID 流量的 HTTP 代理只支持用于 SAP ASE 数据库。 如果需要通过 ASE VM 中的 Azure 备份功能去除数据库备份的出站连接要求(对于 Azure 备份和 Azure 存储流量),请使用其他选项,例如专用终结点。
将 HTTP 代理服务器用于 Microsoft Entra ID 流量
若要使用 HTTP 代理服务器路由 Microsoft Entra ID 的流量,请执行以下步骤:
在数据库中,转到
opt/msawb/bin
文件夹。创建名为
ExtensionSettingsOverrides.json
的新 JSON 文件。将键值对添加到 JSON 文件,如下所示:
{ "UseProxyForAAD":true, "UseProxyForAzureBackup":false, "UseProxyForAzureStorage":false, "ProxyServerAddress":"http://xx.yy.zz.mm:port" }
更改文件的权限和所有权,如下所示:
chmod 750 ExtensionSettingsOverrides.json chown root:msawb ExtensionSettingsOverrides.json
注释
不需要重新启动任何服务。 Azure 备份服务会尝试通过 JSON 文件中提到的代理服务器路由 Microsoft Entra ID 流量。
使用出站规则
如果 防火墙 或 NSG 设置阻止 Azure 虚拟机中的 management.azure.com
域,快照备份会失败。
创建以下出站规则并允许域名备份数据库。 了解如何创建出站规则。
创建恢复服务保管库
恢复服务保管库是一个管理实体,它会存储一段时间内创建的恢复点,并提供用于执行备份相关操作的接口。 这些操作包括按需备份、执行还原和创建备份策略。
若要创建恢复服务保管库,请执行以下操作:
登录到 Azure 门户。
搜索“业务连续性中心”,然后转到“业务连续性中心”仪表板。
在“保管库”窗格中,选择“+ 保管库”。
选择“恢复服务保管库”>“继续”。
在“恢复服务保管库”窗格中输入以下值:
订阅:选择要使用的订阅。 如果你仅是一个订阅的成员,则会看到该名称。 如果不确定要使用哪个订阅,请使用默认订阅。 仅当工作或学校帐户与多个 Azure 订阅关联时,才会显示多个选项。
资源组:使用现有资源组,或创建一个新的资源组。 若要查看订阅中可用的资源组的列表,请选择“使用现有资源”,然后从下拉列表中选择一个资源。 若要创建新的资源组,请选择“新建”并输入新资源组的名称。 有关资源组的详细信息,请参阅 Azure 资源管理器概述。
保管库名称:输入一个易记名称,用于标识此保管库。 名称对于 Azure 订阅必须是唯一的。 指定的名称应至少包含 2 个字符,最多不超过 50 个字符。 名称必须以字母开头且只能包含字母、数字和连字符。
区域:为保管库选择地理区域。 若要创建保管库来保护任何数据源,该保管库必须位于数据源所在的区域。
重要
如果不确定数据源的位置,请关闭该窗口。 在门户中访问你的资源列表。 如果数据源位于多个区域中,请为每个区域创建恢复服务保管库。 先在第一个位置创建保管库,之后再在其他位置创建保管库。 无需指定存储帐户即可存储备份数据。 恢复服务保管库和 Azure 备份会自动处理这种情况。
提供值后,选择“查看 + 创建”。
要完成恢复服务保管库的创建,请选择“创建”。
创建恢复服务保管库可能需要一段时间。 可在右上方的“通知”区域监视状态通知。 创建保管库后,它会显示在“恢复服务保管库”的列表中。 如果未显示保管库,请选择“刷新”。
注释
Azure 备份现在支持不可变保管库,可帮助确保恢复点一旦创建就无法根据备份策略在到期前将其删除。 可以将不可变性设为不可逆转,以最大限度地保护备份数据免受各种威胁,包括勒索软件攻击和恶意行动者。 了解详细信息。
启用跨区域还原
在恢复服务保管库中,可以启用 跨区域还原 ,以便将数据库还原到次要区域。 了解如何开启跨区域还原。
发现 SAP ASE 数据库
若要发现 SAP ASE 数据库,请执行以下步骤:
转到 业务连续性中心,然后选择“ + 配置保护”。
在配置保护窗格中,选择资源管理方式为Azure,数据源类型为Azure VM 中的 SAP ASE (Sybase),以及解决方案为Azure 备份。
选择继续。
在 “开始:配置备份 ”窗格的 保管库下,单击 “选择保管库”。
在 “选择保管库 ”窗格的“ 按名称筛选”下,键入托管 SAP ASE 数据库的保管库名称。
从列表中选择保管库,然后单击“选择”。
在 “开始:配置备份 ”窗格中,选择“ 继续”。
在“ 备份目标 ”窗格中,选择“ 开始发现 ”以启动发现保管库区域中未受保护的 Linux VM。
注释
- 在发现后,未受保护的 VM 将显示在门户中,按名称和资源组列出。
- 如果某个 VM 未按预期列出,请检查它是否已在保管库中备份。
- 如果多个 VM 属于不同的资源组,则其名称可能相同。
在 “选择虚拟机 ”窗格中,下载预发布脚本,该脚本为 Azure 备份服务提供访问用于数据库发现的 SAP ASE VM 的权限。
在每个托管要备份的 SAP ASE 数据库的 VM 上运行此脚本。
在 VM 上运行脚本后,在 “选择虚拟机 ”窗格中,选择 VM,然后选择“ 发现数据库”。
Azure 备份可发现该 VM 上的所有 SAP ASE 数据库。 在发现期间,Azure Backup 将 VM 注册到保管库,并在该 VM 上安装扩展。 不会在数据库中安装任何代理。
配置 SAP ASE (Sybase) 数据库备份
数据库发现过程完成后,Azure 备份会重定向到 “备份目标 ”窗格,以便为托管 SAP ASE 数据库的所选 VM 配置备份设置。
若要为 SAP ASE 数据库配置备份操作,请执行以下步骤:
在 “备份目标 ”窗格的 “步骤 2”下,选择“ 配置备份”。
在“ 配置备份 ”窗格的“ 备份策略 ”选项卡上的“ 备份策略”下,选择“为数据库 创建新策略 ”。
备份策略定义备份创建时间以及这些备份的保留时间。
- 策略是在保管库级别创建的。
- 多个保管库可以使用相同的备份策略,但必须向每个保管库应用该备份策略。
在“ 创建策略 ”窗格的“ 策略名称”下,输入新策略的名称。
在 “完整备份”下,选择“ 编辑”。
在“ 完整备份策略 ”窗格中,选择 备份频率,然后根据需要选择“ 每日 ”或“ 每周 ”。
每日:选择备份作业开始时的小时和时区。
注释
- 你必须运行完整备份。 无法关闭此选项。
- 转到“完整备份策略”以查看策略设置。
- 对于每日完整备份,无法创建差异备份。
每周:选择备份作业运行时的星期、小时和时区。
以下屏幕截图显示了完整备份的备份计划。
在“保持期”上,定义完整备份的保持期。
注释
- 默认情况下,所有选项均处于选中状态。 清除不想使用的所有保持期限制,并设置想使用的选项。
- 任何备份类型(完整/差异/日志)的最短保持期均为七天。
- 恢复点已根据其保留范围标记为保留。 例如,如果选择每日完整备份,则每天只触发一次完整备份。
- 根据每周保留范围和设置,将某一天的备份进行标记并保留。
- 每月和每年保留范围的行为类似。
选择 “确定 ”保存策略配置。
在“ 创建策略 ”窗格的 “差异备份”下,选择 “编辑” 以添加差异策略。
在 “差异备份策略 ”窗格中,选择“ 启用 ”以打开频率和保留控制。
注释
- 每天最多可以触发一次差异备份。
- 差异备份最多可以保留 180 天。 如果需要保留更长时间,必须使用完整备份。
选择 “确定 ”保存策略配置。
在 “备份策略 ”窗格的 “日志备份”下,选择“ 编辑” 以添加事务日志备份策略。
在“ 日志备份策略 ”窗格中,选择“ 启用 ”以设置频率和保留控制。
注释
- 日志备份仅在成功完成一次完整备份之后进行。
- 每个日志备份都链接到上一个完整备份,以形成恢复链。 此完整备份将一直保留到最后一个日志备份的保留期结束。 这可能意味着完整备份会保留一段额外的时间,以确保所有日志都可以恢复。 假设用户有每周完整备份、每日差异备份和 2 小时日志备份。 这些备份都保留 30 天。 但每周完整备份只能在下一次完整备份可用后清理/删除,即 30 + 7 天后。 例如,如果在 11 月 16 日执行每周完整备份,它将根据保留策略将一直存储到 12 月 16 日。 此完整备份的最终日志备份发生在 11 月 22 日,然后再进行下一次计划的完整备份。 由于此日志备份在 12 月 22 日之前仍可访问,因此在该日期之前,无法删除 11 月 16 日的完整备份。 因此,11 月 16 日的完整备份将保留到 12 月 22 日。
选择 “确定 ”保存日志备份策略配置。
在“ 创建策略 ”窗格中,选择“ 确定 ”以完成备份策略创建。
在“ 配置备份 ”窗格的 “备份策略 ”选项卡上的“ 备份策略”下,从下拉列表中选择新策略,然后选择“ 添加”。
选择“配置备份”。
在“ 选择要备份的项 ”窗格中,选择要保护的数据库,然后选择“ 下一步”。
在“ 配置备份 ”窗格的“ 审阅 ”选项卡上,查看备份配置。
选择“启用备份”启动备份操作。
对 SAP ASE 数据库执行按需备份
若要为 SAP ASE 数据库运行按需备份,请执行以下步骤:
转到 业务连续性中心,然后选择 保管库。
在“ 保管库 ”窗格中,从用于配置备份的列表中选择恢复服务保管库。
在选定的恢复服务保管库上,选择备份项。
在“备份项”窗格中,选择 Azure VM 中的“备份管理类型”作为 SAP ASE (Sybase)。
选择按需备份的数据库的“查看详细信息”。
选择“立即备份”进行按需备份。
在“立即备份”窗格中,选择要执行的备份类型,然后选择“确定”。 所选按需备份的类型决定了此备份的保留期。
- 按需完整备份至少保留 45 天,最多保留 99 年。
- 按需差异备份按策略中的日志保留设置进行保留。