レプリケーションアクションは、レプリケーションターゲットにデータをレプリケートするための規則を定義します。次のコマンドは、レプリケーションアクションを管理します。
プロジェクトまたはシェアを指定せずに、レプリケーションアクションを管理するようにアプライアンスに直接リクエストを行うことができます。
次の表には、レプリケーションアクションを管理するための基本コマンドを一覧表示します。
|
次の表に、レプリケーションアクションのスケジュールを管理するためのコマンドを一覧表示します。
|
次の表には、レプリケーションの自動スナップショットを管理するためのコマンドを一覧表示します。
|
次の表には、レプリケーション統計を取得するためのコマンドを一覧表示します。
|
特定のプロジェクト、ファイルシステム、または 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 に次の基本コマンドを追加します。
|
次の表に、レプリケーションアクションのスケジュールを管理するためのコマンドを一覧表示します。
プロジェクトベースのすべての操作の 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 に次の基本コマンドを追加します。
|
次の表には、レプリケーションの自動スナップショットを管理するためのコマンドを一覧表示します。
プロジェクトベースのすべての操作の 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 に次の基本コマンドを追加します。
|
次の表には、レプリケーション統計を取得するためのコマンドを一覧表示します。
プロジェクトベースのすべての操作の 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 に次の基本コマンドを追加します。
|
すべての使用可能なレプリケーションアクションのリストを取得します。
リクエストの例:
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