此操作用来添加节点到存储池。
说明
初始化时添加的数据目录节点都属于基础存储池节点。后续如果需要将基础存储池中的节点添加到其他存储池,需要先从基础储存池移除。
注意
- 待添加的节点必须属于集群拓扑节点,且每个集群拓扑节点只能添加到一个存储池中。
- 添加path级别的节点时,该path不能属于其他存储池,不能处在移除状态,path所属的服务器也不能处在移除状态。
- 当添加的节点类型低于存储池故障域级别,该节点的祖先节点中需要存在和该存储池故障域级别相同的映射节点,否则报错。如存储池故障域为rack,针对节点 root:room1:server1,将server1加入到该存储池时报错。
- 当添加的节点类型高于存储池故障域级别,该节点的子孙节点中需要存在和该存储池故障域级别相同的映射节点,否则报错。例如存储池故障域为rack,存在拓扑节点root:room1:server1:path1,将room1加入到该存储池时报错。
请求语法
PUT /rest/v1/system/storagepool/poolName/node HTTP/1.1
Date: date
Content-Type: application/json; charset=utf-8
Content-Length: length
Host: ip:port
Authorization: authorization
{
"nodes": [
node1,
node2,
...
]
}
请求参数
参数 | 类型 | 描述 | 是否必须 |
---|---|---|---|
poolName | String | 存储池名称。 取值:长度范围是1~16,只能由字母、数字和短横线(-)、下划线(_)组成,字母区分大小写,且仅支持以字母和数字开头。 | 是 |
nodes | Array of String | 指定加入存储池的节点,该节点必须属于集群拓扑节点。 说明
| 是 |
请求示例
为存储池pool4添加存储节点。
PUT /rest/v1/system/storagepool/pool4/node HTTP/1.1
Date: Tue, 18 Jun 2024 10: 06: 09 GMT
Content-Type: application/json; charset=utf-8
Authorization: HBlock userName:signature
Content-Length: 104
Host: 192.168.0.110: 1443
{
"nodes": [
"hblock_1:/mnt/storage01",
"rack1:hblock_2:/mnt/storage01"
]
}
响应示例
HTTP/1.1 204 No Content
x-hblock-request-id: bcdb355abb8d481fb17bd2c40affb5bc
Connection: keep-alive
Date: Tue, 18 Jun 2024 08: 41: 36 GMT
Server: HBlock