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

인쇄 보기 종료

업데이트 날짜: 2016년 9월
 
 

파일 시스템 작업

파일 시스템 작업은 파일 시스템 공유를 나열하고 관리합니다. 모든 명령의 범위는 지정된 스토리지 풀 또는 프로젝트로 지정됩니다.

{service_uri}/pools/{pool}/project/{project}
표 70  파일 시스템 명령
요청
경로 /api/storage/v1
설명
GET
/filesystems
모든 파일 시스템을 나열합니다.
GET
/pools/<pool>/projects /<project>/filesystems
파일 시스템 나열
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>
파일 시스템 세부정보를 가져옵니다.
POST
/pools/<pool>/projects /<project>/filesystems
파일 시스템을 만듭니다.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>
파일 시스템을 수정합니다.
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>
파일 시스템을 삭제합니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups
파일 시스템 그룹 사용량을 가져옵니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups /<group>
지정된 그룹에 대한 파일 시스템 사용량을 가져옵니다.
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups
파일 시스템 그룹 쿼터를 만듭니다.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups /<name>
파일 시스템 그룹 쿼터를 수정합니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users
파일 시스템 사용자 사용량을 가져옵니다.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users /<user>
지정된 사용자에 대한 파일 시스템 사용량을 가져옵니다.
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users
파일 시스템 사용자 쿼터를 만듭니다.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users /<name>
파일 시스템 사용자 쿼터를 수정합니다.

각 파일 시스템은 프로젝트의 등록 정보를 포함하고 있으며 다음 파일 시스템별 등록 정보도 포함하고 있습니다.

표 71  파일 시스템 등록 정보
유형
이름
설명
string
casesensitivity
대소문자 구분 설정("mixed", “sensitive” 또는 “insensitive”)
string
group
그룹 이름
string
normalization
정규화
string
permissions
파일 시스템 권한
string
project
프로젝트 이름
boolean
quota_snap
쿼터에 스냅샷을 포함하는 플래그
boolean
reservation_snap
예약에 스냅샷을 포함하는 플래그
string
shadow
데이터 마이그레이션 소스
string
sharesmb_name
SMB 공유의 이름
object
source
프로젝트 상속 등록 정보
object
usage
파일 시스템 사용량 정보
string
user
공유를 소유하는 사용자 이름
boolean
utf8only
비UTF-8을 거부하는 플래그

파일 시스템 나열

파일 시스템 나열 명령은 지정된 풀 또는 프로젝트의 모든 파일 시스템을 표시합니다.

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

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

요청 예:

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

성공한 요청은 JSON 형식의 파일 시스템 등록 정보 배열과 함께 HTTP 상태 200(OK)을 반환합니다.

결과 예:

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

{
    “filesystems”: [{
        “name”: “filesystem-01”,
        “project”: “proj-01”,
        “pool”: “gold”,
        ...
    }, {
        “name”: “filesystem-02”,
        “project”: “proj-01”,
        “pool”: “gold”,
        ...
    }]
}

모든 풀 및 프로젝트의 모든 파일 시스템 목록도 지원됩니다. 이 경우 URI는 /api/storage/v1/filesystems가 됩니다.

"abcd" 문자열을 해당 등록 정보의 일부로 사용하여 모든 파일 시스템을 가져오는 요청의 예:

GET /api/storage/v1/filesystems?filter=abcd HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

파일 시스템 가져오기

파일 시스템 가져오기 명령은 지정된 풀 또는 프로젝트의 단일 파일 시스템 등록 정보를 반환합니다.

표 73  URI 매개변수
매개변수
설명
pool
스토리지 풀 이름
project
프로젝트 이름
filesystem
파일 시스템 이름

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

GET /api/storage/v1/pools/gold/projects/proj-01 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

