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
 
 

Acciones de replicación

Las acciones de replicación definen las reglas para replicar datos a destinos de replicación. Los siguientes comandos gestionan las acciones de replicación.

Uso de la interfaz de acciones plana

Las solicitudes para gestionar acciones de replicación se pueden realizar directamente en el dispositivo, sin especificar un proyecto o recurso compartido.

En la siguiente tabla, se muestran los comandos base para gestionar acciones de replicación.

Tabla 57  Interfaz de acciones base
Solicitud
Anexar a la ruta de acceso /api/storage/v{1|2}
Descripción
GET
/replication/actions
Mostrar todos los objetos de la acción de replicación.
GET
/replication/actions/ra_id
Obtener las propiedades de la acción de replicación especificada.
PUT
/replication/actions/ra_id
Modificar el objeto de la acción de replicación especificado.
DELETE
/replication/actions/ra_id
Suprimir el objeto de la acción de replicación especificada.
PUT
/replication/actions/ra_id/sendupdate
Iniciar la acción de replicación seleccionada.
PUT
/replication/actions/ra_id/cancelupdate
Detener la acción de replicación seleccionada.

En la siguiente tabla, se muestran los comandos para gestionar programas de acciones de replicación.

Tabla 58  Acceso a programas de acciones
Solicitud
Anexar a la ruta de acceso /api/storage/v{1|2}
Descripción
GET
/replication/actions/ra_id/schedules
Mostrar todos los objetos del programa de la acción de replicación.
GET
/replication/actions/ra_id/schedules/ra_schedule
Obtener las propiedades del programa de la acción de replicación especificada.
POST
/replication/actions/ra_id/schedules
Crear un programa de acción de replicación nuevo.
PUT
/replication/actions/ra_id/schedules/ra_schedule
Modificar el objeto del programa de la acción de replicación especificado.
DELETE
/replication/actions/ra_id/schedules/ra_schedule
Suprimir el objeto del programa de la acción de replicación especificada.

En la siguiente tabla, se muestran los comandos para la gestión de instantáneas automáticas de replicación.


Notas -  No es posible acceder a los programas de instantáneas automáticas de nivel de recursos compartidos configurados dentro de las acciones de replicación de nivel de proyecto con los siguientes comandos. Las acciones de nivel de proyecto pueden tener varios programas de instantáneas automáticas en varios recursos compartidos y esta interfaz no proporciona una manera definitiva para identificar todas las combinaciones.
Tabla 59  Acceso a la configuración de instantáneas automáticas de replicación
Solicitud
Anexar a la ruta de acceso /api/storage/v{1|2}
Descripción
GET
/replication/actions/ra_id/autosnaps
Recuperar configuraciones de instantáneas automáticas para la acción de replicación seleccionada
GET
/replication/actions/ra_id/autosnaps/autosnaps_id
Obtener el objeto de instantánea automática de la acción de replicación especificado
PUT
/replication/actions/ra_id/autosnaps
Modificar las propiedades de instantánea automática de la acción de replicación especificado
PUT
/replication/actions/ra_id/autosnaps/autosnaps_id
Modificar el objeto de instantánea automática de la acción de replicación especificado
DELETE
/replication/actions/ra_id/autosnaps/autosnaps_id
Suprimir el objeto de instantánea automática de la acción de replicación especificado

En la siguiente tabla, se muestra el comando para estadísticas de acciones de replicación.

Tabla 60  Acceso a las estadísticas de las acciones de replicación
Solicitud
Anexar a la ruta de acceso /api/storage/v{1|2}
Descripción
GET
/replication/actions/ra_id/stats
Recuperar estadísticas de replicación de solo lectura de la acción de replicación seleccionada

Acciones de replicación en un contexto de proyecto, sistema de archivos o LUN

Las solicitudes de gestión de acciones de replicación también se pueden realizar en el contexto de un proyecto, de un sistema de archivos o de un LUN específico.

En la siguiente tabla, se muestran los comandos base para gestionar acciones de replicación.

  • Los URI de operaciones basadas en proyecto comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project
  • Los URI de operaciones basadas en sistema de archivos comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project/filesystems/filesystem
  • Los URI de operaciones basadas en LUN comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project/luns/lun

