Go to main content
Oracle® ZFS Storage Appliance RESTful API ガイド、Release OS8.6.x

印刷ビューの終了

更新: 2016 年 9 月
 
 

LUN 操作

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

表 77  ボリュームのコマンド
リクエスト
パス /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 プロパティーを示します。ボリュームは、プロジェクトのプロパティーを継承またはオーバーライドすることもできます。

表 78  ボリュームのプロパティー
名前
説明
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 のリストが返されます。

表 79  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 のプロパティーが返されます。

表 80  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 に対してサイズまたはクローニングソースを指定する必要があります。

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

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

  • 名前 – 新しい LUN を作成するには、LUN 名を指定する必要があります。

  • ボリュームプロパティー – LUN プロパティーまたはプロジェクトプロパティーに一覧された任意のプロパティーを初期値として設定できます。

リクエストの例:

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 の属性を変更します。

表 82  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 が削除されます。

表 83  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