此操作用来查询指定服务器。
请求语法
GET /rest/v1/system/server/serverId HTTP/1.1
Date: date
Host: ip:port
Authorization: authorization
请求参数
参数 描述 是否必须 serverId 要查询的服务器ID。
如果未指定服务器ID,则查询所有服务器。
类型:字符串
否
响应结果
名称 描述 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 集群网络端口号。 targetPortalIP.ips iSCSI目标门户IP属性集合,包含:ip、port。
类型:数组
ip iSCSI目标门户IP。 port iSCSI目标门户端口号。 targetPortalIP.status iSCSI目标门户IP状态:
Enabled:启用状态。
Disabled:停用状态。
diskPaths HBlock数据目录信息集合,包含:path、totalCapacity、usedCapacity、usedCapacityQuota、capacityQuota、managementStatus、healthStatus、healthDetail。
类型:数组
path HBlock数据目录。 totalCapacity 当前HBlock数据目录对应分区的总容量,单位是字节。 usedCapacity 服务器上HBlock数据目录对应分区的已用容量,单位是字节。 usedCapacityQuota HBlock在该数据目录的已写入量,即已用容量配额。单位是字节。 capacityQuota 数据目录的容量配额。单位是字节。
0表示禁止写入。不输出,表示没有限制。
managementStatus 数据目录管理状态:
Added:数据目录已添加至系统中。
Removing:数据目录正在移除中。
subStatus.stage 移除数据目录所处的阶段:
Reconfiguration:重置中。
CheckingData:检查数据。在该阶段,会同时显示下列字段的信息totalFD、healthyFD、warningFD、errorFD、safeData、reconstructionWaitData、availFDWaitData、singleCopyLUNData、corruptedData、具体告警信息(availFDWaitWarning、singleCopyLUNWarning或者corruptedWarning)。
Executing:执行移除数据目录
subStatus.totalFD 总的故障域个数。 subStatus.healthyFD 状态为Healthy的故障域个数。 subStatus.warningFD 状态为Warning的故障域个数。 subStatus.errorFD 状态为Error的故障域个数。 subStatus.safeData 安全数据百分比,单位是%。 subStatus.reconstructionWaitData 需要重建的数据百分比,单位是%。 subStatus.availFDWaitData 移除磁盘或者服务器时,数据重建需要的故障域个数不足,因此引发的无法重建的数据百分比。 subStatus.singleCopyLUNData 单副本数据百分比,单位是%。 subStatus.corruptedData 已经损坏的数据百分比,单位是%。 subStatus.availFDWaitWarning 告警信息。
根据状态不同,显示的告警信息不同:
availFDWaitWarning:移除磁盘或者服务器时,数据重建需要的故障域个数不足。
singleCopyLUNWarning:单副本卷数据所在磁盘或者服务器被移除。
corruptedWarning:故障域异常导致数据损坏。
subStatus.singleCopyLUNWarning subStatus.corruptedWarning healthStatus 数据目录健康状态:
Healthy:数据目录处于健康状态,可正常读写,且数据目录所在磁盘使用率未超过90%。
Warning:数据目录处于警告状态,可读,但存在以下情况的任意一种:慢盘;数据目录所在磁盘使用率超过90%;磁盘剩余空间不足1GiB;或者HBlock对这个目录停写。
Error:数据目录错误状态,无法访问,原因可能是:所在磁盘出现I/O错误导致无法读写,数据目录未正确挂载等。
healthDetail 数据目录健康状态详情:
如果健康状态为Healthy,此字段为空。
如果健康状态为Warning或Error,显示警告或错误的详细信息。
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
单机版:查询服务器ID为hblock_1的信息。
GET /rest/v1/system/server/hblock_1 HTTP/1.1
Date: Wed, 07 Aug 2024 03:10:21 GMT
Authorization: HBlock userName:signature
Host: 192.168.0.32:1443
响应示例1
HTTP/1.1 200 OK
x-hblock-request-id: d3ba86887cdf4e22a21d8afa092b4f6a
Connection: keep-alive
Content-Length: 967
Date: Wed, 07 Aug 2024 03:10:21 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"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": 20000
},
"diskPaths": [
{
"path": "/mnt/stor",
"usedCapacity": 1254682624,
"totalCapacity": 100169342976,
"usedCapacityQuota": 4096,
"managementStatus": "Added",
"healthStatus": "Healthy",
"healthDetail": []
},
{
"path": "/mnt/storage02",
"usedCapacity": 26825322496,
"totalCapacity": 35963482112,
"usedCapacityQuota": 4096,
"managementStatus": "Added",
"healthStatus": "Healthy",
"healthDetail": []
}
],
"defaultPath": "/mnt/stor",
"recentStartTime": 1722587226735,
"ports": [
{
"portName": "apiPort",
"port": 1443
},
{
"portName": "webPort",
"port": 2443
},
{
"portName": "managementPort1",
"port": 20000
},
{
"portName": "managementPort2",
"port": 20001
},
{
"portName": "managementPort3",
"port": 20002
},
{
"portName": "managementPort4",
"port": 20004
},
{
"portName": "managementPort6",
"port": 20003
}
],
"portRange": "20000-20500",
"iSCSIPort": 3260
}
}
请求示例2
集群版:查询服务器ID为hblock_2的信息。
GET /rest/v1/system/server/hblock_2 HTTP/1.1
Date: Thu, 4 Jul 2024 06:24:48 GMT
Authorization: HBlock userName:signature
Host: 192.168.0.110:1443
响应示例2
HTTP/1.1 200 OK
x-hblock-request-id: fc1684c80f60476e874440b10d9e6ebb
Connection: keep-alive
Content-Length: 1535
Date: Thu, 4 Jul 2024 06:24:48 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"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
},
"diskPaths": [
{
"path": "/mnt/stor",
"storagePool": "default",
"usedCapacity": 22267330560,
"totalCapacity": 100169342976,
"usedCapacityQuota": 13659611136,
"managementStatus": "Added",
"healthStatus": "Healthy",
"healthDetail": []
}
],
"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"
}
]
}
}
请求示例3
集群版:集群中有4台服务器,移除hblock_4,查询hblock_4的服务器信息。
GET /rest/v1/system/server/hblock_4 HTTP/1.1
Date: Thu, 4 Jul 2024 07:01:36 GMT
Authorization: HBlock userName:signature
Host: 192.168.0.110:1443
响应示例3
HTTP/1.1 200 OK
x-hblock-request-id: 5e5a4343fa4f43288f5f692568a9e741
Connection: keep-alive
Content-Length: 1001
Date: Thu, 4 Jul 2024 07:01:36 GMT
Content-Type: application/json;charset=utf-8
Server: HBlock
{
"data": {
"serverName": "ecs-9689-0915142",
"serverId": "hblock_4",
"status": "Removing",
"version": "3.7.0",
"isMasterServer": false,
"isBaseServer": false,
"publicAddress": {
"ip": "192.168.0.117",
"port": 3260
},
"clusterAddress": {
"ip": "192.168.0.117",
"port": 20005
},
"diskPaths": [
{
"path": "/mnt/storage02",
"usedCapacity": 54665216,
"totalCapacity": 56028450816,
"managementStatus": "Removing"
}
],
"recentStartTime": 1720075271142,
"ports": [
{
"portName": "apiPort",
"port": 1443
},
{
"portName": "webPort",
"port": 2443
},
{
"portName": "managementPort1",
"port": 20005
},
{
"portName": "managementPort2",
"port": 20001
},
{
"portName": "managementPort3",
"port": 20002
},
{
"portName": "managementPort4",
"port": 20003
},
{
"portName": "managementPort5",
"port": 20004
},
{
"portName": "managementPort6",
"port": 20006
},
{
"portName": "dataPort1",
"port": 20000
}
],
"portRange": "20000-20500",
"iSCSIPort": 3260,
"storagePorts": [
{
"port1": 20007,
"port2": 20009,
"port3": 20008,
"diskpath": "/mnt/storage02",
"pathId": "1"
}
],
"nodeName": "default:server4",
"parentName": "default",
"description": ""
}
}