设置卷的扩展属性(本地卷适用)
更新时间 2026-03-24 17:16:02
最近更新时间: 2026-03-24 17:16:02
本节主要介绍如何使用API设置卷的扩展属性。
此操作用来设置指定卷的扩展属性(Extended Attributes,简称xattr)。
注意
卷状态为Deleting、DeleteFailed状态时,不允许修改卷的xattr。
卷无Active IQN时,不允许修改卷的xattr。
请求语法
PUT /rest/v1/block/lun/lunName/xattr HTTP/1.1
Date: date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization:authorization
{
"action": "update",
"xattrKey":xattrKey,
"xattrValue": {
xattrInnerKey1: xattrInnerKeyValue1,
xattrInnerKey2: xattrInnerKeyValue2,
……
}
}请求参数
| 参数 | 类型 | 描述 | 是否必须 |
|---|---|---|---|
| lunName | String | 指定要设置扩展属性的卷名称。 取值:长度范围是1~16,只能由字母、数字和短横线(-)组成,字母区分大小写,且仅支持以字母或数字开头。 | 是 |
| action | String | 操作类型。 取值:update:修改单个卷的扩展属性。即更新xattrValue中的KV对(innerKey和innerValue),不存在的KV对按照入参执行新增,存在的KV对按照入参执行更新。 | 是 |
| xattrKey | String | 指定卷的扩展属性的key值。 取值:
| 是 |
| xattrValue | Object | 卷的扩展属性的Value,为json对象格式,长度不超过262144 bytes,详见“表1 请求参数xattrValue说明”。 | 是 |
表1 请求参数xattrValue说明
| 参数 | 类型 | 描述 | 是否必须 |
|---|---|---|---|
| xattrInnerKey | String | xattrValue中的Key值。 取值:长度范围是1~500,只能由字母、数字、汉字和特殊字符(~ ! @ $ ( ) _ + - ; . :)组成,特殊符号需转义。 | 是 |
| xattrInnerKeyValue | String | xattrValue中Key的Value值。 取值:长度不超过255 bytes的字符串。 | 是 |
请求示例
设置卷lun01a的扩展属性。
PUT /rest/v1/block/lun/lun01a/xattr HTTP/1.1
Date: Fri, 19 Dec 2025 02:57:22 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 279
Authorization: HBlock userName:signature
Host: 192.168.0.64:1443
{
"action": "update",
"xattrKey": "OPENSTACK_META",
"xattrValue": {
"5b157817-cccf-471d-bca3-5cb7598bb376": "{\"key1\":\"value1\",\"key2\":\"value2\"}",
"27157817-cccf-471d-bca3-5cb7598bb389": "{\"key1\":\"value1\",\"key2\":\"value2\"}"
}
}响应示例
HTTP/1.1 204 No Content
x-hblock-request-id: e57fb247430d4711a711588cc5faa70d
Connection: keep-alive
Date: Fri, 19 Dec 2025 02:57:22 GMT
Server: HBlock