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

印刷ビューの終了

更新: 2017 年 3 月
 
 

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

レプリケーションアクションは、レプリケーションターゲットにデータをレプリケートするための規則を定義します。次のコマンドは、レプリケーションアクションを管理します。

フラットアクションインタフェースの使用

プロジェクトまたはシェアを指定せずに、レプリケーションアクションを管理するようにアプライアンスに直接リクエストを行うことができます。

次の表には、レプリケーションアクションを管理するための基本コマンドを一覧表示します。

表 97  基本アクションインタフェース
リクエスト
/api/storage/v1
説明
GET
/replication/actions
すべてのレプリケーションアクションオブジェクトを一覧表示します
GET
/replication/actions/<ra_id>
指定されたレプリケーションアクションプロパティーを取得します
PUT
/replication/actions/<ra_id>
指定されたレプリケーションアクションオブジェクトを変更します
DELETE
/replication/actions/<ra_id>
指定されたレプリケーションアクションオブジェクトを削除します
PUT
/replication/actions/<ra_id> /sendupdate
選択したレプリケーションアクションを開始します
PUT
/replication/actions/<ra_id> /cancelupdate
選択したレプリケーションアクションを停止します

次の表に、レプリケーションアクションのスケジュールを管理するためのコマンドを一覧表示します。

表 98  アクションスケジュールへのアクセス
リクエスト
/api/storage/v1
説明
GET
/replication/actions/<ra_id> /schedules
すべてのレプリケーションアクションスケジュールオブジェクトを一覧表示します
GET
/replication/actions/<ra_id> /schedules/<ra_schedule>
指定されたレプリケーションアクションスケジュールプロパティーを取得します
POST
/replication/actions/<ra_id> /schedules
新しいレプリケーションアクションスケジュールを作成します
PUT
/replication/actions/<ra_id> /schedules/<ra_schedule>
指定されたレプリケーションアクションスケジュールオブジェクトを変更します
DELETE
/replication/actions/<ra_id> /schedules/<ra_schedule>
指定されたレプリケーションアクションスケジュールオブジェクトを削除します

次の表には、レプリケーションの自動スナップショットを管理するためのコマンドを一覧表示します。


注 -  プロジェクトレベルのレプリケーションアクション内に構成されているシェアレベルの自動スナップショットスケジュールには、次のコマンドを使用してアクセスできません。プロジェクトレベルのアクションには、複数のシェア内の複数の自動スナップショットスケジュールを含めることができますが、このインタフェースでは、すべての組み合わせを識別する最終的な方法が提供されていません。
表 99  レプリケーションの自動スナップショット構成へのアクセス
リクエスト
/api/storage/v1
説明
GET
/replication/actions/<ra_id> /autosnaps
選択されたレプリケーションアクションの自動スナップショット構成を取得します
GET
/replication/actions/<ra_id> /autosnaps/<autosnaps_id>
指定されたレプリケーションアクションの自動スナップショットオブジェクトを取得します
PUT
/replication/actions/<ra_id> /autosnaps
指定されたレプリケーションアクションの自動スナップショットプロパティーを変更します
PUT
/replication/actions/<ra_id> /autosnaps/<autosnaps_id>
指定されたレプリケーションアクションの自動スナップショットオブジェクトを変更します
DELETE
/replication/actions/<ra_id> /autosnaps/<autosnaps_id>
指定されたレプリケーションアクションの自動スナップショットオブジェクトを削除します

次の表には、レプリケーション統計を取得するためのコマンドを一覧表示します。

表 100  レプリケーションアクション統計へのアクセス
リクエスト
/api/storage/v1
説明
GET
/replication/actions/<ra_id> /stats
選択されたレプリケーションアクションの読み取り専用レプリケーション統計を取得します

プロジェクト、ファイルシステム、または LUN コンテキストでのレプリケーションアクション

特定のプロジェクト、ファイルシステム、または LUN のコンテキストで、レプリケーションアクションを管理するようにリクエストを行うこともできます。

次の表には、レプリケーションアクションを管理するための基本コマンドを一覧表示します。

  • プロジェクトベースのすべての操作の URI は、/api/storage/v1/pools/<pool>/projects /<project> で始まります。

  • ファイルシステムベースのすべての操作の URI は、 /api/storage/v1/pools/<pool>/projects /<project>/filesystems /<filesystem> で始まります。

  • LUN ベースのすべての操作の URI は、 /api/storage/v1/pools/<pool>/projects /<project>/luns/<lun> で始まります。

