Go to main content
Guide RESTful API des systèmes Oracle® ZFS Storage Appliance, version OS8.6.x

Quitter la vue de l'impression

Mis à jour : Septembre 2016
 
 

Opérations liées aux instantanés et au clonage

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}

Table 84  Commandes d'instantané et de clonage
Demande
Chemin /api/storage/v1
Description
GET
/snapshots
Liste de tous les instantanés locaux
GET
/pools/<pool>/projects /<project>/snapshots
Liste de tous les instantanés du projet
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots
Liste de tous les instantanés du système de fichiers
GET
/pools/<pool>/projects /<project>/luns/<lun> /snapshots
Liste de tous les instantanés du LUN
GET
/pools/<pool>/projects /<project>/snapshots/<snapshot>
Obtention des détails des instantanés du projet
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
Obtention des détails des instantanés de systèmes de fichiers
GET
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
Obtention des détails des instantanés de LUN
POST
/pools/<pool>/projects /<project>/snapshots
Création d'un instantané de projet
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots
Création d'un instantané de système de fichiers
POST
/pools/<pool>/projects /<project>/luns/<lun> /snapshots
Création d'un instantané de LUN
PUT
/pools/<pool>/projects /<project>/snapshots/<snapshot>
Modification d'un instantané de projet
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
Modification d'un instantané de système de fichiers
PUT
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
Modification d'un instantané de LUN
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/clone
Clonage d'un instantané de système de fichiers
PUT
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>/clone
Clonage d'un instantané de LUN
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/rollback
Restauration de données vers l'instantané de système de fichiers donné
PUT
/pools/<pool>/projects /<project>/lun/<lun> /snapshots/<snapshot>/rollback
Restauration de données vers l'instantané de LUN donné
DELETE
/pools/<pool>/projects /<project>/snapshots/<snapshot>
Destruction d'un instantané de projet
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
Destruction d'un instantané de système de fichiers
DELETE
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
Destruction d'un instantané de LUN
GET
/pools/<pool>/projects /<project>/snapshots/<snapshot> /dependents
Enumération des dépendants d'instantané de projet
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/dependents
Enumération des dépendants d'instantanés de système de fichiers
GET
/pools/<pool>/projects /<project>/lun/<lun> /snapshots/<snapshot> /dependents
Enumération des dépendants d'instantanés LUN
POST
/pools/<pool>/projects /<project>/automatic
Créer un nouvel instantané automatique de projet
GET
/pools/<pool>/projects /<project>/automatic /<automatic>
Obtention des propriétés de l'instantané automatique du projet spécifié
GET
/pools/<pool>/projects /<project>/automatic
Enumération de tous les objets d'instantané automatique de projet
PUT
/pools/<pool>/projects /<project>/automatic /<automatic>
Modification de l'objet de l'instantané automatique du projet spécifié
DELETE
/pools/<pool>/projects /<project>/automatic /<automatic>
Destruction de l'objet automatique spécifié
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic
Création d'un nouvel instantané automatique de système de fichiers
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
Obtention des propriétés de l'instantané automatique du système de fichiers spécifié
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic
Enumération de tous les objets d'instantané automatique de système de fichiers
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
Modification de l'objet de l'instantané automatique du système de fichiers spécifié
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
Destruction de l'objet automatique spécifié
POST
/pools/<pool>/projects /<project>/luns/<lun>/automatic
Création d'un nouvel instantané automatique de LUN
GET
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
Obtention des propriétés de l'instantané automatique du LUN spécifié
GET
/pools/<pool>/projects /<project>/luns/<lun>/automatic
Enumération de tous les objets d'instantané automatique de LUN
PUT
/pools/<pooll>/projects /<project>/luns/<lun>/automatic /<automatic>
Modification de l'objet de l'instantané automatique du LUN spécifié
DELETE
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
Destruction de l'objet automatique spécifié

