JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle® ZFS Storage Appliance RESTful API 설명서, 릴리스 2013.1.3.0
Oracle Technology Network
라이브러리
PDF
인쇄 보기
피드백
search filter icon
search icon

문서 정보

Oracle ZFS Storage Appliance RESTful API 시작하기

RESTful API 작업

RESTful API 경보 서비스

Analytics Services

하드웨어 서비스

로그 명령

네트워크 명령

RESTful API 문제 서비스

RESTful API 역할 서비스

RESTful API SAN 서비스

서비스 명령

RESTful API 스토리지 서비스

스토리지 풀 작업

풀 나열

풀 가져오기

풀 구성

풀에 스토리지 추가

풀 스크러빙

풀 구성 해제

프로젝트 작업

프로젝트 나열

프로젝트 등록 정보 가져오기

프로젝트 만들기

프로젝트 수정

프로젝트 삭제

프로젝트 사용량

파일 시스템 작업

파일 시스템 나열

파일 시스템 가져오기

파일 시스템 만들기

파일 시스템 수정

파일 시스템 삭제

파일 시스템 쿼터 및 사용량

LUN 작업

LUNS를 나열합니다.

LUN 가져오기

새 LUN 만들기

LUN 수정

Lun 삭제

스냅샷 및 복제 작업

스냅샷 나열

스냅샷 가져오기

스냅샷 만들기

스냅샷 이름 바꾸기

스냅샷 복제

스냅샷 롤백

스냅샷 삭제

스냅샷 종속 항목 나열

스키마

등록 정보 나열

등록 정보 가져오기

등록 정보 만들기

등록 정보 수정

등록 정보 삭제

복제

복제 서비스 가져오기

복제 서비스 상태 수정

복제 대상

복제 대상 나열

복제 대상 가져오기

복제 대상 만들기

복제 대상 삭제

복제 작업

복제 작업 나열

복제 작업 가져오기

복제 작업 만들기

복제 작업 수정

업데이트 취소

업데이트 전송

복제 작업 삭제

복제 패키지

복제 소스 나열

복제 패키지 나열

패키지 수정

패키지 삭제

업데이트 취소

패키지 복제

패키지 단절

패키지 방향 바꾸기

시스템 명령

RESTful API 사용자 서비스

워크플로우 명령

RESTful 클라이언트

프로젝트 작업

모든 프로젝트 작업의 범위를 지정된 풀로 설정할 수 있습니다. 모든 프로젝트에서 작동하는 명령은 URI에 "/projects"를 추가하고 단일 프로젝트에서 작동하는 명령은 "/projects/{project}"를 추가합니다.

표 12-3  프로젝트 명령
요청
경로 /api/storage/v1
설명
GET
/projects
모든 프로젝트를 나열합니다.
GET
/pools/<pool>/projects
프로젝트를 나열합니다.
GET
/pools/<pool>/projects /<project>
프로젝트 세부 정보를 가져옵니다.
POST
/pools/<pool>/projects
프로젝트를 만듭니다.
PUT
/pools/<pool>/projects /<project>
프로젝트를 수정합니다.
DELETE
/pools/<pool>/projects /<project>
프로젝트를 삭제합니다.
GET
/pools/<pool>/projects /<project>/usage/groups
프로젝트 그룹 사용량을 가져옵니다.
GET
/pools/<pool>/projects /<project>/usage/groups/<group>
지정된 그룹에 대한 프로젝트 사용량을 가져옵니다.
GET
/pools/<pool>/projects /<project>/usage/users
프로젝트 사용자 사용량을 가져옵니다.
GET
/pools/<pool>/projects /<project>/usage/users/<user>
지정된 사용자에 대한 프로젝트 사용량을 가져옵니다.

다음 표는 프로젝트 리소스 내에 있는 편집 가능한 등록 정보의 목록을 보여 줍니다.

