Go to main content
Guía de API de RESTful de Oracle® ZFS Storage Appliance (versión OS8.7.0)

Salir de la Vista de impresión

Actualización: Marzo de 2017
 
 

Operaciones de clonación e instantánea

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}

Tabla 84  Comandos de clonación e instantánea
Solicitud
Ruta /api/storage/v1
Descripción
GET
/snapshots
Mostrar todas las instantáneas locales.
GET
/pools/<pool>/projects /<project>/snapshots
Mostrar todas las instantáneas del proyecto.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots
Mostrar todas las instantáneas del sistema de archivos.
GET
/pools/<pool>/projects /<project>/luns/<lun> /snapshots
Mostrar todas las instantáneas del LUN.
GET
/pools/<pool>/projects /<project>/snapshots/<snapshot>
Obtener detalles de la instantánea del proyecto.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
Obtener detalles de la instantánea del sistema de archivos.
GET
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
Obtener detalles de la instantánea del LUN.
POST
/pools/<pool>/projects /<project>/snapshots
Crear una instantánea del proyecto.
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots
Crear una instantánea del sistema de archivos.
POST
/pools/<pool>/projects /<project>/luns/<lun> /snapshots
Crear una instantánea del LUN.
PUT
/pools/<pool>/projects /<project>/snapshots/<snapshot>
Modificar una instantánea del proyecto.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
Modificar una instantánea de un sistema de archivos.
PUT
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
Modificar una instantánea del LUN.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/clone
Clonar una instantánea del sistema de archivos.
PUT
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>/clone
Clonar una instantánea del LUN.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/rollback
Revertir datos hasta la instantánea del sistema de archivos por defecto.
PUT
/pools/<pool>/projects /<project>/lun/<lun> /snapshots/<snapshot>/rollback
Revertir datos hasta la instantánea del LUN por defecto.
DELETE
/pools/<pool>/projects /<project>/snapshots/<snapshot>
Destruir una instantánea del proyecto.
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
Destruir la instantánea de un sistema de archivos.
DELETE
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
Destruir una instantánea del LUN.
GET
/pools/<pool>/projects /<project>/snapshots/<snapshot> /dependents
Mostrar dependientes de la instantánea del proyecto.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/dependents
Mostrar dependientes de la instantánea del sistema de archivos.
GET
/pools/<pool>/projects /<project>/lun/<lun> /snapshots/<snapshot> /dependents
Mostrar dependientes de la instantánea del LUN.
POST
/pools/<pool>/projects /<project>/automatic
Crear una instantánea automática de un proyecto nuevo.
GET
/pools/<pool>/projects /<project>/automatic /<automatic>
Obtener las propiedades de la instantánea automática del proyecto especificado.
GET
/pools/<pool>/projects /<project>/automatic
Mostrar los objetos de las instantáneas automáticas de todos los proyectos.
PUT
/pools/<pool>/projects /<project>/automatic /<automatic>
Modificar el objeto de la instantánea automática del proyecto especificado.
DELETE
/pools/<pool>/projects /<project>/automatic /<automatic>
Destruir el objeto automático especificado.
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic
Crear una instantánea automática de un sistema de archivos nuevo.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
Obtener las propiedades de la instantánea automática del sistema de archivos especificado.
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic
Mostrar todos los objetos de las instantáneas automáticas del sistema de archivos.
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
Modificar el objeto de la instantánea automática del sistema de archivos especificado.
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
Destruir el objeto automático especificado.
POST
/pools/<pool>/projects /<project>/luns/<lun>/automatic
Crear una instantánea automática de un LUN nuevo.
GET
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
Obtener las propiedades de la instantánea automática del LUN especificado.
GET
/pools/<pool>/projects /<project>/luns/<lun>/automatic
Mostrar los objetos de las instantáneas automáticas de todos los LUN.
PUT
/pools/<pooll>/projects /<project>/luns/<lun>/automatic /<automatic>
Modificar el objeto de la instantánea automática del LUN especificado.
DELETE
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
Destruir el objeto automático especificado.

Mostrar instantáneas

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.

Tabla 85  Mostrar las formas de comando de la instantánea.
Comando
/api/storage/v1/pools/{pool}/projects/{project}
Mostrar las instantáneas del proyecto.
/snapshots
Mostrar las instantáneas del sistema de archivos.
/filesystems/{share}/snapshots
Mostrar instantáneas del lun.
/lun/{share}/snapshots

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

Obtener instantánea

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

Crear instantánea

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

Cambiar el nombre de la instantánea

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

Clonar instantánea

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
Tabla 86  Parámetros del URI
Parámetro
Descripción
pool
Nombre de la agrupación de origen
project
Nombre del proyecto de origen
filesystem
Nombre de recurso compartido de origen (para instantánea del sistema de archivos)
lun
Nombre de recurso compartido de origen (para instantánea del LUN)
snapshot
Nombre de la instantánea de origen

El cuerpo de la solicitud contiene un objeto de JSON con las siguientes propiedades.

Tabla 87  Propiedades de la clonación de instantáneas
Tipo
Nombre
Descripción
string
pool
Nombre de la agrupación de destino de la clonación
string
project
Nombre de la agrupación de destino del proyecto
string
lun
Nombre de LUN de destino (para instantánea del LUN)

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

Revertir instantánea

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
Tabla 88  Parámetros del URI
Parámetro
Descripción
pool
Nombre de la agrupación de origen
project
Nombre del proyecto de origen
filesystem
Nombre de sistema de archivos de origen (para instantánea del sistema de archivos)
lun
Nombre de LUN de origen (para instantánea del LUN)
snapshot
Nombre de la instantánea de origen

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

Suprimir una instantánea

El comando DELETE para instantáneas suprime del sistema una instantánea de LUN, de proyecto o de sistema de archivos.

Tabla 89  Formas de comando de supresión de instantáneas
Comando
DELETE /api/storage/v1/pools/{pool}/projects/{project}
Suprimir una instantánea de proyecto con el nombre de agrupación, el nombre de proyecto y el nombre de instantánea determinados
/snapshots/{snapshot_name}
Suprimir una instantánea de sistema de archivos con el nombre de agrupación, el nombre de proyecto y el nombre de sistema de archivos determinados
/filesystems/{share_name}/snapshots/{snapshot_name}
Suprimir un LUN de sistema de archivos con el nombre de la agrupación, el nombre del proyecto y el nombre del sistema de archivos determinados
/luns/ {lun_name}/snapshots/{snapshot_name}
Tabla 90  Parámetros del URI
Parámetro
Descripción
pool
Nombre de la agrupación de origen
project
Nombre del proyecto de origen
filesystem
Nombre de sistema de archivos de origen
lun
El nombre del LUN
snapshot
Nombre de la instantánea de origen

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

Visualización de dependientes de la instantánea

Mostrar los dependientes de un sistema de archivos o de un volumen.

Tabla 91  Mostrar las formas de comando de los dependientes de la instantánea
Comando
/api/storage/v1/pools/{pool}/projects/{project}
Mostrar los dependientes del sistema de archivos
/filesystems/{share}/snapshots/{snapshot}/dependents
Mostrar los dependientes del volumen
lun/{lun}/snapshots/{snapshot}/dependents
Tabla 92  Parámetros del URI
Parámetro
Descripción
pool
Nombre de la agrupación de almacenamiento del sistema
project
El nombre del proyecto
filesystem
El nombre del sistema de archivos
lun
El nombre del LUN

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