你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

安装Azure 应用程序一致性快照工具

本文提供了有关安装Azure 应用程序一致快照工具(AzAcSnap)的指南,可用于Azure NetApp 文档或 Azure 大型实例。

重要

分布式安装是 Azure 大型实例系统的唯一选项,因为它们部署在专用网络中。 必须在每个系统上安装 AzAcSnap,以确保连接。

可下载的自安装程序使快照工具可以轻松设置和运行非根用户特权(例如azacsnap)。 安装程序设置用户,并将快照工具放入用户的$HOME/bin子目录中。 默认为 /home/azacsnap/bin

自安装程序尝试根据执行安装的用户的配置(例如 root)确定所有文件的正确设置和路径。 如果启用与存储和 SAP HANA 通信的先决条件步骤作为根运行,则安装会将私钥复制到 hdbuserstore 备份用户的位置。 知识渊博的管理员可以手动执行以下步骤,以便在安装后启用与存储后端和 SAP HANA 的通信。

安装的先决条件

按照指南设置并运行快照和灾难恢复命令。 建议在安装和使用 快照 工具之前,先以 root 身份完成以下步骤:

  1. 修补操作系统并设置 SU标准版 订阅管理工具(SMT)。 有关详细信息,请参阅安装和配置 Azure 上的 SAP HANA(大型实例)

  2. 设置时间同步。 提供与网络时间协议(NTP)兼容的时间服务器,并相应地配置操作系统。

  3. 安装数据库。 按照你正在使用的受支持数据库的说明进行操作。

  4. 选择用于部署的存储后端。 有关详细信息,请参阅本文后面的“ 启用与存储 的通信”。

    设置系统托管标识或生成服务主体的身份验证文件。

    验证与Azure NetApp 文档的通信时,通信可能会失败或超时。检查防火墙规则是否未阻止从运行 AzAcSnap 的系统到以下地址和 TCP/IP 端口的出站流量:

    • (https://)management.azure.com:443
    • (https://)login.microsoftonline.com:443
  5. 启用与数据库的通信。 有关详细信息,请参阅本文后面的“ 启用与数据库的 通信”。

    按照本文的 “启用与数据库 ”部分中的说明设置适当的 SAP HANA 用户。

    安装后,可以使用以下示例从命令行测试连接。 以下示例适用于与 SAP HANA 的非 SSL 通信。

    HANA 1.0:

    hdbsql -n <HANA IP address> -i <HANA instance> -U <HANA user> "\s"

    HANA 2.0:

    hdbsql -n <HANA IP address> -i <HANA instance> -d SYSTEMDB -U <HANA user> "\s"

启用与存储的通信

本节介绍如何启用与存储的通信。 使用以下选项卡正确选择正在使用的存储后端。

可通过两种方法使用系统托管标识或服务主体文件向 Azure 资源管理器进行身份验证。 此处介绍了这些选项。

Azure 系统托管标识

从 AzAcSnap 9 开始,可以使用系统托管标识而不是服务主体进行操作。 使用此功能可避免需要在虚拟机(VM)上存储服务主体凭据。 若要使用 Azure Cloud Shell 设置 Azure 托管标识,请执行以下步骤:

  1. 在与 Bash 的 Cloud Shell 会话中,使用以下示例适当地设置 shell 变量,并将其应用于要在其中创建 Azure 托管标识的订阅。 设置 SUBSCRIPTIONVM_NAME设置和 RESOURCE_GROUP 指向网站特定的值。

    export SUBSCRIPTION="99z999zz-99z9-99zz-99zz-9z9zz999zz99"
    export VM_NAME="MyVM"
    export RESOURCE_GROUP="MyResourceGroup"
    export ROLE="Contributor"
    export SCOPE="/subscriptions/${SUBSCRIPTION}/resourceGroups/${RESOURCE_GROUP}"
    
  2. 将 Cloud Shell 设置为正确的订阅:

    az account set -s "${SUBSCRIPTION}"
    
  3. 为虚拟机创建托管标识。 以下命令集(或显示是否已设置)AzAcSnap VM 的托管标识:

    az vm identity assign --name "${VM_NAME}" --resource-group "${RESOURCE_GROUP}"
    
  4. 获取用于分配角色的主体 ID:

    PRINCIPAL_ID=$(az resource list -n ${VM_NAME} --query [*].identity.principalId --out tsv)
    
  5. 将参与者角色分配给主体 ID:

    az role assignment create --assignee "${PRINCIPAL_ID}" --role "${ROLE}" --scope "${SCOPE}"
    

可选 RBAC

可以在基于角色的访问控制(RBAC)中使用自定义角色定义来限制托管标识的权限。 为虚拟机创建合适的角色定义,以便能够管理快照。 可以在使用Azure 应用程序一致快照工具的使用技巧和技巧中找到示例权限设置。

然后将角色分配给 Azure VM 主体 ID(也显示为 SystemAssignedIdentity):

az role assignment create --assignee ${PRINCIPAL_ID} --role "AzAcSnap on ANF" --scope "${SCOPE}"

生成服务主体文件

  1. 在 Cloud Shell 会话中,请确保在默认情况下要与服务主体关联的订阅登录:

    az account show
    
  2. 如果订阅不正确,请使用 az account set 以下命令:

    az account set -s <subscription name or id>
    
  3. 使用 Azure CLI 创建服务主体,如以下示例所示:

    az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
    

    此命令应生成如下示例的输出:

    {
      "clientId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "clientSecret": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "subscriptionId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "tenantId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
      "resourceManagerEndpointUrl": "https://management.azure.com/",
      "activeDirectoryGraphResourceId": "https://graph.windows.net/",
      "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
      "galleryEndpointUrl": "https://gallery.azure.com/",
      "managementEndpointUrl": "https://management.core.windows.net/"
    }
    

    此命令会自动将 RBAC 参与者角色分配给订阅级别的服务主体。 可以将范围缩小到测试将创建资源的特定资源组。

  4. 将输出内容剪切并粘贴到存储在命令所在的同一 azureauth.json 系统上 azacsnap 的文件。 使用适当的系统权限保护文件。

    请确保 JSON 文件的格式与上一步中所述的格式完全相同,URL 括在双引号()。

启用与数据库的通信

本部分介绍如何启用与数据库的通信。 使用以下选项卡正确选择正在使用的数据库。

如果要部署到集中式虚拟机,则需要安装和设置 SAP HANA 客户端,以便 AzAcSnap 用户可以运行 hdbsqlhdbuserstore 命令。 可以从 SAP 开发工具网站下载 SAP HANA 客户端

快照工具与 SAP HANA 通信,需要具有相应权限的用户来启动和释放数据库保存点。 以下示例演示 SAP HANA 2.0 用户的设置,以及 hdbuserstore 用于与 SAP HANA 数据库的通信。

以下示例命令在 SAP HANA 2.0 数据库上的 SYSTEMDB 中设置用户(AZACSNAP)。 根据需要更改 IP 地址、用户名和密码。

  1. 连接 SYSTEMDB:

    hdbsql -n <IP_address_of_host>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD>
    
    Welcome to the SAP HANA Database interactive terminal.
    
    Type: \h for help with commands
    \q to quit
    
    hdbsql SYSTEMDB=>
    
  2. 创建用户。 此示例在 SYSTEMDB 中创建 AZACSNAP 用户:

    hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
    
  3. 授予用户权限。 此示例设置用户的权限AZACSNAP,以允许执行数据库一致性存储快照:

    • 对于最高版本 2.0 SPS 03 的 SAP HANA:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
    • 从 SAP HANA 版本 2.0 SPS 04 开始,SAP 添加了新的细粒度权限:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
  4. 可选:阻止用户的密码过期。

    注意

    在进行此更改之前,请先检查公司策略。

    以下示例禁用用户的密码过期 AZACSNAP 时间。 如果没有此更改,用户的密码可能会过期,并阻止正确获取快照。

    hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
    
  5. 设置 SAP HANA 安全用户存储(更改密码)。 此示例使用 hdbuserstore Linux shell 中的命令设置 SAP HANA Secure User Store:

    hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
    
  6. 检查是否已正确设置 SAP HANA 安全用户存储。 hdbuserstore使用命令列出输出,类似于以下示例。 SAP 网站上提供了有关使用 hdbuserstore 的更多详细信息。

    hdbuserstore List
    
    DATA FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.DAT
    KEY FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.KEY
    
    KEY AZACSNAP
    ENV : <IP_address_of_host>:
    USER: AZACSNAP
    

使用 SSL 与 SAP HANA 通信

AzAcSnap 使用 SAP HANA 的 hdbsql 命令与 SAP HANA 通信。 使用 hdbsql SSL 选项可以加密与 SAP HANA 的通信。

使用此选项时 azacsnap --ssl ,AzAcSnap 始终使用以下选项:

  • -e:启用 TLS/SSL 加密。 服务器选择可用的最高级别。
  • -ssltrustcert:指定是否验证服务器的证书。
  • -sslhostnameincert "*":指定验证服务器的标识的主机名。 指定 "*" 为主机名时,不会验证服务器的主机名。

SSL 通信还需要密钥存储和信任存储文件。 这些文件可以存储在 Linux 安装的默认位置。 但是,为了确保将正确的密钥材料用于各种 SAP HANA 系统(对于每个 SAP HANA 系统使用不同的密钥存储和信任存储文件的情况),AzAcSnap 要求将密钥存储和信任存储文件存储在 securityPath 该位置。 AzAcSnap 配置文件指定此位置。

密钥存储文件

如果使用相同的密钥材料使用多个系统标识符(SID),则更容易创建指向 securityPath AzAcSnap 配置文件中定义的位置的链接。 确保每个使用 SSL 的 SID 都存在这些值。

  • 对于 opensslln $HOME/.ssl/key.pem <securityPath>/<SID>_keystore
  • 对于 commoncryptoln $SECUDIR/sapcli.pse <securityPath>/<SID>_keystore

如果对每个 SID 使用不同的密钥材料的多个 SID,请将文件复制(或移动并重命名)复制到 securityPath SID 的 AzAcSnap 配置文件中定义的位置。

  • 对于 opensslmv key.pem <securityPath>/<SID>_keystore
  • 对于 commoncryptomv sapcli.pse <securityPath>/<SID>_keystore

当 AzAcSnap 调用hdbsql时,它会添加到-sslkeystore=<securityPath>/<SID>_keystorehdbsql命令行。

Trust-store 文件

如果使用相同的密钥材料使用多个 SID,请在 AzAcSnap 配置文件中定义的位置创建硬链接 securityPath 。 确保每个使用 SSL 的 SID 都存在这些值。

  • 对于 opensslln $HOME/.ssl/trust.pem <securityPath>/<SID>_truststore
  • 对于 commoncryptoln $SECUDIR/sapcli.pse <securityPath>/<SID>_truststore

如果将多个 SID 与每个 SID 不同的密钥材料一起使用,请将文件复制(或移动和重命名)复制到 securityPath SID 的 AzAcSnap 配置文件中定义的位置。

  • 对于 opensslmv trust.pem <securityPath>/<SID>_truststore
  • 对于 commoncryptomv sapcli.pse <securityPath>/<SID>_truststore

<SID>文件名的组件必须是所有大写的 SAP HANA 系统标识符(例如,H80PR1)。 当 AzAcSnap 调用 hdbsql时,它会添加到 -ssltruststore=<securityPath>/<SID>_truststore 命令行。

如果运行azacsnap -c test --test hana --ssl openssl,配置文件H80中的位置SID,它将执行hdbsql连接,如下所示:

hdbsql \
    -e \
    -ssltrustcert \
    -sslhostnameincert "*" \
    -sslprovider openssl \
    -sslkeystore ./security/H80_keystore \
    -ssltruststore ./security/H80_truststore
    "sql statement"

在前面的代码中,反斜杠 (\) 字符是一个命令行换行,可提高命令行中传递的多个参数的清晰度。

安装快照工具

可下载的自安装程序使快照工具可以轻松设置和运行非根用户特权(例如azacsnap)。 安装程序设置用户,并将快照工具放入用户的$HOME/bin子目录中。 默认为 /home/azacsnap/bin

自助安装程序尝试根据用户执行安装的配置为所有文件确定正确的设置和路径(例如 root)。 如果以前的安装步骤以根身份运行了与存储和 SAP HANA 的通信,则安装会将私钥复制到 hdbuserstore 备份用户的位置。 知识渊博的管理员可以手动执行这些步骤,以便在安装后启用与存储后端和数据库的通信。

注意

对于早期在 Azure 大型实例上安装 SAP HANA,预安装的快照工具的目录是/hana/shared/<SID>/exe/linuxx86_64/hdb

完成先决条件步骤后,现在可以使用自安装程序安装快照工具,如下所示:

  1. 将下载的自助安装程序复制到目标系统。
  2. 以根用户身份运行自安装程序。 如有必要,请使用 chmod +x *.run 命令使文件可执行文件。

在不带任何参数的情况下运行自安装程序命令会显示有关使用安装程序的帮助,如下所示:

chmod +x azacsnap_installer_v5.0.run
./azacsnap_installer_v5.0.run
Usage: ./azacsnap_installer_v5.0.run [-v] -I [-u <HLI Snapshot Command user>]
./azacsnap_installer_v5.0.run [-v] -X [-d <directory>]
./azacsnap_installer_v5.0.run [-h]

Switches enclosed in [] are optional for each command line.
- h prints out this usage.
- v turns on verbose output.
- I starts the installation.
- u is the Linux user to install the scripts into, by default this is
'azacsnap'.
- X will only extract the commands.
- d is the target directory to extract into, by default this is
'./snapshot_cmds'.
Examples of a target directory are ./tmp or /usr/local/bin

自安装程序可以选择从捆绑包中提取-X快照工具,而无需执行任何用户创建和设置。 然后,经验丰富的管理员可以手动完成安装步骤,或复制命令以升级现有安装。

使用轻松安装快照工具(默认值)

安装程序可以快速安装适用于 Azure 上的 SAP HANA 的快照工具。 默认情况下,如果仅 -I 运行包含该选项的安装程序,则执行以下步骤:

  1. 创建快照用户azacsnap、创建主目录并设置组成员身份。

  2. azacsnap配置用户的登录~/.profile信息。

  3. 在文件系统中搜索要添加到 $PATH AzAcSnap 的目录。 此任务允许运行 AzAcSnap 的用户使用 SAP HANA 命令,例如 hdbsqlhdbuserstore

  4. 在文件系统中搜索要添加到 $LD_LIBRARY_PATH AzAcSnap 的目录。 许多命令要求设置库路径以正确运行它们。 此任务为已安装的用户配置它。

  5. 从根用户(运行安装的用户)复制 AzAcSnap 后端存储的 SSH 密钥。

    此任务假定根用户已配置与存储的连接。 有关详细信息,请参阅前面的部分 “启用与存储的通信”。

  6. 复制目标用户 SAP HANA 连接的安全用户存储。 azacsnap 此任务假定根用户已配置安全用户存储。 有关详细信息,请参阅前面的部分 “启用与数据库的通信”。

  7. 快照工具被提取到 /home/azacsnap/bin/ 中。

  8. 中的 /home/azacsnap/bin/ 命令具有其权限集,包括所有权和可执行位。

以下示例演示使用默认安装选项运行安装程序时安装程序的正确输出:

./azacsnap_installer_v5.0.run -I
+-----------------------------------------------------------+
| Azure Application Consistent Snapshot tool Installer      |
+-----------------------------------------------------------+
|-> Installer version '5.0'
|-> Create Snapshot user 'azacsnap', home directory, and set group membership.
|-> Configure azacsnap .profile
|-> Search filesystem for directories to add to azacsnap's $PATH
|-> Search filesystem for directories to add to azacsnap's $LD_LIBRARY_PATH
|-> Copying SSH keys for back-end storage for azacsnap.
|-> Copying HANA connection keystore for azacsnap.
|-> Extracting commands into /home/azacsnap/bin/.
|-> Making commands in /home/azacsnap/bin/ executable.
|-> Creating symlink for hdbsql command in /home/azacsnap/bin/.
+-----------------------------------------------------------+
| Install complete! Follow the steps below to configure.    |
+-----------------------------------------------------------+
+-----------------------------------------------------------+
|  Install complete!  Follow the steps below to configure.  |
+-----------------------------------------------------------+

1. Change into the snapshot user account.....
     su - azacsnap
2. Set up the HANA Secure User Store..... (command format below)
     hdbuserstore Set <ADMIN_USER> <HOSTNAME>:<PORT> <admin_user> <password>
3. Change to location of commands.....
     cd /home/azacsnap/bin/
4. Configure the customer details file.....
     azacsnap -c configure --configuration new
5. Test the connection to storage.....
     azacsnap -c test --test storage
6. Test the connection to HANA.....
   a. without SSL
     azacsnap -c test --test hana
   b. with SSL,  you will need to choose the correct SSL option
     azacsnap -c test --test hana --ssl=<commoncrypto|openssl>
7. Run your first snapshot backup..... (example below)
     azacsnap -c backup --volume=data --prefix=hana_test --frequency=15min --retention=1

卸载快照工具

如果使用默认设置安装了快照工具,则卸载只需删除安装命令的用户。 默认为 azacsnap

userdel -f -r azacsnap

手动安装快照工具

在某些情况下,必须手动安装工具。 但我们建议使用安装程序的默认选项来简化此过程。

以磅(#)字符开头的每一行都演示根用户在字符后运行示例命令。 行末尾的反斜杠(\)是 shell 命令的标准换行符。

作为根超级用户,可以按照以下步骤手动安装:

  1. sapsys获取组 ID。 在本例中,组 ID 为 1010.

    grep sapsys /etc/group
    
    sapsys:x:1010:
    
  2. 使用步骤 1 中的组 ID 创建快照用户azacsnap、创建主目录并设置组成员身份:

    useradd -m -g 1010 -c "Azure SAP HANA Snapshots User" azacsnap
    
  3. 确保用户登录.profileazacsnap信息存在:

    echo "" >> /home/azacsnap/.profile
    
  4. 在文件系统中搜索要添加到 $PATH AzAcSnap 的目录。 这些目录通常是 SAP HANA 工具的路径,例如 hdbsqlhdbuserstore

    HDBSQL_PATH=`find -L /hana/shared/[A-z0-9][A-z0-9][A-z0-9]/HDB*/exe /usr/sap/hdbclient -name hdbsql -exec dirname {} + 2> /dev/null | sort | uniq | tr '\n' ':'`
    
  5. 将更新 $PATH 的信息添加到用户配置文件:

    echo "export PATH=\"\$PATH:$HDBSQL_PATH\"" >> /home/azacsnap/.profile
    
  6. 在文件系统中搜索要添加到 $LD_LIBRARY_PATH AzAcSnap 的目录:

    NEW_LIB_PATH=`find -L /hana/shared/[A-z0-9][A-z0-9][A-z0-9]/HDB*/exe /usr/sap/hdbclient -name "*.so" -exec dirname {} + 2> /dev/null | sort | uniq | tr '\n' ':'`
    
  7. 将更新的库路径添加到用户配置文件:

    echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:$NEW_LIB_PATH\"" >> /home/azacsnap/.profile
    
  8. 根据存储后端执行以下操作:

    根据 .NET Core 单文件提取指南配置用户 DOTNET_BUNDLE_EXTRACT_BASE_DIR 的路径。

    对 SU标准版 Linux 使用以下代码:

    echo "export DOTNET_BUNDLE_EXTRACT_BASE_DIR=\$HOME/.net" >> /home/azacsnap/.profile
    echo "[ -d $DOTNET_BUNDLE_EXTRACT_BASE_DIR] && chmod 700 $DOTNET_BUNDLE_EXTRACT_BASE_DIR" >> /home/azacsnap/.profile
    

    对 RHEL 使用以下代码:

    echo "export DOTNET_BUNDLE_EXTRACT_BASE_DIR=\$HOME/.net" >> /home/azacsnap/.bash_profile
    echo "[ -d $DOTNET_BUNDLE_EXTRACT_BASE_DIR] && chmod 700 $DOTNET_BUNDLE_EXTRACT_BASE_DIR" >> /home/azacsnap/.bash_profile
    
  9. 复制目标用户 SAP HANA 连接的安全用户存储。 azacsnap 此步骤假定根用户已配置安全用户存储。 有关详细信息,请参阅前面的部分 “启用与数据库的通信”。

    cp -pr ~/.hdb /home/azacsnap/.
    
  10. 正确设置 hdbuserstore 文件的用户权限:

    chown -R azacsnap.sapsys /home/azacsnap/.hdb
    
  11. 将快照工具提取到/home/azacsnap/bin/

    ./azacsnap_installer_v5.0.run -X -d /home/azacsnap/bin
    
  12. 使命令可执行:

    chmod 700 /home/azacsnap/bin/*
    
  13. 确保对用户的主目录设置了正确的所有权权限:

    chown -R azacsnap.sapsys /home/azacsnap/*
    

完成快照工具的设置

安装快照工具后,安装程序提供完成的步骤。

以下输出显示了使用默认安装选项运行安装程序后要完成的步骤。 请按照这些步骤配置和测试快照工具。

1. Change into the snapshot user account.....
     su - azacsnap
2. Set up the HANA Secure User Store.....
     hdbuserstore Set <ADMIN_USER> <HOSTNAME>:<PORT> <admin_user> <password>
3. Change to location of commands.....
     cd /home/azacsnap/bin/
4. Configure the customer details file.....
     azacsnap -c configure --configuration new
5. Test the connection to storage.....
     azacsnap -c test --test storage
6. Test the connection to HANA.....
   a. without SSL
     azacsnap -c test --test hana
   b. with SSL,  you will need to choose the correct SSL option
     azacsnap -c test --test hana --ssl=<commoncrypto|openssl>
7. Run your first snapshot backup.....
     azacsnap -c backup --volume=data --prefix=hana_test --retention=1

如果在安装之前未 启用与数据库的 通信,则必须执行步骤 2。

如果测试命令运行正确,则测试成功。 然后,可以执行第一个数据库一致性存储快照。

配置 数据库

本部分介绍如何配置数据库。

配置 SAP HANA

可以向 SAP HANA 应用更改,以帮助保护日志备份和目录。 默认情况下, basepath_logbackupbasepath_catalogbackup 已设置,以便 SAP HANA 将相关文件 $(DIR_INSTANCE)/backup/log 放入目录中。 此位置不太可能位于 AzAcSnap 配置为快照的卷上,因此存储快照不会保护这些文件。

以下命令hdbsql示例演示如何将日志和目录路径设置为 AzAcSnap 可以快照的存储卷上的位置。 请务必检查命令行上的值与本地 SAP HANA 配置匹配。

配置日志备份位置

此示例显示了对参数的 basepath_logbackup 更改:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_logbackup') = '/hana/logbackups/H80' WITH RECONFIGURE"

配置目录备份位置

此示例显示了对参数的 basepath_catalogbackup 更改。 首先,确保 basepath_catalogbackup 路径存在于文件系统上。 否则,请创建与目录具有相同所有权的路径。

ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

如果需要创建路径,以下示例将创建路径并设置正确的所有权和权限。 需要以 root 身份运行这些命令。

mkdir /hana/logbackups/H80/catalog
chown --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
chmod --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

以下示例更改了 SAP HANA 设置:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_catalogbackup') = '/hana/logbackups/H80/catalog' WITH RECONFIGURE"

检查日志和目录备份位置

对日志和目录备份位置进行更改后,请使用以下命令确认设置正确。

在此示例中,设置显示为 SYSTEM 设置。 此查询还会返回 DEFAULT 用于比较的设置。

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where (key = 'basepath_databackup' or key ='basepath_datavolumes' or key = 'basepath_logbackup' or key = 'basepath_logvolumes' or key = 'basepath_catalogbackup')"
global.ini,DEFAULT,,,persistence,basepath_catalogbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_databackup,$(DIR_INSTANCE)/backup/data
global.ini,DEFAULT,,,persistence,basepath_datavolumes,$(DIR_GLOBAL)/hdb/data
global.ini,DEFAULT,,,persistence,basepath_logbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_logvolumes,$(DIR_GLOBAL)/hdb/log
global.ini,SYSTEM,,,persistence,basepath_catalogbackup,/hana/logbackups/H80/catalog
global.ini,SYSTEM,,,persistence,basepath_datavolumes,/hana/data/H80
global.ini,SYSTEM,,,persistence,basepath_logbackup,/hana/logbackups/H80
global.ini,SYSTEM,,,persistence,basepath_logvolumes,/hana/log/H80

配置日志备份超时

执行日志备份的 SAP HANA 默认设置为 900 秒(15 分钟)。 建议将此值减少到 300 秒(5 分钟)。 然后可以运行这些文件的定期备份(例如,每 10 分钟)。 可以通过将 log_backup 卷添加到 OTHER 配置文件的卷部分来执行这些备份。

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'log_backup_timeout_s') = '300' WITH RECONFIGURE"

检查日志备份超时

更改日志备份超时后,请确保使用以下命令设置超时。

在此示例中,设置显示为 SYSTEM 设置。 此查询还会返回 DEFAULT 用于比较的设置。

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where key like '%log_backup_timeout%' "
global.ini,DEFAULT,,,persistence,log_backup_timeout_s,900
global.ini,SYSTEM,,,persistence,log_backup_timeout_s,300

后续步骤