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

印刷ビューの終了

更新: 2016 年 9 月
 
 

ファイルシステムの操作

ファイルシステム操作では、ファイルシステム共有を一覧表示および管理します。すべてのコマンドは、特定のストレージプールまたはプロジェクトへスコープ指定されます。

{service_uri}/pools/{pool}/project/{project}
表 70  ファイルシステムのコマンド
リクエスト
パス /api/storage/v1
説明
GET
/filesystems
すべてのファイルシステムを一覧表示します
GET
/pools/<pool>/projects /<project>/filesystems
ファイルシステムを一覧表示します
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>
ファイルシステムの詳細を取得します
POST
/pools/<pool>/projects /<project>/filesystems
ファイルシステムを作成します
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>
ファイルシステムを変更します
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>
ファイルシステムを破棄します
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups
ファイルシステムグループの使用状況を取得します
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups /<group>
指定されたグループのファイルシステムの使用状況を取得します
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups
ファイルシステムグループの割り当て制限を作成します
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups /<name>
ファイルシステムグループの割り当て制限を変更します
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users
ファイルシステムユーザーの使用状況を取得します
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users /<user>
指定されたユーザーのファイルシステムの使用状況を取得します
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users
ファイルシステムユーザーの割り当て制限を作成します
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users /<name>
ファイルシステムユーザーの割り当て制限を変更します

各ファイルシステムにはプロジェクトからのプロパティーが含まれ、次のファイルシステム固有のプロパティーがあります。

表 71  ファイルシステムのプロパティー
名前
説明
string
casesensitivity
大/小文字の区別の設定 (「mixed」、「sensitive」または「insensitive」)
string
group
グループ名
string
normalization
正規化
string
permissions
ファイルシステムの権限
string
project
プロジェクト名
boolean
quota_snap
割り当て制限にスナップショットを含めるフラグ
boolean
reservation_snap
予約にスナップショットを含めるフラグ
string
shadow
データ移行ソース
string
sharesmb_name
SMB シェアの名前
オブジェクト
source
プロジェクト継承プロパティー
オブジェクト
usage
ファイルシステムの使用状況情報
string
user
シェアを所有するユーザー名
boolean
utf8only
UTF-8 以外を拒否するフラグ

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

ファイルシステムの一覧表示コマンドを実行すると、指定されたプールまたはプロジェクト内のファイルシステムがすべて一覧表示されます。

問合せパラメータ - フィルタ – プロジェクト内のプロパティーがその値内に同じフィルタ文字列を含んでいることを必要とする簡易的な文字列照合フィルタ。

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

リクエストの例:

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

リクエストに成功すると、HTTP ステータス 200 (OK) が JSON 形式のファイルシステムプロパティーの配列とともに返されます。

結果例:

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

{
    “filesystems”: [{
        “name”: “filesystem-01”,
        “project”: “proj-01”,
        “pool”: “gold”,
        ...
    }, {
        “name”: “filesystem-02”,
        “project”: “proj-01”,
        “pool”: “gold”,
        ...
    }]
}

すべてのプールおよびプロジェクトにわたるすべてのファイルシステムのリストもサポートされます。その場合、URI は /api/storage/v1/filesystems となります

リクエストの例 (プロパティーの一部として「abcd」の文字列を持つすべてのファイルシステムを取得する):

GET /api/storage/v1/filesystems?filter=abcd HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

ファイルシステムの取得

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

表 73  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名
filesystem
ファイルシステム名

リクエストの例 (「proj-01」という名前のプロジェクトを一覧表示する):

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

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

レスポンスの例:

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

