Go to main content

Oracle® ZFS Storage Appliance RESTful API 설명서, 릴리스 OS8.8.x

인쇄 보기 종료

업데이트 날짜: 2021년 8월
 
 

스냅샷 백업 작업

스냅샷 백업 작업을 사용하여 Oracle Cloud Infrastructure 객체 스토리지에서 공유 스냅샷 백업을 관리할 수 있습니다. 스냅샷을 만들려면 스냅샷 및 복제 작업을 참조하십시오.

각 스냅샷 백업에는 고유한 식별자가 지정되므로 다른 로컬 시스템에서 동일한 이름을 가진 스냅샷은 동일한 클라우드 대상에 백업할 수 있습니다.

동일한 파일 시스템 스냅샷을 두 가지 다른 형식으로 2개의 클라우드 백업에 사용할 수 있습니다.

로컬 스냅샷은 클라우드에 해당 스냅샷을 백업한 후 삭제할 수 있습니다. 단, 향후 증분 스냅샷을 위해 부모 스냅샷으로 사용될 수 있는 로컬 스냅샷은 보관하십시오.

표 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

스냅샷 백업 만들기

다음 예에서는 tar 형식의 스냅샷 snap0에 대한 백업을 만들고 대상 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"
}

증분 스냅샷 백업 만들기

증분 스냅샷 백업을 만들려면 incremental 등록 정보에 대한 값으로 true를 지정하고 비교에 사용할 부모 스냅샷을 지정합니다.

  • 부모 스냅샷은 지정된 증분 스냅샷 백업과 동일한 로컬 시스템 및 동일한 클라우드 대상에 존재해야 합니다. 다음 예에서 스냅샷 snap0은 로컬 시스템과 클라우드 대상의 파일 시스템 f-1에 존재해야 합니다.

  • 부모 스냅샷과 증분 파일 시스템 스냅샷은 동일한 형식(zfs 또는 tar)이어야 합니다.

다음 요청은 snap0과 파일 시스템 f-1의 현재 상태 간 차이인 파일 시스템 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-ashburnoci-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"
}