JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Administration d'Oracle Solaris 11.1 : Systèmes de fichiers ZFS     Oracle Solaris 11.1 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Système de fichiers Oracle Solaris ZFS (introduction)

2.  Mise en route d'Oracle Solaris ZFS

3.  Gestion des pools de stockage Oracle Solaris ZFS

4.  Gestion des composants du pool root ZFS

5.  Gestion des systèmes de fichiers Oracle Solaris ZFS

Gestion des systèmes de fichiers ZFS (présentation)

Création, destruction et renommage de systèmes de fichiers ZFS

Création d'un système de fichiers ZFS

Destruction d'un système de fichiers ZFS

Modification du nom d'un système de fichiers ZFS

Présentation des propriétés ZFS

Propriétés ZFS natives en lecture seule

Propriété used

Propriétés ZFS natives définies

Propriété canmount

Propriété casesensitivity

Propriété copies

Propriété dedup

Propriété encryption

Propriété recordsize

Propriété share.smb

Propriété volsize

Propriétés ZFS définies par l'utilisateur

Envoi de requêtes sur les informations des systèmes de fichiers ZFS

Affichage des informations de base des systèmes ZFS

Création de requêtes ZFS complexes

Gestion des propriétés ZFS

Définition des propriétés ZFS

Héritage des propriétés ZFS

Envoi de requêtes sur les propriétés ZFS

Envoi de requête sur les propriétés ZFS pour l'exécution de scripts

Montage de système de fichiers ZFS

Gestion des points de montage ZFS

Points de montage automatiques

Points de montage hérités

Montage de système de fichiers ZFS

Utilisation de propriétés de montage temporaires

Démontage des systèmes de fichiers ZFS

Activation et annulation du partage des systèmes de fichiers ZFS

Syntaxe de partage ZFS héritée

Nouvelle syntaxe de partage ZFS

Partage ZFS avec héritage par propriété

Héritage de partage ZFS dans les anciens pools

Partages ZFS nommés

Partages ZFS automatiques

Affichage d'informations de partage ZFS

Modification des valeurs de propriété d'un partage ZFS

Publication et annulation de publication de partages ZFS

Suppression d'un partage ZFS

Partage de fichiers ZFS au sein d'une zone non globale

Problèmes de migration/transition de partage ZFS

Dépannage des problèmes de partage de système de fichiers ZFS

Définition des quotas et réservations ZFS

Définitions de quotas sur les systèmes de fichiers ZFS

Définition de quotas d'utilisateurs et de groupes sur un système de fichiers ZFS

Définition de réservations sur les systèmes de fichiers ZFS

Chiffrement des systèmes de fichiers ZFS

Modification des clés d'un système de fichiers ZFS chiffré

Gestion des clés de chiffrement ZFS

Autorisations de délégation d'opérations sur les clés ZFS

Montage d'un système de fichiers ZFS chiffré

Mise à niveau des systèmes de fichiers ZFS chiffrés

Interactions entre les propriétés de compression, de suppression des doublons et de chiffrement ZFS

Exemples de chiffrement de systèmes de fichiers ZFS

Migration de systèmes de fichiers ZFS

Migration d'un système de fichiers vers un système de fichiers ZFS

Dépannage des migrations de systèmes de fichiers ZFS

Mise à niveau des systèmes de fichiers ZFS

6.  Utilisation des instantanés et des clones ZFS Oracle Solaris

7.  Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS

8.  Administration déléguée de ZFS dans Oracle Solaris

9.  Rubriques avancées Oracle Solaris ZFS

10.  Dépannage d'Oracle Solaris ZFS et récupération de pool

11.  Archivage des instantanés et récupération du pool root

12.  Pratiques recommandées pour Oracle Solaris ZFS

A.  Descriptions des versions d'Oracle Solaris ZFS

Index

Activation et annulation du partage des systèmes de fichiers ZFS

Oracle Solaris 11.1 simplifie l'administration de partage ZFS en utilisant l'héritage de propriété ZFS. La nouvelle syntaxe de partage est activée sur les pools exécutant la version de pool 34.

Il est possible de définir plusieurs partages par système de fichiers. Chaque partage est identifié par un nom unique. Vous pouvez définir les propriétés utilisées pour partager un chemin particulier dans un système de fichiers. Par défaut, aucun système de fichier n'est partagé. En général, les services de serveur NFS ne sont pas démarrés tant qu'un partage n'est pas créé. Si vous créez un partage valide, les services NFS sont démarrés automatiquement. Si la propriété mountpoint d'un système de fichiers ZFS est définie sur legacy, ce système de fichiers peut être partagé à l'aide de la commande héritée share.