レプリケーションアクションを管理するには、上記の目的のコンテキスト URI に次の基本コマンドを追加します。

表 101  プロジェクト/ファイルシステム/LUN の基本アクションインタフェース
リクエスト
上記のプロジェクト、ファイルシステム、または LUN の URI に追加
説明
GET
/replication/actions
すべてのレプリケーションアクションオブジェクトを一覧表示します
GET
/replication/actions /<ra_id>
指定されたレプリケーションアクションプロパティーを取得します
POST
/replication/actions
新しいレプリケーションアクションを作成します
PUT
/replication/actions /<ra_id>
指定されたレプリケーションアクションオブジェクトを変更します
DELETE
/replication/actions /<ra_id>
指定されたレプリケーションアクションオブジェクトを削除します
PUT
/replication/actions /<ra_id>/sendupdate
選択したレプリケーションアクションを開始します
PUT
/replication/actions /<ra_id>/cancelupdate
選択したレプリケーションアクションを停止します

次の表に、レプリケーションアクションのスケジュールを管理するためのコマンドを一覧表示します。

  • プロジェクトベースのすべての操作の URI は、/api/storage/v1/pools/<pool>/projects /<project> で始まります。

  • ファイルシステムベースのすべての操作の URI は、 /api/storage/v1/pools/<pool>/projects /<project>/filesystems /<filesystem> で始まります。

  • LUN ベースのすべての操作の URI は、 /api/storage/v1/pools/<pool>/projects /<project>/luns/<lun> で始まります。

レプリケーションアクションを管理するには、上記の目的のコンテキスト URI に次の基本コマンドを追加します。

表 102  プロジェクト/ファイルシステム/LUN のアクションスケジュール
リクエスト
上記のプロジェクト、ファイルシステム、または LUN の URI に追加
説明
GET
/replication/actions /<ra_id>/schedules
すべてのレプリケーションアクションスケジュールオブジェクトを一覧表示します
GET
/replication/actions /<ra_id>/schedules /<ra_schedule>
指定されたレプリケーションアクションスケジュールプロパティーを取得します
POST
/replication/actions /<ra_id>/schedules
新しいレプリケーションアクションスケジュールを作成します
PUT
/replication/actions /<ra_id>/schedules /<ra_schedule>
指定されたレプリケーションアクションスケジュールオブジェクトを変更します
DELETE
/replication/actions /<ra_id>/schedules /<ra_schedule>
指定されたレプリケーションアクションスケジュールオブジェクトを削除します

次の表には、レプリケーションの自動スナップショットを管理するためのコマンドを一覧表示します。

  • プロジェクトベースのすべての操作の URI は、/api/storage/v1/pools/<pool>/projects /<project> で始まります。

  • ファイルシステムベースのすべての操作の URI は、 /api/storage/v1/pools/<pool>/projects /<project>/filesystems /<filesystem> で始まります。

  • LUN ベースのすべての操作の URI は、 /api/storage/v1/pools/<pool>/projects /<project>/luns/<lun> で始まります。

レプリケーションアクションを管理するには、上記の目的のコンテキスト URI に次の基本コマンドを追加します。


注 -  プロジェクトレベルのレプリケーションアクション内に構成されているシェアレベルの自動スナップショットスケジュールには、次のプロジェクトベースの操作を使用してアクセスできません。プロジェクトレベルのアクションには、複数のシェア内の複数の自動スナップショットスケジュールを含めることができますが、このインタフェースでは、すべての組み合わせを識別する最終的な方法が提供されていません。
表 103  プロジェクト/ファイルシステム/LUN レプリケーションの自動スナップショットの構成
リクエスト
上記のプロジェクト、ファイルシステム、または LUN の URI に追加
説明
GET
/replication/actions /<ra_id>/autosnaps
プロジェクトまたはシェアの選択されたレプリケーションアクションの自動スナップショット構成を取得します
GET
/replication/actions /<ra_id>/autosnaps /<autosnaps_id>
プロジェクトまたはシェアの指定されたレプリケーションアクションの自動スナップショット構成を取得します
POST
/replication/actions /<ra_id>/autosnaps
新しいプロジェクトまたはシェアレベルのレプリケーションアクションの自動スナップショットオブジェクトを作成します
PUT
/replication/actions /<ra_id>/autosnaps
プロジェクトまたはシェアの指定されたレプリケーションアクションのターゲット自動スナップショット保持ポリシーを変更します。
PUT
/replication/actions /<ra_id>/autosnaps /<autosnaps_id>
指定されたレプリケーションアクションの自動スナップショットオブジェクトを変更します
DELETE
/replication/actions /<ra_id>/autosnaps /<autosnaps_id>
指定されたレプリケーションアクションの自動スナップショットオブジェクトを削除します

