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