Go to main content

Guía de la API de RESTful de Oracle® ZFS Storage Appliance (versión OS8.8.x)

Salir de la Vista de impresión

Actualización: Agosto de 2021
 
 

Paquetes de replicación

En esta sección, se proporciona información detallada sobre los comandos de origen y de paquete de replicación.

Tabla 65  Comandos de paquete de replicación
Solicitud
Anexar a la ruta de acceso /api/storage/v{1|2}/replication
Descripción
GET
/packages
Mostrar todos los paquetes de replicación.
GET
/packages/package
Obtener el paquete de replicación especificada.
PUT
/packages/package
Modificar el paquete de replicación especificada.
DELETE
/packages/package
Destruir el paquete de replicación especificada.
PUT
/packages/package/cancelupdate
Ejecutar cancelupdate en el paquete especificado.
PUT
/packages/package/sever
Ejecutar corte en el paquete especificado.
PUT
/packages/package/pkgreverse
Ejecutar inversión en el paquete especificado.
PUT
/packages/package/clone
Clonar el paquete especificado.
GET
/packages/package/clone/conflicts
Mostrar conflictos de propiedad de recursos compartidos.
GET
/packages/package/projects
Mostrar proyectos del paquete.
GET
/packages/package/projects/project
Obtener proyecto del paquete.
PUT
/packages/package/projects/project
Modificar proyecto del paquete.
GET
/packages/package/projects/project/usage/groups
Obtener uso de grupo de proyectos del paquete.
GET
/packages/package/projects/project/usage/users
Obtener uso de usuarios del proyecto del paquete.
GET
/packages/package/projects/project/snapshots
Mostrar todos los objetos del proyecto.
GET
/packages/package/projects/project/snapshots/snapshot
Obtener las propiedades de instantánea especificadas.
DELETE
/packages/package/projects/project/snapshots/snapshot
Destruir el objeto de instantánea especificado.
PUT
/packages/package/projects/project/snapshots/snapshot
Renombrar la instantánea del proyecto del paquete.
GET
/packages/package/projects/project/automatic
Mostrar todos los objetos de las instantáneas automáticas de todos los paquetes de proyectos.
GET
/packages/package/projects/project/automatic/automatic
Obtener las propiedades de la instantánea automática del proyecto del paquete especificado.
GET
/packages/package/projects/project/filesystems
Mostrar los sistemas de archivos del paquete.
GET
/packages/package/projects/project/filesystems/filesystem
Obtener sistema de archivos del paquete.
PUT
/packages/package/projects/project/filesystems/filesystem
Modificar sistema de archivos del paquete.
GET
/packages/package/projects/project/filesystems/filesystem/usage/groups
Obtener uso del grupo del sistema de archivos del paquete.
GET
/packages/package/projects/project/filesystems/filesystem/usage/users
Obtener uso de los usuarios del sistema de archivos del paquete.
GET
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Obtener las propiedades de instantánea especificadas.
GET
/packages/package/projects/project/filesystems/filesystem/snapshots
Mostrar todos los objetos del proyecto.
DELETE
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Destruir el objeto de instantánea especificado.
PUT
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Renombrar la instantánea del sistema de archivos del paquete.
GET
/packages/package/projects/project/filesystems/filesystem/automatic
Mostrar todos los objetos de las instantáneas automáticas del sistema de archivos del paquete.
GET
/packages/package/projects/project/filesystems/filesystem/automatic/automatic
Obtener las propiedades de la instantánea automática del sistema de archivos del paquete especificado.
GET
/packages/package/projects/project/luns
Mostrar los LUN del paquete.
GET
/packages/package/projects/project/luns/lun
Obtener LUN del paquete.
PUT
/packages/package/projects/project/luns/lun
Modificar LUN del paquete.
GET
/packages/package/projects/project/luns/lun/usage/groups
Obtener uso del grupo del LUN del paquete.
GET
/packages/package/projects/project/luns/lun/usage/users
Obtener uso de los usuarios del LUN del paquete.
GET
/packages/package/projects/project/luns/lun/snapshots/snapshot
Obtener las propiedades de instantánea especificadas.
GET
/packages/package/projects/project/luns/lun/snapshots
Mostrar todos los objetos del proyecto.
DELETE
/packages/package/projects/project/luns/lun/snapshots/snapshot
Destruir el objeto de instantánea especificado.
PUT
/packages/package/projects/project/luns/lun/snapshots/snapshot
Renombrar la instantánea del LUN del paquete.
GET
/packages/package/projects/project/luns/lun/automatic
Mostrar todos los objetos de las instantáneas automáticas de los LUN del paquete.
GET
/packages/package/projects/project/luns/lun/automatic/automatic
Obtener las propiedades de la instantánea automática del LUN del paquete especificado.