표 12-4  프로젝트 등록 정보
유형
이름
설명
string
aclinherit
ACL 상속 동작("discard", "noallow", "restricted", "passthrough" "passthrough-x")
string
aclmode
모드 변경 시 ACL 동작("discard", "mask", "passthrough")
boolean
atime
읽기 시 액세스 시간 업데이트 플래그
string
canonical_name
표준 이름
string
checksum
블록 체크섬("fletcher2", "fletcher4", "sha256")
string
compression
데이터 압축 설정("off", "lzjb", "gzip-2", "gzip", "gzip-9")
number
copies
추가 복제 복사본 수
datetime
creation
프로젝트(또는 LUN, 파일 시스템) 생성 날짜 및 시간
boolean
dedup
데이터 중복 플래그
string
default_group
프로젝트 기본 파일 시스템 그룹: "other"
string
default_permissions
프로젝트 기본 파일 시스템 권한 "700"
boolean
default_sparse
프로젝트 기본 LUN 스파스 데이터 플래그
string
default_user
프로젝트 기본 파일 시스템 사용자: "nobody"
number
default_volblocksize
프로젝트 기본 LUN 블록 크기: 8192
number
default_volsize
프로젝트 기본 LUN 크기
boolean
exported
내보냄 플래그
string
logbias
동기식 쓰기 바이어스("latency", "throughput")
string
mountpoint
마운트 지점 기본값 공유 "/export/proj-01"
string
name
프로젝트 이름
boolean
nbmand
비블로킹 필수 잠금 플래그
boolean
nodestroy
삭제 금지 플래그
number
quota
바이트 단위의 프로젝트 쿼터 크기
string
origin
원점 복제
string
pool
풀 이름
boolean
readonly
데이터는 true로 설정된 경우 읽기 전용임
string
recordsize
데이터베이스 레코드 크기 "128k"
number
reservation
데이터 예약 크기
boolean
rstchown
소유권 변경 제한 플래그
string
secondarycache
보조 캐시 사용량("all", "metadata", "none")
string
sharedav
HTTP 공유("off", "rw", "ro")
string
shareftp
FTP 공유("off", "rw", "ro")
string
sharenfs
NFS 공유("off", "on", "ro", "rw")
string
sharesftp
SFTP 공유("off", "rw", "ro")
string
sharesmb
SMB/CIFS 공유("off", "rw", "ro")
string
sharetftp
TFTP 공유("off", "rw", "ro")
string
snapdir
.zfs/스냅샷 가시성("hidden", "visible")
string
snaplabel
예약된 스냅샷 레이블
boolean
vscan
바이러스 검사 플래그

프로젝트 나열

이 명령은 지정된 풀의 모든 프로젝트를 나열합니다. 반환된 각 프로젝트는 위에 나열된 수정 가능한 등록 정보 목록은 물론 풀 이름, 생성 시간, 로딩 상태, 복제 작업 및 데이터 사용량도 포함합니다.

질의 매개변수 필터 – 프로젝트 내의 등록 정보가 해당 값 안에 동일한 필터 문자열을 포함하도록 요구하는 단순한 문자열 일치 필터입니다.

표 12-5  URI 매개변수
매개변수
설명
pool
스토리지 풀 이름

요청 예:

GET /api/storage/v1/pools/gold/projects HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

get에 성공하면 JSON 형식의 프로젝트 등록 정보 배열과 함께 HTTP 코드 200(OK)이 반환됩니다.

결과 예:

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

