Go to main content

Oracle® ZFS Storage Appliance RESTful API 指南,发行版 OS8.8.0

退出打印视图

更新时间: 2018 年 11 月
 
 

目标

iSCSI 目标命令用于管理 iSCSI 目标和 iSCSI 目标组。下表中列出了可用命令。

这些目标命令使用以下 URI 参数:

protocol

SAN 协议:fciscsisrp

target

目标 ID:IQN、WWN 或 EUI

表 51  目标命令
请求
附加到路径 /san/v1.0
说明
GET
/protocol/targets
针对给定协议 (fc, iscsi, srp) 对象列出所有 SAN 目标
GET
/protocol/targets/target
针对给定协议 (fc, iscsi, srp) 属性获取指定的 SAN 目标
POST
/protocol/targets
针对给定协议 (fc, iscsi, srp) 创建新的 SAN 目标
PUT
/protocol/targets/target
针对给定协议 (fc, iscsi, srp) 对象修改指定的 SAN 目标
DELETE
/protocol/targets/target
销毁指定的目标对象

获取目标命令将返回目标属性。创建目标命令和修改目标命令使用下表中列出的属性作为输入。

表 52  目标输入属性
属性
协议
说明
alias
iscsi
简单的人工可读名称
iqn
iscsi
iSCSI 限定名称
state
iscsi
iSCSI 目标的状态("online"、"offline")
auth
iscsi
可选验证类型("none"、"chap")
targetchapuser
iscsi
可选 CHAP 用户验证
targetchapsecret
iscsi
可选 CHAP 密钥验证
interfaces
iscsi
目标可用的网络接口的列表
wwn
fc
此目标的全局名称
port
fc
此端口的物理位置
mode
fc
此端口的模式(启动器或目标)
speed
fc
此端口的协商速率
discovered_ports
fc
已发现的远程启动器端口的数量
alias
srp
SRP 目标的别名
eui
srp
此目标的扩展唯一标识符

以下属性用于获取 iSCSI 目标组信息。

表 53  目标组属性
属性
类型
说明
protocol
string
目标组协议:FC、iSCSI 或 SRP
name
string
iSCSI 目标组名称
targets
array
iSCSI 目标 IQN 组成员的列表

列出目标

列出设备上可用的指定协议的所有 SAN 目标。

请求示例:

GET /api/san/v1/iscsi/targets HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic abcd123MWE=
Accept: application/json

响应示例:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1337

{
    "size": 7,
     "targets": [{
        "alias": "tst.volumes.py.12866.target",
        "href": "/api/san/v1/iscsi/targets/iqn.zfs-storage.example.com.sun:02:
            72b6fa9a-96c4-e511-db19-aadb9bac2052",
        "iqn": "iqn.zfs-storage.example.com.sun:02:72b6fa9a-96c4-
            e511-db19-aadb9bac2052",
        ...
    }, {
        "alias": "tst.volumes.py.96238.target",
         "href": "/api/san/v1/iscsi/targets/iqn.zfs-storage.example.com.sun:02:
            31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        "iqn": "iqn.zfs-storage.example.com.sun:31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        ...
    }
    ...]
}

获取目标详细信息

从单个目标中获取属性。可使用 "iqn" 属性或使用 "alias=alias" 选择目标。

请求示例:

GET /api/san/v1/iscsi/targets/alias=test-target HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic abcd123MWE=
Accept: application/json

响应示例:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 251

{
    "target": {
        "alias": "test-target",
        "auth": "none",
        "href": "/api/san/v1/iscsi/targets/alias=test-target",
        "interfaces": ["ixgbe0"],
        "iqn": "iqn.zfs-storage.example.com.sun:02:31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        "targetchapsecret": "",
        "targetchapuser": ""
    }
}

创建目标

创建新的目标。请求正文包含一个带有 name 属性的 JSON 对象,此属性是新的 iSCSI 目标组的名称。

请求示例:

POST /api/san/v1/iscsi/targets HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic abcd123MWE=
Content-Type: application/json
Content-Length: 23
Accept: application/json

{"alias": "test-target"}

响应示例:

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 233
X-Zfssa-San-Api: 1.0
Location: /api/san/v1/iscsi/targets/iqn.zfs-storage.example.com.sun:02:31d26d2e-6aa0-6054-fe58-8b1fb508b008

{
    "target": {
        "href": "/api/san/v1/iscsi/targets/iqn.zfs-storage.example.com.sun:02:31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        "alias": "test-target",
        "iqn": "iqn.zfs-storage.example.com.sun:02:31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        "auth": "none",
        "targetchapuser": "",
        "targetchapsecret": "",
        "interfaces": ["ixgbe0"]
    }
}

修改目标

修改现有 iSCSI 目标。请求正文包含带有已修改的 iSCSI 目标属性的 JSON 对象。成功后,将返回 HTTP 状态 202 (Accepted)。响应正文包含在 JSON 对象中编码的目标的结果 iSCSI 目标属性。

请求示例:

PUT /api/san/v1/iscsi/targets/alias=test-target HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic abcd123MWE=
Host: zfs-storage.example.com
Content-Type: application/json
Content-Length: 54
Accept: application/json

{"targetchapsecret":"secret", "auth":"chap",
 "targetchapuser":"admin5"}

响应示例:

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 189
X-Zfssa-San-Api: 1.0

{
    "target": {
        "href": "/api/san/v1/iscsi/targets/alias=test-target",
        "auth": "chap",
        "targetchapsecret": "secret",
        "alias": "test-target",
        "iqn": "iqn.zfs-storage.example.com.sun:02:31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        "targetchapuser": "admin5",
        "interfaces": ["ixgbe0"]
    }
}

删除目标

从系统中删除 SAN 目标。

请求示例:

DELETE /api/san/v1/iscsi/targets/iqn.zfs-storage.example.com.sun:02:e7e688b1 HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic abcd123MWE=

成功删除后,将返回 HTTP 代码 204 (No Content):

HTTP/1.1 204 No-Content