También se puede acceder a los orígenes de replicación y sus paquetes correspondientes mediante los siguientes comandos.

Tabla 66  Comandos de origen de replicación
Solicitud
Anexar a la ruta de acceso /api/storage/v{1|2}/replication/sources
Descripción
GET
Utilice solo /api/storage/v{1|2}/replication/sources
Enumerar orígenes de replicación
GET
/source
Mostrar detalles de la fuente de replicación.
GET
/source/packages/package
Obtener el paquete de replicación especificada.
PUT
/source/packages/package
Modificar el paquete de replicación especificada.
DELETE
/source/packages/package
Destruir el paquete de replicación especificada.
PUT
/source/packages/package/cancelupdate
Ejecutar cancelupdate en el paquete especificado.
PUT
/source/packages/package/sever
Ejecutar corte en el paquete especificado.
PUT
/source/packages/package/pkgreverse
Ejecutar inversión en el paquete especificado.
PUT
/source/packages/package/clone
Clonar el paquete especificado.
GET
/source/packages/package/clone/conflicts
Mostrar conflictos de propiedad de recursos compartidos.
GET
/source/packages/package/projects
Mostrar proyectos del paquete.
GET
/source/packages/package/projects/project
Obtener proyecto del paquete.
PUT
/source/packages/package/projects/project
Modificar proyecto del paquete.
GET
/source/packages/package/projects/project/usage/groups
Obtener uso de grupo de proyectos del paquete.
GET
/source/packages/package/projects/project/usage/users
Obtener uso de usuarios del proyecto del paquete.
GET
/source/packages/package/projects/project/snapshots/snapshot
Obtener las propiedades de instantánea especificadas.
GET
/source/packages/package/projects/project/snapshots
Mostrar todos los objetos del proyecto.
DELETE
/source/packages/package/projects/project/snapshots/snapshot
Destruir el objeto de instantánea especificado.
PUT
/source/packages/package/projects/project/snapshots/snapshot
Renombrar la instantánea del proyecto del paquete.
GET
/source/packages/package/projects/project/automatic
Mostrar todos los objetos de las instantáneas automáticas de todos los paquetes de proyectos.
GET
/source/packages/package/projects/project/automatic/automatic
Obtener las propiedades de la instantánea automática del proyecto del paquete especificado.
GET
/source/packages/package/projects/project/filesystems
Mostrar los sistemas de archivos del paquete.
GET
/source/packages/package/projects/project/filesystems/filesystem
Obtener sistema de archivos del paquete.
PUT
/source/packages/package/projects/project/filesystems/filesystem
Modificar sistema de archivos del paquete.
GET
/source/packages/package/projects/project/filesystems/filesystem/usage/groups
Obtener uso del grupo del sistema de archivos del paquete.
GET
/source/packages/package/projects/project/filesystems/filesystem/usage/users
Obtener uso de los usuarios del sistema de archivos del paquete.
GET
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Obtener las propiedades de instantánea especificadas.
GET
/source/packages/package/projects/project/filesystems/filesystem/snapshots
Mostrar todos los objetos del proyecto.
DELETE
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Destruir el objeto de instantánea especificado.
PUT
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Renombrar la instantánea del sistema de archivos del paquete.
GET
/source/packages/package/projects/project/filesystems/filesystem/automatic
Mostrar todos los objetos de las instantáneas automáticas del sistema de archivos del paquete.
GET
/source/packages/package/projects/project/filesystems/filesystem/automatic/automatic
Obtener las propiedades de la instantánea automática del sistema de archivos del paquete especificado.
GET
/source/packages/package/projects/project/luns
Mostrar los LUN del paquete.
GET
/source/packages/package/projects/project/luns/lun
Obtener LUN del paquete.
PUT
/source/packages/package/projects/project/luns/lun
Modificar LUN del paquete.
GET
/source/packages/package/projects/project/luns/lun/usage/groups
Obtener uso del grupo del LUN del paquete.
GET
/source/packages/package/projects/project/luns/lun/usage/users
Obtener uso de los usuarios del LUN del paquete.
GET
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
Obtener las propiedades de instantánea especificadas.
GET
/source/packages/package/projects/project/luns/lun/snapshots
Mostrar todos los objetos del proyecto.
DELETE
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
Destruir el objeto de instantánea especificado.
PUT
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
Renombrar la instantánea del LUN del paquete.
GET
/source/packages/package/projects/project/luns/lun/automatic
Mostrar todos los objetos de las instantáneas automáticas de los LUN del paquete.
GET
/source/packages/package/projects/project/luns/lun/automatic/automatic
Obtener las propiedades de la instantánea automática del LUN del paquete especificado.