{
    "filesystem": {
        "logbias": "latency",
        "creation": "20130423T21:30:34",
        "nodestroy": false,
        "dedup": false,
        "sharenfs": "on",
        "sharesmb": "off",
        "mountpoint": "/export/grape",
        "snaplabel": "",
        "id": "424ca2ec-b3fa-df86-0000-000000000000",
        "readonly": false,
        "rrsrc_actions": [],
        "compression": "off",
        "sharetftp": "",
        "source": {
            "logbias": "default",
            "dedup": "default",
            "sharenfs": "inherited",
            "sharesmb": "off",
            "mountpoint": "inherited",
            "rrsrc_actions": "local",
            "compression": "default",
            "sharetftp": "inherited",
            "snapdir": "default",
            "aclmode": "default",
            "copies": "default",
            "aclinherit": "default",
            "shareftp": "inherited",
            "readonly": "default",
            "secondarycache": "default",
            "exported": "inherited",
            "vscan": "default",
            "reservation": "local",
            "atime": "default",
            "recordsize": "default",
            "checksum": "inherited",
            "sharesftp": "inherited",
            "nbmand": "default",
            "rstchown": "default"
        },
        "snapdir": "hidden",
        "aclmode": "discard",
        "copies": 1,
        "aclinherit": "restricted",
        "shareftp": "",
        "canonical_name": "platinum/local/default/grape",
        "recordsize": 131072.0,
        "usage": {
            "available": 880395477504.0,
            "loading": false,
            "quota": 0.0,
            "snapshots": 18432.0,
            "compressratio": 100.0,
            "reservation": 0.0,
            "total": 50176.0,
            "data": 31744.0
        },
        "secondarycache": "all",
        "collection": "local",
        "exported": true,
        "vscan": false,
        "reservation": 0.0,
        "shadow": "none",
        "atime": true,
        "pool": "platinum",
        "quota_snap": true,
        "name": "grape",
        "checksum": "fletcher4",
        "project": "default",
        "sharesftp": "",
        "nbmand": false,
        "reservation_snap": true,
        "sharedav": "",
        "rstchown": true
    }
}

ファイルシステムの作成

ファイルシステムの作成コマンドを実行すると、指定されたストレージプールまたはプロジェクトに指定された名前のファイルシステムが作成されます。デフォルトのプロパティーを持つ新しいファイルシステムが返されます。

表 74  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名
filesystem
ファイルシステム名

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

  • 名前 – 新しいファイルシステムを作成するには、ファイルシステム名を指定する必要があります。

  • ファイルシステムプロパティー – ファイルシステムプロパティーまたはプロジェクトプロパティーに一覧表示された任意のプロパティーを初期値として設定できます。

リクエストの例 (「share-01」という名前で、ユーザー「joe」が所有するファイルシステムを作成する):

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

{
    “name”: “share-01”,
    “owner”: “joe”
}

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

レスポンスの例:

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

{
    “filesystem”: {
        “name”: “share-01”,
        “pool”: “gold”,
        “collection”: “local”,
        “project”: “proj-01”,
        “owner”: “joe”
        ...
    }
}

ファイルシステムの変更

ファイルシステムの変更コマンドは、既存のファイルシステムの属性を変更します。応答に成功すると、HTTP ステータス 202 (Accepted) が返され、すべてのファイルシステムプロパティーが一覧表示されます。

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

表 75  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名
filesystem
ファイルシステム名

リクエストの例 (ファイルシステム名を「share-01」から「new-name」に変更し、所有者を「nobody」に変更する):

PUT /api/storage/v1/pools/gold/projects/proj-01/filesystems/share-01
    HTTP/1.1
Host: zfs-storage.example.com
Content-Type: application/json
Accept: application/json

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

レスポンスの例:

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: http://zfs-storage.example.com:215
          /pools/gold/projects/proj-01/filesystems/share-01

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

ファイルシステムの削除

ファイルシステムの削除コマンドを実行すると、指定されたプールまたはプロジェクト内の単一のファイルシステムを削除します。

表 76  URI パラメータ
パラメータ
説明
pool
ストレージプール名
project
プロジェクト名
filesystem
ファイルシステム名

リクエストの例:

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

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

レスポンスの例:

HTTP/1.1 204 No-Content

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

ユーザーまたはグループの割り当て制限は、それぞれ POST または PUT リクエストを使用して作成または変更できます。ファイルシステム使用リソースへの GET リクエストは、プロジェクトのユーザー当たりまたはグループ当たりの使用状況データの取得に使用できます。