Go to main content

Oracle® ZFS Storage Appliance RESTful API 指南,发行版 OS8.8.x

退出打印视图

更新时间: 2021 年 8 月
 
 

快照备份操作

使用快照备份操作管理 Oracle Cloud Infrastructure 对象存储上的共享资源快照备份。要创建快照,请参见快照和克隆操作

不同本地系统上的同名快照可以备份到同一个云目标,因为每个快照备份都分配有唯一的标识符。

同一个文件系统快照可以用于两个采用两种不同格式的云备份。

将本地快照备份到云之后,可以删除该快照。但是,保留可能是父快照的本地快照,以用于将来的增量快照。

表 30  快照备份命令
请求
附加到路径:
/api/storage/v2/pools/pool/projects/project
外加以下项之一:
  • /filesystems/fs

  • /luns/lun

说明
GET
/snapshots/snapshot/backups
列出任何格式的所有快照备份。
GET
/snapshots/snapshot/backups/format/backup-id/target-id
列出指定的快照备份。
DELETE
/snapshots/snapshot/backups/format/backup-id/target-id
删除指定的快照备份。
POST
/snapshots/snapshot/backups
创建新快照备份。

列出快照备份

以下示例列出文件系统 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

创建快照备份

以下示例创建快照 snap0tar 格式的备份,并将备份存储在目标 oci-phoenix 上。如果未指定格式,则创建 zfs 格式的备份。要查看快照备份进度,请使用列出作业查看具有所返回 job-id 的作业。

如果为目标设置了 writelimit 属性,则每秒向目标写入的字节数不超过 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"
}

创建增量快照备份

要创建增量快照备份,请指定 true 作为 incremental 属性的值,并指定要用于比较的父快照。

  • 父快照必须与指定的增量快照备份同时存在于同一本地系统和同一云目标上。在以下示例中,快照 snap0 必须存在于本地系统和云目标的文件系统 f-1 中。

  • 父文件系统快照和增量文件系统快照必须采用相同的格式:zfstar

以下请求创建文件系统 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 的备份的父备份是快照 snap1snap0。结果中显示此设备既能够访问 oci-ashburn 目标又能够访问 oci-phoenix 目标。对于 oci-phoenix 未显示结果,因为针对 oci-ashburn 请求了结果。

请求示例:

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"
    }]
}

以下示例使用 GET(而非 POST)作为备选方式来标识指定增量快照备份的父快照。通过这种形式,您无需指定目标。结果显示 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"
}