Mostrar fuentes de replicación

Mostrar todas las fuentes de replicación disponibles.

Ejemplo de solicitud:

GET /api/storage/v2/replication/sources HTTP/1.1
Host: zfs-storage.example.com:215
Accept: application/json

Ejemplo de salida:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
    "sources": [{
        "asn": "314d252e-c42b-e844-dab1-a3bca680b563",
        "href": "/api/storage/v2/replication/sources/zfs-repl-host",
        "ip_address": "ipaddr-1",
        "name": "zfs-repl-host",
        "source": "source-000"
    }]
}

Mostrar paquetes de replicación

Mostrar todos los paquetes de replicación.

Ejemplo de solicitud:

GET /api/storage/v2/replication/packages HTTP/1.1
Host: zfs-storage.example.com:215
Accept: application/json

Resultado de ejemplo:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
  "packages": [
    {
      "href": "/api/storage/v2/replication/packages/0efaab49-7b22-4d4a-def8-813c27780894",
      "id": "0efaab49-7b22-4d4a-def8-813c27780894",
      "source_name": "sourceA",
      "source_asn": "8a22f6e0-4ee4-4b85-f141-e152f5fac961",
      "source_ip": "ipaddr-1",
      "source_pool": "poolA",
      "target_pool": "poolA",
      "replica_of": "projTest",
      "enabled": true,
      "state": "idle",
      "state_description": "Idle (no update in progress)",
      "offline": false,
      "import_path": "",
      "data_timestamp": "2017-03-09T22:36:12Z",
      "last_sync": "2017-03-09T22:36:22Z",
      "last_try": "2017-03-09T22:36:22Z",
      "last_result": "success"
    }
  ]
}

Modificar paquete

Modificar propiedades del paquete.

Propiedad
Tipo
Descripción
enabled
boolean
Estado actual de las actualizaciones de la replicación

Ejemplo de solicitud:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json

{"enabled": false}

Resultado de ejemplo:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

Ejemplo de solicitud:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/pkgreverse HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json

{"new_project_name":"restrev", "enable_action_upon_reversal":"true"}

Resultado de ejemplo:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

Suprimir paquete

Destruye un paquete de replicación.

Ejemplo de solicitud:

DELETE /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

La supresión satisfactoria devuelve HTTP Status 204 (No Content) (estado HTTP 204 [sin contenido]).

Resultado de ejemplo:

HTTP/1.1 204 No-Content
X-Zfssa-Replication-Api: 1.0

Cancelar actualización

Cancela una actualización en curso para ese paquete.

Ejemplo de solicitud:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/cancelupdate HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

Si no hay actualización en progreso, se devuelve HTTP Status 409 (Conflict) (estado HTTP 409 [conflicto]).

Resultado de ejemplo:

HTTP/1.1 409 Conflict
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 137

{
    "cancelupdate": {
        "AKSH_ERROR": "EAK_NAS_REPL_BADSTATE",
        "message": "operation illegal for state"
    }
}

Resultado de ejemplo:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

Clonar paquete

Clona el proyecto del paquete.

Ejemplo de solicitud:

PUT /api/v2/storage/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/clone HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

Resultado de ejemplo:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

La clonación satisfactoria devuelve HTTP Status 202 (Accepted) (estado HTTP 202 [aceptado]). Se puede usar un comando auxiliar para determinar si hay conflictos con la operación de clonación.

Ejemplo de solicitud de conflictos de clonación:

GET /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/clone/conflicts HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

Clonar/conflictos devuelve conflictos:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 58

{
    "conflicts": "There are no conflicts."
}

Properties:

Default settings:
            target_project = (unset)
       original_mountpoint = /export
       override_mountpoint = false
                mountpoint =

Cortar paquete

Corta una conexión de replicación y mueve el contenido del paquete a un nuevo proyecto. Esta acción corta permanentemente este paquete y sus réplicas compartidas desde el sistema de origen, lo que los convierte en proyectos locales en este sistema. Las actualizaciones de replicación subsiguientes en cualquier dirección requieren la definición de nuevas acciones y el envío de una actualización total.

Ejemplo de solicitud:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/sever HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

{"projname":"restsev"}

Respuesta satisfactoria:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

Invertir paquete

Invierte la dirección de la replicación. Esta acción desactiva la replicación para este paquete y mueve el contenido de este paquete a un proyecto local nuevo configurado para replicar nuevamente al origen. Cualquier cambio realizado en los metadatos o los datos del origen a partir de la última actualización correcta se pierden cuando el proyecto nuevo se replica primero de nuevo en el origen.

Ejemplo de solicitud:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/reverse HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

{"projname":"restrev"}

Respuesta satisfactoria:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0