此操作用來修改單個卷的配置。
說明
卷處于啟用或禁用狀態時可以修改(HBlock 3.9之前版本);卷處于“刪除中”、“回滾中”,不能修改卷的配置。
請求語法
本地卷
PUT /rest/v1/block/lun/lunName HTTP/1.1
Date: date
Host: ip:port
Authorization: authorization
{
"config": {
"minReplica": minReplica,
"redundancyOverlap": redundancyOverlap,
"writePolicy": writePolicy,
"serverAffinity": {
"autoFailback": autoFailback,
"priority": [
SeverID,ServerID…
]
}
}
}上云卷
PUT /rest/v1/block/lun/lunName HTTP/1.1
Date: date
Host: ip:port
Authorization: authorization
{
"config": {
"minReplica": minReplica,
"redundancyOverlap": redundancyOverlap,
"writePolicy": writePolicy,
"serverAffinity": {
"autoFailback": autoFailback,
"priority": [
SeverID,ServerID…
]
}
},
"cloud": {
"compression": compression,
"accessKey": accessKey,
"secretKey": secretKey,
"endpoint": endpoint,
"signVersion": signVersion,
"region": region
}
}請求參數
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| lunName | String | 卷名稱。 取值:長度范圍是1~16,只能由字母、數字和短橫線(-)組成,字母區分大小寫,且僅支持以字母或數字開頭。 | 是 |
| config.minReplica | Integer | 最小副本數(僅集群版支持)。 對于副本模式的卷,假設卷副本數為X,最小副本數為Y(Y必須≤X),該卷每次寫入時,至少Y份數據寫入成功,才視為本次寫入成功。對于EC N+M模式的卷,假設該卷最小副本數設置為Y(必須滿足N≤Y≤N+M),必須滿足總和至少為Y的數據塊和校驗塊寫入成功,才視為本次寫入成功。 取值:對于副本卷,取值范圍是[1, N],N為副本模式卷的副本數;對于EC卷,取值范圍是[N, N+M]。 | 否 |
| config.redundancyOverlap | Integer | 修改卷的折疊副本數(僅集群版支持)。在數據冗余模式下,同一份數據的不同副本/分片默認分布在不同的故障域,當故障域損壞時,允許根據卷的冗余折疊原則,將多份數據副本放在同一個故障域中,但是分布在不同的path上。 注意 如果存儲池故障域級別為path,此參數不生效。 取值:對于副本卷,取值范圍是[1, N],N為副本模式卷的副本數;對于EC模式,取值范圍是[1, N+M]。 | 否 |
| config.writePolicy | String | 卷的寫策略。 取值:
| 否 |
| config.serverAffinity.autoFailback | Object | 卷主備分布優先級設置,詳見“表1 請求參數config.serverAffinity說明”。 | 否 |
| cloud.compression | String | 是否壓縮數據上傳至對象存儲。 取值:
| 否 |
| cloud.accessKey | String | 對象存儲服務的Access Key。 注意 Access Key和Secret Access Key如果要修改,必須同時修改。 | 否 |
| cloud.secretKey | String | 對象存儲服務的Secret Access Key。 注意 Access Ke和Secret Access Key如果要修改,必須同時修改。 | 否 |
| cloud.endpoint | String | 設置對象存儲服務的Endpoint。 注意
| 否 |
| cloud.signVersion | String | 指定上云簽名認證的類型。 取值:
| 否 |
| cloud.region | String | 表示Endpoint資源池所在區域。 V4簽名時,此項必填。 | 否 |
表1 請求參數config.serverAffinity說明
| 參數 | 類型 | 描述 | 是否必須 |
|---|---|---|---|
| autoFailback | String | 修改是否根據指定的卷主備分布優先級自動進行主備切換(僅集群版支持),即針對卷主備狀態,當高優先級的服務器恢復正常后,是否自動進行主備狀態切換。 取值:
| 否 |
| priority | Array of priority | 修改卷主備分布優先級的服務器ID(僅集群版支持),系統根據指定的服務器ID順序來選擇卷的主備IQN。可以指定一個或者多個服務器ID,以英文逗號分開。 注意 如果為空數組,即[ ],表示清空優先級設置。 取值:服務器ID。 | 否 |
請求示例1
修改卷lun8的寫策略為WriteThrough。
PUT /rest/v1/block/lun/lun8 HTTP/1.1
Date: Fri, 29 Jul 2022 07: 29: 17 GMT
Host: 192.168.0.121: 1443
Content-Length: 53
Authorization: HBlock userName:signature
{
"config": {
"writePolicy": "WriteThrough"
}
}響應示例1
HTTP/1.1 204 No Content
Date: Fri, 29 Jul 2022 07: 29: 18 GMT
Connection: keep-alive
x-hblock-request-id: 140a25c99a9a4efc87e561b44b595926
Server: HBlock請求示例2
修改卷的最小副本數為3。
PUT /rest/v1/block/lun/lun01a HTTP/1.1
Date: Sat, 7 Oct 2023 07: 58: 35 GMT
Host: 192.168.0.117: 1443
Content-Length: 53
Authorization: HBlock userName:signature
{
"config": {
"minReplica": 3
}
}響應示例2
HTTP/1.1 204 No Content
Date: Sat, 7 Oct 2023 07: 58: 35 GMT
Connection: keep-alive
x-hblock-request-id: 437f52eff9fe44a6ad9aae796beda55e
Server: HBlock請求示例3
修改卷lun02a的上云信息。
PUT /rest/v1/block/lun/lun02a HTTP/1.1
Date: Thu, 9 May 2024 09: 12: 47 GMT
Host: 192.168.0.110: 1443
Content-Length: 271
Authorization: HBlock userName:signature
{
"cloud": {
"accessKey": "d0434d3e9e8dd462d6e0",
"secretKey": "***************************",
"endpoint": "oos-cn.ctyunapi.cn",
"signVersion": "v4",
"region": "cn",
"compression": "Enabled"
}
}響應示例3
HTTP/1.1 204 No Content
Date: Thu, 9 May 2024 09:12:47 GMT
Connection: keep-alive
x-hblock-request-id: 01d8a27085444f6aaabbd3ebd16348db
Server: HBlock