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
 
 

Opérations de sauvegarde instantanée

Les opérations de sauvegarde instantanée permettent de gérer des sauvegardes d'instantanés de partage sur Oracle Cloud Infrastructure Object Storage. Pour créer un instantané, reportez-vous à Opérations liées aux instantanés et au clonage.

Les instantanés portant le même nom sur différents systèmes locaux peuvent être sauvegardés sur la même cible cloud car chacun reçoit un identificateur unique.

Le même instantané de système de fichiers peut servir à deux sauvegardes cloud dans deux formats différents.

Vous pouvez supprimer un instantané local après sa sauvegarde sur le cloud. Toutefois, conservez les instantanés locaux qui pourraient servir d'instantanés parent pour de futurs instantanés incrémentiels.

Table 30  Commandes de sauvegarde instantanée
Demande
Ajouter au chemin :
/api/storage/v2/pools/pool/projects/project
Plus une des chaînes suivantes :
  • /filesystems/fs

  • /luns/lun

Description
GET
/snapshots/snapshot/backups
Enumération de toutes les sauvegardes instantanées de n'importe quel format.
GET
/snapshots/snapshot/backups/format/backup-id/target-id
Affichage de la sauvegarde instantanée spécifiée.
DELETE
/snapshots/snapshot/backups/format/backup-id/target-id
Suppression de la sauvegarde instantanée spécifiée.
POST
/snapshots/snapshot/backups
Création d'une sauvegarde instantanée.

Liste des sauvegardes instantanées

L'exemple suivant énumère toutes les sauvegardes cloud de n'importe quel format d'instantané snap0 dans le système de fichiers f-1.

Exemple de demande :

