スナップショットバックアップ操作を使用して、Oracle Cloud Infrastructure Object Storage でのシェアスナップショットバックアップを管理します。スナップショットを作成するには、スナップショットおよびクローンの操作を参照してください。
各スナップショットバックアップには一意の識別子が割り当てられているため、異なるローカルシステム上で同じ名前のスナップショットを同じクラウドターゲットにバックアップできます。
同じファイルシステムスナップショットを、2 つの異なる形式の 2 つのクラウドバックアップに使用できます。
ローカルスナップショットをクラウドにバックアップした後、そのスナップショットを削除できます。ただし、親スナップショットになる可能性のあるローカルスナップショットは、将来の増分スナップショットのために保持しておいてください。
|
次の例では、ファイルシステム f-1 上の任意の形式のスナップショット snap0 のすべてのクラウドバックアップを一覧表示します。
リクエストの例:
GET /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= User-Agent: curl/7.54.0 Accept: */*
結果例:
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2020 20:54:47 GMT
Content-Length: 708
X-Zfssa-Storage-Api: 2.0
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 2.0
{
"backups": [{
"finished": "2020-01-07T21:02:14Z",
"format": "tar",
"href": "/api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups/tar/backup-id/target-id",
"id": "backup-id",
"status": "completed",
"target": "target-id",
"targetName": "oci-ashburn"
}]
}
次のリクエストでは、指定されたスナップショットバックアップを一覧表示します。
GET /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups/format/backup-id/target-id HTTP/1.1
次の例では、スナップショット snap0 のバックアップを tar 形式で作成し、バックアップをターゲット oci-phoenix に保存します。形式が指定されていない場合、バックアップは zfs 形式で作成されます。スナップショットバックアップの進行状況を表示するには、ジョブの一覧表示を使用して、返された job-id のジョブを表示します。
ターゲットに writelimit プロパティーが設定されている場合、ターゲットに書き込まれるのは 1 秒あたり writelimit バイト以下です。ターゲットの作成を参照してください。
リクエストの例:
POST /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*
{
"target": "oci-phoenix",
"format": "tar"
}
結果例:
{
"action": "job-id"
}
増分スナップショットバックアップを作成するには、incremental プロパティーの値として true を指定し、比較に使用する親スナップショットを指定します。
親スナップショットは、指定された増分スナップショットバックアップと同じローカルシステムと同じクラウドターゲットの両方に存在する必要があります。次の例では、スナップショット snap0 が、ローカルシステムとクラウドターゲットの両方のファイルシステム f-1 に存在する必要があります。
親ファイルシステムと増分ファイルシステムのスナップショットは、zfs または tar の同じ形式である必要があります。
次のリクエストでは、ファイルシステム f-1 のバックアップを作成します。これは、snap0 とファイルシステム f-1 の現在の状態との違いです。増分スナップショットバックアップ snap1 は、ターゲット oci-ashburn に保存されます。増分スナップショットバックアップは、親スナップショットバックアップと同じ形式です。
リクエストの例:
POST /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap1/backups HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*
{
"target": "oci-ashburn",
"incremental": true,
"parent": "snap0"
}
結果例:
{
"action": "job-id"
}
次の例では、指定されたターゲット上の指定された増分スナップショットバックアップの親を識別します。この例では、ターゲット oci-ashburn 上のスナップショット snap2 のバックアップの親は、スナップショット snap1 および snap0 です。結果は、このアプライアンスが oci-ashburn ターゲットと oci-phoenix ターゲットの両方にアクセスできることを示しています。oci-ashburn の結果がリクエストされているため、oci-phoenix の結果は表示されません。
リクエストの例:
POST /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/backups?props=true HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*
{
"target": "oci-ashburn"
}
結果例:
HTTP/1.1 200 OK
Date: Wed, 22 Jan 2020 22:02:17 GMT
Content-Length: 316
X-Zfssa-Storage-Api: 2.0
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 2.0
{
"props": [{
"choices": [
"oci-ashburn",
"oci-phoenix"
],
"data_type": "string",
"label": "Backup target",
"name": "target"
},{
"choices": [
"zfs",
"tar"
],
"data_type": "string",
"label": "format",
"name": "format"
},{
"choices": [
true,
false
],
"data_type": "boolean",
"label": "Incremental",
"name": "incremental"
},{
"choices": [
"snap1",
"snap0"
],
"data_type": "string",
"label": "Parent",
"name": "parent"
}]
}
次の例では、指定された増分スナップショットバックアップの親を識別するための代替方法として、POST の代わりに GET を使用しています。この形式では、ターゲットを指定する必要はありません。結果は、oci-phoenix ターゲット上に snap2 の親がないことを示しており、これは oci-phoenix 上に snap2 の増分バックアップを作成できないことを意味します。oci-phoenix 上に snap2 の完全バックアップを作成できます。
リクエストの例:
GET /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2020 22:04:08 GMT
Content-Length: 329
X-Zfssa-Storage-Api: 2.0
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 2.0
{
"targets": [{
"format": "zfs",
"href": "/api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets/zfs/target-id1",
"id": "target-id1",
"name": "oci-ashburn",
"parents": [
"snap0",
"snap1"
]
},{
"format": "tar",
"href": "/api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets/tar/target-id1",
"id": "target-id1",
"name": "oci-ashburn",
"parents": [
"snap0",
"snap1"
]
},{
"id": "target-id2",
"name": "oci-phoenix",
"parents": [],
"href": "/api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets/target-id2"
}]
}
次のリクエストを使用して、指定されたスナップショットバックアップの親を表示します。
GET /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets/format/target-id1 HTTP/1.1
次の例では、指定されたスナップショットバックアップを削除します。バックアップ削除の進行状況を表示するには、ジョブの一覧表示を使用して、返された job-id のジョブを表示します。
リクエストの例:
DELETE /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups/format/backup-id/target-id HTTP/1.1 Host: hostname:215 Authorization: Basic Tm8gcGVla2luZyE= Accept: */*
結果例:
{
"action": "job-id"
}