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

使用 Azure 应用程序一致的快照工具进行备份

本文提供有关运行可用于 Azure NetApp 文件的 Azure 应用程序一致的快照工具的备份命令的指南。

介绍

使用 azacsnap -c backup 命令运行基于存储快照的备份。 此命令对数据卷上的数据库一致的存储快照和其他卷上的存储快照(没有任何数据库一致性设置)执行业务流程。

对于 DATA 卷,azacsnap 将准备用于存储快照的数据库,然后为所有配置的卷拍摄存储快照,最后告知数据库快照已完成。 它还管理记录快照备份活动的任何数据库目录(例如 SAP HANA 备份目录)。

命令选项

-c backup 命令使用以下自变量:

  • --volume= 要创建快照的卷类型,此参数可能包含 dataotherall

    • data 对配置文件的 dataVolume 节中的卷创建快照。
      1. data 卷快照过程
        1. 将数据库置于备份模式
        2. 拍摄配置文件 "dataVolume" 节中列出的卷的快照。
        3. 使数据库退出备份模式
        4. 执行快照管理。
    • other 对配置文件的 otherVolume 节中的卷创建快照。
      1. other 卷快照过程
        1. 拍摄配置文件 "otherVolume" 节中列出的卷的快照。
        2. 执行快照管理。
    • alldataVolume 节中的所有卷创建快照,然后对配置文件的 otherVolume 节中的所有卷创建快照。 处理按如下所述顺序进行:
      1. all 卷快照过程
        1. data 卷快照(与普通 选项相同)--volume data
          1. 将数据库置于备份模式
          2. 拍摄配置文件 "dataVolume" 节中列出的卷的快照。
          3. 使数据库退出备份模式
          4. 执行快照管理。
        2. other 卷快照(与普通 选项相同)--volume other
          1. 拍摄配置文件 "otherVolume" 节中列出的卷的快照。
          2. 执行快照管理。

    注意

    通过创建一个将引导卷作为 otherVolume 的单独的配置文件,可以按照完全不同的时间安排(例如,每日)来执行 boot 快照。

  • --prefix= 快照名称的客户快照前缀。 该参数具有两个用途。 首先,为快照分组提供唯一的名称。 其次,确定为指定 --retention 保留的存储快照 --prefix 数。

    重要

    仅允许字母数字 (“A-Z,a-z,0-9”)、下划线 (“_”) 和破折号 (“-”) 字符。

  • --retention 定义的 --prefix 的要保留的快照数。 为该 --prefix 拍摄新快照后,将删除任何额外的快照。

  • --trim 用于 SAP HANA v2 和更高版本,此选项保留备份目录以及磁盘目录和日志备份。 此选项 --retention 设置要保留在备份目录中的条目数,并从备份目录中删除定义的前缀 (--prefix) 的较旧条目,以及相关的物理日志备份。 它还会删除早于最早非日志备份条目的任何日志备份条目。 此 --trim 操作有助于防止日志备份占用所有可用磁盘空间。

    注意

    以下示例命令保留 9 个存储快照,并确保连续剪裁备份目录,以匹配要保留的 9 个存储快照。

    azacsnap -c backup --volume data --prefix hana_TEST --retention 9 --trim
    
  • [--flush]:一个用于在数据库进入“备份模式”后请求操作系统内核对卷的 I/O 缓冲区进行刷新的选项。 在以前的版本中,我们使用“mountpoint”值来指示要刷新的卷,AzAcSnap 10 选项 --flush 负责处理它。 因此,可从配置文件中删除此键/值 ("mountpoint") 。

    • 在 Windows 上,标记为“Windows”或“恢复”且格式为 NTFS 的卷不会刷新。 还可以将“noflush”添加到卷标签,并且不会刷新。

      重要

      刷新 Windows 上的文件缓冲区需要管理员权限。

      • 这些示例是使用 Windows 上的管理员权限运行 azacsnap.exe --flush ... 的方法。
        1. 启动提升的 CMD:
          1. 按 Windows 键,键入 cmd。
          2. 右键单击命令提示符,选择“以管理员身份运行”。
          3. 然后在提升的窗口中运行 azacsnap.exe
        2. 将 PowerShell 与提升配合使用:
          Start-Process powershell -Verb RunAs -ArgumentList "-Command `"cd 'C:\Users\UserName\AzAcSnap'; .\azacsnap.exe -c backup --volume data --prefix adhoc --retention 1 -v --flush; pause`""
          
        3. 使用任务计划程序进行无提示提升:
          1. 对于自动化,可以使用管理员权限创建计划任务,并通过命令行触发它。
    • 在 Linux 上,使用 Linux sync 命令刷新所有 I/O。

    如果在运行数据库的同一主机上运行以下示例,则会:

    1. 将数据库置于“备份模式”
    2. 请求操作系统内核刷新本地卷的 I/O 缓冲区(请参阅操作系统特定详细信息)。
    3. 拍摄存储快照。
    4. 从“备份模式”释放数据库
    azacsnap -c backup --volume data --prefix hana_TEST --retention 9 --trim --flush
    
  • [--ssl=] 一个可选参数,定义用于与 SAP HANA 通信的加密方法, opensslcommoncrypto。 如果定义了一种加密方法,则 azacsnap -c backup 命令期望在同一目录中找到两个文件,这些文件必须根据对应的 SID 来命名。 请参阅使用 SSL 与 SAP HANA 通信。 下面的示例采用一个带有前缀 hanahana_TEST 类型快照,并让其中的 9 个使用 SSL (openssl) 与 SAP HANA 保持通信。

    azacsnap -c backup --volume data --prefix hana_TEST --retention 9 --trim --ssl=openssl
    
  • [--configfile <config filename>] 是一个可选参数,可用于自定义配置文件名称。

快照备份速度快

快照备份的持续时间与卷大小无关。 例如,10 TiB 卷通常是与 10 GiB 卷相同的快照。

影响总体执行时间的主要因素包括:要进行快照拍摄的卷数,以及 --retention 参数的任何更改(其中卷数的减少由于删除多余快照而增加了执行时间)。

在为“Azure 大型实例”提供的示例配置中,完成两个卷的快照只需不到 5 秒。 对于 Azure NetApp 文件,两个卷的快照大约需要 60 秒。

注意

--retention如果该值远低于前一次azacsnap运行时间(例如,从中--retention 50运行--retention 5),则所需的时间会随着azacsnap需要删除额外的快照而增加。

data 参数的示例

azacsnap -c backup --volume data --prefix hana_TEST --retention 9 --trim

此命令不会输出到控制台,但会写入日志文件、结果文件和 /var/log/messages

在本示例中,“日志文件”名为 (请参阅azacsnap-backup-azacsnap.log

使用azacsnap-c backup该选项运行命令选项--volume data还会生成结果文件,以简化备份结果的检查。 “结果”文件与日志文件具有相同的基本名, 为其后缀。.result

在本示例中,“结果文件”名为 azacsnap-backup-azacsnap.result,该文件包含以下输出:

cat logs/azacsnap-backup-azacsnap.result
Database # 1 (H80) : completed ok

/var/log/messages 文件包含与 .result 文件相同的输出。 请参阅以下示例(以 root 身份运行):

grep "azacsnap.*Database" /var/log/messages | tail -n10
Jul  2 05:22:07 server01 azacsnap[183868]: Database # 1 (H80) : completed ok
Jul  2 05:27:06 server01 azacsnap[4069]: Database # 1 (H80) : completed ok
Jul  2 05:32:07 server01 azacsnap[19769]: Database # 1 (H80) : completed ok
Jul  2 05:37:06 server01 azacsnap[35312]: Database # 1 (H80) : completed ok
Jul  2 05:42:06 server01 azacsnap[50877]: Database # 1 (H80) : completed ok
Jul  2 05:47:06 server01 azacsnap[66429]: Database # 1 (H80) : completed ok
Jul  2 05:52:06 server01 azacsnap[82964]: Database # 1 (H80) : completed ok
Jul  2 05:57:06 server01 azacsnap[98522]: Database # 1 (H80) : completed ok
Jul  2 05:59:13 server01 azacsnap[105519]: Database # 1 (H80) : completed ok
Jul  2 06:02:06 server01 azacsnap[114280]: Database # 1 (H80) : completed ok

other 参数的示例

azacsnap -c backup --volume other --prefix logs_TEST --retention 9

此命令不会输出到控制台,而只会写入日志文件。 它“不”会写入结果文件或 /var/log/messages

在本示例中,“日志文件”名为 (请参阅azacsnap-backup-azacsnap.log

other 参数的示例(备份主机 OS)

注意

使用另一个配置文件 (--configfile bootVol.json),其仅包含引导卷。

azacsnap -c backup --volume other --prefix boot_TEST --retention 9 --configfile bootVol.json

重要

对于 Azure 大型实例,引导卷的配置文件卷参数在主机操作系统级别可能不可见。 Microsoft作可以提供此值。

此命令不会输出到控制台,而只会写入日志文件。 它“不”会写入结果文件或 /var/log/messages

在本示例中,“日志文件”名为 (请参阅azacsnap-backup-bootVol.log

日志文件

日志文件由“(命令名称)-(-c 选项)-(配置文件名)”这些内容构成。 例如,如果运行 azacsnap -c backup --configfile h80.json --retention 5 --prefix one-off 命令,则日志文件叫做 azacsnap-backup-h80.log。 或者,如果将 -c test 选项用于同一配置文件(例如), azacsnap -c test --configfile h80.json则调用 azacsnap-test-h80.log日志文件。

注意

可以使用本指南来自动维护日志文件。

后续步骤