Go to main content
Oracle® ZFS Storage Appliance RESTful API 설명서, 릴리스 OS8.6.x

인쇄 보기 종료

업데이트 날짜: 2016년 9월
 
 

스냅샷 및 복제 작업

모든 스냅샷 작업의 범위는 지정된 풀 또는 프로젝트로 지정됩니다. 또한 스냅샷 작업의 범위를 파일 시스템 또는 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}으로 시작됩니다.

표 84  스냅샷 및 복제 명령
요청
경로 /api/storage/v1
설명
GET
/snapshots
모든 로컬 스냅샷을 나열합니다.
GET
/pools/<pool>/projects /<project>/snapshots
모든 프로젝트 스냅샷을 나열합니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots
모든 파일 시스템 스냅샷을 나열합니다.
GET
/pools/<pool>/projects /<project>/luns/<lun> /snapshots
모든 LUN 스냅샷을 나열합니다.
GET
/pools/<pool>/projects /<project>/snapshots/<snapshot>
프로젝트 스냅샷 세부정보를 가져옵니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
파일 시스템 스냅샷 세부정보를 가져옵니다.
GET
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
LUN 스냅샷 세부정보를 가져옵니다.
POST
/pools/<pool>/projects /<project>/snapshots
프로젝트 스냅샷을 만듭니다.
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots
파일 시스템 스냅샷을 만듭니다.
POST
/pools/<pool>/projects /<project>/luns/<lun> /snapshots
LUN 스냅샷을 만듭니다.
PUT
/pools/<pool>/projects /<project>/snapshots/<snapshot>
프로젝트 스냅샷을 수정합니다.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
파일 시스템 스냅샷을 수정합니다.
PUT
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
LUN 스냅샷을 수정합니다.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/clone
파일 시스템 스냅샷을 복제합니다.
PUT
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>/clone
LUN 스냅샷을 복제합니다.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/rollback
데이터를 지정된 파일 시스템 스냅샷으로 롤백합니다.
PUT
/pools/<pool>/projects /<project>/lun/<lun> /snapshots/<snapshot>/rollback
데이터를 지정된 LUN 스냅샷으로 롤백합니다.
DELETE
/pools/<pool>/projects /<project>/snapshots/<snapshot>
프로젝트 스냅샷을 삭제합니다.
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
파일 시스템 스냅샷을 삭제합니다.
DELETE
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
LUN 스냅샷을 삭제합니다.
GET
/pools/<pool>/projects /<project>/snapshots/<snapshot> /dependents
프로젝트 스냅샷 종속 항목을 나열합니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/dependents
파일 시스템 스냅샷 종속 항목을 나열합니다.
GET
/pools/<pool>/projects /<project>/lun/<lun> /snapshots/<snapshot> /dependents
LUN 스냅샷 종속 항목을 나열합니다.
POST
/pools/<pool>/projects /<project>/automatic
새 프로젝트 자동 스냅샷을 만듭니다.
GET
/pools/<pool>/projects /<project>/automatic /<automatic>
지정된 프로젝트 자동 스냅샷 등록 정보를 가져옵니다.
GET
/pools/<pool>/projects /<project>/automatic
모든 프로젝트 자동 스냅샷 객체를 나열합니다.
PUT
/pools/<pool>/projects /<project>/automatic /<automatic>
지정된 프로젝트 자동 스냅샷 객체를 수정합니다.
DELETE
/pools/<pool>/projects /<project>/automatic /<automatic>
지정된 자동 객체를 삭제합니다.
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic
새 파일 시스템 자동 스냅샷을 만듭니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
지정된 파일 시스템 자동 스냅샷 등록 정보를 가져옵니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic
모든 파일 시스템 자동 스냅샷 객체를 나열합니다.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
지정된 파일 시스템 자동 스냅샷 객체를 수정합니다.
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
지정된 자동 객체를 삭제합니다.
POST
/pools/<pool>/projects /<project>/luns/<lun>/automatic
새 LUN 자동 스냅샷을 만듭니다.
GET
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
지정된 LUN 자동 스냅샷 등록 정보를 가져옵니다.
GET
/pools/<pool>/projects /<project>/luns/<lun>/automatic
모든 LUN 자동 스냅샷 객체를 나열합니다.
PUT
/pools/<pooll>/projects /<project>/luns/<lun>/automatic /<automatic>
지정된 LUN 자동 스냅샷 객체를 수정합니다.
DELETE
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
지정된 자동 객체를 삭제합니다.

스냅샷 나열

어플라이언스에서 사용할 수 있는 어플라이언스를 나열합니다. 요청 URI에 따라 목록은 프로젝트, 파일 시스템 또는 LUN 스냅샷을 포함합니다.

표 85  스냅샷 나열 명령 형식
명령
/api/storage/v1/pools/{pool}/projects/{project}
List Project Snapshots
/snapshots
List filesystem snapshots
/filesystems/{share}/snapshots
List lun snapshots
/lun/{share}/snapshots

