Skip to content

Commit 925c12e

Browse files
authored
Update azacsnap-preview.md for AzAcSnap 10 Release
1 parent 0045225 commit 925c12e

File tree

1 file changed

+87
-71
lines changed

1 file changed

+87
-71
lines changed

articles/azure-netapp-files/azacsnap-preview.md

Lines changed: 87 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,101 @@ services: azure-netapp-files
55
author: Phil-Jensen
66
ms.service: azure-netapp-files
77
ms.topic: reference
8-
ms.date: 08/21/2023
8+
ms.date: 05/15/2024
99
ms.author: phjensen
1010
---
1111

1212
# Preview features of the Azure Application Consistent Snapshot tool
1313

1414
This article provides a guide on setup and usage of the new features in preview for the Azure Application Consistent Snapshot tool (AzAcSnap). For basic information about the tool, see [What is the Azure Application Consistent Snapshot tool?](./azacsnap-introduction.md).
1515

16-
The preview features provided with AzAcSnap 9 are:
16+
The preview features provided with AzAcSnap 10 are:
1717

18+
- Microsoft SQL Server
1819
- Azure NetApp Files backup
1920
- Azure managed disks
2021

2122
> [!NOTE]
22-
> Previews are provided "as is," "with all faults," and "as available." They're excluded from the service-level agreements and limited warranty. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
23+
> Previews are provided "as is," "with all faults," and "as available," and are excluded from the service-level agreements and may not be covered by customer support.
24+
> Previews are subject to the supplemental terms of use for Microsoft Azure Previews found at https://azure.microsoft.com/support/legal/preview-supplemental-terms/
25+
26+
## Using AzAcSnap preview features
27+
28+
AzAcSnap preview features are offered together with generally available features. Using the preview features requires the use of the `--preview` command-line option. To set up and install AzAcSnap, see [Get started with the Azure Application Consistent Snapshot tool](azacsnap-get-started.md).
2329

2430
## Providing feedback
2531

