クラウドサービス操作を使用して、Oracle Cloud Infrastructure Object Storage のアプライアンススナップショットのバックアップを管理します。Oracle Cloud Infrastructure Object Storage のターゲットとバックアップの一覧表示、ターゲットの削除、バックアップの削除、バックアップを新しいアプライアンスシェアとして復元、およびクラウドサービスジョブの取り消しや再起動を行うことができます。
バックアップを作成するには、スナップショットバックアップの作成 in スナップショットバックアップ操作を参照してください。バックアップは、シェアスナップショットの完全バックアップまたは増分バックアップです。スナップショットを作成するには、スナップショットおよびクローンの操作を参照してください。
クラウドサービス操作の表では、次のパラメータが使用されます。
バックアップが Oracle Cloud Infrastructure Object Storage に保存された形式。
format の値は、zfs または tar のいずれかです。スナップショットバックアップの作成に format が指定されていない場合、zfs がデフォルトとなります。zfs 形式はファイルシステムと LUN の両方のスナップショットをサポートし、tar 形式はファイルシステムのスナップショットのみをサポートします。zfs および tar 形式の詳細は、Oracle ZFS Storage Appliance 管理ガイド、Release OS8.8.x の クラウドバックアップの作成 (CLI)を参照してください。
Oracle Cloud Infrastructure Object Storage に保存されているアプライアンススナップショットのコピーの識別子。backup-id の値は、クラウドバックアップの一覧表示に示すように、バックアップを一覧表示するときの id プロパティーの値です。
完全スナップショットバックアップの場合、次の例に示すように、backup-id の値は、pool_id/snapshot_id です。
3e035b7e546e0d02/1cbfdb5ff2259b76
増分スナップショットバックアップの場合、次の例に示すように、backup-id の値は、pool_id/child_snapshot_id-parent_snapshot_id です。
6913a5703bee98dc/46be95ced54e99d9-667f3eb88fd209e1
バックアップが保存される Oracle Cloud Infrastructure Object Storage の場所。特定のバックアップを複数のターゲットに保存できます。つまり、同じ backup-id が異なる target-id の場所に表示される可能性があります。
target-id の値は、バックアップを一覧表示するときの target プロパティーの値です。
実行中のジョブの識別子。job-id の値は、ジョブの一覧表示に示すように、ジョブを一覧表示するときの id プロパティーの値です。
|
クラウドサービスを有効にするには、次の例に示すように、status を enable に設定します。
リクエストの例:
PUT /api/service/v2/services/cloud HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*
Content-Type: application/json
Content-Length: 22
{ "<status>": "enable" }
次のリクエストを使用して、クラウドサービスのログファイルを表示します。
GET /api/log/v1/logs/appliance-kit-cloud:default HTTP/1.1
リクエストの例:
GET /api/service/v2/services/cloud HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
HTTP/1.1 200 OK
Date: Wed, 24 Jul 2019 20:30:59 GMT
Content-Length: 843
X-Zfssa-Service-Api: 2.0
X-Zfssa-Api-Version: 2.0
Content-Type: application/json; charset=utf-8
{
"service": {
"href": "/api/service/v2/services/cloud",
"<status>": "online",
"tls_version": [
"TLSv1.1",
"TLSv1.2"
],
"ciphers": [
"ECDHE-RSA-AES128-GCM-SHA256",
"ECDHE-RSA-AES256-GCM-SHA384",
"DHE-RSA-AES128-GCM-SHA256",
"DHE-RSA-AES256-GCM-SHA384",
"AES128-SHA",
"AES256-SHA",
"DES-CBC3-SHA"
],
"targets": {
"href": "/api/service/v2/services/cloud/targets",
"entries": 2
},
"backups": {
"href": "/api/service/v2/services/cloud/backups",
"entries": 2548
},
"jobs": {
"href": "/api/service/v2/services/cloud/jobs",
"entries": 0
}
}
}
リクエストの例:
PUT /api/service/v2/services/cloud HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*
Content-Type: application/json
Content-Length: 48
{
"tls_version": [
"TLSv1.0","TLSv1.1","TLSv1.2"
]
}
次の例では、すべてのターゲットを一覧表示します。
リクエストの例:
GET /api/service/v2/services/cloud/targets HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
HTTP/1.1 200 OK
Date: Wed, 24 Jul 2019 21:06:18 GMT
Content-Length: 1086
X-Zfssa-Service-Api: 2.0
X-Zfssa-Api-Version: 2.0
Content-Type: application/json; charset=utf-8
{
"targets": [{
"bucket": "pl-test",
"href": "/api/service/v2/services/cloud/targets/target-id1",
"id": "target-id1",
"key": true,
"location": "https://objectstorage.us-ashburn-1.oraclecloud.com",
"name": "oci-ashburn",
"online": true,
"proxy_host": "",
"proxy_on": false,
"proxy_password": false,
"proxy_user": "",
"tenancy": "ocid1.tenancy.oc1..tenancy-id",
"user": "ocid1.user.oc1..user-id"
},{
"bucket": "pl-test2",
"href": "/api/service/v2/services/cloud/targets/target-id2",
"id": "target-id2",
"key": true,
"location": "https://objectstorage.us-phoenix-1.oraclecloud.com",
"name": "oci-phoenix",
"online": true,
"proxy_host": "www-proxy.example.com:80",
"proxy_on": true,
"proxy_password": false,
"proxy_user": "",
"tenancy": "ocid1.tenancy.oc1..tenancy-id",
"user": "ocid1.user.oc1..user-id"
}]
}
次の例では、指定されたターゲットを一覧表示します。
GET /api/service/v2/services/cloud/targets/target-id HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
クラウドターゲットを作成するには、次のパラメータが必要です。
|
次の例では、ターゲットを作成します。
リクエストの例:
POST /api/service/v2/services/cloud/targets HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
{
"name": "oci4",
"location": "https://objectstorage.us-phoenix-1.oraclecloud.com",
"user": "ocid1.user.oc1..user-id",
"bucket": "test-bucket3",
"tenancy": "ocid1.tenancy.oc1..tenancy-id",
"key": "key",
"proxy_on": false,
"readlimit": -1,
"writelimit": -1
}
結果例:
HTTP/1.1 201 Created
Date: Wed, 24 Jul 2019 21:14:39 GMT
Content-Length: 568
X-Zfssa-Service-Api: 2.0
Location: /api/service/v2/services/cloud/targets/target-id
X-Zfssa-Api-Version: 2.0
Content-Type: application/json; charset=utf-8
{
"target": {
"bucket": "test-bucket3",
"href": "/api/service/v2/services/cloud/targets/target-id",
"id": "target-id",
"key": true,
"location": "https://objectstorage.us-phoenix-1.oraclecloud.com",
"name": "oci4",
"proxy_on": false,
"readlimit": -1,
"state": "offline",
"tenancy": "ocid1.tenancy.oc1..tenancy-id",
"user": "ocid1.user.oc1..user-id",
"writelimit": -1
}
}
次の表に、クラウドターゲットで変更できるプロパティーを示します。
|
リクエストの例:
PUT /api/service/v2/services/cloud/targets/target-id HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
User-Agent: curl/7.54.0
Accept: */*
Content-Type: application/json
Content-Length: 19
{
"proxy_on": true,
"proxy_host": "www-proxy.example.com:80",
"readlimit": 4194304,
"writelimit": 5242880
}
ターゲットを削除する前に、次のチェックを実行します。
このターゲットへのバックアップが進行中であるかどうかを確認します。ジョブの一覧表示を参照してください。
このターゲットにバックアップがあるかどうかを判断します。クラウドバックアップの一覧表示に示すように、target フィルタを使用して、このターゲットに保存されているバックアップを一覧表示します。
次の例では、指定されたクラウドターゲットをサービスから削除します。
リクエストの例:
DELETE /api/service/v2/services/cloud/targets/target-id HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
HTTP/1.1 204 No Content Date: Wed, 24 Jul 2019 21:20:27 GMT X-Content-Type-Options: nosniff X-Zfssa-Service-Api: 2.0 X-Zfssa-Api-Version: 2.0 Content-Type: application/json; charset=utf-8
次の問合せを使用して、任意の形式の完了したすべてのバックアップを、新しいバックアップから順に一覧表示します。進行中のバックアップに関する情報を取得するには、ジョブの一覧表示を参照してください。
リクエストの例:
GET /api/service/v2/services/cloud/backups HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
この例では、一覧表示されている最初のバックアップは、一覧表示されている 2 番目のバックアップの子です。1 つ目のバックアップの parent の値は、2 つ目のバックアップ (app-data-fullsnap) の dataset の値と同じであり、2 つ目のバックアップの parent の値は null です。子のバックアップは、親と同じ format になります。この例では、子のバックアップと親のバックアップの両方が tar 形式です。
HTTP/1.1 200 OK
Date: Wed, 22 Jan 2020 21:22:40 GMT
X-Zfssa-Service-Api: 2.0
X-Zfssa-Api-Version: 2.0
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
{
"backups": [{
"target": "target-id2",
"parent": "app-data-fullsnap",
"started": "2020-01-06T20:03:32Z",
"completed": "2020-01-06T20:04:36Z",
"id": "backup-id2",
"source": "cloudsnap0",
"href": "/api/service/v2/services/cloud/backups/tar/backup-id2/target-id2",
"tier": "standard",
"dataset": "p1/local/default/app-data@app-data-incsnap",
"format": "tar",
"size": 3224982536.0
},{
"target": "target-id1",
"parent": "",
"started": "2020-01-06T20:01:16Z",
"completed": "2020-01-06T20:01:17Z",
"id": "backup-id1",
"source": "cloudsnap0",
"href": "/api/service/v2/services/cloud/backups/tar/backup-id1/target-id1",
"tier": "standard",
"dataset": "p1/local/default/app-data@app-data-fullsnap",
"format": "tar",
"size": 2149988056.0
}]
}
次のリクエストを使用して、指定されたバックアップを一覧表示します。
GET /api/service/v2/services/cloud/backups/format/backup-id/target-id HTTP/1.1
クラウドバックアップの一覧表示の問合せパラメータ
クラウドバックアップのリストをフィルタ処理するために、次の問合せパラメータがサポートされています。すべてのパラメータを同じ問合せで使用できます。表の後の例に示すように、問合せパラメータ間で AND 演算 (&) を使用します。
|
次の例では、索引番号 2000 のバックアップから始まる最も古いバックアップを一覧表示します。クラウドサービスのプロパティーリストの backups セクションにある entries プロパティーの値が 2865 の場合、次の例では、バックアップ 2000 からバックアップ 2864 までの 865 個のバックアップを示しています。
GET /api/service/v2/services/cloud/backups?start=2000
次の例では、索引番号 2000 のバックアップのみを一覧表示します。
GET /api/service/v2/services/cloud/backups?start=2000&limit=1
次の例では、指定した時刻以降に作成された最も古い 500 個のバックアップを一覧表示します。
GET /api/service/v2/services/cloud/backups?start=2019-07-12T00:00:00Z&limit=500
次の例では、指定した時刻以前に作成された最も新しい 500 個のバックアップを一覧表示します。
GET /api/service/v2/services/cloud/backups?end=2019-07-12T00:00:00Z&limit=500
次の例では、指定した start 時間以降に作成され、指定した end 時間までに作成されたすべてのバックアップを一覧表示します。
GET /api/service/v2/services/cloud/backups?start=2019-07-11T00:00:00Z&end=2019-07-12T00:00:00Z
次の例では、tar バックアップ形式で、名前に app-data を含むデータセットの最も新しいバックアップを一覧表示します。
GET /api/service/v2/services/cloud/backups?dataset=app-data&format=tar
次の例では、target-id ターゲット上の、名前に app-data を含むデータセットの最も新しいバックアップを一覧表示します。
GET /api/service/v2/services/cloud/backups?dataset=app-data&target=target-id
次の例では、cloudsnap0 をソースとする target-id ターゲット上の、名前に app-data を含むデータセットの最も新しいバックアップを一覧表示します。
GET /api/service/v2/services/cloud/backups?dataset=app-data&target=target-id&source=cloudsnap0
クラウドバックアップを削除する前に、次のチェックを実行します。
このバックアップの復元が進行中であるかどうかを確認します。ジョブの一覧表示を参照してください。
このバックアップに子があるかどうかを判断します。子バックアップを持つバックアップは削除できません。このバックアップの子には、削除するバックアップの dataset 値と同じ parent 値があります。クラウドバックアップの一覧表示を参照してください。
次の例では、Oracle Cloud Infrastructure Object Storage から指定されたターゲット上の指定されたバックアップを削除するジョブリクエストを送信します。アプライアンスは、バックアップが別のアプライアンスで作成された場合でも、アプライアンスがアクセスできる任意のターゲット上の任意のバックアップで動作します。
この操作を、アプライアンス上のシェアスナップショットバックアップを削除する方法を示したスナップショットバックアップの削除と比較してみてください。
リクエストの例:
DELETE /api/service/v2/services/cloud/backups/format/backup-id/target-id HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
{
"action": "job-id"
}
クラウドバックアップの削除の進行状況を表示するには、ジョブの一覧表示を使用して、前述の job-id のジョブを表示します。
クラウドバックアップは、そのクラウドターゲットにアクセスできる任意のアプライアンス上に新しくクローニングされたシェアとして復元できます。
次の例では、指定されたバックアップを復元するジョブリクエストを送信します。バックアップを復元するプールとプロジェクトを指定し、新しいシェアの名前を指定します。復元の進行状況を表示するには、ジョブの一覧表示を使用して、返された job-id のジョブを表示します。
ターゲットに readlimit プロパティーが設定されている場合、ターゲットから読み取られるのは 1 秒あたり readlimit バイト以下です。ターゲットの作成を参照してください。
リクエストの例:
POST /api/service/v2/services/cloud/backups/format/backup-id/target-id/restore HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*
Content-Length: 55
{
"pool":"p1",
"project":"default",
"share": "restore6"
}
結果例:
{
"action": "job-id"
}
次の例では、実行中のすべてのジョブと最近完了したジョブを、新しいジョブから順に一覧表示します。
リクエストの例:
GET /api/service/v2/services/cloud/jobs HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
この例では、2 つのバックアップジョブが 2 つの異なるバックアップを同じターゲットに保存しています。
HTTP/1.1 200 OK
Date: Wed, 22 Jan 2020 21:37:52 GMT
Content-Length: 983
X-Zfssa-Service-Api: 2.0
X-Zfssa-Api-Version: 2.0
Content-Type: application/json; charset=utf-8
{
"jobs": [{
"href": "/api/service/v2/services/cloud/jobs/job-id2",
"op": "backup",
"target": "target-id",
"targetName": "oci-ashburn",
"created": "2020-02-06T16:52:42Z",
"updated": "2020-02-06T16:52:48Z",
"id": "job-id2",
"status": "in-progress",
"rate": 10002432,
"transferred": 80019456,
"estimated_size": 43088792088,
"dataset": "p1/local/default/f-1",
"backup": "backup-id2",
"snapshot": "snap3",
"format": "tar",
"details": "uploading backup to zfs/backups/tar/backup-id2/000000001"
},{
"href": "/api/service/v2/services/cloud/jobs/job-id1",
"op": "backup",
"target": "target-id",
"targetName": "oci-ashburn",
"created": "2020-02-06T16:52:28Z",
"updated": "2020-02-06T16:52:48Z",
"id": "job-id1",
"status": "in-progress",
"rate": 1942,
"transferred": 3884,
"estimated_size": 0,
"dataset": "p1/local/default/f-1",
"backup": "backup-id1",
"snapshot": "snap2",
"format": "zfs",
"details": "uploading backup to zfs/backups/zfs/backup-id1/000000001"
}]
}
次の例では、指定されたジョブを一覧表示します。
GET /api/service/v2/services/cloud/jobs/job-id2 HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
クラウドバックアップジョブの一覧表示の問合せパラメータ
クラウドバックアップジョブのリストをフィルタ処理するために、start および limit 問合せパラメータがサポートされています。
start パラメータの値はジョブ索引です。この索引の値は、クラウドサービスのプロパティーの一覧表示に示されているリクエストの jobs セクションの entries プロパティーの値よりも 0 から 1 小さい値になります。
limit パラメータの値は、一覧表示するジョブの最大数です。
両方のパラメータを同じ問合せで使用できます。次の例に示すように、問合せパラメータ間で AND 演算 (&) を使用します。
次の例では、実行中の最も新しい 100 個のジョブと最近完了したジョブを、新しいジョブから順に一覧表示します。
GET /api/service/v2/services/cloud/jobs?limit=100
次の例では、実行中の最も古いジョブまたは最近完了したジョブのみを一覧表示します。
GET /api/service/v2/services/cloud/jobs?start=0&limit=1
次の例では、実行中のすべてのジョブと、ジョブ索引番号が 4 以上の最近完了したジョブを、新しいジョブから順に一覧表示します。
GET /api/service/v2/services/cloud/jobs?start=4
次の例では、指定されたクラウドサービスジョブを取り消します。
リクエストの例:
PUT /api/service/v2/services/cloud/jobs/job-id/cancel HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
HTTP/1.1 202 Accepted Date: Wed, 24 Jul 2019 21:50:29 GMT Content-Length: 0 X-Zfssa-Service-Api: 2.0 X-Zfssa-Api-Version: 2.0 Content-Type: application/json; charset=utf-8
次の例では、指定されたクラウドサービスジョブを再起動します。
リクエストの例:
PUT /api/service/v2/services/cloud/jobs/job-id/restart HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= User-Agent: curl/7.54.0 Accept: */*
結果例:
HTTP/1.1 202 Accepted Date: Wed, 24 Jul 2019 21:51:08 GMT Content-Length: 0 X-Zfssa-Service-Api: 2.0 X-Zfssa-Api-Version: 2.0 Content-Type: application/json; charset=utf-8