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 los proyectos

Todas las operaciones de los proyectos se pueden acotar a una agrupación específica. Los comandos que funcionan a través de todos los proyectos anexan "/projects" al identificador uniforme de recursos (URI), y comandos que operan en un solo anexo de proyecto "/projects/{project}".

Tabla 12-3  Comandos del proyecto
Solicitud
Ruta /api/storage/v1
Descripción
GET
/projects
Mostrar todos los proyectos.
GET
/pools/<pool>/projects
Mostrar proyectos.
GET
/pools/<pool>/projects /<project>
Obtener detalles del proyecto.
POST
/pools/<pool>/projects
Crear un proyecto.
PUT
/pools/<pool>/projects /<project>
Modificar un proyecto.
DELETE
/pools/<pool>/projects /<project>
Destruir un proyecto.
GET
/pools/<pool>/projects /<project>/usage/groups
Obtener uso de grupo de proyectos.
GET
/pools/<pool>/projects /<project>/usage/groups/<group>
Obtener uso del proyecto para el grupo especificado.
GET
/pools/<pool>/projects /<project>/usage/users
Obtener uso usuario de proyectos.
GET
/pools/<pool>/projects /<project>/usage/users/<user>
Obtener uso del proyecto para el usuario especificado.

La tabla siguiente muestra la lista de propiedades editables dentro de un recurso de proyecto.

Tabla 12-4  Propiedades del proyecto
Tipo
Nombre
Descripción
string
aclinherit
Comportamiento de herencia de ACL ("discard", "noallow", "restricted", "passthrough" "passthrough-x").
string
aclmode
El comportamiento de ACL en cambio de modo ("discard", "mask", "passthrough").
boolean
atime
Actualizar tiempo de acceso en indicador de lectura.
string
canonical_name
Nombre canónico.
string
checksum
Bloquear total de control ("fletcher2", "fletcher4", "sha256").
string
compression
Valor de compresión de datos ("off", "lzjb", "gzip-2", "gzip", "gzip-9").
number
copies
Número de copias de replicación adicionales.
datetime
creation
Fecha y hora de creación del proyecto (o LUN, sistema de archivos).
boolean
dedup
Indicador de datos duplicados.
string
default_group
Grupo de sistema de archivos predeterminado del proyecto: "other".
string
default_permissions
Permisos del sistema de archivos predeterminados del proyecto "700".
boolean
default_sparse
Indicador de datos dispersos del LUN predeterminado del proyecto.
string
default_user
Usuario del sistema de archivos predeterminado del proyecto: "nobody".
number
default_volblocksize
Tamaño del bloque del LUN predeterminado del proyecto: 8192.
number
default_volsize
Tamaño del LUN predeterminado del proyecto.
boolean
exported
Indicador exportado.
string
logbias
Inclinación de la escritura síncrona ("latency", "throughput").
string
mountpoint
Compartir punto de montaje predeterminado "/export/proj-01".
string
name
Nombre del proyecto.
boolean
nbmand
Indicador de bloqueo obligatorio sin bloque.
boolean
nodestroy
Evitar indicador de destrucción.
number
quota
Tamaño de cuota de proyecto en bytes.
string
origin
Clonar origen.
string
pool
Nombres de las agrupaciones.
boolean
readonly
Los datos se leen solamente si se configuran en "true".
string
recordsize
Tamaño del registro de base de datos "128k".
number
reservation
Tamaño de reserva de datos.
boolean
rstchown
Restringir indicador de cambio de propiedad.
string
secondarycache
Uso de caché secundario ("all", "metadata", "none").
string
sharedav
Compartir HTTP ("off", "rw", "ro").
string
shareftp
Compartir FTP ("off", "rw", "ro").
string
sharenfs
Compartir NFS ("off", "on", "ro", "rw").
string
sharesftp
Compartir SFTP ("off", "rw", "ro").
string
sharesmb
Compartir SMB/CIFS ("off", "rw", "ro").
string
sharetftp
Compartir TFTP ("off", "rw", "ro").
string
snapdir
Visibilidad .zfs/snaphsot ("hidden", "visible").
string
snaplabel
Etiqueta de Snapshot programada.
boolean
vscan
Indicador de análisis de virus.

Mostrar proyectos

Este comando muestra todos los proyectos de una agrupación específica. Cada proyecto devuelto contiene la lista de propiedades modificables enumeradas arriba, además del nombre de la agrupación, la hora de reacción, el estado de carga, las acciones de replicación y uso de datos.

Filtro de parámetros de consulta: un filtro de coincidencia de cadenas simple que requiere una propiedad dentro del proyecto para contener la misma cadena de filtros dentro de su valor.

Tabla 12-5  Parámetros del URI
Parámetro
Descripción
pool
Nombre de agrupación de almacenamiento

Ejemplo de solicitud:

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

En un comando get correcto, se devuelve un HTTP code 200 (OK) (código HTTP 200 [correcto]) junto con una matriz de las propiedades del proyecto en formato JSON.

Resultado de ejemplo:

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

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

También se admite una lista de proyectos a través de todas las agrupaciones; la URI contendrá solamente la ruta de los proyectos.

Solicitud de ejemplo para obtener todos los proyectos con "backup" como parte de sus propiedades:

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

Obtener propiedades del proyecto

Este comando muestra las propiedades de un solo proyecto en una agrupación específica. Un comando get correcto devuelve HTTP Code 200 (OK) (código HTTP 200 [correcto]) junto con las propiedades del proyecto en formato JSON.

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

Solicitud de ejemplo para mostrar el proyecto denominado "proj-01" en la agrupación "gold":

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

Ejemplo de respuesta:

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

Crear proyecto

El comando de creación de proyecto crea un proyecto con un nombre determinado que reside en una agrupación de almacenamiento determinada. Se devuelve el proyecto nuevo con propiedades predeterminadas.

Tabla 12-7  Parámetros del URI
Parámetro
Descripción
pool
Nombre de agrupación de almacenamiento

Parámetros de solicitud del cuerpo JSON:

Ejemplo de solicitud (para crear un proyecto denominado "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”
}

La creación satisfactoria devuelve HTTP Status 201 (Created) (estado HTTP 201 [creado]) con el encabezado de ubicación que contiene el URI del proyecto nuevo. El cuerpo contiene todas las propiedades del proyecto 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

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

Modificar proyecto

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

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

Solicitar parámetros (propiedades del proyecto): cualquiera de las propiedades del proyecto se puede configurar como los valores iniciales del proyecto nuevo.

Ejemplo de solicitud (para cambiar el nombre de un proyecto de "proj-01" a "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”
}

La respuesta satisfactoria devuelve el estado HTTP Status 202 (Accepted) (HTTP 202 [aceptado]) y muestra todas las propiedades del proyecto.

Ejemplo de respuesta:

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

Suprimir proyecto

El comando suprimir proyecto elimina un solo proyecto de una agrupación determinada.

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

Ejemplo de solicitud:

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

Uso del proyecto

Los recursos de uso de proyecto de las solicitudes GET se pueden usar para obtener datos de uso por usuario o por grupo para el proyecto.