使用Azure计算 REST API 为同一区域或跨区域 VM 创建应用程序一致性或崩溃一致性还原点。
API 参考: 还原点 | 还原点集合 | PowerShell
先决条件
创建 VM 还原点
以下部分概述了使用Azure计算 REST API 创建 VM 还原点所需的步骤。
可以在 还原点、 PowerShell 和 还原点集合 API 文档中找到详细信息。
步骤 1:创建 VM 还原点集合
还原点集合是保存 VM 的所有还原点的父资源。
调用 还原点集合 - 创建或更新 API:
PUT https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{collectionName}?api-version=2025-04-01
请求正文:
{
"location": "<region>",
"properties": {
"source": {
"id": "<VM Arm Id>"
},
"instantAccess": true
}
}
- 将
location设置为本地区域集合的 VM 所在区域,或将其设置为跨区域集合的目标区域(并在source.id中包含源还原点集合的 ARM 资源 ID)。 - 若要启用即时访问(可选),请将
"instantAccess": true添加到properties中。 此设置适用于集合中创建的所有还原点。 需要 API 版本 2025-04-01 或更高版本。 此设置仅适用于高级 SSD v2 和超级磁盘作为 数据 磁盘的 VM。
步骤 2:创建 VM 还原点
在步骤 1 中创建的集合中,调用 还原点 — 创建 API:
PUT https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{collectionName}/restorePoints/{restorePointName}?api-version=2025-04-01
请求正文:
{
"name": "<restorePointName>",
"properties": {
"instantAccessDurationMinutes": 120,
"provisioningState": "Succeeded",
}
}
注意: instantAccessDurationMinutes 是一个可选参数。 默认值为 300 (5 小时)。 可以设置为较低的值,但不大于 300。 这适用于将来的还原点,不适用于已创建的现有还原点。
密钥请求正文属性:
| 属性 | Description |
|---|---|
consistencyMode |
为与应用程序保持一致而省略(默认) 将其设置为 CrashConsistent 以创建崩溃一致性还原点。 |
excludeDisks |
Optional. 要从还原点中排除的磁盘标识符数组,以减少存储成本。 |
instantAccessDurationMinutes |
Optional. (仅限即时访问) 即时访问的持续时间(以分钟为单位)。 有效范围:60-300。 默认值:300 分钟(5 小时)。 |
步骤 3:跟踪 VM 还原点创建的状态
本地还原点 在几秒钟内完成。 检查还原点上的 provisioningState:其状态会从 Creating 变为 Succeeded(或 Failed)。
跨区域还原点是一项长时间运行的操作。 使用 轮询 $expand=instanceView API,以检查各磁盘的复制进度(completionPercent)。 仅当所有磁盘还原点完成复制后,还原点才可用。
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{collectionName}/restorePoints/{restorePointName}?$expand=instanceView&api-version=2025-04-01
即时访问状态: 如果集合已启用即时访问,请检查 instantAccessState 还原点,以验证所有磁盘还原点的合并访问状态。 值 InstantAccess 或 AvailableWithInstantAccess 表示还原点已准备好快速还原磁盘。 仅当需要检查单个磁盘还原点的状态时,才使用每个磁盘snapshotAccessStateinstanceView。
步骤 4:禁用即时访问
使用以下 REST API 调用在 VM 上禁用 IA。
PATCH https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}?api-version=2025-04-01
请求正文:
{
"location": "<region>",
"properties": {
"source": {
"id": "<VM Arm Id>"
},
"instantAccess": false
}
}
后续步骤
- 详细了解 如何管理还原点。
- 使用 Azure 门户、CLI或 PowerShell 创建还原点。
- 了解更多关于 Azure 中虚拟机的备份和还原选项。