此操作用来批量查询服务器。
请求语法
GET /rest/v1/system/server?filter=filter&range=i-j HTTP/1.1
Date: date
Host: ip:port
Authorization: authorization
请求参数
参数 描述 是否必须 filter 查询的过滤条件。
支持的查询条件为:
serverName:服务器名称。
status:服务器状态(Connected:已连接;Disconnected:未连接;Removing:移除中)。
否 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。
类型:数组
serverName 服务器名称。 serverId 服务器ID。 status 服务器状态:
Connected:已连接。
Disconnected:未连接。
Removing:移除中。
version 服务器上的HBlock版本。 isMasterServer 该服务器是否为Master节点:
true:是。
false:否。
isBaseServer 该服务器是否为基础节点:
true:是。
false:否。
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 存储服务端口集合(仅集群版支持)。
数组,包括port1、port2、port3、diskpath、description、pathId。
port1 存储服务端口1。 port2 存储服务端口2。 port3 存储服务端口3。 diskpath 存储服务的数据目录。 pathId 数据目录ID。 nodeName 节点名称(仅集群版支持)。 parentName 父节点名称(仅集群版支持)。 description 节点描述(仅集群版支持)。 baseServices 基础服务属性的集合(仅集群版基础服务器支持)。数组,包括name和status。 name 基础服务名称:
mdm:元数据管理服务。
ls:日志服务。
cs:协调服务。
status 基础服务的状态:
Up:可用。
Down:不可用。
Migrating:正在迁移。
Unkown:未知。
请求示例1
单机版:查询服务器。
GET /rest/v1/system/server HTTP/1.1
Date: Thu, 21 Dec 2023 01:58:17 GMT
Authorization: HBlock userName:signature
Host: 192.168.0.32:1443
响应示例1
HTTP/1.1 200 OK
Date: Thu, 21 Dec 2023 01: 58: 17 GMT
x-hblock-request-id: 0902e4e42dcc468999b573bd3c5d0dd7
Connection: keep-alive
Content-Length: 577
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"servers": [
{
"serverName": "ecs-9689-0915127",
"serverId": "hblock_1",
"status": "Connected",
"version": "3.7.0",
"publicAddress": {
"ip": "192.168.0.32",
"port": 3260
},
"clusterAddress": {
"ip": "192.168.0.32",
"port": 20004
},
"allDiskPaths": {
"usedCapacity": 224587776,
"totalCapacity": 100167352320
},
"defaultPath": "/mnt/storage01",
"recentStartTime": 1702893605991,
"ports": [
{
"portName": "apiPort",
"port": 1443
},
{
"portName": "webPort",
"port": 442
},
{
"portName": "managementPort1",
"port": 20004
},
{
"portName": "managementPort2",
"port": 20003
},
{
"portName": "managementPort3",
"port": 20001
},
{
"portName": "managementPort4",
"port": 20000
},
{
"portName": "managementPort6",
"port": 20002
}
],
"portRange": "20000-20500",
"iSCSIPort": 3260
}
]
}
}
请求示例2
集群版:查询第2和第3个服务器。
GET /rest/v1/system/server?range=2-3 HTTP/1.1
Date: Fri, 13 Sep 2024 08:58:45 GMT
Authorization: HBlock userName:signature
Host: 192.168.0.192:1443
响应示例2
HTTP/1.1 200 OK
Date: Fri, 13 Sep 2024 08:58:45 GMT
x-hblock-request-id: 3db91ebb72a7452fa1251c37c896478b
Connection: keep-alive
Content-Length: 2793
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"servers": [
{
"serverName": "hblockserver",
"serverId": "hblock_2",
"status": "Connected",
"version": "3.7.0",
"isMasterServer": true,
"isBaseServer": true,
"publicAddress": {
"ip": "192.168.0.110",
"port": 3260
},
"clusterAddress": {
"ip": "192.168.0.110",
"port": 20001
},
"allDiskPaths": {
"usedCapacity": 22267084800,
"totalCapacity": 100169342976
},
"recentStartTime": 1725522597537,
"ports": [
{
"portName": "apiPort",
"port": 1443
},
{
"portName": "webPort",
"port": 2443
},
{
"portName": "managementPort1",
"port": 20001
},
{
"portName": "managementPort2",
"port": 20003
},
{
"portName": "managementPort3",
"port": 20002
},
{
"portName": "managementPort4",
"port": 20006
},
{
"portName": "managementPort5",
"port": 20014
},
{
"portName": "managementPort6",
"port": 20007
},
{
"portName": "dataPort1",
"port": 20005
},
{
"portName": "metadataPort1",
"port": 20008
},
{
"portName": "metadataPort2",
"port": 20012
},
{
"portName": "metadataPort3",
"port": 20011
},
{
"portName": "metadataPort4",
"port": 20009
},
{
"portName": "metadataPort5",
"port": 20013
},
{
"portName": "metadataPort6",
"port": 20010
},
{
"portName": "metadataPort7",
"port": 20000
},
{
"portName": "metadataPort8",
"port": 20004
}
],
"portRange": "20000-20500",
"iSCSIPort": 3260,
"storagePorts": [
{
"port1": 20015,
"port2": 20017,
"port3": 20016,
"diskpath": "/mnt/stor",
"pathId": "1"
}
],
"nodeName": "default:room1:server2",
"parentName": "default:room1",
"description": "",
"baseServices": [
{
"name": "mdm",
"status": "Up"
},
{
"name": "ls",
"status": "Up"
},
{
"name": "cs",
"status": "Up"
}
]
},
{
"serverName": "ecs-9689-0915140",
"serverId": "hblock_3",
"status": "Connected",
"version": "3.7.0",
"isMasterServer": false,
"isBaseServer": true,
"publicAddress": {
"ip": "192.168.0.102",
"port": 3260
},
"clusterAddress": {
"ip": "192.168.0.102",
"port": 20001
},
"allDiskPaths": {
"usedCapacity": 24751661056,
"totalCapacity": 100169342976
},
"recentStartTime": 1725522638763,
"ports": [
{
"portName": "apiPort",
"port": 1443
},
{
"portName": "webPort",
"port": 2443
},
{
"portName": "managementPort1",
"port": 20001
},
{
"portName": "managementPort2",
"port": 20003
},
{
"portName": "managementPort3",
"port": 20002
},
{
"portName": "managementPort4",
"port": 20006
},
{
"portName": "managementPort5",
"port": 20014
},
{
"portName": "managementPort6",
"port": 20007
},
{
"portName": "dataPort1",
"port": 20005
},
{
"portName": "metadataPort1",
"port": 20015
},
{
"portName": "metadataPort2",
"port": 20016
},
{
"portName": "metadataPort3",
"port": 20017
},
{
"portName": "metadataPort4",
"port": 20009
},
{
"portName": "metadataPort5",
"port": 20013
},
{
"portName": "metadataPort6",
"port": 20010
},
{
"portName": "metadataPort7",
"port": 20000
},
{
"portName": "metadataPort8",
"port": 20004
}
],
"portRange": "20000-20500",
"iSCSIPort": 3260,
"storagePorts": [
{
"port1": 20008,
"port2": 20012,
"port3": 20011,
"diskpath": "/mnt/stor",
"pathId": "1"
}
],
"nodeName": "default:room1:server3",
"parentName": "default:room1",
"description": "",
"baseServices": [
{
"name": "mdm",
"status": "Up"
},
{
"name": "ls",
"status": "Up"
},
{
"name": "cs",
"status": "Up"
}
]
}
]
}
}