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
 
 

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 97  Interfaz de acciones base
Solicitud
/api/storage/v1
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 98  Acceso a programas de acciones
Solicitud
/api/storage/v1
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 99  Acceso a la configuración de instantáneas automáticas de replicación
Solicitud
/api/storage/v1
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 las estadísticas de replicación.

Tabla 100  Acceso a las estadísticas de las acciones de replicación
Solicitud
/api/storage/v1
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 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.

  • El URI de todas las operaciones basadas en proyectos comienza con: /api/storage/v1/pools/<pool>/projects /<project>

  • El URI de todas las operaciones basadas en sistemas de archivos comienza con: /api/storage/v1/pools/<pool>/projects /<project>/filesystems /<filesystem>

  • El URI de todas las operaciones basadas en LUN comienza con: /api/storage/v1/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 101  Interfaz de acción base 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
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 para gestionar programas de acciones de replicación.

  • El URI de todas las operaciones basadas en proyectos comienza con: /api/storage/v1/pools/<pool>/projects /<project>

  • El URI de todas las operaciones basadas en sistemas de archivos comienza con: /api/storage/v1/pools/<pool>/projects /<project>/filesystems /<filesystem>

  • El URI de todas las operaciones basadas en LUN comienza con: /api/storage/v1/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 102  Programas de acció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>/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.

  • El URI de todas las operaciones basadas en proyectos comienza con: /api/storage/v1/pools/<pool>/projects /<project>

  • El URI de todas las operaciones basadas en sistemas de archivos comienza con: /api/storage/v1/pools/<pool>/projects /<project>/filesystems /<filesystem>

  • El URI de todas las operaciones basadas en LUN comienza con: /api/storage/v1/pools/<pool>/projects /<project>/luns/<lun>

Anexe los siguientes comandos base al URI del contexto deseado mencionado anteriormente para gestionar acciones 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 103  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 para las estadísticas de replicación.

  • El URI de todas las operaciones basadas en proyectos comienza con: /api/storage/v1/pools/<pool>/projects /<project>

  • El URI de todas las operaciones basadas en sistemas de archivos comienza con: /api/storage/v1/pools/<pool>/projects /<project>/filesystems /<filesystem>

  • El URI de todas las operaciones basadas en LUN comienza con: /api/storage/v1/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 104  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

Mostrar acciones de replicación

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

Ejemplo de solicitud:

GET /api/storage/v1/replication/actions HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Accept: application/json

Ejemplo de respuesta:

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/v1/replication/actions/1438ed7f-aad3-c631-d869-9e85cd7f15b4 HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Accept: application/json

Ejemplo de respuesta:

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/v1/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": "gold",
        "project": "blah1",
        "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/v1/replication/actions HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Content-Type:application/json

Ejemplo de respuesta:

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/v1/replication/actions HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json
Content-Length: 121
Accept: application/json

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

Ejemplo de respuesta:

HTTP/1.1 201 Created
Content-Length: 506
Content-Type: application/json
Location: /api/storage/v1/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/v1/replication/pools/gold/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": "gold",
        "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/v1/replication/actions/b77bd8cd-17ed-69da-9e4b-aebe3cc63755/schedules HTTP/1.1
Host: emperor:215
Authorization: Basic cm9vdDpsMWE=
Accept: */*
Content-Type:application/json
Content-Length: 65

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

Ejemplo de respuesta:

HTTP/1.1 201 Created
Date: Thu, 12 Jan 2017 17:35:48 GMT
Server: TwistedWeb/10.1.0
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: ak2013r/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/v1/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json

{"use_ssl": false}

Ejemplo de respuesta:

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/v1/replication/actions/<action_id> -d '{"recovery_point_objective": 60}HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json'

Ejemplo de respuesta:

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/v1/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/v1/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/v1/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": "G",
        "replica_lag_over_error_limit": false,
        "target": "goby",
        "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 (Solo para flujos de replicación con duplicación anulada)

Ejemplo de solicitud:

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

Ejemplo de respuesta:

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/v1/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc/cancelupdate HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

Ejemplo de respuesta:

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/v1/replication/actions/c141d88d-ffd2-6730-d489-b71905f340cc/sendupdate HTTP/1.1
Authorization: Basic ab6rt4psMWE=

Ejemplo de respuesta:

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/v1/replication/actions/e7e688b1-ff07-474f-d5cd-cac08293506e
       HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

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

Ejemplo de respuesta:

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