此操作用来批量查询服务器。
请求语法
GET /rest/v1/system/server?filter=filter&range=i-j HTTP/1.1
Date: date
Host: ip:port
Authorization: authorization
请求参数
参数 | 描述 | 是否必须 |
---|---|---|
filter | 查询的过滤条件。 支持的查询条件为:
| 否 |
range | 查询服务器的范围,格式为i-j,i和j为正整数,0 < j-i < 1000。按照服务器ID进行排序,返回第i到第j的服务器。 如果输入的查询范围超过服务器的总个数,返回的结果为空,如果未指定range,则返回所有符合条件的服务器。 | 否 |
响应结果
名称 | 描述 |
---|---|
servers | 服务器HBlock属性集合,包含:serverName、serverId、status、version、isMasterServer、isBaseServer、publicAddress、clusterAddress、allDiskPaths、defaultPath、recentStartTime、ports、portRange、iSCSIPort、storagePorts、nodeName、parentName、description、baseServices。 类型:数组 |
serverName | 服务器名称。 |
serverId | 服务器ID。 |
status | 服务器状态:
|
version | 服务器上的HBlock版本。 |
isMasterServer | 该服务器是否为Master节点:
|
isBaseServer | 该服务器是否为基础节点:
|
publicAddress.ip | 业务网络的IP。 |
publicAddress.port | 业务网络端口号。 |
clusterAddress.ip | 集群网络的IP。 |
clusterAddress.port | 集群网络端口号。 |
allDiskPaths.usedCapacity | 当前服务器所有HBlock数据目录对应分区的已用容量,单位是字节。 |
allDiskPaths.totalCapacity | 当前服务器所有HBlock数据目录对应分区的总容量,单位是字节。 |
defaultPath | 默认的数据目录(仅单机版支持)。 |
recentStartTime | HBlock服务在该节点上最近一次成功启动的时间。 服务器未连接时,不返回此项。 |
ports | HBlock端口的集合。数组,包括portName、port。 |
portName | HBlock端口名称。 |
port | HBlock在当前服务器上使用的端口号。 |
portRange | 端口范围。 |
iSCSIPort | iSCSI端口。 |
storagePorts | 存储服务端口集合(仅集群版支持)。 数组,包括portN、diskpath、description、pathId。 |
portN | 存储服务端口。 |
diskpath | 存储服务的数据目录。 |
pathId | 数据目录ID。 |
nodeName | 节点名称(仅集群版支持)。 |
parentName | 父节点名称(仅集群版支持)。 |
description | 节点描述(仅集群版支持)。 |
baseServices | 基础服务属性的集合(仅集群版基础服务器支持)。数组,包括name、status、metaDir。 |
name | 基础服务名称:
|
status | 基础服务的状态:
|
metaDir | 存储基础服务数据的数据目录。 |
请求示例1
单机版:查询服务器。
GET /rest/v1/system/server HTTP/1.1
Date: Tue, 14 Jan 2025 08:41:57 GMT
Authorization: HBlock userName:signature
Host: 192.168.0.32:1443
响应示例1
HTTP/1.1 200 OK
Date: Tue, 14 Jan 2025 08:41:57 GMT
x-hblock-request-id: 9fac0d6f51a647bda31c8b68280652e1
Connection: keep-alive
Content-Length: 695
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"servers": [
{
"serverName": "ecs-9689-0915127",
"serverId": "hblock_1",
"status": "Connected",
"version": "3.8.0",
"publicAddress": {
"ip": "192.168.0.32",
"port": 3260
},
"clusterAddress": {
"ip": "192.168.0.32",
"port": 20004
},
"allDiskPaths": {
"usedCapacity": 35861303296,
"totalCapacity": 100169342976
},
"defaultPath": "/mnt/stor",
"recentStartTime": 1735873608983,
"ports": [
{
"portName": "apiPort",
"port": 1443
},
{
"portName": "webPort",
"port": 2443
},
{
"portName": "managementPort1",
"port": 20004
},
{
"portName": "managementPort2",
"port": 20000
},
{
"portName": "managementPort3",
"port": 20002
},
{
"portName": "managementPort4",
"port": 20003
},
{
"portName": "managementPort6",
"port": 20001
}
],
"portRange": "20000-20500",
"iSCSIPort": 3260
}
]
}
}
请求示例2
集群版:查询第2和第3个服务器。
GET /rest/v1/system/server?range=2-3 HTTP/1.1
Date: Mon, 25 Nov 2024 09:47:00 GMT
Authorization: HBlock userName:signature
Host: 192.168.0.192:1443
响应示例2
HTTP/1.1 200 OK
Date: Mon, 25 Nov 2024 09:47:00 GMT
x-hblock-request-id: 79a2d7b33f55452e910217c2d0cd51af
Connection: keep-alive
Content-Length: 2716
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"servers": [
{
"serverName": "ecs-9689-0915142",
"serverId": "hblock_2",
"status": "Connected",
"version": "3.8.0",
"isMasterServer": false,
"isBaseServer": true,
"publicAddress": {
"ip": "192.168.0.117",
"port": 3260
},
"clusterAddress": {
"ip": "192.168.0.117",
"port": 20008
},
"allDiskPaths": {
"usedCapacity": 18037145600,
"totalCapacity": 35963482112
},
"recentStartTime": 1732519209900,
"ports": [
{
"portName": "apiPort",
"port": 1443
},
{
"portName": "webPort",
"port": 2443
},
{
"portName": "managementPort1",
"port": 20008
},
{
"portName": "managementPort2",
"port": 20013
},
{
"portName": "managementPort3",
"port": 20004
},
{
"portName": "managementPort4",
"port": 20011
},
{
"portName": "managementPort5",
"port": 20000
},
{
"portName": "managementPort6",
"port": 20010
},
{
"portName": "dataPort1",
"port": 20002
},
{
"portName": "metadataPort4",
"port": 20005
},
{
"portName": "metadataPort5",
"port": 20001
},
{
"portName": "metadataPort6",
"port": 20006
},
{
"portName": "metadataPort7",
"port": 20012
},
{
"portName": "metadataPort8",
"port": 20007
}
],
"portRange": "20000-20500",
"iSCSIPort": 3260,
"storagePorts": [
{
"port1": 20003,
"port2": 20014,
"port3": 20009,
"diskpath": "/mnt/storage02",
"pathId": "1"
}
],
"nodeName": "default:hblock_2",
"parentName": "default",
"baseServices": [
{
"name": "ls",
"status": "Up",
"metaDir": "/mnt/storage02"
},
{
"name": "cs",
"status": "Up",
"metaDir": "/mnt/storage02"
}
]
},
{
"serverName": "ecs-9689-0915140",
"serverId": "hblock_3",
"status": "Connected",
"version": "3.8.0",
"isMasterServer": false,
"isBaseServer": true,
"publicAddress": {
"ip": "192.168.0.102",
"port": 3260
},
"clusterAddress": {
"ip": "192.168.0.102",
"port": 20008
},
"allDiskPaths": {
"usedCapacity": 63451136,
"totalCapacity": 100169342976
},
"recentStartTime": 1732519207564,
"ports": [
{
"portName": "apiPort",
"port": 1443
},
{
"portName": "webPort",
"port": 2443
},
{
"portName": "managementPort1",
"port": 20008
},
{
"portName": "managementPort2",
"port": 20013
},
{
"portName": "managementPort3",
"port": 20004
},
{
"portName": "managementPort4",
"port": 20011
},
{
"portName": "managementPort5",
"port": 20000
},
{
"portName": "managementPort6",
"port": 20010
},
{
"portName": "dataPort1",
"port": 20002
},
{
"portName": "metadataPort1",
"port": 20014
},
{
"portName": "metadataPort2",
"port": 20003
},
{
"portName": "metadataPort3",
"port": 20009
},
{
"portName": "metadataPort4",
"port": 20005
},
{
"portName": "metadataPort5",
"port": 20001
},
{
"portName": "metadataPort6",
"port": 20006
},
{
"portName": "metadataPort7",
"port": 20012
},
{
"portName": "metadataPort8",
"port": 20007
}
],
"portRange": "20000-20500",
"iSCSIPort": 3260,
"storagePorts": [
{
"port1": 20015,
"port2": 20017,
"port3": 20016,
"diskpath": "/mnt/stor01",
"pathId": "1"
}
],
"nodeName": "default:hblock_3",
"parentName": "default",
"baseServices": [
{
"name": "mdm",
"status": "Up",
"metaDir": "/mnt/stor02"
},
{
"name": "ls",
"status": "Up",
"metaDir": "/mnt/stor02"
},
{
"name": "cs",
"status": "Up",
"metaDir": "/mnt/stor02"
}
]
}
]
}
}