{
    “projects”: [{
        “name”: “proj-01”,
        ...
    }, {
        “name”: “proj-02”,
        ...
    }
}

모든 풀의 모든 프로젝트 목록도 지원됩니다. URI는 /projects 경로만 포함합니다.

"backup"을 해당 등록 정보의 일부로 사용하여 모든 프로젝트를 가져오는 요청의 예:

GET /projects?filter=backup HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

프로젝트 등록 정보 가져오기

이 명령은 지정된 풀의 단일 프로젝트에 대한 등록 정보를 나열합니다. 성공한 get은 JSON 형식의 프로젝트 등록 정보와 함께 HTTP 코드 200(OK)을 반환합니다.

표 12-6  프로젝트 URI 매개변수 가져오기
매개변수
설명
pool
스토리지 풀 이름
project
프로젝트 이름

"gold" 풀에 이름이 "proj-01"인 프로젝트를 나열하는 요청의 예:

GET /api/storage/v1/pools/gold/projects/proj-01 HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

응답 예:

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

{
    "project": {
        "default_volblocksize": 8192.0,
        "logbias": "latency",
        "creation": "20130411T20:02:35",
        "nodestroy": false,
        "dedup": false,
        "sharenfs": "on",
        "sharesmb": "off",
        "default_permissions": "700",
        "mountpoint": "/export",
        "snaplabel": "",
        "id": "042919bb-0882-d903-0000-000000000000",
        "readonly": false,
        "rrsrc_actions": [],
        "compression": "off",
        "sharetftp": "",
        "default_sparse": false,
        "snapdir": "hidden",
        "aclmode": "discard",
        "copies": 1,
        "aclinherit": "restricted",
        "shareftp": "",
        "canonical_name": "gold/local/default",
        "recordsize": 131072.0,
        "usage": {
            "available": 1758424767306.0,
            "loading": false,
            "quota": 0.0,
            "snapshots": 0.0,
           "compressratio": 100.0,
           "child_reservation": 0.0,
           "reservation": 0.0,
           "total": 45960.0,
            "data": 45960.0
        },
        "default_volsize": 0.0,
        "secondarycache": "all",
        "collection": "local",
        "exported": true,
        "vscan": false,
        "reservation": 0.0,
        "atime": true,
        "pool": "gold",
        "default_user": "nobody",
        "name": "default",
        "checksum": "fletcher4",
        "default_group": "other",
        "sharesftp": "",
        "nbmand": false,
        "sharedav": "",
        "rstchown": true
    }
}

프로젝트 만들기

프로젝트 만들기 명령은 지정된 스토리지 풀에 있는 지정된 이름의 프로젝트를 만듭니다. 기본 등록 정보가 지정된 새 프로젝트가 반환됩니다.

표 12-7  URI 매개변수
매개변수
설명
pool
스토리지 풀 이름

JSON 본문 요청 매개변수:

이름이 "proj-01"인 프로젝트를 만드는 요청의 예:

POST /api/storage/v1/pools/gold/projects HTTP/1.1
Hosta: zfs-storage.example.com
Content-Type: application/json
Accept: application/json

{
    “name”: “proj-01”,
    “sharenfs”: “ro”
}

성공한 만들기는 새 프로젝트의 URI를 포함하는 위치 헤더와 함께 HTTP 상태 201(Created)을 반환합니다. 본문은 JSON 형식의 모든 프로젝트 등록 정보를 포함합니다.

결과 예:

HTTP/1.1 201 Created
Content-Type: application/json
Location: http://zfs-storage.example.com:215
          /pools/gold/projects/proj-01

{
    “project”: {
        “name”: “proj-01”,
        "href": "/api/storage/v1/pools/gold/projects/proj-01",
        “mountpoint”: “/export/acme/gold”,
        ...
    }
}

프로젝트 수정

프로젝트 수정 명령은 기존 프로젝트의 속성을 변경합니다.

표 12-8  URI 매개변수
매개변수
설명
pool
스토리지 풀 이름
project
프로젝트 이름

요청 매개변수 - 프로젝트 등록 정보 – 프로젝트 등록 정보를 새 프로젝트의 초기 값으로 설정할 수 있습니다.

프로젝트 이름을 "proj-01"에서 "new-name"으로 변경하는 요청의 예:

POST /api/storage/v1/pools/gold/projects/proj-01 HTTP/1.1
Host: zfs-storage.example.com
Content-Type: application/json
Accept: application/json

{
    “name”: “new-name”,
    “sharenfs”: “rw”,
    “compression”: “gzip-9”
}

성공한 응답은 HTTP 상태 202(Accepted)를 반환하고 모든 프로젝트 등록 정보를 나열합니다.

응답 예:

HTTP/1.1 201 Created
Content-Type: application/json
Location: /api/storage/v1/pools/gold/projects/new-name

{
    “project”: {
        “name”: “new-name”,
        “sharenfs”: “rw”,
        “compression: “gzip-9”,
         ...
    }
}

프로젝트 삭제

프로젝트 삭제 명령은 지정된 풀의 단일 프로젝트를 제거합니다.

표 12-9  URI 매개변수
매개변수
설명
pool
스토리지 풀 이름
project
프로젝트 이름

요청 예:

DELETE /api/storage/v1/pools/gold/projects/proj-01 HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

프로젝트 사용량

Get 요청 프로젝트 사용량 리소스를 통해 프로젝트에 대해 사용자별 또는 그룹별로 사용량 데이터를 가져올 수 있습니다.