Ignorer les liens de navigation | |
Quitter la vue de l'impression | |
![]() |
Guide RESTful API des systèmes Oracle® ZFS Storage Appliance, version 2013.1.3.0 |
Prise en main de l'API Oracle ZFS Storage Appliance RESTful
Service des problèmes de l'API RESTful
Service des rôles de l'API RESTful
Service de stockage de l'API RESTful
Opérations de pool de stockage
Opérations relatives à des projets
Opérations liées aux systèmes de fichiers
Quota et utilisation des systèmes de fichiers
Modify Replication Service State
Toutes les opérations liées aux instantanés sont configurées pour porter sur un pool de stockage ou un projet donné. Les opérations liées aux instantanés peuvent également être définies pour porter sur le niveau du système de fichiers ou du LUN.
L'URI pour toutes les opérations liées aux instantanés et basées sur le projet commence ainsi : /api/storage/v1/pools/{pool}/projects/{project}
L'URI pour toutes les opérations liées aux instantanés et basées sur le système de fichiers commence ainsi : /api/storage/v1/pools/{pool}/projects/{project}/filesystems/{filesystem}
L'URI pour toutes les opérations liées aux instantanés et basées sur le LUN commence ainsi : /api/storage/v1/pools/{pool}/projects/{project}/luns/{lun}
|
Répertorie les instantanés disponibles sur un appareil. Selon l'URI de demande, cette liste contient les instantanés de projet, de système de fichiers ou de LUN.
|
Exemple de demande :
GET /api/storage/v1/pools/gold/projects/default/snapshots Accept: application/json
Exemple de réponse :
HTTP/1.1 200 OK Content-Type: application/json { "snapshots": [{ "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5", "display_name": "snap-001", “display_description": "Daily backup", "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c", "status": "available", "size": 30, "created_at": "2012-02-29T03:50:07Z" }, { "id": "e479997c-650b-40a4-9dfe-77655818b0d2", "display_name": "snap-002", "display_description": "Weekly backup", "volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358", "status": "available", "size": 25, "created_at": "2012-03-19T01:52:47Z" }] }
Affiche toutes les informations sur un instantané unique. En cas de succès, la commande renvoie le code de statut HTTP 200 (OK).
Exemple de demande :
GET /api/storage/v1/pools/gold/projects/default/snapshots/snap-001 Accept: application/json
Exemple de réponse :
HTTP/1.1 200 OK Content-Type: application/json { "snapshot": { "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5", "display_name": "snap-001", "display_description": "Daily backup", "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c", "status": "available", "size": 30, "created_at": "2012-02-29T03:50:07Z" } }
La commande de création d'instantané crée des instantanés pour les projets, les systèmes de fichiers ou les LUN.
Création d'un instantané de projet : POST /pools/{pool}/projects/{project}/snapshots
Création d'un instantané de système de fichiers : POST /pools/{pool}/projects/{project}/filesystems/{share}/snapshots
Création d'un instantané de volume : POST /pools/{pool}/projects/{project}/luns/{lun}/snapshots
Exemple de demande :
POST /api/storage/v1/pools/gold/projects/default/snapshots Content-Type: application/json {"name": "initial-backup"}
Exemple de réponse :
HTTP/1.1 201 Created Content-Type: application/json Location: /pools/gold/projects/default/ snapshot/initial-backup { "snapshot": { "name": "initial-backup", "numclones": 0, "creation": "20130610T21:00:49", "collection": "local", "project": "default", "canonical_name": "gold/local/default@initial-backup", "usage": { "unique": 0.0, "loading": false, "data": 145408.0 }, "type": "snapshot", "id": "a26abd24-e22b-62b2-0000-000000000000", "pool": "gold" } }
Renomme un instantané existant.
URI de demande : instantané, nom de l'instantané actuel.
Corps de demande : objet JSON avec le paramètre de nom contenant le nouveau nom de l'instantané
Exemple de demande :
PUT /api/storage/v1/pools/gold/projects/default/snapshots/initial-snapshot Content-Type: application/json Accept: application/json {“name”:”old-snapshot”}
Exemple de réponse :
HTTP/1.1 202 Accepted Content-Type: application/json Location: /pools/gold/projects/default/snapshot/initial-backup
Crée un nouveau système de fichiers ou LUN à partir d'un instantané existant.
Système de fichiers clone d'URI de demande :
PUT /pools/{pool}/projects/{project}/filesystems/{share}/snapshots/{snap}/clone
Volume clone :
PUT /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot}/clone
|
Le corps de la demande contient un objet JSON avec les propriétés suivantes.
|
Exemple de demande :
PUT /api/storage/v1/pools/gold/projects/default/filesystems/fs01/ snapshots/snap01/clone {"project":"rest", "share":"snap01clone01", "compression": "gzip-9"}
Exemple de réponse :
HTTP/1.1 201 Created Content-Length: 2035 X-Zfssa-Storage-Api: 1.0 Location: /api/storage/v1/pools/gold/projects/rest/filesystem/snap01clone01 Content-Type: application/json; charset=utf-8 { "filesystem": { "origin": { "project": "default", "share": "fs01", "snapshot": "snap01", "pool": "gold", "collection": "local" }, "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone01", "mountpoint": "/export/snap01clone01", "compression": "gzip-9", "source": { "compression": "local", ... }, ... "canonical_name": "gold/local/rest/snap01clone01" } }
La commande de restauration d'instantanés ramène le système de fichiers ou LUN source à son état au moment de la prise de l'instantané. Une demande traitée avec succès renvoie un code de statut HTTP 202 (Accepted) ainsi que les propriétés de l'instantané au format JSON.
Restauration d'un instantané de système de fichiers :
PUT /pools/{pool}/projects/{project}/filesystems/{share}/snapshots/{snap}/rollback
Restauration d'un instantané de LUN :
PUT /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot}/rollback
|
Exemple de demande :
PUT /api/storage/v1/pools/gold/projects/default/filesystems/fs-01 /snapshots/initial-backup/rollback
Exemple de réponse :
HTTP/1.1 202 Accepted Location: /pools/gold/projects/default/filesystems/fs-01/snapshot/fs-01-initial-clone Content-Type: application/json { "snapshot": { "name": "fs-01-initial-clone", "numclones": 0, "creation": "20130610T21:00:49", "filesystem": "fs-01", "collection": "local", "project": "default", "canonical_name": "gold/local/default/ fs-01@fs-01-initial-clone", "usage": { "unique": 0.0, "loading": false, "data": 31744.0 }, "type": "snapshot", "id": "5c9bda07-21c1-2238-0000-000000000000", "pool": "gold" } }
La commande de suppression d'instantané supprime un instantané de projet, de système de fichiers ou de LUN du système.
Suppression d'un instantané unique avec l'instantané donné : DELETE /snapshots/{snapshot_id}
Suppression d'un instantané de projet avec le nom de pool, de projet et d'instantané donné : DELETE /pools/{pool}/projects/{project}/snapshots/{snapshot_name}
Suppression d'un instantané de système de fichiers avec le nom de pool, de projet, de système de fichiers ou d'instantané donné : DELETE /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot_name}
Suppression d'un système de fichiers LUN avec le nom de pool, de projet, de système de fichiers ou d'instantané donné : DELETE /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot_name}
Exemple de demande :
PUT /pools/gold/projects/default/filesystems/fs-01/ snapshots/initial-backup HTTP/1.1
Une suppression réussie renvoie le code HTTP 204 (No Content).
HTTP/1.1 204 No-Content
Répertorie les dépendants d'un système de fichiers ou volume.
|
|
Exemple de demande :
GET /apistorage/v1/pools/gold/projects/default/filesystems/fs01/ snapshots/snap01/dependents Accept: application/json
Exemple de réponse :
HTTP/1.1 200 OK X-Zfssa-Storage-Api: 1.0 Content-Type: application/json; charset=utf-8 X-Zfssa-Api-Version: 1.0 { "dependents": [ { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone01", "share": "snap01clone01" }, { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone02", "share": "snap01clone02" }, { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone03", "share": "snap01clone03" } ] }