JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle® ZFS Storage Appliance RESTful API ガイド、Release 2013.1.3.0
Oracle Technology Network
ライブラリ
PDF
印刷ビュー
フィードバック
search filter icon
search icon

ドキュメント情報

Oracle ZFS Storage Appliance RESTful API の概要

RESTful API の操作

RESTful API 警告サービス

Analytics サービス

ハードウェアサービス

ログのコマンド

ネットワークのコマンド

RESTful API 問題サービス

RESTful API ロールサービス

RESTful API SAN サービス

サービスコマンド

RESTful API ストレージサービス

ストレージプールの操作

プールの一覧表示

プールの取得

プールの構成

プールへのストレージの追加

プールのスクラブ

プールの構成解除

プロジェクトの操作

プロジェクトの一覧表示

プロジェクトのプロパティーの取得

プロジェクトの作成

プロジェクトの変更

プロジェクトの削除

プロジェクトの使用状況

ファイルシステムの操作

ファイルシステムの一覧表示

ファイルシステムの取得

ファイルシステムの作成

ファイルシステムの変更

ファイルシステムの削除

ファイルシステムの割り当て制限および使用状況

LUN 操作

LUN を一覧表示します

LUN の取得

新しい LUN の作成

LUN の変更

LUN の削除

スナップショットおよびクローンの操作

スナップショットの一覧表示

スナップショットの取得

スナップショットの作成

スナップショットの名前変更

スナップショットのクローン作成

スナップショットのロールバック

スナップショットの削除

スナップショット依存の一覧表示

スキーマ

プロパティーの一覧表示

プロパティーの取得

プロパティーの作成

プロパティーの変更

プロパティーの削除

レプリケーション

レプリケーションサービスの取得

レプリケーションサービスの状態の変更

レプリケーションターゲット

レプリケーションターゲットの一覧表示

レプリケーションターゲットの取得

レプリケーションターゲットの作成

レプリケーションターゲットの削除

レプリケーションアクション

レプリケーションアクションの一覧表示

レプリケーションアクションの取得

レプリケーションアクションの作成

レプリケーションアクションの変更

更新の取り消し

更新の送信

レプリケーションアクションの削除

レプリケーションパッケージ

レプリケーションソースの一覧表示

レプリケーションパッケージの一覧表示

パッケージの変更

パッケージの削除

更新の取り消し

パッケージのクローン作成

パッケージの切断

パッケージの逆方向化

システムコマンド

RESTful API ユーザーサービス

ワークフローコマンド

RESTful クライアント

LUN 操作

LUN またはボリュームの操作はすべて、指定されたプールまたはプロジェクトにスコープ指定されます。次の LUN コマンドを使用できます。

表 12-17  ボリュームのコマンド
リクエスト
パス /api/storage/v1
説明
GET
/luns
すべての LUN を一覧表示します
GET
/pools/<pool>/projects /<project>/luns
LUN を一覧表示します
GET
/pools/<pool>/projects /<project>/luns/<lun>
LUN の詳細を取得します
POST
/pools/<pool>/projects /<project>/luns
LUN を作成します
PUT
/pools/<pool>/projects /<project>/luns/<lun>
LUN を変更します
DELETE
/pools/<pool>/projects /<project>/luns/<lun>
LUN を破棄します

次の表に、LUN プロパティーを示します。ボリュームは、プロジェクトのプロパティーを継承またはオーバーライドすることもできます。

表 12-18  ボリュームのプロパティー
名前
説明
string
assignednumber
割り当てられた LU 番号。
boolean
fixednumber
現在の値で LU 番号を修正するフラグ
string
initiatorgroup
イニシエータグループ
string
lunguid
STMF の GUID
string
lunnumber
LU 番号。数字または「auto」のいずれか
string
project
プロジェクト名 (変更不可)
オブジェクト
source
プロパティーのソース (「local」、「inherited」) を一覧表示します
boolean
sparse
シンプロビジョニングを有効にするフラグ
string
status
論理ユニットのステータス (「online」、「offline」)
string
targetgroup
ターゲットグループ
オブジェクト
usage
LUN 使用状況の統計を一覧表示します
number
volblocksize
ボリュームのブロックサイズ
number
volsize
ボリュームのサイズ
boolean
writecache
書き込みキャッシュを有効にするフラグ

一部のプロパティーは、プロジェクトから継承することもできます。ソースオブジェクトは、これらのプロパティーのそれぞれを一覧表示し、プロパティーが LUN にとって「local」であるか、プロジェクトから「inherited」されたかどうかを特定します。デフォルトでは、これらのプロパティーはプロジェクトから継承されます。設定されると、LUN にとってローカルになります。ソースオブジェクトは変更できません。ソースを変更して継承に戻すために、プロパティーを「unset」にできます。

圧縮を設定解除する JSON リクエストの例:

{"unset": ["compression"]}

LUN を一覧表示します

LUN の一覧表示コマンドを実行すると、指定されたプールまたはプロジェクト内で使用可能な LUN のリストが返されます。

表 12-19  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名

