iSCSI ターゲットコマンドは、iSCSI ターゲットおよび iSCSI ターゲットグループを管理するために使用します。使用可能なコマンドを以下の表に示します。
ターゲットコマンドは次の URI パラメータを取ります。
SAN プロトコル: fc、iscsi、または srp
ターゲット ID: IQN、WWN、EUI
|
ターゲットの取得コマンドは、ターゲットプロパティーを返します。ターゲットの作成および変更コマンドは、次の表に示すプロパティーを入力として使用します。
|
次のプロパティーは iSCSI ターゲットグループ情報を取得するために使用します。
|
アプライアンスで使用できる指定されたプロトコルのすべての SAN ターゲットを一覧表示します。
リクエストの例:
GET /api/san/v1/iscsi/targets HTTP/1.1 Host: zfs-storage.example.com:215 Authorization: Basic Tm8gcGVla2luZyE= 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 Tm8gcGVla2luZyE= 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": "" } }
新しいターゲットを作成します。リクエスト本文には、新しい iSCSI ターゲットグループの名前である単一の name プロパティーを持つ JSON オブジェクトが含まれます。
リクエストの例:
POST /api/san/v1/iscsi/targets HTTP/1.1 Host: zfs-storage.example.com:215 Authorization: Basic Tm8gcGVla2luZyE= 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 Tm8gcGVla2luZyE= 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 Tm8gcGVla2luZyE=
Delete が成功すると HTTP コード 204 (No Content) を返します。
HTTP/1.1 204 No-Content