Go to main content

Guide RESTful API des systèmes Oracle® ZFS Storage Appliance, version OS8.8.x

Quitter la vue de l'impression

Mis à jour : Août 2021
 
 

Packages de réplication

Cette section décrit les commandes de package et de source de réplication.

Table 65  Commandes de package de réplication
Demande
Ajouter au chemin /api/storage/v{1|2}/replication
Description
GET
/packages
Enumération de tous les packages de réplication
GET
/packages/package
Obtention du package de réplication spécifié
PUT
/packages/package
Modification du package de réplication spécifié
DELETE
/packages/package
Destruction du package de réplication spécifié
PUT
/packages/package/cancelupdate
Exécution de la commande cancelupdate sur le package spécifié
PUT
/packages/package/sever
Exécution de la commande sever sur le package spécifié
PUT
/packages/package/pkgreverse
Exécution de la commande reverse sur le package spécifié
PUT
/packages/package/clone
Clonage du package spécifié
GET
/packages/package/clone/conflicts
Enumération des conflits de propriété de partage
GET
/packages/package/projects
Enumération des projets de package
GET
/packages/package/projects/project
Obtention du projet de package
PUT
/packages/package/projects/project
Modification du projet de package
GET
/packages/package/projects/project/usage/groups
Obtention de l'utilisation du groupe de projets de package
GET
/packages/package/projects/project/usage/users
Obtention de l'utilisation par les utilisateurs du projet de package
GET
/packages/package/projects/project/snapshots
Enumération de tous les objets d'instantané
GET
/packages/package/projects/project/snapshots/snapshot
Obtention des propriétés de l'instantané spécifié
DELETE
/packages/package/projects/project/snapshots/snapshot
Destruction de l'objet de l'instantané spécifié
PUT
/packages/package/projects/project/snapshots/snapshot
Modification du nom de l'instantané de projet de package
GET
/packages/package/projects/project/automatic
Enumération de tous les objets d'instantané automatique de projet de package
GET
/packages/package/projects/project/automatic/automatic
Obtention des propriétés de l'instantané automatique du projet de package spécifié
GET
/packages/package/projects/project/filesystems
Enumération des systèmes de fichiers de package
GET
/packages/package/projects/project/filesystems/filesystem
Obtention du système de fichiers de package
PUT
/packages/package/projects/project/filesystems/filesystem
Modification du système de fichiers de package
GET
/packages/package/projects/project/filesystems/filesystem/usage/groups
Obtention de l'utilisation de groupe de systèmes de fichiers de package
GET
/packages/package/projects/project/filesystems/filesystem/usage/users
Obtention de l'utilisation par les utilisateurs du système de fichiers de package
GET
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Obtention des propriétés de l'instantané spécifié
GET
/packages/package/projects/project/filesystems/filesystem/snapshots
Enumération de tous les objets d'instantané
DELETE
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Destruction de l'objet de l'instantané spécifié
PUT
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Modification du nom de l'instantané de système de fichiers de package
GET
/packages/package/projects/project/filesystems/filesystem/automatic
Enumération de tous les objets d'instantané automatique de système de fichiers de package
GET
/packages/package/projects/project/filesystems/filesystem/automatic/automatic
Obtention des propriétés de l'instantané automatique du système de fichiers de package spécifié
GET
/packages/package/projects/project/luns
Enumération des LUN de package
GET
/packages/package/projects/project/luns/lun
Obtention du LUN de package
PUT
/packages/package/projects/project/luns/lun
Modification du LUN de package
GET
/packages/package/projects/project/luns/lun/usage/groups
Obtention de l'utilisation de groupe de LUN de package
GET
/packages/package/projects/project/luns/lun/usage/users
Obtention de l'utilisation par les utilisateurs du LUN de package
GET
/packages/package/projects/project/luns/lun/snapshots/snapshot
Obtention des propriétés de l'instantané spécifié
GET
/packages/package/projects/project/luns/lun/snapshots
Enumération de tous les objets d'instantané
DELETE
/packages/package/projects/project/luns/lun/snapshots/snapshot
Destruction de l'objet de l'instantané spécifié
PUT
/packages/package/projects/project/luns/lun/snapshots/snapshot
Modification du nom de l'instantané de LUN de package
GET
/packages/package/projects/project/luns/lun/automatic
Enumération de tous les objets de l'instantané automatique du LUN de package
GET
/packages/package/projects/project/luns/lun/automatic/automatic
Obtention des propriétés de l'instantané automatique du LUN de package spécifié

Vous pouvez également accéder aux sources de réplication et aux packages correspondant à l'aide des commandes suivantes.

