JavaScript is required to for searching.
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
Oracle Technology Network
Bibliothèque
PDF
Vue de l'impression
Commentaires
search filter icon
search icon

Informations sur le document

Prise en main de l'API Oracle ZFS Storage Appliance RESTful

Utilisation de l'API RESTful

Service d'alerte API RESTful

Services Analytics

Services matériels

Commandes des journaux

Commandes réseau

Service des problèmes de l'API RESTful

Service des rôles de l'API RESTful

Service SAN de l'API RESTful

Commandes de service

Service de stockage de l'API RESTful

Opérations de pool de stockage

List Pools

Get Pool

Configure Pool

Add Storage to a Pool

Pool Scrub

Unconfigure Pool

Opérations relatives à des projets

List Projects

Get Project Properties

Create Project

Modify Project

Delete Project

Project Usage

Opérations liées aux systèmes de fichiers

List Filesystems

Get Filesystem

Create Filesystem

Modify Filesystem

Delete Filesystem

Quota et utilisation des systèmes de fichiers

Opérations LUN

List LUNS

Get LUN

Create a New LUN

Modify LUN

Delete Lun

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

List Snapshots

Get Snapshot

Create Snapshot

Rename Snapshot

Clone Snapshot

Rollback Snapshot

Delete a Snapshot

List Snapshot Dependents

Schema

List Properties

Get Property

Create Property

Modify Property

Delete Property

Réplication

Get Replication Service

Modify Replication Service State

Cibles de réplication

List Replication Targets

Get Replication Target

Create Replication Target

Delete Replication Target

Actions de réplication

List Replication Actions

Get Replication Action

Create Replication Action

Modify Replication Action

Cancel Update

Send Update

Delete a Replication Action

Packages de réplication

List Replication Sources

List Replication Packages

Modify Package

Delete Package

Cancel Update

Clone Package

Sever Package

Reverse Package

Commandes système

Service utilisateur de l'API RESTful

Commandes des workflows

Clients RESTful

Opérations LUN

Toutes les opérations LUN ou de volume sont configurées pour porter sur un pool de stockage ou un projet donné. Les commandes LUN suivantes sont disponibles.

Table 12-17  Commandes de volume
Demande
Chemin /api/storage/v1
Description
GET
/luns
Liste de tous les LUN
GET
/pools/<pool>/projects /<project>/luns
List LUNS
GET
/pools/<pool>/projects /<project>/luns/<lun>
Obtention des détails du LUN
POST
/pools/<pool>/projects /<project>/luns
Création d'un LUN
PUT
/pools/<pool>/projects /<project>/luns/<lun>
Modification d'un LUN
DELETE
/pools/<pool>/projects /<project>/luns/<lun>
Destruction d'un LUN

Le tableau suivant répertorie les propriétés des LUN : Les volumes peuvent également hériter des ou remplacer les propriétés du projet.

Table 12-18  Propriétés du volume
Type
Nom
Description
string
assignednumber
Numéro assigné à la LU
boolean
fixednumber
Indicateur de définition du numéro d'unité logique à la valeur actuelle
string
initiatorgroup
Groupe d'initiateurs
string
lunguid
STMF GUID
string
lunnumber
Numéro de LU. Nombre ou "auto"
string
project
Nom du projet (inaltérable)
object
source
Liste de la source des propriétés ("local", "inherited")
boolean
sparse
Indicateur d'activation de l'allocation fine
string
status
Etat de l'unité logique ("online", "offline")
string
targetgroup
Groupe cible
object
usage
Liste des statistiques d'utilisation du LUN
number
volblocksize
Taille de bloc des volumes
number
volsize
Taille des volumes
boolean
writecache
Indicateur d'activation du cache d'écriture

Certaines propriétés peuvent être héritées du projet. L'objet source répertorie chacune de ces propriétés et détermine si la propriété est "local" par rapport au LUN ou "inherited" du projet. Par défaut, ces propriétés sont héritées par le projet. Une fois définies, elles sont locales par rapport au LUN. L'objet source est inaltérable. Pour repasser la source sur "inherited", les propriétés peuvent être définies sur "unset".

Exemple de demande JSON pour annuler le paramétrage de la compression :

{"unset": ["compression"]}

List LUNS

La commande d'énumération des LUN renvoie une liste de LUN disponibles dans un pool ou un projet donné.

Table 12-19  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet

Exemple de demande d'énumération des LUN au sein d'un projet "proj-01" :

GET /api/storage/v1/pools/gold/projects/proj-01/luns HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

En cas de succès de la commande Get, un statut HTTP 200 (OK) est renvoyé ainsi qu'un tableau des propriétés du LUN au format JSON.

Exemple de réponse :

