跳到主要内容

存储管理

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

}

}