iSCSI ターゲットコマンドは、iSCSI ターゲットおよび iSCSI ターゲットグループを管理するために使用します。使用可能なコマンドを下に示します。
|
コマンドは次の URI パラメータを取ります
|
すべての「get」 target コマンドは target プロパティーを返し、「create」および「modify」 target コマンドは入力として次のプロパティーを使用します。
|
次のプロパティーは 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": ""
}
}
新しいターゲットを作成します。リクエスト本文には、新しい iSCSI ターゲットグループの名前である単一の name プロパティーを持つ JSON オブジェクトが含まれます。
リクエストの例:
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=
Delete が成功すると HTTP コード 204 (No Content) を返します。
HTTP/1.1 204 No-Content