此操作用来创建一致性快照。
一致性快照是指在某一时刻,对选中的所有卷同时创建快照,以确保数据一致性。
通过一致性快照创建的卷快照,默认命名为:卷名称-snap创建快照的时间戳(秒级),例如:lun01-snap20240601120000。用户无法在创建时自定义名称,但可以通过修改快照操作修改快照名称。
说明
一致性快照添加的最大卷个数是512。
注意
在执行此操作之前,请确保源卷的所有数据已持久化,即如果源卷已经挂载客户端,需确保客户端的数据都已经同步到卷上,创建一致性快照前:
对于Linux客户端:sync版本大于等于8.6版本时(可以通过sync –version命令查看版本信息),在客户端执行sync -f命令;sync版本低于8.6版本时,在客户端执行sync命令。
对于Windows客户端:在客户端将源卷对应的磁盘脱机;创建快照后,在客户端将源卷对应的磁盘重新联机。
创建一致性快照时,源卷需要处于Normal状态。
请求语法
POST /rest/v1/block/conssnap HTTP/1.1
Date:date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"luns": [
{
"lunName": lunName1,
"description": description
},
{
"lunName": lunName2,
"description": description
},
......
],
"consistencySnapshotName": consistencySnapshotName,
"reclaimPolicy": reclaimPolicy,
"description": description
}
请求参数
参数 | 类型 | 描述 | 是否必须 |
---|---|---|---|
luns | Array of lun | 一致性快照的源卷信息,详见“表1 请求参数lun说明”。 说明 一次最多可以添加512个源卷。 | 是 |
consistencySnapshotName | String | 指定一致性快照的名称。 取值:字符串形式,长度范围是1~256,只能由字母、数字、短横线( - )、下划线( _ )组成,字母区分大小写,且仅支持以字母或数字开头。 注意 快照名称、一致性快照名称及一致性快照的卷快照名称必须唯一,不可相互重复。 | 是 |
reclaimPolicy | String | 一致性快照内的单卷快照的回收策略。
默认值为Retain。 | 否 |
description | String | 指定一致性快照的描述信息。 | 否 |
表1 请求参数lun说明
参数 | 类型 | 描述 | 是否必须 |
---|---|---|---|
lunName | String | 指定一致性快照对应的源卷。 注意 仅支持本地模式(Local)的卷。最多可以添加512个卷。 | 是 |
description | String | 指定一致性快照中卷快照的描述信息。 | 否 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
consistencySnapshotName | String | 一致性快照的名称。 |
lunSnapshots | Array of lunSnapshot | 一致性快照中单卷快照的信息集合,详见“表2 响应参数lunSnapshot说明”。 |
表2 响应参数lunSnapshot说明
名称 | 类型 | 描述 |
---|---|---|
snapshotName | String | 单卷快照的名称。 |
lunName | String | 单卷快照的源卷名称。 |
请求示例
创建卷lun001、lun01a的一致性快照consistencysnapshot3。
POST /rest/v1/block/conssnap HTTP/1.1
Date: Wed, 26 Mar 2025 05:35:41 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Host: 192.168.0.65:1443
Connection: keep-alive
Content-Length: 429
{
"luns": [
{
"lunName": "lun001",
"description": "The consistency snapshot of lun001."
},
{
"lunName": "lun01a",
"description": "The consistency snapshot of lun01a."
}
],
"consistencySnapshotName": "consistencysnapshot3",
"reclaimPolicy": "Retain",
"description": "The consistency snapshot of lun001 and lun01a."
}
响应示例
HTTP/1.1 202 Accepted
x-hblock-request-id: f53ec5817a1a48a2bf25fc5ed3546784
Date: Wed, 26 Mar 2025 05:35:41 GMT
Connection: keep-alive
Content-Type: application/json;charset=utf-8
Content-Length: 204
Server: HBlock
{
"data": {
"consistencySnapshotName": "consistencysnapshot3",
"lunSnapshots": [
{
"snapshotName": "lun001-snap20250326133541",
"lunName": "lun001"
},
{
"snapshotName": "lun01a-snap20250326133541",
"lunName": "lun01a"
}
]
}
}