次の表には、レプリケーション統計を取得するためのコマンドを一覧表示します。

  • プロジェクトベースのすべての操作の URI は、/api/storage/v1/pools/<pool>/projects /<project> で始まります。

  • ファイルシステムベースのすべての操作の URI は、 /api/storage/v1/pools/<pool>/projects /<project>/filesystems /<filesystem> で始まります。

  • LUN ベースのすべての操作の URI は、 /api/storage/v1/pools/<pool>/projects /<project>/luns/<lun> で始まります。

レプリケーションアクションを管理するには、上記の目的のコンテキスト URI に次の基本コマンドを追加します。

表 104  レプリケーションアクション統計へのアクセス
リクエスト
上記のプロジェクト、ファイルシステム、または LUN の URI に追加
説明
GET
/replication/actions/<ra_id> /stats
選択されたレプリケーションアクションの読み取り専用レプリケーション統計を取得します

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

すべての使用可能なレプリケーションアクションのリストを取得します。

リクエストの例:

GET /api/storage/v1/replication/actions HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Accept: application/json

レスポンスの例:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
    "actions": [{
        "href": ""
        ...
    }, {
        "href": "",
        ...
    }]
}

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

レプリケーションアクションステータスの取得コマンドは、ID で指定された単一のレプリケーションアクションのステータスを返します。

リクエストの例:

GET /api/storage/v1/replication/actions/1438ed7f-aad3-c631-d869-9e85cd7f15b4 HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Accept: application/json

レスポンスの例:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
    "action": {
        "average_throughput": 0.0,
        "bytes_sent": 0.0,
        "collection": "local",
        "compression": true,
        "continuous": false,
        "enabled": true,
        "estimated_size": 0.0,
        "estimated_time_left": 0.0,
        "href": "/api/storage/v1/replication/actions",
        "id": "8373d331-de60-e590-90e8-9ad69fcb4aec",
        "include_clone_origin_as_data": false,
        "include_snaps": true,
        "last_sync": "20130916T21:36:50",
        "last_try": "20130916T21:36:50",
        "max_bandwidth": 0,
        "pool": "gold",
        "project": "blah1",
        "retain_user_snaps_on_target": false,
        "share": "fs1",
        "state": "sending",
        "target": "38094753-6c90-49ed-aa92-995a296d432a",
        "use_ssl": true
    }
}

リクエストの例:

次のレプリケーションアクションの応答は、回復ポイント目標 (RPO) の例と関連するレプリカ遅延警告およびアラートを示しています。

GET /api/storage/v1/replication/actions HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Content-Type:application/json

レスポンスの例:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
    "action": {"id": "12d981c3-b098-c65a-e1e9-a6b8263a0f6a",
        "target_id": "4fd305ac-4af5-c34a-87c3-88203207305b",
        . . .
        "replica_lag": "42:25:31",
        "recovery_point_objective": 0,
        "replica_lag_warning_alert": 0,
        "replica_lag_error_alert": 0,
        "replica_lag_over_warning_limit": false,
        "replica_lag_over_error_limit": false,
        "project": "default"}]}

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

新しいレプリケーションアクションを作成します。

プロパティーの作成:

Initial values:
                          target = cleo
                         enabled = true
                      continuous = false
                   include_snaps = true
     retain_user_snaps_on_target = false
                           dedup = true
    include_clone_origin_as_data = false
                   max_bandwidth = unlimited
                      bytes_sent = 0
                  estimated_size = 0
             estimated_time_left = 0
              average_throughput = 0
                         use_ssl = true
                     compression = on

リクエストの例:

POST /api/storage/v1/replication/actions HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json
Content-Length: 121
Accept: application/json