2632
You can provide feedback on AzAcSnap, including this preview, [online](https://aka.ms/azacsnap-feedback).
2733

28-
## Using AzAcSnap preview features
34+
## Microsoft SQL Server
2935

30-
AzAcSnap preview features are offered together with generally available features. Using the preview features requires the use of the `--preview` command-line option. To set up and install AzAcSnap, see [Get started with the Azure Application Consistent Snapshot tool](azacsnap-get-started.md).
36+
### Supported platforms and operating systems
37+
38+
> [!NOTE]
39+
> Support for Microsoft SQL Server is Preview feature.
40+
> This section's content supplements [What is Azure Application Consistent Snapshot tool](azacsnap-introduction.md) page.
41+
42+
New database platforms and operating systems supported with this preview release.
43+
44+
- **Databases**
45+
- Microsoft SQL Server 2022 (or later) on Windows Server 2019 (or later) only is in preview.
46+
47+
48+
### Enable communication with database
49+
50+
> [!NOTE]
51+
> Support for Microsoft SQL Server is Preview feature.
52+
> This section's content supplements [Install Azure Application Consistent Snapshot tool](azacsnap-installation.md) page.
53+
This section explains how to enable communication with the database. Ensure the database you're using is correctly selected from the tabs.
54+
55+
# [Microsoft SQL Server](#tab/mssql)
56+
57+
The snapshot tools issue commands to the Microsoft SQL Server database directly to enable and disable backup mode.
58+
59+
AzAcSnap connects directly to Microsoft SQL Server using the provided connect-string to issue SQL commands, such as `ALTER SERVER CONFIGURATION SET SUSPEND_FOR_SNAPSHOT_BACKUP = ON` or `ALTER SERVER CONFIGURATION SET SUSPEND_FOR_SNAPSHOT_BACKUP = OFF`. The connect-string will determine if the installation is on the database server or a centralized "backup" server. Typical installations of AzAcSnap would be onto the database server to ensure features such as flushing file buffers can work as expected. If AzAcSnap has been installed onto the database server, then be sure the user running azacsnap has the required permissions.
60+
61+
##### `azacsnap` user permissions
62+
63+
Refer to [Get started with Azure Application Consistent Snapshot tool](azacsnap-get-started.md)
64+
The `azacsnap` user should have permissions to put Microsoft SQL Server into backup mode, and have permissions to flush I/O buffers to the volumes configured.
65+
66+
Configure (`.\azacsnap.exe -c configure`) with the correct values for Microsoft SQL Server and test (`.\azacsnap.exe -c test --test mssql`) azacsnap database connectivity.
67+
Run the `azacsnap` test command
68+
```shell
69+
.\azacsnap.exe -c test --test mssql
70+
```
71+
72+
```output
73+
BEGIN : Test process started for 'mssql'
74+
BEGIN : Database tests
75+
PASSED: Successful connectivity to MSSQL version 16.00.1115
76+
END : Test process complete for 'mssql'
77+
```
78+
---
79+
### Configuring the database
80+
This section explains how to configure the data base.
81+
# [Microsoft SQL Server](#tab/mssql)
82+
No special database configuration is required for Microsoft SQL Server as we are using the User's local operating system environment.
83+
84+
---
85+
86+
### Configuring AzAcSnap
87+
88+
This section explains how to configure AzAcSnap for the specified database.
89+
90+
> [!NOTE]
91+
> Support for Microsoft SQL Server is Preview feature.
92+
> This section's content supplements [Configure Azure Application Consistent Snapshot tool](azacsnap-cmd-ref-configure.md) website page.
93+
### Details of required values
94+
The following sections provide detailed guidance on the various values required for the configuration file.
95+
# [Microsoft SQL Server](#tab/mssql)
96+
#### Microsoft SQL Server Database values for configuration
97+
When adding a Microsoft SQL Server database to the configuration, the following values are required:
98+
- **connectionString** = The Connection String used to connect to the database. For a typical AzAcSnap installation on to the system running Microsoft SQL Server where the Database Instance is MSSQL2022 the connection string = "Trusted_Connection=True;Persist Security Info=True;Data Source=MSSQL2022;TrustServerCertificate=true".
99+
- **instanceName** = The database instance name.
100+
- **metaDataFileLocation** = The location where Microsoft SQL Server will write out the backup meta-data file (for example, "C:\\MSSQL_BKP\\").
101+
102+
---
31103

32104
## Azure NetApp Files backup
33105

@@ -52,72 +124,19 @@ For more information about this feature, see [Configure the Azure Application Co
52124

53125
Microsoft provides many storage options for deploying databases such as SAP HANA. For details about some of these options, see [Azure Storage types for SAP workload](../virtual-machines/workloads/sap/planning-guide-storage.md). There's also a [cost-conscious solution with Azure premium storage](../virtual-machines/workloads/sap/hana-vm-premium-ssd-v1.md#cost-conscious-solution-with-azure-premium-storage).
54126

55-
AzAcSnap can take application-consistent database snapshots when you deploy it on this type of architecture (that is, a virtual machine [VM] with managed disks). But the setup for this platform is slightly more complicated because in this scenario, you need to block I/O to the mount point (by using `xfs_freeze`) before you take a snapshot of the managed disks in the mounted logical volumes.
127+
AzAcSnap can take application-consistent database snapshots when you deploy it on this type of architecture (that is, a virtual machine [VM] with managed disks). But the setup for this platform is slightly more complicated because in this scenario AzAcSnap takes an additional step to try and flush all I/O buffers and ensure they are written out to persistent storage. On Linux AzAcSnap will call the `sync` command to flush file buffers, on Windows it uses the kernel call to FlushFileBuffers, before it takes a snapshot of the managed disks in the mounted logical volumes.
56128

57129
> [!IMPORTANT]
58-
> The Linux system must have `xfs_freeze` available to block disk I/O.
59-
60-
Take extra care to configure AzAcSnap with the correct mount points (file systems), because `xfs_freeze` blocks I/O to the device that the Azure managed disk's mount point specifies. This behavior could inadvertently block a running application until `azacsnap` finishes running.
130+
> AzAcSnap will need appropriate operating system permissions for the volume so it can perform the flush.
61131
62132
Here's the architecture at a high level:
63133

64134
1. Attach Azure managed disks to the VM by using the Azure portal.
65135
1. Create a logical volume from these managed disks.
66136
1. Mount the logical volume to a Linux directory.
67-
1. Create the service principal in the same way as for Azure NetApp Files in the [AzAcSnap installation](azacsnap-installation.md?tabs=azure-netapp-files%2Csap-hana#enable-communication-with-storage).
137+
1. Enable communication in the same way as for Azure NetApp Files in the [AzAcSnap installation](azacsnap-configure-storage.md?tabs=azure-netapp-files#enable-communication-with-storage).
68138
1. Install and configure AzAcSnap.
69139

70-
The configurator has a new option to define the mount point for the logical volume. After you put the database into backup mode and after the I/O cache is flushed (dependent on Linux kernel parameter `fs.xfs.xfssyncd_centisecs`), this parameter is passed to `xfs_freeze` to block the I/O.
71-
1. Install and configure `xfs_freeze` to be run as a non-privileged user:
72-
73-
1. Create an executable file called `$HOME/bin/xfs_freeze` with the following content:
74-
75-
```bash
76-
#!/bin/sh
77-
/usr/bin/sudo /usr/sbin/xfs_freeze $1 $2
78-
```
79-
80-
1. Create a sudoers file called `/etc/sudoers.d/azacsnap` to allow the `azacsnap` user to run `xfs_freeze` with the following content:
81-
82-
```bash
83-
#
84-
# What: azacsnap
85-
# Why: Allow the azacsnap user to run "specific" commands with elevated privileges.
86-
#
87-
# User_Alias = SAP HANA Backup administrator user.
88-
User_Alias AZACSNAP = azacsnap
89-
#
90-
AZACSNAP ALL=(ALL) NOPASSWD: /usr/sbin/xfs_freeze
91-
```
92-
93-
1. Test that the `azacsnap` user can freeze and unfreeze I/O to the target mount point by running the following code as the `azacsnap` user.
94-
95-
This example runs each command twice to show that it worked the first time, because there's no command to confirm if `xfs_freeze` has frozen I/O.
96-
97-
Freeze I/O:
98-
99-
```bash
100-
su - azacsnap
101-
xfs_freeze -f /hana/data
102-
xfs_freeze -f /hana/data
103-
```
104-
105-
```output
106-
xfs_freeze: cannot freeze filesystem at /hana/data: Device or resource busy
107-
```
108-
109-
Unfreeze I/O:
110-
111-
```bash
112-
su - azacsnap
113-
xfs_freeze -u /hana/data
114-
xfs_freeze -u /hana/data
115-
```
116-
117-
```output
118-
xfs_freeze: cannot unfreeze filesystem mounted at /hana/data: Invalid argument
119-
```
120-
121140
For more information about using Azure managed disks as a storage back end, see [Configure the Azure Application Consistent Snapshot tool](azacsnap-cmd-ref-configure.md).
122141

123142
### Example configuration file
@@ -139,30 +158,27 @@ Here's an example configuration file. Note the hierarchy for `dataVolume`, `moun
139158
"hdbUserStoreName": "AZACSNAP",
140159
"savePointAbortWaitSeconds": 600,
141160
"autoDisableEnableBackint": false,
142-
"hliStorage": [],
143-
"anfStorage": [],
144-
"amdStorage": [
161+
"storage": [
145162
{
146-
"dataVolume": [
163+
"dataVolumes": [
147164
{
148165
"mountPoint": "/hana/data",
166+
"aliStorageResources": [
149167
"azureManagedDisks": [
150168
{
151169
"resourceId": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/<disk01>",
152-
"authFile": "azureauth.json"
170+
"authFile": ""
153171
},
154172
{
155173
"resourceId": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/<disk02>",
156-
"authFile": "azureauth.json"
174+
"authFile": ""
157175
}
158176
]
159177
}
160-
],
161-
"otherVolume": []
178+
]
162179
}
163180
]
164-
},
165-
"oracle": null
181+
}
166182
}
167183
]
168184
}

0 commit comments

Comments
 (0)