Table 66  Commandes de source de réplication
Demande
Ajouter au chemin /api/storage/v{1|2}/replication/sources
Description
GET
Utiliser uniquement /api/storage/v{1|2}/replication/sources
Enumération des sources de réplication
GET
/source
Enumération des détails des sources de réplication
GET
/source/packages/package
Obtention du package de réplication spécifié
PUT
/source/packages/package
Modification du package de réplication spécifié
DELETE
/source/packages/package
Destruction du package de réplication spécifié
PUT
/source/packages/package/cancelupdate
Exécution de la commande cancelupdate sur le package spécifié
PUT
/source/packages/package/sever
Exécution de la commande sever sur le package spécifié
PUT
/source/packages/package/pkgreverse
Exécution de la commande reverse sur le package spécifié
PUT
/source/packages/package/clone
Clonage du package spécifié
GET
/source/packages/package/clone/conflicts
Enumération des conflits de propriété de partage
GET
/source/packages/package/projects
Enumération des projets de package
GET
/source/packages/package/projects/project
Obtention du projet de package
PUT
/source/packages/package/projects/project
Modification du projet de package
GET
/source/packages/package/projects/project/usage/groups
Obtention de l'utilisation du groupe de projets de package
GET
/source/packages/package/projects/project/usage/users
Obtention de l'utilisation par les utilisateurs du projet de package
GET
/source/packages/package/projects/project/snapshots/snapshot
Obtention des propriétés de l'instantané spécifié
GET
/source/packages/package/projects/project/snapshots
Enumération de tous les objets d'instantané
DELETE
/source/packages/package/projects/project/snapshots/snapshot
Destruction de l'objet de l'instantané spécifié
PUT
/source/packages/package/projects/project/snapshots/snapshot
Modification du nom de l'instantané de projet de package
GET
/source/packages/package/projects/project/automatic
Enumération de tous les objets d'instantané automatique de projet de package
GET
/source/packages/package/projects/project/automatic/automatic
Obtention des propriétés de l'instantané automatique du projet de package spécifié
GET
/source/packages/package/projects/project/filesystems
Enumération des systèmes de fichiers de package
GET
/source/packages/package/projects/project/filesystems/filesystem
Obtention du système de fichiers de package
PUT
/source/packages/package/projects/project/filesystems/filesystem
Modification du système de fichiers de package
GET
/source/packages/package/projects/project/filesystems/filesystem/usage/groups
Obtention de l'utilisation de groupe de systèmes de fichiers de package
GET
/source/packages/package/projects/project/filesystems/filesystem/usage/users
Obtention de l'utilisation par les utilisateurs du système de fichiers de package
GET
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Obtention des propriétés de l'instantané spécifié
GET
/source/packages/package/projects/project/filesystems/filesystem/snapshots
Enumération de tous les objets d'instantané
DELETE
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Destruction de l'objet de l'instantané spécifié
PUT
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
Modification du nom de l'instantané de système de fichiers de package
GET
/source/packages/package/projects/project/filesystems/filesystem/automatic
Enumération de tous les objets d'instantané automatique de système de fichiers de package
GET
/source/packages/package/projects/project/filesystems/filesystem/automatic/automatic
Obtention des propriétés de l'instantané automatique du système de fichiers de package spécifié
GET
/source/packages/package/projects/project/luns
Enumération des LUN de package
GET
/source/packages/package/projects/project/luns/lun
Obtention du LUN de package
PUT
/source/packages/package/projects/project/luns/lun
Modification du LUN de package
GET
/source/packages/package/projects/project/luns/lun/usage/groups
Obtention de l'utilisation de groupe de LUN de package
GET
/source/packages/package/projects/project/luns/lun/usage/users
Obtention de l'utilisation par les utilisateurs du LUN de package
GET
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
Obtention des propriétés de l'instantané spécifié
GET
/source/packages/package/projects/project/luns/lun/snapshots
Enumération de tous les objets d'instantané
DELETE
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
Destruction de l'objet de l'instantané spécifié
PUT
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
Modification du nom de l'instantané de LUN de package
GET
/source/packages/package/projects/project/luns/lun/automatic
Enumération de tous les objets de l'instantané automatique du LUN de package
GET
/source/packages/package/projects/project/luns/lun/automatic/automatic
Obtention des propriétés de l'instantané automatique du LUN de package spécifié

Liste des sources de réplication

Répertorie toutes les sources de réplication disponibles.

Exemple de demande :

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

Exemple de sortie :

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"
    }]
}

Liste des packages de réplication

Répertorie tous les packages de réplication.

Exemple de demande :

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

Exemple de résultat :

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"
    }
  ]
}

Modification d'un package

Modifie les propriétés du package.

Propriété
Type
Description
enabled
boolean
Etat actuel des mises à jour de réplication

Exemple de demande :

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}

Exemple de résultat :

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

Exemple de demande :

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"}

Exemple de résultat :

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

Suppression d'un package

Détruit un package de réplication.

Exemple de demande :

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

Une suppression réussie renvoie le code HTTP 204 (No Content).

Exemple de résultat :

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

Annulation d'une mise à jour

Annule une mise à jour en cours pour ce package.

Exemple de demande :

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 aucune mise à jour n'est en cours, un statut HTTP 409 (Conflict) est renvoyé.

Exemple de résultat :

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"
    }
}

Exemple de résultat :

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

Clonage d'un package

Clone le projet de package.

Exemple de demande :

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

Exemple de résultat :

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

Un clone obtenu avec succès renvoie le code de statut HTTP 202 (Accepted). Une commande d'aide peut être utilisée pour déterminer la présence de conflits avec l'opération de clonage.

Exemple de demande de conflit de clonage :

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=

Renvois de conflits de clonage :

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

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

Propriétés :

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

Dissociation d'un package

Dissocie une connexion de réplication et déplace le contenu du package dans un nouveau projet. Cette action dissocie de manière permanente ce package et ses partages répliqués du système source, créant ainsi des projets locaux sur ce système. Les mises à jour de réplication ultérieures nécessitent la définition de nouvelles actions et l'envoi d'une mise à jour complète, quelle que soit la direction de ces mises à jour.

Exemple de demande :

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"}

Réponse obtenue avec succès :

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

Rétablissement d'un package

Inverse le sens de la réplication. Cette action désactive la réplication pour ce package et déplace le contenu de ce package dans un nouveau projet local configuré pour effectuer une réplication vers la source. Toutes les modifications des métadonnées ou des données apportées à la source depuis la dernière mise à jour réussie sont perdues lorsque le nouveau projet est répliqué pour la première fois vers la source.

Exemple de demande :

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"}

Réponse obtenue avec succès :

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