获取主机磁盘信息

GET/zstack/v1/host/get-block-devices

Headers

Authorization: OAuth the-session-uuid

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 47c467d5c9944985bfbfead8d44cfec2" \
-X GET http://localhost:8080/zstack/v1/host/get-block-devices?username=username&password=password&sshPort=22&hostName=192.168.1.1

参数列表

名字类型位置描述可选值起始版本
usernameStringquery主机名 4.3.0
password (可选)Stringquery主机密码 4.3.0
sshPortIntegerquery主机端口 4.3.0
hostNameStringquery主机IP 4.3.0
excludedTypes (可选)Listquery指定排除的磁盘类型 4.3.0
systemTags (可选)Listquery系统标签 4.3.0
userTags (可选)Listquery用户标签 4.3.0

API返回

返回示例

{
  "blockDevices": {
    "unusedBlockDevices": [
      {
        "name": "/dev/vdb",
        "type": "disk",
        "size": 322122547200,
        "used": 0,
        "available": 0,
        "physicalSector": 512,
        "logicalSector": 512,
        "partitionTable": "msdos",
        "usedRatio": 0,
        "multipath": false
      },
      {
        "name": "/dev/vdc",
        "type": "disk",
        "size": 429496729600,
        "used": 0,
        "available": 0,
        "physicalSector": 512,
        "logicalSector": 512,
        "partitionTable": "unknown",
        "usedRatio": 0,
        "multipath": false
      }
    ],
    "usedBlockDevices": [
      {
        "name": "/dev/vda",
        "type": "disk",
        "size": 429496729600,
        "used": 0,
        "available": 0,
        "physicalSector": 512,
        "logicalSector": 512,
        "children": [
          {
            "name": "/dev/vda1",
            "type": "part",
            "size": 1073741824,
            "used": 0,
            "available": 0,
            "physicalSector": 512,
            "logicalSector": 512,
            "mountPoint": "/boot",
            "partitionTable": "unknown",
            "usedRatio": 0,
            "multipath": false
          },
          {
            "name": "/dev/vda2",
            "type": "part",
            "size": 428421939200,
            "used": 0,
            "available": 0,
            "physicalSector": 512,
            "logicalSector": 512,
            "children": [
              {
                "name": "/dev/mapper/zstack-root",
                "type": "lvm",
                "size": 419950493696,
                "used": 0,
                "available": 0,
                "physicalSector": 512,
                "logicalSector": 512,
                "mountPoint": "/",
                "partitionTable": "unknown",
                "usedRatio": 0,
                "multipath": false
              },
              {
                "name": "/dev/mapper/zstack-swap",
                "type": "lvm",
                "size": 8468299776,
                "used": 0,
                "available": 0,
                "physicalSector": 512,
                "logicalSector": 512,
                "mountPoint": "[SWAP]",
                "partitionTable": "unknown",
                "usedRatio": 0,
                "multipath": false
              }
            ],
            "partitionTable": "unknown",
            "usedRatio": 0,
            "multipath": false
          }
        ],
        "partitionTable": "unknown",
        "usedRatio": 0,
        "multipath": false
      }
    ]
  }
}
名字类型描述起始版本
successboolean 4.3.0
blockDevicesBlockDevices详情参考blockDevices4.3.0
errorErrorCode错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error4.3.0

blockDevices

名字类型描述起始版本
unusedBlockDevicesList详情参考unusedBlockDevices4.3.0
usedBlockDevicesList详情参考usedBlockDevices4.3.0

unusedBlockDevices

名字类型描述起始版本
nameString硬盘设备名字zsv 4.3.0
typeString磁盘类型zsv 4.3.0
sizelong磁盘容量zsv 4.3.0
usedlong磁盘已使用容量zsv 4.10.0
availablelong磁盘可使用容量zsv 4.10.0
physicalSectorlong物理扇区大小zsv 4.3.0
logicalSectorlong逻辑扇区大小zsv 4.3.0
mountPointString挂载点zsv 4.3.0
partitionTableString分区表类型zsv 4.3.0
fsTypeString文件系统类型zsv 4.10.0
serialNumberString序列号zsv 4.10.0
modelString型号zsv 4.10.0
mediaTypeString介质类型zsv 4.10.0
usedRatioString使用率zsv 4.10.0
smartPassedBoolean获取磁盘smart状态zsv 4.10.0
smartMessageString获取磁盘smart状态失败时输出信息zsv 4.10.0
multipathboolean是否为多路径设备;true 表示该磁盘自身为 multipath 设备或为 multipath 底层路径盘zsv 5.0.0
childrenList详情参考childrenzsv 4.3.0

usedBlockDevices

名字类型描述起始版本
nameString硬盘设备名字zsv 4.3.0
typeString磁盘类型zsv 4.3.0
sizelong磁盘容量zsv 4.3.0
usedlong磁盘已使用容量zsv 4.10.0
availablelong磁盘可使用容量zsv 4.10.0
physicalSectorlong物理扇区大小zsv 4.3.0
logicalSectorlong逻辑扇区大小zsv 4.3.0
mountPointString挂载点zsv 4.3.0
partitionTableString分区表类型zsv 4.3.0
fsTypeString文件系统类型zsv 4.10.0
serialNumberString序列号zsv 4.10.0
modelString型号zsv 4.10.0
mediaTypeString介质类型zsv 4.10.0
usedRatioString使用率zsv 4.10.0
smartPassedBoolean获取磁盘smart状态zsv 4.10.0
smartMessageString获取磁盘smart状态失败时输出信息zsv 4.10.0
multipathboolean是否为多路径设备;true 表示该磁盘自身为 multipath 设备或为 multipath 底层路径盘zsv 5.0.0
childrenList详情参考childrenzsv 4.3.0

error

名字类型描述起始版本
codeString错误码号,错误的全局唯一标识,例如SYS.1000, HOST.10010.6
descriptionString错误的概要描述0.6
detailsString错误的详细信息0.6
elaborationString保留字段,默认为null0.6
opaqueLinkedHashMap保留字段,默认为null0.6
causeErrorCode根错误,引发当前错误的源错误,若无原错误,该字段为null0.6

SDK示例

Java SDK

GetPhysicalMachineBlockDevicesAction action = new GetPhysicalMachineBlockDevicesAction();
action.username = "username";
action.password = "password";
action.sshPort = 22;
action.hostName = "192.168.1.1";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetPhysicalMachineBlockDevicesAction.Result res = action.call();

Python SDK

action = GetPhysicalMachineBlockDevicesAction()
action.username = "username"
action.password = "password"
action.sshPort = 22
action.hostName = "192.168.1.1"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()