Par exemple, si vous voulez partager le système de fichiers tank/home, utilisez une syntaxe similaire à la suivante :

# zfs set share.nfs=on tank/home

Vous pouvez également spécifier des valeurs de propriétés supplémentaires ou modifier des valeurs existantes sur des partages de système de fichiers existant. Par exemple :

# zfs set share.nfs.nosuid=on tank/home/userA

Dans l'exemple précédent, où la propriété share.nfs est définie sur le système de fichiers tank/home, la valeur de propriété share.nfs est héritée par tous les systèmes de fichiers descendants. Par exemple :

# zfs create tank/home/userA
# zfs create tank/home/userB

Syntaxe de partage ZFS héritée

La syntaxe d'Oracle Solaris 11 est toujours prise en charge et vous pouvez donc partager des systèmes de fichiers en deux étapes. Cette syntaxe est prise en charge dans toutes les versions de pool.

Les partages de système de fichiers peuvent être affichés grâce à la commande héritée zfs get share.

# zfs get share rpool/fs1
NAME       PROPERTY  VALUE  SOURCE
rpool/fs1  share     name=fs1,path=/rpool/fs1,prot=nfs  local

De plus, la commande share, pour partager un système de fichiers, similaire à la syntaxe d'Oracle Solaris 10, est toujours prise en charge pour partager tout répertoire au sein d'un système de fichiers. Par exemple, pour partager un système de fichiers ZFS :

# share -F nfs /tank/zfsfs
# grep zfsfs /etc/dfs/sharetab
/tank/zfsfs    tank_zfsfs     nfs     sec=sys,rw

La syntaxe ci-dessus équivaut à partager un système de fichiers UFS :

# share -F nfs /ufsfs
# grep ufsfs /etc/dfs/sharetab
/ufsfs          -               nfs     rw      
/tank/zfsfs     tank_zfsfs      nfs     rw      

Nouvelle syntaxe de partage ZFS

La commande zfs set permet de partager et de publier un système de fichiers ZFS via les protocoles NFS ou SMB. Vous pouvez également définir les propriétés share.nfs ou share.smb quand le système de fichiers est créé.

Par exemple, le système de fichiers tank/sales est créé et partagé. Les autorisations de partage en lecture et écriture s'applique par défaut à tout le monde. Le système de fichiers descendant tank/sales/logs est aussi partagé automatiquement, car la propriété share.nfs est héritée par les systèmes de fichiers descendants et l'accès du système de fichiers tank/sales/log est défini en lecture seule.

# zfs create -o share.nfs=on tank/sales
# zfs create -o share.nfs.ro=\* tank/sales/logs
# zfs get -r share.nfs tank/sales
NAME             PROPERTY   VALUE  SOURCE
tank/sales       share.nfs  on     local
tank/sales%      share.nfs  on     inherited from tank/sales
tank/sales/log   share.nfs  on     inherited from tank/sales
tank/sales/log%  share.nfs  on     inherited from tank/sales

Vous pouvez fournir un accès root à un système spécifique pour un système de fichiers partagé comme suit :

# zfs set share.nfs=on tank/home/data
# zfs set share.nfs.sec.default.root=neo tank/home/data

Partage ZFS avec héritage par propriété

Dans les pools mis à niveau à la version 34, une nouvelle syntaxe de partage simplifie la gestion des partages à l'aide de l'héritage de propriétés ZFS. Chaque caractéristique de partage devient une propriété share distincte. Les propriétés share sont identifiées par les noms comportant le préfixe share.. Exemples de propriétés share : share.desc, share.nfs.nosuid et share.smb.guestok.

La propriété share.nfs contrôle l'activation du partage NFS. La propriété share.smb contrôle l'activation du partage SMB. Les noms des propriétés héritées sharenfs et sharesmb peuvent toujours être utilisés, car dans les nouveaux pools, sharenfs est un alias pour share.nfs et sharesmb est un alias pour share.smb. Si vous voulez partager le système de fichiers tank/home, utilisez une syntaxe similaire à la suivante :

# zfs set share.nfs=on tank/home

