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 systèmes de fichiers

Les opérations liées aux systèmes de fichiers répertorient et gèrent les partages de systèmes de fichiers. Toutes les commandes sont configurées pour porter sur un pool de stockage ou un projet donné.

{service_uri}/pools/{pool}/project/{project}
Table 70  Commandes des systèmes de fichiers
Demande
Chemin /api/storage/v1
Description
GET
/filesystems
Liste de tous les systèmes de fichiers
GET
/pools/<pool>/projects /<project>/filesystems
Liste de systèmes de fichiers
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>
Obtention des détails des systèmes de fichiers
POST
/pools/<pool>/projects /<project>/filesystems
Création d'un système de fichiers
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>
Modification d'un système de fichiers
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>
Destruction d'un système de fichiers
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups
Obtention de l'utilisation d'un groupe de systèmes de fichiers
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups /<group>
Obtention de l'utilisation d'un groupe de systèmes de fichiers par rapport au groupe spécifié
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups
Création d'un quota de groupe de systèmes de fichiers
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/groups /<name>
Modification d'un quota de groupe de systèmes de fichiers
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users
Obtention de l'utilisation par un utilisateur de système de fichiers
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users /<user>
Obtention de l'utilisation d'un système de fichiers par l'utilisateur spécifié
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users
Création d'un quota d'utilisateur de systèmes de fichiers
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/usage/users /<name>
Modifie un quota d'utilisateur de systèmes de fichiers

Chaque système de fichiers contient des propriétés liées au projet ainsi que les propriétés spécifiques au système de fichiers suivantes.

Table 71  Propriétés des systèmes de fichiers
Type
Nom
Description
string
casesensitivity
Paramètre de sensibilité à la casse ("mixed", "sensitive" ou "insensitive")
string
groupe
Nom du groupe
string
normalization
Normalisation
string
permissions
Autorisations du système de fichiers
string
project
Nom du projet
boolean
quota_snap
Indicateur d'inclusion d'instantanés dans le quota
boolean
reservation_snap
Indicateur d'inclusion d'instantanés dans la réservation
string
shadow
Source de migration de données
string
sharesmb_name
Nom du partage SMB
object
source
Propriétés d'héritage du projet
object
usage
Information d'utilisation du système de fichiers
string
user
Nom de l'utilisateur détenteur du partage
boolean
utf8only
Indicateur de rejet d'éléments hors UTF-8

List Filesystems

La commande d'énumération des systèmes de fichiers affiche tous les systèmes de fichiers dans un pool ou un projet donné.

Filtre des paramètres de requête : simple filtre de correspondance de chaîne nécessitant une propriété au sein du projet pour contenir la même chaîne de filtre par rapport à sa valeur.

Table 72  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet

Exemple de demande :

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

Une demande traitée avec succès renvoie un code de statut HTTP 200 (OK) ainsi qu'un tableau contenant les propriétés du système de fichiers au format JSON.

Exemple de résultat :

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

{
    “filesystems”: [{
        “name”: “filesystem-01”,
        “project”: “proj-01”,
        “pool”: “gold”,
        ...
    }, {
        “name”: “filesystem-02”,
        “project”: “proj-01”,
        “pool”: “gold”,
        ...
    }]
}

Une liste de tous les systèmes de fichiers contenus dans tous les pools et projets est également prise en charge. Dans ce cas, l'URI serait /api/storage/v1/filesystems

Exemple de demande d'obtention de tous les systèmes de fichier dont les propriétés contiennent la chaîne "abcd" :

GET /api/storage/v1/filesystems?filter=abcd HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

Get Filesystem

La commande d'obtention des systèmes de fichiers renvoie les propriétés d'un système de fichiers unique dans un pool ou un projet donné.

Table 73  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet
filesystem
Nom du système de fichiers

Exemple de demande pour répertorier le projet nommé "proj-01" :

GET /api/storage/v1/pools/gold/projects/proj-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 système de fichiers au format JSON.

Exemple de réponse :

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

