Omitir vínculos de navegación | |
Salir de la Vista de impresión | |
![]() |
Guía de API de RESTful de Oracle® ZFS Storage Appliance, versión 2013.1.3.0 |
Introducción a la API de RESTful de Oracle ZFS Storage Appliance
Servicio de alertas de la API de RESTful
Servicio de problemas de la API de RESTful
Servicio de rol de la API de RESTful
Servicio de SAN de la API de RESTful
Servicio de almacenamiento de la API de RESTful
Operaciones de la agrupación de almacenamiento
Agregar almacenamiento a una agrupación
Obtener propiedades del proyecto
Operaciones del sistema de archivos
Cuota y uso del sistema de archivos
Operaciones de clonación e instantánea
Cambiar el nombre de la instantánea
Mostrar dependientes de la instantánea
Obtener servicio de replicación
Modificar el estado del servicio de replicación
Mostrar destinos de replicación
Obtener destino de replicación
Suprimir destino de replicación
Mostrar acciones de replicación
Modificar acción de replicación
Suprimir una acción de replicación
Mostrar fuentes de replicación
Mostrar paquetes de replicación
Todas las operaciones del LUN o de se pueden acotar a una agrupación o a un proyecto determinados. Los siguientes comandos del LUN están disponibles.
|
La tabla siguiente muestra las distintas propiedades del LUN: Los volúmenes también pueden heredar o anular las propiedades del proyecto.
|
Algunas propiedades se pueden heredar del proyecto. El objeto de origen muestra cada una de esas propiedades e identifica si la propiedad es "local" para el LUN o "inherited" del proyecto. De forma predeterminada, estas propiedades se heredan del proyecto. Una vez que se configuran, son locales para el LUN. El objeto de origen es inmutable. Para volver a cambiar el origen a heredado, las propiedades se pueden "unset".
Ejemplo de solicitud JSON para anular la compresión:
{"unset": ["compression"]}
El comando mostrar LUN devuelve las propiedades de los LUN disponibles en una agrupación o en un proyecto determinados.
|
Ejemplo de solicitud (para mostrar los LUN dentro del proyecto "proj-01"):
GET /api/storage/v1/pools/gold/projects/proj-01/luns HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Un comando get correcto devuelve HTTP Status 200 (OK) (estado HTTP 200 [correcto]) junto con las propiedades del LUN en formato JSON.
Ejemplo de respuesta:
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”, .... }] }
El comando obtener LUN devuelve las propiedades de un solo LUN en una agrupación o en un proyecto determinados.
|
Ejemplo de solicitud (para obtener un LUN denominado "vol-01"):
GET /api/storage/v1/pools/gold/projects/proj-01/lun/vol-01 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Un comando get correcto devuelve HTTP Status 200 (OK) (estado HTTP 200 [correcto]) junto con las propiedades del LUN en formato JSON.
Ejemplo de respuesta:
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 } }
Este comando crea un LUN nuevo. Debe suministrar un tamaño o un origen de clonación para el LUN nuevo.
|
Solicitar parámetros:
name: se debe suministrar el nombre del LUN para crear un nuevo LUN.
volume properties: cualquiera de las propiedades detalladas en las propiedades del LUN o del proyecto se pueden configurar como valores iniciales.
Ejemplo de solicitud:
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" } }
La creación satisfactoria devuelve el estado HTTP Status 201 (Created) (HTTP 201 [creado]) con el encabezado de ubicación que contiene el LUN del sistema de archivos nuevo. El cuerpo contiene todas las propiedades del LUN en formato JSON.
Ejemplo de resultados:
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", ... } }
El comando de modificación de LUN cambia los atributos de un LUN existente.
|
Solicitar parámetros (propiedades de volumen): se puede modificar cualquiera de las propiedades del LUN o del proyecto.
Ejemplo de solicitud (para cambiar el nombre de un LUN de "proj-01" a "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”, }
La respuesta satisfactoria devuelve HTTP Status 202 (Accepted) (estado HTTP 202 [aceptado]) y muestra todas las propiedades del LUN.
Ejemplo de respuesta:
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”, ... } }
El comando suprimir LUN elimina un solo LUN de una agrupación o un proyecto determinados.
|
Ejemplo de solicitud:
DELETE /pools/gold/projects/proj-01/luns/lun-01 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Un comando get correcto devuelve HTTP Status 204 (No Content) (estado HTTP 204 [sin contenido]).
Ejemplo de respuesta:
HTTP/1.1 204 No-Content