リクエストの例 (プロジェクト「proj-01」内の LUN を一覧表示する):

GET /api/storage/v1/pools/gold/projects/proj-01/luns HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

getが成功すると、HTTP ステータス 200 (OK) が JSON 形式の LUN プロパティーとともに返されます。

レスポンスの例:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "luns": [{
        "id": "fa4ac6fb-0bcc-d2e3-0000-000000000000",
        “name”: “vol-01”
        ...
    }, {
         "id": "690ae407-7c4d-b5d2-0000-000000000000",
         “name”: “vol-01”,
         ....
    }]
}

LUN の取得

LUN の取得コマンドを実行すると、指定されたプールまたはプロジェクト内の単一の LUN のプロパティーが返されます。

表 12-20  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名
lun
LUN の名前

リクエストの例 (「vol-01」という名前の LUN を取得する):

GET /api/storage/v1/pools/gold/projects/proj-01/lun/vol-01 HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

getが成功すると、HTTP ステータス 200 (OK) が JSON 形式の LUN プロパティーとともに返されます。

レスポンスの例:

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

{
    “lun”: {
        "logbias": "latency",
        "creation": "20130423T21:31:17",
        "nodestroy": false,
        "dedup": false,
        "rrsrc_actions": [],
        "id": "e3045406-319b-cf7a-0000-000000000000",
        "writecache": false,
        "compression": "off",
        "copies": 1,
        "stmfguid": "600144F0D8E0AE4100005176FDA60001",
        "source": {
            "compression": "default",
            "checksum": "inherited",
            "logbias": "default",
            "dedup": "default",
            "copies": "default",
            "exported": "inherited",
            "rrsrc_actions": "inherited",
            "secondarycache": "default"
        },
        "canonical_name": "platinum/local/default/disk1",
        "snaplabel": "",
        "usage": {
            "available": 881469214720.0,
            "loading": false,
            "snapshots": 0.0,
            "compressratio": 100.0,
            "total": 1073758208.0,
            "data": 1073758208.0
        },
        "secondarycache": "all",
        "collection": "local",
        "exported": true,
        "volsize": 1073741824.0,
        "pool": "platinum",
        "volblocksize": 8192,
        "checksum": "fletcher4",
        "project": "default",
        "sparse": false
    }
}

新しい LUN の作成

このコマンドを実行すると、新しい LUN が作成されます。新しい LUN に対してサイズまたはクローニングソースを指定する必要があります。

表 12-21  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名

リクエストのパラメータ:

リクエストの例:

POST /api/storage/v1/pools/gold/projects/proj-01/luns HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

Request JSON:
{
        name : "vol-001",           // Volume name (required)

        size : 500000,              // New Volume size
        blocksize : 8192,           // New Volume block size
        sparse : true,              // New Volume sparse data flag

        initiatorgroup : 'default', // Initiator group name
        targetgroup : 'default',    // Target group name
        lunnumber : 'auto',         // Volume LUN number
        status : 'online',          // Initial Status ('online', 'offline')
        fixednumber : false,

        "source": {
            "snapshot_id" : "76b8950a-8594-4e5b-8dce-0dfa9c696358",
            "snapshot": "/pool-001/local/proj-001/snap-001"
        }
}

作成に成功すると、HTTP ステータス 201 (Created) が、新しい LUN の URI を含むロケーションヘッダーとともに返されます。本文には、JSON 形式の LUN プロパティーがすべて含まれます。

結果の例:

HTTP/1.1 201 Created
Content-Type: application/json
Location: http://zfs-storage.example.com:215
          /pools/gold/projects/proj-01/luns/vol-001

{
    “lun”: {
        "name": "vol-001",
        ...
    }
}

LUN の変更

LUN の変更コマンドは、既存の LUN の属性を変更します。

表 12-22  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名
lun
LUN の名前

リクエストパラメータ - ボリュームプロパティー – 任意の LUN プロパティーまたはプロジェクトプロパティーを変更できます。

リクエストの例 (LUN 名を「vol-01」から「new-name」に変更する):

POST /api/storage/v1/pools/gold/projects/proj-01/luns/vol-01 HTTP/1.1
Host: zfs-storage.example.com
Content-Type: application/json
Accept: application/json

{
    “name”: “new-name”,
}

応答に成功すると、HTTP ステータス 202 (Accepted) が返され、すべての LUN プロパティーが一覧表示されます。

レスポンスの例:

HTTP/1.1 201 Created
Content-Type: application/json
Location: /api/storage/v1/pools/gold/projects/proj-01/luns/new-name

{
    “lun”: {
        “name”: “new-name”,
        “pool”: “gold”,
        “collection”: “local”,
        “project”: “proj-01”,
        ...
    }
}

LUN の削除

LUN の削除コマンドを実行すると、指定されたプールまたはプロジェクト内の単一の LUN が削除されます。

表 12-23  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名
lun
LUN の名前

リクエストの例:

DELETE /pools/gold/projects/proj-01/luns/lun-01 HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

get が成功すると、HTTP ステータス 204 (No Content) が返されます。

レスポンスの例:

HTTP/1.1 204 No-Content