{
    "pool": "gold",
    "project": "blue1",
    "share": "fs1",
    "target_pool": "pool1",
    "target": "38094753-6c90-49ed-aa92-995a296d432a"
}

レスポンスの例:

HTTP/1.1 201 Created
Content-Length: 506
Content-Type: application/json
Location: /api/storage/v1/replication/action/8373d331-de60-e590-90e8-9ad69fcb4aec
X-Zfssa-Replication-Api: 1.0

{
    "action": {
        "project": "blue1",
        "target": "38094753-6c90-49ed-aa92-995a296d432a",
        "bytes_sent": 0.0,
        "compression": true,
        "continuous": false,
        "enabled": true,
        "dedup": false,
        "max_bandwidth": 0,
        "collection": "local",
        "estimated_size": 0.0,
        "state": "idle",
        "href": "/api/storage/v1/replication/pools/gold/projects/blah1/shares/fs1/
                  actions/8373d331-de60-e590-90e8-9ad69fcb4aec",
        "average_throughput": 0.0,
        "use_ssl": true,
        "estimated_time_left": 0.0,
        "retain_user_snaps_on_target": false,
        "share": "fs1",
        "id": "8373d331-de60-e590-90e8-9ad69fcb4aec",
        "pool": "gold",
        "include_clone_origin_as_data": false,
        "include_snaps": true
    }
}

レプリケーションアクションのスケジュールを作成します。

リクエストの例:

POST /api/storage/v1/replication/actions/b77bd8cd-17ed-69da-9e4b-aebe3cc63755/schedules HTTP/1.1
Host: emperor:215
Authorization: Basic cm9vdDpsMWE=
Accept: */*
Content-Type:application/json
Content-Length: 65

{"frequency":"month","day":"5th", "hour":"auto", "minute":"auto"}

レスポンスの例:

HTTP/1.1 201 Created
Date: Thu, 12 Jan 2017 17:35:48 GMT
Server: TwistedWeb/10.1.0
Content-Length: 0
X-Zfssa-Storage-Api: 1.1
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 1.0
X-Zfssa-Version: ak2013r/generic@2016.12.08,1-0

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

既存のレプリケーションアクションを変更します。

リクエストの例:

PUT /api/storage/v1/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json

{"use_ssl": false}

レスポンスの例:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 620

{
    "action": {
        "target_id": "407642ae-91b5-681c-de5e-afcd5cbf2974",
        "compression": true,
        "continuous": false,
        "enabled": true,
        "max_bandwidth": 0,
        "dedup": false,
        "retain_user_snaps_on_target": false,
        "use_ssl": false,
        "id": "c141d88d-ffd2-6730-d489-b71905f340cc",
        "include_clone_origin_as_data": false,
        "include_snaps": true
    }
}

リクエストの例:

PUT /api/storage/v1/replication/actions/<action_id> -d '{"recovery_point_objective": 60}HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json'

レスポンスの例:

X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 620

        {"action": {
        "state_description": "Idle (no update in progress)",
        "recovery_point_objective": 60,
        "replica_lag_over_warning_limit": false,
        "bytes_sent": "0",
        "last_try": "Mon Nov 21 2016 23:25:59 GMT+0000 (UTC)",
        "max_bandwidth": 0,
        "estimated_size": "0",
        "href": "/api/storage/v1/replication/actions/12d981c3-b098-c65a-e1e9-a6b8263a0f6a",
        "estimated_time_left": 0,
        "use_ssl": true,
        "id": "12d981c3-b098-c65a-e1e9-a6b8263a0f6a",
        "stats": {"total_logical_bytes": 40656,
        "last_dd_table_build": 9169029,
        "total_after_dedup": 18476,
        "last_try": "Mon Nov 21 2016 23:25:59 GMT+0000 (UTC)",
        "dd_total_updates": 1,
        "href": "/api/storage/v1/replication/actions/12d981c3-b098-c65a-e1e9-a6b8263a0f6a/stats", 
        "dd_total_duration": 47149245470,
        "last_logical_bytes": 40656,
        "dd_total_table_mem": 2097152,
        "last_result": "success",
        "last_after_dedup": 18476,
        "last_duration": 47149245470,
        {"dd_total_logical_bytes": 40656,
        "total_updates": 1,
        "total_duration": 47149245470,
        "replica_data_timestamp": "Mon Nov 21 2016 23:25:12 GMT+0000 (UTC)",
        "total_to_network": 9623,
        "dd_total_table_build": 9169029,
        "dd_total_phys_bytes": 16800,
        "last_to_network": 9623,
        "total_phys_bytes": 16800,
        "last_phys_bytes": 16800,
        "last_sync": "Mon Nov 21 2016 23:25:59 GMT+0000 (UTC)",
        "last_dd_table_mem": 2097152,
        "dd_total_after_dedup": 18476,
        "dd_total_to_network": 9623},
        "compression": "on",
        "dedup": true,
        "replica_lag_warning_alert": 0,
        "last_result": "success",
        "include_clone_origin_as_data": false,
        "state": "idle",
        "offline": false,
        "export_path": "",
        "export_pending": false,
        "autosnaps": {"autosnaps_retention_policies":
        "synchronized",
        "href": "/api/storage/v1/replication/actions/12d981c3-b098-c65a-e1e9-a6b8263a0f6a/autosnaps"},
        "replica_data_timestamp": "Mon Nov 21 2016 23:25:12 GMT+0000 (UTC)",
        "continuous": false,
        "target_id": "4fd305ac-4af5-c34a-87c3-88203207305b",
        {"average_throughput": "0B/s",
        "next_update": "Sync now",
        "pool": "G",
        "replica_lag_over_error_limit": false,
        "target": "goby",
        "replica_lag": "42:28:24",
        "retain_user_snaps_on_target": false,
           .......

レプリケーションアクションの進行状況のモニター

レプリケーションアクションステータスの取得コマンドは、ID で指定された単一のレプリケーションアクションのステータスを返します。レプリケーションの進行状況を確認するには、state および state_description を調べます。

state プロパティーの値は次のとおりです。

  • sending

  • idle

state_description プロパティーの値は次のとおりです。

  • Connecting to replication target

  • Receiving checkpoint from target

  • Estimating size of update

  • Building deduplication tables (複製解除されたレプリケーションストリームでのみ使用)

リクエストの例:

GET /api/storage/v1/replication/actions/1438ed7f-aad3-c631-d869-9e85cd7f15b4 HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Accept: application/json

レスポンスの例:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
    "action": {
       "id": "1438ed7f-aad3-c631-d869-9e85cd7f15b4",
       "target_id": "4fd3483e-b1f5-4bdc-9be3-b3a4becd0c42",
       "target": "cleo",
       "pool": "p0",
       "replication_of": "testproj",
       "enabled": true,
       "continuous": false,
       "include_snaps": true,
       "retain_user_snaps_on_target": false,
       "dedup": true,
       "include_clone_origin_as_data": false,
       "max_bandwidth": -1,
       "bytes_sent": 0,
       "estimated_size": 0,
       "estimated_time_left": 0,
       "average_throughput": 0,
       "use_ssl": true,
       "compression": "on",
       "export_path": "",
       "state": "sending",
       "state_description": "Receiving checkpoint from target",
       "export_pending": false,
       "offline": false,
       "next_update": "Sync now",
       "replica_data_timestamp": "Thu Apr 28 2016 22:38:03 GMT+0000 (UTC)",
       "last_sync": "<unknown>",
       "last_try": "<unknown>",
       "last_result": "<unknown>",
       "replica_lag": "00:00:18",
       "recovery_point_objective": 0,
       "replica_lag_warning_alert": 0,
       "replica_lag_error_alert": 0,
       "replica_lag_over_warning_limit": false,
       "replica_lag_over_error_limit": false,
       "project": "testproj"
    }
}

更新の取り消し

進行中のレプリケーション更新を取り消します。

リクエストの例:

PUT /api/storage/v1/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc/cancelupdate HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

レスポンスの例:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

更新の送信

レプリケーション更新を可能なかぎりすぐに開始するようにスケジュールします。

リクエストの例:

PUT /api/storage/v1/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc/sendupdate HTTP/1.1
Authorization: Basic ab6rt4psMWE=

レスポンスの例:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

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

既存のレプリケーションアクションを削除します。

リクエストの例:

DELETE /api/storage/v1/replication/actions/e7e688b1-ff07-474f-d5cd-cac08293506e
       HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

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

レスポンスの例:

HTTP/1.1 204 No-Content
X-Zfssa-Replication-Api: 1.0