HTTP/1.1 200 OK
Content-Type: application/json
{
    "luns": [{
        "id": "fa4ac6fb-0bcc-d2e3-0000-000000000000",
        “name”: “vol-01”
        ...
    }, {
         "id": "690ae407-7c4d-b5d2-0000-000000000000",
         “name”: “vol-01”,
         ....
    }]
}

Get LUN

La commande d'obtention de LUN renvoie les propriétés d'un LUN unique dans un pool ou un projet donné.

Table 12-20  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet
lun
Nom du LUN

Exemple de demande d'obtention d'un LUN nommé "vol-01" :

GET /api/storage/v1/pools/gold/projects/proj-01/lun/vol-01 HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

En cas de succès de la commande Get, un statut HTTP 200 (OK) est renvoyé ainsi qu'un tableau des propriétés du LUN au format JSON.

Exemple de réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
    “lun”: {
        "logbias": "latency",
        "creation": "20130423T21:31:17",
        "nodestroy": false,
        "dedup": false,
        "rrsrc_actions": [],
        "id": "e3045406-319b-cf7a-0000-000000000000",
        "writecache": false,
        "compression": "off",
        "copies": 1,
        "stmfguid": "600144F0D8E0AE4100005176FDA60001",
        "source": {
            "compression": "default",
            "checksum": "inherited",
            "logbias": "default",
            "dedup": "default",
            "copies": "default",
            "exported": "inherited",
            "rrsrc_actions": "inherited",
            "secondarycache": "default"
        },
        "canonical_name": "platinum/local/default/disk1",
        "snaplabel": "",
        "usage": {
            "available": 881469214720.0,
            "loading": false,
            "snapshots": 0.0,
            "compressratio": 100.0,
            "total": 1073758208.0,
            "data": 1073758208.0
        },
        "secondarycache": "all",
        "collection": "local",
        "exported": true,
        "volsize": 1073741824.0,
        "pool": "platinum",
        "volblocksize": 8192,
        "checksum": "fletcher4",
        "project": "default",
        "sparse": false
    }
}

Create a New LUN

Cette commande crée un nouveau LUN. Vous devez indiquer une taille ou une source de clonage pour le nouveau LUN.

Table 12-21  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet

Paramètres de demande :

Exemple de demande :

POST /api/storage/v1/pools/gold/projects/proj-01/luns HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

Request JSON:
{
        name : "vol-001",           // Volume name (required)

        size : 500000,              // New Volume size
        blocksize : 8192,           // New Volume block size
        sparse : true,              // New Volume sparse data flag

        initiatorgroup : 'default', // Initiator group name
        targetgroup : 'default',    // Target group name
        lunnumber : 'auto',         // Volume LUN number
        status : 'online',          // Initial Status ('online', 'offline')
        fixednumber : false,

        "source": {
            "snapshot_id" : "76b8950a-8594-4e5b-8dce-0dfa9c696358",
            "snapshot": "/pool-001/local/proj-001/snap-001"
        }
}

Une création réussie renvoie un statut HTTP 201 (Created) dont l'en-tête d'emplacement contient l'URI du nouveau LUN. Le corps contient toutes les propriétés du LUN au format JSON.

Exemple de résultats :

HTTP/1.1 201 Created
Content-Type: application/json
Location: http://zfs-storage.example.com:215
          /pools/gold/projects/proj-01/luns/vol-001

{
    “lun”: {
        "name": "vol-001",
        ...
    }
}

Modify LUN

La commande Modify LUN modifie les attributs d'un LUN existant.

Table 12-22  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet
lun
Nom du LUN

Paramètres de demande, propriétés de volume : chaque propriété du LUN ou du projet peut être modifiée

Exemple de demande de modification d'un LUN nommé "proj-01" en "new-name" :

POST /api/storage/v1/pools/gold/projects/proj-01/luns/vol-01 HTTP/1.1
Host: zfs-storage.example.com
Content-Type: application/json
Accept: application/json

{
    “name”: “new-name”,
}

Une réponse obtenue avec succès renvoie le code de statut HTTP 202 (Accepted) et répertorie toutes les propriétés du LUN.

Exemple de réponse :

HTTP/1.1 201 Created
Content-Type: application/json
Location: /api/storage/v1/pools/gold/projects/proj-01/luns/new-name

{
    “lun”: {
        “name”: “new-name”,
        “pool”: “gold”,
        “collection”: “local”,
        “project”: “proj-01”,
        ...
    }
}

Delete Lun

La commande de suppression d'un LUN supprime un LUN unique dans un pool ou projet donné.

Table 12-23  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet
lun
Nom du LUN

Exemple de demande :

DELETE /pools/gold/projects/proj-01/luns/lun-01 HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

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

Exemple de réponse :

HTTP/1.1 204 No-Content