Dans cet exemple, la valeur de propriété share.nfs est héritée par tous les systèmes de fichiers descendants. Par exemple :

# zfs create tank/home/userA 
# zfs create tank/home/userB
# grep tank/home /etc/dfs/sharetab
/tank/home      tank_home       nfs     sec=sys,rw      
/tank/home/userA        tank_home_userA nfs     sec=sys,rw      
/tank/home/userB        tank_home_userB nfs     sec=sys,rw   
Héritage de partage ZFS dans les anciens pools

Dans les anciens pools, seules les propriétés sharenfs et sharesmb sont héritées par les systèmes de fichiers descendants. D'autres caractéristiques de partage sont stockées dans le fichier .zfs/shares pour chaque partage et ne sont pas héritées.

Une règle spéciale établit que quand un système de fichiers créé hérite de sharenfs ou sharesmb de son parent, un partage par défaut est créé pour ce système de fichiers à partir de la valeur sharenfs ou sharesmb. Notez que quand sharenfs est simplement activée, le partage par défaut créé dans un système de fichiers descendant possède uniquement les caractéristiques NFS par défaut. Par exemple :

# zpool get version tank
NAME  PROPERTY  VALUE  SOURCE
tank  version   33     default
# zfs create -o sharenfs=on tank/home
# zfs create tank/home/userA
# grep tank/home /etc/dfs/sharetab
/tank/home      tank_home       nfs     sec=sys,rw      
/tank/home/userA        tank_home_userA nfs     sec=sys,r

Partages ZFS nommés

Vous pouvez aussi créer un partage nommé, qui offre plus de flexibilité dans la définition des autorisations et des propriétés dans un environnement SMB. Par exemple :

# zfs share -o share.smb=on tank/workspace%myshare

Dans l'exemple précédent, la commande zfs share crée un partage SMB nommé myshare du système de fichiers tank/workspace. Vous pouvez accéder au partage SMB et afficher ou définir des autorisations ou ACL spécifiques via le répertoire .zfs/shares du système de fichiers. Chaque partage SMB est représenté par un fichier .zfs/shares distinct. Par exemple :

# ls -lv /tank/workspace/.zfs/shares
-rwxrwxrwx+  1 root     root           0 May 15 10:31 myshare
     0:everyone@:read_data/write_data/append_data/read_xattr/write_xattr
         /execute/delete_child/read_attributes/write_attributes/delete
         /read_acl/write_acl/write_owner/synchronize:allow

Les partages nommés héritent des propriétés de partage du système de fichiers parent. Si vous ajoutez la propriété share.smb.guestok au système de fichiers parent dans l'exemple précédent, la propriété est héritée par le partage nommé. Par exemple :

# zfs get -r share.smb.guestok tank/workspace
NAME                    PROPERTY           VALUE  SOURCE
tank/workspace          share.smb.guestok  on     inherited from tank
tank/workspace%myshare  share.smb.guestok  on     inherited from tank

Les partages nommés peuvent être utilisés dans l'environnement NFS lors de la définition de partages pour un sous-répertoire du système de fichiers. Par exemple :

# zfs create -o share.nfs=on -o share.nfs.anon=99 -o share.auto=off tank/home
# mkdir /tank/home/userA
# mkdir /tank/home/userB
# zfs share -o share.path=/tank/home/userA tank/home%userA
# zfs share -o share.path=/tank/home/userB tank/home%userB
# grep tank/home /etc/dfs/sharetab
/tank/home/userA        userA   nfs     anon=99,sec=sys,rw      
/tank/home/userB        userB   nfs     anon=99,sec=sys,rw  

L'exemple ci-dessus illustre que la désactivation de share.auto pour un système de fichiers désactive le partage automatique pour ce dernier tout en laissant toutes les autres propriétés d'héritage intactes. Contrairement à la plupart des propriétés de partage, share.auto n'est pas héritable.

Les partages nommés servent également dans la création d'un partage NFS public. Un partage public peut uniquement être créé sur un partage NFS nommé. Par exemple :

# zfs create -o mountpoint=/pub tank/public
# zfs share -o share.nfs=on -o share.nfs.public=on tank/public%pubshare
# grep pub /etc/dfs/sharetab
/pub    pubshare        nfs     public,sec=sys,rw

Reportez-vous aux pages de manuel share_nfs(1M) et share_smb(1M) pour une description détaillée des propriétés de partages NFS et SMB.

