存储管理
2.2.1查询数据中心下共享文件系统列表
接口地址
GET /NSphere/api/storage/dc/{hpId}/shared-filesystem/list
接口描述
根据数据中心ID查询共享文件系统
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
hpId | 数据中心ID | path | true | integer(int64) | |
title | 按共享文件系统显示名称模糊查询 | query | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseListApiShareFileSystemVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | array | ApiShareFileSystemVO |
id | 共享文件系统ID | integer(int64) | |
name | 共享文件系统名称 | string | |
title | 共享文件系统显示名称 | string | |
desc | 描述。长度0~120,支持任意字符包括空格 | string | |
type | 共享文件系统类型。1:iSCSI共享文件系统,2:FC共享文件系统,3:NVMe-oF共享文件系统,4:NFS共享文件系统,5:iSER共享文件系统 | integer(int32) | |
typeStr | 共享文件系统类型。iSCSI:iSCSI共享文件系统,FC:FC共享文件系统,NVMe-oF:NVMe-oF共享文件系统,netfs:NFS共享文件系统,iSER:iSER共享文件系统 | string | |
hpId | 数据中心ID | integer(int64) | |
path | 共享文件系统目标路径 | string | |
capacityControl | 是否允许虚拟机自动部署控制,0:不允许,1:允许 | integer(int32) | |
secretLevel | 密级级别。1:内部公开,2:秘密,3:机密,4:绝密。相同密级级别的虚拟机才可以使用此存储池 | integer(int32) | |
storageResourceId | 存储资源ID | integer(int64) | |
lockMode | 磁盘锁类型。dlm:分布式锁,dlock:硬件辅助锁(Ultra存储、NFS共享文件系统没有锁类型) | string | |
maxSize | 总容量(MB) | integer(int64) | |
allocation | 已分配容量(MB) | number(double) | |
remainSize | 实际可用容量(MB) | integer(int64) | |
rsFsLunInfo | LUN信息实体类 | array | ApiFsLunInfo |
id | 与共享文件系统关联的LUN ID | integer(int64) | |
targetHost | 服务器IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | string | |
targetHost2 | 服务器IP地址2 | string | |
naa | NAA,若为iSCSI、FC类型,使用此字段 | string | |
naaName | NAA名称 | string | |
model | Model,若为FC类型,使用此字段 | string | |
lun | LUN,若为iSCSI类型,使用此字段。 | string | |
lunView | LUN名称 | string | |
capacity | LUN容量大小(Bytes)。 | integer(int64) | |
shareFileSystemId | 共享文件系统ID | integer(int64) | |
hba | HBA存储适配器,若为FC类型,使用此字段。 | string | |
uuid | uuid,若为NVMe-oF类型,使用此字段 | string | |
subnqn | subnqn,若为NVMe-oF类型,使用此字段。 | string | |
localAffinityHost | 块设备亲和性IP所在主机 | string | |
blockName | 对应块设备名称 | string | |
localAffinityIp | 块设备亲和性IP | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": [
{
"id": null,
"name": null,
"title": null,
"desc": null,
"type": null,
"typeStr": null,
"hpId": null,
"path": null,
"capacityControl": null,
"secretLevel": null,
"storageResourceId": null,
"lockMode": null,
"maxSize": null,
"allocation": null,
"remainSize": null,
"rsFsLunInfo": [
{
"id": null,
"targetHost": "127.0.0.1",
"targetHost2": null,
"naa": "3664ae847f4dd4738874a7108a49341ad",
"naaName": null,
"model": null,
"lun": "ip-127.0.0.1:3260-iscsi-iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"lunView": "iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"capacity": 4560255975424,
"shareFileSystemId": null,
"hba": null,
"uuid": null,
"subnqn": null,
"localAffinityHost": null,
"blockName": null,
"localAffinityIp": null
}
]
}
]
}
2.2.2查询虚拟机挂载的存储卷信息及基础镜像信息
接口地址
GET /NSphere/api/storage/domain/{domainId}/volume
接口描述
根据虚拟机ID和基础文件路径,查询虚拟机挂载的存储卷信息及基础镜像信息
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
domainId | 虚拟机ID | path | true | integer(int64) | |
path | 只允许输入字母、数字、减号、下划线、斜杠/及点,必须以斜杠/开始,并且不包含连续/ | query | true | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseApiStorageNodeVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | ApiStorageNodeVO | ApiStorageNodeVO |
id | 节点树ID 该字段未使用 | integer(int64) | |
text | 文本信息 内容为文件名称 | string | |
href | 超链接 该字段未使用 | string | |
icon | 图标 该字段未使用 | string | |
selectable | 是否可以被选中。用于界面高亮显示 | boolean | |
nodes | 树状节点信息实体类 | array | ApiTreeNode |
id | 节点树ID 该字段未使用 | integer(int64) | |
text | 文本信息 内容为文件名称 | string | |
href | 超链接 该字段未使用 | string | |
icon | 图标 该字段未使用 | string | |
selectable | 是否可以被选中。用于界面高亮显示 | boolean | |
nodes | 节点树 | ||
fileName | 文件名称 | string | |
poolPath | 存储池路径 | string | |
domainId | 虚拟机ID | integer(int64) | |
level | 树节点级别 | integer(int32) | |
domainName | 虚拟机名称 | string | |
title | 虚拟机显示名称 | string | |
device | 设备名称 | string | |
capacity | 容量大小(KB) | integer(int64) |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {
"id": null,
"text": null,
"href": null,
"icon": null,
"selectable": true,
"nodes": [
{
"id": null,
"text": null,
"href": null,
"icon": null,
"selectable": true,
"nodes": {}
}
],
"fileName": null,
"poolPath": null,
"domainId": null,
"level": null,
"domainName": null,
"title": null,
"device": null,
"capacity": null
}
}
2.2.3增加存储池
接口地址
POST /NSphere/api/storage/pool
接口描述
为指定主机增加存储池。创建任务成功,则返回任务ID。
请求数据类型
application/json
响应数据类型
application/json
请求示例
{
"hostId": 1,
"name": "test",
"title": "test",
"type": "iscsi",
"path": "/dev/disk/by-id",
"hostName": null,
"srcHost": null,
"hostIp": null,
"remoteDir": null,
"srcName": null,
"fsType": null,
"fsId": null,
"hpName": null,
"multipath": false,
"srcHostNew": null,
"fcType": null,
"localPortName": null,
"fsName": null,
"aepIsetId": null,
"storageResourceId": null,
"rsFsLunInfo": [
{
"id": null,
"targetHost": "127.0.0.1",
"targetHost2": null,
"naa": "3664ae847f4dd4738874a7108a49341ad",
"model": null,
"lun": "ip-127.0.0.1:3260-iscsi-iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"capacity": 4560255975424,
"hba": null,
"uuid": null,
"subnqn": null
}
],
"targetInfo": [
{
"ip": "127.0.0.1",
"port": null,
"target": "iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73"
}
],
"srcPath": null,
"userName": null,
"srcHostIp": null,
"pwd": null,
"authKey": null
}
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
apiAddStoragePoolDTO | 增加存储池实体类 | body | true | ApiAddStoragePoolDTO | ApiAddStoragePoolDTO |
hostId | 主机ID | true | integer(int64) | ||
name | 存储池名称 最大输入字符长度为32,只允许输入字母、数字、减号、下划线及点,首字符不能为减号和点,且不允许全部是数字。type为fs时,直接使用所选共享文件系统名称 | true | string | ||
title | 存储池显示名称 最大输入字符长度为64,只允许输入汉字、字母、数字、减号、下划线、空格及点,且不能全部为空格。type为fs时,直接使用所选共享文件系统的显示名称 | true | string | ||
type | 存储池类型。logical:LVM逻辑存储卷,iscsi:iSCSI网络存储,nvme-of:NVMe-oF网络存储,fc:FC网络存储,dir:本地文件目录,netfs:NFS网络文件系统,fs:共享文件系统,cifs:Windows系统共享目录,aep:英特尔内存存储,upool:Ultra存储 | true | string | ||
path | 目标路径 当type为iscsi,nvme-of,fc,iser时,path传参固定为“/dev/disk/by-id”;当type为dir或netfs时,只能为二级目录,且以/vms开头,如:/vms/images。当type为fs时,为共享文件系统目录。 | false | string | ||
hostName | 主机名称 | false | string | ||
srcHost | 源主机 | false | string | ||
hostIp | 主机IP 当type为netfs或cifs时,需要传此参数。作为服务器名称或IP地址 | false | string | ||
remoteDir | 远端目录(源路径) 当type为netfs或cifs时,需要传此参数,作为源路径 | false | string | ||
srcName | 源存储名称 当type为logical时,需要传此参数 | false | string | ||
fsType | 共享文件系统类型。iscsi,nvme-of,fc,iser 当type为fs需要传此参数 | false | string | ||
fsId | 共享文件系统ID | false | integer(int64) | ||
hpName | 数据中心名称 | false | string | ||
multipath | 是否多路径 | false | boolean | ||
srcHostNew | 源主机新名称 | false | string | ||
fcType | 存储类型。block:块存储,fs:共享存储,dir:本地文件目录 | false | string | ||
localPortName | 本地端口名称 | false | string | ||
fsName | 共享文件系统名称 当type为fs需要传此参数 | false | string | ||
aepIsetId | AEP ID。目前仅支持英特尔傲腾内存(AEP) 当type为aep时,需要传此参数 | false | string | ||
storageResourceId | 存储资源ID | false | integer(int64) | ||
rsFsLunInfo | LUN信息实体类。当增加共享文件系统或存储池时,需要传此参数。当修改共享文件系统,没有主机挂载该共享文件系统时,该参数允许被修改。(NFS共享文件系统不需要传此参数) | false | array | ApiAddFsLunInfoDTO | |
id | 与共享文件系统关联的LUN ID | false | integer(int64) | ||
targetHost | 服务器IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | false | string | ||
targetHost2 | 服务器IP地址2 | false | string | ||
naa | NAA,为iSCSI、FC类型时,需要传此参数。请确保配置的NAA信息未被其它的共享文件系统、网络存储、模板存储以及其它的管理平台使用 | false | string | ||
model | Model,若为FC类型,使用此字段 | false | string | ||
lun | LUN,若为iSCSI类型,使用此字段。 | false | string | ||
capacity | LUN容量大小(Bytes)。 为iSCSI、FC、NVMe-oF类型时,需要传此参数 | false | integer(int64) | ||
hba | HBA存储适配器,若为FC类型,使用此字段。 主机增加FC共享存储时,需要传此参数。 | false | string | ||
uuid | uuid,若为NVMe-oF类型,使用此字段 | false | string | ||
subnqn | subnqn,若为NVMe-oF类型,使用此字段。 请确保配置的namespace信息未被其它的共享文件系统、网络存储、模板存储以及其它的管理平台使用 | false | string | ||
targetInfo | target信息实体类。当主机增加type为iscsi,nvme-of,fc,iser网络存储池时,该参数必传 | false | array | ApiTargetInfo | |
ip | target IP | false | string | ||
port | target 端口 | false | integer(int32) | ||
target | target名称 | false | string | ||
srcPath | 源路径 当type为logical时,需要传此参数 | false | string | ||
userName | 用户名 当type为cifs时,需要传此参数 | false | string | ||
srcHostIp | 源主机IP | false | string | ||
pwd | 密码。与authKey二选一传参。明文传输 当type为cifs时,需要传此参数 | false | string | ||
authKey | 代替pwd,与pwd二选一传参。加密传输 当type为cifs时,需要传此参数 | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseApiTaskMsgVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | ApiTaskMsgVO | ApiTaskMsgVO |
msgId | 消息ID,可用于查询任务进度。 | integer(int64) | |
targetId | 任务执行对象ID | integer(int64) | |
targetName | 任务执行对象名称 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {
"msgId": 0,
"targetId": null,
"targetName": null
}
}
2.2.4删除存储池
接口地址
DELETE /NSphere/api/storage/pool
接口描述
根据主机ID删除指定名称的存储池。创建任务成功,则返回任务ID。
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
hostId | 主机ID | query | true | integer(int64) | |
poolName | 存储池名称 | query | true | string | |
force | 是否强制删除。当有关闭的虚拟机在使用时,也删除该活动的存储池 | query | false | boolean |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseApiTaskMsgVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | ApiTaskMsgVO | ApiTaskMsgVO |
msgId | 消息ID,可用于查询任务进度。 | integer(int64) | |
targetId | 任务执行对象ID | integer(int64) | |
targetName | 任务执行对象名称 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {
"msgId": 0,
"targetId": null,
"targetName": null
}
}
2.2.5刷新存储池
接口地址
PUT /NSphere/api/storage/pool/{hostId}/refresh
接口描述
根据主机ID刷新指定名称的存储池
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
hostId | 主机ID | path | true | integer(int64) | |
poolName | 存储池名称 | query | true | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseVoid |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {}
}
2.2.6启动存储池
接口地址
PUT /NSphere/api/storage/pool/{hostId}/start
接口描述
根据主机ID启动指定名称的存储池
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
hostId | 主机ID | path | true | integer(int64) | |
poolName | 存储池名称 | query | true | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseVoid |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {}
}
2.2.7查看存储池详细信息
接口地址
GET /NSphere/api/storage/pool/info
接口描述
在指定主机下查询指定存储池的详细信息
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
hostId | 主机ID | query | true | integer(int64) | |
poolName | 存储池名称 | query | true | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseApiStoragePoolDetailVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | ApiStoragePoolDetailVO | ApiStoragePoolDetailVO |
type | 存储类型中英文名 | string | |
name | 存储池名称 | string | |
title | 存储池显示名称 | string | |
path | 存储池路径 | string | |
totalSize | 总容量(MB) | integer(int64) | |
allocation | 已分配容量(MB) | number(double) | |
freeSize | 实际可用容量(MB) | integer(int64) | |
status | 存储池状态。1:活动,0:不活动 | integer(int32) | |
fcType | 存储池类型。logical:LVM逻辑存储卷,iscsi:iSCSI网络存储,nvme-of:NVMe-oF网络存储,fc:FC网络存储,dir:本地文件目录,netfs:NFS网络文件系统,fs:共享文件系统,cifs:Windows系统共享目录,aep:英特尔内存存储,upool:Ultra存储 | string | |
rsFsLunInfo | LUN信息实体类 | array | ApiFsLunInfo |
id | 与共享文件系统关联的LUN ID | integer(int64) | |
targetHost | 服务器IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | string | |
targetHost2 | 服务器IP地址2 | string | |
naa | NAA,若为iSCSI、FC类型,使用此字段 | string | |
naaName | NAA名称 | string | |
model | Model,若为FC类型,使用此字段 | string | |
lun | LUN,若为iSCSI类型,使用此字段。 | string | |
lunView | LUN名称 | string | |
capacity | LUN容量大小(Bytes)。 | integer(int64) | |
shareFileSystemId | 共享文件系统ID | integer(int64) | |
hba | HBA存储适配器,若为FC类型,使用此字段。 | string | |
uuid | uuid,若为NVMe-oF类型,使用此字段 | string | |
subnqn | subnqn,若为NVMe-oF类型,使用此字段。 | string | |
localAffinityHost | 块设备亲和性IP所在主机 | string | |
blockName | 对应块设备名称 | string | |
localAffinityIp | 块设备亲和性IP | string | |
fsType | 共享文件系统类型。iscsi,nvme-of,fc,iser | string | |
srcPath | 源路径 | string | |
userName | 用户名 | string | |
srcHostIp | 源主机IP | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {
"type": null,
"name": null,
"title": null,
"path": null,
"totalSize": null,
"allocation": null,
"freeSize": null,
"status": null,
"fcType": null,
"rsFsLunInfo": [
{
"id": null,
"targetHost": "127.0.0.1",
"targetHost2": null,
"naa": "3664ae847f4dd4738874a7108a49341ad",
"naaName": null,
"model": null,
"lun": "ip-127.0.0.1:3260-iscsi-iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"lunView": "iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"capacity": 4560255975424,
"shareFileSystemId": null,
"hba": null,
"uuid": null,
"subnqn": null,
"localAffinityHost": null,
"blockName": null,
"localAffinityIp": null
}
],
"fsType": null,
"srcPath": null,
"userName": null,
"srcHostIp": null
}
}
2.2.8查询存储池列表
接口地址
GET /NSphere/api/storage/pool/list
接口描述
根据指定的数据中心、集群或主机ID,查询主机下的存储池信息。多个参数只会有一个参数起作用,参数优先顺序:主机ID,集群ID,数据中心ID。若所有条件均未指定,则返回全量数据。
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
hostId | 主机ID | query | false | integer(int64) | |
clusterId | 集群ID | query | false | integer(int64) | |
hpId | 数据中心ID | query | false | integer(int64) | |
title | 按存储池显示名称模糊查询,区分大小写 | query | false | string | |
status | 存储池状态。1:活动,0:不活动 | query | false | integer(int32) |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseListApiStoragePoolVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | array | ApiStoragePoolVO |
hostName | 主机名称 | string | |
type | 存储池类型。logical:LVM逻辑存储卷,iscsi:iSCSI网络存储,nvme-of:NVMe-oF网络存储,fc:FC网络存储,dir:本地文件目录,netfs:NFS网络文件系统,fs:共享文件系统,cifs:Windows系统共享目录,aep:英特尔内存存储,upool:Ultra存储 | string | |
name | 存储池名称 | string | |
title | 存储池显示名称 | string | |
path | 存储池路径 | string | |
totalSize | 总容量(MB) | integer(int64) | |
allocation | 已分配容量(MB) | number(double) | |
freeSize | 实际可用容量(MB) | integer(int64) | |
autoStart | 是否自启动 | boolean | |
symbolic | 是否已经配置过存储介质 | boolean | |
status | 存储池状态。1:活动,0:不活动 | integer(int32) |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": [
{
"hostName": null,
"type": null,
"name": null,
"title": null,
"path": null,
"totalSize": null,
"allocation": null,
"freeSize": null,
"autoStart": true,
"symbolic": true,
"status": null
}
]
}
2.2.9增加共享文件系统
接口地址
POST /NSphere/api/storage/shared-filesystem
接口描述
增加共享文件系统
请求数据类型
application/json
响应数据类型
application/json
请求示例
{
"name": "test",
"title": "test",
"desc": null,
"type": 1,
"hpId": 1,
"ip": "127.0.0.1",
"capacityControl": 1,
"rsFsLunInfo": [
{
"id": null,
"targetHost": "127.0.0.1",
"targetHost2": null,
"naa": "3664ae847f4dd4738874a7108a49341ad",
"model": null,
"lun": "ip-127.0.0.1:3260-iscsi-iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"capacity": 4560255975424,
"hba": null,
"uuid": null,
"subnqn": null
}
],
"secretLevel": 1,
"storageResourceId": null,
"remoteDir": "/export/data"
}
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
apiAddShareFileSystemDTO | 增加共享文件系统实体类 | body | true | ApiAddShareFileSystemDTO | ApiAddShareFileSystemDTO |
name | 共享文件系统名称 最大输入字符长度为32,只允许输入字母、数字、减号、下划线及点,首字符不能为减号和点,且不允许全部是数字 | true | string | ||
title | 共享文件系统显示名称 最大输入字符长度为32,只允许输入汉字、字母、数字、减号、下划线、空格及点,且不能全部为空格 | true | string | ||
desc | 描述。长度0~120,支持任意字符包括空格 | false | string | ||
type | 共享文件系统类型。1:iSCSI共享文件系统,2:FC共享文件系统,3:NVMe-oF共享文件系统,4:NFS共享文件系统,5:iSER共享文件系统 | true | integer(int32) | ||
hpId | 数据中心ID | true | integer(int64) | ||
ip | IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 增加共享文件系统时,与storageResourceId参数二选一 | false | string | ||
capacityControl | 是否允许虚拟机自动部署控制,0:不允许,1:允许 | true | integer(int32) | ||
rsFsLunInfo | LUN信息实体类。当增加共享文件系统或存储池时,需要传此参数。当修改共享文件系统,没有主机挂载该共享文件系统时,该参数允许被修改。(NFS共享文件系统不需要传此参数) | false | array | ApiAddFsLunInfoDTO | |
id | 与共享文件系统关联的LUN ID | false | integer(int64) | ||
targetHost | 服务器IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | false | string | ||
targetHost2 | 服务器IP地址2 | false | string | ||
naa | NAA,为iSCSI、FC类型时,需要传此参数。请确保配置的NAA信息未被其它的共享文件系统、网络存储、模板存储以及其它的管理平台使用 | false | string | ||
model | Model,若为FC类型,使用此字段 | false | string | ||
lun | LUN,若为iSCSI类型,使用此字段。 | false | string | ||
capacity | LUN容量大小(Bytes)。 为iSCSI、FC、NVMe-oF类型时,需要传此参数 | false | integer(int64) | ||
hba | HBA存储适配器,若为FC类型,使用此字段。 主机增加FC共享存储时,需要传此参数。 | false | string | ||
uuid | uuid,若为NVMe-oF类型,使用此字段 | false | string | ||
subnqn | subnqn,若为NVMe-oF类型,使用此字段。 请确保配置的namespace信息未被其它的共享文件系统、网络存储、模板存储以及其它的管理平台使用 | false | string | ||
secretLevel | 密级级别。1:内部公开,2:秘密,3:机密,4:绝密。相同密级级别的虚拟机才可以使用此存储池 | true | integer(int32) | ||
storageResourceId | 存储资源ID 增加共享文件系统时,与ip参数二选一 | false | integer(int64) | ||
remoteDir | 远端目录(源路径) NFS远程目录。当共享文件系统类型为NFS(type=4)时,需要传此参数。 | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseVoid |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {}
}
2.2.10修改共享文件系统
接口地址
PUT /NSphere/api/storage/shared-filesystem
接口描述
修改共享文件系统。如果已经有主机挂载该共享文件系统,仅允许修改共享文件系统显示名称、描述、是否允许虚拟机自动部署控制
请求数据类型
application/json
响应数据类型
application/json
请求示例
{
"id": 1,
"name": "name",
"title": "title",
"desc": null,
"type": 1,
"hpId": 1,
"ip": null,
"capacityControl": 1,
"rsFsLunInfo": [
{
"id": null,
"targetHost": "127.0.0.1",
"targetHost2": null,
"naa": "3664ae847f4dd4738874a7108a49341ad",
"model": null,
"lun": "ip-127.0.0.1:3260-iscsi-iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"capacity": 4560255975424,
"hba": null,
"uuid": null,
"subnqn": null
}
],
"secretLevel": 1,
"storageResourceId": null,
"readOnly": false,
"isMerge": null,
"isSpeed": null,
"ioControl": null,
"delayThreshold": null,
"remoteDir": "/export/data"
}
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
apiEditShareFileSystemDTO | 修改共享文件系统实体类 | body | true | ApiEditShareFileSystemDTO | ApiEditShareFileSystemDTO |
id | 共享文件系统ID | true | integer(int64) | ||
name | 共享文件系统名称,当没有主机挂载该共享文件系统时,该参数允许被修改 最大输入字符长度为32,只允许输入字母、数字、减号、下划线及点,首字符不能为减号和点,且不允许全部是数字 | true | string | ||
title | 共享文件系统显示名称 最大输入字符长度为32,只允许输入汉字、字母、数字、减号、下划线、空格及点,且不能全部为空格 | true | string | ||
desc | 描述。长度0~120,支持任意字符包括空格 | false | string | ||
type | 共享文件系统类型。1:iSCSI共享文件系统,2:FC共享文件系统,3:NVMe-oF共享文件系统,4:NFS共享文件系统,5:iSER共享文件系统 该参数不允许修改 | true | integer(int32) | ||
hpId | 数据中心ID 该参数不允许修改 | true | integer(int64) | ||
ip | IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 在没有主机挂载该共享文件系统时,该参数允许被修改 | false | string | ||
capacityControl | 是否允许虚拟机自动部署控制,0:不允许,1:允许 | true | integer(int32) | ||
rsFsLunInfo | LUN信息实体类。当增加共享文件系统或存储池时,需要传此参数。当修改共享文件系统,没有主机挂载该共享文件系统时,该参数允许被修改。(NFS共享文件系统不需要传此参数) | false | array | ApiAddFsLunInfoDTO | |
id | 与共享文件系统关联的LUN ID | false | integer(int64) | ||
targetHost | 服务器IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | false | string | ||
targetHost2 | 服务器IP地址2 | false | string | ||
naa | NAA,为iSCSI、FC类型时,需要传此参数。请确保配置的NAA信息未被其它的共享文件系统、网络存储、模板存储以及其它的管理平台使用 | false | string | ||
model | Model,若为FC类型,使用此字段 | false | string | ||
lun | LUN,若为iSCSI类型,使用此字段。 | false | string | ||
capacity | LUN容量大小(Bytes)。 为iSCSI、FC、NVMe-oF类型时,需要传此参数 | false | integer(int64) | ||
hba | HBA存储适配器,若为FC类型,使用此字段。 主机增加FC共享存储时,需要传此参数。 | false | string | ||
uuid | uuid,若为NVMe-oF类型,使用此字段 | false | string | ||
subnqn | subnqn,若为NVMe-oF类型,使用此字段。 请确保配置的namespace信息未被其它的共享文件系统、网络存储、模板存储以及其它的管理平台使用 | false | string | ||
secretLevel | 密级级别。1:内部公开,2:秘密,3:机密,4:绝密。相同密级级别的虚拟机才可以使用此存储池 在没有主机挂载该共享文件系统时,该参数允许被修改 | true | integer(int32) | ||
storageResourceId | 存储资源ID 该参数不允许修改 | false | integer(int64) | ||
readOnly | 是否只读 | false | boolean | ||
isMerge | 是否支持LUN合并,0:不支持,1:支持 | false | integer(int32) | ||
isSpeed | 是否支持存储加速,0:不支持,1:支持 | false | integer(int32) | ||
ioControl | 存储I/O控制,0:未启用,1:启用 | false | integer(int32) | ||
delayThreshold | I/O时延阈值(ms) | false | integer(int32) | ||
remoteDir | 远端目录(源路径) NFS远程目录。当共享文件系统类型为NFS(type=4)时,需要传此参数。 | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseVoid |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {}
}
2.2.11查询共享文件系统详细信息
接口地址
GET /NSphere/api/storage/shared-filesystem/{id}
接口描述
根据共享文件系统ID查询共享文件系统详细信息
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
id | 共享文件系统ID | path | true | integer(int64) |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseApiShareFileSystemDetailVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | ApiShareFileSystemDetailVO | ApiShareFileSystemDetailVO |
id | 共享文件系统ID | integer(int64) | |
name | 共享文件系统名称 | string | |
title | 共享文件系统显示名称 | string | |
desc | 描述。长度0~120,支持任意字符包括空格 | string | |
type | 共享文件系统类型。1:iSCSI共享文件系统,2:FC共享文件系统,3:NVMe-oF共享文件系统,4:NFS共享文件系统,5:iSER共享文件系统,13:Ultra存储 | integer(int32) | |
hpId | 数据中心ID | integer(int64) | |
path | 共享文件系统目标路径 | string | |
ip | IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | string | |
target | target名称 | string | |
capacityControl | 是否允许虚拟机自动部署控制,0:不允许,1:允许 | integer(int32) | |
secretLevel | 密级级别。1:内部公开,2:秘密,3:机密,4:绝密。相同密级级别的虚拟机才可以使用此存储池 | integer(int32) | |
storageResourceId | 存储资源ID | integer(int64) | |
lockMode | 磁盘锁类型。dlm:分布式锁,dlock:硬件辅助锁(Ultra存储、NFS共享文件系统没有锁类型) | string | |
rsFsLunInfo | LUN信息实体类 | array | ApiFsLunInfo |
id | 与共享文件系统关联的LUN ID | integer(int64) | |
targetHost | 服务器IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | string | |
targetHost2 | 服务器IP地址2 | string | |
naa | NAA,若为iSCSI、FC类型,使用此字段 | string | |
naaName | NAA名称 | string | |
model | Model,若为FC类型,使用此字段 | string | |
lun | LUN,若为iSCSI类型,使用此字段。 | string | |
lunView | LUN名称 | string | |
capacity | LUN容量大小(Bytes)。 | integer(int64) | |
shareFileSystemId | 共享文件系统ID | integer(int64) | |
hba | HBA存储适配器,若为FC类型,使用此字段。 | string | |
uuid | uuid,若为NVMe-oF类型,使用此字段 | string | |
subnqn | subnqn,若为NVMe-oF类型,使用此字段。 | string | |
localAffinityHost | 块设备亲和性IP所在主机 | string | |
blockName | 对应块设备名称 | string | |
localAffinityIp | 块设备亲和性IP | string | |
readOnly | 是否只读 | boolean | |
isMerge | 是否支持LUN合并,0:不支持,1:支持 | integer(int32) | |
isSpeed | 是否支持存储加速,0:不支持,1:支持 | integer(int32) | |
ioControl | 存储I/O控制,0:未启用,1:启用 | integer(int32) | |
delayThreshold | I/O时延阈值(ms) | integer(int32) | |
clusterId | 集群ID 当类型为ultra存储(type=13)时,该参数有值 | integer(int64) | |
dataPool | 数据池 当类型为ultra存储(type=13)时,该参数有值 | string | |
diskPool | 硬盘池 当类型为ultra存储(type=13)时,该参数有值 | string | |
remoteDir | 远端目录(源路径) NFS远程目录。 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {
"id": null,
"name": null,
"title": null,
"desc": null,
"type": null,
"hpId": null,
"path": null,
"ip": null,
"target": null,
"capacityControl": null,
"secretLevel": null,
"storageResourceId": null,
"lockMode": null,
"rsFsLunInfo": [
{
"id": null,
"targetHost": "127.0.0.1",
"targetHost2": null,
"naa": "3664ae847f4dd4738874a7108a49341ad",
"naaName": null,
"model": null,
"lun": "ip-127.0.0.1:3260-iscsi-iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"lunView": "iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"capacity": 4560255975424,
"shareFileSystemId": null,
"hba": null,
"uuid": null,
"subnqn": null,
"localAffinityHost": null,
"blockName": null,
"localAffinityIp": null
}
],
"readOnly": true,
"isMerge": null,
"isSpeed": null,
"ioControl": null,
"delayThreshold": null,
"clusterId": null,
"dataPool": null,
"diskPool": null,
"remoteDir": null
}
}
2.2.12格式化共享文件系统
接口地址
POST /NSphere/api/storage/shared-filesystem/format
接口描述
格式化指定的集群或主机共享文件系统。创建任务成功,则返回任务ID。
请求数据类型
application/json
响应数据类型
application/json
请求示例
{
"id": 1,
"maxAccessNum": 64,
"fsName": "fsName",
"hostId": 1,
"clusterId": 1,
"poolName": "poolName",
"title": "fsTitle",
"lockType": "dlm",
"formSize": 1024
}
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
apiFormatOcfsDTO | 共享文件系统格式化信息实体类 | body | true | ApiFormatOcfsDTO | ApiFormatOcfsDTO |
id | 共享文件系统ID | true | integer(int64) | ||
maxAccessNum | 最大访问节点数。取值范围为1~64的整数 | true | integer(int32) | ||
fsName | 共享文件系统名称 | true | string | ||
hostId | 主机ID 格式化主机下共享存储时,需要传该参数 | false | integer(int64) | ||
clusterId | 集群ID 格式化数据中心或者集群下共享文件系统时,需要传该参数 | false | integer(int64) | ||
poolName | 存储池名称 | true | string | ||
title | 共享文件系统显示名称 | true | string | ||
lockType | 磁盘锁类型。dlm:分布式锁,dlock:硬件辅助锁(Ultra存储、NFS共享文件系统没有锁类型) 若不传该参数,则默认为dlm。如果选择锁类型为dlock,则要求存储服务器必须支持CAW | true | string | ||
formSize | 格式化簇大小(KB),取值有128,256,512,1024。若不传该参数,则默认为1024 | true | integer(int32) |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseApiTaskMsgVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | ApiTaskMsgVO | ApiTaskMsgVO |
msgId | 消息ID,可用于查询任务进度。 | integer(int64) | |
targetId | 任务执行对象ID | integer(int64) | |
targetName | 任务执行对象名称 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {
"msgId": 0,
"targetId": null,
"targetName": null
}
}
2.2.13查询集群下的共享文件系统使用的有效主机列表
接口地址
GET /NSphere/api/storage/shared-filesystem/hosts
接口描述
查询集群下的共享文件系统使用的有效主机列表
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
clusterId | 集群ID | query | true | integer(int64) | |
fsId | 共享文件系统ID。与fsName参数二选一。若fsId不为null,则按fsId查询。若fsId为null,则按fsName查询 | query | false | integer(int64) | |
fsName | 共享存储名称。与fsId参数二选一。若fsId不为null,则按fsId查询。若fsId为null,则按fsName查询。 | query | false | string | |
sortField | 排序字段。支持字段:name,ip,status,poolStatus,initiatorName | query | false | string | |
sortDir | 排序顺序。不传、0:不排序,1:升序,2:降序。sortField为空时默认不排序 | query | false | integer(int32) |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseListApiShareFileHost |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | array | ApiShareFileHost |
id | 主机ID 增加共享文件系统并创建共享存储需要传该参数 | integer(int64) | |
name | 主机名称 增加共享文件系统并创建共享存储需要传该参数 | string | |
ip | 主机IP | string | |
status | 主机状态。0:异常,1:正常,2:不在HA集群内,3:维护状态,4:维护状态(本地存储故障),5:隔离状态,6:存储网隔离状态 | integer(int32) | |
poolStatus | 存储池状态。1:活动,0:不活动 | integer(int32) | |
initiatorName | 标识符 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": [
{
"id": 1,
"name": "cvk1",
"ip": null,
"status": null,
"poolStatus": null,
"initiatorName": null
}
]
}
2.2.14查询共享文件系统列表
接口地址
GET /NSphere/api/storage/shared-filesystem/list
接口描述
获取指定集群中的共享文件系统、Ultra存储信息
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
clusterId | 集群ID | query | true | integer(int64) | |
title | 按共享文件系统显示名称模糊查询 | query | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseListApiClusterShareFileVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | array | ApiClusterShareFileVO |
id | 共享文件系统ID | integer(int64) | |
name | 共享文件系统名称 | string | |
title | 共享文件系统显示名称 | string | |
desc | 描述。长度0~120,支持任意字符包括空格 | string | |
type | 共享文件系统类型。1:iSCSI共享文件系统,2:FC共享文件系统,3:NVMe-oF共享文件系统,4:NFS共享文件系统,5:iSER共享文件系统 | integer(int32) | |
typeStr | 共享文件系统类型。iSCSI:iSCSI共享文件系统,FC:FC共享文件系统,NVMe-oF:NVMe-oF共享文件系统,netfs:NFS共享文件系统,iSER:iSER共享文件系统 | string | |
hpId | 数据中心ID | integer(int64) | |
path | 共享文件系统目标路径 | string | |
capacityControl | 是否允许虚拟机自动部署控制,0:不允许,1:允许 | integer(int32) | |
maxSize | 总容量(MB) | integer(int64) | |
allocation | 已分配容量(MB) | number(double) | |
remainSize | 实际可用容量(MB) | integer(int64) | |
usAge | 使用率:(总容量-可用容量)/总容量,单位% | number(double) | |
alloRatio | 分配比(分配容量/总容量) | number(double) | |
rsFsLunInfo | LUN信息实体类 | array | ApiFsLunInfo |
id | 与共享文件系统关联的LUN ID | integer(int64) | |
targetHost | 服务器IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | string | |
targetHost2 | 服务器IP地址2 | string | |
naa | NAA,若为iSCSI、FC类型,使用此字段 | string | |
naaName | NAA名称 | string | |
model | Model,若为FC类型,使用此字段 | string | |
lun | LUN,若为iSCSI类型,使用此字段。 | string | |
lunView | LUN名称 | string | |
capacity | LUN容量大小(Bytes)。 | integer(int64) | |
shareFileSystemId | 共享文件系统ID | integer(int64) | |
hba | HBA存储适配器,若为FC类型,使用此字段。 | string | |
uuid | uuid,若为NVMe-oF类型,使用此字段 | string | |
subnqn | subnqn,若为NVMe-oF类型,使用此字段。 | string | |
localAffinityHost | 块设备亲和性IP所在主机 | string | |
blockName | 对应块设备名称 | string | |
localAffinityIp | 块设备亲和性IP | string | |
remoteDir | 远端目录(源路径) NFS远程目录。 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": [
{
"id": null,
"name": null,
"title": null,
"desc": null,
"type": null,
"typeStr": null,
"hpId": null,
"path": null,
"capacityControl": null,
"maxSize": null,
"allocation": null,
"remainSize": null,
"usAge": null,
"alloRatio": null,
"rsFsLunInfo": [
{
"id": null,
"targetHost": "127.0.0.1",
"targetHost2": null,
"naa": "3664ae847f4dd4738874a7108a49341ad",
"naaName": null,
"model": null,
"lun": "ip-127.0.0.1:3260-iscsi-iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"lunView": "iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"capacity": 4560255975424,
"shareFileSystemId": null,
"hba": null,
"uuid": null,
"subnqn": null,
"localAffinityHost": null,
"blockName": null,
"localAffinityIp": null
}
],
"remoteDir": null
}
]
}
2.2.15增加共享文件系统并创建共享存储
接口地址
POST /NSphere/api/storage/shared-storage
接口描述
增加共享文件系统并创建共享存储
请求数据类型
application/json
响应数据类型
application/json
请求示例
{
"name": "test",
"title": "test",
"desc": null,
"type": 1,
"hpId": 1,
"ip": "127.0.0.1",
"capacityControl": 1,
"rsFsLunInfo": [
{
"id": null,
"targetHost": "127.0.0.1",
"targetHost2": null,
"naa": "3664ae847f4dd4738874a7108a49341ad",
"model": null,
"lun": "ip-127.0.0.1:3260-iscsi-iqn.2018-01.com.ultrastor:8a38e898fc84484b9d24439cd1398d73-lun-4",
"capacity": 4560255975424,
"hba": null,
"uuid": null,
"subnqn": null
}
],
"secretLevel": 1,
"storageResourceId": null,
"remoteDir": "/export/data",
"hostShareFiles": [
{
"id": 1,
"name": "cvk1",
"ip": null,
"status": null,
"poolStatus": null,
"initiatorName": null
}
]
}
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
apiAddShareStoragePoolDTO | 增加共享文件系统实体类 | body | true | ApiAddShareStoragePoolDTO | ApiAddShareStoragePoolDTO |
name | 共享文件系统名称 最大输入字符长度为32,只允许输入字母、数字、减号、下划线及点,首字符不能为减号和点,且不允许全部是数字 | true | string | ||
title | 共享文件系统显示名称 最大输入字符长度为32,只允许输入汉字、字母、数字、减号、下划线、空格及点,且不能全部为空格 | true | string | ||
desc | 描述。长度0~120,支持任意字符包括空格 | false | string | ||
type | 共享文件系统类型。1:iSCSI共享文件系统,2:FC共享文件系统,3:NVMe-oF共享文件系统,4:NFS共享文件系统,5:iSER共享文件系统 | true | integer(int32) | ||
hpId | 数据中心ID | true | integer(int64) | ||
ip | IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 增加共享文件系统时,与storageResourceId参数二选一 | false | string | ||
capacityControl | 是否允许虚拟机自动部署控制,0:不允许,1:允许 | true | integer(int32) | ||
rsFsLunInfo | LUN信息实体类。当增加共享文件系统或存储池时,需要传此参数。当修改共享文件系统,没有主机挂载该共享文件系统时,该参数允许被修改。(NFS共享文件系统不需要传此参数) | false | array | ApiAddFsLunInfoDTO | |
id | 与共享文件系统关联的LUN ID | false | integer(int64) | ||
targetHost | 服务器IP地址。单个IP地址表示单路径,多个IP地址表示多路径。如果需要输入多个IP地址,请使用英文分号(;)分割,例如:192.168.0.27;192.168.10.27;2001🔤ef::90。注:双机热备环境,主备管理平台必须都可连通共享存储 | false | string | ||
targetHost2 | 服务器IP地址2 | false | string | ||
naa | NAA,为iSCSI、FC类型时,需要传此参数。请确保配置的NAA信息未被其它的共享文件系统、网络存储、模板存储以及其它的管理平台使用 | false | string | ||
model | Model,若为FC类型,使用此字段 | false | string | ||
lun | LUN,若为iSCSI类型,使用此字段。 | false | string | ||
capacity | LUN容量大小(Bytes)。 为iSCSI、FC、NVMe-oF类型时,需要传此参数 | false | integer(int64) | ||
hba | HBA存储适配器,若为FC类型,使用此字段。 主机增加FC共享存储时,需要传此参数。 | false | string | ||
uuid | uuid,若为NVMe-oF类型,使用此字段 | false | string | ||
subnqn | subnqn,若为NVMe-oF类型,使用此字段。 请确保配置的namespace信息未被其它的共享文件系统、网络存储、模板存储以及其它的管理平台使用 | false | string | ||
secretLevel | 密级级别。1:内部公开,2:秘密,3:机密,4:绝密。相同密级级别的虚拟机才可以使用此存储池 | true | integer(int32) | ||
storageResourceId | 存储资源ID 增加共享文件系统时,与ip参数二选一 | false | integer(int64) | ||
remoteDir | 远端目录(源路径) NFS远程目录。当共享文件系统类型为NFS(type=4)时,需要传此参数。 | false | string | ||
hostShareFiles | 添加到共享存储的主机信息实体类。当增加共享文件系统并挂载为共享存储时,该参数必传 | true | array | ApiShareFileHost | |
id | 主机ID 增加共享文件系统并创建共享存储需要传该参数 | true | integer(int64) | ||
name | 主机名称 增加共享文件系统并创建共享存储需要传该参数 | true | string | ||
ip | 主机IP | false | string | ||
status | 主机状态。0:异常,1:正常,2:不在HA集群内,3:维护状态,4:维护状态(本地存储故障),5:隔离状态,6:存储网隔离状态 | false | integer(int32) | ||
poolStatus | 存储池状态。1:活动,0:不活动 | false | integer(int32) | ||
initiatorName | 标识符 | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseVoid |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {}
}
2.2.16增加存储卷
接口地址
POST /NSphere/api/storage/volume
接口描述
在主机下存储池增加存储卷。网络存储池不支持增加存储卷。如果存储卷预分配方式为置零,则以任务方式增加存储卷。
请求数据类型
application/json
响应数据类型
application/json
请求示例
{
"hostPoolId": null,
"fsId": null,
"hostId": 1,
"spName": "defaultpool",
"spTitle": null,
"volName": "testVolume",
"capacity": 1024,
"format": "qcow2",
"baseFile": null,
"encryptPw": null,
"mode": 2,
"clusterSize": "262144",
"secDir": null,
"diskSecret": false,
"kmsClusterId": null,
"encryptionType": null,
"algorithm": null
}
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
apiAddVolumeDTO | 增加存储卷实体类 | body | true | ApiAddVolumeDTO | ApiAddVolumeDTO |
hostPoolId | 数据中心ID | false | integer(int64) | ||
fsId | 共享文件系统ID | false | integer(int64) | ||
hostId | 主机ID | true | integer(int64) | ||
spName | 存储池名称 | true | string | ||
spTitle | 存储池显示名称 | false | string | ||
volName | 存储卷名称 最大输入字符长度为100,只允许输入字母、数字、减号、下划线及点,首字符不能为减号和点,且不允许全部是数字。对于加密存储卷,其名称只允许输入字母、数字、减号、下划线及点,且首字符只允许为字母。 | true | string | ||
capacity | 最大容量(MB) 最大容量不能超过存储池可用容量 | true | integer(int64) | ||
format | 存储卷格式。raw:高速,qcow2:智能。当diskSecret参数为true时,只允许传参qcow2 | true | string | ||
baseFile | 基础镜像文件 存储卷格式为qcow2时,传参有效 | false | string | ||
encryptPw | 加密密码。字符长度范围在1~64,且不允许全部为空格。当加密方式encryptionType为1时,此参数不生效 diskSecret参数为true时,需要传此参数 | false | string | ||
mode | 预分配。0:延迟置零、1:置零、2:精简 | true | integer(int32) | ||
clusterSize | 簇大小(Bytes)。取值有65536(64K),131072(128K),262144(256K),524288(521K),1048576(1M),2097152(2M) 存储卷格式为qcow2时,传参有效 | false | string | ||
secDir | 二级目录 | false | string | ||
diskSecret | 磁盘是否加密 diskSecret参数为true时,需要传此参数 | false | boolean | ||
kmsClusterId | KMS服务器集群ID 加密方式encryptionType为1时,需传此参数 | false | integer(int64) | ||
encryptionType | 加密方式。0:本地加密,1:kms服务器加密。为空表示不加密 diskSecret参数为true时,需要传此参数 | false | integer(int32) | ||
algorithm | 加密算法。取值有aes,sm4。 diskSecret参数为true时,需要传此参数 | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseApiTaskMsgVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | ApiTaskMsgVO | ApiTaskMsgVO |
msgId | 消息ID,可用于查询任务进度。 | integer(int64) | |
targetId | 任务执行对象ID | integer(int64) | |
targetName | 任务执行对象名称 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {
"msgId": 0,
"targetId": null,
"targetName": null
}
}
2.2.17刪除存储卷
接口地址
DELETE /NSphere/api/storage/volume
接口描述
删除主机下存储池指定存储卷
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
poolName | 存储池名称 | query | true | string | |
hostId | 主机ID | query | true | integer(int64) | |
volName | 存储卷名称 | query | true | string | |
isWipeVolume | 是否强制销毁数据 | query | false | boolean | |
secDir | 二级目录。若不为空,则删除的卷为二级目录下的存储卷 | query | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseVoid |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | string |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {}
}
2.2.18批量查询存储卷信息
接口地址
GET /NSphere/api/storage/volume/all
接口描述
根据指定的数据中心、集群或主机ID,查询主机下的存储卷信息。多个参数只会有一个参数起作用,参数优先顺序:主机ID,集群ID,数据中心ID。若所有条件均未指定,则返回全量数据。虚拟机越多接口耗时越久,尽量减少调用频率和缩小参数范围。E0930版本新增接口。
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
hpId | 数据中心ID | query | false | string | |
clusterId | 集群ID | query | false | string | |
hostId | 主机ID | query | false | string |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseListApiStorageVolumeBasicVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | array | ApiStorageVolumeBasicVO |
name | 存储卷名称 | string | |
size | 存储大小(MB) 类型为目录(dir)时没有值 | number(double) | |
allocation | 存储已使用空间(MB) 类型为目录(dir)时没有值 | number(double) | |
format | 存储文件格式。raw:高速,qcow2:智能。dir:目录,iso:镜像文件,unknown:未知,luks:加密。 | string | |
users | 该存储卷使用者(虚拟机名称) | string | |
backingStore | 基础镜像文件 | string | |
level | 增量文件级别,0级增量文件,大于0表示基础文件。为空表示非增量文件 | integer(int32) | |
isTempImg | 是否为模板镜像文件 | boolean | |
baseFile | 是否为基础镜像文件 | boolean | |
hostName | 主机名称 | string | |
storagePoolName | 存储池名称 | string | |
securityMode | 是否为安全模式。0:不是,1:是 | integer(int32) | |
mode | 预分配。0:延迟置零、1:置零、2:精简 | integer(int32) | |
encryptionType | 加密方式。0:本地加密,1:kms服务器加密。为空表示不加密 | integer(int32) | |
encrypt | 磁盘是否加密 | boolean |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": [
{
"name": null,
"size": null,
"allocation": null,
"format": null,
"users": null,
"backingStore": null,
"level": null,
"isTempImg": true,
"baseFile": true,
"hostName": null,
"storagePoolName": null,
"securityMode": null,
"mode": null,
"encryptionType": null,
"encrypt": true
}
]
}
2.2.19查询存储卷列表
接口地址
GET /NSphere/api/storage/volume/list
接口描述
根据主机ID与存储池名称查询存储卷列表
请求数据类型
application/x-www-form-urlencoded
响应数据类型
application/json
请求参数
参数名称 | 参数说明 | 请求类型 | 必须 | 数据类型 | schema |
hostId | 主机ID | query | true | integer(int64) | |
spName | 存储池名称 | query | true | string | |
offset | 偏移量。指定从第几条记录开始返回。取值大于等于0,默认值为0 | query | false | integer(int32) | |
limit | 每页返回的最大记录数。取值1~200,默认值为10 | query | false | integer(int32) | |
sortDir | 排序顺序。不传、0:不排序,1:升序,2:降序。sortField为空时默认不排序 | query | false | integer(int32) | |
sortField | 排序字段。支持字段:name,size,allocation,format,users | query | false | string | |
storageVolumeName | 按存储卷名模糊查询,不区分大小写 | query | false | string | |
secDir | 二级目录 | query | false | string | |
userName | 该存储卷使用者(虚拟机名称) | query | false | string | |
isEncrypt | 磁盘是否加密 | query | false | boolean |
响应状态
状态码 | 说明 | schema |
200 | OK | ApiResponseApiPagingListResultApiStorageVolumeVO |
响应参数
参数名称 | 参数说明 | 类型 | schema |
state | 状态码 0: 成功, 1: 失败, 2: 部分成功 | integer(int32) | integer(int32) |
errorCode | 错误码 当不为0表示业务发生错误 | integer(int32) | integer(int32) |
successMessage | 成功消息 | string | |
failureMessage | 错误消息,失败或者部分成功时有效. | string | |
data | 响应数据,如果状态码为0表示正常的数据返回,如果非0且非空则代表引起异常的必要数据 | ApiPagingListResultApiStorageVolumeVO | ApiPagingListResultApiStorageVolumeVO |
data | 存储卷实体类 | array | ApiStorageVolumeVO |
name | 存储卷名称 | string | |
size | 存储大小(MB) 类型为目录(dir)时没有值 | number(double) | |
allocation | 存储已使用空间(MB) 类型为目录(dir)时没有值 | number(double) | |
format | 存储文件格式。raw:高速,qcow2:智能。dir:目录,iso:镜像文件,unknown:未知,luks:加密。 | string | |
users | 该存储卷使用者(虚拟机名称) | string | |
backingStore | 基础镜像文件 | string | |
level | 增量文件级别,0级增量文件,大于0表示基础文件。为空表示非增量文件 | integer(int32) | |
isTempImg | 是否为模板镜像文件 | boolean | |
baseFile | 是否为基础镜像文件 | boolean | |
hostName | 主机名称 | string | |
storagePoolName | 存储池名称 | string | |
securityMode | 是否为安全模式。0:不是,1:是 | integer(int32) | |
mode | 预分配。0:延迟置零、1:置零、2:精简 | integer(int32) | |
encryptionType | 加密方式。0:本地加密,1:kms服务器加密。为空表示不加密 | integer(int32) | |
encrypt | 磁盘是否加密 | boolean | |
naa | NAA名称 | string | |
blockName | 对应块设备名称 存储卷为块设备时,此参数才有值 | string | |
localAffinityIp | 块设备亲和性IP 存储卷为本地亲和性块设备时,此参数才有值 | string | |
localAffinityHost | 块设备亲和性IP所在主机 存储卷为本地亲和性块设备时,此参数才有值 | string | |
offset | 偏移量。指定从第几条记录开始返回。 | integer(int32) | |
size | 当前返回的记录数。 | integer(int32) | |
total | 数据总量 | integer(int64) |
响应示例
{
"state": 0,
"errorCode": 0,
"successMessage": null,
"failureMessage": null,
"data": {
"data": [
{
"name": null,
"size": null,
"allocation": null,
"format": null,
"users": null,
"backingStore": null,
"level": null,
"isTempImg": true,
"baseFile": true,
"hostName": null,
"storagePoolName": null,
"securityMode": null,
"mode": null,
"encryptionType": null,
"encrypt": true,
"naa": null,
"blockName": null,
"localAffinityIp": null,
"localAffinityHost": null
}
],
"offset": null,
"size": null,
"total": null
}
}