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
 
 

Destinos de replicación

En la tabla siguiente, se incluyen los comandos de los destinos de replicación disponibles.

Tabla 56  Comandos de los destinos de replicación
Solicitud
Anexar a la ruta de acceso /api/storage/v{1|2}
Descripción
POST
/replication/targets
Crea un destino de replicación nuevo.
GET
/replication/targets/target
Obtiene las propiedades del destino de replicación especificado.
GET
/replication/targets
Muestra todos los objetos del destino de replicación.
PUT
/replication/targets/target
Modifica el objeto del destino de replicación especificado.
DELETE
/replication/targets/target
Destruir el nombre de destino especificado.

En la siguiente tabla, se muestran las propiedades de un destino de replicación.

Propiedad
Descripción
label
El nombre del destino que se mostrará.
hostname
El nombre de dominio completo o la dirección IPv4 del dispositivo de destino.
host_match
Realizar u omitir la verificación del nombre de host. Consulte Verificar el certificado de destino.
auto_accept_cert
Aceptar automáticamente el certificado de destino Consulte Verificar el certificado de destino.

Enumerar destinos de replicación

Muestra todos los destinos de replicación disponibles en un sistema.

Ejemplo de solicitud:

GET /api/storage/v2/replication/targets HTTP/1.1
Host: zfs-storage.example.com:215
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

{ 
        "targets": [{     
            "address": "ipaddr-1", 
            "label": "zfs-storage-1", 
            "hostname": "ipaddr-2", 
            "asn": "9d7a7543-ca83-68f5-a8fc-f818f65e1cfc", 
            "actions": 0, 
            "target": "target-000", 
            "href": "/api/storage/v2/replication/targets/zfs-storage-1" 
        }, { 
            "address": "ipaddr-3", 
            "label": "zfs-storage-2", 
            "hostname": "ipaddr-4", 
            "asn": "16a4c82c-26c1-4a50-e317-ac53181f2e86", 
            "actions": 0, 
            "target": "target-001", 
            "href": "/api/storage/v2/replication/targets/zfs-storage-2" 
        }] 
}

Enumerar un destino de replicación especificado

Este comando muestra los detalles de un único destino de replicación. El acceso al destino es mediante el nombre de host del destino.

Ejemplo de solicitud:

GET /api/storage/v2/replication/targets/zfs-storage-1 HTTP/1.1
Authorization: Basic Tm8gcGVla2luZyE=
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: 337

{ 
        "target": { 
            "href": "/api/storage/v2/replication/targets/zfs-storage-1", 
            "address": "ipaddr-1", 
            "label": "zfs-storage-1", 
            "hostname": "ipaddr-2", 
            "asn": "9d7a7543-ca83-68f5-a8fc-f818f65e1cfc", 
            "actions": 0 
        } 
}

Crear un destino de replicación

El comando targets crea un nuevo destino de replicación para la replicación remota.

Si necesita asegurarse de que el tráfico de replicación pase por una interfaz de red en particular, configure una ruta estática para el destino que especifique esa interfaz tal como se muestra en Agregar ruta.

Ejemplo de solicitud:

Consulte Verificar el certificado de destino para obtener información sobre las propiedades hostname y auto_accept_cert.

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

{
    "label":"zfs-storage-3",
    "hostname":"zfs-storage-3.example.com",
    "root_password":"root-password",
    "auto_accept_cert":true
}

Resultado de ejemplo:

HTTP/1.1 201 Created
Content-Length: 135
Content-Type: application/json
Location: /service/v2/services/replication/targets/target-000
X-Zfssa-Replication-Api: 1.0
{
    "target": {
        "actions": 0,
        "address": "123.45.78.9:216",
        "asn": "fa5bf303-0dcb-e20d-ac92-cd129ccd2c81",
        "auto_accept_cert": true,
        "hostname": "zfs-storage-3.example.com",
        "href": "/service/v2/services/replication/targets/target-000",
        "label": "zfs-storage-3"
    }
}

Verificar el certificado de destino

Cuando crea un destino de replicación, se realiza la verificación del certificado. La verificación del certificado consta de los siguientes pasos:

  1. Comprobación del nombre de host del certificado

  2. Comprobación de confianza del certificado

Si falla la verificación del nombre de host o la verificación de la confianza del certificado, no se crea el destino.

Hostname Check

El valor de la propiedad hostname puede ser un nombre de dominio completo o una dirección IPv4. El valor recomendado para usar es el nombre de dominio completo de destino.

La comprobación del nombre de host verifica que el nombre de host especificado en la propiedad hostname del destino coincide con un host especificado en el certificado. Si especifica una dirección IP o un nombre de dominio no calificado para hostname y el certificado solo tiene nombres de dominio completos, la verificación del nombre de host falla y no se crea el destino.

Si el destino utiliza un certificado basado en ASN, especifique el nombre de dominio completo del destino para el valor de la propiedad hostname.

La comprobación del nombre de host se realiza por defecto. Si configura la propiedad host_match como false, entonces no se realiza la comprobación del nombre de host.

Para mayor seguridad, establezca el valor de la propiedad hostname como el nombre de dominio completo de destino y asegúrese de que la propiedad host_match está establecida enhost_match.

Verificación de confianza del certificado

La verificación de confianza del certificado verifica que uno de los siguientes certificados se haya agregado a la lista de certificados de confianza de origen y esté habilitado para uso entre pares:

  • El certificado del dispositivo de destino.

  • El certificado de la autoridad de certificación que emitió el certificado del dispositivo de destino.

Si el certificado no es de confianza, se devuelve el estado HTTP status 409 (Conflict) (HTTP 409 [conflicto]) y no se crea el destino. En el siguiente ejemplo, la línea del mensaje está rota para facilitar la lectura:

{
    "fault": {
        "code": 409,
        "name": "ERR_ILLEGAL_STATE",
        "message": "operation failed due to illegal state (Certificate is not trusted 
                    (encountered while attempting to run command \"commit\"))"
    }
}

La primera vez que crea este destino para este origen, no se sabe que el certificado del host de destino es confiable. Debido a que la API de RESTful no puede solicitarle que confirme el certificado, configure la propiedad auto_accept_cert en true para aceptar automáticamente el certificado de destino.

Una vez creado el destino, su certificado puede dejar de ser de confianza. Por ejemplo, el administrador de origen podría suprimir el certificado de la lista de certificados de confianza o el administrador de destino podría reemplazar el certificado. Modifique el destino y configure la propiedad auto_accept_cert en true para indicarle a origen que acepte este certificado como confiable.

La verificación de confianza del certificado se realiza para cada par y conexión de replicación. Si el certificado no es de confianza, el origen rechaza la conexión.

Para verificar las propiedades de un certificado como commonName o SubjectAltName de huella o emisor, para cargar un certificado o para suprimir un certificado, consulte Gestión de certificados.

Modificar un destino de replicación

Este comando modifica las propiedades de un destino de replicación.

Ejemplo de solicitud:

PUT /api/replication/v2/targets/target-001 HTTP/1.1
Authorization: Basic Tm8gcGVla2luZyE=
Host: zfs-storage.example.com:215
Accept: application/json
Content-Type: application/json
Content-Length: 78

{ "hostname": "zfs-storage-3.example.com" }

Suprimir un destino de replicación

Este comando suprime un destino de replicación existente.

Ejemplo de solicitud:

DELETE /service/v2/services/replication/targets/target-000 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]).