요청 예:

GET /api/storage/v1/pools/gold/projects/default/snapshots
Accept: application/json

응답 예:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "snapshots": [{
        "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
        "display_name": "snap-001",
        “display_description": "Daily backup",
        "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
        "status": "available",
        "size": 30,
        "created_at": "2012-02-29T03:50:07Z"
    }, {
        "id": "e479997c-650b-40a4-9dfe-77655818b0d2",
        "display_name": "snap-002",
        "display_description": "Weekly backup",
        "volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
        "status": "available",
        "size": 25,
        "created_at": "2012-03-19T01:52:47Z"
    }]
}

스냅샷 가져오기

단일 스냅샷에 대한 모든 정보를 봅니다. 성공 시 HTTP 상태 200(OK)을 반환합니다.

요청 예:

GET /api/storage/v1/pools/gold/projects/default/snapshots/snap-001
Accept: application/json

응답 예:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "snapshot": {
        "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
        "display_name": "snap-001",
        "display_description": "Daily backup",
        "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
        "status": "available",
        "size": 30,
        "created_at": "2012-02-29T03:50:07Z"
    }
}

스냅샷 만들기

스냅샷 만들기 명령은 프로젝트, 파일 시스템 또는 LUN에 대한 스냅샷을 만듭니다.

  • 프로젝트 스냅샷 만들기 – POST /pools/{pool}/projects/{project}/snapshots

  • 파일 시스템 스냅샷 만들기 – POST /pools/{pool}/projects/{project}/filesystems/{share}/snapshots

  • 볼륨 스냅샷 만들기 – POST /pools/{pool}/projects/{project}/luns/{lun}/snapshots

요청 예:

POST /api/storage/v1/pools/gold/projects/default/snapshots
Content-Type: application/json

{"name": "initial-backup"}

응답 예:

HTTP/1.1 201 Created
Content-Type: application/json
Location: /pools/gold/projects/default/
snapshot/initial-backup

{
    "snapshot": {
        "name": "initial-backup",
        "numclones": 0,
        "creation": "20130610T21:00:49",
        "collection": "local",
        "project": "default",
        "canonical_name": "gold/local/default@initial-backup",
        "usage": {
            "unique": 0.0,
            "loading": false,
            "data": 145408.0
        },
        "type": "snapshot",
        "id": "a26abd24-e22b-62b2-0000-000000000000",
        "pool": "gold"
    }
}

스냅샷 이름 바꾸기

기존 스냅샷의 이름을 바꿉니다.

  • 요청 URI - 스냅샷, 현재 스냅샷 이름

  • 요청 본문 - 새 스냅샷 이름을 포함하는 name 매개변수의 JSON 객체

요청 예:

PUT /api/storage/v1/pools/gold/projects/default/snapshots/initial-snapshot
Content-Type: application/json
Accept: application/json

{“name”:”old-snapshot”}

응답 예:

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /pools/gold/projects/default/snapshot/initial-backup

스냅샷 복제

기존 스냅샷에서 새 파일 시스템 또는 LUN을 만듭니다.

요청 URI 복제 파일 시스템:

PUT /pools/{pool}/projects/{project}/filesystems/{share}/snapshots/{snap}/clone

볼륨 복제:

PUT  /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot}/clone
표 86  URI 매개변수
매개변수
설명
pool
소스 풀 이름
project
소스 프로젝트 이름
filesystem
소스 공유 이름(파일 시스템 스냅샷용)
lun
소스 공유 이름(LUN 스냅샷용)
snapshot
소스 스냅샷 이름

요청 본문은 다음 등록 정보가 있는 JSON 객체를 포함합니다.

표 87  복제 스냅샷 등록 정보
유형
이름
설명
string
pool
대상 복제 풀 이름
string
project
대상 복제 프로젝트 이름
string
lun
대상 LUN 이름(LUN 스냅샷용)

요청 예:

PUT /api/storage/v1/pools/gold/projects/default/filesystems/fs01/
    snapshots/snap01/clone

{"project":"rest", "share":"snap01clone01", "compression": "gzip-9"}

응답 예:

HTTP/1.1 201 Created
Content-Length: 2035
X-Zfssa-Storage-Api: 1.0
Location: /api/storage/v1/pools/gold/projects/rest/filesystem/snap01clone01
Content-Type: application/json; charset=utf-8

{
    "filesystem": {
        "origin": {
            "project": "default",
            "share": "fs01",
            "snapshot": "snap01",
            "pool": "gold",
            "collection": "local"
        },
        "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone01",
        "mountpoint": "/export/snap01clone01",
        "compression": "gzip-9",
        "source": {
            "compression": "local",
            ...
        },
        ...
       "canonical_name": "gold/local/rest/snap01clone01"
   }
} 

스냅샷 롤백