{
    "filesystem": {
        "logbias": "latency",
        "creation": "20130423T21:30:34",
        "nodestroy": false,
        "dedup": false,
        "sharenfs": "on",
        "sharesmb": "off",
        "mountpoint": "/export/grape",
        "snaplabel": "",
        "id": "424ca2ec-b3fa-df86-0000-000000000000",
        "readonly": false,
        "rrsrc_actions": [],
        "compression": "off",
        "sharetftp": "",
        "source": {
            "logbias": "default",
            "dedup": "default",
            "sharenfs": "inherited",
            "sharesmb": "off",
            "mountpoint": "inherited",
            "rrsrc_actions": "local",
            "compression": "default",
            "sharetftp": "inherited",
            "snapdir": "default",
            "aclmode": "default",
            "copies": "default",
            "aclinherit": "default",
            "shareftp": "inherited",
            "readonly": "default",
            "secondarycache": "default",
            "exported": "inherited",
            "vscan": "default",
            "reservation": "local",
            "atime": "default",
            "recordsize": "default",
            "checksum": "inherited",
            "sharesftp": "inherited",
            "nbmand": "default",
            "rstchown": "default"
        },
        "snapdir": "hidden",
        "aclmode": "discard",
        "copies": 1,
        "aclinherit": "restricted",
        "shareftp": "",
        "canonical_name": "platinum/local/default/grape",
        "recordsize": 131072.0,
        "usage": {
            "available": 880395477504.0,
            "loading": false,
            "quota": 0.0,
            "snapshots": 18432.0,
            "compressratio": 100.0,
            "reservation": 0.0,
            "total": 50176.0,
            "data": 31744.0
        },
        "secondarycache": "all",
        "collection": "local",
        "exported": true,
        "vscan": false,
        "reservation": 0.0,
        "shadow": "none",
        "atime": true,
        "pool": "platinum",
        "quota_snap": true,
        "name": "grape",
        "checksum": "fletcher4",
        "project": "default",
        "sharesftp": "",
        "nbmand": false,
        "reservation_snap": true,
        "sharedav": "",
        "rstchown": true
    }
}

Create Filesystem

La commande de création de systèmes de fichiers crée un système de fichiers avec un nom donné situé dans le pool de stockage ou projet donné. Le nouveau système de fichiers avec les propriétés par défaut est renvoyé.

Table 74  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet
filesystem
Nom du système de fichiers

Paramètres de demande :

  • nom : le nom du système de fichiers doit être renseigné pour créer un nouveau système de fichiers.

  • propriétés du système de fichiers : chaque propriété répertoriée dans les propriétés du système de fichiers peut être définie en tant que valeur initiale.

Exemple de demande de création d'un système de fichiers nommé "share-01" et dont l'utilisateur "joe" est le propriétaire :

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

{
    “name”: “share-01”,
    “owner”: “joe”
}

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

Exemple de réponse :

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

{
    “filesystem”: {
        “name”: “share-01”,
        “pool”: “gold”,
        “collection”: “local”,
        “project”: “proj-01”,
        “owner”: “joe”
        ...
    }
}

Modify Filesystem

La commande Modify Filesystem modifie les attributs d'un système de fichiers existant. Une réponse obtenue avec succès renvoie le code de statut HTTP 202 (Accepted) et répertorie toutes les propriétés du système de fichiers.

Paramètres de demande, propriétés de système de fichiers : chaque propriété du système de fichiers ou projet peut être modifiée.

Table 75  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet
filesystem
Nom du système de fichiers

Exemple de demande de modification d'un nom de système de fichiers "share-01" en "new-name" et de modification de l'utilisateur en "nobody" :

PUT /api/storage/v1/pools/gold/projects/proj-01/filesystems/share-01
    HTTP/1.1
Host: zfs-storage.example.com
Content-Type: application/json
Accept: application/json

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

Exemple de réponse :

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: http://zfs-storage.example.com:215
          /pools/gold/projects/proj-01/filesystems/share-01

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

Delete Filesystem

La commande de suppression de systèmes de fichiers supprime un système de fichiers unique dans un pool ou projet donné.

Table 76  Paramètres URI
Paramètre
Description
pool
Nom du pool de stockage
project
Nom du projet
filesystem
Nom du système de fichiers

Exemple de demande :

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

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

Exemple de réponse :

HTTP/1.1 204 No-Content

Quota et utilisation des systèmes de fichiers

Les quotas d'utilisateur ou de groupe peuvent être créés ou modifiés respectivement avec les demandes POST et PUT. Les demandes GET liées aux ressources d'utilisation de système de fichiers peuvent être utilisées pour obtenir les données d'utilisation par utilisateur ou par groupe associé au projet.