Anexe los siguientes comandos base al URI del contexto deseado mencionado anteriormente para gestionar acciones de replicación.

Tabla 61  Interfaces de acción de replicación base de proyecto, sistema de archivos o LUN
Solicitud
Anexar al URI de proyecto, de sistema de archivos o de LUN mencionado anteriormente
Descripción
GET
/replication/actions
Mostrar todos los objetos de la acción de replicación.
GET
/replication/actions/ra_id
Obtener las propiedades de la acción de replicación especificada.
POST
/replication/actions
Crear una acción de replicación nueva.
PUT
/replication/actions/ra_id
Modificar el objeto de la acción de replicación especificado.
DELETE
/replication/actions/ra_id
Suprimir el objeto de la acción de replicación especificada.
PUT
/replication/actions/ra_id/sendupdate
Iniciar la acción de replicación seleccionada.
PUT
/replication/actions/ra_id/cancelupdate
Detener la acción de replicación seleccionada.

En la siguiente tabla, se muestran los comandos base para gestionar programas de replicación.

  • Los URI de operaciones basadas en proyecto comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project
  • Los URI de operaciones basadas en sistema de archivos comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project/filesystems/filesystem
  • Los URI de operaciones basadas en LUN comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project/luns/lun

Anexe los siguientes comandos base al URI del contexto deseado mencionado anteriormente para gestionar programas de replicación.

Tabla 62  Interfaces de acción de replicación de proyecto, sistema de archivos o LUN
Solicitud
Anexar al URI de proyecto, de sistema de archivos o de LUN mencionado anteriormente
Descripción
GET
/replication/actions/ra_id/schedules
Mostrar todos los objetos del programa de la acción de replicación.
GET
/replication/actions/ra_id/schedules/ra_schedule
Obtener las propiedades del programa de la acción de replicación especificada.
POST
/replication/actions/ra_id/schedules
Crear un programa de acción de replicación nuevo.
PUT
/replication/actions/ra_id/schedules/ra_schedule
Modificar el objeto del programa de la acción de replicación especificado.
DELETE
/replication/actions/ra_id/schedules/ra_schedule
Suprimir el objeto del programa de la acción de replicación especificada.

En la siguiente tabla, se muestran los comandos base para gestionar la configuración de instantáneas automáticas de replicación.

  • Los URI de operaciones basadas en proyecto comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project
  • Los URI de operaciones basadas en sistema de archivos comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project/filesystems/filesystem
  • Los URI de operaciones basadas en LUN comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project/luns/lun

Anexe los siguientes comandos base al URI del contexto deseado mencionado anteriormente para gestionar la configuración de instantáneas automáticas de replicación.


Notas -  Con las siguientes operaciones basadas en proyecto, no se puede acceder a los programas de instantáneas automáticas de nivel de recursos compartidos configurados dentro de las acciones de replicación de nivel de proyecto. Las acciones de nivel de proyecto pueden tener varios programas de instantáneas automáticas en varios recursos compartidos y esta interfaz no proporciona una manera definitiva para identificar todas las combinaciones.
Tabla 63  Configuración de instantánea automática de replicación de proyecto, de sistema de archivos o de LUN
Solicitud
Anexar al URI de proyecto, de sistema de archivos o de LUN mencionado anteriormente
Descripción
GET
/replication/actions/ra_id/autosnaps
Recuperar configuraciones de instantáneas automáticas para una acción de replicación seleccionada de un proyecto o recurso compartido
GET
/replication/actions/ra_id/autosnaps/autosnaps_id
Obtener una configuración de instantánea automática de acción de replicación especificada de un proyecto o recurso compartido
POST
/replication/actions/ra_id/autosnaps
Crear un objeto nuevo de instantánea automática de acción de replicación de nivel de proyecto o recurso compartido
PUT
/replication/actions/ra_id/autosnaps
Modificar una política de retención de instantánea automática de destino de la acción de replicación especificada de un proyecto o recurso compartido
PUT
/replication/actions/ra_id/autosnaps/autosnaps_id
Modificar el objeto de instantánea automática de la acción de replicación especificado
DELETE
/replication/actions/ra_id/autosnaps/autosnaps_id
Suprimir el objeto de instantánea automática de la acción de replicación especificado

