JavaScript is required to for searching.
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
Red de tecnología de Oracle
Biblioteca
PDF
Vista de impresión
Comentarios
search filter icon
search icon

Información del documento

Introducción a la API de RESTful de Oracle ZFS Storage Appliance

Trabajo con la API de RESTful

Servicio de alertas de la API de RESTful

Servicios de análisis

Servicios de hardware

Comandos de log

Comandos de red

Servicio de problemas de la API de RESTful

Servicio de rol de la API de RESTful

Servicio de SAN de la API de RESTful

Comandos de servicio

Servicio de almacenamiento de la API de RESTful

Operaciones de la agrupación de almacenamiento

Mostrar agrupaciones

Obtener agrupación

Configurar agrupación

Agregar almacenamiento a una agrupación

Limpieza de agrupación

Desconfigurar agrupación

Operaciones de los proyectos

Mostrar proyectos

Obtener propiedades del proyecto

Crear proyecto

Modificar proyecto

Suprimir proyecto

Uso del proyecto

Operaciones del sistema de archivos

Mostrar sistemas de archivos

Obtener sistema de archivos

Crear sistema de archivos

Modificar sistema de archivos

Suprimir sistema de archivos

Cuota y uso del sistema de archivos

Operaciones de LUN

Mostrar LUN

Obtener LUN

Crear un LUN nuevo

Modificar LUN

Suprimir Lun

Operaciones de clonación e instantánea

Mostrar instantáneas

Obtener instantánea

Crear instantánea

Cambiar el nombre de la instantánea

Clonar instantánea

Revertir instantánea

Suprimir una instantánea

Mostrar dependientes de la instantánea

Esquema

Mostrar propiedades

Obtener propiedad

Crear propiedad

Modificar propiedad

Suprimir propiedad

Replicación

Obtener servicio de replicación

Modificar el estado del servicio de replicación

Destinos de replicación

Mostrar destinos de replicación

Obtener destino de replicación

Crear destino de replicación

Suprimir destino de replicación

Acciones de replicación

Mostrar acciones de replicación

Obtener acción de replicación

Crear acción de replicación

Modificar acción de replicación

Cancelar actualización

Enviar actualización

Suprimir una acción de replicación

Paquetes de replicación

Mostrar fuentes de replicación

Mostrar paquetes de replicación

Modificar paquete

Suprimir paquete

Cancelar actualización

Clonar paquete

Cortar paquete

Invertir paquete

Comandos del sistema

Servicio de usuario de la API de RESTful

Comandos de flujo de trabajo

Clientes RESTful

Operaciones de LUN

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.

Tabla 12-17  Comandos del volumen
Solicitud
Ruta /api/storage/v1
Descripción
GET
/luns
Mostrar todos los LUN.
GET
/pools/<pool>/projects /<project>/luns
Mostrar LUN
GET
/pools/<pool>/projects /<project>/luns/<lun>
Obtener detalles del LUN.
POST
/pools/<pool>/projects /<project>/luns
Crear un LUN.
PUT
/pools/<pool>/projects /<project>/luns/<lun>
Modificar un LUN.
DELETE
/pools/<pool>/projects /<project>/luns/<lun>
Destruir un LUN.

La tabla siguiente muestra las distintas propiedades del LUN: Los volúmenes también pueden heredar o anular las propiedades del proyecto.

Tabla 12-18  Propiedades del volumen
Tipo
Nombre
Descripción
string
assignednumber
El número LU asignado
boolean
fixednumber
Marcar para corregir el número LU al valor actual
string
initiatorgroup
El grupo de iniciadores
string
lunguid
STMF GUID
string
lunnumber
El número LU. Un número o “auto”
string
project
El nombre del proyecto (inmutable)
object
source
Mostrar la fuente de las propiedades ("local", "inherited")
boolean
sparse
Marcar para activar el aprovisionamiento fino
string
status
Estado de la unidad lógica ("online", "offline")
string
targetgroup
El grupo de destinos
object
usage
Mostrar las estadísticas de uso del LUN
number
volblocksize
Tamaño del bloque de volumen
number
volsize
Tamaño del volumen
boolean
writecache
Marcar para activar la caché de escritura

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"]}

Mostrar LUN

El comando mostrar LUN devuelve las propiedades de los LUN disponibles en una agrupación o en un proyecto determinados.

Tabla 12-19  Parámetros del URI
Parámetro
Descripción
pool
Nombre de agrupación de almacenamiento
project
El nombre del proyecto

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”,
         ....
    }]
}

Obtener LUN

El comando obtener LUN devuelve las propiedades de un solo LUN en una agrupación o en un proyecto determinados.

Tabla 12-20  Parámetros del URI
Parámetro
Descripción
pool
Nombre de agrupación de almacenamiento
project
El nombre del proyecto
lun
El nombre del lun

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
    }
}

Crear un LUN nuevo

Este comando crea un LUN nuevo. Debe suministrar un tamaño o un origen de clonación para el LUN nuevo.

Tabla 12-21  Parámetros del URI
Parámetro
Descripción
pool
Nombre de agrupación de almacenamiento
project
El nombre del proyecto

Solicitar parámetros:

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",
        ...
    }
}

Modificar LUN

El comando de modificación de LUN cambia los atributos de un LUN existente.

Tabla 12-22  Parámetros del URI
Parámetro
Descripción
pool
Nombre de agrupación de almacenamiento
project
El nombre del proyecto
lun
El nombre del LUN

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”,
        ...
    }
}

Suprimir Lun

El comando suprimir LUN elimina un solo LUN de una agrupación o un proyecto determinados.

Tabla 12-23  Parámetros del URI
Parámetro
Descripción
pool
Nombre de agrupación de almacenamiento
project
El nombre del proyecto
lun
El nombre del LUN

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