此操作用來創建一致性快照。
一致性快照是指在某一時刻,對選中的所有卷同時創建快照,以確保數據一致性。
通過一致性快照創建的卷快照,默認命名為:卷名稱-snap創建快照的時間戳(秒級),例如:lun01-snap20240601120000。用戶無法在創建時自定義名稱,但可以通過修改快照操作修改快照名稱。
說明
一致性快照添加的最大卷個數是512。
注意
在執行此操作之前,請確保源卷的所有數據已持久化,即如果源卷已被客戶端掛載,需確保客戶端的數據都已經同步到卷上,創建一致性快照前:
對于Linux客戶端:如果客戶端支持sync -f(可以通過sync --help命令查看是否支持),在客戶端執行sync -f命令;否則在客戶端執行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"
}
]
}
}