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

인쇄 보기 종료

업데이트 날짜: 2016년 9월
 
 

LUN 작업

모든 LUN 또는 볼륨 작업의 범위는 지정된 풀 또는 프로젝트로 지정됩니다. 다음 LUN 명령을 사용할 수 있습니다.

표 77  볼륨 명령
요청
경로 /api/storage/v1
설명
GET
/luns
모든 LUNS를 나열합니다.
GET
/pools/<pool>/projects /<project>/luns
LUNS를 나열합니다.
GET
/pools/<pool>/projects /<project>/luns/<lun>
LUN 세부정보를 가져옵니다.
POST
/pools/<pool>/projects /<project>/luns
LUN을 만듭니다.
PUT
/pools/<pool>/projects /<project>/luns/<lun>
LUN을 수정합니다.
DELETE
/pools/<pool>/projects /<project>/luns/<lun>
LUN을 삭제합니다.

다음 표에는 LUN 등록 정보가 나와 있습니다. 또한 볼륨은 프로젝트 등록 정보를 상속하거나 대체할 수 있습니다.

표 78  볼륨 등록 정보
유형
이름
설명
string
assignednumber
지정된 LU 번호
boolean
fixednumber
LU 번호를 현재 값에 고정하는 플래그
string
initiatorgroup
개시자 그룹
string
lunguid
STMF GUID
string
lunnumber
LU 번호 번호 또는 "auto"
string
project
프로젝트 이름(변경할 수 없음)
object
source
등록 정보의 소스("local", "inherited") 나열
boolean
sparse
Thin 프로비저닝을 사용으로 설정하는 플래그
string
status
논리 장치 상태("online", "offline")
string
targetgroup
대상 그룹
object
usage
LUN 사용량 통계 나열
number
volblocksize
볼륨 블록 크기
number
volsize
볼륨 크기
boolean
writecache
쓰기 캐시를 사용으로 설정하는 플래그

프로젝트에서 일부 등록 정보가 상속될 수 있습니다. 소스 객체는 이러한 등록 정보를 각각 나열하고 해당 등록 정보가 LUN에 "로컬"인지, 아니면 프로젝트에서 "상속되는지"를 식별합니다. 기본적으로 이러한 등록 정보는 프로젝트에 의해 상속됩니다. 이러한 등록 정보가 설정되면 해당 등록 정보가 LUN에 로컬입니다. 소스 객체는 변경할 수 없습니다. 소스를 다시 상속됨으로 변경하려면 등록 정보가 "unset"일 수 있습니다.

압축을 설정 해제하는 JSON 요청의 예:

{"unset": ["compression"]}

LUNS를 나열합니다.

luns 나열 명령은 지정된 풀 또는 프로젝트에서 사용할 수 있는 LUNS 목록을 반환합니다.

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

프로젝트 "proj-01" 내에서 LUNS를 나열하는 요청의 예:

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

성공한 get은 JSON 형식의 LUN 등록 정보와 함께 HTTP 상태 200(OK)을 반환합니다.

응답 예:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "luns": [{
        "id": "fa4ac6fb-0bcc-d2e3-0000-000000000000",
        “name”: “vol-01”
        ...
    }, {
         "id": "690ae407-7c4d-b5d2-0000-000000000000",
         “name”: “vol-01”,
         ....
    }]
}

LUN 가져오기

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

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

이름이 "vol-01"인 LUN을 가져오는 요청의 예:

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

성공한 get은 JSON 형식의 LUN 등록 정보와 함께 HTTP 상태 200(OK)을 반환합니다.

응답 예:

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

{
    “lun”: {
        "logbias": "latency",
        "creation": "20130423T21:31:17",
        "nodestroy": false,
        "dedup": false,
        "rrsrc_actions": [],
        "id": "e3045406-319b-cf7a-0000-000000000000",
        "writecache": false,
        "compression": "off",
        "copies": 1,
        "stmfguid": "600144F0D8E0AE4100005176FDA60001",
        "source": {
            "compression": "default",
            "checksum": "inherited",
            "logbias": "default",
            "dedup": "default",
            "copies": "default",
            "exported": "inherited",
            "rrsrc_actions": "inherited",
            "secondarycache": "default"
        },
        "canonical_name": "platinum/local/default/disk1",
        "snaplabel": "",
        "usage": {
            "available": 881469214720.0,
            "loading": false,
            "snapshots": 0.0,
            "compressratio": 100.0,
            "total": 1073758208.0,
            "data": 1073758208.0
        },
        "secondarycache": "all",
        "collection": "local",
        "exported": true,
        "volsize": 1073741824.0,
        "pool": "platinum",
        "volblocksize": 8192,
        "checksum": "fletcher4",
        "project": "default",
        "sparse": false
    }
}

새 LUN 만들기

이 명령은 새 LUN을 만듭니다. 새 LUN에 대한 크기 또는 복제 소스를 제공해야 합니다.

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

요청 매개변수:

  • name - 새 LUN을 만들려면 새 LUN 이름을 제공해야 합니다.

  • volume properties – LUN 등록 정보 또는 프로젝트 등록 정보에 나열된 등록 정보를 초기 값으로 설정할 수 있습니다.

요청 예:

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

Request JSON:
{
        name : "vol-001",           // Volume name (required)

        size : 500000,              // New Volume size
        blocksize : 8192,           // New Volume block size
        sparse : true,              // New Volume sparse data flag

        initiatorgroup : 'default', // Initiator group name
        targetgroup : 'default',    // Target group name
        lunnumber : 'auto',         // Volume LUN number
        status : 'online',          // Initial Status ('online', 'offline')
        fixednumber : false,

        "source": {
            "snapshot_id" : "76b8950a-8594-4e5b-8dce-0dfa9c696358",
            "snapshot": "/pool-001/local/proj-001/snap-001"
        }
}

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

결과 예:

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

{
    “lun”: {
        "name": "vol-001",
        ...
    }
}

LUN 수정

LUN 수정 명령은 기존 LUN의 속성을 변경합니다.

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

요청 매개변수 - 볼륨 등록 정보 – LUN 또는 프로젝트 등록 정보를 수정할 수 있습니다.

LUN 이름을 "vol-01"에서 "new-name"으로 변경하는 요청의 예:

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

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

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

응답 예:

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

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

Lun 삭제

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

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

요청 예:

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

성공한 get은 HTTP 상태 204(No Content)를 반환합니다.

응답 예:

HTTP/1.1 204 No-Content