En la siguiente tabla, se muestra el comando base para acceder a las estadísticas de acciones de replicación.

  • Los URI de operaciones basadas en proyecto comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project
  • Los URI de operaciones basadas en sistema de archivos comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project/filesystems/filesystem
  • Los URI de operaciones basadas en LUN comienzan con:

    /api/storage/v{1|2}/pools/pool/projects/project/luns/lun

Anexe los siguientes comandos base al URI del contexto deseado mencionado anteriormente para acceder a las estadísticas de acciones de replicación.

Tabla 64  Acceso a las estadísticas de las acciones de replicación
Solicitud
Anexar al URI de proyecto, de sistema de archivos o de LUN mencionado anteriormente
Descripción
GET
/replication/actions/ra_id/stats
Recuperar estadísticas de replicación de solo lectura de la acción de replicación seleccionada

Enumerar acciones de replicación

Obtener una lista de todas las acciones de replicación disponibles.

Ejemplo de solicitud:

GET /api/storage/v2/replication/actions HTTP/1.1
Authorization: Basic Tm8gcGVla2luZyE=
Accept: application/json

Resultado de ejemplo:

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

{
    "actions": [{
        "href": ""
        ...
    }, {
        "href": "",
        ...
    }]
}

Obtener acción de replicación

El comando de obtención del estado de la acción de replicación devuelve el estado de una sola acción de replicación otorgada por su ID.

Ejemplo de solicitud:

GET /api/storage/v2/replication/actions/1438ed7f-aad3-c631-d869-9e85cd7f15b4 HTTP/1.1
Authorization: Basic Tm8gcGVla2luZyE=
Accept: application/json

Resultado de ejemplo:

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

{
    "action": {
        "average_throughput": 0.0,
        "bytes_sent": 0.0,
        "collection": "local",
        "compression": true,
        "continuous": false,
        "enabled": true,
        "estimated_size": 0.0,
        "estimated_time_left": 0.0,
        "href": "/api/storage/v2/replication/actions",
        "id": "8373d331-de60-e590-90e8-9ad69fcb4aec",
        "include_clone_origin_as_data": false,
        "include_snaps": true,
        "last_sync": "20130916T21:36:50",
        "last_try": "20130916T21:36:50",
        "max_bandwidth": 0,
        "pool": "p1",
        "project": "proj-01",
        "retain_user_snaps_on_target": false,
        "share": "fs1",
        "state": "sending",
        "target": "38094753-6c90-49ed-aa92-995a296d432a",
        "use_ssl": true
    }
}

Ejemplo de solicitud:

En la siguiente respuesta de acción de replicación, se muestra un ejemplo de objetivo de punto de recuperación (RPO) y las alertas y advertencias de demora de réplica relacionadas.

GET /api/storage/v2/replication/actions HTTP/1.1
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type:application/json

Resultado de ejemplo:

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

{
    "action": {"id": "12d981c3-b098-c65a-e1e9-a6b8263a0f6a",
        "target_id": "4fd305ac-4af5-c34a-87c3-88203207305b",
        ...
        "replica_lag": "42:25:31",
        "recovery_point_objective": 0,
        "replica_lag_warning_alert": 0,
        "replica_lag_error_alert": 0,
        "replica_lag_over_warning_limit": false,
        "replica_lag_over_error_limit": false,
        "project": "default"
    }
}

Crear acción de replicación

Crear una acción de replicación nueva.

Crear propiedades:

Initial values:
                          target = cleo
                         enabled = true
                      continuous = false
                   include_snaps = true
     retain_user_snaps_on_target = false
                           dedup = true
    include_clone_origin_as_data = false
                   max_bandwidth = unlimited
                      bytes_sent = 0
                  estimated_size = 0
             estimated_time_left = 0
              average_throughput = 0
                         use_ssl = true
                     compression = on

Ejemplo de solicitud:

POST /api/storage/v2/replication/actions HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json
Content-Length: 121
Accept: application/json

{
    "pool": "p1",
    "project": "proj-01",
    "share": "fs1",
    "target_pool": "pool1",
    "target": "38094753-6c90-49ed-aa92-995a296d432a"
}

Resultado de ejemplo:

