Todas las operaciones de instantáneas se pueden acotar a una agrupación o a un proyecto determinados. Las operaciones de instantáneas también se pueden acotar a un sistema de archivos o nivel LUN.
El URI para todas las operaciones de instantáneas basadas en proyectos comienza con: /api/storage/v1/pools/{pool}/projects/{project}
El URI para todas las operaciones de instantáneas basadas en sistemas de archivos comienza con: /api/storage/v1/pools/{pool}/projects/{project}/filesystems/{filesystem}
El URI para todas las operaciones de instantáneas basadas en LUN comienza con: /api/storage/v1/pools/{pool}/projects/{project}/luns/{lun}
|
Mostrar las instantáneas disponibles en un dispositivo. Según el URI solicitado, la lista contiene instantáneas del proyecto, del sistema de archivos o del LUN.
|
Ejemplo de solicitud:
GET /api/storage/v1/pools/gold/projects/default/snapshots Accept: application/json
Ejemplo de respuesta:
HTTP/1.1 200 OK Content-Type: application/json { "snapshots": [{ "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5", "display_name": "snap-001", “display_description": "Daily backup", "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c", "status": "available", "size": 30, "created_at": "2012-02-29T03:50:07Z" }, { "id": "e479997c-650b-40a4-9dfe-77655818b0d2", "display_name": "snap-002", "display_description": "Weekly backup", "volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358", "status": "available", "size": 25, "created_at": "2012-03-19T01:52:47Z" }] }
Ver toda la información acerca de una sola instantánea. Devuelve HTTP Status 200 (OK) (estado HTTP 200 [correcto]) cuando la solicitud es correcta.
Ejemplo de solicitud:
GET /api/storage/v1/pools/gold/projects/default/snapshots/snap-001 Accept: application/json
Ejemplo de respuesta:
HTTP/1.1 200 OK Content-Type: application/json { "snapshot": { "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5", "display_name": "snap-001", "display_description": "Daily backup", "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c", "status": "available", "size": 30, "created_at": "2012-02-29T03:50:07Z" } }
El comando crear solicitud crea instantáneas para proyectos, sistemas de archivos, o LUN.
Crear instantánea de proyecto - POST /pools/{pool}/projects/{project}/snapshots
Crear instantánea de sistema de archivos - POST /pools/{pool}/projects/{project}/filesystems/{share}/snapshots
Crear instantánea de volumen - POST /pools/{pool}/projects/{project}/luns/{lun}/snapshots
Ejemplo de solicitud:
POST /api/storage/v1/pools/gold/projects/default/snapshots Content-Type: application/json {"name": "initial-backup"}
Ejemplo de respuesta:
HTTP/1.1 201 Created Content-Type: application/json Location: /pools/gold/projects/default/ snapshot/initial-backup { "snapshot": { "name": "initial-backup", "numclones": 0, "creation": "20130610T21:00:49", "collection": "local", "project": "default", "canonical_name": "gold/local/default@initial-backup", "usage": { "unique": 0.0, "loading": false, "data": 145408.0 }, "type": "snapshot", "id": "a26abd24-e22b-62b2-0000-000000000000", "pool": "gold" } }
Cambia el nombre de una instantánea existente.
Solicitar URI: instantánea, el nombre de la instantánea actual
Cuerpo de la solicitud: objeto de JSON con parámetro de nombre que contiene el nombre de una instantánea nueva
Ejemplo de solicitud:
PUT /api/storage/v1/pools/gold/projects/default/snapshots/initial-snapshot Content-Type: application/json Accept: application/json {“name”:”old-snapshot”}
Ejemplo de respuesta:
HTTP/1.1 202 Accepted Content-Type: application/json Location: /pools/gold/projects/default/snapshot/initial-backup
Crear un sistema de archivos o LUN nuevo a partir de una instantánea existente.
Solicitar sistema de archivos de clonación de URI:
PUT /pools/{pool}/projects/{project}/filesystems/{share}/snapshots/{snap}/clone
Clonar volumen:
PUT /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot}/clone
|
El cuerpo de la solicitud contiene un objeto de JSON con las siguientes propiedades.
|
Ejemplo de solicitud:
PUT /api/storage/v1/pools/gold/projects/default/filesystems/fs01/ snapshots/snap01/clone {"project":"rest", "share":"snap01clone01", "compression": "gzip-9"}
Ejemplo de respuesta:
HTTP/1.1 201 Created Content-Length: 2035 X-Zfssa-Storage-Api: 1.0 Location: /api/storage/v1/pools/gold/projects/rest/filesystem/snap01clone01 Content-Type: application/json; charset=utf-8 { "filesystem": { "origin": { "project": "default", "share": "fs01", "snapshot": "snap01", "pool": "gold", "collection": "local" }, "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone01", "mountpoint": "/export/snap01clone01", "compression": "gzip-9", "source": { "compression": "local", ... }, ... "canonical_name": "gold/local/rest/snap01clone01" } }
La opción Revestir instantánea hace que el sistema de archivos o el LUN de origen vuelvan al estado que tenían en el momento en el que se tomó la instantánea. La respuesta satisfactoria devuelve HTTP Status 202 (Accepted) (estado HTTP 202 [aceptado]) además de las propiedades de la instantánea en formato JSON.
Revertir una instantánea del sistema de archivos:
PUT /pools/{pool}/projects/{project}/filesystems/{share}/snapshots/{snap}/rollback
Revertir una instantánea del LUN:
PUT /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot}/rollback
|
Ejemplo de solicitud:
PUT /api/storage/v1/pools/gold/projects/default/filesystems/fs-01 /snapshots/initial-backup/rollback
Ejemplo de respuesta:
HTTP/1.1 202 Accepted Location: /pools/gold/projects/default/filesystems/fs-01/snapshot/fs-01-initial-clone Content-Type: application/json { "snapshot": { "name": "fs-01-initial-clone", "numclones": 0, "creation": "20130610T21:00:49", "filesystem": "fs-01", "collection": "local", "project": "default", "canonical_name": "gold/local/default/ fs-01@fs-01-initial-clone", "usage": { "unique": 0.0, "loading": false, "data": 31744.0 }, "type": "snapshot", "id": "5c9bda07-21c1-2238-0000-000000000000", "pool": "gold" } }
El comando DELETE para instantáneas suprime del sistema una instantánea de LUN, de proyecto o de sistema de archivos.
|
|
Si la instantánea tiene una retención de NDMP, se debe agregar ?confirm=true al comando DELETE. No obstante, tenga en cuenta que este procedimiento podría afectar de manera negativa el funcionamiento del NDMP. Para obtener más información, consulte Configuración de NDMP de Guía de administración de Oracle ZFS Storage Appliance (versión OS8.7.0).
Ejemplo
DELETE /pools/gold/projects/default/filesystems/fs-01/snapshots/initial-backup?confirm=true
Si no se agrega ?confirm=true cuando existe una retención de NDMP en la instantánea, el comando falla y muestra la siguiente salida:
HTTP/1.1 409 Conflict
{"fault": {"message": "request requires confirm=true to complete (confirmation needed for scripted command(scripted commands must be prefixed with \"confirm\" to automatically confirm or \"deny\" to automatically deny) (encountered while attempting to run command \"confirm destroy snap\"))", "code": 409, "name": "ERR_CONFIRM_REQUIRED"}}
Mostrar los dependientes de un sistema de archivos o de un volumen.
|
|
Ejemplo de solicitud:
GET /api/storage/v1/pools/gold/projects/default/filesystems/fs01/snapshots/snap01/dependents Accept: application/json
Ejemplo de respuesta:
HTTP/1.1 200 OK X-Zfssa-Storage-Api: 1.0 Content-Type: application/json; charset=utf-8 X-Zfssa-Api-Version: 1.0 { "dependents": [ { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone01", "share": "snap01clone01" }, { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone02", "share": "snap01clone02" }, { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone03", "share": "snap01clone03" } ] }