{
    "filesystem": {
        "logbias": "latency",
        "creation": "20130423T21:30:34",
        "nodestroy": false,
        "dedup": false,
        "sharenfs": "on",
        "sharesmb": "off",
        "mountpoint": "/export/grape",
        "snaplabel": "",
        "id": "424ca2ec-b3fa-df86-0000-000000000000",
        "readonly": false,
        "rrsrc_actions": [],
        "compression": "off",
        "sharetftp": "",
        "source": {
            "logbias": "default",
            "dedup": "default",
            "sharenfs": "inherited",
            "sharesmb": "off",
            "mountpoint": "inherited",
            "rrsrc_actions": "local",
            "compression": "default",
            "sharetftp": "inherited",
            "snapdir": "default",
            "aclmode": "default",
            "copies": "default",
            "aclinherit": "default",
            "shareftp": "inherited",
            "readonly": "default",
            "secondarycache": "default",
            "exported": "inherited",
            "vscan": "default",
            "reservation": "local",
            "atime": "default",
            "recordsize": "default",
            "checksum": "inherited",
            "sharesftp": "inherited",
            "nbmand": "default",
            "rstchown": "default"
        },
        "snapdir": "hidden",
        "aclmode": "discard",
        "copies": 1,
        "aclinherit": "restricted",
        "shareftp": "",
        "canonical_name": "platinum/local/default/grape",
        "recordsize": 131072.0,
        "usage": {
            "available": 880395477504.0,
            "loading": false,
            "quota": 0.0,
            "snapshots": 18432.0,
            "compressratio": 100.0,
            "reservation": 0.0,
            "total": 50176.0,
            "data": 31744.0
        },
        "secondarycache": "all",
        "collection": "local",
        "exported": true,
        "vscan": false,
        "reservation": 0.0,
        "shadow": "none",
        "atime": true,
        "pool": "platinum",
        "quota_snap": true,
        "name": "grape",
        "checksum": "fletcher4",
        "project": "default",
        "sharesftp": "",
        "nbmand": false,
        "reservation_snap": true,
        "sharedav": "",
        "rstchown": true
    }
}

파일 시스템 만들기

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

표 74  URI 매개변수
매개변수
설명
pool
스토리지 풀 이름
project
프로젝트 이름
filesystem
파일 시스템 이름

요청 매개변수:

  • name - 새 파일 시스템을 만들려면 파일 시스템 이름을 제공해야 합니다.

  • filesystem properties – 파일 시스템 등록 정보 또는 프로젝트 등록 정보에 나열된 등록 정보를 초기 값으로 설정할 수 있습니다.

이름이 "share-01"이고 사용자 "joe"가 소유한 파일 시스템을 만드는 요청의 예:

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

{
    “name”: “share-01”,
    “owner”: “joe”
}

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

응답 예:

HTTP/1.1 201 Created
Content-Type: application/json
Location: /api/storage/v1/pools/gold/projects/proj-01/filesystems/share-01

{
    “filesystem”: {
        “name”: “share-01”,
        “pool”: “gold”,
        “collection”: “local”,
        “project”: “proj-01”,
        “owner”: “joe”
        ...
    }
}

파일 시스템 수정

파일 시스템 수정 명령은 기존 파일 시스템의 속성을 변경합니다. 성공한 응답은 HTTP 상태 202(Accepted)를 반환하고 모든 파일 시스템 등록 정보를 나열합니다.

요청 매개변수 - 파일 시스템 등록 정보 – 파일 시스템 또는 프로젝트 등록 정보를 수정할 수 있습니다.

표 75  URI 매개변수
매개변수
설명
pool
스토리지 풀 이름
project
프로젝트 이름
filesystem
파일 시스템 이름

파일 시스템 이름을 "share-01"에서 "new-name"으로 변경하고 소유자를 "nobody"로 변경하는 요청의 예:

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

{
    “name”: “new-name”,
    “owner”: “nobody”,
}

응답 예:

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: http://zfs-storage.example.com:215
          /pools/gold/projects/proj-01/filesystems/share-01

{
    “filesystem”: {
        “name”: “new-name”,
        “pool”: “gold”,
        “collection”: “local”,
        “project”: “proj-01”,
        “owner”: “nobody”
        ...
    }
}

파일 시스템 삭제

파일 시스템 삭제 명령은 지정된 풀 또는 프로젝트의 단일 파일 시스템을 제거합니다.

표 76  URI 매개변수
매개변수
설명
pool
스토리지 풀 이름
project
프로젝트 이름
filesystem
파일 시스템 이름

요청 예:

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

성공한 삭제는 HTTP 상태 204(No Content)를 반환합니다.

응답 예:

HTTP/1.1 204 No-Content

파일 시스템 쿼터 및 사용량

사용자 또는 그룹 쿼터는 각각 POST 또는 PUT 요청을 사용하여 만들거나 수정할 수 있습니다. 파일 시스템 사용 리소스에 대한 GET 요청은 프로젝트에 대한 사용자당 또는 그룹당 사용량 데이터를 가져오는 데 사용됩니다.