GET /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
User-Agent: curl/7.54.0
Accept: */*

Exemple de résultat :

HTTP/1.1 200 OK
Date: Wed, 07 Jan 2020 20:54:47 GMT
Content-Length: 708
X-Zfssa-Storage-Api: 2.0
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 2.0

{
    "backups": [{
        "finished": "2020-01-07T21:02:14Z",
        "format": "tar",
        "href": "/api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups/tar/backup-id/target-id",
        "id": "backup-id",
        "status": "completed",
        "target": "target-id",
        "targetName": "oci-ashburn"
    }]
}

La demande suivante obtient la sauvegarde instantanée spécifiée.

GET /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups/format/backup-id/target-id HTTP/1.1

Création d'une sauvegarde instantanée

L'exemple suivant crée une sauvegarde de l'instantané snap0 au format tar et la stocke sur la cible oci-phoenix. La sauvegarde est créée au format zfs si aucun n'est spécifié. Pour visualiser la progression de la suppression de la sauvegarde instantanée, utilisez Liste des travaux pour afficher le travail portant l'identificateur job-id renvoyé.

Si la propriété writelimit est définie pour la cible, le nombre d'octets par seconde écrits depuis cette dernière ne dépasse pas la valeur writelimit. Reportez-vous à Création d'une cible.

Exemple de demande :

POST /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*
{
    "target": "oci-phoenix",
    "format": "tar"
}

Exemple de résultat :

{
    "action": "job-id"
}

Création d'une sauvegarde instantanée incrémentielle

Pour créer une sauvegarde instantanée incrémentielle, spécifiez la valeur true pour la propriété incremental et l'instantané parent à utiliser pour la comparaison.

  • L'instantané parent doit exister dans le même système local et sur la même cible cloud que la sauvegarde instantanée incrémentielle spécifiée. Dans l'exemple suivant, l'instantané snap0 doit exister dans le système de fichiers f-1 dans le système local et sur la cible cloud.

  • Les instantanés de système de fichiers parent et incrémentiel doivent avoir le même format : zfs ou tar.

La demande suivante crée une sauvegarde du système de fichiers f-1, soit la différence entre snap0 et l'état actuel du système de fichiers f-1. La sauvegarde instantanée incrémentielle, snap1, est stockée sur la cible oci-ashburn. La sauvegarde instantanée incrémentielle a le même format que la sauvegarde parent.

Exemple de demande :

POST /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap1/backups HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*

{
    "target":  "oci-ashburn",
    "incremental": true,
    "parent": "snap0"
}

Exemple de résultat :

{
    "action": "job-id"
}

Identification des parents d'une sauvegarde instantanée incrémentielle

L'exemple suivant identifie les parents de la sauvegarde instantanée incrémentielle spécifiée sur la cible indiquée. Dans cet exemple, les parents de la sauvegarde de l'instantané snap2 sur la cible oci-ashburn sont les instantanés snap1 et snap0. Le résultat indique que cet appareil a accès aux cibles oci-ashburn et oci-phoenix. Aucun résultat n'apparaît pour oci-phoenix car la demande porte sur oci-ashburn.

Exemple de demande :

POST /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/backups?props=true HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*

{
    "target": "oci-ashburn"
}

Exemple de résultat :

HTTP/1.1 200 OK
Date: Wed, 22 Jan 2020 22:02:17 GMT
Content-Length: 316
X-Zfssa-Storage-Api: 2.0
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 2.0

{
    "props": [{
        "choices": [
            "oci-ashburn",
            "oci-phoenix"
        ],
        "data_type": "string",
        "label": "Backup target",
        "name": "target"
    },{
        "choices": [
            "zfs",
            "tar"
        ],
        "data_type": "string",
        "label": "format",
        "name": "format"
    },{
        "choices": [
            true,
            false
        ],
        "data_type": "boolean",
        "label": "Incremental",
        "name": "incremental"
    },{
        "choices": [
            "snap1",
            "snap0"
        ],
        "data_type": "string",
        "label": "Parent",
        "name": "parent"
    }]
}

L'exemple suivant utilise GET au lieu de POST comme autre méthode pour identifier les parents de la sauvegarde instantanée incrémentielle spécifiée sur la cible indiquée. Ainsi, vous n'avez pas besoin de spécifier la cible. Les résultats ne présentent aucun parent pour snap2 sur la cible oci-phoenix. Vous ne pouvez donc pas créer de sauvegarde incrémentielle de snap2 sur oci-phoenix. Vous pourriez créer une sauvegarde complète de snap2 sur oci-phoenix.

Exemple de demande :

GET /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*

Exemple de résultat :

HTTP/1.1 200 OK
Date: Wed, 07 Jan 2020 22:04:08 GMT
Content-Length: 329
X-Zfssa-Storage-Api: 2.0
Content-Type: application/json; charset=utf-8
X-Zfssa-Api-Version: 2.0

{
    "targets": [{
        "format": "zfs",
        "href": "/api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets/zfs/target-id1",
        "id": "target-id1",
        "name": "oci-ashburn",
        "parents": [
            "snap0",
            "snap1"
        ]
    },{
        "format": "tar",
        "href": "/api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets/tar/target-id1",
        "id": "target-id1",
        "name": "oci-ashburn",
        "parents": [
            "snap0",
            "snap1"
        ]
    },{
        "id": "target-id2",
        "name": "oci-phoenix",
        "parents": [],
        "href": "/api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets/target-id2"
    }]
}

Utilisez la demande suivante pour afficher les parents d'une sauvegarde instantanée spécifiée :

GET /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap2/targets/format/target-id1 HTTP/1.1

Suppression d'une sauvegarde instantanée

L'exemple suivante supprime la sauvegarde instantanée spécifiée. Pour visualiser la progression de la suppression de la sauvegarde, utilisez Liste des travaux pour afficher le travail portant l'identificateur job-id renvoyé.

Exemple de demande :

DELETE /api/storage/v2/pools/p1/projects/default/filesystems/f-1/snapshots/snap0/backups/format/backup-id/target-id HTTP/1.1
Host: hostname:215
Authorization: Basic Tm8gcGVla2luZyE=
Accept: */*

Exemple de résultat :

{
    "action": "job-id"
}