Partages ZFS automatiques

Quand un partage automatique est créé, un nom de ressource unique est construit à partir du nom du système de fichiers. Le nom construit est une copie du nom du système de fichiers, à ceci près que les caractères du nom du système de fichiers qui ne sont pas autorisés dans un nom de ressource sont remplacés par des traits de soulignement (_). Par exemple, le nom de ressource de data/home/john est data_home_john.

La configuration d'un nom de propriété share.autoname permet de remplacer le nom de système de fichiers par un nom spécifique lors de la création du partage automatique. Le nom spécifique sert aussi à remplacer le nom de système de fichiers de préfixe en cas d'héritage. Par exemple :

# zfs create -o share.smb=on -o share.autoname=john data/home/john
# zfs create data/home/john/backups
# grep john /etc/dfs/sharetab
/data/home/john john    smb     
/data/home/john/backups john_backups    smb

Si une commande share ou zfs set share est utilisée sur un système de fichiers qui n'a pas encore été partagé, sa valeur share.auto est automatiquement définie sur off. Les commandes héritées créent toujours des partages nommés. Cette règle spéciale empêche le partage automatique d'interférer avec le partage nommé qui est créé.

Affichage d'informations de partage ZFS

Affichez la valeur des propriétés de partage de fichier à l'aide de la commande zfs get. L'exemple suivant illustre comment afficher la propriété share.nfs pour un système de fichiers :

# zfs get share.nfs tank/sales
NAME        PROPERTY   VALUE  SOURCE
tank/sales  share.nfs  on     local

L'exemple suivant illustre comment afficher la propriété share.nfs pour des systèmes de fichiers descendants :

# zfs get -r share.nfs tank/sales
NAME             PROPERTY   VALUE  SOURCE
tank/sales       share.nfs  on     local
tank/sales%      share.nfs  on     inherited from tank/sales
tank/sales/log   share.nfs  on     inherited from tank/sales
tank/sales/log%  share.nfs  on     inherited from tank/sales

Les informations de propriétés de partage étendues ne sont pas disponibles dans la syntaxe de la commande zfs get all.

Vous pouvez afficher des détails spécifiques concernant des informations de partage NFS ou SMB à l'aide de la syntaxe suivante :

# zfs get share.nfs.all tank/sales
NAME        PROPERTY             VALUE  SOURCE
tank/sales  share.nfs.aclok      off    default
tank/sales  share.nfs.anon              default
tank/sales  share.nfs.charset.*  ...    default
tank/sales  share.nfs.cksum             default
tank/sales  share.nfs.index             default
tank/sales  share.nfs.log               default
tank/sales  share.nfs.noaclfab   off    default
tank/sales  share.nfs.nosub      off    default
tank/sales  share.nfs.nosuid     off    default
tank/sales  share.nfs.public     -      -
tank/sales  share.nfs.sec               default
tank/sales  share.nfs.sec.*      ...    default

Comme il existe de nombreuses propriétés de partage, envisagez de les afficher avec une valeur autre que par défaut. Par exemple :

# zfs get -e -s local,received,inherited share.all tank/home
NAME       PROPERTY           VALUE  SOURCE
tank/home  share.auto         off    local
tank/home  share.nfs          on     local
tank/home  share.nfs.anon     99     local
tank/home  share.protocols    nfs    local
tank/home  share.smb.guestok  on     inherited from tank

Modification des valeurs de propriété d'un partage ZFS

Vous pouvez modifier les valeurs de propriété d'un partage en spécifiant des propriétés nouvelles ou modifiées sur un partage de système de fichiers. Par exemple, si la propriété lecture seule est définie quand le système de fichiers est créé, la propriété ne peut pas être désactivée.

# zfs create -o share.nfs.ro=\* tank/data
# zfs get share.nfs.ro tank/data
NAME       PROPERTY              VALUE  SOURCE
tank/data  share.nfs.sec.sys.ro  on     local
# zfs set share.nfs.ro=none tank/data
# zfs get share.nfs.ro tank/data
NAME       PROPERTY              VALUE  SOURCE
tank/data  share.nfs.sec.sys.ro  off    local

Si vous créez un partage SMB, vous pouvez aussi ajouter le protocole de transfert NFS. Par exemple :