HTTP/1.1 201 Created
Content-Length: 506
Content-Type: application/json
Location: /api/storage/v2/replication/action/8373d331-de60-e590-90e8-9ad69fcb4aec
X-Zfssa-Replication-Api: 1.0

{
    "action": {
        "project": "blue1",
        "target": "38094753-6c90-49ed-aa92-995a296d432a",
        "bytes_sent": 0.0,
        "compression": true,
        "continuous": false,
        "enabled": true,
        "dedup": false,
        "max_bandwidth": 0,
        "collection": "local",
        "estimated_size": 0.0,
        "state": "idle",
        "href": "/api/storage/v2/replication/pools/p1/projects/blah1/shares/fs1/
                  actions/8373d331-de60-e590-90e8-9ad69fcb4aec",
        "average_throughput": 0.0,
        "use_ssl": true,
        "estimated_time_left": 0.0,
        "retain_user_snaps_on_target": false,
        "share": "fs1",
        "id": "8373d331-de60-e590-90e8-9ad69fcb4aec",
        "pool": "p1",
        "include_clone_origin_as_data": false,
        "include_snaps": true
    }
}

Crea un programa para una acción de replicación.

Ejemplo de solicitud:

POST /api/storage/v2/replication/actions/b77bd8cd-17ed-69da-9e4b-aebe3cc63755/schedules HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*
Content-Type:application/json
Content-Length: 65

{"frequency":"month","day":"5th", "hour":"auto", "minute":"auto"}

Resultado de ejemplo:

HTTP/1.1 201 Created
Date: Thu, 12 Jan 2017 17:35:48 GMT
Server: TwistedWeb/192.0.2
Content-Length: 0
X-Zfssa-Storage-Api: 1.1
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 1.0
X-Zfssa-Version: user/generic@2016.12.08,1-0

Modificar acción de replicación

Modificar una acción de replicación existente.

Ejemplo de solicitud:

PUT /api/storage/v2/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json

{"use_ssl": false}

Resultado de ejemplo:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 620

{
    "action": {
        "target_id": "407642ae-91b5-681c-de5e-afcd5cbf2974",
        "compression": true,
        "continuous": false,
        "enabled": true,
        "max_bandwidth": 0,
        "dedup": false,
        "retain_user_snaps_on_target": false,
        "use_ssl": false,
        "id": "c141d88d-ffd2-6730-d489-b71905f340cc",
        "include_clone_origin_as_data": false,
        "include_snaps": true
    }
}

Ejemplo de solicitud:

PUT /api/storage/v2/replication/actions/action_id -d '{"recovery_point_objective": 60}HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json

Resultado de ejemplo:

X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 620

