你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 应用程序一致性快照工具的预览功能
本文提供了有关 Azure 应用程序一致性快照工具 (AzAcSnap) 预览版中新增功能的设置和使用指南。 有关该工具的基本信息,请参阅什么是 Azure 应用程序一致性快照工具?。
AzAcSnap 10 提供的预览功能包括:
- Microsoft SQL Server
- Azure NetApp 文件备份
- Azure 托管磁盘
注意
预览版“按原样”提供,提供时“包含全部错误”,并且会“视可用性情况”提供,不包含在服务级别协议之内,可能未在客户支持范围内。 预览版受Microsoft Azure 预览版的补充使用条款的约束 https://azure.microsoft.com/support/legal/preview-supplemental-terms/
使用 AzAcSnap 预览版功能
AzAcSnap 预览版功能与正式版功能一起提供。 使用预览版功能需要使用 --preview
命令行选项。 要设置和安装 AzAcSnap,请参阅 Azure 应用程序一致性快照工具入门。
提供反馈
你可以在线提供有关 AzAcSnap(包括此预览版)的反馈。
Microsoft SQL Server
支持的平台和操作系统
注意
对 Microsoft SQL Server 的支持是预览功能。
本部分的内容是对什么是 Azure 应用程序一致性快照工具页的补充。
此预览版支持的新数据库平台和操作系统。
- 数据库
- 仅基于 Windows Server 2019(或更高版本)的 Microsoft SQL Server 2022(或更高版本)为预览版。
启用与数据库的通信
注意
对 Microsoft SQL Server 的支持是预览功能。
本部分的内容是对安装 Azure 应用程序一致性快照工具页的补充。
本部分介绍如何启用与数据库的通信。 确保从选项卡中正确选择了所使用的数据库。
快照工具直接向 Microsoft SQL Server 数据库发出命令来启用和禁用备份模式。
AzAcSnap 使用提供的连接字符串直接连接到 Microsoft SQL Server 以发出 SQL 命令(例如 ALTER SERVER CONFIGURATION SET SUSPEND_FOR_SNAPSHOT_BACKUP = ON
或 ALTER SERVER CONFIGURATION SET SUSPEND_FOR_SNAPSHOT_BACKUP = OFF
)。 连接字符串会确定安装是在数据库服务器上还是在集中式“备份”服务器上。 AzAcSnap 的典型安装会安装到数据库服务器上,以确保刷新文件缓冲区之类的功能能够按预期使用。 如果 AzAcSnap 已安装到数据库服务器上,请确保运行 azacsnap 的用户具有所需的权限。
azacsnap
用户权限
请参阅 Azure 应用程序一致性快照工具入门。azacsnap
用户应有权将 Microsoft SQL Server 置于备份模式,并有权将 I/O 缓冲区刷新到配置的卷。
使用正确的 Microsoft SQL Server 值配置 (.\azacsnap.exe -c configure
) 并测试 (.\azacsnap.exe -c test --test mssql
) azacsnap 数据库连接性。
运行 azacsnap
测试命令
.\azacsnap.exe -c test --test mssql
BEGIN : Test process started for 'mssql'
BEGIN : Database tests
PASSED: Successful connectivity to MSSQL version 16.00.1115
END : Test process complete for 'mssql'
配置数据库
本部分介绍如何配置数据库。
Microsoft SQL Server 不需要特殊数据库配置,因为我们使用的是用户的本地操作系统环境。
配置 AzAcSnap
本部分介绍如何为指定的数据库配置 AzAcSnap。
注意
对 Microsoft SQL Server 的支持是预览功能。
本部分的内容是对配置 Azure 应用程序一致性快照工具网站页面的补充。
所需值的详细信息
以下部分详细介绍了配置文件所需的各种值。
用于配置的 Microsoft SQL Server 数据库值
将 Microsoft SQL Server 数据库添加到配置时,需要以下值:
- connectionString = 用于连接到数据库的连接字符串。 对于在运行 Microsoft SQL Server 的系统上进行的典型 AzAcSnap 安装(其中的数据库实例为 MSSQL2022),连接字符串为“Trusted_Connection=True;Persist Security Info=True;Data Source=MSSQL2022;TrustServerCertificate=true”。
- instanceName = 数据库实例名称。
- metaDataFileLocation = Microsoft SQL Server 将备份元数据文件写出到的位置(例如“C:\MSSQL_BKP\”)。
Azure NetApp 文件备份
在多个卷上使用 AzAcSnap 拍摄快照时,默认情况下,所有快照的名称是相同的。 由于将快照存档到 Azure NetApp 文件备份中时会从资源 ID 层次结构中移除卷名称,因此必须确保快照名称是唯一的。
通过将卷名称追加到普通快照名称,AzAcSnap 可以自动确保在创建快照时使用唯一名称。 例如,对于一个包含两个数据卷(hanadata01
、hanadata02
)的系统,在将 -c backup
与 --prefix daily
结合使用时,完整的快照名称将变为 daily__F2AFDF98703__hanadata01
和 daily__F2AFDF98703__hanadata02
。
可以通过在配置文件中设置 "anfBackup": "renameOnly"
在 AzAcSnap 中启用此功能,如以下代码片段所示:
"anfStorage": [
{
"anfBackup" : "renameOnly",
"dataVolume": [
还可以通过使用 azacsnap -c configure --configuration edit --configfile <configfilename>
来启用此功能。 对于 Enter new value for 'ANF Backup (none, renameOnly)' (current = 'none'):
,输入 renameOnly
。
有关此功能的详细信息,请参阅配置 Azure 应用程序一致性快照工具。
Azure 托管磁盘
Microsoft 提供了许多存储选项,用于部署 SAP HANA 等数据库。 有关其中一些选项的详细信息,请参阅 SAP 工作负荷Azure 存储类型。 还有一个 具有成本意识的解决方案,其中包含 Azure 高级存储。
当你在此类型的体系结构(即具有托管磁盘的虚拟机 [VM])上部署它时,AzAcSnap 可以拍摄应用程序一致性数据库快照。 但是此平台的设置稍微复杂一些,因为在这种情况下,AzAcSnap 会采取额外的步骤来尝试刷新所有 I/O 缓冲区并确保它们被写出到持久性存储。 在 Linux 上,AzAcSnap 会调用 sync
命令来刷新文件缓冲区;在 Windows 上,它先使用对 FlushFileBuffers 的内核调用,然后对已装载的逻辑卷中的托管磁盘拍摄快照。
重要
AzAcSnap 需要该卷的适当操作系统权限才能执行刷新操作。
下面是一个高级别的体系结构:
- 使用 Azure 门户将 Azure 托管磁盘附加到 VM。
- 根据这些托管磁盘创建逻辑卷。
- 将逻辑卷装载到 Linux 目录。
- 使用与 AzAcSnap 安装中的 Azure NetApp 文件相同的方式启用通信。
- 安装和配置 AzAcSnap。
有关将 Azure 托管磁盘用作存储后端的详细信息,请参阅配置 Azure 应用程序一致性快照工具。
示例配置文件
下面是一个示例配置文件。 请注意 dataVolume
、mountPoint
和 azureManagedDisks
的层次结构。
{
"version": "5.1 Preview",
"logPath": "./logs",
"securityPath": "./security",
"comments": [],
"database": [
{
"hana": {
"serverAddress": "127.0.0.1",
"sid": "P40",
"instanceNumber": "00",
"hdbUserStoreName": "AZACSNAP",
"savePointAbortWaitSeconds": 600,
"autoDisableEnableBackint": false,
"storage": [
{
"dataVolumes": [
{
"mountPoint": "/hana/data",
"aliStorageResources": [
"azureManagedDisks": [
{
"resourceId": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/<disk01>",
"authFile": ""
},
{
"resourceId": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/<disk02>",
"authFile": ""
}
]
}
]
}
]
}
}
]
}
虚拟机存储布局
存储层次结构如 SAP HANA 的以下示例所示:
SAP HANA 数据库的数据文件:
/hana/data/mnt00001
装入点:
/dev/mapper/hanadata-hanadata on /hana/data type xfs
逻辑卷:
lvdisplay
--- Logical volume --- LV Path /dev/hanadata/hanadata LV Name hanadata VG Name hanadata
卷组:
vgdisplay
--- Volume group --- VG Name hanadata System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 1023.99 GiB
物理卷(附加的 Azure 托管磁盘):
pvdisplay
--- Physical volume --- PV Name /dev/sdd VG Name hanadata PV Size 512.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 131071 Free PE 0 Allocated PE 131071 PV UUID K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX --- Physical volume --- PV Name /dev/sdc VG Name hanadata PV Size 512.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 131071 Free PE 0 Allocated PE 131071 PV UUID RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV
以这种方式安装和设置 Azure VM 和 Azure 托管磁盘将遵循 Microsoft 指导,以在 VM 上创建托管磁盘的逻辑卷管理器 (LVM) 条带。
按要求设置 Azure VM 后,AzAcSnap 可以拍摄 Azure 托管磁盘的快照。 快照操作类似于 AzAcSnap 支持的其他存储后端的操作;例如,Azure NetApp 文件或 Azure 大型实例(裸机)。 由于 AzAcSnap 会与 Azure 资源管理器通信以拍摄快照,因此还需要使用具有正确权限的服务主体来拍摄托管磁盘快照。
借助此功能,客户可以在较小的系统上测试 AzAcSnap,并纵向扩展到 Azure NetApp 文件和/或 Azure 大型实例(裸机)。
Azure 托管磁盘支持的 azacsnap
命令功能为 configure
、test
、backup
、delete
和 details
,但尚不支持 restore
。
从 Azure 托管磁盘快照还原
尽管 azacsnap
当前缺少 Azure 托管磁盘的 -c restore
选项,但可以按如下所示手动还原:
通过 Azure 门户根据快照创建磁盘。
请确保在与目标 VM 相同的可用性区域中创建磁盘。
通过 Azure 门户将磁盘连接到 VM。
以根用户身份登录到 VM,并使用
dmesg
或pvscan
扫描新附加的磁盘:使用
dmesg
:dmesg | tail -n30
[2510054.252801] scsi 5:0:0:2: Direct-Access Msft Virtual Disk 1.0 PQ:0 ANSI: 5 [2510054.262358] scsi 5:0:0:2: Attached scsi generic sg4 type 0 [2510054.268514] sd 5:0:0:2: [sde] 1073741824 512-byte logical blocks: (550 GB/512 GiB) [2510054.272583] sd 5:0:0:2: [sde] 4096-byte physical blocks [2510054.275465] sd 5:0:0:2: [sde] Write Protect is off [2510054.277915] sd 5:0:0:2: [sde] Mode Sense: 0f 00 10 00 [2510054.278566] sd 5:0:0:2: [sde] Write cache: disabled, read cache: enabled, supports DPO and FUA [2510054.314269] sd 5:0:0:2: [sde] Attached SCSI disk [2510054.573135] scsi 5:0:0:3: Direct-Access Msft Virtual Disk 1.0 PQ: 0 ANSI: 5 [2510054.579931] scsi 5:0:0:3: Attached scsi generic sg5 type 0 [2510054.584505] sd 5:0:0:3: [sdf] 1073741824 512-byte logical blocks: (550 GB/512 GiB) [2510054.589293] sd 5:0:0:3: [sdf] 4096-byte physical blocks [2510054.592237] sd 5:0:0:3: [sdf] Write Protect is off [2510054.594735] sd 5:0:0:3: [sdf] Mode Sense: 0f 00 10 00 [2510054.594839] sd 5:0:0:3: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA [2510054.627310] sd 5:0:0:3: [sdf] Attached SCSI disk
使用
pvscan
:saphana:~ # pvscan
WARNING: scan found duplicate PVID RNCylWF3OGG93c1XL3W6pwM0XB2mYFGV on /dev/sde WARNING: scan found duplicate PVID K3yhxN2713lk4kc3PcxOJQsCkD8ZE6YX on /dev/sdf WARNING: Not using device /dev/sde for PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV. WARNING: Not using device /dev/sdf for PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX. WARNING: PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV prefers device /dev/sdc because device is used by LV. WARNING: PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX prefers device /dev/sdd because device is used by LV. PV /dev/sdd VG hanadata lvm2 [512.00 GiB / 0 free] PV /dev/sdc VG hanadata lvm2 [512.00 GiB / 0 free] Total: 2 [1023.99 GiB] / in use: 2 [1023.99 GiB] / in no VG: 0 [0 ]
以根用户身份使用
vgimportclone
从磁盘导入卷组克隆:vgimportclone --basevgname hanadata_adhoc /dev/sde /dev/sdf
WARNING: scan found duplicate PVID RNCylWF3OGG93c1XL3W6pwM0XB2mYFGV on /dev/sde WARNING: scan found duplicate PVID K3yhxN2713lk4kc3PcxOJQsCkD8ZE6YX on /dev/sdf WARNING: Not using device /dev/sde for PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV. WARNING: Not using device /dev/sdf for PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX. WARNING: PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV prefers device /dev/sdc because device is used by LV. WARNING: PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX prefers device /dev/sdd because device is used by LV.
通过使用
pvscan
和vgchange
以根用户身份激活逻辑卷:pvscan --cache
pvscan[23761] PV /dev/sdc online. pvscan[23761] PV /dev/sdd online. pvscan[23761] PV /dev/sde online. pvscan[23761] PV /dev/sdf online.
vgchange -ay hanadata_adhoc
1 logical volume(s) in volume group "hanadata_adhoc" now active
以根用户身份装载逻辑卷。
使用
mount -o rw,nouuid
选项。 否则,卷装载会因为 VM 上的重复 UUID(通用唯一标识符)而失败。mount -o rw,nouuid /dev/hanadata_adhoc/hanadata /mnt/hanadata_adhoc
访问数据:
ls /mnt/hanadata_adhoc/
software write-test.txt