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