{
    "action": {
        "state_description": "Idle (no update in progress)",
        "recovery_point_objective": 60,
        "replica_lag_over_warning_limit": false,
        "bytes_sent": "0",
        "last_try": "Mon Nov 21 2016 23:25:59 GMT+0000 (UTC)",
        "max_bandwidth": 0,
        "estimated_size": "0",
        "href": "/api/storage/v2/replication/actions/12d981c3-b098-c65a-e1e9-a6b8263a0f6a",
        "estimated_time_left": 0,
        "use_ssl": true,
        "id": "12d981c3-b098-c65a-e1e9-a6b8263a0f6a",
        "stats": {"total_logical_bytes": 40656,
        "last_dd_table_build": 9169029,
        "total_after_dedup": 18476,
        "last_try": "Mon Nov 21 2016 23:25:59 GMT+0000 (UTC)",
        "dd_total_updates": 1,
        "href": "/api/storage/v2/replication/actions/12d981c3-b098-c65a-e1e9-a6b8263a0f6a/stats", 
        "dd_total_duration": 47149245470,
        "last_logical_bytes": 40656,
        "dd_total_table_mem": 2097152,
        "last_result": "success",
        "last_after_dedup": 18476,
        "last_duration": 47149245470,
        {"dd_total_logical_bytes": 40656,
        "total_updates": 1,
        "total_duration": 47149245470,
        "replica_data_timestamp": "Mon Nov 21 2016 23:25:12 GMT+0000 (UTC)",
        "total_to_network": 9623,
        "dd_total_table_build": 9169029,
        "dd_total_phys_bytes": 16800,
        "last_to_network": 9623,
        "total_phys_bytes": 16800,
        "last_phys_bytes": 16800,
        "last_sync": "Mon Nov 21 2016 23:25:59 GMT+0000 (UTC)",
        "last_dd_table_mem": 2097152,
        "dd_total_after_dedup": 18476,
        "dd_total_to_network": 9623},
        "compression": "on",
        "dedup": true,
        "replica_lag_warning_alert": 0,
        "last_result": "success",
        "include_clone_origin_as_data": false,
        "state": "idle",
        "offline": false,
        "export_path": "",
        "export_pending": false,
        "autosnaps": {"autosnaps_retention_policies":
        "synchronized",
        "href": "/api/storage/v2/replication/actions/12d981c3-b098-c65a-e1e9-a6b8263a0f6a/autosnaps"},
        "replica_data_timestamp": "Mon Nov 21 2016 23:25:12 GMT+0000 (UTC)",
        "continuous": false,
        "target_id": "4fd305ac-4af5-c34a-87c3-88203207305b",
        {"average_throughput": "0B/s",
        "next_update": "Sync now",
        "pool": "p1",
        "replica_lag_over_error_limit": false,
        "target": "pool1",
        "replica_lag": "42:28:24",
        "retain_user_snaps_on_target": false,
        ...
    }
}

Supervisa el avance de la acción de replicación

El comando de obtención del estado de la acción de replicación devuelve el estado de una sola acción de replicación otorgada por su ID. Examine state y state_description para determinar el avance de la replicación.

Valores de la propiedad state:

  • sending

  • idle

Valores de la propiedad state_description:

  • Connecting to replication target

  • Receiving checkpoint from target

  • Estimating size of update

  • Building deduplication tables

    Este valor de propiedad es solo para flujos de replicación con desduplicación.

Ejemplo de solicitud:

GET /api/storage/v2/replication/actions/1438ed7f-aad3-c631-d869-9e85cd7f15b4 HTTP/1.1
Authorization: Basic Tm8gcGVla2luZyE=
Accept: application/json

Resultado de ejemplo:

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

{
    "action": {
       "id": "1438ed7f-aad3-c631-d869-9e85cd7f15b4",
       "target_id": "4fd3483e-b1f5-4bdc-9be3-b3a4becd0c42",
       "target": "cleo",
       "pool": "p0",
       "replication_of": "testproj",
       "enabled": true,
       "continuous": false,
       "include_snaps": true,
       "retain_user_snaps_on_target": false,
       "dedup": true,
       "include_clone_origin_as_data": false,
       "max_bandwidth": -1,
       "bytes_sent": 0,
       "estimated_size": 0,
       "estimated_time_left": 0,
       "average_throughput": 0,
       "use_ssl": true,
       "compression": "on",
       "export_path": "",
       "state": "sending",
       "state_description": "Receiving checkpoint from target",
       "export_pending": false,
       "offline": false,
       "next_update": "Sync now",
       "replica_data_timestamp": "Thu Apr 28 2016 22:38:03 GMT+0000 (UTC)",
       "last_sync": "<unknown>",
       "last_try": "<unknown>",
       "last_result": "<unknown>",
       "replica_lag": "00:00:18",
       "recovery_point_objective": 0,
       "replica_lag_warning_alert": 0,
       "replica_lag_error_alert": 0,
       "replica_lag_over_warning_limit": false,
       "replica_lag_over_error_limit": false,
       "project": "testproj"
    }
}

Cancelar actualización

Cancela una actualización de replicación en progreso.

Ejemplo de solicitud:

PUT /api/storage/v2/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc/cancelupdate 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

Enviar actualización

Programa una actualización de replicación para que se inicie tan pronto como sea posible.

Ejemplo de solicitud:

PUT /api/storage/v2/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc/sendupdate HTTP/1.1
Authorization: Basic Tm8gcGVla2luZyE=

Resultado de ejemplo:

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

Suprimir una acción de replicación

Suprimir una acción de replicación existente.

Ejemplo de solicitud:

DELETE /api/storage/v2/replication/actions/e7e688b1-ff07-474f-d5cd-cac08293506e 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