스냅샷을 롤백하면 스냅샷이 사용되었을 때 소스 파일 시스템 또는 LUN이 해당 상태로 다시 수정됩니다. 성공한 응답은 HTTP 상태 202(Accepted) 및 JSON 형식의 스냅샷 등록 정보를 반환합니다.

파일 시스템 스냅샷 롤백:

PUT /pools/{pool}/projects/{project}/filesystems/{share}/snapshots/{snap}/rollback

LUN 스냅샷 롤백:

PUT  /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot}/rollback
표 88  URI 매개변수
매개변수
설명
pool
소스 풀 이름
project
소스 프로젝트 이름
filesystem
소스 파일 시스템 이름(파일 시스템 스냅샷용)
lun
소스 LUN 이름(LUN 스냅샷용)
snapshot
소스 스냅샷 이름

요청 예:

PUT /api/storage/v1/pools/gold/projects/default/filesystems/fs-01
    /snapshots/initial-backup/rollback

응답 예:

HTTP/1.1 202 Accepted
Location: /pools/gold/projects/default/filesystems/fs-01/snapshot/fs-01-initial-clone
Content-Type: application/json

{
    "snapshot": {
        "name": "fs-01-initial-clone",
        "numclones": 0,
        "creation": "20130610T21:00:49",
        "filesystem": "fs-01",
        "collection": "local",
        "project": "default",
        "canonical_name": "gold/local/default/
               fs-01@fs-01-initial-clone",
        "usage": {
            "unique": 0.0,
            "loading": false,
            "data": 31744.0
        },
        "type": "snapshot",
        "id": "5c9bda07-21c1-2238-0000-000000000000",
        "pool": "gold"
    }
}

스냅샷 삭제

스냅샷 DELETE 명령은 시스템에서 프로젝트, 파일 시스템 또는 LUN 스냅샷을 삭제합니다.

표 89  스냅샷 삭제 명령 형식
명령
DELETE /api/storage/v1/pools/{pool}/projects/{project}
지정된 풀 이름, 프로젝트 이름 및 스냅샷 이름의 프로젝트 스냅샷 삭제
/snapshots/{snapshot_name}
지정된 풀 이름, 프로젝트 이름, 파일 시스템 이름 및 스냅샷 이름의 파일 시스템 스냅샷 삭제
/filesystems/{share_name}/snapshots/{snapshot_name}
지정된 풀 이름, 프로젝트 이름, 파일 시스템 이름 및 스냅샷 이름의 파일 시스템 LUN 삭제
/luns/ {lun_name}/snapshots/{snapshot_name}
표 90  URI 매개변수
매개변수
설명
pool
소스 풀 이름
project
소스 프로젝트 이름
filesystem
소스 파일 시스템 이름
lun
LUN 이름
snapshot
소스 스냅샷 이름

스냅샷에 NDMP 보류가 있는 경우 ?confirm=trueDELETE 명령에 추가해야 합니다. 하지만 이렇게 하면 NDMP 작업에 부정적인 영향이 미칠 수 있습니다. 자세한 내용은 Oracle ZFS Storage Appliance 관리 설명서, 릴리스 OS8.6.x 의 NDMP 구성을 참조하십시오.

DELETE /pools/gold/projects/default/filesystems/fs-01/snapshots/initial-backup?confirm=true

스냅샷에 NDMP 보류가 존재할 때 ?confirm=true가 추가되지 않으면 명령이 실패하고 다음과 같은 출력이 표시됩니다.

HTTP/1.1 409 Conflict
{"fault": {"message": "request requires confirm=true to complete (confirmation needed for scripted command(scripted commands must be prefixed with \"confirm\" to automatically confirm or \"deny\" to automatically deny) (encountered while attempting to run command \"confirm destroy snap\"))", "code": 409, "name": "ERR_CONFIRM_REQUIRED"}}

스냅샷 종속 항목 나열

파일 시스템 또는 볼륨에 대한 종속 항목을 나열합니다.

표 91  스냅샷 종속 항목 나열 명령 형식
명령
/api/storage/v1/pools/{pool}/projects/{project}
List Filesystem Dependents
/filesystems/{share}/snapshots/{snapshot}/dependents
List Volume Dependents
lun/{lun}/snapshots/{snapshot}/dependents
표 92  URI 매개변수
매개변수
설명
pool
시스템 스토리지 풀의 이름
project
프로젝트 이름
filesystem
파일 시스템 이름
lun
LUN 이름

요청 예:

GET /api/storage/v1/pools/gold/projects/default/filesystems/fs01/snapshots/snap01/dependents
Accept: application/json

응답 예:

HTTP/1.1 200 OK
X-Zfssa-Storage-Api: 1.0
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 1.0

{
    "dependents": [
        {
            "project": "rest",
            "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone01",
            "share": "snap01clone01"
        },
        {
            "project": "rest",
            "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone02",
            "share": "snap01clone02"
        },
        {
            "project": "rest",
            "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone03",
            "share": "snap01clone03"
        }
    ]
}