# zfs set share.smb=on tank/multifs
# zfs set share.nfs=on tank/multifs
# grep multifs /etc/dfs/sharetab
/tank/multifs   tank_multifs    nfs     sec=sys,rw      
/tank/multifs   tank_multifs    smb     -       

Supprimez le protocole SMB :

# zfs set share.smb=off tank/multifs
# grep multifs /etc/dfs/sharetab
/tank/multifs   tank_multifs    nfs     sec=sys,rw

Il est possible de renommer un partage nommé. Par exemple :

# zfs share -o share.smb=on tank/home/abc%abcshare
# grep abc /etc/dfs/sharetab
/tank/home/abc  abcshare        smb     -   
# zfs rename tank/home/abc%abcshare tank/home/abc%a1share
# grep abc /etc/dfs/sharetab
/tank/home/abc  a1share        smb     -   

Publication et annulation de publication de partages ZFS

Vous pouvez temporairement arrêter un partage nommé sans le détruire à l'aide de la commande zfs unshare. Par exemple :

# zfs unshare tank/home/abc%a1share
# grep abc /etc/dfs/sharetab
#
# zfs share tank/home/abc%a1share
# grep abc /etc/dfs/sharetab
/tank/home/abc  a1share smb     -

Quand la commande zfs unshare est utilisée, tous les partages de système de fichiers sont arrêtés. Ces partages restent ainsi jusqu'à ce que la commande zfs share soit émise pour le système de fichiers ou que les propriétés share.nfs ou share.smb soient définies pour le système de fichiers.

Les partages définis ne sont pas supprimés quand la commande zfs unshare est émise et sont de nouveau actifs à l'émission suivante de la commande zfs share pour le système de fichiers ou quand la propriété share.nfs ou share.smb est définie pour le système de fichiers.

Suppression d'un partage ZFS

Vous pouvez arrêter un partage de système de fichiers en définissant la propriété share.nfs ou share.smb sur off. Par exemple :

# zfs set share.nfs=off tank/multifs
# grep multifs /etc/dfs/sharetab
# 

Vous pouvez supprimer définitivement un partage nommé avec la commande zfs destroy. Par exemple :

# zfs destroy tank/home/abc%a1share

Partage de fichiers ZFS au sein d'une zone non globale

Depuis Oracle Solaris 11, vous pouvez créer et publier des partages NFS dans une zone non globale d'Oracle Solaris.

Par exemple, les systèmes de fichiers /export/home/data et export/home/data1 sont disponibles dans zfszone.

zfszone# share -F nfs /export/home/data
zfszone#  cat /etc/dfs/sharetab
zfszone# zfs set share.nfs=on tank/zones/export/home/data1
zfszone# cat /etc/dfs/sharetab

Problèmes de migration/transition de partage ZFS

Cette section présente tous les problèmes de transition.

Dépannage des problèmes de partage de système de fichiers ZFS

Consultez les scénarios et considérations de comportement suivants :

Le tableau suivant identifie les états de partage connus et la manière de les résoudre, si nécessaire.

Etat de partage
Description
Solution
INVALID
Le partage n'est pas valide car il est incohérent de manière interne ou il entre en conflit avec un autre partage.
Tentez de repartager le partage non valide à l'aide de la commande suivante :
# zfs share FS%share

L'utilisation de cette commande affiche une erreur concernant l'aspect du partage qui n'est pas validé. Corrigez cette erreur et retentez le partage.

SHARED
Le partage est partagé.
Pas nécessaire.
UNSHARED
Le partage est valide mais pas partagé.
Utilisez la commande zfs share pour repartager le partage en question ou le système de fichiers parent.
UNVALIDATED
Le partage n'est pas encore validé. Il se peut que le système de fichiers qui contient le partage ne soit pas dans un état partageable. Par exemple, il n'est pas monté ou est délégué à une zone autre que la zone actuelle. Autre possibilité, les propriétés FZS représentant le partage désiré ont été créées mais pas validées comme partage légal.
Utilisez la commande zfs share pour repartager le partage en question ou le système de fichiers parent. Si le système de fichiers est partageable, la tentative de repartager fonctionne (et l'état passe à shared) ou échoue (et l'état passe à invalid). Vous pouvez également utiliser la commande share -A pour répertorier tous les partages dans tous les systèmes de fichiers montés. Tous les partages des systèmes de fichiers montés sont alors résolus comme unshared (valides mais pas encore partagés) ou invalid.