List Snapshots

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.

Table 85  Liste des formes de commande d'instantané
Commande
/api/storage/v1/pools/{pool}/projects/{project}
Liste d'instantanés de projet
/snapshots
Liste d'instantanés de système de fichiers
/filesystems/{share}/snapshots
Liste d'instantanés de LUN
/lun/{share}/snapshots

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

Get Snapshot

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

Create Snapshot

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

Rename Snapshot

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

Clone Snapshot

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
Table 86  Paramètres URI
Paramètre
Description
pool
Nom du pool source
project
Nom du projet source
filesystem
Nom du partage source (pour l'instantané de système de fichiers)
lun
Nom du partage source (pour l'instantané de LUN)
snapshot
Nom de l'instantané source

Le corps de la demande contient un objet JSON avec les propriétés suivantes.

Table 87  Propriétés des instantanés clones
Type
Nom
Description
string
pool
Nom du pool clone de destination
string
project
Nom du projet clone de destination
string
lun
Nom du LUN de destination (pour l'instantané de LUN)

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

Rollback Snapshot

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
Table 88  Paramètres URI
Paramètre
Description
pool
Nom du pool source
project
Nom du projet source
filesystem
Nom du système de fichiers source (pour l'instantané de système de fichiers)
lun
Nom du LUN source (pour l'instantané de LUN)
snapshot
Nom de l'instantané source

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

Delete a Snapshot

La commande d'instantané DELETE supprime un instantané de projet, de système de fichiers ou de LUN du système.

Table 89  Formes de commande de suppression d'instantané
Commande
DELETE /api/storage/v1/pools/{pool}/projects/{project}
Suppression d'un instantané de projet avec les noms de pool, de projet et d'instantané donnés
/snapshots/{snapshot_name}
Suppression d'un instantané de système de fichiers avec les noms de pool, de projet, de système de fichiers et d'instantané donnés
/filesystems/{share_name}/snapshots/{snapshot_name}
Suppression d'un LUN de système de fichiers avec les nom de pool, de projet et d'instantané donnés
/luns/ {lun_name}/snapshots/{snapshot_name}
Table 90  Paramètres URI
Paramètre
Description
pool
Nom du pool source
project
Nom du projet source
filesystem
Nom du système de fichiers source
lun
Nom du LUN
snapshot
Nom de l'instantané source

Si l'instantané dispose d'un NDMP, ?confirm=true doit être ajouté à la commande DELETE. Toutefois, remarquez que cela peut affecter les opérations NDMP. Pour plus d'informations, reportez-vous à la section Configuration NDMP du manuel Guide d’administration des systèmes Oracle ZFS Storage Appliance, version OS8.6.x.

Exemple

DELETE /pools/gold/projects/default/filesystems/fs-01/snapshots/initial-backup?confirm=true

Si ?confirm=true n'est pas ajouté lorsqu'un NDMP existe sur un instantané, la commande échoue avec la sortie suivante :

HTTP/1.1 409 Conflict
{"fault": {"message": "request requires confirm=true to complete (confirmation needed for scripted command(scripted commands must be prefixed with \"confirm\" to automatically confirm or \"deny\" to automatically deny) (encountered while attempting to run command \"confirm destroy snap\"))", "code": 409, "name": "ERR_CONFIRM_REQUIRED"}}

Liste des dépendants d'instantané

Répertorie les dépendants d'un système de fichiers ou volume.

Table 91  Liste des formes de commande de dépendants d'instantané
Commande
/api/storage/v1/pools/{pool}/projects/{project}
List Filesystem Dependents
/filesystems/{share}/snapshots/{snapshot}/dependents
List Volume Dependents
lun/{lun}/snapshots/{snapshot}/dependents
Table 92  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage système
project
Nom du projet
filesystem
Nom du système de fichiers
lun
Nom du LUN

Exemple de demande :

GET /api/storage/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"
        }
    ]
}