iSCSI 目标命令用于管理 iSCSI 目标和 iSCSI 目标组。下面列出了可用命令:
| 
 | 
这些命令使用以下 URI 参数
| 
 | 
所有 "get" 目标命令都会返回目标属性,且 "create" 和 "modify" 目标命令使用以下属性作为输入。
| 
 | 
以下属性用于获取 iSCSI 目标组信息。
| 
 | 
列出设备上可用的指定协议的所有 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.1986-03.com.sun:02:
            72b6fa9a-96c4-e511-db19-aadb9bac2052",
        "iqn": "iqn.1986-03.com.sun:02:72b6fa9a-96c4-
            e511-db19-aadb9bac2052",
        ...
    }, {
        "alias": "tst.volumes.py.96238.target",
         "href": "/api/san/v1/iscsi/targets/iqn.1986-03.com.sun:02:
            31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        "iqn": "iqn.1986-03.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.1986-03.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.1986-03.com.sun:02:31d26d2e-6aa0-6054-fe58-8b1fb508b008
{
    "target": {
        "href": "/api/san/v1/iscsi/targets/iqn.1986-03.com.sun:02:31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        "alias": "test-target",
        "iqn": "iqn.1986-03.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":"letmeinnowplease", "auth":"chap",
 "targetchapuser":"argus"}
                响应示例:
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": "letmeinnowplease",
        "alias": "test-arget",
        "iqn": "iqn.1986-03.com.sun:02:31d26d2e-6aa0-6054-fe58-8b1fb508b008",
        "targetchapuser": "argus",
        "interfaces": ["ixgbe0"]
    }
}
            
            
                从系统中删除 SAN 目标。
请求示例:
DELETE /api/san/v1/iscsi/targets/iqn.1986-03.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