Sie sind auf Seite 1von 288

Guide d'administration Solaris

ZFS

Sun Microsystems, Inc.


4150 Network Circle
Santa Clara, CA 95054
U.S.A.
Rfrence : 820231512
Octobre 2008

Copyright 2008 Sun Microsystems, Inc.

4150 Network Circle, Santa Clara, CA 95054 U.S.A.

Tous droits rservs.

Sun Microsystems, Inc. dtient les droits de proprit intellectuelle de la technologie utilise par le produit dcrit dans le prsent document. En particulier, et sans
limitation, ces droits de proprit intellectuelle peuvent inclure des brevets amricains ou dpts de brevets en cours d'homologation aux tats-Unis et dans d'autres
pays.
Droits du gouvernement amricain logiciel commercial. Les utilisateurs gouvernementaux sont soumis au contrat de licence standard de Sun Microsystems, Inc. et
aux dispositions du Federal Acquisition Regulation (FAR, rglements des marchs publics fdraux) et de leurs supplments.
Cette distribution peut contenir des lments dvelopps par des tiers.
Des parties du produit peuvent tre drives de systmes Berkeley-BSD, sous licence de l'Universit de Californie. UNIX est une marque dpose aux tats-Unis et
dans d'autres pays, sous licence exclusive de X/Open Company, Ltd.
Sun, Sun Microsystems, le logo Sun, le logo Solaris, le logo Java (tasse de caf), docs.sun.com, Java et Solaris sont des marques de fabrique ou des marques dposes de
Sun Microsystems, Inc. aux tats-Unis et dans d'autres pays. Toutes les marques SPARC sont utilises sous licence et sont des marques de fabrique ou des marques
dposes de SPARC International, Inc. aux tats-Unis et dans d'autres pays. Les produits portant les marques SPARC sont constitus selon une architecture
dveloppe par Sun Microsystems, Inc. Legato NetWorker est une marque commerciale ou une marque dpose de Legato Systems, Inc.
L'interface utilisateur graphique OPEN LOOK et SunTM a t dveloppe par Sun Microsystems, Inc. pour ses utilisateurs et dtenteurs de licence. Sun reconnat le
travail prcurseur de Xerox en matire de recherche et de dveloppement du concept d'interfaces utilisateur visuelles ou graphiques pour le secteur de l'informatique.
Sun dtient une licence Xerox non exclusive sur l'interface utilisateur graphique Xerox. Cette licence englobe galement les dtenteurs de licences Sun qui
implmentent linterface utilisateur graphique OPEN LOOK et qui, en outre, se conforment aux accords de licence crits de Sun.
Les produits cits dans la prsente publication et les informations qu'elle contient sont soumis la lgislation amricaine relative au contrle sur les exportations et, le
cas chant, aux lois sur les importations ou exportations dans d'autres pays. Il est strictement interdit d'employer ce produit conjointement des missiles ou armes
biologiques, chimiques, nuclaires ou de marine nuclaire, directement ou indirectement. Il est strictement interdit d'effectuer des exportations et rexportations
vers des pays soumis l'embargo amricain ou vers des entits identifies sur les listes noires des exportations amricaines, notamment les individus non autoriss et
les listes nationales dsignes.
LA DOCUMENTATION EST FOURNIE "EN L'TAT" ET TOUTES AUTRES CONDITIONS, REPRSENTATIONS ET GARANTIES EXPRESSES OU TACITES,
Y COMPRIS TOUTE GARANTIE IMPLICITE RELATIVE LA COMMERCIALISATION, L'ADQUATION UN USAGE PARTICULIER OU LA
NON-VIOLATION DE DROIT, SONT FORMELLEMENT EXCLUES. CETTE EXCLUSION DE GARANTIE NE S'APPLIQUERAIT PAS DANS LA MESURE O
ELLE SERAIT TENUE JURIDIQUEMENT NULLE ET NON AVENUE.

081117@21288

Table des matires

Prface ...................................................................................................................................................11

Systme de fichiers ZFS (prsentation) ........................................................................................... 15


Nouveauts de ZFS .............................................................................................................................. 15
Prise en charge de l'installation et de l'initialisation de ZFS .................................................... 16
Rtablissement d'un jeu de donnes sans dmontage ............................................................. 16
Amliorations apportes la commande zfs send .................................................................17
Quotas et rservations ZFS pour les donnes de systme de fichiers uniquement ............... 18
Proprits de pool de stockage ZFS ............................................................................................ 18
Amliorations apportes l'historique des commandes ZFS (zpool history) ...................19
Mise niveau des systmes de fichiers ZFS (zfs upgrade) .....................................................20
Administration dlgue de ZFS ................................................................................................ 21
Configuration de priphriques de journalisation ZFS distincts ........................................... 21
Cration de jeux de donnes ZFS intermdiaires ..................................................................... 23
Amliorations apportes la connexion chaud ZFS .......................................................... 23
Renommage rcursif d'instantans ZFS (zfs rename -r) .......................................................24
La compression GZIP est disponible pour ZFS ........................................................................ 25
Stockage de plusieurs copies de donnes utilisateur ZFS ........................................................ 25
Amlioration de la sortie de la commande zpool status .......................................................26
Amliorations de ZFS et Solaris iSCSI ....................................................................................... 27
Historique de commande ZFS (zpool history) ......................................................................27
Amliorations de proprits ZFS ............................................................................................... 28
Affichage de la totalit des informations de systmes de fichiers ZFS ................................... 29
Nouvelle option zfs receive -F ................................................................................................29
Instantans ZFS rcursifs ............................................................................................................ 30
Double Parit RAID-Z (raidz2) ................................................................................................ 30
Disques hot spare pour priphriques de pool de stockage ZFS ............................................ 30
Remplacement d'un systme de fichiers ZFS par un clone ZFS (zfs promote) ....................31
3

Table des matires

Mise niveau des pools de stockage ZFS (zpool upgrade) .....................................................31


Commandes de sauvegarde et de rtablissement ZFS renommes ........................................ 31
Rcupration de pools de stockage dtruits .............................................................................. 31
Intgration de ZFS au gestionnaire de pannes .......................................................................... 32
Nouvelle commande zpool clear .............................................................................................32
Format NFSv4 ACL compact ...................................................................................................... 32
Outil de contrle de systme de fichiers (fsstat) .................................................................... 33
Gestion Web ZFS ......................................................................................................................... 33
Description de ZFS .............................................................................................................................. 34
Stockage ZFS mis en pool ............................................................................................................ 34
Smantique transactionnelle ...................................................................................................... 35
Sommes de contrle et donnes d'autortablissement ............................................................ 35
volutitiv ingale ...................................................................................................................... 36
Instantans ZFS ............................................................................................................................ 36
Administration simplifie ........................................................................................................... 36
Terminologie ZFS ................................................................................................................................ 37
Exigences d'attribution de noms de composants ZFS ..................................................................... 40

Guide de dmarrage de ZFS ............................................................................................................... 41


Exigences et recommandations en matire de matriel et de logiciel ZFS ................................... 41
Cration d'un systme de fichiers ZFS basique ................................................................................ 42
Cration d'un pool de stockage ZFS .................................................................................................. 43
Identification des exigences de stockage du pool de stockage ZFS ........................................ 43
Cration d'un pool de stockage ZFS ........................................................................................... 44
Cration d'une hirarchie de systmes de fichiers ZFS ................................................................... 44
Dtermination de la hirarchie du systme de fichiers ZFS .................................................... 45
Cration de systmes de fichiers ZFS ......................................................................................... 46

Diffrences entre ZFS et les systmes de fichiers classiques ........................................................49


Granularit du systme de fichiers ZFS ............................................................................................ 49
Comptabilisation de l'espace ZFS ...................................................................................................... 50
Comportement d'espace satur .................................................................................................. 50
Montage de systme de fichiers ZFS .................................................................................................. 51
Gestion de volumes classique ............................................................................................................. 51
Nouveau modle ACL Solaris ............................................................................................................ 51
Guide d'administration Solaris ZFS Octobre 2008

Table des matires

Installation et initialisation d'un systme de fichiers racine ZFS .................................................53


Installation et initialisation d'un systme de fichiers racine ZFS (prsentation) ......................... 53
Fonctions d'installation de ZFS .................................................................................................. 54
Configuration requise pour l'installation de Solaris et de Solaris Live Upgrade pour la prise
en charge de ZFS .......................................................................................................................... 55
Installation d'un systme de fichiers racine ZFS (installation initiale) .......................................... 57
Installation d'un systme de fichiers racine ZFS (installation JumpStart) .................................... 63
Exemples de profils JumpStart de ZFS ....................................................................................... 63
Mots cls JumpStart de ZFS ........................................................................................................ 64
Problmes lis l'installation JumpStart d'un ZFS ................................................................... 66
Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris
Live Upgrade) ...................................................................................................................................... 67
Problmes de migration d'un ZFS avec Solaris Live Upgrade ................................................ 69
Utilisation de Solaris Live Upgrade pour migrer vers un systme de fichiers racine ZFS
(sans zones) ................................................................................................................................... 70
Utilisation de Solaris Live Upgrade pour migrer un systme avec zones .............................. 75
Prise en charge ZFS des priphriques de swap et de vidage .......................................................... 81
Ajustement de la taille de vos priphriques de swap et de vidage ZFS ................................. 82
Initialisation partir d'un systme de fichiers racine ZFS .............................................................. 83
Initialisation partir d'un disque alternatif d'un pool racine ZFS mis en miroir ................. 83
Initialisation partir d'un systme de fichiers racine ZFS sur un systme SPARC .............. 85
Initialisation partir d'un systme de fichiers racine ZFS sur un systme x86 ..................... 87
Rsolution des problmes de point de montage ZFS responsables de l'chec de
l'initialisation ................................................................................................................................ 88

Gestion des pools de stockage ZFS .................................................................................................. 91


Composants d'un pool de stockage ZFS ........................................................................................... 91
Utilisation de disques dans un pool de stockage ZFS .............................................................. 91
Utilisation de tranches dans un pool de stockage ZFS ............................................................. 93
Utilisation de fichiers dans un pool de stockage ZFS ............................................................... 93
Fonctions de rplication d'un pool de stockage ZFS ....................................................................... 94
Configuration de pool de stockage mis en miroir .................................................................... 94
Configuration de pool de stockage RAID-Z ............................................................................. 94
Donnes d'autortablissement dans une configuration redondante ..................................... 96
Entrelacement dynamique dans un pool de stockage .............................................................. 96
Cration et destruction de pools de stockage ZFS ........................................................................... 96
5

Table des matires

Cration d'un pool de stockage ZFS ........................................................................................... 97


Affichage des informations d'un priphrique virtuel de pool de stockage ........................ 100
Gestion d'erreurs de cration de pools de stockage ZFS ........................................................ 101
Destruction de pools de stockage ZFS ..................................................................................... 105
Gestion de priphriques dans un pool de stockage ZFS .............................................................. 106
Ajout de priphriques un pool de stockage ........................................................................ 106
Connexion et sparation de priphriques dans un pool de stockage ................................. 109
Mise en ligne et mise hors ligne de priphriques dans un pool de stockage ...................... 111
Suppression des priphriques de pool de stockage .............................................................. 114
Remplacement de priphriques dans un pool de stockage ................................................. 114
Dsignation des disques hot spare dans le pool de stockage ................................................. 116
Gestion des proprits de pool de stockage ZFS ............................................................................ 120
Requte d'tat de pool de stockage ZFS ........................................................................................... 123
Affichage des informations de pools de stockage ZFS de base .............................................. 123
Visualisation de statistiques d'E/S de pools de stockage ZFS ................................................ 125
Dtermination de l'tat de maintenance des pools de stockage ZFS .................................... 127
Migration de pools de stockage ZFS ................................................................................................ 130
Prparatifs de migration de pool de stockage ZFS ................................................................. 130
Exportation d'un pool de stockage ZFS ................................................................................... 131
Dfinition des pools de stockage disponibles pour importation .......................................... 131
Recherche de pools de stockage ZFS dans d'autres rpertoires ............................................ 134
Importation de pools de stockage ZFS .................................................................................... 134
Rcupration de pools de stockage ZFS dtruits .................................................................... 135
Mise niveau de pools de stockage ZFS .................................................................................. 137

Gestion des systmes de fichiers ZFS ............................................................................................. 139


Cration et destruction de systmes de fichiers ZFS ..................................................................... 140
Cration d'un systme de fichiers ZFS ..................................................................................... 140
Destruction d'un systme de fichiers ZFS ............................................................................... 141
Modification du nom d'un systme de fichiers ZFS ............................................................... 142
Prsentation des proprits ZFS ...................................................................................................... 143
Proprits ZFS natives en lecture seule .................................................................................... 150
Proprits ZFS natives dfinies ................................................................................................. 151
Proprits ZFS dfinies par l'utilisateur ................................................................................... 154
Envoi de requtes sur les informations des systmes de fichiers ZFS .......................................... 156

Guide d'administration Solaris ZFS Octobre 2008

Table des matires

Affichage des informations de base des systmes ZFS ........................................................... 156


Cration de requtes ZFS complexes ....................................................................................... 157
Gestion des proprits ZFS .............................................................................................................. 158
Dfinition des proprits ZFS ................................................................................................... 158
Hritage des proprits ZFS ...................................................................................................... 159
Envoi de requtes sur les proprits ZFS ................................................................................. 160
Montage et partage des systmes de fichiers ZFS ........................................................................... 164
Gestion des points de montage ZFS ......................................................................................... 164
Montage de systme de fichiers ZFS ........................................................................................ 166
Utilisation de proprits de montage temporaires ................................................................ 167
Dmontage des systmes de fichiers ZFS ................................................................................ 168
Activation et annulation du partage des systmes de fichiers ZFS ....................................... 169
Quotas et rservations ZFS ............................................................................................................... 170
Dfinitions de quotas sur les systmes de fichiers ZFS .......................................................... 171
Dfinition de rservations sur les systmes de fichiers ZFS .................................................. 173

Utilisation des instantans et des clones ZFS ............................................................................... 177


Prsentation des instantans ZFS .................................................................................................... 177
Cration et destruction d'instantans ZFS .............................................................................. 178
Affichage et accs des instantans ZFS .................................................................................... 180
Restauration d'un instantan ZFS ............................................................................................ 181
Prsentation des clones ZFS ............................................................................................................. 182
Cration d'un clone ZFS ............................................................................................................ 182
Destruction d'un clone ZFS ...................................................................................................... 183
Remplacement d'un systme de fichiers ZFS par un clone ZFS ............................................ 183
Envoi et rception de donnes ZFS ................................................................................................. 184
Envoi d'un instantan ZFS ........................................................................................................ 185
Rception d'un instantan ZFS ................................................................................................. 186
Envoi et rception de flux d'instantans ZFS complexes ....................................................... 187
Enregistrement de donnes ZFS l'aide d'autres produits de sauvegarde .......................... 190

Utilisation des ACL pour la protection de fichiers ZFS .................................................................191


Nouveau modle ACL Solaris .......................................................................................................... 191
Descriptions de syntaxe pour la configuration des ACL ....................................................... 193
Hritage d'ACL ........................................................................................................................... 196
7

Table des matires

Modes de proprits d'ACL ...................................................................................................... 197


Configuration d'ACL dans des fichiers ZFS ................................................................................... 198
Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill ................................ 200
Configuration d'hritage d'ACL dans des fichiers ZFS en format dtaill .......................... 206
Configuration et affichage d'ACL dans des fichiers ZFS en format compact ............................. 216

Administration dlgue de ZFS ....................................................................................................221


Prsentation de l'administration dlgue de ZFS ........................................................................ 221
Dsactivation des droits dlgus de ZFS ................................................................................ 222
Dlgation de droits ZFS .................................................................................................................. 222
Description de la syntaxe de la dlgation de droits (zfs allow) ........................................ 224
Suppression des droits dlgus de ZFS (zfs unallow) ....................................................... 225
Utilisation de l'administration dlgue de ZFS ............................................................................ 226
Affichage des droits ZFS dlgus (exemples) ........................................................................ 226
Dlgation de droits ZFS (exemples) ....................................................................................... 227
Suppression de droits ZFS (exemples) .................................................................................... 232

10

Sections avances de ZFS .................................................................................................................235


Volumes ZFS ...................................................................................................................................... 235
Utilisation d'un volume ZFS en tant que priphrique de swap ou de dump ..................... 236
Utilisation d'un volume ZFS en tant que cible iSCSI Solaris ................................................. 237
Utilisation de ZFS dans un systme Solaris avec zones installes ................................................ 238
Ajout de systmes de fichiers ZFS une zone non globale .................................................... 239
Dlgation de jeux de donnes une zone non globale ......................................................... 240
Ajout de volumes ZFS une zone non globale ....................................................................... 240
Utilisation de pools de stockage ZFS au sein d'une zone ....................................................... 241
Gestion de proprits ZFS au sein d'une zone ........................................................................ 241
Explication de la proprit zoned ............................................................................................. 242
Utilisation de pools racine ZFS de remplacement ......................................................................... 244
Cration de pools racine de remplacement ZFS ..................................................................... 244
Importation de pools racine de remplacement ...................................................................... 244
Profils de droits ZFS .......................................................................................................................... 245

Guide d'administration Solaris ZFS Octobre 2008

Table des matires

11

Rsolution de problmes et rcupration de donnes ZFS ....................................................... 247


Modes de panne ZFS ......................................................................................................................... 247
Priphriques manquants dans un pool de stockage ZFS ..................................................... 248
Priphriques endommags dans un pool de stockage ZFS ................................................. 248
Donnes ZFS corrompue .......................................................................................................... 248
Vrification de l'intgrit des donnes ZFS .................................................................................... 249
Rparation de donnes .............................................................................................................. 249
Validation de donnes ............................................................................................................... 249
Contrle du nettoyage de donnes ZFS ................................................................................... 250
Identification de problmes dans ZFS ............................................................................................. 251
Recherche de problmes ventuels dans un pool de stockage ZFS ...................................... 253
Consultation de la sortie de zpool status ............................................................................. 253
Rapport systme de messages d'erreur ZFS ............................................................................ 256
Rparation d'un configuration ZFS endommage ........................................................................ 257
Rparation d'un priphrique manquant ....................................................................................... 257
Reconnexion physique du priphrique ................................................................................. 258
Notification relative la disponibilit de priphriques dans ZFS ....................................... 258
Rparation d'un priphrique endommag ................................................................................... 259
Dtermination du type de panne de priphrique ................................................................. 259
Suppression des erreurs transitoires ........................................................................................ 260
Remplacement d'un priphrique dans un pool de stockage ZFS ........................................ 261
Rparation de donnes endommages ........................................................................................... 267
Identification du type de corruption de donnes ................................................................... 268
Rparation d'un fichier ou rpertoire corrompu .................................................................... 269
Rparation de dommages prsents dans l'ensemble du pool de stockage ZFS ................... 270
Rparation d'un systme impossible rinitialiser ....................................................................... 271

Index ................................................................................................................................................... 273

10

Prface

Le Guide d'administration Solaris ZFS fournit des informations sur la configuration et la gestion
des systmes de fichiers ZFS de SolarisTM.
Ce guide contient des informations sur les systmes SPARC et x86.
Remarque Cette version de Solaris prend en charge les systmes utilisant les architectures de

processeur SPARC et x86 : UltraSPARC, SPARC64, AMD64, Pentium et Xeon EM64T. Les
systmes pris en charge sont rpertoris dans laliste de compatibilit matrielle de
Solarisdisponible l'adresse http://www.sun.com/bigadmin/hcl Ce document prsente les
diffrences d'implmentation en fonction des divers types de plates-formes.
Dans ce document, les termes x86 ci-dessous ont les significations suivantes :

x86 dsigne la famille des produits compatibles x86 64 bits et 32 bits.

x64 dsigne des informations 64 bits spcifiques relatives aux systmes AMD64 ou
EM64T.

x86 32 bits dsigne des informations 32 bits spcifiques relatives aux systmes x86.

Pour connatre les systmes pris en charge, reportez-vous la liste de compatibilit matrielle de
Solaris 10.

Utilisateurs de ce manuel
Ce guide est destin toute personne souhaitant configurer et grer des systmes de fichiers ZFS
Solaris. Il est prfrable d'tre pralablement expriment en matire d'utilisation du systme
d'exploitation Solaris ou autre version UNIX.

11

Prface

Organisation de ce document
Le tableau suivant dcrit les chapitres de ce document.
Chapitre

Description

Chapitre1, Systme de fichiers Prsente ZFS, ses fonctionnalits et ses avantages. Il aborde galement des
ZFS (prsentation)
concepts de base, ainsi que la terminologie.
Chapitre2, Guide de
dmarrage de ZFS

Dcrit les instruction pas pas d'une configuration ZFS simple, avec pools et
systmes de fichiers simples. Ce chapitre indique galement le matriel et
logiciels requis pour la cration de systmes de fichiers ZFS.

Chapitre3, Diffrences entre


ZFS et les systmes de fichiers
classiques

Identifie les fonctionnalits importantes qui diffrencie ZFS des systmes de


fichiers classiques. La comprhension de ces diffrences cls permet d'viter
les confusions lors de l'utilisation d'outils classiques en interaction avec ZFS.

Chapitre4, Installation et
initialisation d'un systme de
fichiers racine ZFS

Dcrit la procdure d'installation et d'initialisation d'un systme de fichiers


ZFS. La migration d'un systme de fichiers racine UFS vers un systme de
fichiers ZFS l'aide de Solaris Live Upgrade est galement aborde.

Chapitre5, Gestion des pools


de stockage ZFS

Dcrit en dtail les mthodes de cration et d'administration de pools de


stockage.

Chapitre6, Gestion des


systmes de fichiers ZFS

Dcrit en dtail les mthodes de gestion de systmes de fichiers ZFS. Ce


chapitre dcrit des concepts tels que la disposition hirarchique de systmes
de fichiers, l'hritage de proprits, la gestion automatique de points de
montage et les interactions de partage.

Chapitre7, Utilisation des


instantans et des clones ZFS

Dcrit les mthodes de cration et d'administration d'instantans ZFS et de


clones.

Chapitre8, Utilisation des


ACL pour la protection de
fichiers ZFS

Dcrit l'utilisation des listes de contrle d'accs (ACL, Access Control List)
pour la protection des fichiers ZFS en fournissant davantage de droits
granulaires que les droits standard UNIX.

Chapitre9, Administration
dlgue de ZFS

Dcrit la mthode d'utilisation de l'administration dlgue de ZFS pour


permettre aux utilisateurs ne disposant pas de privilges appropris
d'effectuer des tches d'administration ZFS.

Chapitre10, Sections avances Dcrit l'utilisation de volumes ZFS, l'utilisation de ZFS dans un systme
de ZFS
Solaris comprenant des zones, ainsi que les pools racine de remplacement.
Chapitre11, Rsolution de
problmes et rcupration de
donnes ZFS

12

Dcrit l'identification des modes de dfaillance de ZFS et les solutions


existantes. Les tapes de prvention de ces dfaillances sont galement
abordes.

Guide d'administration Solaris ZFS Octobre 2008

Prface

Documentation connexe
Vous trouverez des informations gnrales propos de l'administration de systmes Solaris
dans les documents suivants :

Solaris System Administration: Basic Administration


Solaris System Administration: Advanced Administration
Solaris System Administration: Devices and File Systems
Solaris System Administration: Security Services
Solaris Volume Manager Administration Guide

Documentation, support et formation


Le site Web Sun fournit des informations sur les ressources supplmentaires suivantes :

documentation ; (http://www.sun.com/documentation/)
support ; (http://www.sun.com/support/)
formation. (http://www.sun.com/training/)

Conventions typographiques
Le tableau ci-dessous dcrit les conventions typographiques utilises dans ce manuel.
TABLEAU P1

Conventions typographiques

Type de caractres

Signification

Exemple

AaBbCc123

Noms des commandes, fichiers et rpertoires,


ainsi que messages systme.

Modifiez votre fichier .login.


Utilisez ls -a pour afficher la liste
de tous les fichiers.
nom_machine% Vous avez reu du
courrier.

AaBbCc123

aabbcc123

Ce que vous entrez, par opposition ce qui


s'affiche l'cran.

nom_machine% su
Mot de passe :

Paramtre fictif : remplacer par un nom ou une La commande permettant de


valeur rel(le).
supprimer un fichier est rm
nom_fichier.

13

Prface

TABLEAU P1

Conventions typographiques

(Suite)

Type de caractres

Signification

Exemple

AaBbCc123

Titres de manuel, nouveaux termes et termes


importants.

Reportez-vous au chapitre 6 du
Guide de l'utilisateur.
Un cache est une copie des lments
stocks localement.
N'enregistrez pas le fichier.
Remarque : En ligne, certains
lments mis en valeur s'affichent en
gras.

Invites de shell dans les exemples de commandes


Le tableau suivant prsente les invites systme et les invites de superutilisateur UNIX par dfaut
des C shell, Bourne shell et Korn shell.
TABLEAU P2

14

Invites de shell

Shell

Invite

C shell

nom_machine%

C shell pour superutilisateur

nom_machine#

Bourne shell et Korn shell

Bourne shell et Korn shell pour superutilisateur

Guide d'administration Solaris ZFS Octobre 2008

C H A P I T R E

Systme de fichiers ZFS (prsentation)

Ce chapitre prsente le systme de fichiers ZFS, ses fonctions et ses avantages. Il aborde
galement la terminologie de base utilise dans le reste de ce document.
Il contient les sections suivantes :

Nouveauts de ZFS la page 15


Description de ZFS la page 34
Terminologie ZFS la page 37
Exigences d'attribution de noms de composants ZFS la page 40

Nouveauts de ZFS
Cette section dcrit les nouvelles fonctions du systme de fichier ZFS.

Prise en charge de l'installation et de l'initialisation de ZFS la page 16


Rtablissement d'un jeu de donnes sans dmontage la page 16
Amliorations apportes la commande zfs send la page 17
Quotas et rservations ZFS pour les donnes de systme de fichiers uniquement
la page 18
Proprits de pool de stockage ZFS la page 18
Amliorations apportes l'historique des commandes ZFS (zpool history) la page 19
Mise niveau des systmes de fichiers ZFS (zfs upgrade) la page 20
Administration dlgue de ZFS la page 21
Configuration de priphriques de journalisation ZFS distincts la page 21
Cration de jeux de donnes ZFS intermdiaires la page 23
Amliorations apportes la connexion chaud ZFS la page 23
Renommage rcursif d'instantans ZFS (zfs rename -r) la page 24
La compression GZIP est disponible pour ZFS la page 25
Stockage de plusieurs copies de donnes utilisateur ZFS la page 25
Amlioration de la sortie de la commande zpool status la page 26
Amliorations de ZFS et Solaris iSCSI la page 27
15

Nouveauts de ZFS

Historique de commande ZFS (zpool history) la page 27


Amliorations de proprits ZFS la page 28
Affichage de la totalit des informations de systmes de fichiers ZFS la page 29
Nouvelle option zfs receive -F la page 29
Instantans ZFS rcursifs la page 30
Double Parit RAID-Z (raidz2) la page 30
Disques hot spare pour priphriques de pool de stockage ZFS la page 30
Remplacement d'un systme de fichiers ZFS par un clone ZFS (zfs promote) la page 31
Mise niveau des pools de stockage ZFS (zpool upgrade) la page 31
Commandes de sauvegarde et de rtablissement ZFS renommes la page 31
Rcupration de pools de stockage dtruits la page 31
Intgration de ZFS au gestionnaire de pannes la page 32
Nouvelle commande zpool clear la page 32
Format NFSv4 ACL compact la page 32
Outil de contrle de systme de fichiers (fsstat) la page 33
Gestion Web ZFS la page 33

Prise en charge de l'installation et de l'initialisation de


ZFS
Version Solaris 10 10/08 : cette version permet d'installer et d'initialiser un systme de fichiers
racine ZFS. Vous pouvez utiliser l'option d'installation initiale ou la fonction JumpStart pour
installer un systme de fichiers racine ZFS. Vous pouvez sinon utiliser la fonction Live Upgrade
pour migrer d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS. La prise
en charge ZFS des priphriques de swap et de vidage est galement disponible. Pour plus
d'informations, reportez-vous au Chapitre4, Installation et initialisation d'un systme de
fichiers racine ZFS.
Vous trouverez la liste des problmes connus relatifs cette version dans les notes de version de
Solaris 10 10/08.

Rtablissement d'un jeu de donnes sans dmontage


Version Solaris 10 10/08 : cette version permet de rtablir un jeu de donnes sans avoir le
dmonter au pralable. Cette fonction signifie que l'option zfs rollback -f n'est plus
ncessaire pour effectuer un dmontage forc. L'option -f n'est plus prise en charge et est
ignore si elle est spcifie.

16

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

Amliorations apportes la commande zfs send


Version Solaris 10 10/08 D : les amliorations suivantes ont t apportes la commande zfs
send dans cette version.

Envoi de tous les flux incrmentiels d'un instantan vers un instantan cumulatif. Exemple :
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
pool
428K 16.5G
20K /pool
pool/fs
71K 16.5G
21K /pool/fs
pool/fs@snapA
16K
- 18.5K pool/fs@snapB
17K
20K pool/fs@snapC
17K
- 20.5K pool/fs@snapD
0
21K # zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@combo

Tous les instantans incrmentiels de fs@snapA fs@snapD sont envoys vers fs@combo.

Envoi d'un flux incrmentiel partir de l'instantan d'origine pour crer un clone.
L'instantan d'origine doit dj exister sur le ct rcepteur afin d'accepter le flux
incrmentiel. Exemple :
# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I
.
.
# zfs receive -F pool/clone < /snaps/fsclonesnap-I

Envoi d'un flux de rplication de tous les systmes de fichiers descendants, jusqu'aux
instantans nomms. Une fois reus, les proprits, instantans, systmes de fichiers
descendants et clones sont conservs. Exemple :
zfs send -R pool/fs@snap > snaps/fs-R

Pour une illustration dtaille, reportez-vous l'Exemple 71.

Envoi d'un flux de rplication incrmentiel.


zfs send -R -[iI] @snapA pool/fs@snapD

Pour une illustration dtaille, reportez-vous l'Exemple 71.


Pour plus d'informations, reportez-vous la section Envoi et rception de flux d'instantans
ZFS complexes la page 187.

Chapitre 1 Systme de fichiers ZFS (prsentation)

17

Nouveauts de ZFS

Quotas et rservations ZFS pour les donnes de


systme de fichiers uniquement
Version Solaris 10 10/08 : outre les fonctionnalits de quotas et de rservation ZFS, cette
version fournit des quotas et rservations de jeux de donnes excluant les donnes
descendantes, telles que les instantans et les clones, lors de la comptabilisation de l'utilisation
de l'espace.

La proprit refquota limite la quantit d'espace consommable par un jeu de donnes.


Cette proprit dfinit une quantit d'espace utilisable maximale. Cette limite fixe n'inclut
pas l'espace utilis par les descendants, tels que les instantans et les clones.

La proprit refreservation dfinit la quantit minimale d'espace accorde un jeu de


donnes (descendants exclus).

Par exemple, en dfinissant la proprit refquota de studentA sur 10 Go, vous spcifiez une
limite fixe de 10 Go d'espace rfrenc. Pour une plus grande flexibilit, vous pouvez dfinir un
quota de 20 Go qui vous permet de grer les instantans de studentA.
# zfs set refquota=10g tank/studentA
# zfs set quota=20g tank/studentA

Pour plus d'informations, reportez-vous la section Quotas et rservations ZFS la page 170.

Proprits de pool de stockage ZFS


Version Solaris 10 10/08 : les proprits de pool de stockage ZFS ont t prsentes dans une
version antrieure. Cette version fournit des informations sur les proprits supplmentaires.
Exemple :
# zpool get all mpool
NAME PROPERTY
VALUE
SOURCE
mpool size
33.8G
mpool used
5.76G
mpool available
28.0G
mpool capacity
17%
mpool altroot
default
mpool health
ONLINE
mpool guid
2689713858991441653 mpool version
10
default
mpool bootfs
mpool/ROOT/zfsBE local
mpool delegation on
default
mpool autoreplace off
default
mpool cachefile
default
mpool failmode
continue
local

Pour une description de ces proprits, reportez-vous au Tableau 51.


18

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

Proprit cachefile Version Solaris 10 10/08 : cette version fournit la proprit


cachefile qui contrle l'emplacement de mise en cache des informations de configuration
de pool. Tous les pools du cache sont imports automatiquement au dmarrage du systme.
Toutefois, dans les environnements d'installation et de clustering, il peut s'avrer ncessaire
de placer ces informations en cache un autre endroit afin d'viter l'importation
automatique des pools.
Vous pouvez dfinir cette proprit afin de mettre la configuration de pool en cache un
autre emplacement. Il reste alors possible d'importer ultrieurement ce dernier l'aide de la
commande zpool import c. Cette proprit n'est pas utilise dans la plupart des
configurations ZFS.
La proprit cachefile n'est pas persistante et n'est pas stocke sur le disque. Elle remplace
la proprit temporary qui, dans les versions prcdentes de Solaris, indiquait que les
informations de pool ne devaient pas tre mises en cache.

Proprit failmode Version Solaris 10 10/08 : dans cette version, la proprit failmode
permet de dterminer l'action effectuer en cas d'chec catastrophique de pool caus par la
perte de connectivit d'un priphrique ou la panne de tous les priphriques du pool. Vous
pouvez dfinir la proprit failmode sur l'une des valeurs suivantes : wait, continue ou
panic. La valeur par dfaut est wait : vous devez reconnecter le priphrique ou remplacer
le priphrique dfaillant, puis effacer l'erreur l'aide de la commande zpool clear.
La proprit failmode est dfinie comme les autres proprits ZFS dfinissables, avant ou
aprs la cration du pool. Exemple :
# zpool set failmode=continue tank
# zpool get failmode tank
NAME PROPERTY VALUE
SOURCE
tank failmode continue local
# zpool create -o failmode=continue users mirror c0t1d0 c1t1d0

Pour une description des proprits de pool ZFS, reportez-vous au Tableau 51.

Amliorations apportes l'historique des


commandes ZFS (zpool history)
Version Solaris 10 10/08 : la commande zpool history a t amliore afin de fournir les
nouvelles fonctions suivantes :

Les informations sur les vnements des systmes de fichiers ZFS s'affichent. Exemple :
# zpool history users
History for users:
2008-07-10.09:43:05 zpool create users mirror c1t1d0 c1t2d0
2008-07-10.09:43:48 zfs create users/home

Chapitre 1 Systme de fichiers ZFS (prsentation)

19

Nouveauts de ZFS

2008-07-10.09:43:56 zfs create users/home/markm


2008-07-10.09:44:02 zfs create users/home/marks
2008-07-10.09:44:19 zfs snapshot -r users/home@yesterday

L'option -l permet d'afficher un format complet comprenant le nom de l'utilisateur, le nom


de l'hte et la zone dans laquelle l'opration a t effectue. Exemple :

# zpool history -l users


History for users:
2008-07-10.09:43:05 zpool create users mirror c1t1d0 c1t2d0 [user root on corona:global]
2008-07-10.09:43:13 zfs create users/marks [user root on corona:global]
2008-07-10.09:43:44 zfs destroy users/marks [user root on corona:global]
2008-07-10.09:43:48 zfs create users/home [user root on corona:global]
2008-07-10.09:43:56 zfs create users/home/markm [user root on corona:global]
2008-07-10.09:44:02 zfs create users/home/marks [user root on corona:global]
2008-07-11.10:44:19 zfs snapshot -r users/home@yesterday [user root on corona:global]

Option -i pour l'affichage des informations relatives aux vnements internes utilisables
pour tablir des diagnostics. Exemple :
# zpool history -i users
History for users:
2008-07-10.09:43:05 zpool create users mirror c1t1d0 c1t2d0
2008-07-10.09:43:13 [internal create txg:6] dataset = 21
2008-07-10.09:43:13 zfs create users/marks
2008-07-10.09:43:48 [internal create txg:12] dataset = 27
2008-07-10.09:43:48 zfs create users/home
2008-07-10.09:43:55 [internal create txg:14] dataset = 33
2008-07-10.09:43:56 zfs create users/home/markm
2008-07-10.09:44:02 [internal create txg:16] dataset = 39
2008-07-10.09:44:02 zfs create users/home/marks
2008-07-10.09:44:19 [internal snapshot txg:21] dataset = 42
2008-07-10.09:44:19 [internal snapshot txg:21] dataset = 44
2008-07-10.09:44:19 [internal snapshot txg:21] dataset = 46
2008-07-10.09:44:19 zfs snapshot -r users/home@yesterday

Pour plus d'informations sur l'utilisation de la commande zpool history, reportez-vous la


section Identification de problmes dans ZFS la page 251.

Mise niveau des systmes de fichiers ZFS (zfs


upgrade)
Version Solaris 10 10/08 : la commande zfs upgrade a t ajoute cette version pour pouvoir
apporter des amliorations futures aux systmes de fichiers ZFS existants. Les pools de stockage
disposent d'une fonctionnalit de mise niveau similaire permettant d'apporter des
amliorations aux pools de stockage existants.
20

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

Exemple :
# zfs upgrade
This system is currently running ZFS filesystem version 3.
All filesystems are formatted with the current version.

Remarque Les systmes de fichiers mis niveau et tout flux cr partir de ces systmes de
fichiers mis niveau l'aide de la commande zfs send ne sont pas accessibles sur des systmes
excutant des versions antrieures du logiciel.

Administration dlgue de ZFS


Version Solaris 10 10/08 : cette version vous permet de dlguer des droits prcis des
utilisateurs sans privilges pour qu'ils effectuent des tches d'administration ZFS.
Les commandes zfs allow et zfs unallow permettent d'accorder ou de retirer les
autorisations.
Vous pouvez modifier la capacit d'utilisation de l'administration dlgue l'aide de la
proprit delegation du pool. Exemple :
# zpool get delegation users
NAME PROPERTY
VALUE
SOURCE
users delegation on
default
# zpool set delegation=off users
# zpool get delegation users
NAME PROPERTY
VALUE
SOURCE
users delegation off
local

Par dfaut, la proprit delegation est active.


Pour plus d'informations, reportez-vous au Chapitre9, Administration dlgue de ZFS et la
page de manuel zfs(1M).

Configuration de priphriques de journalisation ZFS


distincts
Version Solaris 10 10/08 : le journal d'intention ZFS (ZIL) permet de rpondre aux exigences
de la norme POSIX dans le cadre de transactions synchronises. Par exemple, les transactions
de base de donnes doivent souvent se trouver sur des priphriques de stockage stables
lorsqu'elles sont obtenues partir d'un appel systme. NFS et d'autres applications peuvent
galement assurer la stabilit des donnes l'aide de fsync(). Par dfaut, le ZIL est attribu
Chapitre 1 Systme de fichiers ZFS (prsentation)

21

Nouveauts de ZFS

partir de blocs dans le pool de stockage principal. Cependant, les performances peuvent parfois
tre amliores en vous servant de priphriques de journalisation d'intention distincts dans
votre pool de stockage ZFS, notamment d'une NVRAM ou d'un disque ddi.
Les priphriques de journalisation du ZIL ne sont pas lis aux fichiers journaux de base de
donnes.
Vous pouvez configurer un priphrique de journalisation ZFS la cration du pool de stockage
ou un moment ultrieur. Pour obtenir des exemples de configuration de priphriques de
journalisation, reportez-vous la section Cration d'un pool de stockage ZFS avec des
priphriques de journalisation la page 99 et la section Ajout de priphriques un pool
de stockage la page 106.
connexion d'un priphrique de journal un priphrique journal existant afin de crer un
priphrique mis en miroir. Cette opration est similaire la connexion d'un priphrique un
pool de stockage qui n'est pas mis en miroir.
Considrez les points suivants pour dterminer si la configuration d'un priphrique de
journalisation ZFS convient votre environnement :

Toute amlioration des performances observe suite l'implmentation d'un priphrique


de journalisation distinct dpend du type de priphrique, de la configuration matrielle du
pool et de la charge de travail de l'application. Pour des informations prliminaires sur les
performances, consultez le blog suivant :
http://blogs.sun.com/perrin/entry/slog_blog_or_blogging_on

22

Les priphriques de journalisation peuvent tre mis en miroir et leur rplication peut tre
annule, mais RAIDZ n'est pas pris en charge pour les priphriques de journalisation.

Si un priphrique de journalisation distinct n'est pas mis en miroir et que le priphrique


contenant le journal choue, le stockage des blocs de journal retourne sur le pool de
stockage.

Les priphriques de journalisation peuvent tre ajouts, remplacs, connects,


dconnects, imports et exports en tant que partie du pool de stockage. Les priphriques
de journalisation ne peuvent pour le moment pas tre supprims.

La taille minimale d'un priphrique de journalisation correspond la taille minimale de


chaque priphrique d'un pool, savoir 64 Mo. La quantit de donnes en jeu pouvant tre
stocke sur un priphrique de journalisation est relativement petite. Les blocs de journal
sont librs lorsque la transaction du journal (appel systme) est valide.

La taille maximale d'un priphrique de journalisation doit tre approximativement gale


la moiti de la taille de la mmoire physique car il s'agit de la quantit maximale de donnes
en jeu potentielles pouvant tre stocke. Si un systme dispose par exemple de 16 Go de
mmoire physique, considrez une taille maximale de priphrique de journalisation de
8 Go.

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

Cration de jeux de donnes ZFS intermdiaires


Version Solaris 10 10/08 : vous pouvez appliquer l'option -p aux commandes zfs create, zfs
clone et zfs rename afin de crer rapidement un jeu de donnes intermdiaire s'il n'existe pas
encore.
Par exemple, crez les jeux de donnes ZFS users/area51 dans le pool de stockage datab.
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
datab
106K 16.5G
18K /datab
# zfs create -p -o compression=on datab/users/area51

Si le jeu de donnes intermdiaire existe pendant l'opration de cration, celle-ci est russie.
Les proprits spcifies s'appliquent au jeu de donnes cible, mais pas aux jeux de donnes
intermdiaires. Exemple :
# zfs get mountpoint,compression
NAME
PROPERTY
datab/users/area51 mountpoint
datab/users/area51 compression

datab/users/area51
VALUE
SOURCE
/datab/users/area51 default
on
local

Le jeu de donnes intermdiaire est cr avec le point de montage par dfaut. Toute proprit
supplmentaire est dsactive pour ce jeu de donnes. Exemple :
# zfs get mountpoint,compression datab/users
NAME
PROPERTY
VALUE
SOURCE
datab/users mountpoint /datab/users default
datab/users compression off
default

Pour de plus amples informations, reportez-vous la page de manuel zfs(1M).

Amliorations apportes la connexion chaud ZFS


Version Solaris 10 10/08 : dans cette version, ZFS rpond de manire plus efficace aux
priphriques supprims et fournit un mcanisme permettant d'identifier automatiquement
des priphriques insrs, avec les amliorations suivantes :

Vous pouvez remplacer un priphrique existant par un priphrique quivalent sans


utiliser la commande zpool replace.
La proprit autoreplace contrle le remplacement automatique de priphriques. Si la
proprit est dsactive, l'administrateur doit initier le remplacement du priphrique
l'aide de la commande zpool replace. Si la proprit est active, tout nouveau priphrique
se trouvant au mme emplacement physique qu'un priphrique qui appartenait au pool est
automatiquement format et remplac. Le comportement par dfaut est "off".

Chapitre 1 Systme de fichiers ZFS (prsentation)

23

Nouveauts de ZFS

L'tat de pool de stockage REMOVED est fourni lors du retrait du priphrique ou d'un disque
hot spare, en cas de retrait physique du priphrique alors que le systme est en cours
d'excution. Si un disque hot spare est disponible, il remplace le priphrique retir.

Si un priphrique est retir, puis insr, il est mis en ligne. Si un disque hot spare est activ
lors de la rinsertion du priphrique, le disque hot spare est retir une fois l'opration en
ligne termine.

La dtection automatique du retrait ou de l'insertion de priphriques dpend du matriel


utilis. Il est possible qu'elle ne soit pas prise en charge sur certaines plates-formes. Par
exemple, les priphriques USB sont configurs automatiquement aprs insertion. Il peut
tre toutefois ncessaire d'utiliser la commande cfgadm -c configure pour configurer un
lecteur SATA.

Les disques hot spare sont consults rgulirement afin de vrifier qu'ils sont en ligne et
disponibles.

Pour de plus amples informations, reportez-vous la page de manuel zpool(1M).

Renommage rcursif d'instantans ZFS (zfs rename


-r)
Version Solaris 10 10/08 : vous pouvez renommer tous les instantans ZFS descendants de
manire rcursive l'aide de la commande zfs rename -r.
Prenez par exemple un instantan de plusieurs systmes de fichiers ZFS.
# zfs snapshot -r users/home@today
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
users
216K 16.5G
20K /users
users/home
76K 16.5G
22K /users/home
users/home@today
0
22K users/home/markm
18K 16.5G
18K /users/home/markm
users/home/markm@today
0
18K users/home/marks
18K 16.5G
18K /users/home/marks
users/home/marks@today
0
18K users/home/neil
18K 16.5G
18K /users/home/neil
users/home/neil@today
0
18K -

Renommez ensuite les instantans de la manire suivante.


# zfs rename -r users/home@today @yesterday
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
users
216K 16.5G
20K /users
users/home
76K 16.5G
22K /users/home
24

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

users/home@yesterday
users/home/markm
users/home/markm@yesterday
users/home/marks
users/home/marks@yesterday
users/home/neil
users/home/neil@yesterday

0
18K 16.5G
0
18K 16.5G
0
18K 16.5G
0
-

22K
18K
18K
18K
18K
18K
18K

/users/home/markm
/users/home/marks
/users/home/neil
-

Les instantans sont le seul jeu de donnes qu'il est possible de renommer de faon rcursive.
Pour plus d'informations sur les instantans, reportez-vous la section Prsentation des
instantans ZFS la page 177 et l'entre de blog dcrivant la cration d'instantans restaurs :
http://blogs.sun.com/mmusante/entry/rolling_snapshots_made_easy

La compression GZIP est disponible pour ZFS


Version Solaris 10 10/08 : dans cette version de Solaris, vous pouvez dfinir la compression
gzip sur des systmes de fichiers ZFS en plus de la compression lzjb. Vous pouvez spcifier la
compression gzip (format par dfaut) ou gzip-N o N correspond un chiffre entre 1 et 9.
Exemple :
# zfs create -o compression=gzip users/home/snapshots
# zfs get compression users/home/snapshots
NAME
PROPERTY
VALUE
SOURCE
users/home/snapshots compression gzip
local
# zfs create -o compression=gzip-9 users/home/oldfiles
# zfs get compression users/home/oldfiles
NAME
PROPERTY
VALUE
SOURCE
users/home/oldfiles compression gzip-9
local

Pour plus d'informations sur la configuration des proprits ZFS, reportez-vous la section
Dfinition des proprits ZFS la page 158.

Stockage de plusieurs copies de donnes utilisateur


ZFS
Version Solaris 10 10/08 : des fins de fiabilit, les mtadonnes d'un systme de fichiers ZFS
sont automatiquement stockes plusieurs fois sur divers disques, si possible. Cette fonction est
connue sous le terme anglais de ditto blocks.
Cette version vous permet galement de demander stocker plusieurs copies des donnes
utilisateur par systme de fichiers l'aide de la commande zfs set copies. Exemple :
Chapitre 1 Systme de fichiers ZFS (prsentation)

25

Nouveauts de ZFS

# zfs set copies=2 users/home


# zfs get copies users/home
NAME
PROPERTY VALUE
users/home copies
2

SOURCE
local

Les valeurs disponibles sont 1, 2 et 3. La valeur par dfaut est 1. Ces copies constituent un ajout
toute redondance de niveau pool, par exemple dans une configuration en miroir ou RAID-Z.
Stocker plusieurs copies des donnes utilisateur ZFS prsente les avantages suivants :

Cela amliore la rtention des donnes en autorisant leur rcupration partir d'erreurs de
lecture de blocs irrcuprables, comme par exemple des dfaillances de mdia pour
l'ensemble des configurations ZFS.

Cela garantit la scurit des donnes mme si un seul disque est disponible.

Cela permet de choisir les stratgies de protection des donnes par systme de fichiers et de
dpasser les capacits du pool de stockage.

Selon l'allocation des blocs "ditto" dans le pool de stockage, plusieurs copies peuvent tre
places sur un seul disque. La saturation ultrieure d'un disque peut engendrer l'indisponibilit
de tous les blocs "ditto".
Vous pouvez envisager l'utilisation des blocs "ditto" lorsque vous crez accidentellement un
pool non redondant et lorsque vous avez besoin de dfinir des stratgies de conservation de
donnes.
Pour une description dtaille de l'impact de la configuration de copies sur un systme
comprenant un pool d'un seul disque ou un pool de plusieurs disques, sur la protection globale
des donnes, consultez le blog suivant :
http://blogs.sun.com/relling/entry/zfs_copies_and_data_protection
Pour plus d'informations sur la configuration des proprits ZFS, reportez-vous la section
Dfinition des proprits ZFS la page 158.

Amlioration de la sortie de la commande zpool


status
Version Solaris 10 8/07 : la commande zpool status -v permet d'afficher la liste des fichiers
comportant des erreurs persistantes. Auparavant, il fallait utiliser la commande find -inum
pour identifier les noms de fichiers partir de la liste d'inodes affiche.
Pour obtenir des informations supplmentaires sur l'affichage d'une liste de fichiers comportant
des erreurs persistantes, consultez la section Rparation d'un fichier ou rpertoire corrompu
la page 269.
26

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

Amliorations de ZFS et Solaris iSCSI


Version Solaris 10 8/07 : dans cette version de Solaris, vous pouvez crer un volume ZFS en
tant que priphrique cible Solaris iSCSI en configurant la proprit shareiscsi sur le volume
ZFS. Cette mthode permet de configurer rapidement et facilement une cible Solaris iSCSI.
Exemple :
# zfs create -V 2g tank/volumes/v2
# zfs set shareiscsi=on tank/volumes/v2
# iscsitadm list target
Target: tank/volumes/v2
iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a
Connections: 0

Une fois la cible iSCSI cre, configurez l'initiateur iSCSI. Pour obtenir des informations sur la
configuration d'un initiateur Solaris iSCSI, consultez le Chapitre 14, Configuring Solaris iSCSI
Targets and Initiators (Tasks) du System Administration Guide: Devices and File Systems.
Pour obtenir des informations supplmentaires sur la gestion d'un volume ZFS en tant que cible
iSCSI, consultez la section Utilisation d'un volume ZFS en tant que cible iSCSI Solaris
la page 237.

Historique de commande ZFS (zpool history)


Version Solaris 10 8/07 : dans cette version de Solaris, ZFS consigne automatiquement les
commandes zfs et zpool qui modifient les informations concernant l'tat du pool. Exemple :
# zpool history
History for newpool:
2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0
2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0
2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0
2007-04-25.11:38:09 zfs create newpool/user1
2007-04-25.11:38:15 zfs destroy newpool/user1
History for tank:
2007-04-25.11:46:28 zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0

Cette fonction vous permet, ainsi qu'au personnel de support Sun, d'identifier le jeu exact de
commandes ZFS excutes pour rsoudre un scnario d'erreur.
Vous pouvez identifier un pool de stockage spcifique grce la commande zpool history.
Exemple :
# zpool history newpool
History for newpool:
2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0
Chapitre 1 Systme de fichiers ZFS (prsentation)

27

Nouveauts de ZFS

2007-04-25.11:37:46
2007-04-25.11:38:04
2007-04-25.11:38:09
2007-04-25.11:38:15

zpool replace newpool c0t10d0 c0t9d0


zpool attach newpool c0t9d0 c0t11d0
zfs create newpool/user1
zfs destroy newpool/user1

Les caractristiques de l'historique sont les suivantes :

Le journal ne peut pas tre dsactiv.

Le journal est enregistr sur le disque de faon persistante, ce qui signifie qu'il est enregistr
au travers des rinitialisations du systme.

Le journal est implment en tant que tampon d'anneau. La taille minimale est de 128 Ko. La
taille maximale est de 32 Mo.

Pour des pools de taille infrieure, la taille maximum est plafonnes 1 % de la taille du pool,
la taille tant dtermine lors de la cration du pool.

Ne ncessite aucune administration, ce qui signifie qu'il n'est pas ncessaire d'ajuster la taille
du journal ou de modifier son emplacement.

Dans cette version de Solaris, la commande zpool history n'enregistre pas l'ID utilisateur, le
nom d'hte ni le nom de la zone. Pour plus d'informations, reportez-vous la section
Amliorations apportes l'historique des commandes ZFS (zpool history) la page 19.
Pour obtenir des informations supplmentaires sur la rsolution de problmes relatifs ZFS,
consultez la sectionIdentification de problmes dans ZFS la page 251.

Amliorations de proprits ZFS


Proprit ZFS xattr
Version Solaris 10 8/07 : vous pouvez utiliser la proprit xattr pour dsactiver ou activer les
attributs avancs d'un systme de fichiers ZFS spcifique. Par dfaut, les attributs sont activs.
Pour obtenir une description des proprits ZFS, reportez-vous la section Prsentation des
proprits ZFS la page 143.

Proprit ZFS canmount


Version Solaris 10 8/07 : la nouvelle proprit canmount permet de spcifier s'il est possible de
monter un jeu de donnes l'aide de la commande zfs mount. Pour plus d'informations,
reportez-vous la section Proprit canmount la page 153.

Proprits ZFS dfinies par l'utilisateur


Version Solaris 10 8/07 : outre les proprits natives standard qui permettent d'exporter des
statistiques internes ou de contrler le comportement du systme de fichiers ZFS, ZFS assure la
prise en charge des proprits dfinies par l'utilisateur. Les proprits dfinies par l'utilisateur
28

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

n'ont aucune incidence sur le comportement du systme ZFS. En revanche, elles permettent
d'annoter les jeux de donnes avec des informations adaptes votre environnement.
Pour obtenir des informations supplmentaires, consultez la section Proprits ZFS dfinies
par l'utilisateur la page 154.

Dfinition des proprits lors de la cration de systmes de fichiers ZFS


Version Solaris 10 8/07 : dans cette version de Solaris, vous pouvez non seulement dfinir les
proprits d'un systme de fichiers existant, mais vous avez galement la possibilit de dfinir
les proprits lors de la cration du systme de fichiers.
Les exemples suivants montrent la syntaxe quivalente :
#
#
#
#

zfs
zfs
zfs
zfs

create tank/home
set mountpoint=/export/zfs tank/home
set sharenfs=on tank/home
set compression=on tank/home

# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home

Affichage de la totalit des informations de systmes


de fichiers ZFS
Version Solaris 10 8/07 : dans cette version de Solaris, vous pouvez utiliser diverses formes de
la commande zfs get pour afficher des informations sur l'ensemble des jeux de donnes si vous
n'en spcifiez pas un en particulier ou si vous ne spcifiez pas all. Dans les versions
prcdentes, la commande zfs get ne permettait pas de rcuprer la totalit des informations
relatives au jeu de donnes.
Exemple :
# zfs get -s local all
tank/home
atime
tank/home/bonwick
atime
tank/home/marks
quota

off
off
50G

local
local
local

Nouvelle option zfs receive -F


Solaris 10 8/07 : dans cette version de Solaris, vous pouvez utiliser la nouvelle option -F avec la
commande zfs receive pour forcer une restauration du systme de fichiers l'instantan le
plus rcent avant d'effectuer la rception. Cette option peut s'avrer ncessaire en cas de
modification du systme entre le moment o une restauration se produit et celui o la rception
est initialise.
Chapitre 1 Systme de fichiers ZFS (prsentation)

29

Nouveauts de ZFS

Pour plus d'informations, reportez-vous la section Rception d'un instantan ZFS


la page 186.

Instantans ZFS rcursifs


Version Solaris 10 11/06 : lorsque vous crez un instantan de systme de fichiers l'aide de la
commande zfs snapshot, spcifiez l'option -r si vous souhaitez crer des instantans de faon
rcursive pour l'ensemble des systmes de fichiers descendants. Cette option- permet en outre
de dtruire rcursivement tous les instantans descendants lors de la destruction d'un
instantan.
Une seule opration, dite atomique, permet de crer rapidement des instantans ZFS rcursifs.
Ceux-ci sont tous crs simultanment ou ne sont pas crs du tout. Grce ce type de slection
instantane, les oprations atomiques assurent ainsi la cohrence des donnes, y compris pour
les systmes de fichiers descendants.
Pour obtenir des informations supplmentaires, consultez la section Cration et destruction
d'instantans ZFS la page 178.

Double Parit RAID-Z (raidz2)


Version Solaris 10 11/06 : une configuration RAID-Z redondante peut dsormais prsenter
une parit simple ou double. En d'autres termes, le systme peut subir respectivement une ou
deux pannes de priphrique sans perte de donnes. Le mot-cl raidz2 permet de spcifier une
configuration RAID-Z deux parits. Pour spcifier une configuration RAID-Z une parit,
vous avez le choix entre les mots-cls raidz et raidz1.
Pour plus d'informations, consultez la section Cration de pools de stockage RAID-Z
la page 98 ou la page de manuel zpool(1M).

Disques hot spare pour priphriques de pool de


stockage ZFS
Version Solaris 10 11/06 : La fonction de disque hot spare permet d'identifier les disques
pouvant tre utiliss pour remplacer un priphrique dfaillant dans un ou plusieurs pools de
stockage. Le priphrique hot spare peut immdiatement remplacer tout priphrique actif du
pool qui tombe en panne. Vous pouvez galement effectuer ce remplacement manuellement.
Pour plus d'informations, reportez-vous la section Dsignation des disques hot spare dans le
pool de stockage la page 116 et la page de manuel zpool(1M).
30

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

Remplacement d'un systme de fichiers ZFS par un


clone ZFS (zfs promote)
Version Solaris 10 11/06 : la commande zfs promote permet de remplacer un systme de
fichiers ZFS existant par un clone de celui-ci. Cette fonctionnalit permet de tester la nouvelle
version d'un systme de fichiers, puis de la dfinir comme systme de fichiers actif.
Pour plus d'informations, reportez-vous la section Remplacement d'un systme de fichiers
ZFS par un clone ZFS la page 183 et la page de manuel zfs(1M).

Mise niveau des pools de stockage ZFS (zpool


upgrade)
Version Solaris 10 6/06 : vous pouvez mettre niveau vos pools de stockage l'aide de la
commande zpool upgrade et tirer ainsi profit des fonctions les plus rcentes. De plus, la
commande zpool status indique dornavant si la version actuelle des pools est plus ancienne.
Pour plus d'informations, reportez-vous la section Mise niveau de pools de stockage ZFS
la page 137 et la page de manuel zpool(1M).
Si vous souhaitez utiliser la console d'administration ZFS dans un systme comprenant un pool
provenant d'une version prcdente de Solaris, veillez pralablement mettre les pools niveau.
La commande zpool status permet de savoir si une mise niveau des pools est requise. Pour
obtenir des informations sur la console d'administration ZFS, reportez-vous la rubrique
Gestion Web ZFS la page 33.

Commandes de sauvegarde et de rtablissement ZFS


renommes
Version Solaris 10 6/06 : dans cette version de Solaris les commandes zfs backup et zfs
restore ont t renommes zfs send et zfs receive afin de mieux dcrire leur fonction. Ces
commandes ont pour fonction d'enregistrer et de restaurer les reprsentations de flux de
donnes ZFS.
Pour plus d'informations sur ces commandes, reportez-vous la section Envoi et rception de
donnes ZFS la page 184.

Rcupration de pools de stockage dtruits


Version Solaris 10 6/06 : cette version inclut la commande zpool import -D qui permet la
rcupration de pools prcdemment dtruits l'aide de la commande zpool destroy.
Chapitre 1 Systme de fichiers ZFS (prsentation)

31

Nouveauts de ZFS

Pour obtenir des informations supplmentaires, reportez-vous la section Rcupration de


pools de stockage ZFS dtruits la page 135.

Intgration de ZFS au gestionnaire de pannes


Version Solaris 10 6/06 : cette version intgre un moteur de diagnostic ZFS capable de
diagnostiquer et de signaler les pannes des priphriques et des pools. Les erreurs lies aux
sommes de contrle, aux E/S et aux priphriques font galement l'objet d'un rapport
lorsqu'elles sont lies la dfaillance d'un pool ou d'un priphrique.
Le moteur de diagnostic n'effectue pas d'analyses prdictives d'erreurs lies aux sommes de
contrle ou aux E/S et n'inclut aucune action proactive base sur l'analyse de pannes.
En cas de panne ZFS, la commande fmd peut mettre un message tel que le suivant :
SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Tue Mar 18 21:48:06 MDT 2008
PLATFORM: SUNW,Ultra-Enterprise, CSN: -, HOSTNAME: neo
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: f1ae0cad-f2dd-cfdc-a821-a3be5b363d68
DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information.
AUTO-RESPONSE: No automated response will occur.
IMPACT: Fault tolerance of the pool may be compromised.
REC-ACTION: Run zpool status -x and replace the bad device.

Il est recommand de suivre les instructions spcifiques de la commande zpool status, afin
d'identifier et de rsoudre rapidement la panne.
Pour obtenir un exemple de rcupration partir d'un problme ZFS signal, reportez-vous la
section Rparation d'un priphrique manquant la page 257.

Nouvelle commande zpool clear


Version Solaris 10 6/06 : cette version inclut la commande zpool clear permettant d'effacer
les dcomptes d'erreurs associs un priphrique ou au pool. Auparavant, les dcomptes
d'erreurs taient effacs lors de la mise en ligne du priphrique d'un pool avec la commande
zpool online. Pour plus d'informations, reportez-vous la page de manuel zpool(1M) et la
section Suppression des priphriques de pool de stockage la page 114.

Format NFSv4 ACL compact


Version Solaris 10 6/06 : cette version offre trois formats ACL NFSv4 : dtaill, positionnel et
compact. Les nouveaux formats ACL compact et positionnel permettent de dfinir et d'afficher
32

Guide d'administration Solaris ZFS Octobre 2008

Nouveauts de ZFS

les listes de contrle. La commande chmod permet de dfinir les trois formats ACL. Vous pouvez
utiliser la commande ls -V pour l'affichage des formats ACL compact et positionnel et la
commande ls - v pour l'affichage du format ACL dtaill.
Pour plus d'informations, reportez-vous la section Configuration et affichage d'ACL dans des
fichiers ZFS en format compact la page 216, la page de manuel chmod(1) et la page de
manuel ls(1).

Outil de contrle de systme de fichiers (fsstat)


Version Solaris 10 6/06 : un nouvel outil de contrle de systme de fichiers, fsstat, est
disponible pour la gnration de rapports relatifs aux oprations de systme de fichiers. Les
activits peuvent tre consignes par point de montage ou par type de systme de fichiers.
L'exemple suivant illustre les activits gnrales de systme de fichiers ZFS.
$ fsstat zfs
new name name attr attr lookup rddir read read write write
file remov chng get set
ops ops ops bytes ops bytes
7.82M 5.92M 2.76M 1.02G 3.32M 5.60G 87.0M 363M 1.86T 20.9M 251G zfs

Pour de plus amples informations, reportez-vous la page de manuel fsstat(1M).

Gestion Web ZFS


Version Solaris 10 6/06 : un outil Web de gestion ZFS permet d'effectuer de nombreuses
oprations administratives. Cet outil permet de raliser les tches suivantes :

crer un nouveau pool de stockage ;

augmenter la capacit d'un pool existant ;

dplacer (exporter) un pool de stockage vers un autre systme ;

importer un pool de stockage prcdemment export afin qu'il soit disponible dans un autre
systme ;

visualiser des informations sur les pools de stockage ;

crer un systme de fichiers ;

crer un volume ;

prendre un instantan d'un systme de fichiers ou d'un volume ;

restaurer un systme de fichiers l'aide d'un instantan prcdent.

Vous pouvez accder la console d'administration ZFS via un navigateur Web scuris l'URL
suivant :
https://system-name:6789/zfs
Chapitre 1 Systme de fichiers ZFS (prsentation)

33

Description de ZFS

Si vous avez saisi l'URL correct mais ne parvenez pas atteindre la console d'administration
ZFS, il est possible que le serveur ne soit pas dmarr. Pour dmarrer le serveur, excutez la
commande suivante :
# /usr/sbin/smcwebserver start

Pour excutez le serveur automatiquement l'initialisation du systme, tapez la commande


suivante :
# /usr/sbin/smcwebserver enable

Remarque Les systmes de fichiers et les pools de stockage ZFS ne peuvent pas tre grs l'aide
de la console de gestion Solaris (smc, Solaris Management Console).

Description de ZFS
Le systme de fichiers ZFS prsente des fonctions et des avantages uniques au monde. Ce
systme de fichiers rvolutionnaire modifie radicalement les mthodes d'administration des
systmes de fichiers. ZFS a t conu afin d'tre robuste, volutif et facile grer.

Stockage ZFS mis en pool


ZFS utilise le concept de pools de stockage pour la gestion du stockage physique. Auparavant,
l'laboration des systmes de fichiers reposait sur un priphrique physique unique. Afin de
traiter plusieurs priphriques et d'assurer la redondance de donnes, le concept de gestionnaire
de volume a t introduit pour fournir l'image d'un priphrique. Ainsi, il n'est plus ncessaire
de modifier les systmes de fichiers pour bnficier de plusieurs priphriques. Cette
conception ajoutait un niveau de complexit supplmentaire et empchait finalement les
avances de certains systmes de fichiers, car le systme de fichiers ne pouvait pas contrler le
placement physique des donnes dans les volumes virtualiss.
Grce ZFS, la gestion de volumes devient inutile. Plutt que de vous obliger crer des
volumes virtualiss, ZFS regroupe les priphriques dans un pool de stockage. Le pool de
stockage dcrit les caractristiques physiques du stockage (disposition de priphrique,
redondance de donnes, etc.) et agit en tant qu'espace de stockage de donnes arbitraires
partir duquel il est possible de crer des systmes de fichiers. Dsormais, les systmes de fichiers
ne sont plus limits des priphriques individuels. Ainsi, ils peuvent partager l'espace avec
l'ensemble des systmes de fichiers du pool. Il n'est plus ncessaire de prdterminer la taille des
systmes de fichiers, car celle-ci augmentent automatiquement au sein de l'espace allou au pool
de stockage. En cas d'ajout d'espace de stockage, tous les systmes de fichiers du pool peuvent
immdiatement utiliser l'espace supplmentaire, sans requrir des tches supplmentaires.
Selon divers aspects, le pool de stockage agit comme un systme de mmoire virtuel. Lors de
34

Guide d'administration Solaris ZFS Octobre 2008

Description de ZFS

l'ajout d'un DIMM mmoire un systme, le systme d'exploitation ne vous force pas
configurer la mmoire et l'assigner des processus, l'aide de commandes spcifiques. Tous
les processus du systme utilisent automatiquement la mmoire supplmentaire.

Smantique transactionnelle
ZFS tant un systme de fichiers transactionnel, l'tat du systme de fichiers reste toujours
cohrent sur le disque. Les systmes de fichiers classiques crasent les donnes en place. Ainsi,
en cas de rduction de la puissance de la machine, par exemple, entre le moment o un bloc de
donnes est allou et celui o il est li un rpertoire, le systme de fichiers reste incohrent.
Auparavant, la commande fsck permettait de rsoudre ce problme. Elle parcourait et vrifiait
l'tat du systme de fichiers et tentait de rparer les incohrences dtectes. Cette situation
reprsentait une grande source de problme pour les administrateurs et la rsolution de tous les
problmes potentiels n'tait pas garantie. Plus rcemment, les systmes de fichiers ont introduit
le concept de journalisation. Le processus de journalisation enregistre les actions dans un
journal spar, lequel peut ensuite tre lu en toute scurit en cas de panne du systme. Ce
processus requiert un temps systme inutile car les donnes sont crites deux fois. En outre, il
entrane souvent d'autres problmes, par exemple l'impossibilit de relire correctement le
journal.
Avec un systme de fichiers transactionnel, la gestion de donnes s'effectue avec une smantique
de copie lors de l'criture. Les donnes ne sont jamais crases et toute squence d'opration est
entirement valide ou entirement ignore. Grce ce mcanisme, la corruption du systme
de fichier en raison d'une coupure de courant ou d'un arrt du systme est impossible. Ainsi,
aucune commande n'est requise pour remplacer fsck. Il est possible que les donnes
rcemment crites soient perdues, mais le systme de fichiers reste toujours cohrent. De plus,
les donnes synchrones (crites avec l'indicateur O_DSYNC) sont toujours crites avant le renvoi.
Ainsi, toute perte est impossible.

Sommes de contrle et donnes d'autortablissement


Avec ZFS, une somme de contrle des donnes et mtadonnes est effectu selon l'algorithme
slectionn par l'utilisateur. Les systmes de fichiers classiques fournissant le contrle de
sommes l'effectuaient " par bloc ", en raison de la couche de gestion de volumes et de la
conception classique de systme de fichiers. Dans la conception classique, certains modes
d'chec, comme l'criture d'un bloc complet dans un emplacement incorrect, peut gnrer des
donnes dont la somme de contrle s'est effectue correctement mais qui sont en ralit
incorrectes. Les somme de contrle ZFS sont stockes de manire ce que ces modes d'chec
soient dtects et qu'une solution y soit apporte. Toutes les oprations de contrle de somme et
de rcupration des donnes sont effectues sur la couche systme de fichiers et sont
transparentes aux applications.
Chapitre 1 Systme de fichiers ZFS (prsentation)

35

Description de ZFS

De plus, ZFS fournit des donnes d'autortablissement. ZFS prend en charge les pools de
stockage avec divers niveaux de redondance de donnes, y compris la mise en miroir et une
variante de RAID-5. Lorsqu'un bloc de donnes endommag est dtect, ZFS rcupre les
donnes correctes partir d'une autre copie redondante et rpare les donnes endommages en
les remplaant par celles de la copie.

volutitiv ingale
ZFS a t conu ds le dpart avec l'objectif d'en faire le systme de fichiers le plus volutif ayant
jamais exist. La taille du systme de fichiers lui-mme est de 128 bits et vous pouvez utiliser
jusqu' 256 quadrillion de zettaoctets de stockage. L'ensemble des mtadonnes est allou de
faon dynamique. Il est donc inutile de pr-allouer des inodes ou de limiter l'volutivit du
systme de fichiers lors de sa cration. Tous les algorithmes ont t crits selon cette exigence
d'volutivit. Les rpertoires peuvent contenir jusqu' 248 (256 trillions) d'entres et le nombre
de systmes de fichiers ou de fichiers contenus dans un systme de fichiers est illimit.

Instantans ZFS
Un instantan est une copie en lecture seule d'un systme de fichiers ou d'un volume. La
cration d'instantans est rapide et facile. Ils n'utilisent initialement aucun espace
supplmentaire dans le pool.
mesure que le jeu de donnes actif est modifi, l'espace occup par l'instantan augmente
tandis que l'instantan continue de rfrencer les anciennes donnes. Par consquent,
l'instantan vite que les donnes soit libres nouveau dans le pool.

Administration simplifie
Point le plus important, ZFS fournit un modle administration qui a t normment simplifi.
Grce une disposition hirarchique des systmes de fichiers, l'hritage des proprits et la
gestion automatique des points de montage et de la smantique de partage NFS, ZFS facilite la
cration et la gestion de systmes de fichiers sans requrir de nombreuses commandes, ni la
modification de fichiers de configuration. Vous pouvez dfinir des quotas ou des rservations,
activer ou dsactiver la compression ou encore grer les point de montage pour plusieurs
systmes de fichiers avec une seule commande. Vous pouvez examiner ou rparer les
priphriques sans utiliser un jeu distinct de commandes de gestion de volumes. Vous pouvez
prendre un nombre illimit d'instantans de systmes de fichiers. Vous pouvez sauvegarder et
restaurer des systmes de fichiers individuels.
ZFS assure la gestion des systmes de fichiers par le biais d'une hirarchie qui facilite la gestion
des proprits telles que les quotas, les rservations, la compression et les points de montage.
Dans ce modle, les systmes de fichiers deviennent le point de contrle central. Les systmes de
36

Guide d'administration Solaris ZFS Octobre 2008

Terminologie ZFS

fichiers eux-mmes tant trs peu coteux (autant qu'un nouveau rpertoire), il est
recommand de crer un systme de fichiers pour chaque utilisateur, projet, espace de travail
etc. Cette conception permet de dfinir des points de gestion dtaills.

Terminologie ZFS
Cette section dcrit la terminologie de base utilise dans ce document :
Environnement d'initialisation alternatif

Environnement d'initialisation cr l'aide de la


commande lucreate et ventuellement mis jour
l'aide de la commande luupgrade mais qui n'est
pas actuellement l'environnement d'initialisation
principal ou actif. L'environnement
d'initialisation alternatif peut tre remplac par
l'environnement d'initialisation principal en
excutant la commande luactivate.

Somme de contrle

Hachage de 256 bits des donnes dans un bloc de


systme de donnes. La fonctionnalit de contrle
de somme regroupe entre autres, le contrle de
somme simple et rapide fletcher2 (paramtre par
dfaut), ainsi que les puissantes fonctions de
hachage cryptographique telles que SHA256.

Clone

Systme de fichiers dont le contenu initial est


identique celui d'un instantan.
Pour plus d'informations sur les clones,
reportez-vous la section Prsentation des
clones ZFS la page 182.

Jeu de donnes

Nom gnrique pour les entits ZFS suivantes :


clones, systmes de fichiers, instantans ou
volumes.
Chaque jeu de donnes est identifi par un nom
unique dans l'espace de noms ZFS. Les jeux de
donnes sont identifis l'aide du format suivant :
pool/chemin[ @instantan]

Chapitre 1 Systme de fichiers ZFS (prsentation)

pool

Identifie le nom d'un pool de


stockage contenant le jeu de
donnes.

chemin

Nom de chemin dlimit par slash


pour l'objet du jeu de donnes.
37

Terminologie ZFS

instantan

Composant optionnel identifiant


l'instantan d'un jeu de donnes.

Pour plus d'informations sur les jeux de donnes,


reportez-vous au Chapitre6, Gestion des
systmes de fichiers ZFS.
Systmes de fichiers par dfaut

Systmes de fichiers crs par dfaut lors de


l'utilisation de Live upgrade pour migrer d'un
systme racine UFS un systme racine ZFS. Le
groupe actuel de systmes de fichiers par dfaut
est le suivant :
/
/usr
/opt
/var

Systme de fichiers

Jeu de donnes ZFS de type filesystem mont au


sein de l'espace de noms systme standard et se
comportant comme les autres systmes de
fichiers.
Pour plus d'informations sur les systmes de
fichiers, reportez-vous au Chapitre6, Gestion des
systmes de fichiers ZFS.

Miroir

Priphrique virtuel stockant des copies


identiques de donnes sur un ou plusieurs
disques. Lorsqu'un disque d'un miroir est
dfaillant, tout autre disque du miroir est en
mesure de fournir les mmes donnes.

Pool

Groupe logique de priphriques dcrivant la


disposition et les caractristiques physiques du
stockage disponible. L'espace pour les jeux de
donnes est allou partir d'un pool.
Pour plus d'informations sur les pools de
stockage, reportez-vous au Chapitre5, Gestion
des pools de stockage ZFS.

Environnement d'initialisation principal

38

Guide d'administration Solaris ZFS Octobre 2008

Environnement d'initialisation utilis par la


commande "lucreate" pour crer un
environnement d'initialisation alternatif. Par
dfaut, l'environnement d'initialisation principal
correspond l'environnement d'initialisation

Terminologie ZFS

actuel. Ce paramtre par dfaut peut tre modifi


l'aide de l'option lucreate - s.
RAID-Z

Priphrique virtuel stockant les donnes et la


parit sur plusieurs disques, similaire RAID-5.
Pour plus d'informations sur RAID-Z,
reportez-vous la section Configuration de pool
de stockage RAID-Z la page 94.

Rargenture

Processus de transfert de donnes d'un


priphrique un autre. Par exemple, si un
composant de miroir est remplac ou mis hors
ligne, les donnes du composant de miroir le plus
actuel est copi dans le composant de miroir
nouvellement restaur. Dans les produits de
gestion de volumes classiques, ce processus est
appel resynchronisation de miroir.
Pour plus d'informations sur la rargenture ZFS,
reportez-vous la section Affichage de l'tat de
rargenture la page 265.

Systmes de fichiers partags

Groupe de systmes de fichiers partags entre


l'environnement d'initialisation alternatif et
l'environnement d'initialisation principal. Ce
groupe inclut des systmes de fichiers,
notamment /export, ainsi que la zone rserve au
swap. Les systmes de fichiers partags peuvent
galement contenir des racines de zone.

Instantan

Image en lecture seule d'un systme de fichiers ou


d'un volume un instant t.
Pour plus d'informations sur les instantans,
reportez-vous la section Prsentation des
instantans ZFS la page 177.

Priphrique virtuel

Priphrique logique dans un pool. il peut s'agir


d'un priphrique physique, d'un fichier ou d'une
collection de priphriques.
Pour plus d'informations sur les priphriques
virtuels, reportez-vous la section Affichage des
informations d'un priphrique virtuel de pool de
stockage la page 100.

Chapitre 1 Systme de fichiers ZFS (prsentation)

39

Exigences d'attribution de noms de composants ZFS

Volume

Jeu de donnes utilis pour muler un


priphrique physique. Vous pouvez par exemple
crer un volume ZFS en tant que priphrique de
swap.
Pour plus d'informations sur les volumes ZFS,
reportez-vous la section Volumes ZFS
la page 235.

Exigences d'attribution de noms de composants ZFS


L'attribution de noms de chaque composant ZFS doit respecter les rgles suivantes :

Les composants vides sont interdits.

Chaque composant ne peut contenir que des caractres alphanumriques en plus des quatre
caractres spciaux suivants :

Soulignement (_)
Trait d'union (-)
Deux points (:)
Point (.)

Les noms de pools doivent commencer par une lettre, l'exception des restrictions
suivantes :

La squence de dbut c[0-9] n'est pas autorise

Le nom log est rserv

Les noms commenant par mirror, raidz ou spare ne sont pas autoriss, car ils sont
rservs.

En outre, les noms de pools ne doivent pas contenir le signe de pourcentage (%).

40

Les noms de jeux de donnes doivent commencer par un caractre alphanumrique. Les
noms de jeux de donnes ne doivent pas contenir le signe de pourcentage (%).

Guide d'administration Solaris ZFS Octobre 2008

C H A P I T R E

Guide de dmarrage de ZFS

Ce chapitre dcrit les tapes suivre pour dfinir une configuration ZFS simple. Il offre une
vision globale du fonctionnement des commandes ZFS et explique les mthodes de cration de
pools et de systmes de fichiers simples. Cette section ne constitue pas une prsentation
exhaustive. Pour des informations plus dtailles, reportez-vous aux autres chapitres, comme
indiqu.
Il contient les sections suivantes :

Exigences et recommandations en matire de matriel et de logiciel ZFS la page 41


Cration d'un systme de fichiers ZFS basique la page 42
Cration d'un pool de stockage ZFS la page 43
Cration d'une hirarchie de systmes de fichiers ZFS la page 44

Exigences et recommandations en matire de matriel et de


logiciel ZFS
Avant d'utiliser le logiciel ZFS, passez en revue les exigences et recommandations matrielles et
logicielles suivantes :

Systme SPARCTM ou x86 excutant la version 10 6/06 ou une version plus rcente de Solaris.

La taille minimale du disque est de 128 Ko. L'espace disque minimum requis pour un pool
de stockage est de 64 Mo.

Il est actuellement recommand de disposer d'au moins 768 Mo de mmoire pour installer
un systme Solaris. Cependant, pour assurer des performances correctes de ZFS, il
prfrables de disposer d'au moins un gigaoctet de mmoire.

En cas de cration d'une configuration de disques mise en miroir, il est conseill de disposer
de plusieurs contrleurs.
41

Cration d'un systme de fichiers ZFS basique

Cration d'un systme de fichiers ZFS basique


L'administration de ZFS a t conue dans un but de simplicit. La conception de ZFS a
notamment pour objectif de rduire le nombre de commandes ncessaires la cration d'un
systme de fichiers utilisable. Lors de la cration d'un pool, un systme de fichiers ZFS est
automatiquement cr et mont.
L'exemple suivant illustre la cration d'un pool de stockage miroir simple appel tank et d'un
systme de fichiers ZFS appel tank, en une seule commande. Supposons que l'intgralit des
disques /dev/dsk/c1t0d0 et /dev/dsk/c2t0d0 puissent tre utiliss.
# zpool create tank mirror c1t0d0 c2t0d0

Pour plus d'informations sur les configurations redondantes de pools ZFS, reportez-vous la
section Fonctions de rplication d'un pool de stockage ZFS la page 94.
Le nouveau systme de fichiers ZFS, tank, peut utiliser autant d'espace de disque que ncessaire
et est mont automatiquement sur /tank.
# mkfile 100m /tank/foo
# df -h /tank
Filesystem
size used avail capacity Mounted on
tank
80G 100M
80G
1%
/tank

Au sein d'un pool, vous souhaiterez probablement crer des systmes de fichiers
supplmentaires. Les systmes de fichiers fournissent des points d'administration qui
permettent de grer diffrents jeux de donnes au sein du mme pool.
L'exemple illustre la cration d'un systme de fichiers nomm fs dans le pool de stockage tank.
# zfs create tank/fs

Le nouveau systme de fichiers ZFS, tank/fs, peut utiliser autant d'espace de disque que
ncessaire et est mont automatiquement sur /tank/fs.
# mkfile 100m /tank/fs/foo
# df -h /tank/fs
Filesystem
size
tank/fs
80G

used avail capacity Mounted on


100M
80G
1%
/tank/fs

Il s'avre souvent ncessaire de crer et d'organiser une hirarchie de systmes de fichiers


correspondant des besoins spcifiques en matire d'organisation. Pour de plus amples
informations sur la cration d'une hirarchie de systmes de fichiers ZFS, reportez-vous la
section Cration d'une hirarchie de systmes de fichiers ZFS la page 44.

42

Guide d'administration Solaris ZFS Octobre 2008

Cration d'un pool de stockage ZFS

Cration d'un pool de stockage ZFS


L'exemple suivant illustre la simplicit de ZFS. Vous trouverez dans la suite de cette section un
exemple plus complet, similaire ce qui pourrait exister dans votre environnement. Les
premires tches consistent identifier les besoins en matire de stockage et crer un pool de
stockage. Le pool dcrit les caractristiques physiques du stockage et doit tre cr
pralablement tout systme de fichiers.

Identification des exigences de stockage du pool de


stockage ZFS
Dterminez les priphriques disponibles.
Avant de crer un pool de stockage, vous devez dfinir les priphriques utiliser pour stocker
les donnes. Ces priphriques doivent tre des disques de 128 Mo minimum et ne doivent pas
tre en cours d'utilisation par d'autres parties du systme d'exploitation. Il peut s'agir de
tranches individuelles d'un disque prformat ou de disques entiers formats par ZFS sous
forme d'une seule grande tranche.
Pour l'exemple de stockage utilis dans la section Cration d'un pool de stockage ZFS
la page 44, partez du principe que les disques entiers /dev/dsk/c1t0d0 et /dev/dsk/c1t1d0
sont disponibles.
Pour de plus amples informations sur les disques, leur utilisation et leur tiquetage,
reportez-vous la section Utilisation de disques dans un pool de stockage ZFS la page 91.

Slectionnez la rplication de donnes.


ZFS assure la prise en charge de plusieurs types de rplication de donns qui dterminent les
types de pannes matrielles que pourra supporter le pool. ZFS assure la prise en charge des
configurations non redondantes (entrelaces), ainsi que la mise en miroir et RAID-Z (une
variante de RAID-5).
L'exemple de stockage de la section Cration d'un pool de stockage ZFS la page 44 utilise la
mise en miroir de base de deux disques disponibles.
Pour de plus amples informations sur les fonctions de rplication ZFS, reportez-vous la
section Fonctions de rplication d'un pool de stockage ZFS la page 94.

Chapitre 2 Guide de dmarrage de ZFS

43

Cration d'une hirarchie de systmes de fichiers ZFS

Cration d'un pool de stockage ZFS

Connectez-vous en tant qu'utilisateur root ou endossez un rle quivalent avec un profil de


droits ZFS adquat.
Pour de plus amples informations sur les droits de profils ZFS, reportez-vous la section
Profils de droits ZFS la page 245.

Choisissez un nom de pool.


Le nom de pool sert identifier le pool de stockage lorsque vous excutez les commandes zpool
ou zfs. La plupart des systmes ne requirent qu'un pool. Vous pouvez donc utiliser le nom de
votre choix tant qu'il respecte les exigences d'attribution de nom dcrites dans la section
Exigences d'attribution de noms de composants ZFS la page 40.

Crez le pool.
Par exemple, crez un pool mis en miroir nomm tank.
# zpool create tank mirror c1t0d0 c1t1d0

Si des priphriques contiennent un autre systme de fichiers ou sont en cours d'utilisation, la


commande ne peut pas crer le pool.
Pour de plus amples informations sur la cration de pools de stockage, reportez-vous la
section Cration d'un pool de stockage ZFS la page 97.
Pour plus d'informations sur la dtection de l'utilisation de priphriques, reportez-vous la
section Dtection des priphriques utiliss la page 102.
4

Affichez les rsultats.


Vous pouvez dterminer si votre pool a t correctement cr l'aide de la commande zpool
list.
# zpool list
NAME
tank

SIZE
80G

USED
137K

AVAIL
80G

CAP HEALTH
0% ONLINE

ALTROOT
-

Pour de plus amples informations sur la vrification de l'tat de pool, reportez-vous la section
Requte d'tat de pool de stockage ZFS la page 123.

Cration d'une hirarchie de systmes de fichiers ZFS


Une fois le pool de stockage, vous pouvez crer la hirarchie du systme de fichiers. Les
hirarchies sont des mcanismes d'organisation des informations la fois simples et puissants.
Elles sont connues de toute personne ayant utilis un systme de fichiers.
ZFS permet d'organiser les systmes de fichiers en hirarchies arbitraires, dans lesquelles
chaque systme de fichiers n'a qu'un seul parent. La racine de la hirarchie correspond toujours
44

Guide d'administration Solaris ZFS Octobre 2008

Cration d'une hirarchie de systmes de fichiers ZFS

au nom du pool. ZFS exploite cette hirarchie en assurant la prise en charge de l'hritage de
proprits. Ainsi, vous pouvez dfinir les proprits communes rapidement et facilement dans
des arborescences reprsentant l'intgralit des systmes de fichiers.

Dtermination de la hirarchie du systme de fichiers


ZFS
Choisissez la granularit du systme de fichiers.
Les systmes de fichiers ZFS sont le point central d'administration. Ils sont lgers et se crent
facilement. Un modle correct se compose d'un systme de fichiers par utilisateur ou par projet.
En effet, un tel modle permet de contrler les proprits, les instantans et les sauvegardes par
utilisateur ou par projet.
Deux systmes de fichiers ZFS, bonwick et billm sont cres dans la section Cration de
systmes de fichiers ZFS la page 46.
Pour plus d'informations sur la gestion des systmes de fichiers, reportez-vous au Chapitre6,
Gestion des systmes de fichiers ZFS.

Regroupez les systmes de fichiers similaires.


ZFS permet d'organiser les systmes de fichiers en hirarchie, pour regrouper les systmes de
fichiers similaires. Ce modle fournit un point d'administration central pour le contrle des
proprits et l'administration de systmes de fichiers. Il est recommand de crer les systmes
de fichiers similaires sous un nom commun.
Dans l'exemple de la section Cration de systmes de fichiers ZFS la page 46, les deux
systmes de fichiers sont placs sous un systme de fichiers appel home.

Choisissez les proprits du systme de fichiers.


La plupart des caractristiques de systmes de fichiers se contrlent l'aide de proprits
simples. Ces proprits assurent le contrle de divers comportements, y compris l'emplacement
de montage des systmes de fichiers, leur mthode de partage, l'utilisation de la compression et
l'activation des quotas.
Dans l'exemple de la section Cration de systmes de fichiers ZFS la page 46, tous les
rpertoires de base sont monts dans /export/zfs/ utilisateur. Ils sont partags l'aide de NFS
et la compression est active. De plus, un quota de 10 Go est appliqu dans bonwick.
Pour de plus amples informations sur les proprits, reportez-vous la section Prsentation
des proprits ZFS la page 143.

Chapitre 2 Guide de dmarrage de ZFS

45

Cration d'une hirarchie de systmes de fichiers ZFS

Cration de systmes de fichiers ZFS


Connectez-vous en tant qu'utilisateur root ou endossez un rle quivalent avec un profil de
droits ZFS adquat.
Pour de plus amples informations sur les droits de profils ZFS, reportez-vous la section
Profils de droits ZFS la page 245.

Crez la hirarchie souhaite.


Dans cet exemple, un systme de fichiers agissant en tant que conteneur de systmes de fichiers
individuels est cr.
# zfs create tank/home

Ensuite, les systmes de fichiers sont regroups sous le systme de fichiers home dans le pool
tank.
3

Dfinissez les proprits hrites.


Une fois la hirarchie du systme de fichiers tablie, dfinissez toute proprit destine tre
partage par l'ensemble des utilisateurs :
# zfs set
# zfs set
# zfs set
# zfs get
NAME
tank/home

mountpoint=/export/zfs tank/home
sharenfs=on tank/home
compression=on tank/home
compression tank/home
PROPERTY
VALUE
compression
on

SOURCE
local

Une nouvelle fonction permettant de dfinir les proprits de systme de fichiers lors de la
cration du systme de fichier est disponible. Exemple :
# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home

Pour plus d'informations sur les proprits et l'hritage des proprits, reportez-vous la
section Prsentation des proprits ZFS la page 143.
4

Crez les systmes de fichiers individuels.


Il est possible que les systmes de fichiers aient t crs et que leurs proprits aient ensuite t
modifies au niveau home. Vous pouvez modifier les proprits de manire dynamique lorsque
les systmes de fichiers sont en cours d'utilisation.
# zfs create tank/home/bonwick
# zfs create tank/home/billm

Les paramtres de proprits de ces systmes de fichiers sont hrits de leur parent. Ils sont
donc monts sur /export/zfs/ utilisateur et partags via NFS. Il est inutile de modifier le
fichier /etc/vfstab ou /etc/dfs/dfstab.
46

Guide d'administration Solaris ZFS Octobre 2008

Cration d'une hirarchie de systmes de fichiers ZFS

Pour de plus amples informations sur les systmes de fichiers, reportez-vous la section
Cration d'un systme de fichiers ZFS la page 140.
Pour de plus amples informations sur le montage et le partage de systmes de fichiers,
reportez-vous la section Montage et partage des systmes de fichiers ZFS la page 164.
5

Dfinissez les proprits spcifiques au systme.


Dans cet exemple, un quota de 10 Go est attribu l'utilisateur bonwick. Cette proprit place
une limite sur la quantit d'espace qu'il peut utiliser, indpendamment de l'espace disponible
dans le pool.
# zfs set quota=10G tank/home/bonwick

Affichez les rsultats.


La commande zfs list permet de visualiser les informations disponibles sur le systme de
fichiers :
# zfs list
NAME
tank
tank/home
tank/home/billm
tank/home/bonwick

USED
92.0K
24.0K
8K
8K

AVAIL REFER MOUNTPOINT


67.0G 9.5K /tank
67.0G
8K /export/zfs
67.0G
8K /export/zfs/billm
10.0G
8K /export/zfs/bonwick

Notez que l'utilisateur bonwick ne dispose que de 10 Go d'espace alors que l'utilisateur billm
peut utiliser l'intgralit du pool (67 Go).
Pour de plus amples informations sur la visualisation de l'tat du systme de fichiers,
reportez-vous la section Envoi de requtes sur les informations des systmes de fichiers ZFS
la page 156.
Pour de plus amples informations sur l'utilisation et le calcul de l'espace, reportez-vous la
section Comptabilisation de l'espace ZFS la page 50.

Chapitre 2 Guide de dmarrage de ZFS

47

48

C H A P I T R E

Diffrences entre ZFS et les systmes de fichiers


classiques

Cette section aborde les diffrences significatives entre ZFS et les systmes de fichiers classiques.
La comprhension de ces diffrences cl permet d'viter les confusions lors de l'utilisation
d'outils classiques en interaction avec ZFS.
Il contient les sections suivantes :

Granularit du systme de fichiers ZFS la page 49


Comptabilisation de l'espace ZFS la page 50
Comportement d'espace satur la page 50
Montage de systme de fichiers ZFS la page 51
Gestion de volumes classique la page 51
Nouveau modle ACL Solaris la page 51

Granularit du systme de fichiers ZFS


Traditionnellement, les systmes de fichiers taient restreints un priphrique, ce qui limitait
les systmes de fichiers eux-mmes la taille du priphrique. Les crations successives de
systmes de fichiers classiques dues aux contraintes de taille demandent du temps et s'avrent
parfois difficile. Les produits de gestion de volume traditionnels ont aid grer ce processus.
Les systmes de fichiers ZFS n'tant pas limits des priphriques spcifiques, leur cration est
facile et rapide, tout comme celle des rpertoires. La taille des systmes de fichiers ZFS
augmente automatiquement dans l'espace allou au pool de stockage.
Au lieu de crer un systme de fichier, comme /export/home, pour la gestion de plusieurs
sous-rpertoires d'utilisateurs, vous pouvez crer un systme de fichiers par utilisateur. De plus,
ZFS fournit une hirarchie qui permet de paramtrer et de grer facilement plusieurs systmes
de fichiers en appliquant des proprits dont peuvent hriter les systmes de fichiers de la
hirarchie.
Pour obtenir un exemple de cration de hirarchie de systme de fichiers, reportez-vous la
section Cration d'une hirarchie de systmes de fichiers ZFS la page 44.
49

Comptabilisation de l'espace ZFS

Comptabilisation de l'espace ZFS


ZFS repose sur un concept de stockage mis en pool. Contrairement aux systmes de fichiers
classiques, qui sont mapps vers un stockage physique, tous les systmes de fichiers ZFS d'un
pool partagent le stockage disponible dans le pool. Ainsi, l'espace disponible indiqu par des
utilitaires tels que df peut changer alors mme que le systme de fichiers est inactif, parce que
d'autres systmes de fichiers du pool utilisent ou librent de l'espace. Notez que la taille
maximale du systme de fichiers peut tre limite par l'utilisation des quotas. Pour obtenir des
informations sur les quotas, reportez-vous la section Dfinitions de quotas sur les systmes
de fichiers ZFS la page 171. Les rservations permettent de garantir de l'espace disponible un
systme de fichiers spcifique. Pour obtenir des informations sur les rservations, reportez-vous
la rubrique Dfinition de rservations sur les systmes de fichiers ZFS la page 173. Ce
modle est trs similaire au modle NFS dans lequel plusieurs rpertoires sont monts partir
du mme systme de fichiers (par exemple : /home).
Toutes les mtadonnes dans ZFS sont alloues dynamiquement. La plupart des autres
systmes de fichiers pr-allouent une grande partie de leurs mtadonnes. Par consquent, un
cot d'espace immdiat est requis pour ces mtadonnes lors de la cration du systme de
fichiers. En outre, en raison de ce comportement, le nombre total de fichiers pris en charge par
le systme de fichiers est prdtermin. Dans la mesure o ZFS alloue les mtadonnes lorsqu'il
en a besoin, aucun cot d'espace initial n'est requis et le nombre de fichiers n'est limit que par
l'espace disponible. Dans le cas de ZFS, la sortie de la commande df -g ne s'interprte pas de la
mme manire que pour les autres systmes de fichiers. Le nombre de fichiers (total files)
indiqu n'est qu'une estimation base sur la quantit de stockage disponible dans le pool.
ZFS est un systme de fichiers transactionnel. La plupart des modifications apportes au
systme de fichier sont rassembles en groupes de transaction et valides sur le disque de faon
asynchrone. Tant que ces modifications ne sont pas valides sur le disque, elles sont considres
comme des modifications en attente. La quantit d'espace utilis disponible et rfrenc par un
fichier ou un systme de fichier ne tient pas compte des modifications en attente. Ces
modifications sont gnralement prises en compte au bout de quelques secondes. Mme si vous
validez une modification apporte au disque avec la commande fsync(3c) ou O_SYNC, les
informations relatives l'utilisation d'espace ne sont pas automatiquement mise jour.

Comportement d'espace satur


La cration d'instantans de systmes de fichiers est peu coteuse et facile dans ZFS. En gnral,
les instantans sont identiques dans la plupart des environnements ZFS. Pour plus
d'informations sur les instantans ZFS, reportez-vous au Chapitre7, Utilisation des instantans
et des clones ZFS.
La prsence d'instantans peut entraner des comportements inattendus lors des tentatives de
libration d'espace. En rgle gnrale, si vous disposez des droits adquats, vous pouvez
supprimer un fichier d'un systme de fichiers plein, ce qui entrane une augmentation de la
50

Guide d'administration Solaris ZFS Octobre 2008

Nouveau modle ACL Solaris

quantit d'espace disponible dans le systme de fichiers. Cependant, si le fichier supprimer


existe dans un instantan du systme de fichiers, sa suppression ne libre pas d'espace. Les blocs
utiliss par le fichier continuent tre rfrencs partir de l'instantan.
Par consquent, la suppression du fichier peut occuper davantage d'espace disque, car une
nouvelle version du rpertoire doit tre cre afin de reflter le nouvel tat de l'espace de noms.
En raison de ce comportement, l'erreur ENOSPC ou EDQUOT peut se produire lorsque vous tentez
de supprimer un fichier.

Montage de systme de fichiers ZFS


ZFS a t conu pour simplifier et faciliter l'administration. Par exemple, avec des systmes de
fichiers existants, vous devez modifier le fichier /etc/vfstab chaque fois que vous ajoutez un
systme de fichiers. Avec ZFS, cela n'est plus ncessaire, grce au montage et dmontage
automatique en fonction des proprits du jeu de donnes. Vous n'avez pas besoin de grer les
entres ZFS dans le fichier /etc/vfstab.
Pour de plus amples informations sur le montage et le partage de systmes de fichiers ZFS,
reportez-vous la section Montage et partage des systmes de fichiers ZFS la page 164.

Gestion de volumes classique


Comme dcrit la section Stockage ZFS mis en pool la page 34, ZFS limine la ncessit d'un
gestionnaire de volume spar. ZFS oprant sur des priphriques bruts, il est possible de crer
un pool de stockage compos de volumes logiques logiciels ou matriels. Cette configuration est
dconseille, car ZFS fonctionne mieux avec des priphriques bruts physiques. L'utilisation de
volumes logiques peut avoir un impact ngatif sur les performances, la fiabilit, voire les deux,
et doit de ce fait tre vite.

Nouveau modle ACL Solaris


Les versions prcdentes du systme d'exploitation Solaris assuraient la prise en charge d'une
implmentation ACL reposant principalement sur la spcification d'ACL POSIX-draft. Les
ACL POSIX-draft sont utilises pour protger des fichiers UFS. Un nouveau modle ACL bas
sur la spcification NFSv4 est utilis pour protger les fichiers ZFS.
Les principales diffrences prsentes par le nouveau modle ACL Solaris sont les suivantes :

modle bas sur la spcification NFSv4 et similaire aux ACL de type NT ;

jeu de privilges d'accs bien plus granulaire ;

configuration et affichage avec les commandes chmod et ls, et non les commandes setfacl
et getfacl ;

Chapitre 3 Diffrences entre ZFS et les systmes de fichiers classiques

51

Nouveau modle ACL Solaris

smantique d'hritage bien plus riche pour dterminer comment les privilges d'accs sont
appliqus d'un rpertoire un sous-rpertoire, et ainsi de suite.

Pour plus d'informations sur l'utilisation de listes de contrle d'accs (ACL) avec des fichiers
ZFS, reportez-vous au Chapitre8, Utilisation des ACL pour la protection de fichiers ZFS.

52

Guide d'administration Solaris ZFS Octobre 2008

C H A P I T R E

Installation et initialisation d'un systme de


fichiers racine ZFS

Ce chapitre dcrit la procdure d'installation et d'initialisation d'un systme de fichiers ZFS. La


migration d'un systme de fichiers racine UFS vers un systme de fichiers ZFS l'aide de Solaris
Live Upgrade est galement aborde.
Il contient les sections suivantes :

Installation et initialisation d'un systme de fichiers racine ZFS (prsentation) la page 53


Configuration requise pour l'installation de Solaris et de Solaris Live Upgrade pour la prise
en charge de ZFS la page 55
Installation d'un systme de fichiers racine ZFS (installation initiale) la page 57
Installation d'un systme de fichiers racine ZFS (installation JumpStart) la page 63
Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS
(Solaris Live Upgrade) la page 67
Prise en charge ZFS des priphriques de swap et de vidage la page 81
Initialisation partir d'un systme de fichiers racine ZFS la page 83

Vous trouverez la liste des problmes connus relatifs cette version dans les notes de version de
Solaris 10 10/08.
Vous trouverez des informations de dpannage mises jour sur le site suivant :
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

Installation et initialisation d'un systme de fichiers racine


ZFS (prsentation)
La version Solaris 10 10/08 permet d'installer et d'initialiser un systme de fichiers racine ZFS
des manires suivantes :

Il est possible d'effectuer une installation initiale lorsque ZFS est slectionn comme systme
de fichiers racine.
53

Installation et initialisation d'un systme de fichiers racine ZFS (prsentation)

Vous pouvez utiliser la fonction Solaris Live Upgrade pour migrer d'un systme de fichiers
racine UFS vers un systme de fichiers racine ZFS. Vous pouvez en outre utiliser Solaris Live
Upgrade pour effectuer les tches suivantes :

Crer un nouvel environnement d'initialisation dans un pool racine ZFS existant.

Crer un nouvel environnement d'initialisation dans un nouveau pool racine ZFS.

Une fois qu'un systme SPARC ou x86 est install avec un systme de fichiers racine ZFS ou
migr vers un systme de fichiers racine ZFS, le systme s'initialise automatiquement partir du
systme de fichiers racine ZFS. Pour plus d'informations sur les modifications apportes
l'initialisation, reportez-vous la section Initialisation partir d'un systme de fichiers racine
ZFS la page 83.

Fonctions d'installation de ZFS


Les fonctions d'installation de ZFS suivantes sont disponibles dans cette version de Solaris :

Le programme interactif d'installation en mode texte de Solaris vous permet d'installer un


systme de fichiers racine UFS ou ZFS. Le systme de fichiers par dfaut est toujours UFS
pour cette version de Solaris. Vous pouvez accder au programme interactif d'installation en
mode texte d'une des manires suivantes :

Sur un systme SPARC, utilisez la syntaxe suivante partir du DVD d'installation de


Solaris :
ok boot cdrom - text

Sur un systme SPARC, utilisez la syntaxe suivante lors d'une initialisation partir du
rseau :
ok boot net - text

54

Sur un systme x86, slectionnez l'option d'installation en mode texte lorsque vous y tes
invit.

Les fonctions JumpStartTM personnalises vous permettent de configurer un profil pour


crer un pool de stockage ZFS et dsigner un systme de fichiers ZFS d'initialisation.

Vous pouvez utiliser la fonction Solaris Live Upgrade pour migrer d'un systme de fichiers
racine UFS vers un systme de fichiers racine ZFS. Les commandes lucreate et luactivate
ont t amliores afin de prendre en charge les pools et systmes de fichiers ZFS. Les
commandes lustatus et ludelete fonctionnent comme dans les versions prcdentes de
Solaris.

Vous pouvez configurer un pool racine ZFS mis en miroir en slectionnant deux disques au
cours de l'installation. Vous pouvez galement crer un pool racine ZFS mis en miroir en
connectant ou en ajoutant d'autres disques une fois l'installation termine .

Les priphriques de swap et de vidage sont automatiquement crs sur les volumes ZFS
dans le pool racine ZFS.

Guide d'administration Solaris ZFS Octobre 2008

Installation et initialisation d'un systme de fichiers racine ZFS (prsentation)

Les fonctions d'installation suivantes ne sont pas disponibles dans la prsente version :

La fonction d'installation de l'interface graphique permettant d'installer un systme de


fichiers racine ZFS n'est actuellement pas disponible.

La fonction d'installation Flash de SolarisTM permettant d'installer un systme de fichiers


racine ZFS n'est actuellement pas disponible.

Le programme de mise niveau standard ne peut pas tre utilis pour mettre niveau votre
systme de fichiers racine UFS avec un systme de fichiers racine ZFS. Si vous disposez d'au
moins une tranche UFS d'initialisation, l'option de mise niveau standard devrait tre
disponible. Si vous disposez de pools ZFS d'initialisation mais d'aucune tranche UFS
d'initialisation, la seule manire d'effectuer une mise niveau consiste utiliser Live
Upgrade la place du programme de mise niveau standard. Si vous disposez la fois d'un
pool ZFS d'initialisation et d'une tranche UFS d'initialisation, l'option de mise niveau
standard devrait tre disponible bien que seule la tranche UFS puisse tre mise niveau.

Configuration requise pour l'installation de Solaris et


de Solaris Live Upgrade pour la prise en charge de ZFS
Vrifiez que vous disposez de la configuration requise suivante avant d'installer un systme avec
un systme de fichiers racine ZFS ou avant de migrer un systme de fichiers racine UFS vers un
systme de fichiers racine ZFS :

Informations de version Solaris : La capacit installer et initialiser partir d'un systme


de fichiers racine ZFS est disponible dans Solaris 10 10/08. Pour utiliser Solaris Live Upgrade
afin de migrer vers un systme de fichiers racine ZFS, vous devez avoir install Solaris 10
10/08 ou mis niveau votre version vers Solaris 10 10/08.

Considrations d'un pool de stockage ZFS : Vous pouvez crer un pool de stockage ZFS
lorsque vous avez effectu une installation initiale.
Afin de vous servir de Solaris Live Upgrade pour migrer un systme de fichiers racine UFS
vers un systme de fichiers racine ZFS, un pool de stockage ZFS doit avoir t cr avant
d'effectuer l'opration lucreate . Afin de pouvoir tre mis niveau et initialis, le pool de
stockage ZFS doit tre cr avec des tranches plutt qu'avec des disques entiers.

En outre, le pool de stockage ZFS destin tre le pool racine doit satisfaire la configuration
suivante :

Configuration de l'espace du pool de stockage ZFS : La quantit minimale d'espace


disponible requis sur le pool d'un systme de fichiers racine ZFS est suprieure celle d'un
systme de fichiers racine UFS car les priphriques de swap et de vidage doivent tre
distincts dans un environnement racine ZFS. Par dfaut, le priphriques de swap et le
priphriques de vidage ne sont qu'un mme priphrique sur un systme de fichiers racine
UFS.

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

55

Installation et initialisation d'un systme de fichiers racine ZFS (prsentation)

Lorsqu'un systme est install ou mis niveau avec un systme de fichiers racine ZFS, la
taille de la zone de swap et du priphrique de vidage dpend de la quantit de mmoire
physique. L'espace minimum du pool d'un systme de fichiers racine ZFS d'initialisation
dpend de la quantit de mmoire physique, de l'espace disque disponible et du nombre
d'environnements d'initialisation crer.

L'installation d'un systme de fichiers racine ZFS requiert 768 Mo de mmoire


minimum.

1 Go de mmoire est recommand pour optimiser les performances globales du ZFS.

16 Go d'espace disque sont recommands. L'espace est utilis comme suit :

Zone de swap et priphrique de vidage : La zone de swap par dfaut correspond


la moiti de la mmoire physique et doit tre comprise entre 512 Mo et 2 Go. Le
priphrique de vidage correspond la moiti de la mmoire physique et doit tre
comprise entre 512 Mo et 2 Go. La taille de la zone de swap et du priphrique de
vidage peut tre ajuste avant, pendant et aprs l'installation. Pour plus
d'informations, reportez-vous la section Ajustement de la taille de vos
priphriques de swap et de vidage ZFS la page 82.

Environnement d'initialisation : Outre l'espace requis pour une nouvelle zone de


swap et un nouveau priphrique de vidage ou, les tailles ajustes d'une zone de swap
et d'un priphrique de vidage, un environnement d'initialisation ZFS migr partir
d'un environnement d'initialisation UFS requiert environ 6 Go. Chaque
environnement d'initialisation ZFS clon partir d'un autre environnement
d'initialisation ZFS ne requiert pas d'espace disque supplmentaire ; toutefois, prenez
en compte le fait que la taille de l'environnement d'initialisation est susceptible
d'augmenter lors de l'application de patchs. Tous les environnements d'initialisation
ZFS d'un mme pool racine utilisent les mmes priphriques de swap et de vidage.

Par exemple, un systme disposant de 12 Go d'espace disque risque d'tre trop petit pour
un environnement d'initialisation ZFS car chaque priphrique de swap et de vidage
requiert 2 Go et l'environnement d'initialisation ZFS qui est migr partir de
l'environnement d'initialisation UFS requiert environ 6 Go.

Le pool doit avoir une tiquette SMI. Cette condition doit tre respecte si le pool est cr
avec des tranches de disque.

Le pool doit se trouver sur une ou plusieurs tranches de disque mises en miroir mais pas
dans une configuration RAID-Z ni une configuration non redondante de plusieurs disques.
Si vous tentez d'utiliser une configuration de pool non prise en charge lors d'une migration
effectue par Live Upgrade, un message du type suivant s'affiche :
ERROR: ZFS pool name does not support boot environments

56

Sur un systme x86, le disque doit contenir une table fdisk.

Les disques dsigns comme disques d'initialisation dans un pool racine ZFS doivent tre
limits 1 To sur les systmes SPARC tout comme sur les systmes x86.

Guide d'administration Solaris ZFS Octobre 2008

Installation d'un systme de fichiers racine ZFS (installation initiale)

Installation d'un systme de fichiers racine ZFS (installation


initiale)
Cette version de Solaris vous permet d'effectuer une installation initiale l'aide du programme
interactif d'installation en mode texte de Solaris pour crer un pool de stockage ZFS contenant
un systme de fichiers racine ZFS d'initialisation. Si vous disposez d'un pool de stockage ZFS
que vous souhaitez utiliser pour votre systme de fichiers racine ZFS, servez-vous de Solaris
Live Upgrade pour migrer votre systme de fichiers racine UFS existant vers un systme de
fichiers racine ZFS dans un pool de stockage ZFS existant. Pour plus d'informations,
reportez-vous la section Migration d'un systme de fichiers racine UFS vers un systme de
fichiers racine ZFS (Solaris Live Upgrade) la page 67.
Si vous dcidez de configurer des zones aprs l'installation initiale d'un systme de fichiers
racine ZFS et vous prvoyez l'application d'un correctif au systme ou sa mise niveau,
reportez-vous Utilisation de Solaris Live Upgrade pour migrer un systme avec zones
la page 75.
Si vous disposez dj de pools de stockage ZFS sur votre systme, ces derniers sont reconnus par
le message suivant, mais restent inchangs, sauf si vous slectionnez les disques des pools
existants pour crer le nouveau pool de stockage.
There are existing ZFS pools available on this system. However, they can only be upgraded
using the Live Upgrade tools. The following screens will only allow you to install a ZFS root system,
not upgrade one.

Attention Tous les pools existants dont l'un des disques aura t slectionn pour le nouveau

pool seront dtruits.


Avant de lancer l'installation initiale pour crer un pool de stockage ZFS, reportez-vous la
section Configuration requise pour l'installation de Solaris et de Solaris Live Upgrade pour la
prise en charge de ZFS la page 55.
EXEMPLE 41

Installation initiale d'un systme de fichiers racine ZFS d'initialisation

Le processus interactif d'installation en mode texte de Solaris est le mme que dans les
prcdentes versions de Solaris, exception faite d'un message vous invitant crer un systme
de fichiers racine UFS ou ZFS. UFS demeure dans cette version le systme de fichiers par dfaut.
Si vous slectionnez un systme de fichiers racine ZFS, un message vous invite crer un pool
de stockage ZFS. L'installation d'un systme de fichiers racine ZFS implique les tapes suivantes
:
1. Slectionnez la mthode d'installation interactive de Solaris puisqu'une installation Flash de
Solaris n'est pas disponible pour crer un systme de fichiers racine ZFS d'initialisation.
Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

57

Installation d'un systme de fichiers racine ZFS (installation initiale)

EXEMPLE 41

Installation initiale d'un systme de fichiers racine ZFS d'initialisation

(Suite)

Utilisez Solaris Live Upgrade pour migrer vers un systme de fichiers racine ZFS si la version
actuelle, Solaris 10 10/08, est dj installe. Pour plus d'informations sur la migration vers
un systme de fichiers racine ZFS, reportez-vous la section Migration d'un systme de
fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)
la page 67.
2. Pour crer un systme de fichiers racine ZFS, slectionnez l'option ZFS. Exemple :
Choose Filesystem Type
Select the filesystem to use for your Solaris installation

[ ] UFS
[X] ZFS

3. Une fois que le logiciel installer est slectionn, un message vous invite slectionner les
disques pour crer le pool de stockage ZFS. Cet cran est similaire celui des versions
prcdentes de Solaris, l'exception du texte suivant :
For ZFS, multiple disks will be configured as mirrors, so the disk you choose,
or the slice within the disk must exceed the Suggested Minimum value.

Vous pouvez slectionner le ou les disques utiliser pour le pool racine ZFS. Si vous
slectionnez deux disques, une configuration de double disque mis en miroir est dfinie
pour le pool racine. Un pool mis en miroir double ou triple disque est optimal. Si vous
disposez de huit disques et les slectionner tous, ces huit disques sont utiliss pour le pool
racine comme miroir gant. Cette configuration n'est pas optimale. Pour crer un pool
racine mis en miroir compos de quatre miroirs double disque, configurez un pool double
disque mis en miroir au cours de l'installation initiale, puis utilisez la commande zpool
attach pour attacher les six autres disques une fois l'installation termine. La configuration
de pool RAID-Z n'est pas prise en charge pour le pool racine. Pour plus d'informations sur la
configuration des pools de stockage ZFS, reportez-vous la section Fonctions de
rplication d'un pool de stockage ZFS la page 94.
4. Une fois que vous avez slectionn un ou plusieurs disques pour le pool de stockage ZFS, un
cran similaire au suivant s'affiche :
Configure ZFS Settings
Specify the name of the pool to be created from the disk(s) you have chosen.
Also specify the name of the dataset to be created within the pool that is
to be used as the root directory for the filesystem.

ZFS Pool Name: rpool


58

Guide d'administration Solaris ZFS Octobre 2008

Installation d'un systme de fichiers racine ZFS (installation initiale)

EXEMPLE 41

Installation initiale d'un systme de fichiers racine ZFS d'initialisation

(Suite)

ZFS Root Dataset Name: s10s_u6wos_nightly


ZFS Pool Size (in MB): 34731
Size of Swap Area (in MB): 512
Size of Dump Area (in MB): 512
(Pool size must be between 6413 MB and 34731 MB)
[X] Keep / and /var combined
[ ] Put /var on a separate dataset

Vous pouvez, partir de cet cran, modifier le nom du pool ZFS, le nom du jeu de donnes,
la taille du pool, ainsi que la taille du priphrique de swap et du priphrique de vidage en
dplaant les touches de contrle du curseur sur les entres et en remplaant la valeur de
texte par dfaut par le nouveau texte. Vous pouvez aussi accepter les valeurs par dfaut.
Vous pouvez galement modifier la mthode de cration et de montage du systme de
fichiers /var.
Dans cet exemple, le nom du jeu de donnes racine est remplac par zfs1008.
ZFS Pool Name: rpool
ZFS Root Dataset Name: zfs1008
ZFS Pool Size (in MB): 34731
Size of Swap Area (in MB): 512
Size of Dump Area (in MB): 512
(Pool size must be between 6413 MB and 34731 MB)

5. Vous pouvez modifier le profil d'installation dans ce dernier cran de l'installation.


Exemple :
Profile
The information shown below is your profile for installing Solaris software.
It reflects the choices youve made on previous screens.
============================================================================
Installation Option:
Boot Device:
Root File System Type:
Client Services:

Initial
c1t2d0
ZFS
None

Regions: North America


System Locale: C ( C )
Software: Solaris 10, Entire Distribution
Pool Name: rpool
Boot Environment Name: zfs1008
Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

59

Installation d'un systme de fichiers racine ZFS (installation initiale)

EXEMPLE 41

Installation initiale d'un systme de fichiers racine ZFS d'initialisation

(Suite)

Pool Size: 34731 MB


Devices in Pool: c1t2d0

Une fois l'installation termine, examinez les informations concernant le pool de stockage et le
systme de fichiers ZFS. Exemple :
# zpool
pool:
state:
scrub:
config:

status
rpool
ONLINE
none requested

NAME
STATE
rpool
ONLINE
c1t2d0s0 ONLINE
errors: No known data errors
# zfs list
NAME
rpool
rpool/ROOT
rpool/ROOT/zfs1008
rpool/dump
rpool/export
rpool/export/home
rpool/swap

READ WRITE CKSUM


0
0
0
0
0
0

USED
5.46G
4.46G
4.46G
512M
38K
18K
512M

AVAIL
27.8G
27.8G
27.8G
27.8G
27.8G
27.8G
28.3G

REFER
94.5K
18K
4.46G
512M
20K
18K
12.2M

MOUNTPOINT
/rpool
legacy
/
/export
/export/home
-

L'exemple de sortie de la commande zfs list identifie les composants du pool racine,
notamment les entres rpool/ROOT, qui ne sont par dfaut pas accessibles.
Si vous avez au dpart cr un pool de stockage ZFS avec un disque, vous pouvez le convertir en
une configuration ZFS mise en miroir une fois l'installation termine l'aide de la commande
zpool attach pour y connecter un disque disponible. Exemple :
# zpool attach rpool c1t2d0s0 c1t3d0s0
# zpool status
pool: rpool
state: ONLINE
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scrub: resilver in progress for 0h0m, 5.03% done, 0h13m to go
config:
NAME
rpool
60

STATE
ONLINE

READ WRITE CKSUM


0
0
0

Guide d'administration Solaris ZFS Octobre 2008

Installation d'un systme de fichiers racine ZFS (installation initiale)

EXEMPLE 41

Installation initiale d'un systme de fichiers racine ZFS d'initialisation


mirror
ONLINE
c1t2d0s0 ONLINE
c1t3d0s0 ONLINE

0
0
0

0
0
0

(Suite)

0
0
0

errors: No known data errors

La rargenture des donnes sur le nouveau disque prend un certain temps mais le pool reste
disponible.
En attendant une solution au problme CR 6668666, vous devez installer les informations
d'initialisation sur les disques supplmentaires que vous connectez, l'aide de la commande
installboot ou de la commande installgrub si vous souhaitez activer l'initialisation sur les
autres disques du miroir. Si vous crez un pool racine ZFS mis en miroir par la mthode
d'installation initiale, cette tape n'est pas ncessaire. Pour plus d'informations sur l'installation
des informations d'initialisation, reportez-vous la section Initialisation partir d'un disque
alternatif d'un pool racine ZFS mis en miroir la page 83.
Pour plus d'informations sur l'ajout ou la connexion de disques, reportez-vous la section
Gestion de priphriques dans un pool de stockage ZFS la page 106.
Pour crer un autre environnement d'initialisation ZFS dans le mme pool de stockage, vous
pouvez utiliser la commande lucreate. Dans l'exemple suivant, un nouvel environnement
d'initialisation nomm zfs10082BE est cr. L'environnement d'initialisation actuel nomm
zfs1008BE (affich dans la sortie de la commande zfs list) n'est pas reconnu dans la sortie de
la commande lustatus tant que le nouvel environnement d'initialisation n'est pas cr.
# lustatus
ERROR: No boot environments are configured on this system
ERROR: cannot determine list of all boot environment names

Pour crer un environnement d'initialisation ZFS dans le mme pool, utilisez une syntaxe du
type suivant :
# lucreate -n zfs10082BE
Analyzing system configuration.
Comparing source boot environment <zfs1008BE> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
Creating configuration for boot environment <zfs10082BE>.
Source boot environment is <zfs1008BE>.
Creating boot environment <zfs10082BE>.
Cloning file systems from boot environment <zfs1008BE> to create boot environment <zfs10082BE>.
Creating snapshot for <rpool/ROOT/zfs1008BE> on <rpool/ROOT/zfs1008BE@zfs10082BE>.
Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

61

Installation d'un systme de fichiers racine ZFS (installation initiale)

EXEMPLE 41

Installation initiale d'un systme de fichiers racine ZFS d'initialisation

(Suite)

Creating clone for <rpool/ROOT/zfs1008BE@zfs10082BE> on <rpool/ROOT/zfs10082BE>.


Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10082BE>.
Population of boot environment <zfs10082BE> successful.
Creation of boot environment <zfs10082BE> successful.

La cration d'un environnement d'initialisation ZFS dans le mme pool fait appel aux mmes
fonctions de clonage et d'instantan ZFS afin de crer l'environnement d'initialisation
instantanment. Pour plus d'informations sur l'utilisation de Solaris Live Upgrade pour une
migration racine ZFS, reportez-vous la section Migration d'un systme de fichiers racine UFS
vers un systme de fichiers racine ZFS (Solaris Live Upgrade) la page 67.
Vrifiez ensuite les nouveaux environnements d'initialisation. Exemple :
# lustatus
Boot Environment
Is
Active Active
Name
Complete Now
On Reboot
-------------------------- -------- ------ --------ufs1008BE
yes
no
no
zfs1008BE
yes
yes
yes
zfs10082BE
yes
no
no
# zfs list
NAME
USED AVAIL REFER
rpool
5.65G 27.6G
19K
rpool/ROOT
4.64G 27.6G
18K
rpool/ROOT/zfs10082BE
98.5K 27.6G 4.64G
rpool/ROOT/zfs1008BE
4.64G 27.6G 4.64G
rpool/ROOT/zfs1008BE@zfs10082BE 92.5K
- 4.64G
rpool/dump
515M 27.6G 515M
rpool/swap
513M 28.1G
16K

Can
Delete
-----yes
no
yes

Copy
Status
----------

MOUNTPOINT
/rpool
/rpool/ROOT
/tmp/.alt.luupdall.5312
/
-

Pour effectuer l'initialisation partir d'un environnement d'initialisation alternatif, utilisez la


commande luactivate. Aprs avoir activ l'environnement d'initialisation sur un systme
SPARC, vous pouvez utiliser la commande boot -L pour identifier les environnements
d'initialisation disponibles lorsque le priphrique d'initialisation contient un pool de stockage
ZFS. Lors de l'initialisation partir d'un systme x86, identifiez l'environnement d'initialisation
partir duquel effectuer l'initialisation dans le menu GRUB.
Par exemple, sur un systme SPARC, utilisez la commande boot - L pour afficher une liste
d'environnements d'initialisation disponibles. Pour effectuer l'initialisation partir du nouvel
environnement d'initialisation, zfs10082BE, slectionnez l'option 2. Saisissez ensuite la
commande boot -Z affiche.
ok boot -L
Executing last command: boot -L
Boot device: /pci@1f,0/pci@1/scsi@8/disk@1,0:a File and args: -L
62

Guide d'administration Solaris ZFS Octobre 2008

Installation d'un systme de fichiers racine ZFS (installation JumpStart)

EXEMPLE 41

Installation initiale d'un systme de fichiers racine ZFS d'initialisation

(Suite)

1 zfs1008BE
2 zfs10082BE
Select environment to boot: [ 1 - 2 ]: 2
To boot the selected entry, invoke:
boot [<root-device>] -Z rpool/ROOT/zfs10082BE
Program terminated
ok boot -Z rpool/ROOT/zfs10082BE

Pour plus d'informations sur l'initialisation d'un systme de fichiers ZFS, reportez-vous la
section Initialisation partir d'un systme de fichiers racine ZFS la page 83.

Installation d'un systme de fichiers racine ZFS (installation


JumpStart)
Vous pouvez crer un profil JumpStart pour installer un systme de fichiers racine ZFS ou un
systme de fichiers racine UFS. Si le profil est configur pour installer un systme de fichiers
racine UFS, tous les mots cls de profil existants fonctionnent comme dans les versions
prcdentes de Solaris.
Un profil spcifique ZFS doit contenir le nouveau mot cl pool. Le mot cl "pool" installe un
nouveau pool racine et un nouvel environnement d'initialisation est par dfaut cr. Vous
pouvez fournir le nom de l'environnement d'initialisation et crer un jeu de donnes /var
distinct l'aide des mots cls bootenv installbe et, des options bename et dataset.
Pour plus d'informations sur l'utilisation des fonctions JumpStart, reportez-vous au Guide
dinstallation Solaris 10 : Installation JumpStart personnalise et installation avance.
Si vous dcidez de configurer des zones aprs l'installation JumpStart d'un systme de fichiers
racine ZFS et vous prvoyez l'application d'un correctif au systme ou sa mise niveau,
reportez-vous Utilisation de Solaris Live Upgrade pour migrer un systme avec zones
la page 75.

Exemples de profils JumpStart de ZFS


Cette section fournit des exemples de profils JumpStart spcifiques ZFS.
Le profil suivant effectue une installation initiale spcifie avec install_type initial-install
dans un nouveau pool identifi par pool nouveau_pool dont la taille est automatiquement
dfinie sur la taille des disques spcifis par le mot cl auto. La zone de swap et le priphrique
Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

63

Installation d'un systme de fichiers racine ZFS (installation JumpStart)

de vidage sont automatiquement dimensionns par le mot cl auto sur la base de la moiti de la
mmoire physique, concurrence de 2 Go, dans une configuration de disques mis en miroir
(mot cl mirror et disques c0t0d0 et c0t1d0). Les caractristiques de l'environnement
d'initialisation sont dfinies avec le mot cl bootenv afin d'installer un nouvel environnement
d'initialisation avec le mot cl installbe ; un environnement (bename) nomm s10u6-xx est
cr.
install_type initial-install
pool newpool auto auto auto mirror c0t0d0s0 c0t1d0s0
bootenv installbe bename s10u6-xx

Le profil suivant effectue une installation initiale avec le mot cl install_type initial-install du
mtacluster SUNWCall dans un nouveau pool de 80 Go appel newpool. Ce pool est cr avec un
volume de swap et un volume de vidage de 2 Go chacun, dans une configuration mise en miroir
comprenant deux priphriques disponibles dont la taille permet de crer un pool de 80 Go. Si
deux priphriques de ce type ne sont pas disponibles, l'installation choue. Les caractristiques
de l'environnement d'initialisation sont dfinies avec le mot cl bootenv afin d'installer un
nouvel environnement d'initialisation avec le mot cl installbe ; un environnement (bename)
nomm s10u6xx est cr.
install_type initial-install
cluster SUNWCall
pool newpool 80g 2g 2g mirror any any
bootenv installbe bename s10u6-xx

Vous pouvez utiliser le profil suivant ou une syntaxe similaire pour conserver les systmes de
fichiers UFS existants sur la tranche 1 et la tranche 3, par exemple.
filesys
filesys
pool

rootdisk.s1 existing ignore


rootdisk.s3 existing ignore
rpool
auto
2G
2G
rootdisk.s0

Vous pouvez utiliser le profil suivant ou une syntaxe similaire pour crer la tranche 1 et la
tranche 3 des systmes de fichiers UFS, par exemple.
filesys
filesys
pool

rootdisk.s1 8196
rootdisk.s3 8196
rpool
auto
2G

2G

rootdisk.s0

Mots cls JumpStart de ZFS


Les mots cls suivants sont autoriss dans un profil spcifique ZFS :
auto

64

Spcifie la taille des tranches du pool, du volume de swap ou du volume de vidage


automatiquement. La taille du disque est contrle pour s'assurer que la taille

Guide d'administration Solaris ZFS Octobre 2008

Installation d'un systme de fichiers racine ZFS (installation JumpStart)

minimale peut tre satisfaite. Si la taille minimale peut tre satisfaite, la taille de
pool optimale est attribue en fonction des contraintes, notamment de la taille des
disques, des tranches conserves, etc.
Par exemple, lorsque vous spcifiez c0t0d0s0, une tranche de taille optimale est
cre si vous spcifiez les mots cls all ou auto. Vous pouvez galement indiquer
une taille spcifique de tranche, de volume de swap ou de volume de vidage.
Le mot cl auto fonctionne de manire similaire au mot cl all lorsqu'il est utilis
avec un pool racine ZFS car les pools ne disposent pas du concept d'espace
inutilis.
bootenv

Ce mot cl identifie les caractristiques de l'environnement d'initialisation.


Le mot cl bootenv existe dj mais de nouvelles options sont dfinies. Utilisez la
syntaxe de mot cl bootenv suivante pour crer un environnement racine ZFS
d'initialisation :
bootenv installbe bename nom-d'environnement-d'initialisation [ dataset
point-de-montage]
installbe

Cre un nouvel environnement


d'initialisation identifi par
l'option bename et l'entre
nom-d'environnement-d'initialisation,
puis l'installe.

bename nom-d'environnement-d'initialisation

Identifie le
nom-d'environnement-d'initialisation
installer.
Si l'option bename n'est pas
utilise avec le mot cl pool, un
environnement d'initialisation
par dfaut est cr.

dataset point-de-montage

Utilisez le mot cl facultatif


dataset pour identifier un jeu
de donnes /var distinct du jeu
de donnes racine. La valeur
point-de-montage est
actuellement limite /var. Par
exemple, une ligne de syntaxe
bootenv d'un jeu de donnes
/var distinct est du type :

bootenv installbe bename zfsroot dataset /var

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

65

Installation d'un systme de fichiers racine ZFS (installation JumpStart)

pool

Dfinit le pool racine crer. La syntaxe de mot cl suivante doit tre respecte :
poolname poolsize swapsize dumpsize vdevlist

poolname

Identifie le nom du pool crer. Le pool est cr d'aprs la taille de


pool spcifie et avec les priphriques physiques spcifis(vdevs).
L'option poolname ne doit pas identifier un nom de pool existant car
celui-ci serait cras.

poolsize

Spcifie la taille du pool crer. La valeur peut tre auto ou


existing. La valeur auto signifie que la taille de pool optimale est
attribue en fonction des contraintes, notamment de la taille des
disques, des tranches conserves, etc. La valeur existing signifie
que les limites des tranches existantes de ce nom sont conserves et
crases. L'unit de taille prsume est Mo moins d'indiquer g
(Go).

swapsize

Spcifie la taille du volume de swap crer. La valeur peut tre auto


qui signifie que la taille de swap par dfaut est utilise ou, une taille
que vous spcifiez. L'unit de taille prsume est Mo moins
d'indiquer g (Go).

dumpsize

Spcifie la taille du volume de vidage crer. La valeur peut tre


auto qui signifie que la taille de swap par dfaut est utilise ou, une
taille que vous spcifiez. L'unit de taille prsume est Mo moins
d'indiquer g (Go).

vdevlist

Spcifie un ou plusieurs priphriques utiliser pour crer le pool.


Le format de vdevlist est identique celui de la commande zpool
create. l'heure actuelle, seules les configurations mises en miroir
sont prises en charge lorsque plusieurs priphriques sont spcifis.
Les priphriques figurant dans vdevlist doivent tre des tranches du
pool racine. La chane any signifie que le logiciel d'installation
slectionne le priphrique appropri.
Vous pouvez mettre en miroir autant de disques que vous le
souhaitez mais la taille du pool cr est dtermine par le plus petit
des disques spcifis. Pour plus d'informations sur la cration de
pools de stockage mis en miroir, reportez-vous la section
Configuration de pool de stockage mis en miroir la page 94.

Problmes lis l'installation JumpStart d'un ZFS


Prenez en compte les problmes suivants avant de lancer une installation JumpStart d'un
systme de fichiers racine ZFS d'initialisation.

66

Guide d'administration Solaris ZFS Octobre 2008

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Un pool de stockage ZFS existant ne peut pas tre utilis lors d'une installation JumpStart
pour crer un systme de fichiers racine ZFS d'initialisation. Vous devez crer un pool de
stockage ZFS conformment au type de syntaxe suivant :
pool rpool 20G 4G 4G c0t0d0s0

La ligne complte du mot cl pool est ncessaire car vous ne pouvez pas utiliser un pool
existant. Exemple :
install_type initial_install
cluster SUNWCall
pool rpool 20G 4g 4g any
bootenv installbe bename newBE

Vous devez crer le pool avec des tranches de disque plutt qu'avec des disques entiers,
comme dcrit la section Configuration requise pour l'installation de Solaris et de Solaris
Live Upgrade pour la prise en charge de ZFS la page 55. Par exemple, la syntaxe en gras
n'est pas acceptable :
install_type initial_install
cluster SUNWCall
pool rpool all auto auto mirror c0t0d0 c0t1d0
bootenv installbe bename newBE

La syntaxe en gras suivante est acceptable :


install_type initial_install
cluster SUNWCall
pool rpool all auto auto mirror c0t0d0s0 c0t1d0s0
bootenv installbe bename newBE

Migration d'un systme de fichiers racine UFS vers un systme


de fichiers racine ZFS (Solaris Live Upgrade)
Les fonctions prcdentes de Solaris Live Upgrade sont disponibles et, si lies aux composants
UFS, fonctionnent comme dans les versions prcdentes de Solaris.
Voici l'ensemble des nouvelles fonctions disponibles :

Lorsque vous migrez un systme de fichiers racine UFS vers un systme de fichiers racine
ZFS, vous devez dsigner un pool de stockage ZFS existant l'aide de l'option -p.

Si les composants du systme de fichiers racine UFS sont rpartis sur diverses tranches, ils
sont migrs vers le pool racine ZFS.

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

67

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Vous pouvez migrer un systme avec zones mais les configurations prises en charge sont
limites. Pour plus d'informations, reportez-vous la section Utilisation de Solaris Live
Upgrade pour migrer un systme avec zones la page 75.

Solaris Live Upgrade peut faire appel aux fonctions d'instantan et de clonage ZFS lorsque
vous crez un environnement d'initialisation ZFS dans le mme pool. La cration d'un
environnement d'initialisation est de ce fait plus rapide que dans les versions prcdentes de
Solaris.

Pour plus d'informations sur l'installation de Solaris et les fonctions de Solaris Live Upgrade,
reportez-vous au Guide dinstallation de Solaris 10 : Solaris Live Upgrade et planification de la
mise niveau.
Le processus de base de migration d'un systme de fichiers racine UFS vers un systme de
fichiers racine ZFS (Solaris Live Upgrade) est le suivant :

Installez Solaris 10 10/08 ou, utilisez le programme de mise niveau standard pour mettre
niveau une version prcdente de Solaris 10 sur tout systme SPARC ou x86 pris en charge.

Lorsque vous excutez Solaris 10 10/08, crez le cas chant un pool de stockage ZFS pour
votre systme de fichiers racine ZFS.

Utilisez Solaris Live Upgrade pour migrer votre systme de fichiers racine UFS vers un
systme de fichiers racine ZFS.

Activez votre environnement d'initialisation ZFS l'aide de la commande luactivate.

Pour plus d'informations sur les exigences de ZFS et de Solaris Live Upgrade, reportez-vous la
section Configuration requise pour l'installation de Solaris et de Solaris Live Upgrade pour la
prise en charge de ZFS la page 55.

68

Guide d'administration Solaris ZFS Octobre 2008

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Problmes de migration d'un ZFS avec Solaris Live


Upgrade
Consultez la liste de problmes suivante avant d'utiliser Solaris Live Upgrade pour migrer votre
systme de fichiers racine UFS vers un systme de fichiers racine ZFS :

L'option de mise niveau standard de l'IG d'installation de Solaris n'est pas disponible pour
la migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS.
Pour migrer un systme de fichiers UFS, vous devez utiliser Solaris Live Upgrade.

Vous devez crer le pool de stockage ZFS utiliser pour l'initialisation avant de lancer
Solaris Live Upgrade. En outre, en raison des limitations actuelles de l'initialisation, le pool
racine ZFS doit tre cr avec des tranches plutt qu'avec des disques entiers. Exemple :
# zpool create rpool mirror c1t0d0s0 c1t1d0s0

Avant de crer le nouveau pool, assurez-vous que les disques utiliser dans le pool portent
une tiquette SMI (VTOC) au lieu d'une tiquette EFI. Si le disque a t rtiquet avec une
tiquette SMI, vrifiez que le processus d'tiquetage n'a pas modifi le schma du
partitionnement. Dans la plupart des cas, la majeure partie de la capacit du disque doit se
trouver dans les tranches destines au pool racine.

Vous ne pouvez pas utiliser Solaris Live Upgrade pour crer un environnement
d'initialisation UFS partir d'un environnement d'initialisation ZFS. Si vous migrez votre
environnement d'initialisation UFS vers un environnement d'initialisation ZFS tout en
conservant votre environnement d'initialisation UFS, vous pouvez initialiser l'un ou l'autre
des environnements (UFS ou ZFS).

Ne renommez pas vos environnements d'initialisation ZFS l'aide de la commande zfs


rename car la fonction Solaris Live Upgrade ne tient pas compte du changement de nom.
Toute commande utilise ultrieurement, notamment ludelete, choue. Ne renommez en
fait pas vos pools ZFS ni vos systmes de fichiers ZFS si vous disposez d'environnements
d'initialisation que vous souhaitez continuer utiliser.

Solaris Live Upgrade cre les jeux de donnes pour l'environnement d'initialisation, ainsi
que les volumes ZFS de la zone de swap et du priphrique de vidage mais ne prend pas en
compte les modifications de proprits de jeux de donnes existants. Pour cette raison, pour
activer une proprit de jeu de donnes dans le nouvel environnement d'initialisation, vous
devez dfinir cette proprit avant l'excution de la commande lucreate. Exemple :
# zfs set compression=on rpool/ROOT

Lorsque vous crez un environnement d'initialisation alternatif clon sur l'environnement


d'initialisation principal, vous ne pouvez pas utiliser les options -f, -x, -y, - Y et -z pour
inclure ou exclure des fichiers de l'environnement d'initialisation principal. Vous pouvez
toutefois vous servir des options d'inclusion et d'exclusion dans les cas suivants :

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

69

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

UFS -> UFS


UFS -> ZFS
ZFS -> ZFS (different pool)

Bien que vous puissiez utiliser Solaris Live Upgrade pour mettre niveau votre systme de
fichiers racine UFS vers un systme de fichiers racine ZFS, vous ne pouvez pas vous servir de
Solaris Live Upgrade pour mettre niveau des systmes de fichiers partags ni des systmes
de fichiers qui ne sont pas des systmes de fichiers racine.

Vous ne pouvez pas utiliser une commande lu pour crer ou migrer un systme de fichiers
racine ZFS.

Utilisation de Solaris Live Upgrade pour migrer vers


un systme de fichiers racine ZFS (sans zones)
Les exemples suivants illustrent la procdure de migration d'un systme de fichiers racine UFS
vers un systme de fichiers racine ZFS. Si vous migrez un systme avec zones, reportez-vous
Utilisation de Solaris Live Upgrade pour migrer un systme avec zones la page 75.
Utilisation de Solaris Live Upgrade pour migrer un systme de fichiers racine UFS vers un
systme de fichiers racine ZFS

EXEMPLE 42

L'exemple suivant illustre la procdure de cration d'un environnement d'initialisation d'un


systme de fichiers racine ZFS partir d'un systme de fichiers racine UFS. L'environnement
d'initialisation actuel, ufs1008BE, qui contient un systme de fichiers racine UFS, est identifi
par l'option -c. Si vous n'incluez pas l'option -c, le nom actuel de l'environnement
d'initialisation sera par dfaut le nom du priphrique. Le nouvel environnement
d'initialisation, zfs1008BE, est identifi par l'option -n. L'utilisation de la commande lucreate
requiert l'existence pralable d'un pool de stockage ZFS .
Afin de pouvoir tre mis niveau et initialis, le pool de stockage ZFS doit tre cr avec des
tranches plutt qu'avec des disques entiers. Avant de crer le nouveau pool, assurez-vous que les
disques utiliser dans le pool portent une tiquette SMI (VTOC) au lieu d'une tiquette EFI. Si
le disque a t rtiquet avec une tiquette SMI, vrifiez que le processus d'tiquetage n'a pas
modifi le schma du partitionnement. Dans la plupart des cas, la majeure partie de la capacit
du disque doit se trouver dans les tranches destines au pool racine.
# zpool create mpool mirror c1t0d0s0 c1t1d0s0
# lucreate -c ufs1008BE -n zfs1008BE -p mpool
Analyzing system configuration.
No name for current boot environment.
Current boot environment is named <ufs1008BE>.
Creating initial configuration for primary boot environment <zfs1008BE>.
The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID.
PBE configuration successful: PBE name <ufs1008BE> PBE Boot Device </dev/dsk/c0t1d0s0>.

70

Guide d'administration Solaris ZFS Octobre 2008

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Utilisation de Solaris Live Upgrade pour migrer un systme de fichiers racine UFS vers un
systme de fichiers racine ZFS
(Suite)

EXEMPLE 42

Comparing source boot environment <ufs1008BE> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device </dev/dsk/c0t0d0s0> is not a root device for any boot environment; cannot get BE ID.
Creating configuration for boot environment <zfs1008BE>.
Source boot environment is <ufs1008BE>.
Creating boot environment <zfs1008BE>.
Creating file systems on boot environment <zfs1008BE>.
Creating <zfs> file system for </> in zone <global> on <mpool/ROOT/zfs1008BE>.
Populating file systems on boot environment <zfs1008BE>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
Creating shared file system mount points.
Creating compare databases for boot environment <zfs1008BE>.
Creating compare database for file system </mpool/ROOT>.
Creating compare database for file system </>.
Updating compare databases on boot environment <zfs1008BE>.
Making boot environment <zfs1008BE> bootable.
Creating boot_archive for /.alt.tmp.b-zv.mnt
updating /.alt.tmp.b-zv.mnt/platform/sun4u/boot_archive
Population of boot environment <zfs1008BE> successful.
Creation of boot environment <zfs1008BE> successful.

Une fois l'excution de la commande lucreate termine, utilisez la commande lustatus pour
afficher l'tat de l'environnement d'initialisation. Exemple :
# lustatus
Boot Environment
Name
-------------------------ufs1008BE
zfs1008BE

Is
Complete
-------yes
yes

Active
Now
-----yes
no

Active
On Reboot
--------yes
no

Can
Delete
-----no
yes

Copy
Status
----------

Examinez ensuite la liste des composants ZFS. Exemple :


# zfs list
NAME
USED AVAIL REFER
mpool
5.64G 27.6G
19K
mpool/ROOT
4.64G 27.6G
18K
mpool/ROOT/zfs1008BE 4.64G 27.6G 4.64G

MOUNTPOINT
/mpool
/mpool/ROOT
/tmp/.alt.luupdall.1551

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

71

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Utilisation de Solaris Live Upgrade pour migrer un systme de fichiers racine UFS vers un
systme de fichiers racine ZFS
(Suite)

EXEMPLE 42

mpool/dump
mpool/swap

513M 28.1G
513M 28.1G

16K 16K -

Utilisez ensuite la commande luactivate pour activer le nouvel environnement d'initialisation


ZFS. Par exemple :
# luactivate zfs1008BE
A Live Upgrade Sync operation will be performed on startup of boot environment <zfs1008BE>.
**********************************************************************
The target boot environment has been activated. It will be used when you
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You
MUST USE either the init or the shutdown command when you reboot. If you
do not use either init or shutdown, the system will not boot using the
target BE.
**********************************************************************
In case of a failure while booting to the target BE, the following process
needs to be followed to fallback to the currently working boot environment:
1. Enter the PROM monitor (ok prompt).
2. Change the boot device back to the original boot environment by typing:
setenv boot-device /pci@1f,0/pci@1/scsi@8/disk@0,0:a
3. Boot to the original boot environment by typing:
boot
**********************************************************************
Modifying boot archive service
Activation of boot environment <zfs1008BE> successful.

Rinitialisez ensuite le systme afin d'utiliser l'environnement d'initialisation ZFS.


# init 6
# svc.startd: The system is coming down. Please wait.
svc.startd: 79 system services are now being stopped.
.
.
.

72

Guide d'administration Solaris ZFS Octobre 2008

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Utilisation de Solaris Live Upgrade pour migrer un systme de fichiers racine UFS vers un
systme de fichiers racine ZFS
(Suite)

EXEMPLE 42

Confirmez que l'environnement d'initialisation ZFS est actif.


# lustatus
Boot Environment
Name
-------------------------ufs1008BE
zfs1008BE

Is
Complete
-------yes
yes

Active
Now
-----no
yes

Active
On Reboot
--------no
yes

Can
Delete
-----yes
no

Copy
Status
----------

Si vous repassez l'environnement d'initialisation UFS, vous devez rimporter tous les pools de
stockage ZFS crs au cours de l'initialisation de l'environnement d'initialisation ZFS car ils ne
sont pas disponibles automatiquement dans l'environnement d'initialisation UFS. Un messages
du type suivant s'affiche lorsque vous repassez l'environnement d'initialisation UFS.
# luactivate ufs1008BE
WARNING: The following files have changed on both the current boot
environment <zfs1008BE> zone <global> and the boot environment to be
activated <ufs1008BE>:
/etc/zfs/zpool.cache
INFORMATION: The files listed above are in conflict between the current
boot environment <zfs1008BE> zone <global> and the boot environment to be
activated <ufs1008BE>. These files will not be automatically synchronized
from the current boot environment <zfs1008BE> when boot environment
<ufs1008BE> is activated.

Lorsque l'environnement d'initialisation UFS est obsolte, vous pouvez le supprimer l'aide de
la commande ludelete.
EXEMPLE 43 Utilisation de Solaris Live Upgrade pour crer un environnement d'initialisation ZFS partir
d'un environnement d'initialisation ZFS

La cration d'un environnement d'initialisation ZFS partir d'un environnement


d'initialisation ZFS du mme pool est trs rapide car l'opration fait appel aux fonctions
d'instantan et de clonage ZFS. Si l'environnement d'initialisation rside sur le mme pool ZFS,
mpool, par exemple, l'option -p est omise.
Si vous disposez de plusieurs environnements d'initialisation ZFS sur un systme SPARC, vous
pouvez utiliser la commande boot -L pour identifier les environnements d'initialisation
disponibles et slectionner un environnement d'initialisation partir duquel effectuer
l'initialisation l'aide de la commande boot -Z. Sur un systme x86, vous pouvez slectionner
un environnement d'initialisation partir du menu GRUB. Pour plus d'informations,
reportez-vous l'Exemple 46.

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

73

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

EXEMPLE 43 Utilisation de Solaris Live Upgrade pour crer un environnement d'initialisation ZFS partir
d'un environnement d'initialisation ZFS
(Suite)

# lucreate -n zfs10082BE
Analyzing system configuration.
Comparing source boot environment <zfs1008BE> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
Creating configuration for boot environment <zfs10082BE>.
Source boot environment is <zfs1008BE>.
Creating boot environment <zfs10082BE>.
Cloning file systems from boot environment <zfs1008BE> to create boot environment <zfs10082BE>.
Creating snapshot for <mpool/ROOT/zfs1008BE> on <mpool/ROOT/zfs1008BE6@zfs10082BE>.
Creating clone for <mpool/ROOT/zfs1008BE@zfs10082BE> on <mpool/ROOT/zfs10082BE>.
Setting canmount=noauto for </> in zone <global> on <mpool/ROOT/zfs10082BE>.
Population of boot environment <zfs10082BE> successful.
Creation of boot environment <zfs10082BE> successful.
EXEMPLE 44

Mise niveau de votre environnement d'initialisation ZFS (luupgrade)

Vous pouvez mettre niveau votre environnement d'initialisation ZFS l'aide de packages ou
de patchs supplmentaires.
Le processus de base est le suivant :

Crez un environnement d'initialisation alternatif l'aide de la commande lucreate.

Activez et initialisez le systme partir de l'environnement d'initialisation alternatif.

Mettrez votre environnement d'initialisation ZFS principal niveau l'aide de la commande


luupgrade pour ajouter des packages ou des patchs.

# lustatus
Boot Environment
Is
Active Active
Can
Copy
Name
Complete Now
On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ---------zfs1008BE
yes
no
no
yes
zfs10082BE
yes
yes
yes
no
# luupgrade -p -n zfs1008BE -s /net/system/export/s1008/Solaris_10/Product SUNWchxge
Validating the contents of the media </net/system/export/s1008//Solaris_10/Product>.
Mounting the BE <zfs1008BE>.
Adding packages to the BE <zfs1008BE>.
Processing package instance <SUNWchxge> from </net/system/export/s1008/Solaris_10/Product>

74

Guide d'administration Solaris ZFS Octobre 2008

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

EXEMPLE 44

Mise niveau de votre environnement d'initialisation ZFS (luupgrade)

(Suite)

Chelsio N110 10GE NIC Driver(sparc) 11.10.0,REV=2006.02.15.20.41


Copyright 2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Using </a> as the package base directory.
## Processing package information.
## Processing system information.
3 package pathnames are already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of <SUNWchxge> [y,n,?] y
Installing Chelsio N110 10GE NIC Driver as <SUNWchxge>
## Installing part 1 of 1.
394 blocks
## Executing postinstall script.
Reboot client to install driver.
Installation of <SUNWchxge> was successful.
Unmounting the BE <zfs1008BE>.
The package add to the BE <zfs1008BE> completed.

Utilisation de Solaris Live Upgrade pour migrer un


systme avec zones
Vous pouvez utiliser Solaris Live Upgrade pour migrer un systme avec zones. Les
configurations prises en charge sont toutefois limites.
Cette section dcrit comment configurer et installer un systme avec zones de manire ce qu'il
soit mis jour et corrig avec Solaris Live Upgrade. Si vous migrez vers un systme de fichiers
racine ZFS sans zones, reportez-vous Utilisation de Solaris Live Upgrade pour migrer vers un
systme de fichiers racine ZFS (sans zones) la page 70.
Si vous migrez un systme avec zones ou envisagez de configurer un systme avec zones,
consultez les procdures suivantes :

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

75

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Comment migrer un systme de fichiers racine UFS avec racines de zone sur UFS vers un
systme de fichiers racine ZFS la page 76
Comment configurer un systme de fichiers racine ZFS avec racines de zone sur ZFS
la page 78
Comment mettre niveau ou corriger un systme de fichiers racine ZFS avec racines de
zone sur ZFS la page 79
Rsolution des problmes de point de montage ZFS responsables de l'chec de
l'initialisation la page 88

Suivez les procdures recommandes pour configurer des zones sur un systme avec systme de
fichiers racine ZFS pour vrifier que vous pouvez utiliser Live Upgrade sur ce systme.

Comment migrer un systme de fichiers racine UFS avec racines de

zone sur UFS vers un systme de fichiers racine ZFS


Suivez les tapes ci-dessous pour migrer un systme de fichiers racine UFS avec zones installes
vers un systme de fichiers racine ZFS et une configuration de racine de zone ZFS pouvant tre
mis niveau ou corrigs.
Dans les tapes suivantes, le nom du pool est rpool et le nom de l'environnement d'initialisation
actuellement actif est S10BE*.
1

Mettez le systme niveau la version Solaris 10 10/08 si la version Solaris 10 excute est
antrieure.
Pour plus d'informations sur la mise niveau d'un systme excutant Solaris 10, reportez-vous
au Guide dinstallation de Solaris 10 : Solaris Live Upgrade et planification de la mise niveau.

Crez un pool racine.


Pour plus d'informations sur les exigences du pool racine, reportez-vous la Configuration
requise pour l'installation de Solaris et de Solaris Live Upgrade pour la prise en charge de ZFS
la page 55.

Confirmez que les zones de l'environnement UFS sont initialises.

Crez le nouvel environnement d'initialisation.


# lucreate -n S10BE2 -p rpool

Cette commande cre des jeux de donnes dans le pool racine pour le nouvel environnement
d'initialisation et copie l'environnement d'initialisation actuel (zones incluses) vers ces jeux de
donnes.
5

Activez le nouvel environnement d'initialisation.


# luactivate s10BE2

76

Guide d'administration Solaris ZFS Octobre 2008

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Le systme excute maintenant un systme de fichiers racine ZFS mais les racines de zone sur
UFS se trouvent toujours sur le systme de fichiers racine UFS. Les tapes suivantes sont
ncessaires pour finaliser la migration des zones UFS vers une configuration ZFS prise en
charge.
6

Redmarrez le systme.
# init 6

Migrez les zones vers un environnement d'initialisation ZFS.


a. Initialisez les zones.
b. Crez un autre environnement d'initialisation dans le pool.
# lucreate S10BE3

c. Activez le nouvel environnement d'initialisation.


# luactivate S10BE3

d. Redmarrez le systme.
# init 6

Cette tape vrifie que l'environnement d'initialisation ZFS et les zones ont t initialiss.
8

Rsolvez tout problme potentiel de point de montage de cette version Solaris.


Il est possible qu'un bogue dans la fonctionnalit Live Upgrade provoque l'chec de
l'initialisation de l'environnement d'initialisation non actif. Ce problme est li la prsence
d'un point de montage non valide dans un jeu de donnes ZFS ou dans un jeu de donnes ZFS
de zone de l'environnement d'initialisation.
a. Contrlez la sortie zfs list.
Vrifiez qu'elle ne contient aucun point de montage temporaire erron. Exemple :
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6
NAME
rpool/ROOT/s10u6
rpool/ROOT/s10u6/zones
rpool/ROOT/s10u6/zones/zonerootA

MOUNTPOINT
/.alt.tmp.b-VP.mnt/
/.alt.tmp.b-VP.mnt//zones
/.alt.tmp.b-VP.mnt/zones/zonerootA

Le point de montage pour l'environnement d'initialisation ZFS racine (rpool/ROOT/s10u6)


doit tre /.

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

77

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

b. Rinitialisez les points de montage pour l'environnement d'initialisation ZFS et ses jeux de
donnes.
Exemple :
# zfs inherit -r mountpoint rpool/ROOT/s10u6
# zfs set mountpoint=/ rpool/ROOT/s10u6

c. Redmarrez le systme.
Lorsque vous avez la possibilit d'initialiser un environnement d'initialisation spcifique,
soit par le biais du menu GRUB, soit l'invite OpenBoot Prom, slectionnez
l'environnement d'initialisation dont les points de montage viennent d'tre corrigs.

Comment configurer un systme de fichiers racine ZFS avec racines de

zone sur ZFS


Suivez les tapes ci-dessous pour installer un systme de fichiers racine ZFS et une
configuration de racine de zone ZFS pouvant tre mis niveau ou corrigs. Dans cette
configuration, les racines de zone ZFS sont cres sous forme de jeux de donnes ZFS.
Dans les tapes suivantes, le nom du pool est rpool et le nom de l'environnement d'initialisation
actuellement actif est S10be.
1

Installez le systme avec une racine ZFS en utilisant soit la mthode interactive d'installation
initiale, soit la mthode d'installation Solaris JumpStart.
Pour plus d'informations sur l'installation d'un systme de fichiers racine ZFS en utilisant la
mthode d'installation initiale ou la mthode Solaris JumpStart, reportez-vous Installation
d'un systme de fichiers racine ZFS (installation initiale) la page 57 ou Installation d'un
systme de fichiers racine ZFS (installation JumpStart) la page 63.

Initialisez le systme partir du pool racine nouvellement cr.

Crez un jeu de donnes pour le regroupement des racines de zone.


Exemple :
# zfs create -o canmount=noauto rpool/ROOT/S10be/zones

Le nom du jeu de donnes de zones peut tre tout nom de jeu de donnes lgal. Dans les tapes
suivantes, le nom du jeu de donnes est zones.
La dfinition de la valeur noauto pour la proprit canmount permet d'viter que le jeu de
donnes ne soit mont d'une manire autre que par l'action explicite de Solaris Live Upgrade et
le code de dmarrage du systme.
4

Montez le jeu de donnes de conteneur de zones nouvellement cr.


# zfs mount rpool/ROOT/S10be/zones

78

Guide d'administration Solaris ZFS Octobre 2008

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Le jeu de donnes est mont sous /zones.


5

Crez et montez un jeu de donnes pour chaque racine de zone.


# zfs create -o canmount=noauto rpool/ROOT/S10be/zones/zonerootA
# zfs mount rpool/ROOT/S10be/zones/zonerootA

Dfinissez les droits appropris dans le rpertoire de racine de zone.


# chmod 700 /zones/zonerootA

Configurez la zone en indiquant le chemin de zone comme suit :


# zonecfg -z zoneA
zoneA: No such zone configured
Use create to begin configuring a new zone.
zonecfg:zoneA> create
zonecfg:zoneA> set zonepath=/zones/zonerootA

Vous pouvez activer l'initialisation automatique des zones l'initialisation du systme en


utilisant la syntaxe suivante :
zonecfg:zoneA> set autoboot=true
8

Installez la zone.
# zoneadm -z zoneA install

Initialisez la zone.
# zoneadm -z zoneA boot

Comment mettre niveau ou corriger un systme de fichiers racine ZFS

avec racines de zone sur ZFS


Procdez aux tapes suivantes pour mettre niveau ou corriger le systme de fichiers racine ZFS
avec racines de zone sur ZFS. Ces mises jour peuvent tre une mise niveau du systme ou
l'application de correctifs.
Dans les tapes suivantes, newBE est le nom de l'environnement d'initialisation mis niveau ou
corrig.
1

Crez l'environnement d'initialisation mettre jour ou corriger.


# lucreate -n newBE

L'environnement d'initialisation existant, y compris toutes les zones, est clon. De nouveaux
jeux de donnes sont crs pour chaque jeu de donnes de l'environnement d'initialisation
d'origine. Ils sont crs dans le mme pool que le pool racine actuel.

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

79

Migration d'un systme de fichiers racine UFS vers un systme de fichiers racine ZFS (Solaris Live Upgrade)

Slectionnez l'une des options suivantes pour mettre niveau le systme ou appliquer les
correctifs au nouvel environnement d'initialisation.

Mettez niveau le systme.


# luupgrade -u -n newBE -s /net/install/export/s10u7/latest

L'option -s reprsente l'emplacement d'un mode d'installation Solaris.

Appliquez les correctifs au nouvel environnement d'initialisation.


# luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14

Activez le nouvel environnement d'initialisation une fois que ses mises jour ont t effectues.
# luactivate newBE

Initialisez partir de l'environnement d'initialisation nouvellement activ.


# init 6

Rsolvez tout problme potentiel de point de montage de cette version Solaris.


Il est possible qu'un bogue dans la fonctionnalit Live Upgrade provoque l'chec de
l'initialisation de l'environnement d'initialisation non actif. Ce problme est li la prsence
d'un point de montage non valide dans un jeu de donnes ZFS ou dans un jeu de donnes ZFS
de zone de l'environnement d'initialisation.
a. Contrlez la sortie zfs list.
Vrifiez qu'elle ne contient aucun point de montage temporaire erron. Exemple :
# zfs list -r -o name,mountpoint rpool/ROOT/newBE
NAME
rpool/ROOT/newBE
rpool/ROOT/newBE/zones
rpool/ROOT/newBE/zones/zonerootA

MOUNTPOINT
/.alt.tmp.b-VP.mnt/
/.alt.tmp.b-VP.mnt//zones
/.alt.tmp.b-VP.mnt/zones/zonerootA

Le point de montage pour l'environnement d'initialisation racine ZFS (rpool/ROOT/newBE)


doit tre /.
b. Rinitialisez les points de montage pour l'environnement d'initialisation ZFS et ses jeux de
donnes.
Exemple :
# zfs inherit -r mountpoint rpool/ROOT/newBE
# zfs set mountpoint=/ rpool/ROOT/newBE

80

Guide d'administration Solaris ZFS Octobre 2008

Prise en charge ZFS des priphriques de swap et de vidage

c. Redmarrez le systme.
Lorsque vous avez la possibilit d'initialiser un environnement d'initialisation spcifique,
soit par le biais du menu GRUB, soit l'invite OpenBoot Prom, slectionnez
l'environnement d'initialisation dont les points de montage viennent d'tre corrigs.

Prise en charge ZFS des priphriques de swap et de vidage


Lors d'une installation initiale ou de l'utilisation de Solaris Live Upgrade partir d'un systme
de fichiers UFS, une zone de swap est cre sur un volume ZFS du pool racine ZFS. La taille de la
zone de swap correspond la moiti de la mmoire physique et doit tre comprise entre 512 Mo
et 2 Go. Par exemple :
# swap -l
swapfile
dev
/dev/zvol/dsk/mpool/swap 253,3

swaplo blocks
free
16 8257520 8257520

Lors d'une installation initiale ou de l'utilisation de Solaris Live Upgrade partir d'un systme
de fichiers UFS, un priphrique de vidage est cr sur un volume ZFS du pool racine ZFS. La
taille du priphrique de vidage correspond la moiti de la mmoire physique et doit tre
comprise entre 512 Mo et 2 Go. Le priphrique de vidage ne ncessite aucune administration
une fois configur. Exemple :
# dumpadm
Dump content:
Dump device:
Savecore directory:
Savecore enabled:

kernel pages
/dev/zvol/dsk/mpool/dump (dedicated)
/var/crash/t2000
yes

Prenez en compte les points suivants lorsque vous travaillez avec des priphriques de swap et
de vidage ZFS :

Vous devez utiliser des volumes ZFS distincts pour les priphriques de swap et de vidage.

L'utilisation d'un fichier swap sur un systme de fichiers ZFS n'est actuellement pas prise en
charge.

En raison de CR 6724860, vous devez excuter la commande savecore manuellement pour


enregistrer un vidage mmoire sur incident lorsque vous utilisez un volume de vidage ZFS.

Pour modifier la zone de swap ou le priphrique de vidage une fois le systme install ou
mis niveau, utilisez les commandes swap et dumpadm de la mme faon que dans les
versions Solaris prcdentes. Pour plus d'informations, reportez-vous au Chapitre 20,
Configuring Additional Swap Space (Tasks) du System Administration Guide: Devices and
File Systems et au Chapitre 17, Managing System Crash Information (Tasks) du System
Administration Guide: Advanced Administration (tous deux en anglais).

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

81

Prise en charge ZFS des priphriques de swap et de vidage

Ajustement de la taille de vos priphriques de swap


et de vidage ZFS
La faon dont une installation racine ZFS attribue une taille diffre selon qu'il s'agit d'un
priphrique de swap ou d'un priphrique de vidage ; il s'avre pour cela parfois ncessaire
d'ajuster la taille des priphriques de swap et de vidage avant, pendant ou aprs l'installation.

Vous pouvez ajuster la taille de vos volumes de swap et de vidage au cours d'une installation
initiale. Pour plus d'informations, reportez-vous l'Exemple 41.

Vous pouvez crer des volumes de swap et de vidage, ainsi que leur attribuer une taille, avant
d'utiliser Solaris Live Upgrade. Exemple :
1. Crer le pool de stockage.
# zpool create rpool mirror c0t0d0s0 c0t1d0s0

2. Dfinissez la taille du priphrique de vidage. Configurez la taille du bloc sur 128 Ko.
# zfs create -V 2G -b 128k rpool/dump

3. Slectionnez l'une des options suivantes pour crer la zone de swap :

Sur un systme SPARC, dfinissez une taille pour la zone de swap. Configurez la taille
du bloc sur 8 Ko.
# zfs create -V 2G -b 8k rpool/swap

Sur un systme x86, dfinissez une taille pour la zone de swap. Configurez la taille du
bloc sur 4 Ko.
# zfs create -V 2G -b 4k rpool/swap

Solaris Live Upgrade ne redimensionne pas des volumes de swap et de vidage existants.

Vous pouvez rtablir la proprit volsize des priphriques de swap et de vidage aprs
l'installation d'un systme. Exemple :
# zfs set volsize=2G rpool/dump
# zfs get volsize rpool/dump
NAME
PROPERTY VALUE
rpool/dump volsize 2G

Vous pouvez ajuster la taille des volumes de swap et de vidage d'un profil JumpStart l'aide
d'une syntaxe de profil du type suivant :
install_type initial_install
cluster SUNWCXall
pool rpool 16g 2g 2g c0t0d0s0

82

SOURCE
-

Guide d'administration Solaris ZFS Octobre 2008

Initialisation partir d'un systme de fichiers racine ZFS

Dans ce profil, les entres 2g et 2g attribuent 2 Go comme taille de zone de swap et comme
taille de priphrique de vidage.

Initialisation partir d'un systme de fichiers racine ZFS


Les systmes SPARC et les systmes x86 utilisent le nouveau type d'initialisation l'aide d'une
archive d'initialisation, qui est une image de systme de fichiers contenant les fichiers requis
pour l'initialisation. Lorsque vous initialisez un systme partir d'un systme de fichiers racine
ZFS, les noms de chemin du fichier archive et du fichier noyau sont rsolus dans le systme de
fichiers racine slectionn pour l'initialisation.
Lorsque le systme est initialis pour l'installation, un disque RAM est utilis pour le systme de
fichiers racine pendant toute la procdure d'installation afin de ne pas avoir effectuer
l'initialisation partir d'un mdia amovible.
Si vous procdez une installation initiale de Solaris 10 10/08 ou utilisez Solaris Live Upgrade
pour migrer vers un systme de fichiers racine ZFS dans cette version, vous pouvez effectuer
l'initialisation partir d'un systme de fichiers racine ZFS sur un systme SPARC tout comme
sur un systme x86.
L'initialisation partir d'un systme de fichiers ZFS diffre de celle d'un systme de fichiers UFS
car avec ZFS, un spcificateur de priphrique identifie un pool de stockage par opposition un
seul systme de fichiers racine. Un pool de stockage peut contenir plusieurs jeux de donnes
d'initialisation ou systmes de fichiers racine ZFS. Lorsque vous initialisez un systme partir
de ZFS, vous devez spcifier un priphrique d'initialisation et un systme de fichiers racine
contenu dans le pool qui a t identifi par le priphrique d'initialisation.
Par dfaut, le jeu de donnes slectionn pour l'initialisation est celui qui est identifi par la
proprit bootfs du pool. Cette slection par dfaut peut tre remplace en spcifiant un jeu de
donnes d'initialisation alternatif qui est inclus dans la commande boot -Z.

Initialisation partir d'un disque alternatif d'un pool


racine ZFS mis en miroir
Vous pouvez crer un pool racine ZFS mis en miroir lors de l'installation du systme ou pouvez
connecter un disque pour crer un pool racine ZFS mis en miroir aprs l'installation. Consultez
les problmes connus suivants relatifs aux pools racine ZFS mis en miroir :

CR 6704717 Ne mettez pas le disque principal d'une configuration racine ZFS mise en
miroir hors ligne. Si la mise hors ligne ou la dconnexion d'un disque racine mis en miroir
est ncessaire pour le remplacer, effectuez l'initialisation partir d'un autre disque mis en
miroir du pool.

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

83

Initialisation partir d'un systme de fichiers racine ZFS

CR 6668666 Vous devez installer les informations d'initialisation sur les disques
supplmentaires que vous connectez, l'aide de la commande installboot ou de la
commande installgrub si vous souhaitez activer l'initialisation sur les autres disques du
miroir. Si vous crez un pool racine ZFS mis en miroir par la mthode d'installation initiale,
cette tape n'est pas ncessaire. Par exemple, si c0t1d0s0 est le deuxime disque ajout au
miroir, la commande installboot ou la commande installgrub est excute comme
suit :

sparc# installboot -F zfs /usr/platform/uname -i/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0


x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0

Vous pouvez effectuer l'initialisation partir de divers priphriques d'un pool racine ZFS mis
en miroir. Selon la configuration matrielle, la mise jour de la PROM ou du BIOS peut s'avrer
ncessaire pour spcifier un priphrique d'initialisation diffrent.
Vous pouvez par exemple effectuer l'initialisation partir de l'un des deux disques (c1t0d0s0
ou c1t1d0s0) de ce pool.
# zpool
pool:
state:
scrub:
config:

status
rpool
ONLINE
none requested

NAME
rpool
mirror
c1t0d0s0
c1t1d0s0

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

Sur un systme SPARC, saisissez le disque alternatif l'invite ok.


ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1

Une fois le systme rinitialis, confirmez le priphrique d'initialisation actif. Exemple :


# prtconf -vp | grep bootpath
bootpath: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1,0:a

Sur un systme x86, slectionnez un disque alternatif dans le pool racine ZFS mis en miroir dans
le menu appropri du BIOS.

84

Guide d'administration Solaris ZFS Octobre 2008

Initialisation partir d'un systme de fichiers racine ZFS

Initialisation partir d'un systme de fichiers racine


ZFS sur un systme SPARC
Sur un systme SPARC avec environnements d'initialisation multiples ZFS, vous pouvez
initialiser partir de tout environnement d'initialisation en utilisant la commande luactivate.
Aprs avoir activ l'environnement d'initialisation, vous pouvez utiliser la commande boot -L
pour afficher la liste des environnements d'initialisation lorsque le priphrique d'initialisation
contient un pool de stockage ZFS.
Au cours de l'installation et de la procdure de Solaris Live Upgrade, le systme de fichiers
racine ZFS est automatiquement dsign avec la proprit bootfs.
Un pool peut contenir plusieurs jeux de donnes d'initialisation. Par dfaut, l'entre du jeu de
donnes d'initialisation figurant dans le fichier /nom-du-pool/boot/menu.lst est identifie par
la proprit bootfs du pool. Cependant, une entre menu.lst peut contenir une commande
bootfs qui spcifie un jeu de donnes alternatif du pool. Le fichier menu.lst peut ainsi
contenir les entres de plusieurs systmes de fichiers racine du pool.
Lorsqu'un systme est install avec un systme de fichiers racine ZFS ou est migr vers un
systme de fichiers racine ZFS, une entre du type suivant est ajoute au fichier menu.lst :
title zfs1008BE
bootfs mpool/ROOT/zfs1008BE

Lorsqu'un nouvel environnement d'initialisation est cr, le fichier menu.lst est mis jour. En
attendant une solution au problme CR 6696226, vous devez mettre jour le fichier menu.lst
manuellement une fois que vous avez activ l'environnement d'initialisation l'aide de la
commande luactivate.
Sur un systme SPARC, deux nouvelles options d'initialisation sont disponibles :

Vous pouvez utiliser la commande d'initialisation -L pour afficher une liste de jeux de
donnes d'initialisation contenus dans un pool ZFS. Vous pouvez ensuite slectionner un
des jeux de donnes d'initialisation de la liste. Des instructions dtailles permettant
d'initialiser ce jeu de donnes s'affichent. Vous pouvez initialiser le jeu de donnes
slectionn en suivant ces instructions. Cette option n'est disponible que lorsque le
priphrique d'initialisation contient un pool de stockage ZFS.

Utilisez la commande -Z dataset pour initialiser un jeu de donnes ZFS spcifique.

EXEMPLE 45

Initialisation partir d'un environnement d'initialisation ZFS spcifique

Si vous disposez de plusieurs environnements d'initialisation ZFS dans un pool de stockage ZFS
situ sur le priphrique d'initialisation de votre systme, vous pouvez utiliser la commande
luactivate pour spcifier un environnement d'initialisation par dfaut.

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

85

Initialisation partir d'un systme de fichiers racine ZFS

EXEMPLE 45

Initialisation partir d'un environnement d'initialisation ZFS spcifique

(Suite)

Par exemple, les environnements d'initialisation ZFS suivants sont disponibles comme dcrit
par la sortie de lustatus :
# lustatus
Boot Environment
Is
Active Active
Can
Copy
Name
Complete Now
On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ---------zfs1008BE
yes
yes
yes
no
zfs10082BE
yes
no
no
yes
-

Si vous disposez de plusieurs environnements d'initialisation ZFS sur votre systme SPARC,
vous pouvez utiliser la commande boot -L. Exemple :
ok boot -L
Executing last command: boot -L
Boot device: /pci@1f,0/pci@1/scsi@8/disk@1,0:a File and args: -L
1 zfs1008BE
2 zfs10082BE
Select environment to boot: [ 1 - 2 ]: 2
To boot the selected entry, invoke:
boot [<root-device>] -Z mpool/ROOT/zfs10082BE
Program terminated
ok boot -Z mpool/ROOT/zfs10082BE
EXEMPLE 46

SPARC : Initialisation d'un systme de fichiers ZFS en mode de secours

Vous pouvez initialiser un systme SPARC partir de l'archive de secours situe dans
/platform/`uname -i`/failsafe, comme suit . Exemple :
ok boot -F failsafe

Pour initialiser une archive de secours partir d'un jeu de donnes d'initialisation ZFS donn,
employez une syntaxe du type suivant :
ok boot -Z mpool/ROOT/zfs1008BE -F failsafe

86

Guide d'administration Solaris ZFS Octobre 2008

Initialisation partir d'un systme de fichiers racine ZFS

Initialisation partir d'un systme de fichiers racine


ZFS sur un systme x86
Les entres suivantes sont ajoutes au fichier /nom-de-pool /boot/grub/menu.lst au cours du
processus d'installation ou du lancement de Solaris Live Upgrade pour initialiser ZFS
automatiquement :
findroot (pool_mpool,0,a)
bootfs mpool/ROOT/zfs1008BE
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive

Si le priphrique identifi par GRUB comme priphrique d'initialisation contient un pool de


stockage ZFS, le fichier menu.lst est utilis pour crer le menu GRUB.
Sur un systme x86 contenant plusieurs environnements d'initialisation ZFS, vous pouvez
slectionner un environnement d'initialisation partir du menu GRUB. Si le systme de fichiers
racine correspondant cette entre de menu est un jeu de donnes ZFS, l'option suivante est
ajoute.
-B $ZFS-BOOTFS
EXEMPLE 47

x86 : Initialisation d'un systme de fichiers ZFS

Lorsque vous effectuez l'initialisation partir d'un systme de fichiers ZFS, le priphrique
racine est spcifi par le paramtre d'initialisation -B $ZFS-BOOTFS sur la ligne kernel ou
module de l'entre du menu GRUB. Cette valeur, tout comme tous les paramtres spcifis par
l'option -B, est transmise par GRUB au noyau. Exemple :
findroot (pool_mpool,0,a)
bootfs mpool/ROOT/zfs1008BE
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive
EXEMPLE 48

x86 : Initialisation d'un systme de fichiers ZFS en mode de secours

L'archive x86 de secours est /boot/x86.miniroot-safe et peut tre initialise en slectionnant


l'entre "Solaris failsafe" dans le menu GRUB. Exemple :
title Solaris failsafe
bootfs mpool/ROOT/zfs1008BE
findroot (pool_mpool,0,a)
kernel /boot/multiboot kernel/unix -s -B console=ttyb
module /boot/x86.miniroot-safe

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

87

Initialisation partir d'un systme de fichiers racine ZFS

Rsolution des problmes de point de montage ZFS


responsables de l'chec de l'initialisation
Le meilleur moyen de changer d'environnement d'initialisation actif est d'utiliser la commande
luactivate. En cas d'chec de l'initialisation de l'environnement actif, qu'il soit d un
correctif dfectueux ou une erreur de configuration, le seul moyen d'initialiser un
environnement diffrent consiste le slectionner lors de l'initialisation. Vous pouvez
slectionner un environnement d'initialisation diffrent dans le menu GRUB sur un systme
x86 ou l'initialiser partir de PROM sur un systme SPARC.
Il est possible qu'un bogue dans la fonctionnalit Live Upgrade provoque l'chec de
l'initialisation de l'environnement d'initialisation non actif. Ce problme est li la prsence
d'un point de montage non valide dans les jeux de donnes ZFS ou dans le jeu de donnes ZFS
de zone de l'environnement d'initialisation.
Le mme bogue empche galement le montage de l'environnement d'initialisation s'il dispose
d'un jeu de donnes /var distinct.
Les points de montage peuvent tre corrigs en procdant aux tapes suivantes :

Comment rsoudre les problmes de point de montage ZFS


1

Initialisez le systme partir d'une archive de secours.

Importez le pool.
Exemple :
# zpool import rpool

Une fois le pool import, contrlez la sortie zfs list.


Vrifiez qu'elle ne contient aucun point de montage temporaire erron. Exemple :
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6
NAME
rpool/ROOT/s10u6
rpool/ROOT/s10u6/zones
rpool/ROOT/s10u6/zones/zonerootA

MOUNTPOINT
/.alt.tmp.b-VP.mnt/
/.alt.tmp.b-VP.mnt//zones
/.alt.tmp.b-VP.mnt/zones/zonerootA

Le point de montage pour l'environnement d'initialisation racine (rpool/ROOT/s10u6) doit tre


/.
Si l'initialisation choue cause de problmes de montage /var, recherchez un point de
montage temporaire erron similaire pour le jeu de donnes /var.

88

Guide d'administration Solaris ZFS Octobre 2008

Initialisation partir d'un systme de fichiers racine ZFS

Rinitialisez les points de montage pour l'environnement d'initialisation ZFS et ses jeux de
donnes.
Exemple :
# zfs inherit -r mountpoint rpool/ROOT/s10u6
# zfs set mountpoint=/ rpool/ROOT/s10u6

Redmarrez le systme.
Lorsque vous avez la possibilit d'initialiser un environnement d'initialisation spcifique, soit
par le biais du menu GRUB, soit l'invite OpenBoot Prom, slectionnez l'environnement
d'initialisation dont les points de montage viennent d'tre corrigs.

Chapitre 4 Installation et initialisation d'un systme de fichiers racine ZFS

89

90

C H A P I T R E

Gestion des pools de stockage ZFS

Ce chapitre dcrit la procdure de cration et d'administration des pools de stockage ZFS.


Il contient les sections suivantes :

Composants d'un pool de stockage ZFS la page 91


Cration et destruction de pools de stockage ZFS la page 96
Gestion de priphriques dans un pool de stockage ZFS la page 106
Gestion des proprits de pool de stockage ZFS la page 120
Requte d'tat de pool de stockage ZFS la page 123
Migration de pools de stockage ZFS la page 130
Mise niveau de pools de stockage ZFS la page 137

Composants d'un pool de stockage ZFS


Les sections ci-dessous contiennent des informations dtailles sur les composants de pools de
stockage suivants :

Utilisation de disques dans un pool de stockage ZFS la page 91


Utilisation de tranches dans un pool de stockage ZFS la page 93
Utilisation de fichiers dans un pool de stockage ZFS la page 93

Utilisation de disques dans un pool de stockage ZFS


Le composant de base d'un pool de stockage est un lment de stockage physique. Le stockage
physique peut tre constitu de tout priphrique en mode bloc d'une taille suprieure
128 Mo. En gnral, ce priphrique est un disque dur que le systme peut voir dans le
rpertoire /dev/dsk .
Un disque entier (c1t0d0) ou une tranche individuelle (c0t0d0s7) peuvent constituer un
priphrique de stockage. Le mode oprationnel recommand consiste utiliser un disque
91

Composants d'un pool de stockage ZFS

entier. Dans ce cas, il est inutile de formater spcifiquement le disque. ZFS formate le disque
l'aide d'une tiquette EFI de faon ce qu'il contienne une grande tranche unique. Utilis de
cette faon, le tableau de partition affich par la commande format s'affiche comme suit :
Current partition table (original):
Total disk sectors available: 71670953 + 16384 (reserved sectors)
Part
Tag
0
usr
1 unassigned
2 unassigned
3 unassigned
4 unassigned
5 unassigned
6 unassigned
7 unassigned
8 reserved

Flag
wm
wm
wm
wm
wm
wm
wm
wm
wm

First Sector
34
0
0
0
0
0
0
0
71670954

Size
34.18GB
0
0
0
0
0
0
0
8.00MB

Last Sector
71670953
0
0
0
0
0
0
0
71687337

Pour utiliser des disques entiers, ces disques doivent tre nomms selon la convention Solaris
standard, par exemple /dev/dsk/cXtXdXsX. Certains pilotes tiers suivent une convention de
nom diffrente ou placent les disques un endroit autre que le rpertoire /dev/dsk. Pour
utiliser ces disques, vous devez les tiqueter manuellement et fournir une tranche ZFS.
ZFS applique une tiquette EFI lorsque vous crez un pool de stockage avec des disques entiers.
Vous pouvez spcifier les disques soit en utilisant le chemin complet (/dev/dsk/c1t0d0, par
exemple) ou un nom abrg compos du nom du priphrique dans le rpertoire /dev/dsk
(c1t0d0, par exemple). Les exemples suivants constituent des noms de disques valides :

c1t0d0
/dev/dsk/c1t0d0
c0t0d6s2
/dev/foo/disk

L'utilisation de disques physiques constitue la mthode de cration de pools de stockage ZFS la


plus simple. Les configurations ZFS deviennent de plus en plus complexes, en termes de
gestion, de fiabilit et de performance. Lorsque vous construisez des pools partir de tranches
de disques, de LUN dans des baies RAID matrielles ou de volumes prsents par des
gestionnaires de volume bass sur des logiciels. Les considrations suivantes peuvent vous aider
configurer ZFS avec d'autres solutions de stockage matrielles ou logicielles :

92

Si vous laborez des configurations ZFS sur des LUN partir de baies RAID matrielles,
vous devez comprendre la relation entre les fonctionnalits de redondance ZFS et les
fonctionnalits de redondance proposes par la baie. Certaines configurations peuvent
fournir une redondance et des performances adquates, mais d'autres non.

Guide d'administration Solaris ZFS Octobre 2008

Composants d'un pool de stockage ZFS

Vous pouvez construire des priphriques logiques pour ZFS l'aide de volumes prsents
par des gestionnaires de volumes logiciels tels que SolarisTM Volume Manager (SVM) ou
Veritas Volume Manager (VxVM). Ces configurations sont cependant dconseilles. Bien
que ZFS fonctionne correctement sur de tels priphriques, les performances risquent d'tre
mdiocres.

Pour obtenir des informations supplmentaires sur les recommandations de pools de stockage,
consultez le site des pratiques ZFS recommandes :
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
Les disques sont identifis par leur chemin et par l'ID de leur priphrique, s'il est disponible.
Cette mthode permet de reconfigurer les priphriques dans un systme sans requrir la mise
jour de tout tat ZFS. Si un disque est dplac du contrleur 1 au contrleur 2, ZFS utilise l'ID
du priphrique pour dterminer si le disque a t dplac et si son accs s'effectue partir du
contrleur 2. L'ID du priphrique est unique pour le microprogramme du disque. Certaines
mises jour de microprogrammes sont susceptibles de modifier l'ID du priphrique, mais il est
peu probable que cela se produise. Si cela se produit, ZFS peut tout de mme accder au
priphrique l'aide de son chemin et mettre jour automatiquement l'ID de priphrique
stock. Si, par inadvertance, vous modifiez le chemin et l'ID du priphrique, exportez et
rimportez le pool pour pouvoir l'utiliser.

Utilisation de tranches dans un pool de stockage ZFS


Les disques peuvent tre tiquets avec une tiquette VTOC Solaris classique lorsque vous crez
un pool de stockage avec une tranche de disque.
Pour un pool racine ZFS d'initialisation, les disques du pool doivent contenir des tranches. La
plus simple configuration consiste placer toute la capacit du disque dans la tranche 0 et
utiliser cette tranche pour le pool racine.
Si vous envisagez d'utiliser des tranches pour un pool de stockage ZFS qui n'est pas un
priphrique d'initialisation, examinez les conditions suivantes lorsque l'utilisation de tranches
risque d'tre ncessaire :

Le nom du priphrique n'est pas standard.

ZFS et un autre systme de fichier (UFS, par exemple) partagent un disque unique.

Un disque est utilis en tant que swap ou priphrique de vidage.

Utilisation de fichiers dans un pool de stockage ZFS


ZFS permet galement d'utiliser des fichiers UFS en tant que priphriques virtuels dans le pool
de stockage. Cette fonction est destine principalement aux tests et des essais simples, et non
Chapitre 5 Gestion des pools de stockage ZFS

93

Fonctions de rplication d'un pool de stockage ZFS

pas tre utilise dans un contexte de production. En effet, toute utilisation de fichier repose
sur le systme de fichier sous-jacent pour la cohrence. Si vous crez un pool ZFS partir de
fichiers stocks sur un systme de fichiers UFS, la garantie d'une smantique synchrone et juste
repose entirement sur UFS.
Cependant, les fichiers peuvent s'avrer utiles lorsque vous employez ZFS pour la premire fois
ou en cas de disposition complexe, parce que les priphriques physiques prsents ne sont pas
suffisants. Tous les fichiers doivent tre spcifis avec leur chemin complet et leur taille doit tre
de 64 Mo minimum. Si un fichier est dplac ou renomm, le pool doit tre export et rimport
pour pouvoir tre utilis, car aucun ID de priphrique n'est associ aux fichiers pour permettre
de les localiser.

Fonctions de rplication d'un pool de stockage ZFS


ZFS offre une redondance des donnes, ainsi que des proprits d'autortablissement, dans une
configuration mise en miroir et une configuration RAID-Z.

Configuration de pool de stockage mis en miroir la page 94


Configuration de pool de stockage RAID-Z la page 94
Donnes d'autortablissement dans une configuration redondante la page 96
Entrelacement dynamique dans un pool de stockage la page 96

Configuration de pool de stockage mis en miroir


Une configuration de pool de stockage en miroir requiert deux disques minimum, situs de
prfrence dans des contrleurs spars. Vous pouvez utiliser un grand nombre de disques dans
une configuration en miroir. En outre, vous pouvez crer plusieurs miroirs dans chaque pool.
Conceptuellement, une configuration en miroir simple devrait ressembler ce qui suit :
mirror c1t0d0 c2t0d0

Conceptuellement, une configuration en miroir plus complexe devrait ressembler ce qui suit :
mirror c1t0d0 c2t0d0 c3t0d0 mirror c4t0d0 c5t0d0 c6t0d0

Pour obtenir des informations sur les pools de stockage mis en miroir, reportez-vous la
section Cration d'un pool de stockage mis en miroir la page 97.

Configuration de pool de stockage RAID-Z


En plus d'une configuration en miroir de pool de stockage, ZFS fournit une configuration
RAID-Z disposant d'une tolrance de pannes parit simple ou double. Une configuration
RAID-Z parit simple est similaire une configuration RAID-5. Une configuration RAID-Z
double parit est similaire une configuration RAID-6.
94

Guide d'administration Solaris ZFS Octobre 2008

Fonctions de rplication d'un pool de stockage ZFS

Tous les algorithmes similaires RAID-5 traditionnels (RAID-4. RAID-6, RDP et EVEN-ODD,
par exemple) prsentent un problme connu appel "RAID-5 write hole". Si seule une partie
d'un entrelacement RAID-5 est crite, et qu'une perte d'alimentation se produit avant que tous
les blocs aient t transmis au disque, la parit n'est pas synchronise avec les donnes, et est par
consquent inutile tout jamais ( moins qu'elle ne soit remplace par une criture
d'entrelacement total). Dans RAID-Z, ZFS utilise des entrelacements RAID de largeur variable
pour que toutes les critures correspondent des entrelacements entiers. Cette conception n'est
possible que parce que ZFS intgre le systme de fichiers et la gestion de priphrique de telle
faon que les mtadonnes du systme de fichiers disposent de suffisamment d'informations sur
le modle de redondance de donnes pour grer les entrelacements RAID de largeur variable.
RAID-Z est la premire solution au monde pour le trou d'criture de RAID-5.
Une configuration RAID-Z avec N disques de taille X et des disques de parit P prsente une
contenance d'environ (N-P)*X octets et peut supporter la panne d'un ou de plusieurs
priphriques P avant que l'intgrit des donnes ne soit compromise. Vous devez disposer d'au
moins deux disques pour une configuration RAID-Z parit simple et d'au moins trois disques
pour une configuration RAID-Z double parit. Par exemple, si vous disposez de trois disques
pour une configuration RAID-Z parit simple, les donnes de parit occupent un espace gal
l'un des trois disques. Dans le cas contraire, aucun matriel spcifique n'est requis pour la
cration d'une configuration RAID-Z.
Conceptuellement, une configuration RAID-Z trois disques serait similaire ce qui suit :
raidz c1t0d0 c2t0d0 c3t0d0

Une configuration RAID-Z conceptuelle plus complexe serait similaire ce qui suit :
raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 raidz c8t0d0 c9t0d0 c10t0d0 c11t0d0
c12t0d0 c13t0d0 c14t0d0

Si vous crez une configuration RAID-Z avec un grand nombre de disques, comme dans cet
exemple, il est recommand de scinder une configuration RAID-Z avec 14 disques en deux
groupements de 7 disques. Les configurations RAID-Z disposant de groupements de moins de
10 disques devraient prsenter de meilleures performances.
Pour plus d'informations sur la cration de pools de stockage RAID-Z, consultez la section
Cration de pools de stockage RAID-Z la page 98.
Pour obtenir des informations supplmentaires afin de choisir une configuration en miroir ou
une configuration RAID-Z en fonction de considrations de performances et d'espace,
consultez le blog suivant :
http://blogs.sun.com/roller/page/roch?entry=when_to_and_not_to
Pour obtenir des informations supplmentaires sur les recommandations relatives aux pools de
stockage RAID-Z, consultez le site des pratiques ZFS recommandes :
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
Chapitre 5 Gestion des pools de stockage ZFS

95

Cration et destruction de pools de stockage ZFS

Donnes d'autortablissement dans une


configuration redondante
ZFS fournit des donnes d'autortablissement dans une configuration RAID-Z ou en miroir.
Lorsqu'un bloc de donnes endommag est dtect, ZFS rcupre les donnes correctes partir
d'une copie redondante et de plus, rpare les donnes incorrectes en les remplaant par celles de
la copie.

Entrelacement dynamique dans un pool de stockage


Pour chaque priphrique virtuel ajout au pool, ZFS entrelace les donnes de faon dynamique
sur l'ensemble des priphriques disponibles. Le choix de l'emplacement des donnes est
effectu lors de l'criture ; ainsi, aucun entrelacement de largeur fixe n'est cr lors de
l'allocation.
Lorsque des priphriques virtuels sont ajouts un pool, ZFS attribue graduellement les
donnes au nouveau priphrique afin de maintenir les performances et les politiques
d'allocation d'espace. Chaque priphrique virtuel peut galement tre constitu d'un miroir ou
d'un priphrique RAID-Z contenant d'autres priphriques de disques ou d'autres fichiers.
Cette configuration assure un contrle flexible des caractristiques par dfaut du pool. Par
exemple, vous pouvez crer les configurations suivantes partir de 4 disques :

Quatre disques utilisant l'entrelacement dynamique


Une configuration RAID-Z quatre directions
Deux miroirs bidirectionnels utilisant l'entrelacement dynamique

ZFS assure la prise en charge de diffrents types de priphriques virtuels au sein du mme pool,
mais cette pratique est dconseille. Vous pouvez par exemple crer un pool avec un miroir
bidirectionnel et une configuration RAID-Z trois directions. Cependant, le niveau de
tolrance de pannes est aussi bon que le pire priphrique virtuel (RAID-Z dans ce cas). Il est
conseille d'utiliser des priphriques virtuels de niveau suprieur du type identique et avec le
mme niveau de redondance dans tous les priphriques.

Cration et destruction de pools de stockage ZFS


Les sections suivantes illustrent diffrents scnarios de cration et de destruction de pools de
stockage ZFS.

96

Cration d'un pool de stockage ZFS la page 97


Gestion d'erreurs de cration de pools de stockage ZFS la page 101
Destruction de pools de stockage ZFS la page 105
Affichage des informations d'un priphrique virtuel de pool de stockage la page 100

Guide d'administration Solaris ZFS Octobre 2008

Cration et destruction de pools de stockage ZFS

De par leur conception, la cration et la destruction de pools est rapide et facile. Cependant, il se
doit de raliser ces oprations avec prudence. Des vrifications sont effectues pour viter une
utilisation de priphriques dj utiliss dans un nouveau pool, mais ZFS n'est pas
systmatiquement en mesure de savoir si un priphrique est dj en cours d'utilisation. La
destruction d'un pool est encore plus facile. Utilisez la commande zpool destroy avec
prcaution. Cette commande simple a des consquences significatives.

Cration d'un pool de stockage ZFS


Pour crer un pool de stockage, excutez la commande zpool create. Cette commande prend
un nom de pool et un nombre illimit de priphriques virtuels en tant qu'arguments. Le nom
de pool doit se conformer aux conventions d'attribution de noms dcrites la section
Exigences d'attribution de noms de composants ZFS la page 40.

Cration d'un pool de stockage de base


La commande suivante cre un pool appel tank et compos des disques c1t0d0 et c1t1d0:
# zpool create tank c1t0d0 c1t1d0

Ces disques entiers se trouvent dans le rpertoire /dev/dsk et ont t tiquets de faon
adquate par ZFS afin de contenir une tranche unique de grande taille. Les donnes sont
entrelaces de faon dynamique sur les deux disques.

Cration d'un pool de stockage mis en miroir


Pour crer un pool mis en miroir, utilisez le mot-cl mirror suivi du nombre de priphriques
de stockage que doit contenir le miroir. Pour spcifier plusieurs miroirs, rptez le mot-cl
mirror dans la ligne de commande. La commande suivante cre un pool avec deux miroirs
bidirectionnels :
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0

Le second mot-cl mirror indique qu'un nouveau priphrique virtuel de niveau suprieur est
spcifi. Les donnes sont dynamiquement entrelaces sur les deux miroirs, ce qui les rend
redondantes sur chaque disque.
Pour plus d'informations sur les configurations mises en miroir recommandes, consultez le
site suivant :
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
Actuellement, les oprations suivantes sont prises en charge dans une configuration ZFS en
miroir :
Chapitre 5 Gestion des pools de stockage ZFS

97

Cration et destruction de pools de stockage ZFS

Ajout d'un autre jeu de disques comme stockage vdev de niveau suprieur supplmentaire
une configuration en miroir existante. Pour plus d'informations, reportez-vous la rubrique
Ajout de priphriques un pool de stockage la page 106.

Connexion de disques supplmentaires une configuration en miroir existante ou


connexion de disques supplmentaires une configuration non rplique pour crer une
configuration en miroir. Pour plus d'informations, reportez-vous la section Connexion et
sparation de priphriques dans un pool de stockage la page 109.

Remplacement d'un ou de plusieurs disques dans une configuration en miroir existante,


condition que les disques de remplacement soient d'une taille suprieure ou gale au celle du
priphrique remplac. Pour plus d'informations, reportez-vous la section
Remplacement de priphriques dans un pool de stockage la page 114.

Sparation d'un ou de plusieurs disques dans une configuration existante, condition que
les priphriques restants procurent la redondance qui convient la configuration. Pour
plus d'informations, reportez-vous la section Connexion et sparation de priphriques
dans un pool de stockage la page 109.

Actuellement, les oprations suivantes ne sont pas prises en charge dans une configuration en
miroir :

Vous ne pouvez pas supprimer totalement un priphrique d'un pool de stockage mis en
miroir. Cette fonction fait l'objet d'une demande d'amlioration.

Vous ne pouvez pas diviser ou fractionner un miroir des fins de sauvegarde. Cette fonction
fait l'objet d'une demande d'amlioration.

Cration de pools de stockage RAID-Z


La cration d'un pool RAID-Z parit simple est identique celle d'un pool mis en miroir, la
seule diffrence que le mot-cl raidz ou raidz1 est utilis la place du mot-cl mirror. Les
exemples suivants illustrent la cration d'un pool avec un priphrique RAID-Z unique
compos de cinq disques :
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0

Cet exemple montre que les disques peuvent tre spcifis l'aide de leurs chemins complets. Le
priphrique /dev/dsk/c5t0d0 est identique au priphrique c5t0d0.
Il est possible de crer une configuration similaire avec des tranches de disque. Exemple :
# zpool create tank raidz c1t0d0s0 c2t0d0s0 c3t0d0s0 c4t0d0s0 c5t0d0s0

Cependant, vous devez prformater les disques afin de disposer d'une tranche zro de taille
adquate.
Pour crer une configuration RAID-Z double parit, appliquez le mot-cl raidz2 lors de la
cration du pool. Exemple :
98

Guide d'administration Solaris ZFS Octobre 2008

Cration et destruction de pools de stockage ZFS

# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0


# zpool status -v tank
pool: tank
state: ONLINE
scrub: none requested
config:
NAME
tank
raidz2
c1t0d0
c2t0d0
c3t0d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors

Actuellement, les oprations suivantes sont prises en charge dans une configuration ZFS
RAID-Z :

Ajout d'un autre jeu de disques comme stockage vdev de niveau suprieur supplmentaire
une configuration RAID-Z existante. Pour plus d'informations, reportez-vous la rubrique
Ajout de priphriques un pool de stockage la page 106.

Remplacement d'un ou de plusieurs disques dans une configuration RAID-Z existante,


condition que les disques de remplacement soient d'une taille suprieure ou gale au celle du
priphrique remplac. Pour plus d'informations, reportez-vous la section
Remplacement de priphriques dans un pool de stockage la page 114.

Actuellement, les oprations suivantes ne sont pas prises en charge dans une configuration
RAID-Z :

Connexion d'un disque supplmentaire une configuration RAID-Z existante.

Sparation d'un disque d'une configuration RAID-Z.

Vous ne pouvez pas supprimer totalement un priphrique d'une configuration RAID-Z.


Cette fonction fait l'objet d'une demande d'amlioration.

Pour obtenir des informations supplmentaire, reportez-vous la section Configuration de


pool de stockage RAID-Z la page 94.

Cration d'un pool de stockage ZFS avec des priphriques de


journalisation
Par dfaut, le ZIL est attribu partir de blocs dans le pool principal. Il est cependant possible
d'obtenir de meilleures performances en utilisant des priphriques de journalisation
d'intention distincts, notamment une NVRAM ou un disque ddi. Pour plus d'informations
sur les priphriques de journalisation ZFS, reportez-vous la section Configuration de
priphriques de journalisation ZFS distincts la page 21.
Chapitre 5 Gestion des pools de stockage ZFS

99

Cration et destruction de pools de stockage ZFS

Vous pouvez configurer un priphrique de journalisation ZFS la cration du pool de stockage


ou un moment ultrieur.
Crez par exemple un pool de stockage mis en miroir l'aide de priphriques de journalisation
mis en miroir.
# zpool create datap mirror c1t1d0 c1t2d0 mirror c1t3d0 c1t4d0 log mirror c1t5d0 c1t8d0
# zpool status
pool: datap
state: ONLINE
scrub: none requested
config:
NAME
datap
mirror
c1t1d0
c1t2d0
mirror
c1t3d0
c1t4d0
logs
mirror
c1t5d0
c1t8d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors

Affichage des informations d'un priphrique virtuel


de pool de stockage
Chaque pool de stockage se compose d'un ou plusieurs priphriques virtuels. Un priphrique
virtuel est une reprsentation interne du pool de stockage qui dcrit la disposition du stockage
physique et ses caractristiques par dfaut. Ainsi, un priphrique virtuel reprsente les
priphriques de disque ou les fichiers utiliss pour crer le pool de stockage. Un pool peut
contenir un nombre indfini de priphriques virtuels la racine de la configuration, appels
priphriques virtuels racine.
Deux priphriques virtuels racine, ou de niveau suprieur, assurent la redondance des
donnes : les priphriques virtuels miroir et RAID-Z. Ces priphriques virtuels se composent
de disques, de tranches de disques ou de fichiers. Un priphrique de rechange est un
priphrique virtuel particulier qui maintient la liste des hot spare disponibles d'un pool.
L'exemple suivant illustre la cration d'un pool compos de deux priphriques virtuels racine,
chacun tant un miroir de deux disques.
100

Guide d'administration Solaris ZFS Octobre 2008

Cration et destruction de pools de stockage ZFS

# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0

L'exemple suivant illustre la cration d'un pool compos d'un priphrique virtuel racine de 4
disques.
# zpool create mypool raidz2 c1d0 c2d0 c3d0 c4d0

Vous pouvez ajouter un autre priphrique virtuel racine ce pool l'aide de la commande
zpool add. Exemple :
# zpool add mypool raidz2 c2d0 c3d0 c4d0 c5d0

Les disques, tranches de disque ou fichiers utiliss dans des pools non redondants fonctionnent
en tant que priphriques virtuels de niveau suprieur. Les pools de stockage contiennent en
rgle gnrale plusieurs priphriques virtuels de niveau suprieur. ZFS entrelace
automatiquement les donnes entre l'ensemble des priphriques virtuels de niveau suprieur
dans un pool.
Les priphriques virtuels et les priphriques physiques contenus dans un pool de stockage
ZFS s'affichent avec la commande zpool status. Exemple :
# zpool
pool:
state:
scrub:
config:

status tank
tank
ONLINE
none requested

NAME
tank
mirror
c0t1d0
c1t1d0
mirror
c0t2d0
c1t2d0
mirror
c0t3d0
c1t3d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Gestion d'erreurs de cration de pools de stockage ZFS


Les erreurs de cration de pool peuvent se produire pour de nombreuses raisons. Certaines
raisons sont videntes, par exemple lorsqu'un priphrique spcifi n'existe pas, mais d'autres le
sont moins.
Chapitre 5 Gestion des pools de stockage ZFS

101

Cration et destruction de pools de stockage ZFS

Dtection des priphriques utiliss


Avant de formater un priphrique, ZFS vrifie que le disque n'est pas utilis par ZFS ou une
autre partie du systme d'exploitation. Si le disque est en cours d'utilisation, les erreurs
suivantes peuvent se produire :
# zpool create tank c1t0d0 c1t1d0
invalid vdev specification
use -f to override the following errors:
/dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c1t0d0s1 is currently mounted on swap. Please see swap(1M).
/dev/dsk/c1t1d0s0 is part of active ZFS pool zeepool. Please see zpool(1M).

Certaines d'entre elles peuvent tre ignores l'aide de l'option -f, mais pas toutes. les
utilisations suivantes ne peuvent pas tre ignores via l'option - f et doivent tre corriges
manuellement :
Systme de fichiers mont

Le disque ou une de ses tranches contient un systme


de fichiers actuellement mont. La commande umount
permet de corriger cette erreur.

Systme de fichiers dans /etc/vfstab

Le disque contient un systme de fichiers rpertori


dans le fichier /etc/vfstab, mais le systme de
fichiers n'est pas mont. Pour corriger cette erreur,
supprimez ou commentez la ligne dans le fichier
/etc/vfstab.

Priphrique de vidage ddi

Le disque est utilis en tant que priphrique de vidage


ddi pour le systme. La commande dumpadm permet
de corriger cette erreur.

Elment d'un pool ZFS

Le disque ou fichier fait partie d'un pool de stockage


ZFS. Pour corriger cette erreur, utilisez la commande
zpool destroy afin de dtruire l'autre pool s'il est
obsolte. Utilisez sinon la commande zpool detach
pour dconnecter le disque de l'autre pool. Vous
pouvez dconnecter un disque que s'il est connect
un pool de stockage mis en miroir.

Les vrifications en cours d'utilisation suivantes constituent des avertissements. Pour les
ignorer, appliquez l'option -f afin de crer le pool :

102

Contient un systme de fichiers

Le disque contient un systme de fichiers connu bien qu'il


ne soir pas mont et n'apparaisse pas comme tant en
cours d'utilisation.

Elment d'un volume

Le disque fait partie d'un volume SVM.

Guide d'administration Solaris ZFS Octobre 2008

Cration et destruction de pools de stockage ZFS

Live upgrade

Le disque est en cours d'utilisation en tant


qu'environnement d'initialisation de remplacement pour
Solaris Live Upgrade.

Elment d'un pool ZFS export

Le disque fait partie d'un pool de stockage export ou


supprim manuellement d'un systme. Dans le deuxime
cas, le pool est signal comme tant potentiellement
actif, dans la mesure o il peut s'agir d'un disque
connect au rseau en cours d'utilisation par un autre
systme. Faites attention lorsque vous ignorez un pool
potentiellement activ.

L'exemple suivant illustre l'utilisation de l'option -f :


# zpool create tank c1t0d0
invalid vdev specification
use -f to override the following errors:
/dev/dsk/c1t0d0s0 contains a ufs filesystem.
# zpool create -f tank c1t0d0

Si possible, corrigez les erreurs au lieu d'utiliser l'option -f.

Niveaux de rplication incohrents


Il est dconseill de crer des pools avec des priphriques virtuels de niveau de rplication
diffrents. La commande zpool tente de vous empcher de crer par inadvertance un pool
comprenant des niveaux de redondance diffrents. Si vous tentez de crer un pool avec un telle
configuration, les erreurs suivantes s'affichent :
# zpool create tank c1t0d0 mirror c2t0d0 c3t0d0
invalid vdev specification
use -f to override the following errors:
mismatched replication level: both disk and mirror vdevs are present
# zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0 c5t0d0
invalid vdev specification
use -f to override the following errors:
mismatched replication level: 2-way mirror and 3-way mirror vdevs are present

L'option -f permet d'ignorer ces erreurs, mais cette pratique est dconseille. La commande
affiche galement un avertissement relatif la cration d'un pool RAID-Z ou mis en miroir
l'aide de priphriques de tailles diffrentes. Cette configuration est autorise mais, si les
niveaux de redondance sont incohrents, une partie de l'espace du priphrique de plus grande
taille reste inutilise. L'option -f est alors requise pour ignorer l'avertissement.

Chapitre 5 Gestion des pools de stockage ZFS

103

Cration et destruction de pools de stockage ZFS

Ralisation d'un test la cration d'un pool de stockage


La cration d'un pool peut chouer de manire inopine, de diffrentes faons. Comme le
formatage de disques constitue une action potentiellement nfaste, la commande zpool create
dispose d'une option supplmentaire, -n, qui simule la cration d'un pool sans criture relle
sur le priphrique. Cette option vrifie le priphrique en cours d'utilisation et valide le niveau
de rplication, puis rpertorie les erreurs survenues au cours du processus. Si aucune erreur
n'est dtecte, la sortie est similaire la suivante :
# zpool create -n tank mirror c1t0d0 c1t1d0
would create tank with the following layout:
tank
mirror
c1t0d0
c1t1d0

Certaines erreurs sont impossibles dtecter sans cration effective du pool. L'exemple le plus
courant consiste spcifier le mme priphrique deux fois dans la mme configuration. Cette
erreur ne peut pas tre dtecte sans criture des donnes. La commande create -n peut
indiquer que l'opration s'effectue correctement, alors que la cration du pool lors de son
excution effective choue.

Point de montage par dfaut pour les pools de stockage


Lors de la cration d'un pool, le point de montage par dfaut du jeu de donnes racine est
/nom-pool. Le rpertoire doit tre inexistant ou vide. Le rpertoire est cr automatiquement s'il
n'existe pas. Si le rpertoire est vide, le jeu de donnes racine est mont sur le rpertoire existant.
Pour crer un pool avec un point de montage par dfaut diffrent, utilisez l'option - m de la
commande zpool create :
# zpool create home c1t0d0
default mountpoint /home exists and is not empty
use -m option to specify a different default
# zpool create -m /export/zfs home c1t0d0
# zpool create home c1t0d0
default mountpoint /home exists and is not empty
use -m option to provide a different default
# zpool create -m /export/zfs home c1t0d0

Cette commande cre un pool home et le jeu de donnes home avec le point de montage
/export/zfs.
Pour de plus amples informations sur les points de montage, reportez-vous la section
Gestion des points de montage ZFS la page 164.

104

Guide d'administration Solaris ZFS Octobre 2008

Cration et destruction de pools de stockage ZFS

Destruction de pools de stockage ZFS


La commande zpool destroy permet de dtruire les pools. Cette commande dtruit le pool
mme s'il contient des jeux de donnes monts.
# zpool destroy tank

Attention Faites trs attention lorsque vous dtruisez un pool. Assurez-vous de dtruire le pool
souhait et de toujours disposer de copies de vos donnes. En cas de destruction accidentelle
d'un pool, vous pouvez tenter de le rcuprer. Pour obtenir des informations supplmentaires,
reportez-vous la section Rcupration de pools de stockage ZFS dtruits la page 135.

Destruction d'un pool avec des priphriques dfaillants


La destruction d'un pool requiert l'criture des donnes sur le disque pour indiquer que le pool
n'est dsormais plus valide. Ces informations d'tat vitent que les priphriques ne s'affichent
en tant que pool potentiel lorsque vous effectuez une importation. La destruction du pool est
tout de mme possible si un ou plusieurs priphriques ne sont pas disponibles. Cependant, les
informations d'tat requises ne sont pas crites sur ces priphriques endommags.
Ces priphriques, lorsqu'ils sont correctement rpars, sont signals comme tant
potentiellement actifs lors de la cration d'un pool et s'affichent en tant que priphriques valides
lorsque vous recherchez des pools importer. Si un pool a tant de priphrique dfaillants que
le pool lui-mme est dfaillant (en d'autres termes, un priphrique virtuel de niveau suprieur
est dfaillant), alors la commande met un avertissement et ne peut pas s'excuter sans l'option
-f. Cette option est requise car l'ouverture du pool est impossible et il est impossible de savoir
si des donnes y sont stockes ou non. Exemple :
# zpool destroy tank
cannot destroy tank: pool is faulted
use -f to force destruction anyway
# zpool destroy -f tank

Pour de plus amples informations sur les pools et la maintenance des priphriques,
reportez-vous la section Dtermination de l'tat de maintenance des pools de stockage ZFS
la page 127.
Pour de plus amples informations sur l'importation de pools, reportez-vous la section
Importation de pools de stockage ZFS la page 134.

Chapitre 5 Gestion des pools de stockage ZFS

105

Gestion de priphriques dans un pool de stockage ZFS

Gestion de priphriques dans un pool de stockage ZFS


Vous trouverez la plupart des informations de base concernant les priphriques dans la section
Composants d'un pool de stockage ZFS la page 91. Une fois la cration d'un pool termine,
vous pouvez effectuer plusieurs tches de gestion des priphriques physiques au sein du pool.

Ajout de priphriques un pool de stockage la page 106


Connexion et sparation de priphriques dans un pool de stockage la page 109
Mise en ligne et mise hors ligne de priphriques dans un pool de stockage la page 111
Suppression des priphriques de pool de stockage la page 114
Remplacement de priphriques dans un pool de stockage la page 114
Dsignation des disques hot spare dans le pool de stockage la page 116

Ajout de priphriques un pool de stockage


Vous pouvez ajouter de l'espace un pool de faon dynamique, en ajoutant un priphrique
virtuel de niveau suprieur. Cet espace est disponible immdiatement pour l'ensemble des jeux
de donnes au sein du pool. Pour ajouter un priphrique virtuel un pool, utilisez la
commande zpool add. Exemple :
# zpool add zeepool mirror c2t1d0 c2t2d0

Le format de spcification des priphriques virtuels est le mme que pour la commande zpool
create et obit aux mmes rgles. Une vrification des priphriques est effectue afin de
dterminer s'ils sont en cours d'utilisation et la commande ne peut pas modifier le niveau de
redondance sans l'option -f. La commande prend galement en charge l'option -n, ce qui
permet d'effectuer un test. Exemple :
# zpool add -n zeepool mirror c3t1d0 c3t2d0
would update zeepool to the following configuration:
zeepool
mirror
c1t0d0
c1t1d0
mirror
c2t1d0
c2t2d0
mirror
c3t1d0
c3t2d0

Cette syntaxe de commande ajouterait les priphriques mis en miroir c3t1d0 et c3t2d0 la
configuration existante du fichier zeepool.

106

Guide d'administration Solaris ZFS Octobre 2008

Gestion de priphriques dans un pool de stockage ZFS

Pour plus d'informations sur la validation des priphriques virtuels, reportez-vous la section
Dtection des priphriques utiliss la page 102.
EXEMPLE 51

Ajout de disques une configuration ZFS mise en miroir

Dans l'exemple suivant, un autre miroir est ajout la configuration ZFS mise en miroir
existante sur un systme Sun Fire x4500.
# zpool
pool:
state:
scrub:
config:

status tank
tank
ONLINE
none requested

NAME
tank
mirror
c0t1d0
c1t1d0
mirror
c0t2d0
c1t2d0
errors:
# zpool
# zpool
pool:
state:
scrub:
config:

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

No known data errors


add tank mirror c0t3d0 c1t3d0
status tank
tank
ONLINE
none requested

NAME
tank
mirror
c0t1d0
c1t1d0
mirror
c0t2d0
c1t2d0
mirror
c0t3d0
c1t3d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors

Chapitre 5 Gestion des pools de stockage ZFS

107

Gestion de priphriques dans un pool de stockage ZFS

EXEMPLE 52

Ajout de disques une configuration RAID-Z

De la mme faon, vous pouvez ajouter des disques supplmentaires une configuration
RAID-Z. L'exemple suivant illustre la conversion d'un pool de stockage avec un priphrique
RAIDZ compos de 3 disques en pool de stockage avec deux priphriques RAID-Z compos
de 3 disques.
# zpool
pool:
state:
scrub:
config:

status
rpool
ONLINE
none requested
NAME
rpool
raidz1
c1t2d0
c1t3d0
c1t4d0

errors:
# zpool
# zpool
pool:
state:
scrub:
config:

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

No known data errors


add rpool raidz c2t2d0 c2t3d0 c2t4d0
status
rpool
ONLINE
none requested
NAME
rpool
raidz1
c1t2d0
c1t3d0
c1t4d0
raidz1
c2t2d0
c2t3d0
c2t4d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors


EXEMPLE 53

Ajout d'un priphrique de journalisation mis en miroir un pool de stockage ZFS

L'exemple suivant illustre l'ajout d'un priphrique de journalisation mis en miroir un pool de
stockage mis en miroir.Pour plus d'informations sur l'utilisation de priphriques de
journalisation dans votre pool de stockage, reportez-vous la section Configuration de
priphriques de journalisation ZFS distincts la page 21.

108

Guide d'administration Solaris ZFS Octobre 2008

Gestion de priphriques dans un pool de stockage ZFS

EXEMPLE 53

Ajout d'un priphrique de journalisation mis en miroir un pool de stockage ZFS

(Suite)
# zpool
pool:
state:
scrub:
config:

status newpool
newpool
ONLINE
none requested

NAME
newpool
mirror
c1t9d0
c1t10d0
errors:
# zpool
# zpool
pool:
state:
scrub:
config:

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

No known data errors


add newpool log mirror c1t11d0 c1t12d0
status newpool
newpool
ONLINE
none requested

NAME
newpool
mirror
c1t9d0
c1t10d0
logs
mirror
c1t11d0
c1t12d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors

connexion d'un priphrique de journal un priphrique journal existant afin de crer un


priphrique mis en miroir. Cette opration est similaire la connexion d'un priphrique un
pool de stockage qui n'est pas mis en miroir.

Connexion et sparation de priphriques dans un


pool de stockage
Outre la commande zpool add, vous pouvez utiliser la commande zpool attach pour ajouter
un priphrique un priphrique existant, mis en miroir ou non.

Chapitre 5 Gestion des pools de stockage ZFS

109

Gestion de priphriques dans un pool de stockage ZFS

EXEMPLE 54 Conversion d'un pool de stockage bidirectionnel mis en miroir en un pool de stockage
tridirectionnel mis en miroir

Dans cet exemple, zeepool est un miroir bidirectionnel. Il est transform en un miroir
tridirectionnel via la connexion de c2t1d0, le nouveau priphrique, au priphrique existant,
c1t1d0.
# zpool
pool:
state:
scrub:
config:

errors:
# zpool
# zpool
pool:
state:
scrub:
config:

status
zeepool
ONLINE
none requested
NAME
STATE
READ WRITE CKSUM
zeepool
ONLINE
0
0
0
mirror
ONLINE
0
0
0
c0t1d0 ONLINE
0
0
0
c1t1d0 ONLINE
0
0
0
No known data errors
attach zeepool c1t1d0 c2t1d0
status
zeepool
ONLINE
resilver completed after 0h2m with 0 errors on Thu Aug 28 09:50:11 2008

NAME
zeepool
mirror
c0t1d0
c1t1d0
c2t1d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Si le priphrique existant fait partie d'un miroir bidirectionnel, la connexion d'un nouveau
priphrique cre un miroir tridirectionnel, et ainsi de suite. Dans tous les cas, la rargenture du
nouveau priphrique commence immdiatement.
EXEMPLE 55

Conversion d'un pool de stockage ZFS non redondant en un pool de stockage ZFS mis en

miroir

En outre, vous pouvez convertir un pool de stockage non redondant en un pool de stockage
redondant l'aide de la commande zpool attach. Exemple :
# zpool create tank c0t1d0
# zpool status
pool: tank
state: ONLINE
scrub: none requested

110

Guide d'administration Solaris ZFS Octobre 2008

Gestion de priphriques dans un pool de stockage ZFS

EXEMPLE 55

miroir

Conversion d'un pool de stockage ZFS non redondant en un pool de stockage ZFS mis en
(Suite)

config:
NAME
tank
c0t1d0
errors:
# zpool
# zpool
pool:
state:
scrub:
config:

STATE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0

No known data errors


attach tank c0t1d0 c1t1d0
status
tank
ONLINE
resilver completed after 0h2m with 0 errors on Thu Aug 28 09:54:11 2008
NAME
tank
mirror
c0t1d0
c1t1d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

Vous pouvez utiliser la commande zpool detach pour sparer un priphrique d'un pool de
stockage mis en miroir. Exemple :
# zpool detach zeepool c2t1d0

Cependant, cette opration est refuse en l'absence de rplique valide des donnes. Exemple :
# zpool detach newpool c1t2d0
cannot detach c1t2d0: only applicable to mirror and replacing vdevs

Mise en ligne et mise hors ligne de priphriques dans


un pool de stockage
ZFS permet la mise en ligne ou hors ligne de priphriques. Lorsque le matriel n'est pas fiable
ou fonctionne mal, ZFS continue de lire ou d'crire les donnes dans le priphrique en partant
du principe que le problme est temporaire. Dans le cas contraire, il est possible d'indiquer
ZFS d'ignorer le priphrique en le mettant hors ligne. ZFS n'envoie aucune requte aux
priphriques hors ligne.
Remarque Il est inutile de mettre les priphriques hors ligne pour les remplacer.

Chapitre 5 Gestion des pools de stockage ZFS

111

Gestion de priphriques dans un pool de stockage ZFS

Vous pouvez utiliser la commande offline pour dconnecter temporairement le stockage. Par
exemple, si vous devez dconnecter physiquement une baie d'un jeu de commutateurs Fibre
Channel et la connecter un autre jeu, vous pouvez mettre les LUN hors ligne dans la baie
utilise dans les pools de stockage ZFS. Une fois la baie reconnecte et oprationnelle sur le
nouveau jeu de commutateurs, vous pouvez mettre les mmes LUN en ligne. La rargenture des
donnes ajoutes aux pools de stockage alors que les LUN taient hors ligne s'effectue sur les
LUN, une fois ceux-ci en ligne.
Ce scnario est possible si les systmes en question ont accs au stockage une fois qu'il est
connect aux nouveaux commutateurs, ventuellement par le biais de contrleurs diffrents, et
si les pools sont dfinis en tant que configurations RAID-Z ou en miroir.

Mise hors ligne d'un priphrique


La commande zpool offline permet de mettre un priphrique hors ligne. Vous pouvez
spcifier le priphrique via son chemin ou via son nom abrg s'il s'agit d'un disque. Exemple :
# zpool offline tank c1t0d0
bringing device c1t0d0 offline

Gardez les points suivants l'esprit lors de la mise hors ligne de priphriques :

Vous ne pouvez pas mettre un priphrique hors ligne au point o il devient dfaillant. Vous
ne pouvez par exemple pas mettre hors ligne deux priphriques d'une configuration
RAID-Z ni ne pouvez mettre hors ligne un priphrique virtuel de niveau suprieur.
# zpool offline tank c1t0d0
cannot offline c1t0d0: no valid replicas

Par dfaut, l'tat hors ligne est persistant. Le priphrique reste hors ligne lors du
redmarrage du systme.
Pour mettre un priphrique hors ligne temporairement, utilisez l'option -t de la
commande zpool offline. Exemple :
# zpool offline -t tank c1t0d0
bringing device c1t0d0 offline

En cas de rinitialisation du systme, ce priphrique revient automatiquement l'tat


ONLINE.

Lorsqu'un priphrique est mis hors ligne, il n'est pas spar du pool de stockage. En cas de
tentative d'utilisation du priphrique hors ligne dans un autre pool, mme en cas de
destruction du pool d'origine, un message similaire au suivant s'affiche :
device is part of exported or potentially active ZFS pool. Please see zpool(1M)

112

Guide d'administration Solaris ZFS Octobre 2008

Gestion de priphriques dans un pool de stockage ZFS

Si vous souhaitez utiliser le priphrique hors ligne dans un autre pool de stockage aprs
destruction du pool de stockage d'origine, remettez le priphrique en ligne puis dtruisez le
pool de stockage d'origine.
Une autre mode d'utilisation d'un priphrique provenant d'un autre pool de stockage si
vous souhaitez conserver le pool de stockage d'origine consiste remplacer le priphrique
existant dans le pool de stockage d'origine par un autre priphrique similaire. Pour obtenir
des informations sur le remplacement de priphriques, reportez-vous la section
Remplacement de priphriques dans un pool de stockage la page 114.
Les priphriques mis hors ligne s'affichent dans l'tat OFFLINE en cas de requte de l'tat de
pool. Pour obtenir des informations sur les requtes d'tat de pool, reportez-vous la section
Requte d'tat de pool de stockage ZFS la page 123.
Pour de plus amples informations sur la maintenance des priphriques, reportez-vous la
section Dtermination de l'tat de maintenance des pools de stockage ZFS la page 127.

Mise en ligne d'un priphrique


Lorsqu'un priphrique est mis hors ligne, il peut tre restaur grce la commande zpool
online :
# zpool online tank c1t0d0
bringing device c1t0d0 online

Lorsqu'un priphrique est mis en ligne, toute donne crite dans le pool est resynchronise sur
le priphrique nouvellement disponible. Notez que vous ne pouvez pas utiliser la mise en ligne
d'un priphrique pour remplacer un disque. Si vous mettez un priphrique hors ligne,
remplacez le lecteur puis tentez de le mettre en ligne, son tat continue indiquer qu'il est
dfaillant.
Si vous tentez de mettre un priphrique dfaillant en ligne, un message similaire au suivant
s'affiche partir de la commande fmd :
# zpool online tank c1t0d0
Bringing device c1t0d0 online
#
SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Thu Apr 24 03:07:05 MDT 2008
PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: neo2
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: b8ed8b2b-2c22-4281-bbfa-dd92d3cd924d
DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information.
AUTO-RESPONSE: No automated response will occur.
IMPACT: Fault tolerance of the pool may be compromised.
REC-ACTION: Run zpool status -x and replace the bad device.

Chapitre 5 Gestion des pools de stockage ZFS

113

Gestion de priphriques dans un pool de stockage ZFS

Pour obtenir des informations sur le remplacement d'un priphrique dfaillant, reportez-vous
la section Rparation d'un priphrique manquant la page 257.

Suppression des priphriques de pool de stockage


Si un priphrique est mis hors ligne en raison d'une dfaillance qui entrane l'affichage
d'erreurs dans la sortie zpool status, la commande zpool clear permet d'effacer les nombres
d'erreurs.
Si elle est spcifie sans argument, cette commande efface toutes les erreurs de priphrique
dans le pool. Exemple :
# zpool clear tank

Si un ou plusieurs priphriques sont spcifis, cette commande n'efface que les erreurs
associes aux priphriques spcifis. Exemple :
# zpool clear tank c1t0d0

Pour de plus amples informations sur l'effacement d'erreurs de zpool reportez-vous la section
Suppression des erreurs transitoires la page 260.

Remplacement de priphriques dans un pool de


stockage
Vous pouvez remplacer un priphrique dans un pool de stockage l'aide de la commande
zpool replace.
Pour remplacer physiquement un priphrique par un autre, en conservant le mme
emplacement dans le pool redondant, il vous suffit alors d'identifier le priphrique remplac.
ZFS reconnat qu'il s'agit d'un disque diffrent situ au mme emplacement. Par exemple, pour
remplacer un disque dfaillant (c1t1d0), supprimez-le, puis ajoutez le disque de rechange au
mme emplacement l'aide d'une syntaxe similiaire la suivante :
# zpool replace tank c1t1d0

Si vous remplacez le priphrique unique d'un pool de stockage non redondant, vous devez
indiquer les deux priphriques. Exemple :
# zpool replace tank c1t1d0 c1t2d0

114

Guide d'administration Solaris ZFS Octobre 2008

Gestion de priphriques dans un pool de stockage ZFS

Les tapes de base de remplacement d'un disque sont les suivantes D :

Le cas chant, mettez le disque hors ligne l'aide de la commande zpool offline.

Enlevez le disque remplacer.

Insrez le disque de remplacement.

Excutez la commande zpool replace. Exemple :


# zpool replace tank c1t1d0

Remettez le disque en ligne l'aide de la commande zpool online.

Sur certains systmes, notamment sur Sun Fire x4500, vous devez annuler la configuration d'un
disque avant de le mettre hors ligne. Si vous remplacez simplement un disque par un autre dans
le mme logement de ce systme, vous pouvez excuter la commande zpool replace comme
indiqu prcdemment.
L'Exemple 111 illustre le remplacement d'un disque sur ce systme.
Gardez l'esprit les considrations suivantes lorsque vous remplacez des priphriques dans un
pool de stockage ZFS :

Si vous activez la proprit de pool autoreplace (valeur "on"), tout nouveau priphrique
dtect au mme emplacement physique qu'un priphrique appartenant prcdemment au
pool est automatiquement format et remplac sans recourir la commande zpool
replace. Cette fonction n'est pas disponible sur tous les types de matriel.

Le priphrique de remplacement doit tre d'une taille suprieure ou gale la taille


minimale de tous les priphriques dans une configuration en miroir ou RAID-Z.

Si la taille du priphrique de remplacement est suprieure, la capacit du pool s'accrot une


fois le remplacement termin. Actuellement, vous devez exporter et importer le pool pour
connatre la capacit tendue. Exemple :
# zpool list tank
NAME SIZE USED AVAIL
tank 16.8G
94K 16.7G
# zpool replace tank c0t0d0
# zpool list tank
NAME SIZE USED AVAIL
tank 16.8G 112K 16.7G
# zpool export tank
# zpool import tank
# zpool list tank
NAME SIZE USED AVAIL
tank 33.9G 114K 33.9G

CAP HEALTH ALTROOT


0% ONLINE c0t4d0
CAP HEALTH ALTROOT
0% ONLINE -

CAP HEALTH ALTROOT


0% ONLINE -

Pour de plus amples informations sur l'importation et l'exportation de pools, reportez-vous


la section Migration de pools de stockage ZFS la page 130.
Chapitre 5 Gestion des pools de stockage ZFS

115

Gestion de priphriques dans un pool de stockage ZFS

l'heure actuelle, pour accrotre la taille d'un volume LUN existant appartenant un pool
de stockage, vous devez galement effectuer les tapes d'exportation et d'importation afin
d'afficher la capacit de disque tendue.

Le remplacement des nombreux disques dans un pool volumineux prend du temps, en


raison de la rargenture des donnes sur les nouveaux disques. En outre, il peut s'avrer utile
d'excuter la commande zpool scrub entre chaque remplacement afin de garantir le
fonctionnement des priphriques de remplacement et l'exactitude des donnes crites.

Pour plus d'informations sur le remplacement de priphriques, reportez-vous la section


Rparation d'un priphrique manquant la page 257 et la section Rparation d'un
priphrique endommag la page 259.

Dsignation des disques hot spare dans le pool de


stockage
La fonction de disque hot spare permet d'identifier les disques utilisables pour remplacer un
priphrique dfaillant dans un ou plusieurs pools de stockage. Un priphrique dsign en tant
que disque hot spare n'est pas actif dans un pool mais en cas d'chec d'un priphrique actif du
pool, le disque hot spare le remplace automatiquement
Pour dsigner des priphriques en tant que disques hot spare, vous avez le choix entre les
mthodes suivantes :

lors de la cration du pool l'aide de la commande zpool create ;


aprs la cration du pool l'aide de la commande zpool create ;
les priphriques hot spare peuvent tre partags entre plusieurs pools.

Dsignez les priphriques en tant que disques hot spare une fois le pool cr. Exemple :
# zpool create zeepool mirror c1t1d0 c2t1d0 spare c1t2d0 c2t2d0
# zpool status zeepool
pool: zeepool
state: ONLINE
scrub: none requested
config:
NAME
zeepool
mirror
c1t1d0
c2t1d0
spares
c1t2d0
c2t2d0

116

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

AVAIL
AVAIL

Guide d'administration Solaris ZFS Octobre 2008

Gestion de priphriques dans un pool de stockage ZFS

Dsignez les disques hot spare en les ajoutant un pool aprs la cration de ce dernier.
Exemple :
# zpool add zeepool spare c1t3d0 c2t3d0
# zpool status zeepool
pool: zeepool
state: ONLINE
scrub: none requested
config:
NAME
zeepool
mirror
c1t1d0
c2t1d0
spares
c1t3d0
c2t3d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

AVAIL
AVAIL

Plusieurs pools peuvent partager des priphriques dsigns en tant que disque hot spare.
Exemple :
# zpool create zeepool mirror c1t1d0 c2t1d0 spare c1t2d0 c2t2d0
# zpool create tank raidz c3t1d0 c4t1d0 spare c1t2d0 c2t2d0

Vous pouvez supprimer les disques hot spare d'un pool de stockage l'aide de la commande
zpool remove. Exemple :
# zpool remove zeepool c1t2d0
# zpool status zeepool
pool: zeepool
state: ONLINE
scrub: none requested
config:
NAME
zeepool
mirror
c1t1d0
c2t1d0
spares
c1t3d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

AVAIL

Un disque hot spare ne peut pas tre supprim s'il est en cours d'utilisation par le pool de
stockage.
Lorsque vous utilisez des disques hot spare ZFS, gardez l'esprit les points suivants :

Chapitre 5 Gestion des pools de stockage ZFS

117

Gestion de priphriques dans un pool de stockage ZFS

Actuellement, la commande zpool remove ne peut tre utilise que pour la suppression de
disques hot spare.

Ajoutez un disque de rechange d'une taille gale ou suprieure celle du disque le plus
volumineux au sein du pool. L'ajout d'un disque de rechange plus petit dans le pool est
autoris. Toutefois, lorsque le plus petit disque de rechange est activ, automatiquement ou
via la commande zpool replace, l'opration choue et une erreur du type suivant s'affiche :
cannot replace disk3 with disk4: device is too small

Un disque hot spare peut tre partag entre plusieurs pools. Toutefois, vous ne pouvez pas
exporter un pool contenant un disque spare partag utilis moins de vous servir de l'option
zpool export -f (force). Ce comportement empche l'ventuelle corruption de donnes
lors de l'exportation d'un pool contenant un disque spare partag utilis alors qu'un autre
pool tente d'utiliser le disque spare partag du pool export. Lorsque vous exportez, l'aide
de l'option -f, un pool contenant un disque spare partag utilis, sachez que l'opration
risque d'entraner une corruption des donnes si un autre pool tente d'activer le disque spare
partag utilis.

Activation et dsactivation de disque hot spare dans le pool de


stockage
Les disques hot spare s'activent des faons suivantes :

Remplacement manuel Remplacez un priphrique dfaillant dans un pool de stockage


par un disque hot spare avec la commande zpool replace.

Remplacement automatique En cas de rception d'une dfaillance, un agent FMA examine


le pool pour dterminer s'il y a des disques hot spare. Dans ce cas, le priphrique dfaillant
est remplac par un disque hot spare disponible.
En cas de dfaillance d'un disque hot spare en cours d'utilisation, l'agent spare le disque hot
spare et annule ainsi le remplacement. L'agent tente ensuite de remplacer le priphrique
par un autre disque hot spare s'il y en a un de disponible. Cette fonction est actuellement
limite par le fait que le moteur de diagnostics ZFS ne gnre des dfaillances qu'en cas de
disparition d'un priphrique du systme.
Si vous remplacez physiquement un priphrique dfaillant par un disque spare actif, vous
pouvez ractiver l'original mais remplacez le priphrique l'aide de la commande zpool
detach pour dconnecter le disque spare. Si vous activez la proprit autoreplace (valeur
"on"), le disque spare est automatiquement dconnect du pool de disques spare lorsque le
nouveau priphrique est insr et que l'opration en ligne s'achve.

La commande zpool replace permet de remplacer un priphrique manuellement par un


disque hot spare. Exemple :
# zpool replace zeepool c2t1d0 c2t3d0
# zpool status zeepool

118

Guide d'administration Solaris ZFS Octobre 2008

Gestion de priphriques dans un pool de stockage ZFS

pool: zeepool
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Thu Aug 28 09:41:49 2008
config:
NAME
zeepool
mirror
c1t2d0
spare
c2t1d0
c2t3d0
spares
c1t3d0
c2t3d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

AVAIL
INUSE

currently in use

errors: No known data errors

Tout priphrique dfaillant est remplac automatiquement si un disque hot spare est
disponible. Exemple :
# zpool
pool:
state:
status:

status -x
zeepool
DEGRADED
One or more devices could not be opened. Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using zpool online.
see: http://www.sun.com/msg/ZFS-8000-D3
scrub: resilver completed after 0h12m with 0 errors on Thu Aug 28 09:29:43 2008
config:
NAME
zeepool
mirror
c1t2d0
spare
c2t1d0
c2t3d0
spares
c1t3d0
c2t3d0

STATE
READ WRITE CKSUM
DEGRADED
0
0
0
DEGRADED
0
0
0
ONLINE
0
0
0
DEGRADED
0
0
0
UNAVAIL
0
0
0 cannot open
ONLINE
0
0
0
AVAIL
INUSE

currently in use

errors: No known data errors

ll existe actuellement trois faons de dsactiver les disques hot spare disponibles :

annuler le disque hot spare en le supprimant du pool de stockage ;


remplacer le priphrique d'origine par un disque hot spare ;

Chapitre 5 Gestion des pools de stockage ZFS

119

Gestion des proprits de pool de stockage ZFS

changer le disque hot spare de faon permanente.

Une fois le priphrique dfaillant remplac, utilisez la commande zpool detach pour
retourner le disque hot spare au jeu restant. Exemple :
# zpool detach zeepool c2t3d0
# zpool status zeepool
pool: zeepool
state: ONLINE
scrub: resilver completed with 0 errors on Mon Sep 22 14:23:06 2008
config:
NAME
zeepool
mirror
c1t2d0
c2t1d0
spares
c1t3d0
c2t3d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

AVAIL
AVAIL

errors: No known data errors

Gestion des proprits de pool de stockage ZFS


Vous pouvez vous servir de la commande zpool get pour afficher des informations sur les
proprits du pool. Exemple :
# zpool get all mpool
NAME PROPERTY
VALUE
SOURCE
mpool size
33.8G
mpool used
5.91G
mpool available
27.8G
mpool capacity
17%
mpool altroot
default
mpool health
ONLINE
mpool guid
2689713858991441653 mpool version
10
default
mpool bootfs
mpool/ROOT/zfs2BE local
mpool delegation on
default
mpool autoreplace on
local
mpool cachefile
default
mpool failmode
continue
local

120

Guide d'administration Solaris ZFS Octobre 2008

Gestion des proprits de pool de stockage ZFS

Les proprits d'un pool de stockage peuvent tre dfinies l'aide de la commande zpool set.
Exemple :
# zpool set autoreplace=on mpool
# zpool get autoreplace mpool
NAME PROPERTY
VALUE
SOURCE
mpool autoreplace on
default
TABLEAU 51

Description des proprits d'un pool ZFS

Nom de la proprit

Type

Valeur par
dfaut

altroot

Chane

off

available

Valeur
SO
numrique

Description

Identifie un rpertoire racine alternatif. S'il est dfini, ce


rpertoire est ajout au dbut de tout point de montage
figurant dans le pool. Cette proprit peut tre utilise lors de
l'examen d'un pool inconnu si vous ne pouvez pas faire
confiance aux points de montage ou dans un environnement
d'initialisation alternatif dans lequel les chemins types sont
incorrects.
Valeur en lecture seule identifiant la quantit de stockage
disponible au sein du pool.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract, avail.

autoreplace

Boolen

off

Contrle le remplacement automatique d'un priphrique. Si


la proprit est dsactive, l'administrateur doit initier le
remplacement du priphrique l'aide de la commande zpool
replace. Si la proprit est active, tout nouveau priphrique
se trouvant au mme emplacement physique qu'un
priphrique qui appartenait au pool est automatiquement
format et remplac. Le comportement par dfaut est "off".
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract, replace.

bootfs

Boolen

SO

Identifie le jeu de donnes d'initialisation par dfaut du pool


racine. Cette proprit est cense tre dfinie par les
programmes d'installation et de mise niveau.

capacity

Valeur
SO
numrique

Valeur en lecture seule identifiant le pourcentage d'espace


utilis du pool.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract, cap.

delegation

Boolen

on

Chapitre 5 Gestion des pools de stockage ZFS

Contrle l'octroi des droits d'accs dfinis pour le jeu de


donnes un utilisateur sans privilge. Pour plus
d'informations, reportez-vous au Chapitre9, Administration
dlgue de ZFS.

121

Gestion des proprits de pool de stockage ZFS

TABLEAU 51

122

Description des proprits d'un pool ZFS

Nom de la proprit

Type

Valeur par
dfaut

failmode

Chane

wait

(Suite)

Description

Contrle le comportement du systme en cas de panne


catastrophique du pool. Cette condition rsulte
habituellement d'une perte de connectivit aux priphriques
de stockage sous-jacents ou d'une panne de tous les
priphriques au sein du pool. Le comportement d'un tel
vnement est dtermin par une des valeurs suivantes :

wait : bloque tout accs d'E/S jusqu'au rtablissement de la


connectivit des priphriques et jusqu' l'effacement des
erreurs l'aide de la commande zpool clear. Il s'agit du
comportement par dfaut.

continue : renvoie une erreur EIO toute nouvelle


requte d'E/S d'criture mais autorise les lectures de tout
autre priphrique fonctionnel. Toute requte d'criture
devant encore tre valide sur disque est bloque. Une fois
le priphrique reconnect ou remplac, les erreurs
doivent tre effaces l'aide de la commande zpool
clear.

panic : imprime un message sur la console et gnre un


vidage mmoire sur incident du systme.

guid

Chane

SO

Proprit en lecture seule identifiant l'identificateur unique du


pool.

health

Chane

SO

Proprit en lecture seule indiquant la fonctionnalit actuelle


du pool ; les valeurs possibles sont : ONLINE, DEGRADED,
FAULTED, OFFLINE, REMOVED ou UNAVAIL.

size

Valeur
SO
numrique

Proprit en lecture seule identifiant la taille totale du pool de


stockage.

used

Valeur
SO
numrique

Proprit en lecture seule identifiant la quantit de stockage


disponible au sein du pool.

version

Valeur
SO
numrique

Identifie la version actuelle sur disque du pool. La valeur de


cette proprit peut tre augmente mais ne peut jamais tre
diminue. La mthode recommande de mise jour des pools
consiste utiliser la commande zpool upgrade, bien que cette
proprit puisse tre utilise lorsqu'une version spcifique est
requise pour des raisons de compatibilit ascendante. Cette
proprit peut tre dfinie sur tout numro compris entre 1 et
la version actuelle signale par la commande zpool upgrade
-v. La valeur current est un alias de la toute dernire version
prise en charge.

Guide d'administration Solaris ZFS Octobre 2008

Requte d'tat de pool de stockage ZFS

Requte d'tat de pool de stockage ZFS


La commande zpool list offre plusieurs moyens d'effectuer des requtes sur l'tat du pool. Les
informations disponibles se rpartissent gnralement en trois catgories : informations
d'utilisation de base, statistiques d'E/S et tat de maintenance. Les trois types d'information sur
un pool de stockage sont traits dans cette section.

Affichage des informations de pools de stockage ZFS de base la page 123


Visualisation de statistiques d'E/S de pools de stockage ZFS la page 125
Dtermination de l'tat de maintenance des pools de stockage ZFS la page 127

Affichage des informations de pools de stockage ZFS


de base
La commande zpool list permet d'afficher les informations de base relatives aux pools.

Liste des informations relatives aux pools de stockage


Sans arguments, la commande affiche tous les champs pour tous les pools dans le systme.
Exemple :
# zpool list
NAME
tank
dozer

SIZE
80.0G
1.2T

USED
22.3G
384G

AVAIL
47.7G
816G

CAP HEALTH
28% ONLINE
32% ONLINE

ALTROOT
-

La sortie affiche les informations suivantes :


NAME

Nom du pool.

SIZE

Taille totale du pool, gale la somme de la taille de tous les priphriques


virtuels de niveau suprieur.

USED

Quantit d'espace utilise, c'est--dire alloue par tous les jeux de donnes
et mtadonnes internes. Notez que cette quantit d'espace est diffrente de
celle qui est rapporte au niveau des systmes de fichiers.
Pour de plus amples informations sur la dtermination de l'espace de
systmes de fichiers disponible, reportez-vous la section
Comptabilisation de l'espace ZFS la page 50.

AVAILABLE

Quantit d'espace disponible, c'est--dire non alloue dans le pool.

CAPACITY (CAP)

Capacit, ou quantit d'espace utilise, exprime en tant que pourcentage


d'espace total.

HEALTH

tat de maintenance actuel du pool.

Chapitre 5 Gestion des pools de stockage ZFS

123

Requte d'tat de pool de stockage ZFS

Pour de plus amples informations sur la maintenance des pools,


reportez-vous la section Dtermination de l'tat de maintenance des
pools de stockage ZFS la page 127.
ALTROOT

Racine de remplacement, le cas chant.


Pour de plus amples informations sur les pools racine de remplacement,
reportez-vous la section Utilisation de pools racine ZFS de
remplacement la page 244.

Vous pouvez galement rassembler des statistiques pour un pool donn en spcifiant le nom du
pool. Exemple :
# zpool list tank
NAME
tank

SIZE
80.0G

USED
22.3G

AVAIL
47.7G

CAP HEALTH
28% ONLINE

ALTROOT
-

Liste de statistiques spcifiques un pool de stockage


L'option -o permet d'effectuer une requte concernant des statistiques spcifiques. Cette option
permet de gnrer des rapports personnaliss ou de gnrer rapidement une liste
d'informations pertinentes. Par exemple, pour ne rpertorier que le nom et la taille de chaque
pool, utilisez la syntaxe suivante :
# zpool list -o name,size
NAME
SIZE
tank
80.0G
dozer
1.2T

Les noms de colonnes correspondent aux proprits rpertories la section Liste des
informations relatives aux pools de stockage la page 123.

Script de sortie du pool de stockage ZFS


La sortie par dfaut de la commande zpool list a t conue pour amliorer la lisibilit. Elle
n'est pas facile utiliser en tant que partie d'un script shell. Pour faciliter l'utilisation de la
commande dans le cadre de la programmation, l'option -H permet de supprimer les en-ttes de
colonnes et de sparer les champs par des onglets plutt que par des espaces. La requte
suivante permet d'obtenir la liste des noms de pool dans le systme :
# zpool list -Ho name
tank
dozer

Voici un autre exemple :

124

Guide d'administration Solaris ZFS Octobre 2008

Requte d'tat de pool de stockage ZFS

# zpool list -H -o name,size


tank 80.0G
dozer 1.2T

Visualisation de statistiques d'E/S de pools de


stockage ZFS
La commande zpool iostat permet d'effectuer une requte de statistiques d'E/S pour un pool
ou des priphriques virtuels spcifiques. Cette commande est similaire iostat. Elle permet
d'afficher un instantan statique des activits d'E/S effectues, ainsi que les statistiques mises
jour pour chaque intervalle spcifi. Les statistiques suivantes sont rapportes :
USED CAPACITY

Capacit utilise, c'est--dire quantit de donnes actuellement


stockes dans le pool ou le priphrique. Ce chiffre diffre quelque
peu de la quantit d'espace disponible pour les systmes de fichiers
effectifs en raison de dtails d'implmentation interne.
Pour de plus amples informations sur la diffrence entre l'espace de
pool et l'espace de jeux de donnes, reportez-vous la section
Comptabilisation de l'espace ZFS la page 50.

AVAILABLE CAPACITY

Capacit disponible, c'est--dire quantit d'espace disponible dans le


pool ou le priphrique. Comme pour la capacit utilise, cette
quantit diffre lgrement de la quantit d'espace disponible pour
les jeux de donnes.

READ OPERATIONS

Nombre d'oprations de lecture d'E/S envoyes au pool ou au


priphrique, y compris les requtes de mtadonnes.

WRITE OPERATIONS

Nombre d'oprations d'criture d'E/S envoyes au pool ou au


priphrique.

READ BANDWIDTH

Bande passante de toutes les oprations de lecture (mtadonnes


incluses), exprime en units par seconde.

WRITE BANDWIDTH

Bande passante de toutes les oprations d'criture, exprime en


units par seconde.

Liste de statistiques relatives l'ensemble du pool


Sans options, la commande zpool iostat affiche les statistiques accumules depuis
l'initialisation pour tous les pools du systme. Exemple :
# zpool iostat
pool

capacity
used avail

operations
read write

Chapitre 5 Gestion des pools de stockage ZFS

bandwidth
read write

125

Requte d'tat de pool de stockage ZFS

---------- ----- ----- ----- ----- ----- ----tank


100G 20.0G 1.2M 102K 1.2M 3.45K
dozer
12.3G 67.7G 132K 15.2K 32.1K 1.20K

Comme ces statistiques sont cumulatives depuis le dmarrage, la bande passante peut sembler
basse si l'activit du pool est relativement faible. Vous pouvez effectuer une requte pour une
vue plus prcise de l'utilisation actuelle de la bande passante en spcifiant un intervalle.
Exemple :
# zpool iostat tank 2
capacity
operations
bandwidth
pool
used avail read write read write
---------- ----- ----- ----- ----- ----- ----tank
100G 20.0G 1.2M 102K 1.2M 3.45K
tank
100G 20.0G
134
0 1.34K
0
tank
100G 20.0G
94
342 1.06K 4.1M

Dans cet exemple, la commande affiche les statistiques d'utilisation pour le pool tank
uniquement, toutes les deux secondes, jusqu' ce que vous saisissiez Ctrl-C. Vous pouvez
galement spcifier un paramtre count supplmentaires pour entraner l'interruption de la
commande une fois le nombre spcifi d'itrations effectues. Par exemple, zpool iostat 2 3
imprimerait un rsum toutes les deux secondes pour trois itrations, pendant six secondes. S'il
y a un pool unique, les statistiques s'affichent sur des lignes conscutives. S'il existe plusieurs
pools, une ligne pointille supplmentaire dlimite chaque itration pour fournir une
sparation visuelle.

Liste de statistiques de priphriques virtuels


Outre les statistiques d'E/S l'chelle du pool, la commande zpool iostat permet d'afficher des
statistiques pour des priphriques virtuels spcifiques. Ainsi, vous pouvez identifier les
priphriques anormalement lents ou, tout simplement, consulter la rpartition d'E/S gnrs
par ZFS. Pour effectuer une requte relative la disposition complte des priphriques virtuels,
ainsi que l'ensemble des statistiques d'E/S, utilisez la commande zpool iostat -v. Exemple :
# zpool iostat -v
capacity
operations
tank
used avail read write
---------- ----- ----- ----- ----mirror
20.4G 59.6G
0
22
c1t0d0
1
295
c1t1d0
1
299
---------- ----- ----- ----- ----total
24.5K 149M
0
22

bandwidth
read write
----- ----0 6.00K
11.2K 148K
11.2K 148K
----- ----0 6.00K

Notez deux points importants lors de l'affichage de statistiques d'E/S par priphrique virtuel :

126

Guide d'administration Solaris ZFS Octobre 2008

Requte d'tat de pool de stockage ZFS

Tout d'abord, l'utilisation d'espace n'est disponible que pour les priphriques virtuels de
niveau suprieur. L'allocation d'espace entre les priphriques virtuels RAID-Z et les miroirs
est spcifique l'implmentation et ne s'exprime pas facilement en tant que chiffre unique.

De plus, il est possible que les chiffres s'additionnent de faon inattendue. En particulier, les
oprations au sein des priphriques RAID-Z et mis en miroir ne sont pas parfaitement
identiques. Cette diffrence se remarque particulirement aprs la cration d'un pool, car
une quantit significative d'E/S est ralise directement sur les disques en tant que partie de
cration de pool qui n'est pas comptabilise au niveau du miroir. Avec le temps, ces chiffres
devraient s'galiser graduellement, mais les priphriques dfaillants, ne rpondant pas ou
mis hors ligne peuvent galement affecter cette symtrie.

Vous pouvez utiliser les mmes options (interval et count) lorsque vous tudiez les statistiques
de priphriques virtuels.

Dtermination de l'tat de maintenance des pools de


stockage ZFS
ZFS offre une mthode intgre pour examiner la maintenance des pools et des priphriques.
La maintenance d'un pool se dtermine par l'tat de l'ensemble de ses priphriques. La
commande zpool status permet d'afficher ces informations d'tat. En outre, les dfaillances
potentielles des pools et des priphriques sont rapportes par la commande fmd et s'affichent
dans la console systme et dans le fichier /var/adm/messages. Cette section dcrit les
mthodes permettant de dterminer la maintenance des pools et des priphriques. Ce chapitre
n'aborde cependant pas les mthodes de rparation ou de rcupration de pools en mauvais tat
de maintenance. Pour plus d'informations sur le dpannage et la rcupration des donnes,
reportez-vous au Chapitre11, Rsolution de problmes et rcupration de donnes ZFS.
Chaque priphrique peut se trouver dans l'un des tats suivants :
ONLINE

Le priphrique est en tat de fonctionnement normal. Bien que certaines


erreurs transitoires puissent se produire, le priphrique est en tat de bon
fonctionnement.

DEGRADED

Le priphrique virtuel a subi une dfaillance mais est toujours capable de


fonctionner. Cet tat est le plus commun lorsqu'un miroir ou un priphrique
RAID-Z a perdu un ou plusieurs priphriques le constituant. La tolrance de
pannes du pool peut tre compromise dans la mesure o une dfaillance
ultrieure d'un autre priphrique peut tre impossible rsoudre.

FAULTED

Le priphrique virtuel est totalement inaccessible. Cet tat indique en rgle


gnral une dfaillance totale du priphrique, de telle faon que ZFS est

Chapitre 5 Gestion des pools de stockage ZFS

127

Requte d'tat de pool de stockage ZFS

incapable d'y envoyer des donnes ou d'en recevoir de lui. Si un priphrique


virtuel de niveau suprieur se trouve dans cet tat, le pool est totalement
inaccessible.
OFFLINE

Le priphrique virtuel a t mis hors ligne explicitement par


l'administrateur.

UNAVAILABLE

L'ouverture du priphrique ou du priphrique virtuel est impossible. Dans


certains cas, les pools avec des priphriques en tat UNAVAILABLE s'affichent
en mode DEGRADED. Si un priphrique de niveau suprieur est indisponible,
aucun lment du pool n'est accessible.

REMOVED

Le priphrique a t retir alors que le systme tait en cours d'excution. La


dtection du retrait d'un priphrique dpend du matriel et n'est pas pris en
charge sur toutes les plate-formes.

La maintenance d'un pool est dtermine partir de celle de l'ensemble de ses priphriques
virtuels. Si l'tat de tous les priphriques virtuels est ONLINE, l'tat du pool est galement
ONLINE. Si l'tat d'un des priphriques virtuels est DEGRADED ou UNAVAILABLE, l'tat du pool est
galement DEGRADED. Si l'tat d'un des priphriques virtuels est FAULTED ou OFFLINE, l'tat du
pool est galement FAULTED. Un pool en tat dfaillant est totalement inaccessible. Aucune
donne ne peut tre rcupre tant que les priphriques ncessaires n'ont pas t connects ou
rpars. Un pool en tat dgrad continue de s'excuter, mais vous risquez de ne pas atteindre le
mme niveau de redondance de donnes ou de traitement de donnes que si le pool tait en
ligne.

tat de maintenance de base de pool de stockage


La commande zpool status constitue la manire la plus simple d'effectuer une requte relative
une vue d'ensemble de l'tat de maintenance d'un pool :
# zpool status -x
all pools are healthy

Il est possible d'examiner des pools spcifiques en spcifiant un nom de pool dans la commande.
Tout pool n'tant pas en tat ONLINE doit tre pass en revue pour vrifier tout problme
potentiel, comme dcrit dans la section suivante.

tat de maintenance dtaill


L'option -v permet d'effectuer une requte pour obtenir un rsum dtaill de l'tat de
maintenance. Exemple :
# zpool status -v tank
pool: tank
state: DEGRADED

128

Guide d'administration Solaris ZFS Octobre 2008

Requte d'tat de pool de stockage ZFS

status: One or more devices could not be opened. Sufficient replicas exist
for the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using zpool online.
see: http://www.sun.com/msg/ZFS-8000-2Q
scrub: none requested
config:
NAME
STATE
READ WRITE CKSUM
tank
DEGRADED
0
0
0
mirror
DEGRADED
0
0
0
c1t0d0
FAULTED
0
0
0 cannot open
c1t1d0
ONLINE
0
0
0
errors: No known data errors

Cette sortie affiche une description complte des raisons de l'tat actuel du pool, y compris une
description lisible du problme et un lien vers un article de connaissances contenant de plus
amples informations. Les articles de connaissances donnent les informations les plus rcentes
vous permettant de rsoudre le problme. Les informations dtailles de configuration doivent
vous permettre de dterminer les priphriques endommags et la manire de rparer le pool.
Dans l'exemple ci-dessus, le priphrique dfaillant devrait tre remplac. Une fois le
priphrique remplac, excutez la commande zpool online pour le remettre en ligne.
Exemple :
# zpool online tank c1t0d0
Bringing device c1t0d0 online
# zpool status -x
all pools are healthy

Si un priphrique d'un pool est hors ligne, la sortie de commande identifie le pool qui pose
problme. Exemple :
# zpool
pool:
state:
status:

status -x
tank
DEGRADED
One or more devices has been taken offline by the adminstrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using zpool online or replace the device with
zpool replace.
scrub: none requested
config:
NAME
tank
mirror
c1t0d0

STATE
READ WRITE CKSUM
DEGRADED
0
0
0
DEGRADED
0
0
0
ONLINE
0
0
0

Chapitre 5 Gestion des pools de stockage ZFS

129

Migration de pools de stockage ZFS

c1t1d0 OFFLINE

errors: No known data errors

Les colonnes READ et WRITE indiquent le nombre d'erreurs d'E/S dtectes dans le priphrique,
tandis que la colonne CKSUM indique le nombre d'erreurs de somme de contrle qui se sont
produites sur le priphrique. Il est probable que ces erreurs correspondent une dfaillance
potentielle de priphrique et que des actions correctives soient requises. Si le nombre d'erreurs
est non nul pour un priphrique virtuel de niveau suprieur, il est possible que des parties de
vos donnes soient inaccessibles. Le nombre d'erreurs identifie toute erreur de donnes connue.
Dans l'exemple de sortie ci-dessus, le priphrique mis en ligne ne cause aucune erreur de
donnes.
Pour plus d'informations sur le diagnostic et la rparation de pools et de donnes dfaillants,
reportez-vous au Chapitre11, Rsolution de problmes et rcupration de donnes ZFS.

Migration de pools de stockage ZFS


Parfois, il est possible que vous deviez dplacer un pool de stockage d'une machine l'autre.
Pour ce faire, les priphriques de stockage doivent tre dconnects de la machine d'origine et
reconnects la machine de destination. Pour accomplir cette tche, vous pouvez raccorder
physiquement les priphriques ou utiliser des priphriques multiport, par exemple les
priphriques d'un SAN. ZFS permet d'exporter le pool partir d'une machine et de l'importer
vers la machine de destination, mme si les endianness des deux machines sont diffrents. Pour
plus d'informations sur la rplication ou la migration de systmes de fichiers d'un pool de
stockage un autre rsidant ventuellement sur des machines diffrentes, reportez-vous la
section Envoi et rception de donnes ZFS la page 184.

Prparatifs de migration de pool de stockage ZFS la page 130


Exportation d'un pool de stockage ZFS la page 131
Dfinition des pools de stockage disponibles pour importation la page 131
Recherche de pools de stockage ZFS dans d'autres rpertoires la page 134
Importation de pools de stockage ZFS la page 134
Rcupration de pools de stockage ZFS dtruits la page 135
Mise niveau de pools de stockage ZFS la page 137

Prparatifs de migration de pool de stockage ZFS


Il est conseill d'exporter les pools de stockage explicitement afin d'indiquer qu'ils sont prts la
migration. Cette opration vide toute donne non crite sur le disque, crit les donnes sur le
disque en indiquant que l'exportation a t effectue et supprime toute connaissance du pool
dans le systme.
130

Guide d'administration Solaris ZFS Octobre 2008

Migration de pools de stockage ZFS

Si vous retirez les disques manuellement, au lieu d'exporter le pool explicitement, vous pouvez
toujours importer le pool rsultant dans un autre systme. Cependant, vous pourriez perdre les
dernires secondes de transactions de donnes et le pool s'affichera alors comme tant dfaillant
sur la machine d'origine dans la mesure o les priphriques ne sont plus prsents. Par dfaut, la
machine de destination refuse d'importer un pool qui n'a pas t export implicitement. Cette
condition est ncessaire car elle vite les importations accidentelles d'un pool compos de
stockage connect au rseau toujours en cours d'utilisation dans un autre systme.

Exportation d'un pool de stockage ZFS


La commande zpool export permet d'exporter un pool. Exemple :
# zpool export tank

Une fois la commande excute, le pool tank n'est plus visible sur le systme. La commande
tente de dmonter tout systme de fichiers dmont au sein du pool avant de continuer. Si le
dmontage d'un des systme de fichiers est impossible, vous pouvez le forcer l'aide de l'option
-f. Exemple :
# zpool export tank
cannot unmount /export/home/eschrock: Device busy
# zpool export -f tank

Si les priphriques ne sont pas disponibles lors de l'export, les disques ne peuvent pas tre
spcifis comme tant exports sans dfaut. Si un de ces priphriques est connect
ultrieurement un systme sans aucun des priphriques en mode de fonctionnement, il
s'affiche comme tant "potentiellement actif". Si des volumes ZFS sont utiliss dans le pool, ce
dernier ne peut pas tre export, mme avec l'option -f. Pour exporter un pool contenant un
volume ZFS, vrifiez au pralable que tous les utilisateurs du volume ne sont plus actifs.
Pour de plus amples informations sur les volumes ZFS, reportez-vous la section Volumes
ZFS la page 235.

Dfinition des pools de stockage disponibles pour


importation
Une fois le pool supprim du systme (soit par le biais de l'exportation, soit par le biais d'une
suppression force des priphriques), connectez les priphriques au systme cible. Bien que
ZFS soit capable de grer des situations dans lesquelles seule une partie des priphriques est
disponible, tous les priphriques dans le pool doivent tre dplacs d'un systme l'autre. Il
n'est pas ncessaire que les priphriques soient connects sous le mme nom de priphrique.

Chapitre 5 Gestion des pools de stockage ZFS

131

Migration de pools de stockage ZFS

ZFS dtecte tout priphrique dplac ou renomm et ajuste la configuration de faon adquate.
Pour connatre les pools disponibles, excutez la commande zpool import sans option.
Exemple :
# zpool
pool:
id:
state:
action:
config:

import
tank
3778921145927357706
ONLINE
The pool can be imported using its name or numeric identifier.

tank
mirror
c1t0d0
c1t1d0

ONLINE
ONLINE
ONLINE
ONLINE

Dans cet exemple, le pool tank est disponible pour tre import dans le systme cible. Chaque
pool est identifi par un nom et un identifiant numrique unique. Si plusieurs pools importer
portent le mme nom, vous pouvez utiliser leur identificateur numrique afin de les distinguer.
Tout comme la commande zpool status, la commande zpool import se rapporte un article
de connaissances disponible sur le Web avec les informations les plus rcentes sur les
procdures de rparation pour les problmes qui empchent l'importation d'un pool. Dans ce
cas, l'utilisateur peut forcer l'importation du pool. Cependant, l'importation d'un pool en cours
d'utilisation par un autre systme au sein d'un rseau de stockage peut entraner une corruption
des donnes et des erreurs graves si les deux systmes tentent d'crire dans le mme stockage. Si
certains priphriques dans le pool ne sont pas disponibles, mais que la redondance est
suffisante pour obtenir un pool utilisable, le pool s'affiche dans l'tat DEGRADED. Exemple :
# zpool
pool:
id:
state:
status:
action:

import
tank
3778921145927357706
DEGRADED
One or more devices are missing from the system.
The pool can be imported despite missing or damaged devices. The
fault tolerance of the pool may be compromised if imported.
see: http://www.sun.com/msg/ZFS-8000-2Q
config:
tank
mirror
c1t0d0
c1t1d0

132

DEGRADED
DEGRADED
UNAVAIL cannot open
ONLINE

Guide d'administration Solaris ZFS Octobre 2008

Migration de pools de stockage ZFS

Dans cet exemple, le premier disque est endommag ou manquant, mais il est toujours possible
d'importer le pool car les donnes mises en miroir restent accessibles. Si le nombre de
priphriques dfaillants ou manquant est trop importants, l'importation du pool est
impossible. Exemple :
# zpool
pool:
id:
state:
action:

import
dozer
12090808386336829175
FAULTED
The pool cannot be imported. Attach the missing
devices and try again.
see: http://www.sun.com/msg/ZFS-8000-6X
config:
raidz
FAULTED
c1t0d0
ONLINE
c1t1d0
FAULTED
c1t2d0
ONLINE
c1t3d0
FAULTED

Dans cet exemple, deux disques manquent dans un priphrique virtuel RAID-Z, ce qui signifie
que les donnes redondantes disponibles ne sont pas suffisantes pour reconstruire le pool. Dans
certains cas, les priphriques prsents ne sont pas suffisants pour dterminer la configuration
complte. Dans ce cas, ZFS ne peut pas dterminer les autres priphriques faisaient partie du
pool, mais fournit autant d'informations que possible sur la situation. Exemple :
# zpool import
pool: dozer
id: 12090808386336829175
state: FAULTED
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
devices and try again.
see: http://www.sun.com/msg/ZFS-8000-6X
config:
dozer
FAULTED missing device
raidz
ONLINE
c1t0d0
ONLINE
c1t1d0
ONLINE
c1t2d0
ONLINE
c1t3d0
ONLINE
Additional devices are known to be part of this pool, though their
exact configuration cannot be determined.

Chapitre 5 Gestion des pools de stockage ZFS

133

Migration de pools de stockage ZFS

Recherche de pools de stockage ZFS dans d'autres


rpertoires
Par dfaut, la commande zpool import ne recherche les priphriques que dans le rpertoire
/dev/dsk. Si les priphriques existent dans un autre rpertoire, ou si vous utilisez des pools
sauvegards dans des fichiers, utilisez l'option -d pour effectuer des recherches dans diffrents
rpertoires. Exemple :
# zpool create dozer mirror /file/a /file/b
# zpool export dozer
# zpool import -d /file
pool: dozer
id: 10952414725867935582
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
dozer
ONLINE
mirror
ONLINE
/file/a ONLINE
/file/b ONLINE
# zpool import -d /file dozer

Si les priphriques se trouvent dans plusieurs rpertoires, vous pouvez utiliser plusieurs
options - d.

Importation de pools de stockage ZFS


Une fois le pool identifi pour importation, vous pouvez l'importer en spcifiant son nom ou
son identifiant numrique en tant qu'argument pour la commande zpool import. Exemple :
# zpool import tank

Si plusieurs pools disponibles possdent le mme nom, vous pouvez spcifier le pool importer
l'aide de l'identifiant numrique. Exemple :
# zpool
pool:
id:
state:
action:
config:

import
dozer
2704475622193776801
ONLINE
The pool can be imported using its name or numeric identifier.

dozer

134

ONLINE

Guide d'administration Solaris ZFS Octobre 2008

Migration de pools de stockage ZFS

c1t9d0
pool:
id:
state:
action:
config:

ONLINE

dozer
6223921996155991199
ONLINE
The pool can be imported using its name or numeric identifier.

dozer
ONLINE
c1t8d0
ONLINE
# zpool import dozer
cannot import dozer: more than one matching pool
import by numeric ID instead
# zpool import 6223921996155991199

Si le nom du pool est en conflit avec un nom de pool existant, vous pouvez importer le pool sous
un nom diffrent. Exemple :
# zpool import dozer zeepool

Cette commande importe le pool dozer export sous le nouveau nom zeepool. Si l'exportation
du pool ne s'effectue pas correctement, l'indicateur -f est requis par ZFS pour empcher les
utilisateurs d'importer par erreur un pool en cours d'utilisation dans un autre systme.
Exemple :
# zpool import dozer
cannot import dozer: pool may be in use on another system
use -f to import anyway
# zpool import -f dozer

Les pools peuvent galement tre imports sous une racine de remplacement l'aide de l'option
-R. Pour plus d'informations sur les pools racine de remplacement, reportez-vous la section
Utilisation de pools racine ZFS de remplacement la page 244.

Rcupration de pools de stockage ZFS dtruits


La commande zpool import -D permet de rcuprer un pool de stockage dtruit. Exemple :
# zpool destroy tank
# zpool import -D
pool: tank
id: 3778921145927357706
state: ONLINE (DESTROYED)
action: The pool can be imported using its name or numeric identifier. The
pool was destroyed, but can be imported using the -Df flags.

Chapitre 5 Gestion des pools de stockage ZFS

135

Migration de pools de stockage ZFS

config:
tank
mirror
c1t0d0
c1t1d0

ONLINE
ONLINE
ONLINE
ONLINE

Dans la sortie de zpool import, vous pouvez identifier ce pool comme tant le pool dtruit en
raison des informations d'tat suivantes :
state: ONLINE (DESTROYED)

Pour rcuprer le pool dtruit, excutez la commande zpool import - D nouveau avec le pool
rcuprer et l'option -f. Exemple :
# zpool import -Df tank
# zpool status tank
pool: tank
state: ONLINE
scrub: none requested
config:
NAME
tank
mirror
c1t0d0
c1t1d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors

Mme si l'un des priphriques du pool dtruit est dfaillant ou indisponible, vous devriez tre
en mesure de rcuprer le pool dtruit. Dans ce cas, importez le pool dfaillant et tentez ensuite
de rparer la dfaillance du priphrique. Exemple :
# zpool destroy dozer
# zpool import -D
pool: dozer
id:
state: DEGRADED (DESTROYED)
status: One or more devices are missing from the system.
action: The pool can be imported despite missing or damaged devices. The
fault tolerance of the pool may be compromised if imported. The
pool was destroyed, but can be imported using the -Df flags.
see: http://www.sun.com/msg/ZFS-8000-2Q
config:
dozer

136

DEGRADED

Guide d'administration Solaris ZFS Octobre 2008

Migration de pools de stockage ZFS

# zpool
# zpool
pool:
state:
status:
action:
see:
scrub:
config:

raidz
ONLINE
c1t0d0
ONLINE
c1t1d0
ONLINE
c1t2d0
UNAVAIL cannot open
c1t3d0
ONLINE
import -Df dozer
status -x
dozer
DEGRADED
One or more devices could not be opened. Sufficient replicas exist for
the pool to continue functioning in a degraded state.
Attach the missing device and online it using zpool online.
http://www.sun.com/msg/ZFS-8000-D3
resilver completed after 0h0m with 0 errors on Thu Aug 28 10:01:48 2008

NAME
dozer
raidz
c1t0d0
c1t1d0
c1t2d0
c1t3d0

STATE
READ WRITE CKSUM
DEGRADED
0
0
0
ONLINE
0
0
0
ONLINE
0
0
0
ONLINE
0
0
0
UNAVAIL
0
0
0 cannot open
ONLINE
0
0
0

errors: No known data errors


# zpool online dozer c1t2d0
Bringing device c1t2d0 online
# zpool status -x
all pools are healthy

Mise niveau de pools de stockage ZFS


Si certains pools de stockage ZFS proviennent d'une version Solaris prcdente (la version
Solaris 10 6/06, par exemple), vous pouvez mettre les pools niveau l'aide de la commande
zpool upgrade pour bnficier des fonctions des pools de la version Solaris 10 11/06. De plus, la
commande zpool status indique dornavant si la version actuelle des pools est plus ancienne.
Exemple :
# zpool
pool:
state:
status:

status
test
ONLINE
The pool is formatted using an older on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using zpool upgrade. Once this is done, the
pool will no longer be accessible on older software versions.

Chapitre 5 Gestion des pools de stockage ZFS

137

Migration de pools de stockage ZFS

scrub: none requested


config:
NAME
test
c1t27d0

STATE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0

errors: No known data errors

Vous pouvez utiliser la syntaxe suivante afin d'identifier des informations supplmentaires sur
une version donne et sur les versions prises en charge.
# zpool upgrade -v
This system is currently running ZFS version 3.
The following versions are supported:
VER
--1
2
3

DESCRIPTION
-------------------------------------------------------Initial ZFS version
Ditto blocks (replicated metadata)
Hot spares and double parity RAID-Z

For more information on a particular version, including supported releases, see:


http://www.opensolaris.org/os/community/zfs/version/N
Where N is the version number.

Vous pouvez ensuite mettre tous vos pools niveau en excutant la commande zpool upgrade.
Exemple :
# zpool upgrade -a

Remarque En cas de mise niveau des pools vers la version la plus rcente, il sera dsormais
impossible d'y accder sur des systmes excutant des versions antrieures de ZFS.

138

Guide d'administration Solaris ZFS Octobre 2008

C H A P I T R E

Gestion des systmes de fichiers ZFS

Ce chapitre contient des informations dtailles sur la gestion des systmes de fichiers Solaris TM
ZFS. Il aborde notamment les concepts d'organisation hirarchique des systmes de fichiers,
d'hritage des proprits, de gestion automatique des points de montage et d'interaction sur les
partages.
La cration d'un systme de fichiers ZFS s'effectue sur un pool de stockage. La cration et la
destruction des systmes de fichiers peuvent s'effectuer de manire dynamique, sans allocation
ni formatage manuels de l'espace disque sous-jacent. En raison de leur lgret et de leur rle
central dans l'administration du systme ZFS, la cration de ces systmes de fichiers constitue
gnralement une opration extrmement courante.
La gestion des systmes de fichiers ZFS s'effectue l'aide de la commande zfs. La commande
zfs offre un ensemble de sous-commandes permettant d'effectuer des oprations spcifiques
sur les systmes de fichiers. Chacune de ces sous-commandes est dcrite en dtail dans ce
chapitre. Cette commande permet galement de grer les instantans, les volumes et les clones.
Toutefois, ces fonctionnalits sont uniquement traites de manire succincte dans ce chapitre.
Pour plus d'informations sur les instantans et les clones, reportez-vous au Chapitre7,
Utilisation des instantans et des clones ZFS. Pour plus d'informations sur les volumes
muls, reportez-vous la section Volumes ZFS la page 235.
Remarque Dans ce chapitre, le terme jeu de donnes dsigne de manire gnrique un systme

de fichiers, un instantan, un clone ou un volume.


Il contient les sections suivantes :

Cration et destruction de systmes de fichiers ZFS la page 140


Prsentation des proprits ZFS la page 143
Envoi de requtes sur les informations des systmes de fichiers ZFS la page 156
Gestion des proprits ZFS la page 158
Montage et partage des systmes de fichiers ZFS la page 164
Quotas et rservations ZFS la page 170
139

Cration et destruction de systmes de fichiers ZFS

Envoi et rception de donnes ZFS la page 184

Cration et destruction de systmes de fichiers ZFS


La cration et la destruction des systmes de fichiers ZFS s'effectuent respectivement l'aide des
commandes zfs create et zfs destroy.

Cration d'un systme de fichiers ZFS la page 140


Destruction d'un systme de fichiers ZFS la page 141
Modification du nom d'un systme de fichiers ZFS la page 142

Cration d'un systme de fichiers ZFS


La cration des systmes de fichiers ZFS s'effectue l'aide de la commande zfs create. La
sous-commande create ne peut contenir qu'un argument : le nom du systme de fichiers
crer. Le nom de ce systme de fichiers permet galement de dfinir le nom du chemin par
rapport au nom du pool :
nom-pool/[nom-systme-fichiers/]nom-systme-fichiers
Le nom du pool et les noms des systmes de fichiers existants mentionns dans le chemin
dterminent l'emplacement du nouveau systme de fichiers dans la structure hirarchique.
Tous les noms des systmes de fichiers intermdiaires doivent dj tre dfinis dans le pool. Le
dernier nom mentionn dans le chemin correspond au nom du systme de fichiers crer. Ce
nom doit respecter les conventions d'attribution de nom dfinies la section Exigences
d'attribution de noms de composants ZFS la page 40.
Dans l'exemple suivant, un systme de fichiers nomm bonwick est cr dans le systme de
fichiers tank/home.
# zfs create tank/home/bonwick

Si le processus de cration se droule correctement, le systme de fichiers ZFS est


automatiquement mont. Par dfaut, les systmes de fichiers sont monts sous /jeu-donnes,
l'aide du chemin dfini pour le nom du systme dans la commande create. Dans cet exemple,
le fichier cr bonwick est mont sous /tank/home/bonwick. Pour plus d'informations sur les
points de montage grs automatiquement, reportez-vous la section Gestion des points de
montage ZFS la page 164.
Pour plus d'informations sur la commande zfs create, reportez-vous la page de manuel
zfs(1M).
Il est possible de dfinir les proprits du systme de fichiers lors de la cration de ce dernier.
Dans l'exemple ci-dessous, le point de montage /export/zfs est dfini et cr pour le systme
de fichiers tank/home.
140

Guide d'administration Solaris ZFS Octobre 2008

Cration et destruction de systmes de fichiers ZFS

# zfs create -o mountpoint=/export/zfs tank/home

Pour plus d'informations sur les proprits des systmes de fichiers, reportez-vous la section
Prsentation des proprits ZFS la page 143.

Destruction d'un systme de fichiers ZFS


La destruction d'un systme de fichiers ZFS s'effectue l'aide de la commande zfs destroy.
Les systmes de fichiers dtruits sont automatiquement dmonts et ne sont plus partags. Pour
plus d'informations sur les montages ou partages grs automatiquement, reportez-vous la
section Points de montage automatiques la page 165.
L'exemple suivant illustre la destruction du systme de fichiers tabriz.
# zfs destroy tank/home/tabriz

Attention Aucune invite de confirmation ne s'affiche lors de l'excution de la sous-commande

destroy. Son utilisation requiert une attention particulire.


Si le systme de fichiers dtruire est occup et ne peut pas tre dmont, la commande zfs
destroy choue. Pour dtruire un systme de fichiers actif, indiquez l'option -f. L'utilisation
de cette option requiert une attention particulire. En effet, elle permet de dmonter, d'annuler
le partage et de dtruire des systmes de fichiers actifs, ce qui risque d'affecter le comportement
de certaines applications.
# zfs destroy tank/home/ahrens
cannot unmount tank/home/ahrens: Device busy
# zfs destroy -f tank/home/ahrens

La commande zfs destroy choue galement si le systme de fichiers possde des systmes
enfant. Pour dtruire un systme de fichiers et l'ensemble des descendants de ce systme de
fichiers, indiquez l'option -r. Ce type d'opration de destruction rcursive entrane galement
la destruction des instantans ; l'utilisation de cette option requiert donc une attention
particulire.
# zfs destroy tank/ws
cannot destroy tank/ws: filesystem has children
use -r to destroy the following datasets:
tank/ws/billm
tank/ws/bonwick
tank/ws/maybee
# zfs destroy -r tank/ws
Chapitre 6 Gestion des systmes de fichiers ZFS

141

Cration et destruction de systmes de fichiers ZFS

Si le systme de fichiers dtruire possde des systmes indirectement dpendants, la


commande de destruction rcursive mentionne ci-dessus choue. Pour forcer la destruction de
tous systmes dpendants, y compris des systmes de fichiers clons situs en dehors de la
structure hirarchique cible, vous devez indiquer l'option -R. Utilisez cette option avec
prcaution.
# zfs destroy -r tank/home/schrock
cannot destroy tank/home/schrock: filesystem has dependent clones
use -R to destroy the following datasets:
tank/clones/schrock-clone
# zfs destroy -R tank/home/schrock
Attention Aucune invite de confirmation ne s'affiche lors de l'utilisation des options -f, - r ou
-R. L'utilisation de ces options requiert donc une attention particulire.

Pour plus d'informations sur les instantans et les clones, reportez-vous au Chapitre7,
Utilisation des instantans et des clones ZFS.

Modification du nom d'un systme de fichiers ZFS


La modification du nom d'un systme de fichiers ZFS s'effectue l'aide de la commande zfs
rename. Cette commande permet d'effectuer les oprations suivantes : Modification du nom

modifier le nom d'un systme de fichiers ;

modifier l'emplacement d'un systme de fichiers au sein de la hirarchie ZFS ;

modifier le nom d'un systme de fichiers et son emplacement au sein de la hirarchie ZFS.

L'exemple ci-dessous illustre la modification du nom d'un systme de fichiers l'aide de la


sous-commande rename :
# zfs rename tank/home/kustarz tank/home/kustarz_old

Cette commande entrane le remplacement du nom du systme de fichiers kustarz par


kustarz_old.
L'exemple ci-dessous illustre la modification de l'emplacement d'un systme de fichiers l'aide
de la sous-commande zfs rename.
# zfs rename tank/home/maybee tank/ws/maybee

Dans cet exemple, le systme de fichiers maybee est dplac de tank/home vers tank/ws.
Lorsque vous modifiez l'emplacement d'un systme de fichiers l'aide de la commande rename,
le nouvel emplacement doit se trouver au sein du mme pool et l'espace disponible doit tre
142

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des proprits ZFS

suffisant pour contenir le nouveau systme de fichiers. Si l'espace disponible du nouvel


emplacement est insuffisant (par exemple, si le quota d'espace disque est atteint), l'opration
choue.
Pour plus d'informations sur les quotas, reportez-vous la section Quotas et rservations ZFS
la page 170.
L'opration de modification du nom tente de dmonter, puis de remonter le systme de fichiers
ainsi que ses ventuels systmes de fichiers descendants. Si la commande ne parvient pas
dmonter un systme de fichiers actif, l'opration choue. Dans ce cas, vous devez forcer le
dmontage du systme de fichiers.
Pour plus d'informations sur la modification du nom des instantans, reportez-vous la section
Renommage d'instantans ZFS la page 179.

Prsentation des proprits ZFS


Les proprits constituent le mcanisme principal de contrle du comportement des systmes
de fichiers, des volumes, des instantans et des clones. Sauf mention contraire, les proprits
dfinies dans la section s'appliquent tous les types de jeu de donnes.

Proprits ZFS natives en lecture seule la page 150


Proprits ZFS natives dfinies la page 151
Proprits ZFS dfinies par l'utilisateur la page 154

Les proprits se divisent en deux catgories : les proprits natives et les proprits dfinies par
l'utilisateur. Les proprits natives permettent d'exporter des statistiques internes ou de
contrler le comportement des systmes de fichiers ZFS. Certaines de ces proprits peuvent
tre dfinies tandis que d'autres sont en lecture seule. Les proprits dfinies par l'utilisateur
n'ont aucune incidence sur le comportement des systmes de fichiers ZFS. En revanche, elles
permettent d'annoter les jeux de donnes avec des informations adaptes votre
environnement. Pour plus d'informations sur les proprits dfinies par l'utilisateur,
reportez-vous la section Proprits ZFS dfinies par l'utilisateur la page 154.
La plupart des proprits pouvant tre dfinies peuvent galement tre hrites. Les proprits
pouvant tre hrites sont des proprits qui, une fois dfinies sur un systme parent, peuvent
tre appliques l'ensemble des descendants de ce parent.
Toutes ces proprits sont associes une source. Cette source indique la manire dont la
proprit a t obtenue. Les sources de proprits peuvent tre dfinies sur les valeurs
suivantes :
local

Chapitre 6 Gestion des systmes de fichiers ZFS

Une source dfinie sur la valeur local indique que la


proprit a t dfinie de manire explicite sur le jeu de
donnes l'aide de la commande zfs set, selon la
procdure dcrite la section Dfinition des proprits
ZFS la page 158.
143

Prsentation des proprits ZFS

inherited from nom-jeu-donnes

La valeur inherited from nom-jeu-donnes signifie que


la proprit a t hrite du systme ascendant indiqu.

default

La valeur default signifie que le paramtre de la


proprit n'a t ni hrit, ni dfini de manire locale.
Cette source est dfinie lorsque la proprit n'est
associe la source local sur aucun systme ascendant.

Le tableau suivant rpertorie les proprits de systme de fichiers ZFS natives en lecture seule et
pouvant tre dfinies. Les proprits natives en lecture seule sont signales comme tel. Les
autres proprits natives rpertories dans le tableau peuvent tre dfinies. Pour plus
d'informations sur les proprits dfinies par l'utilisateur, reportez-vous la section Proprits
ZFS dfinies par l'utilisateur la page 154.
TABLEAU 61

144

Description des proprits ZFS natives

Nom de la proprit

Type

Valeur par
dfaut

aclinherit

Chane

secure

Contrle le processus d'hritage des entres ACL lors de la


cration de fichiers et de rpertoires. Les valeurs possibles sont
discard, noallow, secure et passthrough. Pour une
description de ces valeurs, reportez-vous la section Modes
de proprits d'ACL la page 197.

aclmode

Chane

groupmask

Contrle le processus de modification des entres ACL lors des


oprations chmod. Les valeurs possibles sont discard,
groupmask et passthrough. Pour une description de ces
valeurs, reportez-vous la section Modes de proprits
d'ACL la page 197.

atime

Boolen

on

Dtermine si l'heure d'accs aux fichiers est mise jour


lorsqu'ils sont consults. La dsactivation de cette proprit
vite de produire du trafic d'criture lors de la lecture de
fichiers et permet parfois d'amliorer considrablement les
performances ; elle risque cependant de perturber les logiciels
de messagerie et autres utilitaires du mme type.

Guide d'administration Solaris ZFS Octobre 2008

Description

Prsentation des proprits ZFS

TABLEAU 61

Description des proprits ZFS natives


Valeur par
dfaut

Nom de la proprit

Type

available

Valeur
SO
numrique

(Suite)

Description

Proprit en lecture seule indiquant la quantit d'espace


disponible pour le jeu de donnes et l'ensemble des systmes
enfant, sans tenir compte des autres activits du pool. L'espace
tant partag au sein d'un pool, l'espace disponible peut tre
limit par divers facteurs, y compris la taille du pool physique,
les quotas, les rservations ou les autres jeux de donnes
prsents au sein du pool.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract avail.
Pour plus d'informations sur la dtermination de l'espace
disque, reportez-vous la section Comptabilisation de
l'espace ZFS la page 50.

canmount

Boolen

on

Dtermine si le systme de fichiers peut tre mont l'aide de


la commande zfs mount. Cette proprit peut tre dfinie sur
tous les systmes de fichiers et ne peut pas tre hrite. En
revanche, lorsque cette proprit est dfinie sur off, un point
de montage peut tre hrit par des systmes de fichiers
descendants. Le systme de fichiers proprement parler n'est
toutefois pas mont.
Lorsque l'option noauto est dfinie, un jeu de donnes ne peut
tre mont et dmont que de manire explicite. Le jeu de
donnes n'est pas mont automatiquement lorsqu'il est cr ou
import, et n'est pas mont par la commande zfs mount- a ni
dmont par la commande zfs unmount-a.
Pour plus d'informations, reportez-vous la section Proprit
canmount la page 153.

Somme de
contrle

Chane

on

Chapitre 6 Gestion des systmes de fichiers ZFS

Dtermine la somme de contrle permettant de vrifier


l'intgrit des donnes. La valeur par dfaut est dfinie sur on.
Cette valeur permet de slectionner automatiquement
l'algorithme appropri, actuellement fletcher2. Les valeurs
possibles sont on, off, fletcher2, fletcher4 et sha256. La
valeur off entrane la dsactivation du contrle d'intgrit des
donnes utilisateur. La valeur off n'est pas recommande.

145

Prsentation des proprits ZFS

TABLEAU 61

Description des proprits ZFS natives

Nom de la proprit

Type

Valeur par
dfaut

compression

Chane

off

(Suite)

Description

Active ou dsactive la compression de ce jeu de donnes. Les


valeurs sont on , off et lzjb, gzip ou gzip-N. Donner cette
proprit la valeur lzjb, gzip ou la valeur gzip- N a
actuellement le mme effet que la valeur on. La valeur par
dfaut est off. L'activation de la compression sur un systme
de fichiers contenant des donnes existantes entrane
uniquement la compression des nouvelles donnes. Les
donnes actuelles restent non compresses.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract compress.

compressratio

Valeur
SO
numrique

Proprit en lecture seule indiquant le ratio de compression


obtenu pour le jeu de donnes, exprim sous la forme d'un
multiple. La compression peut tre active en excutant zfs
set compression=on jeu de donnes.
Ce ratio est calcul sur la base de la taille logique de l'ensemble
des fichiers et de la quantit de donnes physiques indique. La
proprit induit un gain explicite bas sur l'utilisation de la
proprit compression.

146

copies

Valeur
1
numrique

Dfinit le nombre de copies des donnes utilisateur par


systme de fichiers. Les valeurs disponibles sont 1, 2 et 3. Ces
copies viennent s'ajouter toute redondance au niveau du
pool. L'espace utilis par plusieurs copies de donnes
utilisateur est charg dans le fichier et le jeu de donnes
correspondants et pnalise les quotas et les rservations. En
outre, la proprit used est mise jour lorsque plusieurs copies
sont actives. Considrez la dfinition de cette proprit la
cration du systme de fichiers car lorsque vous la modifiez sur
un systme de fichiers existant, les modifications ne
s'appliquent qu'aux nouvelles donnes.

creation

Chane

SO

Proprit en lecture seule identifiant la date et l'heure de


cration de ce jeu de donnes.

devices

Boolen

on

Contrle la capacit ouvrir les fichiers des priphriques


dans le systme de fichiers.

exec

Boolen

on

Contrle l'autorisation d'excuter les programmes contenus


dans le systme de fichiers. Par ailleurs, lorsqu'elle est dfinie
sur off, les appels de la commande mmap(2) avec PROT_EXEC
ne sont pas autoriss.

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des proprits ZFS

TABLEAU 61

Description des proprits ZFS natives

(Suite)

Nom de la proprit

Type

Valeur par
dfaut

mounted

Boolen

SO

Proprit en lecture seule indiquant si le systme de fichiers, le


clone ou l'instantan est actuellement mont. Cette proprit
ne s'applique pas aux volumes. Les valeurs possibles sont yes
ou no.

mountpoint

Chane

SO

Dtermine le point de montage utilis pour le systme de


fichiers. Lorsque la proprit mountpoint d'un systme de
fichiers est modifie, ce systme de fichiers ainsi que les
ventuels systmes enfant hritant du point de montage sont
dmonts. Si la nouvelle valeur est dfinie sur legacy, ces
systmes restent dmonts. Dans le cas contraire, ils sont
automatiquement remonts au nouvel emplacement si la
proprit tait prcdemment dfinie sur legacy ou sur none
ou s'ils taient monts avant la modification de la proprit.
D'autre part, le partage de tout systme de fichiers est annul
puis rtabli au nouvel emplacement.

Description

Pour plus d'informations sur l'utilisation de cette proprit,


reportez-vous la section Gestion des points de montage
ZFS la page 164.
origin

Chane

SO

Proprit en lecture seule applique aux systmes de fichiers


ou aux volumes clons et indiquant l'instantan partir duquel
le clone a t cr. Le systme d'origine ne peut pas tre dtruit
(mme l'aide des options -r ou -f) tant que le clone existe.
Les systmes de fichiers non clons n'indique aucune origine.

quota

Valeur
none
numrique
(ou none)

Limite la quantit d'espace disponible pour le jeu de donnes et


ses descendants. Cette proprit permet d'appliquer une limite
fixe la quantit d'espace utilise, y compris l'espace utilis par
les descendants, qu'il s'agisse de systmes de fichiers ou
d'instantans. La dfinition d'un quota sur un descendant d'un
jeu de donnes dj associ un quota n'entrane pas le
remplacement du quota du systme ascendant. Cette
opration entrane au contraire l'application d'une limite
supplmentaire. Les quotas ne peuvent pas tre dfinis pour les
volumes car la proprit volsize sert de quota implicite.
Pour plus d'informations concernant la dfinition de quotas,
reportez-vous la section Dfinitions de quotas sur les
systmes de fichiers ZFS la page 171.

readonly

Boolen

off

Contrle l'autorisation de modifier le jeu de donnes.


Lorsqu'elle est dfinie sur on, aucune modification ne peut tre
apporte au jeu de donnes.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract rdonly.

Chapitre 6 Gestion des systmes de fichiers ZFS

147

Prsentation des proprits ZFS

TABLEAU 61

Description des proprits ZFS natives


Valeur par
dfaut

Nom de la proprit

Type

recordsize

Valeur
128K
numrique

(Suite)

Description

Spcifie une taille de bloc suggre pour les fichiers du systme


de fichiers.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract recsize. Pour obtenir une description
dtaille de cette proprit, reportez-vous la section
Proprit recordsize la page 153.

referenced

Valeur
SO
numrique

Proprit en lecture seule identifiant la quantit de donnes


laquelle ce jeu de donnes a accs, lesquelles peuvent tre ou
non partages avec d'autres jeux de donnes du pool.
Lorsqu'un instantan ou un clone est cr, il indique dans un
premier temps la mme quantit d'espace que le systme de
fichiers ou l'instantan partir duquel il a t cr. En effet, son
contenu est identique.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract refer.

refquota

Valeur
none
numrique
(ou none)

none
refreservation Valeur
numrique
(ou none)

Dfinit la quantit d'espace pouvant tre utilis par un jeu de


donnes. Cette proprit dfinit une quantit d'espace
maximale. Cette limite maximale n'inclut pas l'espace utilis
par les descendants, notamment les instantans et les clones.
Dfinit la quantit d'espace minimale garantie pour un jeu de
donnes, l'exclusion des descendants, notamment les
instantans et les clones. Lorsque la quantit d'espace utilise
est infrieure cette valeur, le systme considre que le jeu de
donne utilise la quantit d'espace spcifie par
refreservation La rservation refreservation est prise en
compte dans l'espace utilis des jeux de donns parent et vient
en dduction de leurs quotas et rservations.
Lorsque la proprit refreservation est dfinie, un
instantan n'est autoris que si suffisamment d'espace est
disponible dans le pool au-del de cette rservation afin de
pouvoir contenir le nombre actuel d'octets rfrencs dans le
jeu de donnes.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract refreserv.

148

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des proprits ZFS

TABLEAU 61

Description des proprits ZFS natives


Valeur par
dfaut

Nom de la proprit

Type

reservation

Valeur
none
numrique
(ou none)

(Suite)

Description

Quantit minimale d'espace rserve pour un jeu de donnes


et ses descendants. Lorsque la quantit d'espace utilise est
infrieure la valeur de cette proprit, le systme considre
que le jeu de donne utilise la quantit d'espace rserve. Les
rservations sont prises en compte dans l'espace utilis des
jeux de donnes parent et viennent en dduction de leurs
quotas et rservations.
Cette proprit peut galement s'afficher sous la forme du nom
de colonne contract reserv.
Pour plus d'informations, reportez-vous la section
Dfinition de rservations sur les systmes de fichiers ZFS
la page 173.

setuid

Boolen

on

Contrle l'application du bit setuid dans le systme de


fichiers.

sharenfs

Chane

off

Dtermine si le systme de fichiers est disponible via NFS, ainsi


que les options utilises. Si cette proprit est dfinie sur on, la
commande zfs share est excute sans option. Dans le cas
contraire, la commande zfs share est excute avec les
options quivalentes au contenu de cette proprit. Si elle est
dfinie sur off, le systme de fichiers est gr l'aide des
commandes hrites share et unshare et du fichier dfstab file.
Pour plus d'informations sur le partage des systmes de
fichiers ZF, reportez-vous la section Activation et
annulation du partage des systmes de fichiers ZFS
la page 169.

snapdir

Chane

hidden

Dtermine si le rpertoire .zfs doit tre affich ou masqu au


niveau de la racine du systme de fichiers. Pour plus
d'informations sur l'utilisation des instantans, reportez-vous
la section Prsentation des instantans ZFS la page 177.

type

Chane

SO

Proprit en lecture seule identifiant le type de jeu de donnes


comme tant un systme de fichiers, (filesystem ; systme de
fichiers proprement parler ou clone), un volume (volume) ou
un instantan (snapshot).

used

Valeur
SO
numrique

Proprit en lecture seule identifiant la quantit d'espace


utilise par le jeu de donnes et tous ses descendants.
Pour obtenir une description dtaille de cette proprit,
reportez-vous la section Proprit used la page 151.

Chapitre 6 Gestion des systmes de fichiers ZFS

149

Prsentation des proprits ZFS

TABLEAU 61

Description des proprits ZFS natives


Valeur par
dfaut

(Suite)

Nom de la proprit

Type

volsize

Valeur
SO
numrique

Spcifie la taille logique des volumes.

Valeur
8 Kbytes
numrique

(Volumes) Spcifie la taille de bloc du volume. Une fois que


des donnes ont t crites sur un volume, la taille de bloc ne
peut plus tre modifie. Vous devez donc dfinir cette valeur
lors de la cration du volume. La taille de bloc par dfaut des
volumes est de 8 Ko. Toute puissance de deux comprise entre
512 octets et 128 Kilo-octets est correcte.

volblocksize

Description

Pour obtenir une description dtaille de cette proprit,


reportez-vous la section Proprit volsize la page 154.

Cette proprit peut galement s'afficher sous la forme du nom


de colonne contract volblock.
zoned

Boolen

SO

Indique si le jeu de donnes a t ajout une zone non


globale. Si cette proprit est active, le point de montage ne
figure pas dans la zone globale et le systme ZFS ne peut pas
monter le systme de fichiers en rponse aux requtes. Lors de
la premire installation d'une zone, cette proprit est dfinie
pour tout systme de fichiers ajout.
Pour plus d'informations sur l'utilisation du systme ZFS avec
des zones installes, reportez-vous la section Utilisation de
ZFS dans un systme Solaris avec zones installes
la page 238.

xattr

Boolen

on

Indique si les attributs tendus sont activs ou dsactivs pour


le systme de fichiers. La valeur par dfaut est on.

Proprits ZFS natives en lecture seule


Les proprits natives en lecture seule peuvent tre rcupres, mais il est impossible de les
modifier. Elles ne peuvent pas non plus tre hrites. Certaines proprits natives sont
spcifiques un type de jeu de donnes. Dans ce cas, le type de jeu de donnes correspondant est
mentionn dans la description figurant dans le Tableau 61.
Les proprits natives en lecture seule sont rpertories dans cette section et dcrites dans le
Tableau 61.

150

available

creation

mounted

origin

compressratio

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des proprits ZFS

referenced

type

used
Pour plus d'informations sur cette proprit, reportez-vous la section Proprit used
la page 151.

Pour plus d'informations sur la dtermination de l'espace disque, notamment sur les proprits
used, referenced et available, reportez-vous la section Comptabilisation de l'espace ZFS
la page 50.

Proprit used
Quantit d'espace utilise par le jeu de donnes et l'ensemble de ses descendants. Cette valeur
est compare au quota et la rservation dfinis pour le jeu de donnes. L'espace utilis n'inclut
pas la rservation du jeu de donnes. En revanche, elle prend en compte les rservations dfinies
pour les ventuels jeux de donnes descendants. La quantit d'espace utilise sur le parent par
un jeu de donnes, ainsi que la quantit d'espace libre si le jeu de donnes est dtruit de faon
rcursive, constituent la plus grande partie de son espace utilis et sa rservation.
Lors de la cration d'un instantan, l'espace correspondant est dans un premier temps partag
entre cet instantan et le systme de fichiers ainsi que les instantans existants (le cas chant).
Lorsque le systme de fichiers est modifi, l'espace prcdemment partag devient ddi
l'instantan. Il est alors comptabilis dans l'espace utilis par cet instantan. L'espace utilis par
un instantan reprsente ses donnes uniques. La suppression d'instantans peut galement
augmenter l'espace ddi et utilis par les autres instantans. Pour plus d'informations sur les
instantans et les questions d'espace, reportez-vous la section Comportement d'espace
satur la page 50.
La quantit d'espace utilise, disponible ou indique ne prend pas en compte les modifications
en cours d'excution. Ces modifications sont gnralement prises en compte au bout de
quelques secondes. La modification d'un disque utilisant fsync(3c) ou O_SYNC ne garantit pas
la mise jour immdiate des informations concernant l'utilisation de l'espace.

Proprits ZFS natives dfinies


Les proprits natives dfinies sont les proprits dont les valeurs peuvent tre rcupres et
modifies. La dfinition des proprits natives s'effectue l'aide de la commande zfs set, selon
la procdure dcrite la section Dfinition des proprits ZFS la page 158 ou l'aide de la
commande zfs create, selon la procdure dcrite la section Cration d'un systme de
fichiers ZFS la page 140. l'exception des quotas et des rservations, les proprits natives
dfinies sont hrites. Pour plus d'informations sur les quotas et les rservations, reportez-vous
la section Quotas et rservations ZFS la page 170.
Chapitre 6 Gestion des systmes de fichiers ZFS

151

Prsentation des proprits ZFS

Certaines proprits natives dfinies sont spcifiques un type de jeu de donnes. Dans ce cas,
le jeu de donnes correspondant est mentionn dans la description figurant dans le
Tableau 61. Sauf indication contraire, les proprits s'appliquent tous les types de jeu de
donnes : aux systmes de fichiers, aux volumes, aux clones et aux instantans.
Les proprits pouvant tre dfinies sont rpertories dans cette section et dcrites dans le
Tableau 61.

aclinherit
Pour obtenir une description dtaille de cette proprit, reportez-vous la section Modes
de proprits d'ACL la page 197.

aclmode
Pour obtenir une description dtaille de cette proprit, reportez-vous la section Modes
de proprits d'ACL la page 197.

atime

canmount

Somme de contrle

compression

copies

devices

exec

mountpoint

quota

readonly

recordsize
Pour obtenir une description dtaille de cette proprit, reportez-vous la section
Proprit recordsize la page 153.

refquota

refreservation

reservation

sharenfs

setuid

snapdir

volsize
Pour obtenir une description dtaille de cette proprit, reportez-vous la section
Proprit volsize la page 154.

152

volblocksize

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des proprits ZFS

zoned

Proprit canmount
Si cette proprit est dsactive (valeur "off"), le systme de fichiers ne peut pas tre mont
l'aide de la commande zfs mount ni de la commande zfs mount -a. Cette proprit est
comparable la dfinition de la proprit mountpoint sur la valeur none. Toutefois, le jeu de
donnes possde toujours une proprit mountpoint standard susceptible d'tre hrite. Vous
pouvez par exemple dfinir cette proprit sur la valeur "off" et dfinir des proprits hrites
pour les systmes de fichiers descendants. Toutefois, le systme de fichiers proprement parler
n'est jamais mont, ni accessible par les utilisateurs. Dans ce cas, le systme de fichiers parent
sur lequel cette proprit est dsactive sert de conteneur afin de pouvoir dfinir des attributs
sur le conteneur ; toutefois, le conteneur proprement parler n'est jamais accessible.
L'exemple suivant illustre la cration du systme de fichiers userpool avec la proprit
canmount dsactive. Les points de montage des systmes de fichiers utilisateur descendants
sont dfinis sur un emplacement commun, /export/home. Les systmes de fichiers descendants
hritent des proprits dfinies sur le systme de fichiers parent, mais celui-ci n'est jamais
mont.
# zpool create userpool mirror c0t5d0 c1t6d0
# zfs set canmount=off userpool
# zfs set mountpoint=/export/home userpool
# zfs set compression=on userpool
# zfs create userpool/user1
# zfs create userpool/user2
# zfs list -r userpool
NAME
USED AVAIL REFER MOUNTPOINT
userpool
140K 8.24G 24.5K /export/home
userpool/user1 24.5K 8.24G 24.5K /export/home/user1
userpool/user2 24.5K 8.24G 24.5K /export/home/user2

Dfinir la proprit canmount sur noauto indique que le jeu de donnes ne peut tre mont que
de manire explicite, et non pas de manire automatique. Ce paramtre est utilis par le logiciel
de mise niveau de Solaris afin que seuls les jeux de donnes appartenant l'environnement
d'initialisation actif soient monts lors de l'initialisation.

Proprit recordsize
Spcifie une taille de bloc suggre pour les fichiers du systme de fichiers.
Cette proprit s'utilise uniquement pour les charges de travail de base de donnes accdant
des fichiers rsidant dans des enregistrements taille fixe. Le systme ZFS ajuste
automatiquement les tailles en fonction d'algorithmes internes optimiss pour les schmas
d'accs classiques. Pour les bases de donnes gnrant des fichiers volumineux mais accdant
uniquement certains fragments de manire alatoire, ces algorithmes peuvent se rvler
Chapitre 6 Gestion des systmes de fichiers ZFS

153

Prsentation des proprits ZFS

inadapts. La dfinition de la proprit recordsize sur une valeur suprieure ou gale la taille
d'enregistrement de la base de donnes peut amliorer les performances du systme de manire
significative. Il est vivement dconseill d'utiliser cette proprit pour les systmes de fichiers
usage gnrique. En outre, elle peut affecter les performances du systme. La taille spcifie doit
tre une puissance de deux suprieure ou gale 512 octets et infrieure ou gale 128 Ko. La
modification de la valeur de recordsize affecte uniquement les fichiers crs en aval. Cette
modification n'affecte pas les fichiers existants.
Cette proprit peut galement s'afficher sous la forme du nom de colonne contract recsize.

Proprit volsize
Taille logique du volume. Par dfaut, la cration d'un volume dfinit une rservation de taille
identique. Toute modification apporte la valeur de la proprit volsize se rpercute dans des
proportions identiques au niveau de la rservation. Ce fonctionnement permet d'viter les
comportements inattendus lors de l'utilisation des volumes. L'utilisation de volumes contenant
moins d'espace disponible que la valeur indique risque, suivant le cas, d'entraner des
comportements non valides et des corruptions de donnes. Ces symptmes peuvent galement
survenir lors de la modification et notamment de la rduction de la taille d'un volume en cours
d'utilisation. Faites preuve de prudence lorsque vous ajustez la taille d'un volume.
Mme s'il s'agit d'une opration dconseille, vous avez la possibilit de crer des volumes
fragments. Pour ce faire, spcifiez l'attribut -s dans la commande zfs create -V ou modifiez
la rservation, une fois le volume cr. Le terme volume fragment dsigne un volume dont la
rservation est diffrente de la taille de volume. Les modifications apportes la proprit
volsize des volumes fragments ne sont pas rpercutes au niveau de la rservation.
Pour plus d'informations sur l'utilisation des volumes, reportez-vous la section Volumes
ZFS la page 235.

Proprits ZFS dfinies par l'utilisateur


Outre les proprits natives standard, le systme ZFS prend en charge des proprits dfinies
par l'utilisateur. Les proprits dfinies par l'utilisateur n'ont aucune incidence sur le
comportement du systme ZFS. En revanche, elles permettent d'annoter les jeux de donnes
avec des informations adaptes votre environnement.
Les noms de proprits dfinies par l'utilisateur doivent respecter les conventions suivantes :

contenir le caractre ": " (deux points) afin de les distinguer des proprits natives ;

contenir des lettres en minuscules, des chiffres, ainsi que les signes de ponctuation suivants :
':', '+','.', '_' ;

possder un nom dont la longueur maximale est de 256 caractres.

La syntaxe attendue des noms de proprits consiste regrouper les deux composants suivants
(cet espace de noms n'est toutefois pas appliqu par les systmes ZFS) :
154

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des proprits ZFS

module:property

Si vous utilisez des proprits dfinies par l'utilisateur dans un contexte de programmation,
spcifiez un nom de domaine DNS invers pour le composant module des noms de proprits,
afin de rduire la probabilit que deux packages dvelopps sparment n'utilisent un nom de
proprit identique des fins diffrentes. Les noms de proprit commenant par "com.sun."
sont rservs l'usage de Sun Microsystems.
Les valeurs des proprits dfinies par l'utilisateur possdent les caractristiques suivantes :

Il s'agit de chanes arbitraires systmatiquement hrites et jamais valides.


Leur valeur se constitue de 1 024 caractres maximum.

Exemple :
# zfs set dept:users=finance userpool/user1
# zfs set dept:users=general userpool/user2
# zfs set dept:users=itops userpool/user3

Toutes les commandes fonctionnant avec des proprits (par exemple, les commandes zfs
list, zfs get, zfs set, etc.) permettent d'utiliser des proprits natives et des proprits
dfinies par l'utilisateur.
Exemple :
zfs get -r dept:users userpool
NAME
PROPERTY
VALUE
userpool
dept:users all
userpool/user1 dept:users finance
userpool/user2 dept:users general
userpool/user3 dept:users itops

SOURCE
local
local
local
local

Pour supprimer une proprit dfinie par l'utilisateur, utilisez la commande zfs inherit.
Exemple :
# zfs inherit -r dept:users userpool

Si cette proprit n'est dfinie dans aucun jeu de donnes parent, elle est dfinitivement
supprime.

Chapitre 6 Gestion des systmes de fichiers ZFS

155

Envoi de requtes sur les informations des systmes de fichiers ZFS

Envoi de requtes sur les informations des systmes de


fichiers ZFS
La commande zfs list contient un mcanisme extensible permettant d'afficher et d'envoyer
des requtes sur les informations des systmes de fichiers. Cette section dcrit les requtes de
base ainsi que les requtes plus complexes.

Affichage des informations de base des systmes ZFS


La commande zfs list spcifie sans option permet de rpertorier les informations de base
sur les jeux de donnes. Cette commande affiche le nom de tous les jeux de donnes dfinis sur
le systme ainsi que les proprits used, available, referenced et mountpoint
correspondantes. Pour plus d'informations sur ces proprits, reportez-vous la section
Prsentation des proprits ZFS la page 143.
Exemple :
# zfs list
NAME
pool
pool/clone
pool/home
pool/home/marks
pool/home/marks@snap
pool/test

USED
476K
18K
296K
277K
0
18K

AVAIL REFER MOUNTPOINT


16.5G
21K /pool
16.5G
18K /pool/clone
16.5G
19K /pool/home
16.5G 277K /pool/home/marks
- 277K 16.5G
18K /test

Cette commande permet d'afficher des jeux de donnes spcifiques. Pour cela, spcifiez le nom
du ou des jeux de donnes afficher sur la ligne de commande. Vous pouvez galement spcifier
l'option -r pour afficher de manire rcursive tous les descendants des jeux de donnes.
Exemple :
# zfs list -r pool/home/marks
NAME
USED AVAIL REFER MOUNTPOINT
pool/home/marks
277K 16.5G 277K /pool/home/marks
pool/home/marks@snap
0
- 277K -

La commande zfs list s'utilise avec des noms de chemin absolus pour les jeux de donnes, les
instantans et les volumes. Exemple :
# zfs list /pool/home/marks
NAME
USED AVAIL REFER MOUNTPOINT
pool/home/marks 277K 16.5G 277K /pool/home/marks

L'exemple suivant illustre la manire d'afficher tank/home/chua et tous ses jeux de donnes
descendants.
156

Guide d'administration Solaris ZFS Octobre 2008

Envoi de requtes sur les informations des systmes de fichiers ZFS

# zfs list -r tank/home/chua


NAME
USED AVAIL REFER MOUNTPOINT
tank/home/chua
26.0K 4.81G 10.0K /tank/home/chua
tank/home/chua/projects
16K 4.81G 9.0K /tank/home/chua/projects
tank/home/chua/projects/fs1
8K 4.81G
8K /tank/home/chua/projects/fs1
tank/home/chua/projects/fs2
8K 4.81G
8K /tank/home/chua/projects/fs2

Pour plus d'informations sur la commande zfs list, reportez-vous la page de manuel
zfs(1M).

Cration de requtes ZFS complexes


Les options -o, -f et -H permettent de personnaliser la sortie de la commande zfs list.
Vous pouvez galement personnaliser la sortie des valeurs de proprit en spcifiant l'option -o
ainsi que la liste des proprits souhaites spares par une virgule. Les valeurs valides sont les
proprits de jeu de donnes. Pour consulter la liste de toutes les proprits de jeu de donnes
prises en charge, reportez-vous la section Prsentation des proprits ZFS la page 143.
Outre les proprits rpertories dans cette section, la liste de l'option -o peut galement
contenir la valeur littrale name afin de dfinir l'inclusion du nom de jeu de donnes dans la
sortie.
Les exemples suivants illustrent l'utilisation de la commande zfs list permettant d'afficher le
nom de jeu de donnes et des proprits sharenfs et mountpoint.
# zfs list -o name,sharenfs,mountpoint
NAME
SHARENFS
tank
off
tank/home
on
tank/home/ahrens
on
tank/home/bonwick
on
tank/home/chua
on
tank/home/eschrock
on
tank/home/moore
on
tank/home/tabriz
ro

MOUNTPOINT
/tank
/tank/home
/tank/home/ahrens
/tank/home/bonwick
/tank/home/chua
legacy
/tank/home/moore
/tank/home/tabriz

L'option -t permet de spcifier le type de jeu de donnes afficher. Les types corrects sont
dcrits dans le tableau suivant.
TABLEAU 62

Types de jeux de donnes ZFS

Type

Description

filesystem

Systmes de fichiers et clones

Volume

Volumes

Chapitre 6 Gestion des systmes de fichiers ZFS

157

Gestion des proprits ZFS

TABLEAU 62

Types de jeux de donnes ZFS

Type

Description

Instantan

Instantans

(Suite)

L'option -t permet de spcifier la liste des types de jeux de donnes afficher, spars par une
virgule. L'exemple suivant illustre l'affichage du nom et de la proprit -used de l'ensemble des
systmes de fichiers via l'utilisation simultane des options -t et o :
# zfs list -t filesystem -o name,used
NAME
USED
pool
476K
pool/clone
18K
pool/home
296K
pool/home/marks 277K
pool/test
18K

L'option -H permet d'exclure l'en-tte de la commande zfs list lors de la gnration de la


sortie. Lorsque vous spcifiez l'option -H, les espaces sont gnrs sous la forme de tabulations.
Cette option permet notamment d'effectuer des analyses sur les sorties (par exemple, des
scripts). L'exemple suivant illustre la sortie de la commande zfs list spcifie avec l'option -H :
# zfs list -H -o name
pool
pool/clone
pool/home
pool/home/marks
pool/home/marks@snap
pool/test

Gestion des proprits ZFS


La gestion des proprits de jeu de donnes s'effectue l'aide des sous-commandes set,
inherit et get de la commande zfs.

Dfinition des proprits ZFS la page 158


Hritage des proprits ZFS la page 159
Envoi de requtes sur les proprits ZFS la page 160

Dfinition des proprits ZFS


La commande zfs set permet de modifier les proprits de jeu de donnes pouvant tre
dfinies. Vous pouvez galement dfinir les proprits lors de la cration des jeux de donnes
l'aide de la commande zfs create. Pour consulter la listes des proprits de jeu de donnes
158

Guide d'administration Solaris ZFS Octobre 2008

Gestion des proprits ZFS

dfinies, reportez-vous la section Proprits ZFS natives dfinies la page 151. La


commande zfs set utilise une squence de proprit/valeur au format proprit=valeur et un
nom de jeu de donnes.
L'exemple suivant illustre la dfinition de la proprit atime sur la valeur off pour tank/home.
Chaque excution de la commande zfs set autorise la dfinition ou la modification d'une seule
proprit.
# zfs set atime=off tank/home

Vous pouvez galement dfinir les proprits des systmes de fichiers une fois ces derniers
crs. Exemple :
# zfs create -o atime=off tank/home

Les suffixes explicites suivants (rpertoris par ordre croissant) permettent de spcifier des
proprits numriques : BKMGTPEZ. Ces suffixes peuvent tre suivis de la lettre b (signifiant
"byte", octet) l'exception du suffixe B, qui fait dj rfrence cette unit de mesure. Les quatre
formulations de la commande zfs set suivantes correspondent des expressions numriques
quivalentes indiquant que la proprit quota doit tre dfinie sur 50 Go sur le systme de
fichiers tank/home/marks :
#
#
#
#

zfs
zfs
zfs
zfs

set
set
set
set

quota=50G tank/home/marks
quota=50g tank/home/marks
quota=50GB tank/home/marks
quota=50gb tank/home/marks

Les valeurs des proprits non numriques prennent en charge la distinction


majuscules/minuscules et doivent tre spcifies sous la forme de minuscules, sauf pour les
proprits mountpoint et sharenfs. Les valeurs de ces proprits peuvent utiliser des
minuscules et des majuscules.
Pour plus d'informations sur la commande zfs set, reportez-vous la page de manuel
zfs(1M).

Hritage des proprits ZFS


Toutes les proprits dfinies, l'exception des proprits de quotas et de rservations, hritent
de la valeur de leur parent (sauf si un quota ou une rservation est explicitement dfini pour le
systme enfant). Si aucune valeur explicite n'est dfinie pour une proprit d'un systme
ascendant, la valeur par dfaut de cette proprit est applique. Vous pouvez utiliser la
commande zfs inherit pour effacer la valeur d'une proprit et faire ainsi hriter la valeur du
parent.
Chapitre 6 Gestion des systmes de fichiers ZFS

159

Gestion des proprits ZFS

L'exemple suivant illustre l'activation de la compression pour le systme de fichiers


tank/home/bonwick l'aide de la commande zfs set. La commande zfs inherit est ensuite
excute afin de supprimer la valeur de la proprit compression, entranant ainsi l'hritage de
la valeur par dfaut off. En effet, la proprit compression n'est dfinie localement ni pour
home, ni pour tank ; la valeur par dfaut est donc applique. Si la compression avait t active
pour ces deux systmes, la valeur dfinie pour le systme ascendant direct aurait t utilise (en
l'occurrence, home).
# zfs set compression=on tank/home/bonwick
# zfs get -r compression tank
NAME
PROPERTY
VALUE
tank
compression off
tank/home
compression off
tank/home/bonwick compression on
# zfs inherit compression tank/home/bonwick
# zfs get -r compression tank
NAME
PROPERTY
VALUE
tank
compression off
tank/home
compression off
tank/home/bonwick compression off

SOURCE
default
default
local

SOURCE
default
default
default

La sous-commande inherit est applique de manire rcursive lorsque l'option -r est spcifie.
Dans l'exemple suivant, la commande entrane l'hritage de la valeur de la proprit
compression pour tank/home ainsi que pour ses ventuels descendants.
# zfs inherit -r compression tank/home

Remarque L'utilisation de l'option -r entrane la suppression de la valeur de proprit actuelle


pour l'ensemble des jeux de donnes descendants.

Pour plus d'informations sur la commande zfs, reportez-vous la page de manuel zfs(1M).

Envoi de requtes sur les proprits ZFS


Le moyen le plus simple pour envoyer une requte sur les valeurs de proprit consiste
excuter la commande zfs list. Pour plus d'informations, reportez-vous la section
Affichage des informations de base des systmes ZFS la page 156. Cependant, dans le cadre
de requtes complexes et pour les scripts, utilisez la commande zfs get afin de fournir des
informations plus dtailles dans un format personnalis.
La commande zfs get permet de rcuprer les proprits de jeu de donnes. L'exemple suivant
illustre la rcupration d'une seule proprit au sein d'un jeu de donnes :
160

Guide d'administration Solaris ZFS Octobre 2008

Gestion des proprits ZFS

# zfs get checksum tank/ws


NAME
PROPERTY
tank/ws
checksum

VALUE
on

SOURCE
default

La quatrime colonne, SOURCE, indique l'emplacement partir duquel la valeur de proprit a


t dfinie. Le tableau suivant indique la signification des valeurs possibles de la colonne
SOURCE.
TABLEAU 63

Valeurs possibles de la colonne SOURCE (zfs get)

Valeur

Description

default

Cette proprit n'a jamais t dfinie de manire explicite pour ce jeu


de donnes ni pour ses systmes ascendants. La valeur par dfaut est
utilise.

inherited from nom-jeu-donnes

La valeur de proprit est hrite du parent spcifi par la chane


nom-jeu-donnes.

local

La valeur de proprit a t dfinie de manire explicite pour ce jeu de


donnes l'aide de la commande zfs set.

temporary

La valeur de proprit a t dfinie l'aide la commande zfs mount


spcifie avec l'option - o et n'est valide que pour la dure de vie du
montage. Pour plus d'informations sur les proprits de point de
montage temporaires, reportez-vous la section Utilisation de
proprits de montage temporaires la page 167.

- (none)

Cette proprit est en lecture seule. Sa valeur est gnre par ZFS.

Le mot-cl all permet de rcuprer toutes les proprits de jeu de donnes. Les exemples
suivants illustrent la rcupration de toutes les proprits de jeu de donnes l'aide du mot-cl
all :
# zfs
NAME
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool

get all mpool


PROPERTY
type
creation
used
available
referenced
compressratio
mounted
quota
reservation
recordsize
mountpoint
sharenfs
checksum
compression

VALUE
SOURCE
filesystem
Fri Aug 22 14:24 2008 6.41G
26.8G
20.5K
1.00x
yes
none
default
none
default
128K
default
/mpool
default
off
default
on
default
off
default

Chapitre 6 Gestion des systmes de fichiers ZFS

161

Gestion des proprits ZFS

mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool
mpool

atime
devices
exec
setuid
readonly
zoned
snapdir
aclmode
aclinherit
canmount
shareiscsi
xattr
copies
version
utf8only
normalization
casesensitivity
vscan
nbmand
sharesmb
refquota
refreservation

on
on
on
on
off
off
hidden
groupmask
restricted
on
off
on
1
3
off
none
sensitive
off
off
off
none
none

default
default
default
default
default
default
default
default
default
default
default
default
default
default
default
default
default
default

Remarque Les proprits casesensitivity, nbmand, normalization, sharemgrutf8only et

vscan sont dfinies sur une valeur fixe et ne sont pas prises en charge dans la version Solaris 10.
L'option -s spcifie avec la commande zfs get permet de spcifier, en fonction du type de
source, les proprits afficher. Cette option permet d'indiquer la liste des types de sources
souhaits, spars par une virgule. Seules les proprits associes au type de source spcifi sont
affiches. Les types de source valides sont local, default, inherited, temporary et none.
L'exemple suivant indique toutes les proprits dfinies localement sur pool.
# zfs get -s local all pool
NAME
PROPERTY
pool
compression

VALUE
on

SOURCE
local

Les options dcrites ci-dessus peuvent tre associes l'option -r afin d'afficher de manire
rcursive les proprits spcifies sur les systmes enfant du jeu de donnes. Dans l'exemple
suivant, les proprits temporaires de tous les jeux de donnes dfinis sur tank sont affiches de
manire rcursive :
# zfs get -r -s temporary all tank
NAME
PROPERTY
VALUE
tank/home
atime
off
tank/home/bonwick atime
off
tank/home/marks
atime
off
162

Guide d'administration Solaris ZFS Octobre 2008

SOURCE
temporary
temporary
temporary

Gestion des proprits ZFS

L'une des fonctionnalits rcemment ajoutes permet d'envoyer des requtes l'aide de la
commande zfs get sans spcifier le systme de fichiers cible (la requte porte sur tous les pools
ou sur tous les systmes de fichiers). Exemple :
# zfs get -s local all
tank/home
atime
tank/home/bonwick
atime
tank/home/marks
quota

off
off
50G

local
local
local

Pour plus d'informations sur la commande zfs get, reportez-vous la page de manuel
zfs(1M).

Envoi de requte sur les proprits ZFS pour l'excution de scripts


La commande zfs get prend en charge les options -H et -o, qui permettent l'excution de
scripts. L'option -H indique que toute information d'en-tte doit tre omise et que tous les
espaces doivent tre remplacs par des caractres de tabulation. L'uniformisation des espaces
permet de faciliter l'analyse des donnes. L'option -o permet de personnaliser la sortie et
d'indiquer la liste des valeurs inclure dans la sortie en les sparant par une virgule. Toutes les
proprits dfinies la section Prsentation des proprits ZFS la page 143, ainsi que les
termes littraux name, value, property et source peuvent tre fournis dans la liste -o.
L'exemple suivant illustre la commande permettant de rcuprer une seule valeur en spcifiant
les options -H et -o de la commande zfs get.
# zfs get -H -o value compression tank/home
on

L'option -p indique les valeurs numriques sous leur forme exacte. Par exemple, 1 Mo serait
signal sous la forme 1000000. Cette option peut tre utilise comme suit :
# zfs get -H -o value -p used tank/home
182983742

L'option -r permet de rcuprer de manire rcursive les valeurs demandes pour l'ensemble
des descendants et peut s'utiliser avec toutes les options mentionnes ci-dessus. Dans l'exemple
suivant, les options -r, -o et - H sont spcifies afin de rcuprer le nom du jeu de donnes ainsi
que la valeur de la proprit used pour export/home et ses descendants, tout en excluant les
en-ttes dans la sortie :
# zfs get -H -o name,value -r used export/home
export/home
5.57G
export/home/marks
1.43G
export/home/maybee
2.15G
Chapitre 6 Gestion des systmes de fichiers ZFS

163

Montage et partage des systmes de fichiers ZFS

Montage et partage des systmes de fichiers ZFS


Cette section dcrit le processus de gestion des points de montage et des systmes de fichiers
partags dans ZFS.

Gestion des points de montage ZFS la page 164


Montage de systme de fichiers ZFS la page 166
Utilisation de proprits de montage temporaires la page 167
Dmontage des systmes de fichiers ZFS la page 168
Activation et annulation du partage des systmes de fichiers ZFS la page 169

Gestion des points de montage ZFS


Par dfaut, tous les systmes de fichiers ZFS sont monts lors de l'initialisation l'aide du service
SMF (Service Management Facility)svc://system/filesystem/local. Les systmes de
fichiers sont monts sous /chemin, o chemin correspond au nom du systme de fichiers.
Vous pouvez remplacer le point de montage par dfaut en dfinissant la proprit mountpoint
sur un chemin spcifique l'aide de la commande zfs set. La cration du point de montage
(si ncessaire) et le montage du systme de fichiers sont grs automatiquement par le systme
ZFS lors de l'excution de la commande zfs mount -a. Il n'est pas ncessaire de modifier
manuellement le fichier /etc/vfstab.
La proprit mountpoint est hrite. Par exemple, si la proprit mountpoint de pool/home est
dfinie sur /export/stuff, pool/home/user hrite de la valeur /export/stuff/user pour sa
proprit mountpoint.
La proprit mountpoint peut tre dfinie sur none afin d'empcher le montage du systme de
fichiers. La proprit canmount permet galement de dterminer si les systmes de fichiers
peuvent tre monts. Pour plus d'informations sur la proprit canmount, reportez-vous la
section Proprit canmount la page 153.
Si vous le souhaitez, vous avez galement la possibilit de grer les systmes de fichiers de
manire explicite l'aide d'interfaces de montage hrites en dfinissant la proprit
mountpoint sur legacy dans la commande zfs set. Dans ce cas, le montage et la gestion du
systme de fichiers ne sont pas grs automatiquement par ZFS. Ces oprations s'effectuent
alors l'aide des outils hrits, comme les commandes mount et umount et le fichier
/etc/vfstab. Pour plus d'informations sur les montages hrits, reportez-vous la section
Points de montage hrits la page 165.
Lorsque vous modifiez les stratgies de gestion des points de montage, les comportements
suivants s'appliquent :

164

comportement de point de montage automatique ;


comportement de point de montage hrit.

Guide d'administration Solaris ZFS Octobre 2008

Montage et partage des systmes de fichiers ZFS

Points de montage automatiques

Si la proprit legacy ou none est remplace par une autre valeur, le systme de fichiers ZFS
est automatiquement mont.

Si le systme de fichiers ZFS est gr automatiquement sans tre mont et si la proprit


mountpoint est modifie, le systme de fichiers reste dmont.

Vous pouvez galement dfinir le point de montage par dfaut du jeu de donnes racine lors de
l'excution de la commande de cration zpool create en spcifiant l'option -m. Pour plus
d'informations sur la cration de pools, reportez-vous la section Cration d'un pool de
stockage ZFS la page 97.
Les jeux de donnes dont la proprit mountpoint n'est pas dfinie sur legacy sont grs par le
systme ZFS. L'exemple suivant illustre la cration d'un jeu de donnes dont le point de
montage est gr automatiquement par le systme ZFS.
# zfs create pool/filesystem
# zfs get mountpoint pool/filesystem
NAME
PROPERTY
VALUE
pool/filesystem mountpoint
/pool/filesystem
# zfs get mounted pool/filesystem
NAME
PROPERTY
VALUE
pool/filesystem mounted
yes

SOURCE
default
SOURCE
-

Vous pouvez galement dfinir la proprit mountpoint de manire explicite, comme dans
l'exemple suivant :
# zfs set mountpoint=/mnt pool/filesystem
# zfs get mountpoint pool/filesystem
NAME
PROPERTY
VALUE
pool/filesystem mountpoint
/mnt
# zfs get mounted pool/filesystem
NAME
PROPERTY
VALUE
pool/filesystem mounted
yes

SOURCE
local
SOURCE
-

Si la proprit mountpoint est modifie, le systme de fichiers est automatiquement dmont de


l'ancien point de montage et remont sur le nouveau. Si ncessaire, les rpertoires de point de
montage sont crs automatiquement. Si ZFS n'est pas en mesure de dmonter un systme de
fichiers parce qu'il est actif, une erreur est signale et un dmontage manuel forc doit tre
effectu.

Points de montage hrits


La gestion des systmes de fichiers ZFS peut s'effectuer l'aide d'outils hrits. Pour cela, la
proprit mountpoint doit tre dfinie sur legacy. Les systmes de fichiers hrits sont alors
grs l'aide des commandes mount et umount et du fichier /etc/vfstab. Les systmes de
fichiers ZFS hrits ne sont pas monts automatiquement lors de l'initialisation et les
Chapitre 6 Gestion des systmes de fichiers ZFS

165

Montage et partage des systmes de fichiers ZFS

commandes ZFS mount et umount ne s'appliquent pas ces jeux de donnes. Les exemples
suivants illustrent les commandes de dfinition et de gestion d'un jeu de donnes ZFS hrit :
# zfs set mountpoint=legacy tank/home/eschrock
# mount -F zfs tank/home/eschrock /mnt

Vous devez en outre les monter en crant des entres dans le fichier /etc/vfstab. Sinon, le
service system/filesystem/local entre en mode de maintenance l'initialisation du systme.
Pour monter automatiquement un systme de fichiers hrit, vous devez ajouter une entre au
fichier /etc/vfstab. L'exemple suivant illustre une forme possible de l'entre ajoute au
fichier /etc/vfstab :
#device
#to mount
#

device
to fsck

tank/home/eschrock -

mount
point

/mnt

FS
type

zfs

fsck
pass

mount mount
at boot options

yes

Les entres device to fsck et fsck pass sont dfinies sur -. Cette syntaxe s'explique par
l'absence d'application de la commande fsck aux systmes de fichiers ZFS. Pour plus
d'informations sur l'intgrit des donnes et sur l'absence d'application de la commande fsck
au systme ZFS, reportez-vous la section Smantique transactionnelle la page 35.

Montage de systme de fichiers ZFS


Le montage des systmes de fichiers ZFS s'effectue automatiquement lors du processus de
cration ou lors de l'initialisation du systme. La commande zfs mount s'utilise uniquement
lors de la modification des options de montage ou lors du montage ou du dmontage explicite
de systmes de fichiers.
Spcifie sans argument, la commande zfs mount rpertorie tous les systmes de fichiers
actuellement monts grs par ZFS. Les points de montage hrits ne sont pas inclus. Exemple :
# zfs mount
tank
tank/home
tank/home/bonwick
tank/ws

/tank
/tank/home
/tank/home/bonwick
/tank/ws

L'option -a permet de monter tous les systmes de fichiers ZFS. Les systmes de fichiers hrits
ne sont pas monts. Exemple :
# zfs mount -a

Par dfaut, le systme ZFS autorise uniquement le montage sur les rpertoires vides. Pour forcer
une opration de montage effectue sur un rpertoire non vide, spcifiez l'option -O. Exemple :
166

Guide d'administration Solaris ZFS Octobre 2008

Montage et partage des systmes de fichiers ZFS

# zfs mount tank/home/lalt


cannot mount /export/home/lalt: directory is not empty
use legacy mountpoint to allow this behavior, or use the -O flag
# zfs mount -O tank/home/lalt

La gestion des points de montage hrits doit s'effectuer l'aide des outils hrits. Toute
tentative d'utilisation des outils ZFS gnre une erreur. Exemple :
# zfs mount pool/home/billm
cannot mount pool/home/billm: legacy mountpoint
use mount(1M) to mount this filesystem
# mount -F zfs tank/home/billm

Le montage d'un systme de fichiers requiert l'utilisation d'un ensemble d'options bases sur les
valeurs des proprits associes au jeu de donnes. Le tableau ci-dessous illustre la corrlation
entre les proprits et les options de montage :
Proprit

Options de montage

devices

devices/nodevices

exec

exec/noexec

readonly

ro/rw

setuid

setuid/nosetuid

L'option de montage nosuid reprsente un alias de nodevices,nosetuid.

Utilisation de proprits de montage temporaires


Si les options sont dfinies de manire explicite en spcifiant l'option -o avec la commande zfs
mount, les valeurs des proprits associes sont remplaces de manire temporaire. Ces valeurs
de proprit sont dsignes par la chane temporary dans la commande zfs get et reprennent
leur valeur d'origine une fois le systme de fichiers dmont. Si une valeur de proprit est
modifie alors que le jeu de donnes est mont, la modification prend immdiatement effet et
remplace toute valeur temporaire.
L'exemple suivant illustre la dfinition temporaire de l'option de montage en lecture seule sur le
systme de fichiers tank/home/perrin :
# zfs mount -o ro tank/home/perrin

Dans cet exemple, le systme de fichiers est cens tre dmont. Pour modifier temporairement
une proprit d'un systme de fichiers mont, vous devez utiliser l'option spcifique remount.
Dans l'exemple suivant, la proprit atime est temporairement dfinie sur la valeur off pour un
systme de fichiers mont :
Chapitre 6 Gestion des systmes de fichiers ZFS

167

Montage et partage des systmes de fichiers ZFS

# zfs mount -o remount,noatime tank/home/perrin


# zfs get atime tank/home/perrin
NAME
PROPERTY
VALUE
tank/home/perrin atime
off

SOURCE
temporary

Pour plus d'informations sur la commande zfs mount, reportez-vous la page de manuel
zfs(1M).

Dmontage des systmes de fichiers ZFS


Le dmontage des systmes de fichiers peut s'effectuer l'aide de la commande zfs unmount.
La commande unmount peut utiliser le point de montage ou le systme de fichiers comme
argument.
L'exemple suivant illustre le dmontage d'un systme de fichiers avec l'argument de nom de
systme de fichiers :
# zfs unmount tank/home/tabriz

L'exemple suivant illustre le dmontage d'un systme de fichiers avec l'argument de point de
montage :
# zfs unmount /export/home/tabriz

Si le systme de fichiers est actif ou occup, la commande unmount choue. L'option -f permet
de forcer le dmontage d'un systme de fichiers. Le dmontage forc d'un systme de fichiers
requiert une attention particulire si le contenu de ce systme est en cours d'utilisation. Ce type
d'opration peut entraner des comportements d'application imprvisibles.
# zfs unmount tank/home/eschrock
cannot unmount /export/home/eschrock: Device busy
# zfs unmount -f tank/home/eschrock

Pour garantir la compatibilit ascendante, vous pouvez dmonter les systmes de fichiers ZFS
l'aide de la commande hrite umount. Exemple :
# umount /export/home/bob

Pour plus d'informations sur la commande zfs unmount, reportez-vous la page de manuel
zfs(1M).

168

Guide d'administration Solaris ZFS Octobre 2008

Montage et partage des systmes de fichiers ZFS

Activation et annulation du partage des systmes de


fichiers ZFS
Comme pour les points de montage, ZFS permet de partager automatiquement les systmes de
fichiers. Pour cela, vous devez spcifier la proprit sharenfs. Cette mthode vite d'avoir
modifier le fichier /etc/dfs/dfstab lors de l'ajout d'un systme de fichiers. La proprit
sharenfs correspond une liste d'options spares par une virgule spcifie avec la commande
share. La valeur on constitue un alias des options de partage par dfaut, qui attribuent les
droits read/write tous les utilisateurs. La valeur off indique que le partage du systme de
fichiers n'est pas gr par ZFS et qu'il s'effectue l'aide des outils classiques (par exemple, l'aide
du fichier /etc/dfs/dfstab). Tous les systmes de fichiers dont la proprit sharenfs n'est pas
dfinie sur off sont partags lors de l'initialisation.

Contrle de la smantique de partage


Par dfaut, le partage est annul pour tous les systmes de fichiers. Pour partager un nouveau
systme de fichiers, utilisez une syntaxe de la commande zfs set similaire celle prsente
l'exemple ci-dessous :
# zfs set sharenfs=on tank/home/eschrock

La proprit est hrite et les systmes de fichiers sont automatiquement partags lorsqu'ils sont
crs (si la proprit hrite n'est pas dfinie sur off). Exemple :
#
#
#
#

zfs
zfs
zfs
zfs

set sharenfs=on tank/home


create tank/home/bricker
create tank/home/tabriz
set sharenfs=ro tank/home/tabriz

tank/home/bricker et tank/home/tabriz sont partags en criture ds leur cration, car ils


hritent de la proprit sharenfs dfinie pour tank/home. Une fois la proprit dfinie sur ro
(lecture seule), tank/home/tabriz est partag en lecture seule, quelle que soit la proprit
sharenfs dfinie pour tank/home.

Annulation du partage des systmes de fichiers ZFS


L'activation et l'annulation du partage de la plupart de systmes de fichiers s'effectuent lors de
l'initialisation, de la cration ou de la destruction. Toutefois, il peut parfois s'avrer ncessaire
d'annuler explicitement le partage des systmes de fichiers. Ce type d'opration s'effectue l'aide
de la commande zfs unshare. Exemple :
# zfs unshare tank/home/tabriz

Chapitre 6 Gestion des systmes de fichiers ZFS

169

Quotas et rservations ZFS

Cette commande entrane l'annulation du partage du systme de fichiers tank/home/tabriz.


Pour annuler le partage de tous les systmes de fichiers ZFS du systme, vous devez utiliser
l'option - a.
# zfs unshare -a

Partage des systmes de fichiers ZFS


Le comportement automatique du systme ZFS (partage l'initialisation et la cration)
convient la plupart des oprations classiques. Si vous tes amen annuler le partage d'un
systme de fichiers, vous pouvez ractiver le partage l'aide de la commande zfs share.
Exemple :
# zfs share tank/home/tabriz

L'option - a permet galement de partager tous les systmes de fichiers ZFS du systme.
# zfs share -a

Comportement de partage hrit


Si la proprit sharenfs est dfinie sur off, l'activation et l'annulation du partage des systmes
de fichiers ZFS sont dsactives de manire permanente. Cette valeur permet de grer le partage
des systmes de fichiers l'aide des outils classiques (par exemple, l'aide du fichier
/etc/dfs/dfstab).
Contrairement la commande classique mount, les commandes share et unshare peuvent tre
excutes sur les systmes de fichiers ZFS. Vous pouvez ds lors partager manuellement les
systmes de fichiers en spcifiant des options diffrentes de celles dfinies pour la proprit
sharenfs. Ce modle de gestion est dconseill. La gestion des partages NFS doit s'effectuer
intgralement l'aide du systme ZFS ou intgralement l'aide du fichier /etc/dfs/dfstab.
Les modle ZFS a t conu pour simplifier et pour faciliter les oprations de gestion par
rapport au modle classique. Dans certains cas cependant, il peut s'avrer prfrable de
contrler le partage des systmes de fichiers l'aide du modle classique.

Quotas et rservations ZFS


ZFS prend en charge les quotas et les rservations au niveau des systmes de fichiers. La
proprit quota permet de limiter la quantit d'espace disponible pour un systme de fichiers.
La proprit reservation permet quant elle de garantir la disponibilit d'une certaine
quantit d'espace pour un systme de fichiers. Ces deux proprits s'appliquent au jeu de
donnes sur lequel elles sont dfinies ainsi qu' ses descendants.

170

Guide d'administration Solaris ZFS Octobre 2008

Quotas et rservations ZFS

Par exemple, si un quota est dfini pour le jeu de donnes tank/home, la quantit d'espace totale
utilise par tank/home et par tous ses descendants ne peut pas excder le quota dfini. De mme,
si une rservation est dfinie pour le jeu de donnes tank/home, cette rservation s'applique
tank/home et tous ses descendants. La quantit d'espace utilise par un jeu de donnes et par
tous ses descendants est indique par la proprit used.
Outre les proprits quota et reservation, les proprits refquota et refreservation vous
permettent de grer l'espace d'un systme de fichiers sans prendre en compte l'espace utilis par
les descendants, notamment les instantans et les clones.
Considrez les points suivants pour dterminer quelles fonctions de quota et de rservation
conviennent le mieux la gestion de vos systmes de fichiers :

Les proprits quota et reservation conviennent la gestion de l'espace utilis par les jeux
de donnes.

Les proprits refquota et refreservation conviennent la gestion de l'espace utilis par


les jeux de donnes et les instantans.

La dfinition d'une valeur refquota ou refreservation suprieure une valeur


"reservation" n'a aucun effet. Lorsque vous dfinissez la proprit quota ou la proprit
refquota, les oprations qui tentent de dpasser l'une de ces valeurs chouent. Il est possible
de dpasser une valeur quota suprieure une valeur refquota. Si certains blocs
d'instantans sont modifis, la valeur quota risque d'tre dpasse avant la valeur refquota.

Pour plus d'informations, reportez-vous aux exemples ci-dessous.

Dfinitions de quotas sur les systmes de fichiers ZFS


La dfinition et l'affichage des quotas ZFS s'effectuent respectivement l'aide des commandes
zfs set et zfs get. Dans l'exemple suivant, un quota de 10 Go est dfini pour
tank/home/bonwick.
# zfs set quota=10G tank/home/bonwick
# zfs get quota tank/home/bonwick
NAME
PROPERTY
VALUE
tank/home/bonwick quota
10.0G

SOURCE
local

Les quotas ZFS affectent galement la sortie des commandes zfs list et df. Exemple :
# zfs list
NAME
USED
tank/home
16.5K
tank/home/bonwick
15.0K
tank/home/bonwick/ws 6.50K
# df -h /export/home/bonwick

AVAIL
33.5G
10.0G
10.0G

Chapitre 6 Gestion des systmes de fichiers ZFS

REFER
8.50K
8.50K
8.50K

MOUNTPOINT
/export/home
/export/home/bonwick
/export/home/bonwick/ws

171

Quotas et rservations ZFS

Filesystem
tank/home/bonwick

size
10G

used avail capacity Mounted on


8K
10G
1%
/export/home/bonwick

tank/home dispose de 33,5 Go d'espace. Toutefois, tank/home/bonwick et


tank/home/bonwick/ws disposent uniquement de 10 Go d'espace, en raison du quota dfini
pour tank/home/bonwick.
Vous ne pouvez pas dfinir un quota sur une valeur infrieure la quantit d'espace
actuellement utilise par un jeu de donnes. Exemple :
# zfs set quota=10K tank/home/bonwick
cannot set quota for tank/home/bonwick: size is less than current used or
reserved space

Vous pouvez dfinir une valeur refquota pour un jeu de donnes qui limite la quantit d'espace
qu'il peut utiliser. Cette limite maximale n'inclut pas l'espace utilis par les instantans et les
clones. Exemple :
# zfs set refquota=10g students/studentA
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
profs
106K 33.2G
18K /profs
students
57.7M 33.2G
19K /students
students/studentA 57.5M 9.94G 57.5M /students/studentA
# zfs snapshot students/studentA@today
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
profs
106K 33.2G
18K /profs
students
57.7M 33.2G
19K /students
students/studentA
57.5M 9.94G 57.5M /students/studentA
students/studentA@today
0
- 57.5M -

Par souci de commodit, vous pouvez dfinir un autre quota pour un jeu de donnes afin de
vous aider grer l'espace utilis par les instantans. Exemple :
# zfs set quota=20g students/studentA
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
profs
106K 33.2G
18K /profs
students
57.7M 33.2G
19K /students
students/studentA
57.5M 9.94G 57.5M /students/studentA
students/studentA@today
0
- 57.5M -

Dans ce scnario, studentA peut atteindre la limite maximale de refquota (10 Go) mais peut
supprimer des fichiers pour librer de l'espace mme en prsence d'instantans.

172

Guide d'administration Solaris ZFS Octobre 2008

Quotas et rservations ZFS

Dans l'exemple ci-dessus, le plus petit des deux quotas (10 Go par opposition 20 Go) s'affiche
dans la sortie de zfs list. Pour afficher la valeur des deux quotas, utilisez la commande zfs
get. Exemple :
# zfs get refquota,quota students/studentA
NAME
PROPERTY VALUE
students/studentA refquota 10G
students/studentA quota
20G

SOURCE
local
local

Dfinition de rservations sur les systmes de fichiers


ZFS
Une rservation ZFS dsigne une quantit d'espace du pool garantie pour un jeu de donnes.
Ds lors, pour rserver une quantit d'espace pour un jeu de donnes, cette quantit doit tre
actuellement disponible sur le pool. La quantit totale d'espace non utilis des rservations ne
peut pas dpasser la quantit d'espace non utilis du pool. La dfinition et l'affichage des
rservations ZFS s'effectuent respectivement l'aide des commandes zfs set et zfs get.
Exemple :
# zfs set reservation=5G tank/home/moore
# zfs get reservation tank/home/moore
NAME
PROPERTY
VALUE
tank/home/moore reservation 5.00G

SOURCE
local

Les rservations ZFS peuvent affecter la sortie de la commande zfs list. Exemple :
# zfs list
NAME
tank/home
tank/home/moore

USED AVAIL REFER MOUNTPOINT


5.00G 33.5G 8.50K /export/home
15.0K 10.0G 8.50K /export/home/moore

Notez que tank/home utilise 5 Go d'espace bien que la quantit totale d'espace laquelle
tank/home et ses descendants font rfrence est bien infrieure 5 Go. L'espace utilis
correspond l'espace rserv pour tank/home/moore. Les rservations sont prises en compte
dans l'espace utilis des jeux de donnes parent et non dans le quota, la rservation ou les deux.
# zfs set quota=5G pool/filesystem
# zfs set reservation=10G pool/filesystem/user1
cannot set reservation for pool/filesystem/user1: size is greater than
available space

Un jeu de donnes peut utiliser une quantit d'espace suprieure celle indique par sa
rservation. Pour cela, le pool doit contenir une quantit d'espace non rserve suffisante et la

Chapitre 6 Gestion des systmes de fichiers ZFS

173

Quotas et rservations ZFS

quantit d'espace utilise par le jeu de donnes doit tre infrieur au quota dfini pour ce jeu. Un
jeu de donnes ne peut pas utiliser l'espace rserv pour un autre jeu de donnes.
Les rservations ne sont pas cumulatives. En d'autres termes, l'excution d'une nouvelle
commande zfs set pour un jeu de donnes dj associ une rservation n'entrane pas l'ajout
de la nouvelle rservation la rservation existante. La seconde rservation remplace la
premire.
# zfs set reservation=10G tank/home/moore
# zfs set reservation=5G tank/home/moore
# zfs get reservation tank/home/moore
NAME
PROPERTY
VALUE
tank/home/moore reservation 5.00G

SOURCE
local

Vous pouvez dfinir une valeur refreservation afin de garantir l'espace pour un jeu de
donnes qui n'inclut pas l'espace utilis par les instantans ni les clones. La valeur
refreservation est prise en compte dans l'espace utilis des jeux de donnes parent et vient en
dduction des quotas et rservations des jeux de donnes parent. Exemple :
# zfs set refreservation=10g profs/prof1
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
profs
10.0G 23.2G
19K /profs
profs/prof1
10G 33.2G
18K /profs/prof1

Vous pouvez galement dfinir une valeur de rservation pour le mme jeu de donnes afin de
garantir l'espace du jeu de donnes et pas de l'espace des instantans. Exemple :
# zfs set reservation=20g profs/prof1
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
profs
20.0G 13.2G
19K /profs
profs/prof1
10G 33.2G
18K /profs/prof1

Les rservations rgulires sont prises en compte dans l'espace utilis du parent.
Dans l'exemple ci-dessus, le plus petit des deux quotas (10 Go par opposition 20 Go) s'affiche
dans la sortie de zfs list. Pour afficher la valeur des deux quotas, utilisez la commande zfs
get. Exemple :
# zfs get reservation,refreserv profs/prof1
NAME
PROPERTY
VALUE
SOURCE
profs/prof1 reservation
20G
local
profs/prof1 refreservation 10G
local

174

Guide d'administration Solaris ZFS Octobre 2008

Quotas et rservations ZFS

Lorsque la proprit refreservation est dfinie, un instantan n'est autoris que si


suffisamment d'espace est disponible dans le pool au-del de cette rservation afin de pouvoir
contenir le nombre actuel d'octets rfrencs dans le jeu de donnes.

Chapitre 6 Gestion des systmes de fichiers ZFS

175

176

C H A P I T R E

Utilisation des instantans et des clones ZFS

Ce chapitre fournit des informations sur la cration et la gestion d'instantans et de clones ZFS.
Il contient galement des informations relatives l'enregistrement d'instantans.
Il contient les sections suivantes :

Prsentation des instantans ZFS la page 177


Cration et destruction d'instantans ZFS la page 178
Affichage et accs des instantans ZFS la page 180
Restauration d'un instantan ZFS la page 181
Prsentation des clones ZFS la page 182
Cration d'un clone ZFS la page 182
Destruction d'un clone ZFS la page 183
Envoi et rception de donnes ZFS la page 184

Prsentation des instantans ZFS


Un instantan est une copie en lecture seule d'un systme de fichiers ou d'un volume. La
cration des instantans est quasiment immdiate. Initialement, elle ne consomme pas d'espace
disque supplmentaire au sein du pool. Toutefois, mesure que les donnes contenues dans le
jeu de donnes actif changent, l'instantan consomme de l'espace disque en continuant faire
rfrence aux anciennes donnes et empche donc de librer de l'espace.
Les instantans ZFS prsentent les caractristiques suivantes :

Persistance au cours des rinitialisations de systme.

Thoriquement, le nombre maximal d'instantans est de 264 instantans.

Aucune sauvegarde de secours distincte n'est utilise. Les instantans consomment de


l'espace disque provenant directement du pool de stockage auquel appartient le systme de
fichiers partir duquel ils ont t crs.
177

Prsentation des instantans ZFS

Une seule opration, dite atomique, permet de crer rapidement des instantans rcursifs.
Ceux-ci sont tous crs simultanment ou ne sont pas crs du tout. Grce ce type de
slection instantane, les oprations atomiques assurent ainsi la cohrence des donnes, y
compris pour les systmes de fichiers descendants.

Il n'est pas possible d'accder directement aux instantans de volumes, mais ils peuvent tre
clons, sauvegards, restaurs, etc. Pour plus d'informations sur la sauvegarde d'un instantan
ZFS, reportez-vous la section Envoi et rception de donnes ZFS la page 184.

Cration et destruction d'instantans ZFS


La commande zfs snapshot permet de crer les instantans. Elle ne prend pour argument que
le nom de l'instantan crer. Le nom de l'instantan est spcifi comme suit :
filesystem@snapname
volume@snapname

Le nom de l'instantan doit respecter les conventions d'attribution de noms dcrites dans la
section Exigences d'attribution de noms de composants ZFS la page 40.
Dans l'exemple suivant, un instantan de tank/home/ahrens nomm friday est cr.
# zfs snapshot tank/home/ahrens@friday

Vous pouvez crer des instantans pour tous les systmes de fichiers descendants l'aide de
l'option -r. Exemple :
# zfs snapshot -r tank/home@now
# zfs list -t snapshot
NAME
USED AVAIL
tank/home@now
0
tank/home/ahrens@now
0
tank/home/anne@now
0
tank/home/bob@now
0
tank/home/cindys@now
0
-

REFER
29.5K
2.15M
1.89M
1.89M
2.15M

MOUNTPOINT
-

Les proprits des instantans ne sont pas modifiables. Les proprits des jeux de donnes ne
peuvent pas tre appliques un instantan.
# zfs set compression=on tank/home/ahrens@tuesday
cannot set compression property for tank/home/ahrens@tuesday: snapshot
properties cannot be modified

La commande zfs destroy permet de dtruire les instantans. Exemple :


# zfs destroy tank/home/ahrens@friday
178

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des instantans ZFS

La destruction d'un jeu de donnes est impossible s'il existe des instantans du jeu de donnes.
Exemple :
# zfs destroy tank/home/ahrens
cannot destroy tank/home/ahrens: filesystem has children
use -r to destroy the following datasets:
tank/home/ahrens@tuesday
tank/home/ahrens@wednesday
tank/home/ahrens@thursday

En outre, afin de pouvoir dtruire l'instantan utilis pour crer les clones, vous devez au
pralable dtruire les clones.
Pour de plus amples informations sur la sous-commande destroy, reportez-vous la section
Destruction d'un systme de fichiers ZFS la page 141.

Renommage d'instantans ZFS


Vous pouvez renommer les instantans, mais vous devez procder au sein du pool et du jeu de
donnes partir desquels ils ont t crs. Exemple :
# zfs rename tank/home/cindys@083006 tank/home/cindys@today

En outre, le raccourci de syntaxe suivant donne une syntaxe de renommage d'instantan


similaire l'exemple ci-dessus.
# zfs rename tank/home/cindys@083006 today

L'opration de renommage d'instantan n'est pas prise en charge, car le nom du pool cible et
celui du systme de fichiers ne correspondent pas au pool et au systme de fichiers dans lesquels
l'instantan a t cr.
# zfs rename tank/home/cindys@today pool/home/cindys@saturday
cannot rename to pool/home/cindys@today: snapshots must be part of same
dataset

Vous pouvez renommer de manire rcursive les instantans l'aide de la commande zfs
rename - r. Exemple :
# zfs list
NAME
users
users/home
users/home@yesterday
users/home/markm
users/home/markm@yesterday
users/home/marks

USED
270K
76K
0
18K
0
18K

AVAIL REFER MOUNTPOINT


16.5G
22K /users
16.5G
22K /users/home
22K 16.5G
18K /users/home/markm
18K 16.5G
18K /users/home/marks

Chapitre 7 Utilisation des instantans et des clones ZFS

179

Prsentation des instantans ZFS

users/home/marks@yesterday
0
18K
users/home/neil
18K 16.5G
18K
users/home/neil@yesterday
0
18K
# zfs rename -r users/home@yesterday @2daysago
# zfs list -r users/home
NAME
USED AVAIL REFER
users/home
76K 16.5G
22K
users/home@2daysago
0
22K
users/home/markm
18K 16.5G
18K
users/home/markm@2daysago
0
18K
users/home/marks
18K 16.5G
18K
users/home/marks@2daysago
0
18K
users/home/neil
18K 16.5G
18K
users/home/neil@2daysago
0
18K

/users/home/neil
-

MOUNTPOINT
/users/home
/users/home/markm
/users/home/marks
/users/home/neil
-

Affichage et accs des instantans ZFS


Les instantans des systmes de fichiers sont accessibles dans le rpertoire .zfs/snapshot au
sein de la racine du systme de fichiers qui le contient. Par exemple, si tank/home/ahrens est
mont sur /home/ahrens, les donnes de l'instantan tank/home/ahrens@thursday sont
accessibles dans le rpertoire /home/ahrens/.zfs/snapshot/thursday.
# ls /tank/home/ahrens/.zfs/snapshot
tuesday wednesday thursday

Vous pouvez rpertorier les instantans comme suit :


# zfs list -t snapshot
NAME
pool/home/anne@monday
pool/home/bob@monday
tank/home/ahrens@tuesday
tank/home/ahrens@wednesday
tank/home/ahrens@thursday
tank/home/cindys@today

USED AVAIL REFER MOUNTPOINT


0
- 780K 0
- 1.01M 8.50K
- 780K 8.50K
- 1.01M 0
- 1.77M 8.50K
- 524K -

Vous pouvez rpertorier les instantans qui ont t crs pour un systme de fichiers particulier
comme suit :
# zfs list -r -t snapshot -o name,creation tank/home
NAME
CREATION
tank/home@now
Wed Aug 27 16:35 2008
tank/home/ahrens@tuesday
Wed Aug 27 16:35 2008
tank/home/ahrens@wednesday Wed Aug 27 16:35 2008
tank/home/ahrens@thursday Wed Aug 27 16:36 2008
tank/home/cindys@now
Wed Aug 27 16:37 2008
180

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des instantans ZFS

Comptabilisation de l'espace d'instantans


Lors de la cration d'un instantan, son espace est initialement partag entre l'instantan et le
systme de fichiers et ventuellement avec des instantans prcdents. Lorsque le systme de
fichiers change, l'espace prcdemment partag devient ddi l'instantan, et il est compt
dans la proprit used de l'instantan. De plus, la suppression d'instantans peut augmenter la
quantit d'espace ddi d'autres instantans (et, par consquent, utilis par ceux-ci).
La proprit referenced de l'espace d'un instantan est identique celle du systme de fichiers
la cration de l'instantan.

Restauration d'un instantan ZFS


La commande zfs rollback permet de supprimer toutes les modifications effectues depuis la
cration d'un instantan spcifique. Le systme de fichiers revient l'tat dans lequel il tait lors
de la prise de l'instantan. Par dfaut, la commande ne permet pas de restaurer un instantan
autre que le plus rcent.
Pour restaurer un instantan prcdent, tous les instantans intermdiaires doivent tre
dtruits. Vous pouvez dtruire les instantans prcdents en spcifiant l'option -r.
S'il existe des clones d'un instantan intermdiaire, vous devez spcifier l'option -R pour
dtruire galement les clones.
Remarque Si le systme de fichiers que vous souhaitez restaurer est actuellement mont, il doit
tre dmont, puis remont. Si le systme de fichiers ne peut pas tre dmont, la restauration
choue. L'option -f force le dmontage du systme de fichiers, le cas chant.

Dans l'exemple suivant, le systme de fichiers tank/home/ahrens revient l'instantan


tuesday :
# zfs rollback tank/home/ahrens@tuesday
cannot rollback to tank/home/ahrens@tuesday: more recent snapshots exist
use -r to force deletion of the following snapshots:
tank/home/ahrens@wednesday
tank/home/ahrens@thursday
# zfs rollback -r tank/home/ahrens@tuesday

Dans l'exemple ci-dessus, les instantans wednesday et thursday sont supprims en raison de
la restauration de l'instantan tuesday prcdent.
# zfs list -r -t snapshot -o name,creation tank/home/ahrens
NAME
CREATION
tank/home/ahrens@tuesday Wed Aug 27 16:35 2008
Chapitre 7 Utilisation des instantans et des clones ZFS

181

Prsentation des clones ZFS

Prsentation des clones ZFS


Un clone est un volume ou un systme de fichiers accessible en criture et dont le contenu initial
est similaire celui du jeu de donnes partir duquel il a t cr. Tout comme pour les
instantans, la cration d'un clone est quasiment instantane et ne consomme initialement
aucun espace disque supplmentaire. Vous pouvez d'autre part crer un instantan d'un clone.

Cration d'un clone ZFS la page 182


Destruction d'un clone ZFS la page 183
Remplacement d'un systme de fichiers ZFS par un clone ZFS la page 183

Les clones se crent uniquement partir d'un instantan. Lors du clonage d'un instantan, une
dpendance implicite se cre entre le clone et l'instantan. Mme en cas de cration d'un clone
un autre emplacement de la hirarchie, l'instantan d'origine ne peut pas tre dtruit tant que le
clone existe. La proprit origin indique cette dpendance et la commande zfs destroy
rpertorie ces dpendances, le cas chant.
Un clone n'hrite pas des proprits du jeu de donnes partir duquel il a t cr. Les
commandes zfs get et zfs set permettent d'afficher et de modifier les proprits d'un jeu de
donnes clon. Pour de plus amples informations sur la configuration des proprits de jeux de
donnes ZFS, reportez-vous la section Dfinition des proprits ZFS la page 158.
Dans la mesure o un clone partage initialement son espace disque avec l'instantan d'origine,
la proprit used est initialement gale zro. mesure que le clone est modifi, il utilise de
plus en plus d'espace. La proprit used de l'instantan d'origine ne tient pas compte de l'espace
disque consomm par le clone.

Cration d'un clone ZFS


Pour crer un clone, utilisez la commande zfs clone en spcifiant l'instantan partir duquel
crer le clone, ainsi que le nom du nouveau volume ou systme de fichiers. Le nouveau volume
ou systme de fichiers peut se trouver tout emplacement de la hirarchie ZFS. Le type du
nouveau jeu de donnes (par exemple, systme de fichiers ou volume) est le mme que celui de
l'instantan partir duquel a t cr le clone. Vous ne pouvez pas crer le clone d'un systme de
fichiers dans un autre pool que celui de l'instantan du systme de fichiers d'origine.
Dans l'exemple suivant, un nouveau clone appel tank/home/ahrens/bug123 avec le mme
contenu initial que l'instantan tank/ws/gate@yesterday est cr.
# zfs snapshot tank/ws/gate@yesterday
# zfs clone tank/ws/gate@yesterday tank/home/ahrens/bug123

Dans l'exemple suivant, un espace de travail est cr partir de l'instantan


projects/newproject@today pour un utilisateur temporaire, sous le nom
projects/teamA/tempuser. Ensuite, les proprits sont configures dans l'espace de travail
clon.
182

Guide d'administration Solaris ZFS Octobre 2008

Prsentation des clones ZFS

#
#
#
#

zfs
zfs
zfs
zfs

snapshot projects/newproject@today
clone projects/newproject@today projects/teamA/tempuser
set sharenfs=on projects/teamA/tempuser
set quota=5G projects/teamA/tempuser

Destruction d'un clone ZFS


La commande zfs destroy permet de dtruire les clones ZFS. Exemple :
# zfs destroy tank/home/ahrens/bug123

Les clones doivent tre dtruits pralablement la destruction de l'instantan parent.

Remplacement d'un systme de fichiers ZFS par un


clone ZFS
La commande zfs promote permet de remplacer un systme de fichiers ZFS actif par un clone
de ce systme de fichiers. Cette fonction facilite le clonage et le remplacement des systmes de
fichiers pour que le systme de fichiers d'origine devienne le clone du systme de fichiers
spcifi. En outre, cette fonction permet de dtruire le systme de fichiers partir duquel le
clone a t cr. Il est impossible de dtruire un systme de fichiers "d'origine" possdant des
clones actifs, sans le remplacer par l'un de ses clones. Pour plus d'informations sur la
destruction des clones, reportez-vous la section Destruction d'un clone ZFS la page 183.
Dans l'exemple suivant, le systme de fichiers tank/test/productA est clon, puis le clone du
systme de fichiers (tank/test/productAbeta) devient le systme de fichiers
tank/test/productA.
# zfs create tank/test
# zfs create tank/test/productA
# zfs snapshot tank/test/productA@today
# zfs clone tank/test/productA@today tank/test/productAbeta
# zfs list -r tank/test
NAME
USED AVAIL REFER MOUNTPOINT
tank/test
314K 8.24G 25.5K /tank/test
tank/test/productA
288K 8.24G 288K /tank/test/productA
tank/test/productA@today
0
- 288K tank/test/productAbeta
0 8.24G 288K /tank/test/productAbeta
# zfs promote tank/test/productAbeta
# zfs list -r tank/test
NAME
USED AVAIL REFER MOUNTPOINT
tank/test
316K 8.24G 27.5K /tank/test
tank/test/productA
0 8.24G 288K /tank/test/productA
tank/test/productAbeta 288K 8.24G 288K /tank/test/productAbeta
tank/test/productAbeta@today
0
- 288K Chapitre 7 Utilisation des instantans et des clones ZFS

183

Envoi et rception de donnes ZFS

Dans la sortie de zfs list, vous pouvez voir que la comptabilisation de l'espace du systme de
fichiers productA d'origine a t remplace par le systme de fichiers productAbeta.
Pour terminer le processus de remplacement de clone, renommez les systmes de fichiers.
Exemple :
# zfs rename tank/test/productA tank/test/productAlegacy
# zfs rename tank/test/productAbeta tank/test/productA
# zfs list -r tank/test
NAME
USED AVAIL REFER MOUNTPOINT
tank/test
316K 8.24G 27.5K /tank/test
tank/test/productA
288K 8.24G 288K /tank/test/productA
tank/test/productA@today
0
- 288K tank/test/productAlegacy
0 8.24G 288K /tank/test/productAlegacy

Vous pouvez galement supprimer l'ancien systme de fichiers si vous le souhaitez. Exemple :
# zfs destroy tank/test/productAlegacy

Envoi et rception de donnes ZFS


La commande zfs send cre une reprsentation de flux d'un instantan qui est crite dans la
sortie standard. Un flux complet est gnr par dfaut. Vous pouvez rediriger la sortie vers un
fichier ou un systme fichier. La commande zfs receive cre un instantan dont le contenu est
spcifi dans le flux fourni dans l'entre standard. En cas de rception d'un flux complet, un
systme de fichiers est galement cr. Ces commandes permettent d'envoyer les donnes
d'instantan ZFS et de recevoir les systmes de fichiers et les donnes d'instantan ZFS.
Reportez-vous aux exemples de la section suivante.

Envoi d'un instantan ZFS la page 185


Rception d'un instantan ZFS la page 186
Rplication distante de donnes ZFS la page 190
Enregistrement de donnes ZFS l'aide d'autres produits de sauvegarde la page 190

Les solutions de sauvegarde suivantes sont disponibles pour enregistrer les donnes ZFS :

Produits de sauvegarde d'entreprise : si vous souhaitez disposer des fonctions suivantes,


considrez une solution de sauvegarde d'entreprise :

184

Restauration fichier par fichier


Vrification des mdias de sauvegarde
Gestion des mdias

Instantans de systmes de fichiers et restauration d'instantans Excutez les commandes


zfs snapshot et zfs rollback pour crer facilement une copie d'un systme de fichiers et
restaurer une version prcdente de systme de fichier, le cas chant. Par exemple, cette
solution permet de restaurer un ou plusieurs fichiers issus d'une version prcdente d'un
systme de fichiers.

Guide d'administration Solaris ZFS Octobre 2008

Envoi et rception de donnes ZFS

Pour de plus amples informations sur la cration et la restauration d'instantan,


reportez-vous la section Prsentation des instantans ZFS la page 177.

Enregistrement d'instantans : utilisez les commandes zfs send et zfs receive pour
envoyer et recevoir un instantan ZFS. Vous pouvez enregistrer les modifications
incrmentielles entre instantans, mais la restauration individuelle de fichiers est
impossible. L'instantan du systme doit tre restaur dans son intgralit. Ces commandes
ne constituent pas une solution de sauvegarde complte pour l'enregistrement de vos
donnes ZFS.

Rplication distante Utilisez les commandes zfs send et zfs receive lorsque vous
souhaitez copier un systme de fichiers d'un systme vers un autre. Ce processus diffre d'un
produit de gestion de volume classique qui pourrait mettre les priphriques en miroir dans
un WAN. Aucune configuration ni aucun matriel spcifique n'est requis. La rplication de
systmes de fichiers ZFS a ceci d'avantageux qu'elle permet de recrer un systme de fichiers
dans un pool de stockage et de spcifier diffrents niveaux de configuration pour le nouveau
pool, comme RAID-Z, mais avec des donnes de systme de fichiers identiques.

Utilitaires d'archivage : enregistrez les donnes ZFS l'aide d'utilitaires d'archivage tels que
tar, cpio et pax, ou des produits de sauvegarde tiers.

Envoi d'un instantan ZFS


Vous pouvez utiliser la commande zfs send pour envoyer une copie d'un instantan et
recevoir cet instantan dans un autre pool du mme systme ou dans un autre pool d'un
systme diffrent utilis pour stocker les donnes de sauvegarde. Pour par exemple envoyer
l'instantan un pool diffrent du mme systme, employez une syntaxe du type suivant :
# zfs send tank/data@snap1 | zfs recv spool/ds01

Si vous envoyez le flux de l'instantan un systme diffrent, envoyez la sortie de la commande


zfs send la commande ssh. Exemple :
host1# zfs send tank/dana@snap1 | ssh host2 zfs recv newtank/dana

Lors de l'envoi d'un flux complet, le systme de fichiers de destination ne doit pas exister.
Vous pouvez envoyer les donnes incrmentielles l'aide de l'option zfs send - i. Exemple :
host1# zfs send -i tank/dana@snap1 tank/dana@snap2 | ssh host2 zfs recv newtank/dana

Le premier argument correspond l'instantan le plus ancien (instantan1) et le second,


l'instantan le plus rcent (instantan2). Dans ce cas, le systme de fichiers newtank/dana doit
exister pour que la rception incrmentielle s'effectue correctement.
Chapitre 7 Utilisation des instantans et des clones ZFS

185

Envoi et rception de donnes ZFS

La source de l'instantan1 incrmentiel peut tre spcifie comme tant le dernier composant
du nom de l'instantan. Grce ce raccourci, il suffit de spcifier le nom aprs le signe @ pour
l'instantan1, qui est considr comme provenant du mme systme de fichiers que
l'instantan2. Exemple :
host1# zfs send -i snap1 tank/dana@snap2 > ssh host2 zfs recv newtank/dana

Cette syntaxe est quivalente l'exemple de syntaxe incrmentielle ci-dessus.


Le message s'affiche en cas de tentative de gnration d'un flux incrmentiel partir d'un
instantan1 provenant d'un autre systme de fichiers :
cannot send pool/fs@name: not an earlier snapshot from the same fs

Si vous devez stocker de nombreuses copies, vous avez la possibilit de compresser une
reprsentation de flux d'instantan ZFS l'aide de la commande gzip. Exemple :
# zfs send pool/fs@snap | gzip > backupfile.gz

Rception d'un instantan ZFS


Gardez les points suivants l'esprit lorsque vous recevez un instantan d'un systme de fichiers :

L'instantan et le systme de fichiers sont reus.

Le systme de fichiers et tous les systmes de fichiers descendants sont dmonts.

Les systmes de fichiers sont inaccessibles tant qu'ils sont en cours de rception.

Le systme de fichiers d'origine recevoir ne doit pas exister tant qu'il est en cours de
transfert.

Si le nom du systme de fichiers choisi existe dj, la commande zfs rename permet de
renommer le systme de fichiers.

Exemple :
#
#
#
#

zfs
zfs
zfs
zfs

send tank/gozer@0830 > /bkups/gozer.083006


receive tank/gozer2@today < /bkups/gozer.083006
rename tank/gozer tank/gozer.old
rename tank/gozer2 tank/gozer

Vous pouvez utiliser zfs recv en tant qu'alias pour la commande zfs receive.
Si vous apportez des modifications au systme de fichiers de destination et souhaitez effectuer
un autre envoi incrmentiel d'instantan, vous devez au pralable restaurer le systme de
fichiers destinataire.
Par exemple, si vous effectuez les modifications dans le systme de fichiers comme ci-dessous :
186

Guide d'administration Solaris ZFS Octobre 2008

Envoi et rception de donnes ZFS

host2# rm newtank/dana/file.1

Si vous effectuez un envoi incrmentiel de tank/dana@snap3, vous devez tout d'abord restaurer
le systme de fichiers pour recevoir le nouvel instantan incrmentiel. L'option -F permet
d'viter l'tape de restauration. Exemple :
host1# zfs send -i tank/dana@snap2 tank/dana@snap3 | ssh host2 zfs recv -F newtank/dana

Lors de la rception d'un instantan incrmentiel, le systme de fichiers de destination doit dj


exister.
Si vous apportez des modifications au systme de fichiers sans restaurer le systme de fichiers
destinataire pour permettre la rception du nouvel instantan incrmentiel, ou si vous ne
spcifiez pas l'option -F, le message suivant s'affiche :
host1# zfs send -i tank/dana@snap4 tank/dana@snap5 | ssh host2 zfs recv newtank/dana
cannot receive: destination has been modified since most recent snapshot

Les vrifications suivantes sont requises pour assurer l'excution de l'option -F :

Si l'instantan le plus rcent ne correspond pas la source incrmentielle, la restauration et


la rception ne s'effectuent pas intgralement et un message d'erreur s'affiche.

Si vous avez fourni accidentellement le nom d'un systme de fichiers qui ne correspond pas
la source incrmentielle la commande zfs receive, la restauration et la rception ne
s'effectuent pas correctement et le message d'erreur suivant s'affiche.
cannot send pool/fs@name: not an earlier snapshot from the same fs

Envoi et rception de flux d'instantans ZFS


complexes
Cette section dcrit l'utilisation des options zfs send -I et -R pour envoyer et recevoir des flux
d'instantans plus complexes.
Gardez les points suivants l'esprit lors de l'envoi et de la rception de flux d'instantans ZFS :

Utilisez l'option zfs send -I pour envoyer tous les flux incrmentiels d'un instantan un
instantan cumul. Vous pouvez galement utiliser cette option pour envoyer un flux
incrmentiel de l'instantan d'origine pour crer un clone. L'instantan d'origine doit dj
exister sur le ct rcepteur afin d'accepter le flux incrmentiel.

Utilisez l'option zfs send -R pour envoyer un flux de rplication de tous les systmes de
fichiers descendants. Une fois reus, les proprits, instantans, systmes de fichiers
descendants et clones sont conservs.

Vous pouvez galement utiliser les deux options pour envoyer un flux de rplication
incrmentiel.

Chapitre 7 Utilisation des instantans et des clones ZFS

187

Envoi et rception de donnes ZFS

Les modifications apportes aux proprits, ainsi que les changements de nom et
destructions d'instantan et de systme de fichiers sont conservs.

Si l'option zfs recv -F n'est pas spcifie lors de la rception du flux de rplication, les
destructions de jeu de donnes sont ignores. La syntaxe de zfs recv -F dans ce cas peut
conserve galement sa signification de rcupration le cas chant.

Tout comme dans les autres cas (autres que zfs send -R) - i ou -I, si l'option -I est
utilise, tous les instantans crs entre instantanA et instantanD sont envoys. Si
l'option -i est utilise, seul l'instantanD (de tous les descendants) est envoy.

Pour recevoir ces nouveaux types de flux zfs send, le systme rcepteur doit excuter une
version du logiciel capable de les envoyer. La version des flux est incrmente.
Vous pouvez cependant accder des flux d'anciennes versions de pool en utilisant une
version plus rcente du logiciel. Vous pouvez par exemple envoyer et recevoir des flux crs
l'aide des nouvelles options partir d'un pool de la version 3. Vous devez par contre
excuter un logiciel rcent pour recevoir un flux envoy avec les nouvelles options.

EXEMPLE 71

Envoi et rception de flux d'instantans ZFS complexes (exemples)

Plusieurs instantans incrmentiels peuvent tre regroups en un seul instantan l'aide de


l'option zfs send -I. Exemple :
# zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@all-I

Supprimez les instantans B, C et D.


# zfs destroy pool/fs@snapB
# zfs destroy pool/fs@snapC
# zfs destroy pool/fs@snapD

Recevez l'instantan regroup.


# zfs receive -d -F pool/fs < /snaps/fs@all-I
# zfs list
NAME
USED AVAIL REFER
pool
428K 16.5G
20K
pool/fs
71K 16.5G
21K
pool/fs@snapA
16K
- 18.5K
pool/fs@snapB
17K
20K
pool/fs@snapC
17K
- 20.5K
pool/fs@snapD
0
21K

MOUNTPOINT
/pool
/pool/fs
-

Vous pouvez galement utiliser la commande zfs send -I pour regrouper un instantan et un
clone d'instantan en un nouveau jeu de donnes. Exemple :
# zfs create pool/fs
# zfs snapshot pool/fs@snap1
# zfs clone pool/fs@snap1 pool/clone
188

Guide d'administration Solaris ZFS Octobre 2008

Envoi et rception de donnes ZFS

EXEMPLE 71

#
#
#
#
#

zfs
zfs
zfs
zfs
zfs

Envoi et rception de flux d'instantans ZFS complexes (exemples)

(Suite)

snapshot pool/clone@snapA
send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I
destroy pool/clone@snapA
destroy pool/clone
receive -F pool/clone < /snaps/fsclonesnap-I

Utilisez la commande zfs send -R pour rpliquer un systme de fichiers ZFS et tous ses
systmes de fichiers descendants, jusqu' l'instantan nomm. Une fois reus, les proprits,
instantans, systmes de fichiers descendants et clones sont conservs.
Dans l'exemple suivant, des instantans des systmes de fichiers utilisateur sont crs. Un flux
de rplication de tous les instantans utilisateur est cr. Les systmes de fichiers et instantans
d'origine sont ensuite dtruits et rcuprs.
# zfs snapshot -r users@today
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
users
187K 33.2G
22K /users
users@today
0
22K users/user1
18K 33.2G
18K /users/user1
users/user1@today
0
18K users/user2
18K 33.2G
18K /users/user2
users/user2@today
0
18K users/user3
18K 33.2G
18K /users/user3
users/user3@today
0
18K # zfs send -R users@today > /snaps/users-R
# zfs destroy -r users
# zfs receive -F -d users < /snaps/users-R
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
users
196K 33.2G
22K /users
users@today
0
22K users/user1
18K 33.2G
18K /users/user1
users/user1@today
0
18K users/user2
18K 33.2G
18K /users/user2
users/user2@today
0
18K users/user3
18K 33.2G
18K /users/user3
users/user3@today
0
18K -

Vous pouvez utiliser la commande zfs send -R pour rpliquer le jeu de donnes users et ses
descendants, puis envoyer le flux rpliqu un autre pool, users2.
# zfs create users2 mirror c0t1d0 c1t1d0
# zfs receive -F -d users2 < /snaps/users-R
# zfs list
NAME
USED AVAIL REFER MOUNTPOINT
Chapitre 7 Utilisation des instantans et des clones ZFS

189

Envoi et rception de donnes ZFS

EXEMPLE 71

Envoi et rception de flux d'instantans ZFS complexes (exemples)

users
users@today
users/user1
users/user1@today
users/user2
users/user2@today
users/user3
users/user3@today
users2
users2@today
users2/user1
users2/user1@today
users2/user2
users2/user2@today
users2/user3
users2/user3@today

224K
0
33K
15K
18K
0
18K
0
188K
0
18K
0
18K
0
18K
0

33.2G
33.2G
33.2G
33.2G
16.5G
16.5G
16.5G
16.5G
-

22K
22K
18K
18K
18K
18K
18K
18K
22K
22K
18K
18K
18K
18K
18K
18K

(Suite)

/users
/users/user1
/users/user2
/users/user3
/users2
/users2/user1
/users2/user2
/users2/user3
-

Rplication distante de donnes ZFS


Les commandes zfs send et zfs recv permettent d'effectuer une copie distante d'une
reprsentation de flux d'instantan d'un systme vers un autre. Exemple :
# zfs send tank/cindy@today | ssh newsys zfs recv sandbox/restfs@today

Cette commande envoie les donnes de l'instantan tank/cindy@today, le reoit dans le


systme de fichiers sandbox/restfs et cre galement un instantan restfs@today sur le
systme newsys. Dans cet exemple, l'utilisateur a t configur pour utiliser ssh dans le systme
distant.

Enregistrement de donnes ZFS l'aide d'autres


produits de sauvegarde
Outre les commandes zfs send et zfs receive, vous pouvez utiliser des utilitaires d'archivage,
tels que les commandes tar et cpio pour enregistrer des fichiers ZFS. Tous ces utilitaires
enregistrent et restaurent les attributs de fichiers et les ACL ZFS. Vrifiez les options adquates
des commandes tar et cpio.
Pour connatre les toutes dernires informations relatives ZFS et aux problmes concernant
les produits de sauvegarde tiers, consultez les notes de version de Solaris 10 ou la FAQ de ZFS
l'adresse :
http://opensolaris.org/os/community/zfs/faq/#backupsoftware

190

Guide d'administration Solaris ZFS Octobre 2008

C H A P I T R E

Utilisation des ACL pour la protection de


fichiers ZFS

Ce chapitre dcrit l'utilisation des listes de contrle d'accs (ACL, Access Control List) pour
protger les fichiers ZFS en accordant plus de droits granulaires que de droits UNIX standard.
Il contient les sections suivantes :

Nouveau modle ACL Solaris la page 191


Configuration d'ACL dans des fichiers ZFS la page 198
Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill la page 200
Configuration et affichage d'ACL dans des fichiers ZFS en format compact la page 216

Nouveau modle ACL Solaris


Les versions prcdentes les plus rcentes de Solaris assuraient la prise en charge d'une
implmentation ACL reposant principalement sur la spcification POSIX-draft ACL. Les ACL
bases sur POSIX-draft sont utilises pour protger les fichiers UFS et sont traduites par les
versions de NFS antrieures NFSv4.
Grce l'introduction de NFSv4, un nouveau modle d'ACL assure entirement la prise en
charge de l'interoprabilit qu'offre NFSv4 entre les clients UNIX et non UNIX. La nouvelle
implmentation d'ACL, telle que dfinie dans les spcifications NFSv4, fournit des smantiques
bien plus riches, bases sur des ACL NT.
Les diffrences principales du nouveau modle d'ACL sont les suivantes :

modle bas sur la spcification NFSv4 et similaire aux ACL de type NT ;

jeu de privilges d'accs bien plus granulaire ; Pour plus d'informations, reportez-vous au
Tableau 82.

configuration et affichage avec les commandes chmod et ls, et non les commandes setfacl
et getfacl ;
191

Nouveau modle ACL Solaris

smantique d'hritage bien plus riche pour dterminer comment les privilges d'accs sont
appliqus d'un rpertoire un sous-rpertoire, et ainsi de suite. Pour plus d'informations,
reportez-vous la section Hritage d'ACL la page 196.

Les deux modles d'ACL assurent un contrle d'accs bien plus fin, et disponible avec les droits
de fichier standard. De faon similaire aux listes de contrle d'accs POSIX-draft, les nouvelles
ACL se composent de plusieurs ACE (Access Control Entry, entres de contrle d'accs).
Les ACL POSIX-draft utilisent une seule entre pour dfinir les droits autoriss et celles qui ne
le sont pas. Le nouveau modle d'ACL dispose de deux types d'ACE qui affectent la vrification
d'accs : ALLOW et DENY. Il est en soi impossible de dduire de toute entre de contrle d'accs
(ACE) dfinissant un groupe de droits si les droits qui n'ont pas t dfinis dans cette ACE sont
ou non autoriss.
La conversion entre les ACL NFSv4 et les ACL POSIX-draft s'effectue comme suit :

Si vous employez un utilitaire compatible avec les ACL (les commandes cp, mv, tar, cpio ou
rcp, par exemple) pour transfrer des fichiers UFS avec des ACL vers un systme de fichiers
ZFS, les ACL POSIX-draft sont converties en ACL NFSv4 quivalentes.

Les ACL NFSv4 sont converties en ACL POSIX-draft. Un message tel que le suivant s'affiche
si une ACL NFSv4 n'est pas convertie en ACL POSIX-draft :
# cp -p filea /var/tmp
cp: failed to set acl entries on /var/tmp/filea

Si vous crez une archive cpio ou tar UFS avec l'option de conservation des ACL (tar -p ou
cpio -P) dans un systme excutant la version actuelle de Solaris, les ACL sont perdues en
cas d'extraction de l'archive sur un systme excutant une version prcdente de Solaris.
Tous les fichiers sont extraits avec les modes de fichier corrects, mais les entres d'ACL sont
ignores.

Vous pouvez utiliser la commande ufsrestore pour restaurer des donnes dans un systme
de fichiers ZFS. Si les donnes d'origine incluent des ACL POSIX-style, elles sont converties
en ACL NFSv4-style.

En cas de tentative de configuration d'une ACL SFSv4 dans un fichier UFS, un message tel
que le suivant s'affiche :
chmod: ERROR: ACL types are different

En cas de tentative de configuration d'une ACL POSIX dans un fichier ZFS, un message tel
que le suivant s'affiche :
# getfacl filea
File system doesnt support aclent_t style ACLs.
See acl(5) for more information on Solaris ACL support.

192

Guide d'administration Solaris ZFS Octobre 2008

Nouveau modle ACL Solaris

Pour obtenir des informations sur les autres limitations des ACL et des produits de sauvegarde,
reportez-vous la section Enregistrement de donnes ZFS l'aide d'autres produits de
sauvegarde la page 190.

Descriptions de syntaxe pour la configuration des ACL


Deux formats d'ACL de base sont fournis comme suit :
Syntax for Setting Trivial ACLs
chmod [options] A[index]{+|=}owner@ |group@ |everyone@: droits d'accs/...[:indicateurs
d'hritage]: deny | allow fichier
chmod [options] A-owner@, group@, everyone@:droits d'accs /...[:indicateurs
d'hritage]:deny | allow fichier ...
chmod [options] A[index]- fichier
Syntaxe pour la configuration d'ACL non triviales
chmod [options] A[index]{+|=}user|group:name:droits d'accs /...[:indicateurs
d'hritage]:deny | allow fichier
chmod [options] A-user|group:name:droits d'accs /...[:indicateurs d'hritage]:deny |
allow fichier ...
chmod [options] A[index]- fichier
owner@, group@, everyone@
Identifie le type d'entre d'ACL pour la syntaxe d'ACL triviale. Pour obtenir une description
des types d'entres d'ACL, reportez-vous au Tableau 81.
utilisateur ou groupe :ID-entre-ACL=nomutilisateur ou nomgroupe
Identifie le type d'entre d'ACL pour la syntaxe d'ACL explicite. Le type d'entre d'ACL pour
l'utilisateur et le groupe doit galement contenir l'ID d'entre d'ACL, le nom d'utilisateur ou
le nom de groupe. Pour obtenir une description des types d'entres d'ACL, reportez-vous au
Tableau 81.
droits-accs/.../
Identifie les droits d'accs accords ou refuss. Pour obtenir une description des privilges
d'accs d'ACL, reportez-vous au Tableau 82.
indicateurs-hritage
Identifie une liste optionnelle d'indicateurs d'hritage d'ACL. Pour une description des
indicateurs d'hritage d'ACL, reportez-vous au Tableau 83.
deny | allow
Dtermine si les droits d'accs sont accords ou refuss.
Dans l'exemple suivant, la valeur de l'ID d'entre d'ACL n'est pas pertinente.
Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

193

Nouveau modle ACL Solaris

group@:write_data/append_data/execute:deny

L'exemple suivant inclut un ID d'entre d'ACL car un utilisateur spcifique (type d'entre d'ACL)
est inclus dans la liste.
0:user:gozer:list_directory/read_data/execute:allow

Lorsqu'une entre d'ACL s'affiche, elle est similaire celle-ci :


2:group@:write_data/append_data/execute:deny

La dsignation 2 ou ID d'index dans cet exemple identifie l'entre d'ACL dans la plus grande
ACL, qui peut prsenter plusieurs entres pour le propritaire, des UID spcifiques, un groupe
et pour tous. Vous pouvez spcifier l'ID d'index avec la commande chmod pour identifier la
partie de l'ACL que vous souhaitez modifier. Par exemple, vous pouvez identifier l'ID d'index 3
par A3 dans la commande chmod comme ci-dessous :
chmod A3=user:venkman:read_acl:allow filename

Les types d'entres d'ACL (qui sont les reprsentations d'ACL du propritaire, du groupe et
autres) sont dcrits dans le tableau suivant.
TABLEAU 81

Types d'entres d'ACL

Type d'entre d'ACL

Description

owner@

Spcifie l'accs accord au propritaire de l'objet.

group@

Spcifie l'accs accord au groupe propritaire de l'objet.

everyone@

Spcifie l'accs accord tout utilisateur ou groupe ne correspondant aucune


autre entre d'ACL.

user

Avec un nom d'utilisateur, spcifie l'accs accord un utilisateur supplmentaire


de l'objet. Doit inclure l'ID d'entre d'ACL qui contient un nom d'utilisateur ou un
ID utilisateur. Le type d'entre d'ACL est incorrect si la valeur n'est ni un UID
numrique, ni un nom d'utilisateur.

group

Avec un nom de groupe, spcifie l'accs accord un utilisateur supplmentaire de


l'objet. Doit inclure l'ID d'entre d'ACL qui contient un nom de groupe ou un ID de
groupe. Le type d'entre d'ACL est incorrect si la valeur n'est ni un GID numrique,
ni un nom de groupe.

Les privilges d'accs sont dcrits dans le tableau suivant.

194

Guide d'administration Solaris ZFS Octobre 2008

Nouveau modle ACL Solaris

TABLEAU 82

Privilges d'accs d'ACL

Privilge d'accs

Privilge d'accs
compact

Description

add_file

Droit d'ajouter un fichier un rpertoire.

add_subdirectory

Dans un rpertoire, droit de crer un sous-rpertoire.

append_data

Marque de rservation. Non implmente actuellement.

delete

Droit de supprimer un fichier.

delete_child

Droit de supprimer un fichier ou un rpertoire au sein d'un


rpertoire.

excution

Droit d'excuter un fichier ou d'effectuer une recherche dans le


contenu d'un rpertoire.

list_directory

Droit de dresser la liste du contenu d'un rpertoire.

read_acl

Droit de lire l'ACL (ls).

read_attributes

Droit de lire les attributs de base (non ACL) d'un fichier.


Considrez les attributs de base comme les attributs de niveau stat.
L'autorisation de ce bit de masque d'accs signifie que l'entit peut
excuter ls(1) et stat(2).

read_data

Droit de lire le contenu du fichier.

read_xattr

Droit de lire les attributs tendus d'un fichier ou d'effectuer une


recherche dans le rpertoire d'attributs tendus d'un fichier.

synchroniser

Marque de rservation. Non implmente actuellement.

write_xattr

Droit de crer des attributs tendus ou d'crire dans le rpertoire


d'attributs tendus.
L'attribution de ce droit un utilisateur signifie que ce dernier peut
crer un rpertoire d'attributs tendus pour un fichier. Les droits du
fichier d'attributs contrlent l'accs de l'utilisateur l'attribut.

write_data

Droit de modifier ou de remplacer le contenu d'un fichier.

write_attributes

Droit de remplacer les dures associes un fichier ou un rpertoire


par une valeur arbitraire.

write_acl

Droit d'criture sur l'ACL ou capacit de la modifier l'aide de la


commande chmod.

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

195

Nouveau modle ACL Solaris

TABLEAU 82

Privilges d'accs d'ACL

Privilge d'accs

Privilge d'accs
compact

write_owner

(Suite)
Description

Droit de modifier le propritaire ou le groupe d'un fichier. Ou


capacit d'excuter les commandes chown ou chgrp sur le fichier.
Droit de devenir propritaire d'un fichier ou droit de dfinir la
proprit de groupe du fichier sur un groupe dont fait partie
l'utilisateur. Le privilge PRIV_FILE_CHOWN est requis pour dfinir la
proprit de fichier ou de groupe sur un groupe ou un utilisateur
arbitraire.

Hritage d'ACL
L'hritage d'ACL a pour finalit de permettre un fichier ou rpertoire rcemment cr
d'hriter des ACL qui leurs sont destines, tout en tenant compte des bits de droits existants
dans le rpertoire parent.
Par dfaut, les ACL ne sont pas propages. Si vous configurez une ACL non triviale dans un
rpertoire, aucun rpertoire subsquent n'en hrite. Vous devez spcifier l'hritage d'une ACL
dans un fichier ou un rpertoire.
Les indicateurs d'hritage facultatifs sont dcrits dans le tableau suivant.
TABLEAU 83

196

Indicateurs d'hritage d'ACL

Indicateur d'hritage

Indicateur d'hritage
compact

file_inherit

Hrite de l'ACL uniquement partir du rpertoire parent vers


les fichiers du rpertoire.

dir_inherit

Hrite de l'ACL uniquement partir du rpertoire parent vers


les sous-rpertoires du rpertoire.

inherit_only

Hrite de l'ACL partir du rpertoire parent mais ne s'applique


qu'aux fichiers et sous-rpertoires rcemment crs, pas au
rpertoire lui-mme. Cet indicateur requiert les indicateurs
file_inherit et/ou dir_inherit afin de spcifier ce qui doit
tre hrit.

no_propagate

N'hrite que de l'ACL provenant du rpertoire parent vers le


contenu de premier niveau du rpertoire, et non les contenus
de second niveau et suivants. Cet indicateur requiert les
indicateurs file_inherit et/ou dir_inherit afin de spcifier
ce qui doit tre hrit.

SO

Aucun droit n'est accord.

Guide d'administration Solaris ZFS Octobre 2008

Description

Nouveau modle ACL Solaris

De plus, vous pouvez configurer un hritage d'ACL par dfaut plus ou moins strict sur le
systme de fichiers l'aide de la proprit de systme de fichiers aclinherit. Pour de plus
amples informations, consultez la section suivante.

Modes de proprits d'ACL


Le systme de fichiers ZFS inclut deux modes de proprits relatifs aux ACL :

aclinherit Cette proprit dtermine le comportement de l'hritage d'ACL. Les valeurs


possibles sont les suivantes :

discard Pour les nouveaux objets, aucune entre d'ACL n'est hrite lors de la cration
d'un fichier ou d'un rpertoire. L'ACL dans le fichier ou le rpertoire est gale au mode de
droit du fichier ou rpertoire.

noallow Pour les nouveaux objets, seules les entres d'ACL hritables dont le type
d'accs est deny sont hrites.

secure restricted Pour les nouveaux objets, les droits write_owner et write_acl
sont supprims lorsqu'une entre d'ACL est hrite.

passthrough Lorsqu'une valeur de proprit est dfinie sur passthrough, les fichiers
sont crs dans un mode dtermin par les ACE hrites. Si aucune ACE pouvant tre
hrite n'affecte le mode, ce mode est alors dfini en fonction du mode demand partir
de l'application.

Le mode par dfaut de aclinherit est securerestricted.

aclmode Cette proprit modifie le comportement des ACL lorsqu'un fichier est cr ou
chaque fois que le mode d'un fichier ou d'un rpertoire est modifi l'aide de la commande
chmod. Les valeurs possibles sont les suivantes :

discard Toutes les entres d'ACL sont supprimes l'exception des entres
ncessaires la dfinition du mode pour le fichier ou le rpertoire.

groupmask Les droits d'ACL de groupe ou d'utilisateur sont rduits de manire ce


qu'ils ne soient pas suprieurs aux bits de droit du groupe, moins qu'il ne s'agisse d'une
entre d'utilisateur ayant le mme UID que le propritaire du fichier ou du rpertoire.
Ensuite, les droits d'ACL sont rduits afin qu'ils ne dpassent pas les bits de droit du
propritaire.

passthrough Au cours d'une opration chmod, les ACE autres que owner@, group@ ou
everyone@ ne sont modifies d'aucune manire. Les ACE owner@, group@ ou everyone@
sont dsactives afin de dfinir le mode de fichier comme demand par l'opration
chmod.

Le mode par dfaut de la proprit aclmode est groupmask.


Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

197

Configuration d'ACL dans des fichiers ZFS

Configuration d'ACL dans des fichiers ZFS


Dans la mesure o elles sont implmentes avec ZFS, les ACL se composent d'un tableau
d'entres d'ACL. ZFS fournit un modle d'ACL pur, dans lequel tous les fichiers prsentent une
ACL. L'ACL est habituellement insignifiante dans la mesure o elle ne reprsente que les entres
UNIX traditionnelles owner/group/other.
Les fichiers ZFS disposent toujours de bits de droit et d'un mode, mais ces valeurs constituent
plus un cache de ce que reprsente une ACL. Par consquent, si vous modifiez les droit du
fichier, l'ACL du fichier est mise jour en consquence. En outre, si vous supprimez une ACL
non triviale qui accordait un utilisateur l'accs un fichier ou un rpertoire, il est possible
que cet utilisateur y ait toujours accs en raison des bits de droit qui accordent l'accs un
groupe ou tous. L'ensemble des dcisions de contrle d'accs est rgi par les droit reprsents
dans l'ACL d'un fichier ou d'un rpertoire.
Les rgles principales d'accs aux ACL dans un fichier ZFS sont comme suit :

ZFS traite les entres d'ACL dans l'ordre dans lesquelles elles sont rpertories dans l'ACL,
en partant du haut.

Seules les entres d'ACL disposant d'un " who " correspondant au demandeur d'accs sont
traites.

Une fois le droit allow accord, ce dernier ne peut plus tre refus par la suite par une entre
d'ACL de refus dans le mme jeu de droits d'ACL.

Le propritaire du fichier dispose du droit write_acl de faon inconditionnelle, mme si


celui-ci est explicitement refus. Dans le cas contraire, tout droit non spcifi est refus.
Dans les cas de droits deny ou lorsqu'un droit d'accs est manquant, le sous-systme de
privilges dtermine la requte d'accs accorde pour le propritaire du fichier ou pour le
superutilisateur. Ce mcanisme vite que les propritaires de fichiers puissent accder
leurs fichiers et permet aux superutilisateurs de modifier les fichiers des fins de
rcupration.

Si vous configurez une ACL non triviale dans un rpertoire, les enfants du rpertoire n'en
hritent pas automatiquement. Si vous configurez une ACL non triviale, et souhaitez qu'elle soit
hrite par les enfants du rpertoire, vous devez utiliser les indicateurs d'hritage d'ACL. Pour
plus d'informations, consultez le Tableau 83 et la section Configuration d'hritage d'ACL
dans des fichiers ZFS en format dtaill la page 206.
Lorsque vous crez un fichier, en fonction de la valeur umask, une ACL triviale par dfaut,
similaire la suivante, est applique :
$ ls -v file.1
-r--r--r-- 1 root
root
206663 May 4 11:52 file.1
0:owner@:write_data/append_data/execute:deny
1:owner@:read_data/write_xattr/write_attributes/write_acl/write_owner
:allow
198

Guide d'administration Solaris ZFS Octobre 2008

Configuration d'ACL dans des fichiers ZFS

2:group@:write_data/append_data/execute:deny
3:group@:read_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow

Notez que chaque catgorie d'utilisateur (owner@, group@, everyone@) de cet exemple dispose
de deux entres d'ACL. Une entre correspond aux droits deny et une autre, aux droits allow.
Voici une description de l'ACL de ce fichier :
0:owner@

Les droits d'criture et d'excution sur fichier sont refuss au propritaire


(write_data/append_data/execute:deny).

1:owner@

Le propritaire peut lire et modifier le contenu d'un fichier (


read_data/write_data/append_data). Il peut galement modifier les
attributs du fichier tels que les horodatages, les attributs tendus et les ACL
(write_xattr/write_attributes /write_acl). De plus, le propritaire
peut modifier la proprit du fichier (write_owner:allow).

2:group@

Les droits de modification et d'excution sur fichier sont refuss au groupe


(write_data/append_data/execute:deny).

3:group@

Des droits de lecture du fichier sont accords au groupe (read_data:allow).

4:everyone@

Le droit d'excuter ou de modifier le contenu ou tout attribut d'un fichier est


refus toute personne ne correspondant ni un groupe ni un utilisateur
(write_data/append_data/write_xattr/execute/
write_attributes/write_acl/write_owner:deny ).

5:everyone@

Les droits de lecture du fichier et de ses attributs sont attribus toute


personne ne correspondant ni un utilisateur ni un groupe
(read_data/read_xattr/read_attributes/read_acl/
synchronize:allow ). Le droit d'accs synchronize n'est actuellement pas
implment.

Lorsqu'un rpertoire est cr, en fonction de la valeur umask, l'ACL par dfaut du rpertoire est
similaire l'exemple suivant :
$ ls -dv dir.1
drwxr-xr-x 2 root
root
2 Feb 23 10:37 dir.1
0:owner@::deny
1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
2:group@:add_file/write_data/add_subdirectory/append_data:deny
3:group@:list_directory/read_data/execute:allow
4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

199

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

/write_attributes/write_acl/write_owner:deny
5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Voici une description de l'ACL de ce rpertoire :


0:owner@

La liste de refus du propritaire est vide pour le rpertoire (::deny).

1:owner@

Le propritaire peut lire et modifier le contenu du rpertoire


(list_directory/read_data/add_file/write_data/
add_subdirectory/append_data ), effectuer des recherches dans le contenu
(execute) et modifier les attributs du fichier, notamment les horodatages, les
attributs tendus et les ACL ( write_xattr/write_attributes/write_acl).
De plus, le propritaire peut modifier la proprit du rpertoire
(write_owner:allow).

2:group@

Le groupe ne peut pas ajouter ni modifier le contenu du rpertoire


(add_file/write_data/add_subdirectory/append_data
:deny).

3:group@

Le groupe peut rpertorier et lire le contenu du rpertoire. De plus, le groupe


dispose de droits d'excution pour effectuer des recherches dans le contenu
du rpertoire (list_directory/read_data/execute:allow).

4:everyone@

Le droit d'ajouter ou de modifier le contenu du rpertoire est refus toute


personne ne correspondant ni un utilisateur ni un groupe
(add_file/write_data/add_subdirectory/append_data ). De plus, le
droit de modifier les attributs du rpertoire est refus. (write_xattr
/write_attributes/write_acl/write_owner:deny).

5:everyone@

Toute personne n'tant ni un utilisateur ni un groupe dispose de droits de


lecture et d'excution sur le contenu et les attributs du rpertoire
(list_directory/read_data/read_xattr/execute/read_
attributes/read_acl/synchronize:allow ). Le droit d'accs synchronize
n'est actuellement pas implment.

Configuration et affichage d'ACL dans des fichiers ZFS en


format dtaill
Vous pouvez modifier les ACL dans des fichiers ZFS l'aide de la commande chmod. La syntaxe
chmod suivante pour la modification de l'ACL utilise la spcification acl pour identifier le format
de la liste. Pour une description de la spcification ACL, reportez-vous la section Descriptions
de syntaxe pour la configuration des ACL la page 193.

200

Ajout d'entres d'ACL

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

Ajout d'une entre d'ACL pour un utilisateur


% chmod A+acl-specification filename

Ajout d'une entre d'ACL par ID d'index


% chmod Aindex-ID+acl-specification filename

Cette syntaxe insre la nouvelle entre d'ACL l'emplacement d'ID d'index spcifi.

Remplacement d'une entre d'ACL


% chmod A=acl-specification filename
% chmod Aindex-ID=acl-specification filename

Suppression d'entres d'ACL

Suppression d'une entre d'ACL par l'ID d'index


% chmod Aindex-ID- filename

Suppression d'une entre d'ACL par utilisateur


% chmod A-acl-specification filename

Suppression de la totalit des ACE non triviales d'un fichier


% chmod A- filename

Les informations dtailles de l'ACL s'affichent l'aide de la commande ls - v. Exemple :


# ls -v file.1
-rw-r--r-- 1 root
root
206663 Feb 16 11:00 file.1
0:owner@:execute:deny
1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
2:group@:write_data/append_data/execute:deny
3:group@:read_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow

Pour obtenir des informations sur l'utilisation du format d'ACL compact, consultez
Configuration et affichage d'ACL dans des fichiers ZFS en format compact la page 216.

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

201

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 81

Modification des ACL triviales dans des fichiers ZFS

Cette section fournit des exemples de dfinition et d'affichage d'ACL insignifiantes.


Dans l'exemple suivant, une ACL triviale existe dans le fichier file.1 :
# ls -v file.1
-rw-r--r-- 1 root
root
206663 Feb 16 11:00 file.1
0:owner@:execute:deny
1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
2:group@:write_data/append_data/execute:deny
3:group@:read_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow

Dans l'exemple suivants, les droits write_data sont accords au groupe group@.
# chmod A2=group@:append_data/execute:deny file.1
# chmod A3=group@:read_data/write_data:allow file.1
# ls -v file.1
-rw-rw-r-- 1 root
root
206663 May 3 16:36 file.1
0:owner@:execute:deny
1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
2:group@:append_data/execute:deny
3:group@:read_data/write_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow

Dans l'exemple suivant, les droits du fichier file.1 sont reconfigurs sur 644.
# chmod 644 file.1
# ls -v file.1
-rw-r--r-- 1 root
root
206663 May 3 16:36 file.1
0:owner@:execute:deny
1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
2:group@:write_data/append_data/execute:deny
3:group@:read_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow

202

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 82

Configuration d'ACL non triviales dans des fichiers ZFS

Cette section fournit des exemples de configuration et d'affichage d'ACL non triviales.
Dans l'exemple suivant, les droits read_data/execute sont ajouts l'utilisateur gozer dans le
rpertoire test.dir.
# chmod A+user:gozer:read_data/execute:allow test.dir
# ls -dv test.dir
drwxr-xr-x+ 2 root
root
2 Feb 16 11:12 test.dir
0:user:gozer:list_directory/read_data/execute:allow
1:owner@::deny
2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
3:group@:add_file/write_data/add_subdirectory/append_data:deny
4:group@:list_directory/read_data/execute:allow
5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Dans l'exemple suivant, les droits read_data/execute sont retirs l'utilisateur gozer.
# chmod A0- test.dir
# ls -dv test.dir
drwxr-xr-x 2 root
root
2 Feb 16 11:12 test.dir
0:owner@::deny
1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
2:group@:add_file/write_data/add_subdirectory/append_data:deny
3:group@:list_directory/read_data/execute:allow
4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow
EXEMPLE 83

Interactions entre les ACL et les droits dans les fichiers ZFS

Ces exemples d'ACL illustrent l'interaction entre la configuration d'ACL et la modification des
bits de droit du fichier ou du rpertoire.
Dans l'exemple suivant, une ACL triviale existe dans le fichier file.2:

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

203

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 83

Interactions entre les ACL et les droits dans les fichiers ZFS

(Suite)

# ls -v file.2
-rw-r--r-- 1 root
root
2703 Feb 16 11:16 file.2
0:owner@:execute:deny
1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
2:group@:write_data/append_data/execute:deny
3:group@:read_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow

Dans l'exemple suivant, les droits d'ACL (allow) sont retirs everyone@.
# chmod A5- file.2
# ls -v file.2
-rw-r----- 1 root
root
2703 Feb 16 11:16 file.2
0:owner@:execute:deny
1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
2:group@:write_data/append_data/execute:deny
3:group@:read_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny

Dans cette sortie, les bits de droit du fichier sont rinitialiss de 655 650. Les droits de lecture
de everyone@ ont t supprims des bits de droit du fichier lorsque les droits "allow" des ACL
ont t supprims de everyone@.
Dans l'exemple suivant, l'ACL existante est remplace par des droits read_data/write_data
pour everyone@.
# chmod A=everyone@:read_data/write_data:allow file.3
# ls -v file.3
-rw-rw-rw-+ 1 root
root
1532 Feb 16 11:18 file.3
0:everyone@:read_data/write_data:allow

Dans cette sortie, la syntaxe chmod remplace effectivement l'ACL existante par les droits
read_data/write_data:allow pour les droits de lecture/criture pour le propritaire, le
groupe et everyone@. Dans ce modle, everyone@ spcifie l'accs tout utilisateur ou groupe.
Dans la mesure o aucune entre d'ACL owner@ ou group@ n'existe pour ignorer les droits pour
l'utilisateur ou le groupe, les bits de droit sont dfinis sur 666.
Dans l'exemple suivant, l'ACL existante est remplace par des droits de lecture pour l'utilisateur
gozer.
204

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 83

Interactions entre les ACL et les droits dans les fichiers ZFS

(Suite)

# chmod A=user:gozer:read_data:allow file.3


# ls -v file.3
----------+ 1 root
root
1532 Feb 16 11:18 file.3
0:user:gozer:read_data:allow

Dans cette sortie, les droits de fichier sont calcules pour tre 000 car aucune entre d'ACL
n'existe pour owner@, group@, ou everyone@, qui reprsentent les composant de droit classiques
d'un fichier. Le propritaire du fichier peut rsoudre ce problme en rinitialisant les droits (et
l'ACL) comme suit :
# chmod 655 file.3
# ls -v file.3
-rw-r-xr-x+ 1 root
root
0 Mar 8 13:24 file.3
0:user:gozer::deny
1:user:gozer:read_data:allow
2:owner@:execute:deny
3:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
4:group@:write_data/append_data:deny
5:group@:read_data/execute:allow
6:everyone@:write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:deny
7:everyone@:read_data/read_xattr/execute/read_attributes/read_acl
/synchronize:allow
EXEMPLE 84

Restauration des ACL triviales dans des fichiers ZFS

Vous pouvez utiliser la commande chmod pour supprimer toutes les ACL non insignifiantes
d'un fichier ou d'un rpertoire.
Dans l'exemple suivant, deux ACE non insignifiantes existent dans test5.dir.
# ls -dv test5.dir
drwxr-xr-x+ 2 root
root
2 Feb 16 11:23 test5.dir
0:user:gozer:read_data:file_inherit:deny
1:user:lp:read_data:file_inherit:deny
2:owner@::deny
3:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
4:group@:add_file/write_data/add_subdirectory/append_data:deny
5:group@:list_directory/read_data/execute:allow
6:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

205

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 84

Restauration des ACL triviales dans des fichiers ZFS

(Suite)

7:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Dans l'exemple suivant, les ACL non triviales pour les utilisateurs gozer et lp sont supprimes.
L'ACL restante contient les six valeurs par dfaut de owner@, group@ et everyone@.
# chmod A- test5.dir
# ls -dv test5.dir
drwxr-xr-x 2 root
root
2 Feb 16 11:23 test5.dir
0:owner@::deny
1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
2:group@:add_file/write_data/add_subdirectory/append_data:deny
3:group@:list_directory/read_data/execute:allow
4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Configuration d'hritage d'ACL dans des fichiers ZFS


en format dtaill
Vous pouvez dterminer comment les ACL sont hrites ou non dans les fichiers et rpertoires.
Par dfaut, les ACL ne sont pas propages. Si vous configurez une ACL non triviale dans un
rpertoire, aucun rpertoire subsquent n'en hrite. Vous devez spcifier l'hritage d'une ACL
dans un fichier ou un rpertoire.
En outre, deux proprits d'ACL sont fournies afin de permettre leur configuration globale dans
les systmes de fichiers : aclinherit et aclmode. Par dfaut, aclinherit est dfinie sur secure
restricted et aclmode, sur groupmask.
Pour plus d'informations, reportez-vous la section Hritage d'ACL la page 196.
EXEMPLE 85

Attribution d'hritage d'ACL par dfaut

Par dfaut, les ACL ne sont pas propages par le biais d'une structure de rpertoire.
Dans l'exemple suivant, une ACE non insignifiante de read_data/write_data/execute est
applique pour l'utilisateur gozer dans le fichier test.dir.
# chmod A+user:gozer:read_data/write_data/execute:allow test.dir
# ls -dv test.dir

206

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 85

Attribution d'hritage d'ACL par dfaut

(Suite)

0:user:gozer:list_directory/read_data/add_file/write_data/execute:allow
1:owner@::deny
2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
3:group@:add_file/write_data/add_subdirectory/append_data:deny
4:group@:list_directory/read_data/execute:allow
5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Si un sous-rpertoire test.dir est cr, l'ACE pour l'utilisateur gozer n'est pas propage.
L'utilisateur gozer n'aurait accs sub.dir que si les droits de sub.dir lui accordaient un accs
en tant que propritaire de fichier, membre de groupe ou everyone@.
# mkdir test.dir/sub.dir
# ls -dv test.dir/sub.dir
drwxr-xr-x 2 root
root
2 Jun 20 14:37 test.dir/sub.dir
0:owner@::deny
1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
2:group@:add_file/write_data/add_subdirectory/append_data:deny
3:group@:list_directory/read_data/execute:allow
4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow
EXEMPLE 86

Attribution d'hritage d'ACL dans les fichiers et les rpertoires

Cette srie d'exemples identifie les ACE du fichier et du rpertoire qui sont appliques lorsque
l'indicateur file_inherit est paramtr.
Dans l'exemple suivant, les droits read_data/write_data sont ajouts pour les fichiers dans le
rpertoire test.dir pour l'utilisateur gozer pour qu'il dispose de l'accs tout nouveau fichier.
# chmod A+user:gozer:read_data/write_data:file_inherit:allow test2.dir
# ls -dv test2.dir
drwxr-xr-x+ 2 root
root
2 Jun 20 14:38 test2.dir
0:user:gozer:read_data/write_data:file_inherit:allow
1:owner@::deny
2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

207

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 86

Attribution d'hritage d'ACL dans les fichiers et les rpertoires

(Suite)

/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
3:group@:add_file/write_data/add_subdirectory/append_data:deny
4:group@:list_directory/read_data/execute:allow
5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Dans l'exemple suivant, les droits de l'utilisateur gozer sont appliqus au fichier
test2.dir/file.2 rcemment cr. L'hritage d'ACL tant accord
(read_data:file_inherit:allow), l'utilisateur gozer peut lire le contenu de tout nouveau
fichier.
# touch test2.dir/file.2
# ls -v test2.dir/file.2
-rw-r--r--+ 1 root
root
0 Jun 20 14:39 test2.dir/file.2
0:user:gozer:write_data:deny
1:user:gozer:read_data/write_data:allow
2:owner@:execute:deny
3:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
4:group@:write_data/append_data/execute:deny
5:group@:read_data:allow
6:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
7:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow

Dans la mesure o la proprit aclmode pour ce fichier est paramtre sur le mode par dfaut,
groupmask, l'utilisateur gozer ne dispose pas du droit write_data pour le fichier file.2 car les
droits de groupe du fichier ne le permettent pas.
Notez que le droit inherit_only applique lorsque les indicateurs file_inherit ou
dir_inherit sont dfinis, est utilise pour propager l'ACL dans la structure du rpertoire.
Ainsi, l'utilisateur gozer se voit uniquement accorder ou refuser le droit des droits everyone@,
moins qu'il ne soit le propritaire du fichier ou membre du groupe propritaire du fichier.
Exemple :
# mkdir test2.dir/subdir.2
# ls -dv test2.dir/subdir.2
drwxr-xr-x+ 2 root
root
2 Jun 20 14:40 test2.dir/subdir.2
0:user:gozer:list_directory/read_data/add_file/write_data:file_inherit
/inherit_only:allow
1:owner@::deny
208

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 86

Attribution d'hritage d'ACL dans les fichiers et les rpertoires

(Suite)

2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
3:group@:add_file/write_data/add_subdirectory/append_data:deny
4:group@:list_directory/read_data/execute:allow
5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

La srie d'exemples suivants identifie les ACL du fichier et du rpertoire appliques lorsque les
indicateurs file_inherit et dir_inherit sont paramtrs.
Dans l'exemple suivant, l'utilisateur gozer se voit accorder les droits de lecture, d'criture et
d'excution hrits des fichiers et rpertoires rcemment crs.
# chmod A+user:gozer:read_data/write_data/execute:file_inherit/dir_inherit:allow
test3.dir
# ls -dv test3.dir
drwxr-xr-x+ 2 root
root
2 Jun 20 14:41 test3.dir
0:user:gozer:list_directory/read_data/add_file/write_data/execute
:file_inherit/dir_inherit:allow
1:owner@::deny
2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
3:group@:add_file/write_data/add_subdirectory/append_data:deny
4:group@:list_directory/read_data/execute:allow
5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow
# touch test3.dir/file.3
# ls -v test3.dir/file.3
-rw-r--r--+ 1 root
root
0 Jun 20 14:42 test3.dir/file.3
0:user:gozer:write_data/execute:deny
1:user:gozer:read_data/write_data/execute:allow
2:owner@:execute:deny
3:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
4:group@:write_data/append_data/execute:deny
5:group@:read_data:allow
6:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

209

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 86

Attribution d'hritage d'ACL dans les fichiers et les rpertoires

(Suite)

7:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow
# mkdir test3.dir/subdir.1
# ls -dv test3.dir/subdir.1
drwxr-xr-x+ 2 root
root
2 Jun 20 15:13 test3.dir/subdir.1
0:user:gozer:list_directory/read_data/add_file/write_data/execute
:file_inherit/dir_inherit/inherit_only:allow
1:user:gozer:add_file/write_data:deny
2:user:gozer:list_directory/read_data/add_file/write_data/execute:allow
3:owner@::deny
4:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
5:group@:add_file/write_data/add_subdirectory/append_data:deny
6:group@:list_directory/read_data/execute:allow
7:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
8:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Dans ces exemples, les bits de droit du rpertoire parent pour group@ et everyone@ n'accordent
pas les droits. Par consquent, l'utilisateur gozer se voit refuser ces droits. La proprit par
dfaut aclmode est securerestricted, ce qui signifie que les droits write_data et execute ne
sont pas hrits.
Dans l'exemple suivant, l'utilisateur gozer se voit accorder les droits de lecture, d'criture et
d'excution qui sont hrites pour les fichiers rcemment crs, mais ne sont pas propages vers
tout contenu subsquent du rpertoire.
# chmod A+user:gozer:read_data/write_data/execute:file_inherit/no_propagate:allow
test4.dir
# ls -dv test4.dir
drwxr-xr-x+ 2 root
root
2 Jun 20 14:46 test4.dir
0:user:gozer:list_directory/read_data/add_file/write_data/execute
:file_inherit/no_propagate:allow
1:owner@::deny
2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
3:group@:add_file/write_data/add_subdirectory/append_data:deny
4:group@:list_directory/read_data/execute:allow
5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny

210

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 86

Attribution d'hritage d'ACL dans les fichiers et les rpertoires

(Suite)

6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Comme l'exemple suivant l'illustre, lors de la cration d'un sous-rpertoire, le droit


read_data/write_data/execute de l'utilisateur gozer pour les fichiers n'est pas propage au
nouveau rpertoire sub4.dir.
mkdir test4.dir/sub4.dir
# ls -dv test4.dir/sub4.dir
drwxr-xr-x 2 root
root
2 Jun 20 15:14 test4.dir/sub4.dir
0:owner@::deny
1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
2:group@:add_file/write_data/add_subdirectory/append_data:deny
3:group@:list_directory/read_data/execute:allow
4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Comme l'exemple suivant l'illustre, le droit read_data/write_data/execute de gozer pour


les fichiers est propag vers le nouveau fichier.
# touch test4.dir/file.4
# ls -v test4.dir/file.4
-rw-r--r--+ 1 root
root
0 Jun 20 15:22 test4.dir/file.4
0:user:gozer:write_data/execute:deny
1:user:gozer:read_data/write_data/execute:allow
2:owner@:execute:deny
3:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
4:group@:write_data/append_data/execute:deny
5:group@:read_data:allow
6:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
7:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow
EXEMPLE 87

Hritage d'ACL avec mode de liste dfini sur Passthrough

Si la proprit aclmode dans le systme de fichier tank/cindyest dfinie sur passthrough,


l'utilisateur gozer hrite alors de l'ACL applique test4.dir pour le fichier file.4
rcemment cr, comme suit :

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

211

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 87

Hritage d'ACL avec mode de liste dfini sur Passthrough

(Suite)

# zfs set aclmode=passthrough tank/cindy


# touch test4.dir/file.4
# ls -v test4.dir/file.4
-rw-r--r--+ 1 root
root
0 Jun 20 15:25 test4.dir/file.4
0:user:gozer:write_data/execute:deny
1:user:gozer:read_data/write_data/execute:allow
2:owner@:execute:deny
3:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
4:group@:write_data/append_data/execute:deny
5:group@:read_data:allow
6:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
7:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow

Cette sortie montre que l'ACL


read_data/write_data/execute:allow:file_inherit/dir_inherit dfinie sur le rpertoire
parent, test4.dir, est transmise l'utilisateur gozer.
EXEMPLE 88

Hritage d'ACL avec mode de liste dfini sur Discard

Si la proprit aclmode d'un systme de fichiers est dfinie sur discard, il est alors possible de
supprimer les ACL avec les bits de droit dans un changement de rpertoire. Exemple :
# zfs set aclmode=discard tank/cindy
# chmod A+user:gozer:read_data/write_data/execute:dir_inherit:allow test5.dir
# ls -dv test5.dir
drwxr-xr-x+ 2 root
root
2 Feb 16 11:23 test5.dir
0:user:gozer:list_directory/read_data/add_file/write_data/execute
:dir_inherit:allow
1:owner@::deny
2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
3:group@:add_file/write_data/add_subdirectory/append_data:deny
4:group@:list_directory/read_data/execute:allow
5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow
# zfs set aclmode=discard tank/cindy
# chmod A+user:gozer:read_data/write_data/execute:dir_inherit:allow test5.dir

212

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 88

Hritage d'ACL avec mode de liste dfini sur Discard

(Suite)

# ls -dv test5.dir
drwxr-xr-x+ 2 root
root
2 Jun 20 15:21 test5.dir
0:user:gozer:list_directory/read_data/add_file/write_data/execute
:dir_inherit:allow
1:owner@::deny
2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
3:group@:add_file/write_data/add_subdirectory/append_data:deny
4:group@:list_directory/read_data/execute:allow
5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Si vous dcidez ultrieurement de renforcer les bits de droit d'un rpertoire, l'ACL non triviale
est supprime. Exemple :
# chmod 744 test5.dir
# ls -dv test5.dir
drwxr--r-- 2 root
root
2 Jun 20 15:21 test5.dir
0:owner@::deny
1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
2:group@:add_file/write_data/add_subdirectory/append_data/execute:deny
3:group@:list_directory/read_data:allow
4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/execute/write_attributes/write_acl/write_owner:deny
5:everyone@:list_directory/read_data/read_xattr/read_attributes/read_acl
/synchronize:allow
EXEMPLE 89

Hritage d'ACL avec mode d'hritage de liste dfini sur Noallow

Dans l'exemple suivant, deux ACL non triviales avec hritage de fichier sont dfinies. Une ACL
autorise le droit read_data, tandis qu'un autre refuse ce droit. Cet exemple illustre galement
comment spcifier deux ACE dans la mme commande chmod.
# zfs set aclinherit=noallow tank/cindy
# chmod A+user:gozer:read_data:file_inherit:deny,user:lp:read_data:file_inherit:allow
test6.dir
# ls -dv test6.dir
drwxr-xr-x+ 2 root
root
2 Jun 20 15:24 test6.dir
0:user:gozer:read_data:file_inherit:deny

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

213

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 89

Hritage d'ACL avec mode d'hritage de liste dfini sur Noallow

(Suite)

1:user:lp:read_data:file_inherit:allow
2:owner@::deny
3:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
/append_data/write_xattr/execute/write_attributes/write_acl
/write_owner:allow
4:group@:add_file/write_data/add_subdirectory/append_data:deny
5:group@:list_directory/read_data/execute:allow
6:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr
/write_attributes/write_acl/write_owner:deny
7:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
/read_acl/synchronize:allow

Comme l'illustre l'exemple suivant, lors de la cration d'un nouveau fichier, l'ACL qui autorise
le droit read_data est supprime.
# touch test6.dir/file.6
# ls -v test6.dir/file.6
-rw-r--r-- 1 root
root
0 Jun 20 15:25 test6.dir/file.6
0:owner@:execute:deny
1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
/write_acl/write_owner:allow
2:group@:write_data/append_data/execute:deny
3:group@:read_data:allow
4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
/write_acl/write_owner:deny
5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
:allow
EXEMPLE 810

Hritage d'ACL avec mode d'hritage de liste dfini sur Passthrough

Un systme de fichiers dont la proprit aclinherit est dfinie sur passthrough hrite de
toutes les entres d'ACL pouvant tre hrites, sans qu'aucune modification ne leur soit
apporte. Lorsque cette proprit est dfinie sur passthrough, les fichiers sont crs avec un
mode de droit dtermin par les ACE pouvant tre hrites. Si aucune ACE pouvant tre hrite
n'affecte le mode de droit, ce mode est alors dfini en fonction du mode demand partir de
l'application.
Les exemples suivants utilisent la syntaxe ACL compacte pour illustrer le processus d'hritage
des bits de droit en dfinissant le mode aclinherit sur la valeur passthrough .
Dans cet exemple, une ACL est dfinie sur test1.dir pour forcer l'hritage. La syntaxe cre une
entre d'ACL owner@, group@ et everyone@ pour les fichiers nouvellement crs. Les

214

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill

EXEMPLE 810

Hritage d'ACL avec mode d'hritage de liste dfini sur Passthrough

(Suite)

rpertoires nouvellement crs hritent d'une entre d'ACL @owner, group@ et everyone@. En
outre, les rpertoires hritent de six autres ACE qui appliquent les ACE aux rpertoires et
fichiers nouvellement crs.
# zfs set aclinherit=passthrough tank/cindys
# pwd
/tank/cindys
# mkdir test1.dir
# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,everyone@::fd:allow
test1.dir
# ls -Vd test1.dir
drwxrwx---+ 2 root
root
2 Jul 29 10:56 test1.dir
owner@:rwxpdDaARWcCos:fd----:allow
group@:rwxp----------:fd----:allow
everyone@:--------------:fd----:allow

Dans cet exemple, un fichier nouvellement cr hrite de l'ACL dont les fichiers nouvellement
crs doivent hriter d'aprs ce qui a t spcifi.
# cd test1.dir
# touch file.1
# ls -V file.1
-rwxrwx---+ 1 root
root
0 Jul 29 10:58 file.1
owner@:rwxpdDaARWcCos:------:allow
group@:rwxp----------:------:allow
everyone@:--------------:------:allow

Dans cet exemple, un rpertoire nouvellement cr hrite la fois des ACE contrlant l'accs
ce rpertoire et des ACE appliquer ultrieurement aux enfants de ce rpertoire.
# mkdir subdir.1
# ls -dV subdir.1
drwxrwx---+ 2 root
root
2 Jul 29 10:59 subdir.1
owner@:rwxpdDaARWcCos:fdi---:allow
owner@:rwxpdDaARWcCos:------:allow
group@:rwxp----------:fdi---:allow
group@:rwxp----------:------:allow
everyone@:--------------:fdi---:allow
everyone@:--------------:------:allow

Les entres -di-- et f-i--- permettent d'appliquer l'hritage et ne sont pas prises en compte
lors du contrle d'accs. Dans cet exemple, un fichier est cr avec une ACL insignifiante dans
un autre rpertoire ne contenant pas d'ACE hrites.

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

215

Configuration et affichage d'ACL dans des fichiers ZFS en format compact

EXEMPLE 810

Hritage d'ACL avec mode d'hritage de liste dfini sur Passthrough

(Suite)

# cd /tank/cindys
# mkdir test2.dir
# cd test2.dir
# touch file.2
# ls -V file.2
-rw-r--r-- 1 root
root
0 Jul 29 11:15 file.2
owner@:--x-----------:------:deny
owner@:rw-p---A-W-Co-:------:allow
group@:-wxp----------:------:deny
group@:r-------------:------:allow
everyone@:-wxp---A-W-Co-:------:deny
everyone@:r-----a-R-c--s:------:allow

Configuration et affichage d'ACL dans des fichiers ZFS en


format compact
Vous pouvez dfinir et afficher les droits relatifs aux fichiers ZFS en format compact utilisant 14
lettres uniques pour reprsenter les droits. Les lettres reprsentant les droits compacts sont
rpertories dans le Tableau 82 et le Tableau 83.
Vous pouvez afficher les listes d'ACL compactes pour les fichiers et les rpertoires l'aide de la
commande ls -V. Exemple :
# ls -V file.1
-rw-r--r-- 1 root
root
206663 Feb 16 11:00 file.1
owner@:--x-----------:------:deny
owner@:rw-p---A-W-Co-:------:allow
group@:-wxp----------:------:deny
group@:r-------------:------:allow
everyone@:-wxp---A-W-Co-:------:deny
everyone@:r-----a-R-c--s:------:allow

La sortie d'ACL compacte est dcrite comme suit :

216

owner@

Le droit d'excution sur le fichier est refus au propritaire (x= execute).

owner@

Le propritaire peut lire et modifier le contenu du fichier (


rw=read_data/write_data), (p= append_data). Il peut galement modifier les
attributs du fichier, par exemple l'horodatage, les attributs tendus et les ACL
(A=write_xattr, W=write_attributes, C= write_acl). De plus, le
propritaire peut modifier la proprit du fichier (o=write_owner).

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format compact

group@

Les droits de modification et d'excution sur le fichier sont refuss au groupe


(write_data, p=append_data et x=execute).

group@

Les droits de lecture sur le fichier sont accords au groupe (r= read_data).

everyone@

Les droits d'excution ou de modification du contenu du fichier, ou de


modification de tout attribut du fichier sont refuss toute personne n'tant ni
un utilisateur ni un groupe (w=write_data, x= execute, p=append_data,
A=write_xattr, W=write_attributes , C=write_acl et o= write_owner).

everyone@

Les droits de lecture sur le fichier et sur ses attributs sont accords toute
personne n'tant ni un utilisateur ni un groupe (r=read_data, a=append_data,
R=read_xattr , c=read_acl et s= synchronize). Le droit d'accs
synchronize n'est actuellement pas implmente.

Le format d'ACL compact dispose des avantages suivants par rapport au format d'ACL dtaill :

Les droits peuvent tre spcifis en tant qu'arguments de position pour la commande chmod.

Les tirets (-), qui n'identifient aucun droit, peuvent tre supprims. Seules les lettres
ncessaires doivent tre spcifies.

Les indicateurs de droits et d'hritage sont configurs de la mme manire.

Pour obtenir des informations sur l'utilisation du format d'ACL dtaill, consultez
Configuration et affichage d'ACL dans des fichiers ZFS en format dtaill la page 200.
EXEMPLE 811

Configuration et affichage des ACL en format compact

Dans l'exemple suivant, une ACL triviale existe dans le fichier file.1 :
# ls -V file.1
-rw-r-xr-x 1 root
root
206663 Feb 16 11:00 file.1
owner@:--x-----------:------:deny
owner@:rw-p---A-W-Co-:------:allow
group@:-w-p----------:------:deny
group@:r-x-----------:------:allow
everyone@:-w-p---A-W-Co-:------:deny
everyone@:r-x---a-R-c--s:------:allow

Dans cet exemple, les droits read_data/execute sont ajouts pour l'utilisateur gozer dans le
fichier file.1.
# chmod A+user:gozer:rx:allow file.1
# ls -V file.1
-rw-r-xr-x+ 1 root
root
206663 Feb 16 11:00 file.1
user:gozer:r-x-----------:------:allow
owner@:--x-----------:------:deny
owner@:rw-p---A-W-Co-:------:allow

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

217

Configuration et affichage d'ACL dans des fichiers ZFS en format compact

EXEMPLE 811

Configuration et affichage des ACL en format compact

(Suite)

group@:-w-p----------:------:deny
group@:r-x-----------:------:allow
everyone@:-w-p---A-W-Co-:------:deny
everyone@:r-x---a-R-c--s:------:allow

Une autre mthode d'ajout des mmes droits pour l'utilisateur gozer consiste insrer une ACL
un emplacement spcifique, par exemple 4. Ainsi, les ACL existantes aux emplacements 46
sont dplaces vers le bas. Exemple :
# chmod A4+user:gozer:rx:allow file.1
# ls -V file.1
-rw-r-xr-x+ 1 root
root
206663 Feb 16 11:00 file.1
owner@:--x-----------:------:deny
owner@:rw-p---A-W-Co-:------:allow
group@:-w-p----------:------:deny
group@:r-x-----------:------:allow
user:gozer:r-x-----------:------:allow
everyone@:-w-p---A-W-Co-:------:deny
everyone@:r-x---a-R-c--s:------:allow

Dans l'exemple suivant, l'utilisateur gozer se voit accorder les droits de lecture, d'criture et
d'excution qui sont hrits des fichiers et rpertoires rcemment crs grce l'utilisation de
l'ACL compacte.
# chmod A+user:gozer:rwx:fd:allow dir.2
# ls -dV dir.2
drwxr-xr-x+ 2 root
root
2 Aug 28 13:21 dir.2
user:gozer:rwx-----------:fd----:allow
owner@:--------------:------:deny
owner@:rwxp---A-W-Co-:------:allow
group@:-w-p----------:------:deny
group@:r-x-----------:------:allow
everyone@:-w-p---A-W-Co-:------:deny
everyone@:r-x---a-R-c--s:------:allow

Vous pouvez galement couper et coller les droits et les indicateurs d'hritage partir de la
sortie ls -V en format chmod compact. Par exemple, afin de dupliquer les droits et les
indicateurs d'hritage du fichier dir.2 de l'utilisateur gozer l'utilisateur cindys dans le fichier
dir.2, copiez et collez les droits et les indicateurs d'hritage ( rwx-----------:f-----:allow)
dans la commande chmod. Exemple :
# chmod A+user:cindys:rwx-----------:fd----:allow dir.2
# ls -dV dir.2
drwxr-xr-x+ 2 root
root
2 Aug 28 14:12 dir.2
user:cindys:rwx-----------:fd----:allow
218

Guide d'administration Solaris ZFS Octobre 2008

Configuration et affichage d'ACL dans des fichiers ZFS en format compact

EXEMPLE 811

Configuration et affichage des ACL en format compact

(Suite)

user:gozer:rwx-----------:fd----:allow
owner@:--------------:------:deny
owner@:rwxp---A-W-Co-:------:allow
group@:-w-p----------:------:deny
group@:r-x-----------:------:allow
everyone@:-w-p---A-W-Co-:------:deny
everyone@:r-x---a-R-c--s:------:allow

Chapitre 8 Utilisation des ACL pour la protection de fichiers ZFS

219

220

C H A P I T R E

Administration dlgue de ZFS

Ce chapitre dcrit la mthode d'utilisation de l'administration dlgue pour permettre aux


utilisateurs ne disposant pas de privilges appropris d'effectuer des tches d'administration
ZFS.

Prsentation de l'administration dlgue de ZFS la page 221


Dlgation de droits ZFS la page 222
Affichage des droits ZFS dlgus (exemples) la page 226
Dlgation de droits ZFS (exemples) la page 227
Suppression de droits ZFS (exemples) la page 232

Prsentation de l'administration dlgue de ZFS


Cette fonction vous permet de distribuer des droits prcis des utilisateurs ou des groupes
spcifiques, voire tous les utilisateurs. Deux types de droits dlgus sont pris en charge :

Des droits individuels peuvent tre explicitement spcifis, notamment de cration (create),
de destruction (destroy), de montage (mount), d'instantan (snapshot), etc.

Des groupes de droits appels jeux de droits peuvent tre dfinis. Tout utilisateur d'un jeu de
droits est automatiquement affect par les modifications apportes celui-ci dans le cadre
d'une mis jour. Les jeux de droits commencent par la lettre @ et sont limits 64 caractres.
Les caractres suivant le caractre @ dans le nom de jeu ont les mmes restrictions que ceux
des noms de systmes de fichiers ZFS standard.

L'administration dlgue de ZFS offre des fonctions similaires au modle de scurit RBAC. Le
modle de dlgation ZFS offre les avantages suivants pour la gestion des pools de stockage et
systmes de fichiers ZFS :

Les droits sont transfrs avec le pool de stockage ZFS lorsque celui-ci est migr.

Offre un hritage dynamique vous permettant de contrler la propagation des droits dans
les systmes de fichiers.
221

Dlgation de droits ZFS

Peut tre configur de manire ce que seul le crateur d'un systme de fichiers puisse
dtruire celui-ci.

Les droits peuvent tre distribus des systmes de fichiers spcifiques. Tout nouveau
systme de fichiers peut automatiquement rcuprer des droits.

Ce modle offre une administration NFS simple. Un utilisateur disposant de droits


explicites peut par exemple crer un instantan sur un systme NFS dans le rpertoire
.zfs/snapshot appropri.

Considrez l'utilisation de l'administration dlgue pour la rpartition des tches ZFS. Pour
plus d'informations sur l'utilisation de RBAC pour grer les tches d'administration gnrales
de Solaris, reportez-vous Partie III, Roles, Rights Profiles, and Privileges du System
Administration Guide: Security Services (en anglais).

Dsactivation des droits dlgus de ZFS


Vous pouvez activer ou dsactiver l'administration dlgue en dfinissant la proprit
delegation du pool. Par exemple :
# zpool get delegation users
NAME PROPERTY
VALUE
SOURCE
users delegation on
default
# zpool set delegation=off users
# zpool get delegation users
NAME PROPERTY
VALUE
SOURCE
users delegation off
local

Par dfaut, la proprit delegation est active.

Dlgation de droits ZFS


Vous pouvez utiliser la commande zfs allow pour accorder des droits applicables aux jeux de
donnes ZFS aux utilisateurs non root, de la manire suivante :

Vous pouvez accorder des droits individuels un utilisateur, un groupe, voire tous les
utilisateurs.

Vous pouvez accorder des groupes de droits individuels sous forme de jeu de droits un
utilisateur, un groupe, voire tous les utilisateurs.

Vous pouvez accorder des droits localement uniquement au jeu de donnes actuel ou tous
les descendants de celui-ci.

Le tableau suivant dcrit les oprations pouvant tre dlgues et tout droit dpendant devant
raliser ces oprations dlgues.
222

Guide d'administration Solaris ZFS Octobre 2008

Dlgation de droits ZFS

Droit (sous-commande)

Description

Dpendances

allow

Capacit accorder des droits qui vous


ont t octroys un autre utilisateur.

Doit galement disposer du droit


autoriser.

Clone

Capacit cloner tout instantan du jeu


de donnes.

Doit galement disposer de la capacit


create et de la capacit mount dans le
systme de fichiers d'origine.

create

Capacit crer des jeux de donnes


descendants.

Doit galement disposer de la capacit


mount.

destroy

Capacit dtruire un jeu de donnes.

Doit galement disposer de la capacit


mount.

monter

Capacit monter et dmonter un jeu de


donnes, et crer et dtruire les liens
vers des priphriques de volume.

promote

Capacit promouvoir le clonage d'un


jeu de donnes.

Doit galement disposer de la capacit


mount et de la capacit promote dans le
systme de fichiers d'origine.

receive

Capacit crer un systme de fichiers


descendant l'aide de la commande zfs
receive.

Doit galement disposer de la capacit


mount et de la capacit create.

rename

Capacit renommer un jeu de donnes. Doit galement disposer de la capacit


create et de la capacit mount dans le
nouveau parent.

rollback

Capacit restaurer un instantan.

send

Capacit envoyer un flux d'instantan.

share

Capacit partager et annuler le partage


d'unjeu de donnes.

Instantan

Capacit prendre un instantan dejeu


de donnes.

Doit galement disposer de la capacit


mount.

Vous pouvez en outre dlguer les proprits ZFS suivantes des utilisateurs non root :

aclinherit
aclmode
atime
canmount
casesensitivity
Somme de contrle
compression
copies

Chapitre 9 Administration dlgue de ZFS

223

Dlgation de droits ZFS

devices
exec
mountpoint
nbmand
normalization
quota
readonly
recordsize
reservation
setuid
shareiscsi
sharenfs
sharesmb
snapdir
userprop
utf8only
version
volsize
vscan
xattr
zoned

Certaines de ces proprits ne peuvent tre dfinies qu' la cration d'un jeu de donnes. Pour
une description de ces proprits, reportez-vous la section Prsentation des proprits ZFS
la page 143.

Description de la syntaxe de la dlgation de droits


(zfs allow)
La syntaxe de zfs allow est la suivante :
# zfs allow -[ldugecs] everyone|user|group[,,...] perm|@setname,...] filesystem| volume

La syntaxe de zfs allow suivante (en gras) identifie les utilisateurs auxquels les droits sont
dlgus :
zfs allow [-uge]|user|group|everyone [,...] filesystem | volume

Vous pouvez spcifier plusieurs entres sous forme de liste spare par des virgules. Si aucune
option -uge n'est spcifie, l'argument est interprt en premier comme le mot cl everyone,
puis comme un nom d'utilisateur et enfin, comme un nom de groupe. Pour spcifier un
utilisateur ou un groupe nomm "everyone", utilisez l'option -u ou l'option -g. Pour spcifier
un groupe portant le mme nom qu'un utilisateur, utilisez l'option -g. L'option -c accorde des
droits create-time.
224

Guide d'administration Solaris ZFS Octobre 2008

Dlgation de droits ZFS

La syntaxe de zfs allow suivante (en gras) identifie la mthode de spcification des droits et
jeux de droits :
zfs allow [-s] ... perm|@setname [,...] filesystem | volume

Vous pouvez spcifier plusieurs droits sous forme de liste spare par des virgules. Les noms de
droits sont identiques aux sous-commandes et proprits ZFS. Pour plus d'informations,
reportez-vous la section prcdente.
Les droits peuvent tre regroups en jeux de droits et sont identifis par l'option -s. Les jeux de
droits peuvent tre utiliss par d'autres commandes zfs allow pour le systme de fichiers
spcifi et ses descendants. Les jeux de droits sont valus dynamiquement et de ce fait, toute
modification apporte un jeu est immdiatement mise jour. Les jeux de droits doivent se
conformer aux mmes conventions d'attribution de noms que les systmes de fichiers ZFS,
ceci prs que leurs noms doivent commencer par le caractre arobase (@) et ne pas dpasser 64
caractres.
La syntaxe de zfs allow suivante (en gras) identifie la mthode de dlgation des droits :
zfs allow [-ld] ... ... filesystem | volume

L'option -l indique que le droit est accord au jeu de donnes spcifi mais pas ses
descendants, moins de spcifier galement l'option -d. L'option -d indique que le droit est
accord pour les jeux de donnes descendants mais pas pour l'actuel jeu de donnes, moins de
spcifier galement l'option -l. Si aucun des droits -ld n'est spcifi, les droits sont accords au
systme de fichiers ou au volume, ainsi qu' leurs descendants.

Suppression des droits dlgus de ZFS (zfs unallow)


Vous pouvez supprimer des droits prcdemment accords, l'aide de la commande zfs
unallow.
Supposons par exemple que vous dlguiez les droits create, destroy, mount et snapshot de la
manire suivante :
# zfs allow cindys create,destroy,mount,snapshot tank/cindys
# zfs allow tank/cindys
------------------------------------------------------------Local+Descendent permissions on (tank/cindys)
user cindys create,destroy,mount,snapshot
-------------------------------------------------------------

Pour supprimer ces droits, vous devez utiliser une syntaxe du type suivant :
# zfs unallow cindys tank/cindys
# zfs allow tank/cindys
Chapitre 9 Administration dlgue de ZFS

225

Utilisation de l'administration dlgue de ZFS

Utilisation de l'administration dlgue de ZFS


Cette section contient des exemples d'affichage et de dlgation de droits ZFS dlgus.

Affichage des droits ZFS dlgus (exemples)


Vous pouvez vous servir de la commande suivante pour afficher les droits :
# zfs allow dataset

Cette commande affiche les droits dfinis ou accords ce jeu de donnes. La sortie contient les
composants suivants :

Jeux de droits
Droits spcifiques ou droits la cration
Jeu de donnes local
Jeux de donnes locaux et descendants
Jeux de donnes descendants uniquement

EXEMPLE 91

Affichage des droits d'administration dlgue de base

La sortie suivante de cet exemple indique que l'utilisateur cindys dispose des droits de cration,
de destruction, de montage et d'instantan dans le systme de fichiers tank/cindys.
# zfs allow tank/cindys
------------------------------------------------------------Local+Descendent permissions on (tank/cindys)
user cindys create,destroy,mount,snapshot
EXEMPLE 92

Affichage des droits d'administration dlgue complexes

La sortie de cet exemple indique les droits suivants sur les systmes de fichiers pool/fred et
pool.
Pour le systme de fichiers pool/fred :

Deux jeux de droits sont dfinis :

226

@eng (create, destroy, snapshot, mount, clone, promote, rename)


@simple (create, mount)

Les droits la cration sont dfinis pour le jeu de droits @eng et la proprit mountpoint. "
la cration" signifie qu'une fois qu'un jeu de donnes est cr, le jeu de droits @eng et la
proprit mountpoint sont accords.

Le jeu de droits @eng est accord l'utilisateur tom et les droits create, destroy et mount
pour les systmes de fichiers locaux sont accords l'utilisateur joe.

Guide d'administration Solaris ZFS Octobre 2008

Utilisation de l'administration dlgue de ZFS

EXEMPLE 92

Affichage des droits d'administration dlgue complexes

(Suite)

Le jeu de droits @basic, ainsi que les droits share et rename pour les systmes de fichiers
locaux et descendants sont accords l'utilisateur fred.

Le jeu de droits @basic pour les systmes de fichiers descendants uniquement est accord
l'utilisateur barney et au groupe staff.

Pour le systme de fichiers pool :

Le jeu de droits @simple (create, destroy, mount) est dfini.

Le jeu de droits sur le systme de fichiers local @simple est accord au groupe staff.

La sortie de cet exemple est la suivante :


$ zfs allow pool/fred
-----------------------------------------------------------------------------Permission sets on (pool/fred)
@eng create,destroy,snapshot,mount,clone,promote,rename
@simple create,mount
Create time permissions on (pool/fred)
@eng,mountpoint
Local permissions on (pool/fred)
user tom @eng
user joe create,destroy,mount
Local+Descendent permissions on (pool/fred)
user fred @basic,share,rename
Descendent permissions on (pool/fred)
user barney @basic
group staff @basic
-----------------------------------------------------------------------------Permission sets on (pool)
@simple create,destroy,mount
Local permissions on (pool)
group staff @simple
------------------------------------------------------------------------------

Dlgation de droits ZFS (exemples)


EXEMPLE 93

Dlgation de droits un utilisateur individuel

Lorsque vous accordez les droits create et mount un utilisateur individuel, vous devez vous
assurer que cet utilisateur dispose de droits sur le point de montage sous-jacent.
Pour accorder par exemple l'utilisateur marks les droits create et mount sur tank, dfinissez
au pralable ces droits :
# chmod A+user:marks:add_subdirectory:fd:allow /tank
Chapitre 9 Administration dlgue de ZFS

227

Utilisation de l'administration dlgue de ZFS

EXEMPLE 93

Dlgation de droits un utilisateur individuel

(Suite)

Utilisez ensuite la commande zfs allow pour accorder les droits create, destroy et mount.
Exemple :
# zfs allow marks create,destroy,mount tank

L'utilisateur marks peut dornavant crer ses propres systmes de fichiers dans le systme de
fichiers tank. Exemple :
# su marks
marks$ zfs create tank/marks
marks$ ^D
# su lp
$ zfs create tank/lp
cannot create tank/lp: permission denied
EXEMPLE 94

Dlgation des droits de cration (create) et de destruction (destroy) un groupe

L'exemple suivant illustre la configuration d'un systme de fichiers pour que tout membre du
groupe staff puisse crer et monter des systmes de fichiers dans le systme de fichiers tank,
ainsi que dtruire ses propres systmes de fichiers. Toutefois, les membres du groupe staff ne
sont pas autoriss dtruire les systmes de fichiers des autres utilisateurs.
# zfs allow staff create,mount tank
# zfs allow -c create,destroy tank
# zfs allow tank
------------------------------------------------------------Create time permissions on (tank)
create,destroy
Local+Descendent permissions on (tank)
group staff create,mount
------------------------------------------------------------# su cindys
cindys% zfs create tank/cindys
cindys% exit
# su marks
marks% zfs create tank/marks/data
marks% exit
cindys% zfs destroy tank/marks/data
cannot destroy tank/mark: permission denied
EXEMPLE 95

Dlgation de droits au niveau appropri d'un systme de fichiers

Assurez-vous d'accorder les droits aux utilisateurs au niveau appropri du systme de fichiers.
Par exemple, les droits create, destroy et mount pour les systmes de fichiers locaux et
228

Guide d'administration Solaris ZFS Octobre 2008

Utilisation de l'administration dlgue de ZFS

EXEMPLE 95

Dlgation de droits au niveau appropri d'un systme de fichiers

(Suite)

descendants sont accords l'utilisateur marks. Le droit local de prendre un instantan du


systme de fichiers tank a t accord l'utilisateur marks, mais pas celui de prendre un
instantan de son propre systme de fichiers. Le droit snapshot ne lui donc a pas t accord au
niveau appropri du systme de fichiers.
# zfs allow -l marks snapshot tank
# zfs allow tank
------------------------------------------------------------Local permissions on (tank)
user marks snapshot
Local+Descendent permissions on (tank)
user marks create,destroy,mount
------------------------------------------------------------# su marks
marks$ zfs snapshot tank/@snap1
marks$ zfs snapshot tank/marks@snap1
cannot create snapshot mark/marks@snap1: permission denied

Pour accorder l'utilisateur marks ce droit au niveau des descendants, utilisez l'option zfs
allow - d. Exemple :
# zfs unallow -l marks snapshot tank
# zfs allow -d marks snapshot tank
# zfs allow tank
------------------------------------------------------------Descendent permissions on (tank)
user marks snapshot
Local+Descendent permissions on (tank)
user marks create,destroy,mount
------------------------------------------------------------# su marks
$ zfs snapshot tank@snap2
cannot create snapshot sandbox@snap2: permission denied
$ zfs snapshot tank/marks@snappy

L'utilisateur marks ne peut maintenant crer un instantan qu' un niveau infrieur tank.
EXEMPLE 96

Dfinition et utilisation de droits dlgus complexes

Vous pouvez accorder des droits spcifiques des utilisateurs ou des groupes. Par exemple, la
commande zfs allow suivante accorde des droits spcifiques au groupe staff. En outre, les
droits destroy et snapshot sont accords aprs la cration de systmes de fichiers tank.
# zfs allow staff create,mount tank
# zfs allow -c destroy,snapshot tank
Chapitre 9 Administration dlgue de ZFS

229

Utilisation de l'administration dlgue de ZFS

EXEMPLE 96

Dfinition et utilisation de droits dlgus complexes

(Suite)

# zfs allow tank


------------------------------------------------------------Create time permissions on (tank)
destroy,snapshot
Local+Descendent permissions on (tank)
group staff create,mount
-------------------------------------------------------------

tant donn que l'utilisateur marks est membre du groupe staff, il peut crer des systmes de
fichiers dans tank. En outre, l'utilisateur marks peut crer un instantan de tank/marks2 parce
qu'il dispose des droits spcifiques pour le faire. Exemple :
# su marks
$ zfs create tank/marks2
$ zfs allow tank/marks2
------------------------------------------------------------Local permissions on (tank/marks2)
user marks destroy,snapshot
------------------------------------------------------------Create time permissions on (tank)
destroy,snapshot
Local+Descendent permissions on (tank)
group staff create
everyone mount
-------------------------------------------------------------

Il ne peut par contre pas crer d'instantan dans tank/marks parce qu'il ne dispose pas des
droits spcifiques pour le faire. Exemple :
$ zfs snapshot tank/marks2@snap1
$ zfs snapshot tank/marks@snappp
cannot create snapshot tank/marks@snappp: permission denied

Si vous disposez des droits create dans votre rpertoire personnel, vous pouvez crer vos
propres rpertoires d'instantans. Ce scnario s'avre utile lorsque votre systme de fichiers est
mont sur un systme NFS. Exemple :
$ cd /tank/marks2
$ ls
$ cd .zfs
$ ls
snapshot
$ cd snapshot
$ ls -l
total 3
drwxr-xr-x 2 marks
230

staff

Guide d'administration Solaris ZFS Octobre 2008

2 Dec 15 13:53 snap1

Utilisation de l'administration dlgue de ZFS

EXEMPLE 96

Dfinition et utilisation de droits dlgus complexes

$ pwd
/tank/marks2/.zfs/snapshot
$ mkdir snap2
$ zfs list
NAME
USED
tank
264K
tank/marks
24.5K
tank/marks2
46K
tank/marks2@snap1
21.5K
tank/marks2@snap2
0
$ ls
snap1 snap2
$ rmdir snap2
$ ls
snap1
EXEMPLE 97

AVAIL
33.2G
33.2G
33.2G
-

REFER
33.5K
24.5K
24.5K
24.5K
24.5K

(Suite)

MOUNTPOINT
/tank
/tank/marks
/tank/marks2
-

Dfinition et utilisation d'un jeu de droits dlgu ZFS

L'exemple suivant illustre la cration d'un jeu de droits intitul @myset et, accorde ce jeu de
droits ainsi que le droit de renommage au groupe staff pour le systme de fichiers tank.
L'utilisateur cindys, membre du groupe staff, a le droit de crer un systme de fichiers dans
tank. Par contre, l'utilisateur lp ne dispose pas de ce droit de cration de systmes de fichiers
dans tank.
# zfs allow -s @myset create,destroy,mount,snapshot,promote,clone,readonly tank
# zfs allow tank
------------------------------------------------------------Permission sets on (tank)
@myset clone,create,destroy,mount,promote,readonly,snapshot
------------------------------------------------------------# zfs allow staff @myset,rename tank
# zfs allow tank
------------------------------------------------------------Permission sets on (tank)
@myset clone,create,destroy,mount,promote,readonly,snapshot
Local+Descendent permissions on (tank)
group staff @myset,rename
# chmod A+group:staff:add_subdirectory:fd:allow tank
# su cindys
cindys% zfs create tank/data
Cindys% zfs allow tank
------------------------------------------------------------Permission sets on (tank)
@myset clone,create,destroy,mount,promote,readonly,snapshot
Local+Descendent permissions on (tank)
Chapitre 9 Administration dlgue de ZFS

231

Utilisation de l'administration dlgue de ZFS

EXEMPLE 97

Dfinition et utilisation d'un jeu de droits dlgu ZFS

(Suite)

group staff @myset,rename


------------------------------------------------------------cindys% ls -l /tank
total 15
drwxr-xr-x 2 cindys staff
2 Aug 8 14:10 data
cindys% exit
# su lp
$ zfs create tank/lp
cannot create tank/lp: permission denied

Suppression de droits ZFS (exemples)


Vous pouvez utiliser la commande zfs unallow pour supprimer des droits accords. Par
exemple, l'utilisateur cindys a le droit de crer, dtruire, monter et raliser des instantans dans
le systme de fichiers tank/cindys .
# zfs allow cindys create,destroy,mount,snapshot tank/cindys
# zfs allow tank/cindys
------------------------------------------------------------Local+Descendent permissions on (tank/cindys)
user cindys create,destroy,mount,snapshot
-------------------------------------------------------------

La syntaxe suivante de la commande zfs unallow supprime le droit de raliser des instantans
du systme de fichiers tank/cindys accord l'utilisateur cindys :
# zfs unallow cindys snapshot tank/cindys
# zfs allow tank/cindys
------------------------------------------------------------Local+Descendent permissions on (tank/cindys)
user cindys create,destroy,mount
------------------------------------------------------------cindys% zfs create tank/cindys/data
cindys% zfs snapshot tank/cindys@today
cannot create snapshot tank/cindys@today: permission denied

Autre exemple : l'utilisateur marks dispose des droits suivants dans tank/marks :
# zfs allow tank/marks
------------------------------------------------------------Local+Descendent permissions on (tank/marks)
user marks create,destroy,mount
------------------------------------------------------------232

Guide d'administration Solaris ZFS Octobre 2008

Utilisation de l'administration dlgue de ZFS

Dans cet exemple, la syntaxe suivante de la commande zfs unallow supprime tous les droits
accords l'utilisateur marks pour tank/marks:
# zfs unallow marks tank/marks

La syntaxe suivante de la commande zfs unallow supprime un jeu de droits sur le systme de
fichiers tank.
# zfs allow tank
------------------------------------------------------------Permission sets on (tank)
@myset clone,create,destroy,mount,promote,readonly,snapshot
Create time permissions on (tank)
create,destroy,mount
Local+Descendent permissions on (tank)
group staff create,mount
------------------------------------------------------------# zfs unallow -s @myset tank
$ zfs allow tank
------------------------------------------------------------Create time permissions on (tank)
create,destroy,mount
Local+Descendent permissions on (tank)
group staff create,mount
-------------------------------------------------------------

Chapitre 9 Administration dlgue de ZFS

233

234

10
C H A P I T R E

1 0

Sections avances de ZFS

Ce chapitre dcrit les volumes ZFS, l'utilisation de ZFS dans un systme Solaris avec zones
installes, les pools racine de remplacement ZFS et les profils de droits ZFS.
Il contient les sections suivantes :

Volumes ZFS la page 235


Utilisation de ZFS dans un systme Solaris avec zones installes la page 238
Utilisation de pools racine ZFS de remplacement la page 244
Profils de droits ZFS la page 245

Volumes ZFS
Un volume ZFS est un jeu de donnes reprsentant un priphrique en mode bloc qui peut tre
utilis en tant que tel. Les volumes ZFS sont identifis en tant que priphriques dans le
rpertoire /dev/zvol/{dsk,rdsk}/path.
Dans l'exemple suivant, le volume ZFS tank/vol de 5 Go a t cr :
# zfs create -V 5gb tank/vol

Lors de la cration d'un volume, une rservation est automatiquement configure la taille
initiale du volume. La taille de la rservation est maintenue galit avec la taille du volume
pour viter tout comportement inattendu. Si, par exemple, la taille du volume diminue, les
donnes risquent d'tre corrompues. Vous devez faire preuve de prudence lors de la
modification de la taille du volume.
En outre, en cas de cration de l'instantan d'un volume dont la taille change, cela peut entraner
des incohrences dans le systme de fichiers si vous tentez un retour arrire de l'instantan ou
de crer un clone partir de l'instantan.
Pour de plus amples informations concernant les proprits de systmes de fichiers applicables
aux volumes, reportez-vous au Tableau 61.
235

Volumes ZFS

En cas d'utilisation d'un systme Solaris avec zones installes, la cration ou le clonage d'un
volume ZFS dans une zone non globale est impossible. Toute tentative de cration ou de
clonage d'un volume partir d'une zone non globale choue. Pour obtenir des informations
relatives l'utilisation de volumes ZFS dans une zone globale, reportez-vous la section Ajout
de volumes ZFS une zone non globale la page 240.

Utilisation d'un volume ZFS en tant que priphrique


de swap ou de dump
Lors de l'installation d'un systme de fichiers racine ZFS ou d'une migration partir d'un
systme de fichiers UFS, un priphrique de swap est cr sur un volume ZFS du pool racine
ZFS. La taille de la zone de swap est base sur la moiti de la taille de la mmoire physique.
Exemple :
# swap -l
swapfile
dev
/dev/zvol/dsk/rpool/swap 253,3

swaplo blocks
free
16 8257520 8257520

Lors de l'installation d'un systme de fichiers racine ZFS ou d'une migration partir d'un
systme de fichiers UFS, un priphrique de vidage est cr sur un volume ZFS du pool racine
ZFS. La taille du priphrique de vidage est base sur la moiti de la taille de la mmoire
physique. Le priphrique de vidage ne ncessite aucune administration une fois configur.
Exemple :
# dumpadm
Dump content:
Dump device:
Savecore directory:
Savecore enabled:

kernel pages
/dev/zvol/dsk/rpool/dump (dedicated)
/var/crash/t2000
yes

En raison de CR 6724860, vous devez excuter la commande savecore manuellement pour


enregistrer un vidage mmoire sur incident lorsque vous utilisez un volume de vidage ZFS.
Pour modifier la zone de swap ou le priphrique de vidage une fois le systme install ou mis
niveau, utilisez les commandes swap et dumpadm de la mme faon que dans les versions Solaris
prcdentes. Pour dfinir une zone de swap supplmentaire, crez un volume ZFS d'une taille
spcifique et activez le swap sur ce priphrique.
Pour dfinir une zone de swap, crez un volume ZFS d'une taille spcifique et activez le swap
dans ce priphrique.
Dans l'exemple suivant, le volume tank/vol de 5 Go est ajout en tant que priphrique de
swap.
236

Guide d'administration Solaris ZFS Octobre 2008

Volumes ZFS

# zfs create -V 5gb tank/vol


# swap -a /dev/zvol/dsk/tank/vol
# swap -l
swapfile
dev swaplo blocks free
/dev/dsk/c0t0d0s1
32,33
16 1048688 1048688
/dev/zvol/dsk/tank/vol 254,1
16 10485744 10485744

N'effectuez pas de swap vers un fichier dans un systme de fichiers ZFS. La configuration de
fichier swap ZFS n'est pas prise en charge.
Pour plus d'informations sur l'ajustement de la taille des volumes de swap et de vidage,
reportez-vous la section Ajustement de la taille de vos priphriques de swap et de vidage
ZFS la page 82.

Utilisation d'un volume ZFS en tant que cible iSCSI


Solaris
Les initiateurs et les cibles iSCSI Solaris sont pris en charge dans cette version de Solaris.
De plus, la cration d'un volume ZFS en tant que cible iSCSI s'effectue facilement, en
configurant la proprit shareiscsi dans le volume. Exemple :
# zfs create -V 2g tank/volumes/v2
# zfs set shareiscsi=on tank/volumes/v2
# iscsitadm list target
Target: tank/volumes/v2
iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a
Connections: 0

Une fois la cible iSCSI cre, configurez l'initiateur iSCSI. Pour de plus amples informations sur
les cibles iSCSI et les initiateurs Solaris, reportez-vous au Chapitre 14, Configuring Solaris
iSCSI Targets and Initiators (Tasks) du System Administration Guide: Devices and File Systems.
Remarque La commande iscsitadm permet la cration et la gestion de cibles iSCSI. Si vous
avez configur la proprit shareiscsi dans un volume ZFS, n'utilisez pas la commande
iscsitadm pour crer le mme priphrique cible. Dans le cas contraire, vous obtiendrez des
informations de cible dupliques pour le mme priphrique.

La gestion d'un volume ZFS en tant que cible iSCSI s'effectue comme pour tout jeu de donnes
ZFS. Cependant, les oprations de renommage, d'exportation et d'importation fonctionnent de
faon diffrente pour les cibles iSCSI.

Lors du renommage d'un volume ZFS, le nom de la cible iSCSI ne change pas. Exemple :

Chapitre 10 Sections avances de ZFS

237

Utilisation de ZFS dans un systme Solaris avec zones installes

# zfs rename tank/volumes/v2 tank/volumes/v1


# iscsitadm list target
Target: tank/volumes/v1
iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a
Connections: 0

L'exportation d'un pool contenant un volume ZFS entrane la suppression de la cible.


L'importation d'un pool contenant un volume ZFS entrane le partage de la cible. Exemple :
# zpool export tank
# iscsitadm list target
# zpool import tank
# iscsitadm list target
Target: tank/volumes/v1
iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a
Connections: 0

L'ensemble des informations de configuration de cible iSCSI est stock dans le jeu de donnes.
Tout comme un systme de fichiers NFS partag, une cible iSCSI importe dans un systme
diffrent est partage adquatement.

Utilisation de ZFS dans un systme Solaris avec zones


installes
Les sections suivantes dcrivent l'utilisation de ZFS dans un systme avec zones Solaris.

Ajout de systmes de fichiers ZFS une zone non globale la page 239
Dlgation de jeux de donnes une zone non globale la page 240
Ajout de volumes ZFS une zone non globale la page 240
Utilisation de pools de stockage ZFS au sein d'une zone la page 241
Gestion de proprits ZFS au sein d'une zone la page 241
Explication de la proprit zoned la page 242

Tenez compte des points suivants lors de l'association de jeux de donnes des zones :

Il est possible d'ajouter un systme de fichiers ZFS ou un clone ZFS une zone non globale
en dlguant ou non le contrle administratif.

Il est possible d'ajouter un volume ZFS en tant que priphrique des zones non globales.

L'association d'instantans ZFS des zones est impossible l'heure actuelle.

Dans les sections ci-dessous, un jeu de donnes ZFS fait rfrence un systme de fichiers ou
un clone.
L'ajout d'un jeu de donnes permet la zone non globale de partager l'espace avec la zone
globale, mais l'administrateur de zone ne peut pas contrler les proprits ou crer de nouveaux
238

Guide d'administration Solaris ZFS Octobre 2008

Utilisation de ZFS dans un systme Solaris avec zones installes

systmes de fichiers dans la hirarchie de systmes de fichiers sous-jacents. Cette opration est
identique l'ajout de tout autre type de systme de fichiers une zone. Effectuez-la lorsque vous
souhaitez simplement partager de l'espace commun.
ZFS autorise galement la dlgation de jeux de donnes une zone non globale, ce qui permet
l'administrateur de zone de contrler parfaitement le jeu de donnes et ses enfants.
L'administrateur de zone peut crer et dtruire les systmes de fichiers ou les clones au sein de
ce jeu de donnes et modifier les proprits des jeux de donnes. L'administrateur de zone ne
peut pas modifier les jeux de donnes non ajouts la zone et ne peut pas dpasser les quotas
maximum dfinis pour les jeux de donnes exports.
Tenez compte des interactions suivantes lorsque vous travaillez avec ZFS dans un systme ZFS
sur lequel des zones Solaris sont installes :

La proprit mountpoint d'un systme de fichiers ZFS ajout une zone non globale doit
tre dfinie sur legacy.

En raison du bogue 6449301, n'ajoutez pas de jeu de donnes ZFS une zone non globale
lorsque celle-ci est configure. Ajoutez plutt un jeu de donnes ZFS une fois la zone
installe.

Ajout de systmes de fichiers ZFS une zone non


globale
Vous pouvez ajouter un systme de fichiers ZFS en tant que systme de fichiers gnrique
lorsqu'il s'agit simplement de partager de l'espace avec la zone globale. La proprit mountpoint
d'un systme de fichiers ZFS ajout une zone non globale doit tre dfinie sur legacy.
La sous-commande add fs de la commande zonecfg permet d'ajouter un systme de fichiers
ZFS une zone non globale. Exemple :
Dans l'exemple suivant, un systme de fichiers ZFS est ajout une zone non globale par un
administrateur global dans la zone globale.
# zonecfg -z zion
zonecfg:zion> add fs
zonecfg:zion:fs> set type=zfs
zonecfg:zion:fs> set special=tank/zone/zion
zonecfg:zion:fs> set dir=/export/shared
zonecfg:zion:fs> end

Cette syntaxe permet d'ajouter le systme de fichiers ZFS tank/zone/zion la zone zion dj
configure, monte /export/shared. La proprit mountpoint du systme de fichiers doit
tre dfinie sur legacy et le systme de fichiers ne peut pas tre dj mont un autre
emplacement. L'administrateur de zone peut crer et dtruire des fichiers au sein du systme de
fichiers. Le systme de fichiers ne peut pas tre remont un emplacement diffrent. En outre,
Chapitre 10 Sections avances de ZFS

239

Utilisation de ZFS dans un systme Solaris avec zones installes

l'administrateur de zone ne peut pas modifier les proprits dans le systme de fichiers, telles
que atime, readonly, compression etc. L'administrateur de zone globale est charg de la
configuration et du contrle des proprits du systme de fichiers.
Pour plus d'informations sur la commande zonecfg et sur la configuration des types de
ressources l'aide de zonecfg, reportez-vous la Partie II, Zones du Guide dadministration
systme : Gestion des ressources conteneurs Solaris et des zones Solaris.

Dlgation de jeux de donnes une zone non


globale
Si le principal objectif est de dlguer l'administration du stockage une zone, ZFS prend alors
en charge l'ajout de jeux de donnes une zone non globale l'aide de la sous-commande add
dataset de la commande zonecfg.
Dans l'exemple suivant, un systme de fichiers ZFS est dlgu une zone non globale par un
administrateur global dans la zone globale.
# zonecfg -z zion
zonecfg:zion> add dataset
zonecfg:zion:dataset> set name=tank/zone/zion
zonecfg:zion:dataset> end

Contrairement l'ajout d'un systme de fichiers, cette syntaxe entrane la visibilit du systme
de fichiers ZFS tank/zone/zion dans la zone zion dj configure. L'administrateur de zone
peut dfinir les proprits de systme de fichiers et crer des enfants. En outre, il peut prendre
des instantans, crer des clones et contrler la hirarchie complte du systme de fichiers.
Pour de plus amples informations relatives aux actions autorises au sein des zones,
reportez-vous la section Gestion de proprits ZFS au sein d'une zone la page 241.

Ajout de volumes ZFS une zone non globale


Les volumes ZFS ne peuvent pas tre ajouts une zone non globale l'aide de la
sous-commande add dataset de la commande zonecfg. En cas de dtection d'une tentative
d'ajout d'un volume ZFS, la zone ne peut pas se rinitialiser. Il est cependant possible d'ajouter
des volumes une zone l'aide de la sous-commande add device de la commande zonecfg.
Dans l'exemple suivant, un volume ZFS est ajout une zone non globale par un administrateur
global dans la zone globale :
# zonecfg -z zion
zion: No such zone configured
Use create to begin configuring a new zone.
240

Guide d'administration Solaris ZFS Octobre 2008

Utilisation de ZFS dans un systme Solaris avec zones installes

zonecfg:zion> create
zonecfg:zion> add device
zonecfg:zion:device> set match=/dev/zvol/dsk/tank/vol
zonecfg:zion:device> end

Cette syntaxe exporte le volume tank/vol dans la zone. Notez que l'ajout d'un volume brut
une zone comporte des risques de scurit implicites, mme si le volume ne correspond pas un
priphrique physique. L'administrateur risque notamment de crer des systmes de fichiers
non conformes qui gnreraient des erreurs graves dans le systme en cas de tentative de
montage. Pour de plus amples informations sur l'ajout de priphriques de zones et les risques
de scurits associs, reportez-vous la section Explication de la proprit zoned la page 242.
Pour plus d'informations sur l'ajout de priphriques des zones, reportez-vous la Partie II,
Zones du Guide dadministration systme : Gestion des ressources conteneurs Solaris et des
zones Solaris.

Utilisation de pools de stockage ZFS au sein d'une


zone
Il est impossible de crer ou de modifier des pools de stockage ZFS au sein d'une zone. Le
modle d'administration dlgu centralise le contrle de priphriques de stockage physique
au sein de la zone globale et le contrle du stockage virtuel dans les zones non globales. Bien
qu'un jeu de donnes au niveau du pool puisse tre ajout une zone, toute commande
modifiant les caractristiques physiques du pool, comme la cration, l'ajout ou la suppression
de priphriques est interdite au sein de la zone. Mme si les priphriques physiques sont
ajouts une zone l'aide de la sous-commande add device de la commande zonecfg, ou si les
fichiers sont utiliss, la commande zpool n'autorise pas la cration de nouveaux pools au sein de
la zone.

Gestion de proprits ZFS au sein d'une zone


Aprs l'ajout d'un jeu de donnes une zone, l'administrateur de zone peut contrler des
proprits de jeux de donnes spcifiques. Lorsqu'un jeu de donnes est ajout une zone, tous
ses anctres sont visibles en tant que jeux de donnes en lecture seule, tandis que le jeu de
donnes lui-mme est accessible en criture, de mme que ses enfants. Considrez par exemple
la configuration suivante :
global# zfs list -Ho name
tank
tank/home
tank/data
tank/data/matrix
tank/data/zion
tank/data/zion/home
Chapitre 10 Sections avances de ZFS

241

Utilisation de ZFS dans un systme Solaris avec zones installes

En cas d'ajout de tank/data/zion une zone, chaque jeu de donnes dispose des proprits
suivantes.
Jeu de donnes

Visible

Accessible en criture

Proprits immuables

tank

Oui

Non

tank/home

Non

tank/data

Oui

Non

tank/data/matrix

Non

tank/data/zion

Oui

Oui

sharenfs, zoned, quota,


reservation

tank/data/zion/home

Oui

Oui

sharenfs, zoned

Notez que chaque parent de tank/zone/zion est visible en lecture seule, que tous les enfants
sont accessibles en criture et les jeux de donnes qui ne font pas partie de la hirarchie parent
sont invisibles. L'administrateur de zone ne peut pas modifier la proprit sharenfs car les
zones non globales ne peuvent pas faire office de serveurs NFS. Il ne peut pas non plus modifier
la proprit zoned car cela entranerait un risque de scurit, tel que dcrit dans la section
suivante.
Toute autre proprit configurable peut tre modifie, l'exception de la proprit quota et du
jeu de donnes lui-mme. Ce comportement permet l'administrateur de zone globale de
contrler la consommation d'espace de l'ensemble des jeux de donnes utiliss par la zone non
globale.
En outre, l'administrateur de zone globale ne peut pas modifier les proprits sharenfs et
mountpoint aprs l'ajout d'un jeu de donnes une zone non globale.

Explication de la proprit zoned


Lors qu'un jeu de donnes est ajout une zone non globale, il doit tre marqu spcialement
pour que certaines proprits ne soient pas interprtes dans le contexte de la zone globale.
Lorsqu'un jeu de donnes est ajout une zone non globale sous le contrle d'un administrateur
de zone, son contenu n'est plus fiable. Comme pour tout systme de fichiers, cela peut entraner
la prsence de binaires Setuid, de liens symboliques ou d'autres contenus douteux qui
pourraient compromettre la scurit de la zone globale. De plus, l'interprtation de la proprit
mountpoint est impossible dans le contexte de la zone globale. Dans le cas contraire,
l'administrateur de zone pourrait affecter l'espace de noms de la zone globale. Afin de rsoudre
ceci, ZFS utilise la proprit zoned pour indiquer qu'un jeu de donnes a t dlgu une zone
non globale un moment donn.
242

Guide d'administration Solaris ZFS Octobre 2008

Utilisation de ZFS dans un systme Solaris avec zones installes

La proprit zoned est une valeur boolenne automatiquement active lors de la premire
initialisation d'une zone contenant un jeu de donnes ZFS. L'activation manuelle de cette
proprit par un administrateur de zone n'est pas ncessaire. Si la proprit zoned est dfinie, le
montage ou le partage du jeu de donnes dans la zone globale est impossible et le jeu de donnes
est ignor lors de l'excution de la commande zfs share -a ou de la commande zfs mount -a.
Dans l'exemple suivant, tank/zone/zion a t ajout une zone, tandis que tank/zone/global
ne l'a pas t :
# zfs list -o name,zoned,mountpoint -r tank/zone
NAME
ZONED MOUNTPOINT
tank/zone/global
off /tank/zone/global
tank/zone/zion
on /tank/zone/zion
# zfs mount
tank/zone/global
/tank/zone/global
tank/zone/zion
/export/zone/zion/root/tank/zone/zion

Notez la diffrence entre la proprit mountpoint et le rpertoire dans lequel le jeu de donnes
tank/zone/zion est actuellement mont. La proprit mountpoint correspond la proprit
telle qu'elle est stocke dans le disque, pas l'emplacement auquel est mont le jeu de donnes
sur le systme.
Lors de la suppression d'un jeu de donnes d'une zone ou de la destruction d'une zone, la
proprit zoned n'est pas efface automatiquement. Ce comportement est d aux risques de
scurit inhrents associs ces tches. Dans la mesure o un utilisateur qui n'est pas fiable
dispose de l'accs complet au jeu de donnes et ses enfants, la proprit mountpoint risque
d'tre configure sur des valeurs errones, ou des binaires Setuid peuvent exister dans les
systmes de fichiers.
Afin de prvenir les risques de scurit accidentels, l'administrateur global doit effacer
manuellement la proprit zoned pour que le jeu de donnes puisse tre utilis nouveau.
Avant de configurer la proprit zoned sur off, assurez-vous que la proprit mountpoint pour
le jeu de donnes et tous ses enfants est configure sur des valeurs raisonnables et qu'il n'existe
aucun binaire Setuid, ou dsactivez la proprit setuid.
Aprs avoir vrifi qu'aucune vulnrabilit n'existe au niveau de la scurit, il est possible de
dsactiver la proprit zoned l'aide de la commande zfs set ou zfs inherit. Si la proprit
zoned est dsactive alors que le jeu de donnes est en cours d'utilisation au sein d'une zone, le
systme peut se comporter de faon imprvue. Ne modifiez la proprit que si vous tes sr que
le jeu de donnes n'est plus en cours d'utilisation dans une zone non globale.

Chapitre 10 Sections avances de ZFS

243

Utilisation de pools racine ZFS de remplacement

Utilisation de pools racine ZFS de remplacement


Lors de sa cration, un pool est intrinsquement li au systme hte. Le systme hte assure la
maintenance des connaissances relatives au pool, ce qui lui permet de dtecter l'indisponibilit
du pool, le cas chant. Bien que ces connaissances soient utiles aux oprations normales, elles
peuvent causer des interfrences lors de l'initialisation partir d'autres supports ou lors de la
cration d'un pool dans un mdia amovible. La fonction de pool racine de remplacement de ZFS
permet de rsoudre ce problme. Un pool racine de remplacement n'est pas conserv d'une
rinitialisation systme une autre et tous les points de montage sont modifis de sorte tre
relatifs la racine du pool.

Cration de pools racine de remplacement ZFS


Le plus souvent, la cration d'un pool racine de remplacement s'effectue en vue d'une utilisation
avec un mdia amovible. Dans ces circonstances, les utilisateurs souhaitent employer un
systme de fichiers unique et le monter l'emplacement de leur choix dans le systme cible.
Lorsqu'un pool racine de remplacement est cr l'aide de l'option -R, le point de montage du
systme de fichiers racine est automatiquement dfini sur /, qui est l'quivalent de la racine de
remplacement elle-mme.
Dans l'exemple suivant, un pool nomm morpheus est cr l'aide /mnt en tant que chemin de
racine de remplacement :
# zpool create -R /mnt morpheus c0t0d0
# zfs list morpheus
NAME
USED AVAIL REFER MOUNTPOINT
morpheus
32.5K 33.5G
8K /mnt/

Notez le systme de fichiers morpheus dont le point de montage est la racine de remplacement
du pool, /mnt. Le point de montage stock sur le disque est / et le chemin complet de /mnt n'est
interprt que dans le contexte du pool racine de remplacement. Ce systme de fichiers peut
ensuite tre export ou import sous un pool racine de remplacement arbitraire dans un
systme diffrent.

Importation de pools racine de remplacement


L'importation de pool s'effectue galement l'aide d'une racine de remplacement. Cette
fonction permet de rcuprer les donnes, le cas chant, lorsque les points de montage ne
doivent pas tre interprts dans le contexte de la racine actuelle, mais sous un rpertoire
temporaire o pourront s'effectuer les rparations. Cette fonction peut galement tre utilise
lors du montage de mdias amovibles comme dcrit ci-dessus.
244

Guide d'administration Solaris ZFS Octobre 2008

Profils de droits ZFS

Dans l'exemple suivant, un pool nomm morpheus est import l'aide de /mnt en tant que
chemin racine de remplacement : Cet exemple part du principe que morpheus a t
prcdemment export.
# zpool import -R /mnt morpheus
# zpool list morpheus
NAME
SIZE
USED AVAIL
CAP HEALTH
morpheus
33.8G 68.0K 33.7G
0% ONLINE
# zfs list morpheus
NAME
USED AVAIL REFER MOUNTPOINT
morpheus
32.5K 33.5G
8K /mnt/morpheus

ALTROOT
/mnt

Profils de droits ZFS


Si vous souhaitez effectuer des tches de gestion ZFS sans utiliser le compte superutilisateur
(racine), vous pouvez adopter un rle disposant de l'une des proprits suivantes afin d'effectuer
des tches d'administration ZFS :

Gestion de stockage ZFS Permet de crer, dtruire ou manipuler les priphriques au sein
d'un pool de stockage ZFS.

Gestion de systme de fichiers ZFS Permet de crer, dtruire et modifier les systmes de
fichiers ZFS.

Pour de plus amples informations sur la cration ou l'assignation de rles, reportez-vous au


System Administration Guide: Security Services.
Outre les rles RBAC permettant de grer les systmes de fichiers ZFS, vous pouvez galement
vous servir de l'administration dlgue de ZFS pour effectuer des tches d'administration ZFS
distribue. Pour plus d'informations, reportez-vous au Chapitre9, Administration dlgue de
ZFS.

Chapitre 10 Sections avances de ZFS

245

246

11
C H A P I T R E

1 1

Rsolution de problmes et rcupration de


donnes ZFS

Ce chapitre dcrit les mthodes d'identification et de rsolution des modes de panne de ZFS.
Des informations relatives la prvention des pannes sont galement fournies.
Il contient les sections suivantes :

Modes de panne ZFS la page 247


Vrification de l'intgrit des donnes ZFS la page 249
Identification de problmes dans ZFS la page 251
Rparation d'un configuration ZFS endommage la page 257
Rparation d'un priphrique manquant la page 257
Rparation d'un priphrique endommag la page 259
Rparation de donnes endommages la page 267
Rparation d'un systme impossible rinitialiser la page 271

Modes de panne ZFS


En tant que systme de fichiers et gestionnaire de volumes combins, ZFS peut rencontrer
diffrents modes de panne. Ce chapitre commence par une description des diffrents modes de
panne, puis explique comment les identifier sur un systme en cours d'excution. Il se conclut
en expliquant comment rsoudre les problmes. ZFS peut faire face trois types d'erreurs de
base :

Priphriques manquants dans un pool de stockage ZFS la page 248


Priphriques endommags dans un pool de stockage ZFS la page 248
Donnes ZFS corrompue la page 248

Notez que les trois types d'erreurs peuvent se produire dans un mme pool. Une procdure de
rparation complte implique de trouver et de corriger une erreur, de passer la suivante et
ainsi de suite.
247

Modes de panne ZFS

Priphriques manquants dans un pool de stockage


ZFS
Si un priphrique est supprim du systme, ZFS dtecte que son ouverture est impossible et le
met dans l'tat UNAVAIL. En fonction du niveau de rplication des donnes du pool, cela peut
rsulter ou pas en une indisponibilit de la totalit du pool. Le pool reste accessible en cas de
suppression d'un priphrique mis en miroir ou RAID-Z. Si tous les composants d'un miroir
sont supprims, si plusieurs priphriques d'un priphrique RAID-Z sont supprims, ou si un
priphrique de niveau suprieur un disque est supprim, l'tat du pool devient FAULTED.
Aucune donne n'est accessible tant que le priphrique n'est pas reconnect.

Priphriques endommags dans un pool de stockage


ZFS
Le terme " endommag " fait rfrence une grande varit d'erreurs possibles. Les exemples
incluent les erreurs suivantes :

erreurs d'E/S transitoires causes par un disque ou un contrleur dfaillant ;

corruption de donnes sur disque cause par les rayons cosmiques ;

bogues de pilotes entranant des transferts de donnes vers ou partir d'un emplacement
erron ;

crasement accidentel de parties du priphrique physique par un autre utilisateur.

Certaines erreurs sont transitoires, par exemple une erreur d'E/S alatoire alors que le
contrleur rencontre des problmes. Dans d'autres cas, les dommages sont permanents, par
exemple lors de la corruption sur disque. En outre, mme si les dommages sont permanents,
cela ne signifie pas que l'erreur est susceptible de se reproduire. Par exemple, si un
administrateur crase une partie d'un disque par accident, aucune panne matrielle ne s'est
produite et il est inutile de remplacer le priphrique. L'identification de la squence d'erreurs
dans un priphrique n'est pas une tche aise. Elle est aborde plus en dtail dans une section
ultrieure.

Donnes ZFS corrompue


La corruption de donnes se produit lorsqu'une ou plusieurs erreurs de priphriques
(indiquant des priphriques manquants ou endommags) affectent un priphrique virtuel de
niveau suprieur. Par exemple, la moiti d'un miroir peut subir des milliers d'erreurs sans
jamais causer de corruption de donnes. Si une erreur se produit sur l'autre ct du miroir au
mme emplacement, les donnes sont alors endommages.
248

Guide d'administration Solaris ZFS Octobre 2008

Vrification de l'intgrit des donnes ZFS

La corruption de donnes est toujours permanente et ncessite une soin particulier lors de la
rparation. Mme en cas de rparation ou de remplacement des priphriques sous-jacents, les
donnes d'origine sont irrmdiablement perdues. La plupart du temps, ce scnario requiert la
restauration des donnes partir de sauvegardes. Les erreurs de donnes sont enregistres
mesure qu'elles sont dtectes et peuvent tre contrles l'aide de nettoyages de disques de
routine, comme expliqu dans la section suivante. Lorsqu'un bloc corrompu est supprim, le
nettoyage de disque suivant reconnat que la corruption n'est plus prsente et supprime toute
trace de l'erreur dans le systme.

Vrification de l'intgrit des donnes ZFS


Il n'existe pas d'utilitaire fsck quivalent pour ZFS. Cet utilitaire remplissait deux fonctions : la
rparation et la validation des donnes.

Rparation de donnes
Avec les systmes de fichiers classiques, la mthode d'criture des donnes est affecte par les
pannes inattendues entranant des incohrences de donnes. Un systme de fichiers classique
n'tant pas transactionnel, les blocs non rfrencs, les comptes de liens dfectueux ou autres
structures de donnes incohrentes sont possibles. L'ajout de la journalisation rsout certains de
ces problmes, mais peut entraner des problmes supplmentaires lorsque la restauration du
journal est impossible. Grce ZFS, ces problmes ne se posent pas. Une incohrence des
donnes sur disque ne se produit qu' la suite d'une panne de matrielle (auquel cas le pool
aurait d tre redondant) ou en prsence d'un bogue dans le logiciel ZFS.
L'utilitaire fsck tant conu pour rparer les problmes spcifiques aux systmes de fichiers
individuels, l'criture d'un tel utilitaire pour un systme de fichiers ne prsentant pas de
problme connu est impossible. La preuve pourrait tre apporte l'avenir que certains
problmes de corruption de donnes sont suffisamment frquents et simples pour justifier le
dveloppement d'un tel utilitaire de rparation, mais ces problmes peuvent toujours tre vits
l'aide de pools redondants.
Si le pool n'est pas redondant, le risque qu'une corruption de donnes puisse rendre tout ou
partie de vos donnes inaccessibles est toujours prsent.

Validation de donnes
Outre la rparation de donnes, l'utilitaire fsck valide l'absence de problme relatif aux
donnes sur le disque. Cette tche s'effectue habituellement en dmontant le systme de fichiers
et en excutant l'utilitaire fsck, ventuellement en mettant le systme en mode utilisateur
unique lors du processus. Ce scnario entrane une indisponibilit proportionnelle la taille du
Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

249

Vrification de l'intgrit des donnes ZFS

systme de fichiers en cours de vrification. Plutt que de requrir un utilitaire explicite pour
effectuer la vrification ncessaire, ZFS fournit un mcanisme pour effectuer une vrification de
routine des donnes. Cette fonctionnalit, appele nettoyage, est frquemment utilise dans les
systmes de mmoire et autres systmes comme mthode de dtection et de prvention
d'erreurs pour viter qu'elles entranent des pannes matrielles ou logicielles.

Contrle du nettoyage de donnes ZFS


Si ZFS rencontre une erreur, soit via le nettoyage ou lors de l'accs un fichier la demande,
l'erreur est journalise en interne pour vous donner une vue d'ensemble rapide de toutes les
erreurs connues au sein du pool.

Nettoyage explicite de donnes ZFS


La faon la plus simple de vrifier l'intgrit des donnes est de lancer un nettoyage explicite de
toutes les donnes au sein du pool. Cette opration traverse toutes les donnes dans le pool une
fois et vrifie que tous les blocs sont lisibles. Le nettoyage va aussi vite que le permettent les
priphriques, mais la priorit de toute E/S reste infrieure celle de toute opration normale.
Cette opration peut affecter les performances, bien que le systme de fichiers reste utilisable et
sa ractivit est quasiment la mme lors du nettoyage. La commande zpool scrubpermet de
lancer un nettoyage explicite. Exemple :
# zpool scrub tank

La sortie de zpool status permet d'afficher l'tat du nettoyage actuel. Exemple :


# zpool
pool:
state:
scrub:
config:

status -v tank
tank
ONLINE
scrub completed after 0h13m with 0 errors on Thu Aug 28 09:57:41 2008

NAME
tank
mirror
c1t0d0
c1t1d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors

Notez qu'une seule opration de nettoyage actif par pool peut se produire la fois.
L'option -s permet d'interrompre un nettoyage en cours. Exemple :
# zpool scrub -s tank
250

Guide d'administration Solaris ZFS Octobre 2008

Identification de problmes dans ZFS

Dans la plupart des cas, une opration de nettoyage pour assurer l'intgrit des donnes doit
tre mene son terme. Vous pouvez cependant interrompre une telle opration si les
performances du systme sont affectes.
Un nettoyage de routine garantit galement des E/S continues pour l'ensemble des disques du
systme. Cet opration a cependant pour effet secondaire d'empcher la gestion de
l'alimentation de placer des disques inactifs en mode basse consommation. Si le systme ralise
en gnral des E/S en permanence, ou si la consommation n'est pas une proccupation, ce
problme peut tre ignor.
Pour de plus amples informations sur l'interprtation de la sortie de zpool status,
reportez-vous la section Requte d'tat de pool de stockage ZFS la page 123.

Nettoyage et rargenture de donnes ZFS


Lors du remplacement d'un priphrique, une opration de rargenture est amorce pour
dplacer les donnes des copies correctes vers le nouveau priphrique. Cette action est une
forme de nettoyage de disque. Par consquent, une seule action de ce type peut tre effectue
un moment donn dans le pool. Lorsqu'une opration de nettoyage est en cours, toute
opration de rargenture suspend le nettoyage et le redmarre une fois qu'elle a termin.
Pour de plus amples informations sur la rargenture, reportez-vous la section Affichage de
l'tat de rargenture la page 265.

Identification de problmes dans ZFS


Les sections suivantes dcrivent l'identification des problmes dans les systmes de fichiers ZFS
ou les pools de stockage.

Recherche de problmes ventuels dans un pool de stockage ZFS la page 253


Consultation de la sortie de zpool status la page 253
Rapport systme de messages d'erreur ZFS la page 256

Les fonctions suivantes permettent d'identifier les problmes au sein de la configuration ZFS :

La commande zpool status permet d'obtenir des informations relatives au pool de


stockage ZFS.

Les dfaillances de pool et de priphrique sont rapportes par le biais de messages de


diagnostics ZFS/FMA.

La commande zpool history permet d'afficher les commandes ZFS prcdentes qui ont
modifi les informations d'tat de pool.

La plupart des solutions de problmes ZFS sont axes autour de la commande zpool status.
Cette commande analyse les diffrentes erreurs systme et identifie les problmes les plus
svres. En outre, elle propose des actions effectuer et un lien vers un article de connaissances
Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

251

Identification de problmes dans ZFS

pour de plus amples informations. Notez que cette commande n'identifie qu'un seul problme
dans le pool, mme si plusieurs problmes existent. Par exemple, les erreurs de corruption de
donnes impliquent toujours la panne d'un priphrique. Le remplacement d'un priphrique
dfaillant ne rgle pas les problmes de corruption de donnes.
En outre, un moteur de diagnostic ZFS est fourni pour diagnostiquer et rapporter les
dfaillances de pool ou de priphriques. Les erreurs lies aux sommes de contrle, aux E/S et
aux priphriques font galement l'objet d'un rapport lorsqu'elles sont lies la dfaillance d'un
pool ou d'un priphrique. Les dfaillances ZFS telles que rapportes par fmd s'affichent sur la
console ainsi que les dans le fichier de messages systme. Dans la plupart des cas, le message fmd
vous dirige vers la commande zpool status pour obtenir des instructions supplmentaires de
rcupration.
Le processus de rcupration est comme dcrit ci-aprs :

Le cas chant, la commande zpool history permet d'identifier les commandes ZFS
prcdentes ayant entran le scnario d'erreur. Exemple :
# zpool history
History for tank:
2007-04-25.10:19:42 zpool create tank mirror c0t8d0 c0t9d0 c0t10d0
2007-04-25.10:19:45 zfs create tank/erick
2007-04-25.10:19:55 zfs set checksum=off tank/erick

Notez dans la sortie ci-dessous que les sommes de contrle sont dsactives pour le systme
de fichiers tank/erick. Cette configuration est dconseille.

Identifiez les erreurs l'aide des messages fmd affichs sur la console systme ou dans les
fichiers /var/adm/messages.

Obtenez des instructions de rparation supplmentaires grce la commande zpool


status -x.

Rparez les pannes, par exemple :

Remplacez le priphrique dfaillant ou manquant et mettez-le en ligne.

Restaurez la configuration dfaillante ou les donnes corrompues partir d'une


sauvegarde.

Vrifiez la rcupration l'aide de la commande zpool status - x.

Sauvegardez la configuration restaure, le cas chant.

Ce chapitre dcrit les mthodes d'interprtation de la sortie de zpool status afin de


diagnostiquer le type la panne et vous indique la section consulter pour rsoudre le problme.
Bien que la commande effectue la plupart du travail de faon automatique, il est important de
bien comprendre les problmes identifis afin de diagnostiquer le type de panne.

252

Guide d'administration Solaris ZFS Octobre 2008

Identification de problmes dans ZFS

Recherche de problmes ventuels dans un pool de


stockage ZFS
La mthode la plus simple pour dterminer s'il existe des problmes connus sur le systme
consiste excuter la commande zpool status -x. Cette commande dcrit uniquement les
pools prsentant des problmes. En l'absence de pools dfaillants dans le systme, la commande
affiche un message simple, comme ci-dessous :
# zpool status -x
all pools are healthy

Sans l'indicateur -x, la commande affiche l'tat complet de tous les pools (ou du pool demand
s'il est spcifi sur la ligne de commande), mme si les pools sont autrement fonctionnels.
Pour de plus amples informations sur les options de ligne de commande de la commande zpool
status, reportez-vous la section Requte d'tat de pool de stockage ZFS la page 123.

Consultation de la sortie de zpool status


La sortie complte de zpool status est similaire ce qui suit :
# zpool
pool:
state:
status:

status tank
tank
DEGRADED
One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using zpool online or replace the device with
zpool replace.
scrub: none requested
config:
NAME
tank
mirror
c1t0d0
c1t1d0

STATE
READ WRITE CKSUM
DEGRADED
0
0
0
DEGRADED
0
0
0
ONLINE
0
0
0
OFFLINE
0
0
0

errors: No known data errors

Cette sortie est divise en plusieurs sections :

Informations globales d'tat des pools


Cette section d'en-tte de la sortie zpool status se compose des champs suivants, certains
d'entre eux n'tant affichs que pour les pools prsentant des problmes :
Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

253

Identification de problmes dans ZFS

pool

Nom du pool.

state

tat de maintenance actuel du pool. Ces informations concernent uniquement la


capacit de pool fournir le niveau de rplication requis. Les pools dont l'tat est
ONLINE peuvent contenir des priphriques dfaillants ou des donnes corrompues.

status

Description du problme dans le pool. Ce champ est absent si aucun problme n'est
dtect.

action

Action recommande pour la rparation des erreurs. Ce champ constitue un


formulaire abrg qui redirige l'utilisateur vers l'une des sections suivantes. Ce
champ est absent si aucun problme n'est dtect.

see

Rfrence un article de connaissances contenant des informations de rparation


dtailles. Les articles en ligne sont actualiss plus rgulirement que ce guide.
Normalement, ils sont toujours rfrencs pour fournir les procdures de
rparation les plus jour. Ce champ est absent si aucun problme n'est dtect.

scrub

Identifie l'tat actuel d'une opration de nettoyage. Ce champ peut indiquer la date
et l'heure du dernier nettoyage, un nettoyage en cours ou l'absence de requte de
nettoyage.

errors

Identifie les erreurs de donnes ou l'absence d'erreurs de donnes connues.

Informations de configuration
Le champ config de la sortie zpool status dcrit la configuration des priphriques incluant
le pool, ainsi que leur tat et toute erreur gnre partir des priphriques. L'tat peut tre l'un
des suivants : ONLINE, FAULTED, DEGRADED, UNAVAILABLE ou OFFLINE. Si l'tat n'est pas ONLINE, la
tolrance de pannes du pool a t compromise.
La deuxime section de la sortie de configuration affiche des statistiques d'erreurs. Ces erreurs
se divisent en trois catgories :

READ : des erreurs d'E/S se sont produites lors de l'envoi d'une requte de lecture.

WRITE : des erreurs d'E/S se sont produites lors de l'envoi d'une requte d'criture.

CKSUM : erreurs de somme de contrle. Le priphrique a renvoy des donnes corrompues


en rponse une requte de lecture.

Il est possible d'utiliser ces erreurs pour dterminer si les dommages sont permanents. Des
erreurs d'E/S peu nombreuses peuvent indiquer une interruption de service temporaire. Si elles
sont nombreuses, il est possible que le priphrique prsente un problme permanent. Ces
erreurs ne correspondent pas ncessairement la corruption de donnes telle qu'interprte par
les applications. Si la configuration du priphrique est redondante, les priphriques de disque
peuvent prsenter des erreurs impossibles corriger, mme si aucune erreur ne s'affiche au

254

Guide d'administration Solaris ZFS Octobre 2008

Identification de problmes dans ZFS

niveau du priphrique RAID-Z ou du miroir. Si c'est ce scnario qui se produit, ZFS a rcupr
les donnes adquates et a russi rparer les donnes endommages pour les rpliques
existantes.
Pour de plus amples informations sur l'interprtation de ces erreurs pour dterminer une panne
de priphrique, reportez-vous la section Dtermination du type de panne de priphrique
la page 259.
Enfin, les informations auxiliaires supplmentaire sont affiches dans la dernire colonne de la
sortie de zpool status. Ces informations s'tendent dans le champ state et facilitent le
diagnostic de modes de panne. Si l'tat d'un priphrique est FAULTED, ce champ indique si
priphrique est inaccessible ou si les donnes du priphrique sont corrompues. Si le
priphrique est en cours de rargenture, ce champ affiche la progression du processus.
Pour de plus amples informations sur le contrle de la progression de la rargenture,
reportez-vous la section Affichage de l'tat de rargenture la page 265.

tat du nettoyage
La troisime section de la sortie zpool status dcrit l'tat actuel de tout nettoyage explicite.
Ces informations sont distinctes de la dtection d'erreurs dans le systme, mais il est possible de
les utiliser pour dterminer l'exactitude du rapport d'erreurs de corruption de donnes. Si le
dernier nettoyage s'est rcemment termin, toute corruption de donnes existante aura
probablement dj t dtect.
Pour de plus amples informations sur le nettoyage de donnes et l'interprtation de ces
informations, reportez-vous la section Vrification de l'intgrit des donnes ZFS
la page 249.

Erreurs de corruption de donnes


La commande zpool status indique galement si des erreurs connues sont associes au pool.
La dtection de ces erreurs a pu s'effectuer lors du nettoyage de disque ou lors des oprations
normales. ZFS conserve un journal persistant des erreurs de donnes associes au pool. Ce
journal tourne chaque fois qu'un nettoyage complet du systme est termin.
Les erreurs de corruption de donnes constituent toujours des erreurs fatales. Elles indiquent
une erreur d'E/S dans au moins une application, en raison de la prsence de donnes
corrompues au sein du pool. Les erreurs de priphrique dans un pool redondant n'entranent
pas de corruption de donnes et ne sont pas enregistres en tant que partie de ce journal. Par
dfaut, seul le nombre d'erreurs trouves s'affiche. Vous pouvez obtenir la liste complte des
erreurs et de leurs spcificits l'aide de l'option zpool status -v. Exemple :
# zpool status -v
pool: tank

Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

255

Identification de problmes dans ZFS

state: DEGRADED
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.sun.com/msg/ZFS-8000-8A
scrub: resilver completed with 1 errors on Thu Aug 28 09:58:22 MDT 2008
config:
NAME
tank
mirror
c1t0d0
c1t1d0

STATE
READ WRITE CKSUM
DEGRADED
0
0
1
DEGRADED
0
0
1
ONLINE
0
0
2
UNAVAIL
0
0
0 corrupted data

errors: The following persistent errors have been detected:


DATASET OBJECT RANGE
5
0
lvl=4294967295 blkid=0

La commande fmd affiche galement un message similaire dans la console systme et le fichier
/var/adm/messages. La commande fmdump permet galement de raliser le suivi de ces
messages.
Pour de plus amples informations sur l'interprtation d'erreurs de corruption de donnes,
reportez-vous la section Identification du type de corruption de donnes la page 268.

Rapport systme de messages d'erreur ZFS


Outre le suivi permanent des erreur au sein du pool, ZFS affiche galement des messages syslog
lorsque des vnements intressants se produisent. Les scnarios suivants gnrent des
vnements pour notifier l'administrateur :

256

Transition d'tat de priphrique Si l'tat d'un priphrique devient FAULTED, ZFS


consigne un message indiquant que la tolrance de pannes du pool risque d'tre
compromise. Un message similaire est envoy si le priphrique est mis en ligne
ultrieurement, restaurant la maintenance du pool.

Corruption de donnes En cas de dtection de corruption de donnes, ZFS consigne un


message indiquant o et quand s'est produit la dtection. Ce message n'est consign que lors
de la premire dtection. Les accs ultrieurs ne gnrent pas de message.

Dfaillances de pool et de priphrique En cas de dfaillance d'un pool ou d'un


priphrique, le dmon du gestionnaire de pannes rapporte ces erreurs par le biais de
messages syslog et de la commande fmdump.

Guide d'administration Solaris ZFS Octobre 2008

Rparation d'un priphrique manquant

Si ZFS dtecte un erreur de priphrique et la corrige automatiquement, aucune notification


n'est gnre. De telles erreurs ne constituent pas une dfaillance de redondance de pool ou de
l'intgrit des donnes. En outre, de telles erreurs sont typiquement dues un problme de
pilote accompagn de son propre jeu de messages d'erreur.

Rparation d'un configuration ZFS endommage


ZFS conserve un cache des pools actifs et de leur configuration dans le systme de fichiers
racine. Si ce fichier est corrompu ou n'est plus synchronis avec ce qui est stock dans le disque,
l'ouverture du pool n'est plus possible. ZFS tente d'viter ces situations, mais la corruption
arbitraire reste possible en raison des caractristiques du systme de fichiers sous-jacent et du
stockage. En gnral, cette situation est due la disparition d'un pool du systme alors qu'il
devrait tre disponible. Parfois, elle correspond une configuration partielle, dans laquelle il
manque un nombre inconnu de priphriques virtuels de niveau suprieur. Quel que soit le cas,
la configuration peut tre rcupre en exportant le pool (s'il est visible tous) et en le
rimportant.
Pour de plus amples informations sur l'importation et l'exportation de pools, reportez-vous la
section Migration de pools de stockage ZFS la page 130.

Rparation d'un priphrique manquant


Si l'ouverture d'un priphrique est impossible, ce dernier s'affiche dans l'tat UNAVAILABLE dans
la sortie de zpool status. Cet tat indique que ZFS n'a pas pu ouvrir le priphrique lors du
premier accs au pool ou que le priphrique est devenu indisponible par la suite. Si le
priphrique rend un priphrique de niveau suprieur indisponible, l'intgralit du pool
devient inaccessible. Dans le cas contraire, la tolrance de pannes du pool risque d'tre
compromise. Quel que soit le cas, le priphrique doit simplement tre reconnect au systme
pour refonctionner normalement.
Par exemple, aprs une panne de priphrique, fmd peut afficher un message similaire au
suivant :
SUNW-MSG-ID: ZFS-8000-FD, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Fri Aug 22 13:01:15 MDT 2008
PLATFORM: SUNW,Ultra-Enterprise, CSN: -, HOSTNAME: neo
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: 1f4f33d6-4973-4884-d494-a29b284d9554
DESC: The number of I/O errors associated with a ZFS device exceeded acceptable levels.
Refer to http://sun.com/msg/ZFS-8000-FD for more information.
AUTO-RESPONSE: The device has been offlined and marked as faulted. An attempt
will be made to activate a hot spare if available.

Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

257

Rparation d'un priphrique manquant

IMPACT: Fault tolerance of the pool may be compromised.


REC-ACTION: Run zpool status -x and replace the bad device.

L'tape suivante consiste excuter la commande zpool status -x pour visualiser des
informations plus dtailles sur le problme du priphrique et sa rsolution. Exemple :
Cette sortie indique que le priphrique manquant c0t1d0 ne fonctionne pas. Si vous
dterminez que le priphrique est dfectueux, remplacez-le.
Excutez ensuite la commande zpool online pour mettre le priphrique remplac en ligne.
Exemple :
# zpool online tank c0t1d0

Confirmez que le pool dont le priphrique a t remplac est fonctionnel.


# zpool status -x tank
pool tank is healthy

Reconnexion physique du priphrique


La reconnexion d'un priphrique dpend du priphrique en question. S'il s'agit d'un disque
connect au rseau, la connectivit doit tre restaure. S'il s'agit d'un support USB ou autre
support amovible, il doit tre reconnect au systme. S'il s'agit d'un disque local, un contrleur
est peut-tre tomb en panne, rendant le priphrique invisible au systme. Dans ce cas, il faut
remplacer le contrleur pour que les disques soient nouveau disponibles. D'autres problmes
existent et dpendent du type de matriel et de sa configuration. Si un disque tombe en panne et
n'est plus visible pour le systme (vnement peu probable), le priphrique doit tre trait
comme un priphrique endommag. Suivez les procdures dcrites dans la section
Rparation d'un priphrique endommag la page 259.

Notification relative la disponibilit de


priphriques dans ZFS
Une fois le priphrique reconnect au systme, sa disponibilit peut tre dtecte
automatiquement ou non dans ZFS. Si le pool tait prcdemment dfaillant ou si le system a
t rinitialis en tant que partie de la procdure de reconnexion, alors ZFS rebalayer
automatiquement tous les priphriques lors de la tentative d'ouverture du pool. Si le pool tait
endommag et que le priphrique a t remplac alors que le systme tait activ, vous devez
indiquer ZFS que le priphrique est dornavant disponible et qu'il est prt tre rouvert
l'aide de la commande zpool online. Exemple :

258

Guide d'administration Solaris ZFS Octobre 2008

Rparation d'un priphrique endommag

# zpool online tank c0t1d0

Pour de plus amples informations sur la remise en ligne de priphriques, reportez-vous la


section Mise en ligne d'un priphrique la page 113.

Rparation d'un priphrique endommag


Cette section explique comment dterminer les types de panne de priphriques, effacer les
erreurs transitoires et remplacer un priphrique.

Dtermination du type de panne de priphrique


Le terme priphrique endommag peut dcrire un grand nombre de situations :

Bit rot Sur la dure, des vnements alatoires, tels que les influences magntiques et les
rayons cosmiques, peuvent entraner une inversion des bits stocks dans le disque dans des
moments imprvisibles. Ces vnements sont relativement rares mais, cependant, assez
courants pour entraner des corruptions de donnes potentielles dans des systmes de
grande taille ou de longue dure. Ces erreurs sont typiquement transitoires.

Lectures ou critures mal diriges Les bogues de microprogrammes ou les pannes de


matriel peuvent entraner un rfrencement incorrect de l'emplacement du disque par des
lectures ou critures de blocs entiers. Ces erreurs sont gnralement transitoires, mais un
grand nombre d'entre elles peut indiquer un disque dfectueux.

Erreur d'administrateur Les administrateurs peuvent craser par erreur des parties du
disque avec des donnes errones (la copie de /dev/zero sur des partie du disque, par
exemple) qui entranent la corruption permanente du disque. Ces erreurs sont toujours
transitoires.

Interruption temporaire de service : un disque peut tre temporairement indisponible,


entranant l'chec des E/S. En gnral, cette situation est associe aux priphriques
connects au rseau, mais les disques locaux peuvent galement connatre des interruptions
temporaires de service. Ces erreurs peuvent tre transitoires ou non.

Matriel dfectueux ou peu fiable Cette situation englobe tous les problmes lis un
matriel dfectueux. Il peut s'agir d'erreurs d'E/S constantes, de transports dfectueux
entranant des corruptions alatoires ou d'autres dfaillances. Ces erreurs sont typiquement
permanentes.

Priphrique mis hors ligne Si un priphrique est hors ligne, il est considr comme
ayant t mis hors ligne par l'administrateur, parce qu'il tait dfectueux. L'administrateur
qui a mis ce dispositif hors ligne peut dterminer si cette hypothse est exacte.

Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

259

Rparation d'un priphrique endommag

Il est parfois difficile de dterminer la nature exacte de la panne. La premire tape consiste
examiner le dcompte d'erreurs dans la sortie de zpool status comme suit :
# zpool status -v pool

Les erreurs sont divises en erreurs d'E/S et en erreurs de sommes de contrle. Ces deux
catgories peuvent indiquer le type de panne possible. Une opration typique renvoie un trs
petit nombre d'erreurs (quelques-unes sur une longue priode). Si les erreurs sont nombreuses,
un priphrique est probablement en panne ou sur le point de tomber en panne. Cependant, les
problmes gnrs par l'erreur d'administrateur peuvent entraner un grand nombre d'erreurs.
Le journal systme constitue une autre source d'informations. Si le journal prsente un grand
nombre de messages SCSI ou de pilote Fibre Channel, il existe probablement de graves
problmes matriels. L'absence de messages syslog indique que les dommages sont
probablement transitoires.
L'objectif est de rpondre la question suivante :
Est-il possible qu'une autre erreur se produise dans ce priphrique ?
Les erreurs qui ne se produisent qu'une fois sont considres transitoires et n'indiquent pas une
panne potentielle. Les erreurs suffisamment persistantes ou svres pour indiquer une panne
matrielle potentielle sont considres comme tant des "erreurs fatales". Aucun logiciel
automatis actuellement disponible avec ZFS ne permet de dterminer le type d'erreur. Par
consquent, l'administrateur doit procder manuellement. Une fois l'erreur dtermine, vous
pouvez raliser l'action adquate. En cas d'erreurs fatales, effacez les erreurs transitoires ou
remplacez le priphrique. Ces procdures de rparation sont dcrites dans les sections
suivantes.
Mme si les erreurs de priphriques sont considres comme tant transitoires, elles peuvent
tout de mme entraner des erreurs de donnes impossibles corriger au sein du pool. Ces
erreurs requirent des procdures de rparation spciales, mme si le priphrique sous-jacent
est considr comme tant fonctionnel ou rpar. Pour de plus amples informations sur la
rparation d'erreurs de donnes, reportez-vous la section Rparation de donnes
endommages la page 267.

Suppression des erreurs transitoires


Si les erreurs de priphrique sont considres comme tant transitoires, dans la mesure o il
est peu probable qu'elles affectent la maintenance du priphrique, les erreurs de priphriques
peuvent tre effaces en toute scurit pour indiquer qu'aucune erreur fatale ne s'est produite.
Pour effacer les compteurs d'erreurs pour les priphriques mis en miroir ou RAID-Z, utilisez la
commande zpool clear. Exemple :
# zpool clear tank c1t0d0

260

Guide d'administration Solaris ZFS Octobre 2008

Rparation d'un priphrique endommag

Cette syntaxe efface toutes les erreurs associes au priphrique et tout dcompte d'erreurs de
donnes associes au priphrique.
Pour effacer toutes les erreurs associes aux priphriques virtuels du pool et tout dcompte
d'erreurs de donnes associes au pool, utilisez la syntaxe suivante :
# zpool clear tank

Pour de plus amples informations relatives la suppression des erreurs de pool, reportez-vous
la section Suppression des priphriques de pool de stockage la page 114.

Remplacement d'un priphrique dans un pool de


stockage ZFS
Si le priphrique prsente ou risque de prsenter une panne permanente, il doit tre remplac.
Le remplacement du priphrique dpend de la configuration.

Dtermination de la possibilit de remplacement du priphrique la page 261


Priphriques impossibles remplacer la page 262
Remplacement d'un priphrique dans un pool de stockage ZFS la page 262
Affichage de l'tat de rargenture la page 265

Dtermination de la possibilit de remplacement du priphrique


Pour qu'un priphrique puisse tre remplac, l'tat du pool doit tre ONLINE. Le priphrique
doit faire partie d'une configuration redondante ou tre fonctionnel (tat ONLINE). Si le disque
fait partie d'une configuration redondante, il doit exister suffisamment de rpliques pour
permettre la rcupration des donnes correctes. Si deux disques d'un miroir quatre directions
sont dfaillants, chaque disque peut tre remplac car des rpliques fonctionnelles sont
disponibles. Cependant, en cas de panne de deux disques dans un priphrique RAID-Z
quatre directions, aucun disque ne peut tre remplac en l'absence de rpliques suffisantes
permettant de rcuprer les donnes. Si le priphrique est endommag mais en ligne, il peut
tre remplac tant que l'tat du pool n'est pas FAULTED. Toutefois, toute donne endommage
sur le priphrique est copie sur le nouveau priphrique moins que le nombre de copies des
donnes non endommages soit dj suffisant.
Dans la configuration suivante, le disque c1t1d0 peut tre remplac et toute donne du pool est
copie partir de la rplique correcte, c1t0d0.
mirror
c1t0d0
c1t1d0

DEGRADED
ONLINE
FAULTED

Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

261

Rparation d'un priphrique endommag

Le disque c1t0d0 peut galement tre remplac, mais un autortablissement des donnes est
impossible, car il n'existe aucune rplique correcte.
Dans la configuration suivante, aucun des disques dfaillants ne peut tre remplac. Les disques
ONLINE ne peuvent pas l'tre non plus, car le pool lui-mme est dfaillant.
raidz
c1t0d0
c2t0d0
c3t0d0
c3t0d0

FAULTED
ONLINE
FAULTED
FAULTED
ONLINE

Dans la configuration suivante, chacun des disques de niveau suprieur peut tre remplac.
Cependant, les donnes incorrectes seront galement copies dans le nouveau disque, le cas
chant.
c1t0d0
c1t1d0

ONLINE
ONLINE

Si les deux disques taient dfectueux, alors tout remplacement serait impossible car le pool
lui-mme serait dfectueux.

Priphriques impossibles remplacer


Si la perte d'un priphrique entrane une dfaillance du pool ou si le priphrique contient trop
d'erreurs de donnes dans une configuration non redondante, alors le remplacement du
priphrique en toute scurit est impossible. En l'absence de redondance suffisante, il n'existe
pas de donnes correctes avec lesquelles rparer le priphrique dfectueux. Dans ce cas, la
seule option est de dtruire le pool et de recrer la configuration, en restaurant les donnes au
cours du processus.
Pour de plus amples informations sur la restauration d'un pool entier, reportez-vous la section
Rparation de dommages prsents dans l'ensemble du pool de stockage ZFS la page 270.

Remplacement d'un priphrique dans un pool de stockage ZFS


Aprs avoir dtermin qu'il est possible de remplacer un priphrique, excutez la commande
zpool replace pour le remplacer effectivement. Excutez la commande suivante si vous
remplacez le priphrique endommag par un autre priphrique :
# zpool replace tank c1t0d0 c2t0d0

Cette commande lance la migration de donnes vers le nouveau priphrique, soit partir du
priphrique endommag, soit partir d'autres priphriques du pool s'il s'agit d'une
configuration redondante. Une fois l'excution de la commande termine, le priphrique
endommag est spar de la configuration. Il peut dornavant tre retir du systme. Si vous
262

Guide d'administration Solaris ZFS Octobre 2008

Rparation d'un priphrique endommag

avez dj retir le priphrique et que vous l'avez remplac par un autre dans le mme
emplacement, utilisez la forme "priphrique unique" de la commande. Exemple :
# zpool replace tank c1t0d0

Cette commande formate adquatement un disque non format et commence ensuite la


rargenture de donnes partir du reste de la configuration.
Pour de plus amples informations sur la commande zpool replace reportez-vous la section
Remplacement de priphriques dans un pool de stockage la page 114.
EXEMPLE 111

Remplacement d'un priphrique dans un pool de stockage ZFS

L'exemple suivant illustre le remplacement d'un priphrique (c1t3d0) du pool de stockage mis
en miroir tank sur un systme Sun Fire x4500. Pour remplacer le disque c1t3d0 par un nouveau
au mme emplacement (c1t3d0), annulez la configuration du disque avant de procder au
remplacement. Les tapes de base sont les suivantes :

Mettez au pralable le disque remplacer hors ligne. Vous ne pouvez pas annuler la
configuration d'un disque utilis.

Identifiez le disque (c1t3d0) dont la configuration doit tre annule puis annulez sa
configuration. Dans cette configuration mise en miroir, le pool est endommag et le disque
est hors ligne mais le pool reste disponible.

Remplacez le disque (c1t3d0). Vrifiez que la DEL bleue, indiquant que le priphrique est
prt tre retir, est allume avant de retirer le lecteur dfaillant.

Reconfigurez le disque (c1t3d0).

Remettez le disque (c1t3d0) en ligne.

Excutez la commande zpool replace pour remplacer le disque (c1t3d0).


Remarque Si vous avez prcdemment dfini la proprit de pool autoreplace=on, tout

nouveau priphrique dtect au mme emplacement physique qu'un priphrique


appartenant prcdemment au pool est automatiquement format et remplac sans recourir
la commande zpool replace. Cette fonction n'est pas prise en charge sur tous les types de
matriel.
# zpool offline tank c1t3d0
cfgadm | grep c1t3d0
sata1/3::dsk/c1t3d0
disk
connected
configured ok
# cfgadm -c unconfigure sata1/3
Unconfigure the device at: /devices/pci@0,0/pci1022,7458@2/pci11ab,11ab@1:3
This operation will suspend activity on the SATA device
Continue (yes/no)? yes
# cfgadm | grep sata1/3

Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

263

Rparation d'un priphrique endommag

EXEMPLE 111

Remplacement d'un priphrique dans un pool de stockage ZFS

(Suite)

sata1/3
disk
connected
unconfigured ok
<Replace the physical disk c1t3d0>
# cfgadm -c configure sata1/3
# cfgadm | grep sata3/7
sata3/7::dsk/c5t7d0
disk
connected
configured ok
# zpool online tank c1t3d0
# zpool replace tank c1t3d0
# zpool status
pool: tank
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Tue Apr 22 14:44:46 2008
config:
NAME
tank
mirror
c0t1d0
c1t1d0
mirror
c0t2d0
c1t2d0
mirror
c0t3d0
c1t3d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors

Notez que la commande zpool output affiche parfois l'ancien disque et le nouveau sous
l'en-tte de remplacement. Exemple :
replacing
DEGRADED
c1t3d0s0/o FAULTED
c1t3d0
ONLINE

0
0
0

0
0
0

0
0
0

Ce texte signifie que la procdure de remplacement et la rargenture du nouveau disque sont en


cours.
Pour remplacer un disque (c1t3d0) par un autre disque (c4t3d0), il suffit d'excuter la
commande zpool replace une fois le disque remplac physiquement. Exemple :
# zpool replace tank c1t3d0 c4t3d0
# zpool status
pool: tank
state: DEGRADED
scrub: resilver completed after 0h0m with 0 errors on Tue Apr 22 14:54:50 2008

264

Guide d'administration Solaris ZFS Octobre 2008

Rparation d'un priphrique endommag

EXEMPLE 111

Remplacement d'un priphrique dans un pool de stockage ZFS

(Suite)

config:
NAME
tank
mirror
c0t1d0
c1t1d0
mirror
c0t2d0
c1t2d0
mirror
c0t3d0
replacing
c1t3d0
c4t3d0

STATE
READ WRITE CKSUM
DEGRADED
0
0
0
ONLINE
0
0
0
ONLINE
0
0
0
ONLINE
0
0
0
ONLINE
0
0
0
ONLINE
0
0
0
ONLINE
0
0
0
DEGRADED
0
0
0
ONLINE
0
0
0
DEGRADED
0
0
0
OFFLINE
0
0
0
ONLINE
0
0
0

errors: No known data errors

La commande zpool status doit parfois tre excute plusieurs fois jusqu' la fin du
remplacement du disque.
# zpool
pool:
state:
scrub:
config:

status tank
tank
ONLINE
resilver completed after 0h0m with 0 errors on Tue Apr 22 14:54:50 2008

NAME
tank
mirror
c0t1d0
c1t1d0
mirror
c0t2d0
c1t2d0
mirror
c0t3d0
c4t3d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Affichage de l'tat de rargenture


Le processus de remplacement d'un disque peut prendre beaucoup de temps, selon la taille du
disque et la quantit de donnes dans le pool. Le processus de dplacement de donnes d'un
priphrique un autre s'appelle la rargenture. Vous pouvez la contrler l'aide de la
commande zpool status.
Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

265

Rparation d'un priphrique endommag

Les systmes de fichiers traditionnels effectuent la rargenture de donnes au niveau du bloc.


Dans la mesure o ZFS limine la sparation en couches artificielles du gestionnaire de volume,
il peut effectuer la rargenture de faon bien plus puissante et contrle. Les deux avantages de
cette fonction sont comme suite :

ZFS n'effectue la rargenture que de la quantit minimale de donnes requises. Dans le cas
d'une brve interruption de service (et non pas du remplacement complet d'un
priphrique), vous pouvez effectuer la rargenture du disque en quelques minutes ou
quelques secondes, plutt que d'effectuer la rargenture de l'intgralit du disque ou de
compliquer l'opration avec la journalisation de " rgions sales " prise en charge par certains
gestionnaires de volume. Lors du remplacement d'un disque entier, la dure du processus de
rargenture est proportionnelle la quantit de donnes utilises dans le disque. Le
remplacement d'un disque de 500 Go ne dure que quelques secondes si le pool ne contient
que quelques giga-octets d'espace utilis.

La rargenture est un processus fiable qui peut tre interrompu, le cas chant. En cas de
mise hors-tension ou de rinitialisation du systme, le processus de rargenture reprend
exactement l o il s'est arrt, sans requrir une intervention manuelle.

La commande zpool status permet de visualiser le processus de rargenture. Exemple :


# zpool
pool:
state:
status:

status tank
tank
ONLINE
One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scrub: resilver in progress for 0h2m, 16.43% done, 0h13m to go
config:
NAME
STATE
READ WRITE CKSUM
tank
DEGRADED
0
0
0
mirror
DEGRADED
0
0
0
replacing
DEGRADED
0
0
0
c1t0d0
ONLINE
0
0
0
c2t0d0
ONLINE
0
0
0
c1t1d0
ONLINE
0
0
0

Dans cet exemple, le disque c1t0d0 est remplac par c2t0d0. Cet vnement est observ dans la
sortie d'tat par la prsence du priphrique virtuel de remplacement (replacing) de la
configuration. Ce priphrique n'est pas rel et ne permet pas de crer un pool. L'objectif de ce
priphrique consiste uniquement afficher le processus de rargenture et identifier le
priphrique en cours de remplacement.
Notez que tout pool en cours de rargenture se voit attribuer l'tat ONLINE ou DEGRADED car il ne
peut pas fournir le niveau souhait de redondance tant que le processus n'est pas termin. La
rargenture s'effectue aussi rapidement que possible, mais les E/S sont toujours programmes

266

Guide d'administration Solaris ZFS Octobre 2008

Rparation de donnes endommages

avec une priorit infrieure celle des E/S requises par l'utilisateur afin de minimiser l'impact
sur le systme. Une fois le processus termin, la nouvelle configuration complte s'applique,
remplaant l'ancienne configuration. Exemple :
# zpool
pool:
state:
scrub:
config:

status tank
tank
ONLINE
resilver completed after 0h2m with 0 errors on Thu Aug 28 09:50:11 2008

NAME
tank
mirror
c2t0d0
c1t1d0

STATE
ONLINE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0
0
0
0

errors: No known data errors

L'tat du pool est nouveau ONLINE et le disque dfectueux d'origine (c1t0d0) a t supprim de
la configuration.

Rparation de donnes endommages


Les sections suivantes dcrivent comment identifier le type de corruption de donnes et
comment rparer les donnes le cas chant.

Identification du type de corruption de donnes la page 268


Rparation d'un fichier ou rpertoire corrompu la page 269
Rparation de dommages prsents dans l'ensemble du pool de stockage ZFS la page 270

ZFS utilise les sommes de contrle, la redondance et les donnes autortablissantes afin de
rduire les risques de corruption de donnes. Cependant, la corruption de donnes peut se
produire si le pool n'est pas redondant, si la corruption s'est produite alors que le pool tait
endommag ou si une srie d'vnements improbables a corrompu plusieurs copies d'un
lment de donnes. Quelle que soit la source, le rsultat est le mme : les donnes sont
corrompues et par consquent inaccessibles. Les actions effectuer dpendent du type de
donnes corrompue et de leurs valeurs relatives. Deux types de donnes peuvent tre
corrompus :

Mtadonnes de pool ZFS requiert une certaine quantit de donnes analyser afin
d'ouvrir un pool et d'accder aux jeux de donnes. Si ces donnes sont corrompues, le pool
entier ou des parties compltes de la hirarchie du jeu de donnes sont indisponibles.

Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

267

Rparation de donnes endommages

Donnes d'objet Dans ce cas, la corruption se produit au sein d'un fichier ou priphrique
spcifique. Ce problme peut rendre une partie du fichier ou rpertoire inaccessible ou
endommager l'objet.

Les donnes sont vrifies lors des oprations normales et lors du nettoyage. Pour de plus
amples informations sur la vrification de l'intgrit des donnes du pool, reportez-vous la
section Vrification de l'intgrit des donnes ZFS la page 249.

Identification du type de corruption de donnes


Par dfaut, la commande zpool status indique qu'une corruption s'est produite, mais
n'indique pas quel endroit. Exemple :
# zpool status
pool: monkey
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.sun.com/msg/ZFS-8000-8A
scrub: none requested
config:
NAME
monkey
c1t1d0s6
c1t1d0s7

STATE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0

errors: 8 data errors, use -v for a list

Toute erreur indique seulement qu'une erreur s'est produite un moment donn. Il est possible
que certaines erreurs ne soient plus prsentes dans le systme. Dans des circonstances
normales, cette situation est vraie. Certaines interruptions de service temporaires peuvent
entraner une corruption de donnes qui est automatiquement rpare une fois l'interruption
de service termine. Un nettoyage complet du pool examine chaque bloc actif dans le pool.
Ainsi, le journal d'erreur est rinitialis la fin de chaque nettoyage. Si vous dterminez que les
erreurs ne sont plus prsentes et ne souhaitez pas attendre la fin du nettoyage, la commande
zpool online permet de rinitialiser toutes les erreurs du pool.
Si la corruption de donnes se produit dans des mtadonnes au niveau du pool, la sortie est
lgrement diffrente. Exemple :
# zpool status -v morpheus
pool: morpheus

268

Guide d'administration Solaris ZFS Octobre 2008

Rparation de donnes endommages

id:
state:
status:
action:
see:
config:

1422736890544688191
FAULTED
The pool metadata is corrupted.
The pool cannot be imported due to damaged devices or data.
http://www.sun.com/msg/ZFS-8000-72

morpheus
c1t10d0

FAULTED
ONLINE

corrupted data

Dans le cas d'une corruption au niveau du pool, ce dernier se voit attribuer l'tat FAULTED, car le
pool ne peut pas fournir le niveau de redondance requis.

Rparation d'un fichier ou rpertoire corrompu


En cas de corruption d'un fichier ou d'un rpertoire, le systme peut tout de mme continuer
fonctionner, selon le type de corruption. Tout dommage est irrversible, moins que des copies
correctes des donnes n'existent sur le systme. Si les donnes sont importantes, vous n'avez pas
d'autre choix que de restaurer les donnes affectes partir d'une sauvegarde. Vous pouvez
pourtant rcuprer les donnes suite corruption sans avoir restaurer tout le pool.
En cas de dommages au sein d'un bloc de donnes de fichiers, le fichier peut tre supprim en
toute scurit. L'erreur est alors efface du systme. La commande zpool status -v permet
d'afficher une liste de noms de fichiers comportant des erreurs persistantes. Exemple :
# zpool status -v
pool: monkey
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.sun.com/msg/ZFS-8000-8A
scrub: none requested
config:
NAME
monkey
c1t1d0s6
c1t1d0s7

STATE
ONLINE
ONLINE
ONLINE

READ WRITE CKSUM


0
0
0
0
0
0
0
0
0

errors: Permanent errors have been detected in the following files:


/monkey/a.txt
/monkey/bananas/b.txt

Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

269

Rparation de donnes endommages

/monkey/sub/dir/d.txt
/monkey/ghost/e.txt
/monkey/ghost/boo/f.txt

La sortie prcdente est dcrite comme suit :

Si le chemin complet du fichier est trouv et si le jeu de donnes est mont, le chemin
complet du fichier s'affiche. Exemple :
/monkey/a.txt

Si chemin complet du fichier est trouv mais que le jeu de donnes n'est pas mont, le nom
du jeu de donnes non prcd d'un slash (/) s'affiche, suivi du chemin du fichier au sein du
jeu de donnes. Exemple :
monkey/ghost/e.txt

Si le nombre d'objet vers un chemin de fichiers ne peut pas tre converti, soit en raison d'une
erreur soit parce qu'aucun chemin de fichiers rel n'est associ l'objet, tel que c'est le cas
pour dnode_t, alors le nom du jeu de donnes s'affiche, suivi du numro de l'objet. Exemple :
monkey/dnode:<0x0>

En cas de corruption d'un MOS (Meta-Object Set, jeu de mta-objet), la balise spciale
<metadata> s'affiche, suivie du numro de l'objet.

Si la corruption se situe au sein des mtadonnes d'un rpertoire ou d'un fichier, vous devez
dplacer le fichier vers un autre emplacement. Vous pouvez dplacer en toute scurit un fichier
ou rpertoire vers un emplacement moins pratique, ce qui permettra de restaurer l'objet
d'origine sur place.

Rparation de dommages prsents dans l'ensemble


du pool de stockage ZFS
Si les dommages sont prsents dans les mtadonnes du pool, il est impossible d'ouvrir ce
dernier. Vous devez alors restaurer le pool et l'ensemble de ses donnes partir de sauvegardes.
Le mcanisme utilis varie normment selon la configuration du pool et la stratgie de
sauvegarde. Tout d'abord, enregistrez la configuration telle qu'elle s'affiche dans zpool status
pour pouvoir le recrer une fois le pool dtruit. Ensuite, dtruisez le pool l'aide de la
commande zpool destroy -f. Conservez galement un fichier dcrivant la disposition des
jeux de donnes et les diverses proprits dfinies localement dans un emplacement sr, car ces
informations deviennent inaccessibles lorsque le pool est lui-mme inaccessible. Avec la
configuration du pool et la disposition des jeux de donnes, vous pouvez reconstruire la
configuration complte aprs destruction du pool. Les donnes peuvent ensuite tre
renseignes par la stratgie de sauvegarde ou de restauration de votre choix.

270

Guide d'administration Solaris ZFS Octobre 2008

Rparation d'un systme impossible rinitialiser

Rparation d'un systme impossible rinitialiser


ZFS a t conu pour tre robuste et stable malgr les erreurs. Cependant, les bogues de logiciels
ou certains problmes inattendus peuvent entraner la panique du systme lors de l'accs un
pool. Dans le cadre du processus de rinitialisation, chaque pool doit tre ouvert. En raison de
ces dfaillances, le systme effectue des rinitialisations en boucle. Pour pouvoir reprendre les
oprations dans cette situation, vous devez indiquer ZFS de ne pas rechercher de pool au
dmarrage.
ZFS conserve un cache interne de pools disponibles et de leurs configurations dans
/etc/zfs/zpool.cache. L'emplacement et le contenu de ce fichier sont privs et sujets
modification. Si le systme devient impossible initialiser, redmarrez au jalon none l'aide de
l'option d'initialisation -m milestone=none. Une fois le systme rtabli, remontez le systme
de fichiers racine en tant que systme accessible en criture,puis renommez ou placez le fichier
/etc/zfs/zpool.cache un autre emplacement. En raison de ces actions, ZFS oublie
l'existence de pools dans le systme, ce qui l'empche d'accder au pool dfectueux l'origine du
problme. Vous pouvez ensuite passer un tat normal de systme en excutant la commande
svcadm milestone all. Vous pouvez utiliser un processus similaire lors de la rinitialisation
partir d'une racine de remplacement pour effectuer des rparations.
Une fois le system dmarr, vous pouvez tenter d'importer le pool l'aide de la commande
zpool import. Cependant, dans ce cas, l'erreur qui s'est produite lors de l'initialisation risque
de se reproduire car la commande utilise le mme mcanisme d'accs aux pools. Si le systme
contient plusieurs pools, procdez comme suit :

Renommez ou dplacez le fichier zpool.cache vers un autre emplacement, comme dcrit


ci-dessus.

Utilisez la commande fmdump -eV pour afficher les pools prsentant des erreurs fatales et
dterminer ainsi quel pool pose des problmes.

Importez les pools un un en ignorant ceux qui posent problme, comme dcrit dans
fmdump.

Chapitre 11 Rsolution de problmes et rcupration de donnes ZFS

271

272

Index

A
Accs
Instantan ZFS
(exemple), 180
ACL
ACL dans un fichier ZFS
Description dtaille, 200
ACL sur un fichier ZFS
Description dtaille, 199
Configuration d'ACL dans un fichier ZFS (mode
compact)
Exemple, 217
Configuration d'hritage d'ACL dans un fichier ZFS
(mode dtaill)
(exemple), 206
Dfinition d'ACL sur un fichier ZFS (mode compact)
Description, 216
Dfinition des ACL sur un fichier ZFS (mode
dtaill)
Description, 200
Dfinition sur les fichiers ZFS
Description, 198
Description, 191
Description de format, 193
Diffrences avec les ACL POSIX-draft, 192
Hritage d'ACL, 196
Indicateurs d'hritage d'ACL, 196
Mode de proprit aclmode, 197
Mode de proprit d'ACL, 197
Mode de propritaclinherit, 197
Modification d'une ACL insignifiante dans un fichier
ZFS (mode dtaill)

ACL, Modification d'une ACL insignifiante dans un


fichier ZFS (mode dtaill) (Suite)
(Exemple), 202
Privilges d'accs, 194
Restauration d'une ACL insignifiante sur un fichier
ZFS (mode dtaill)
(exemple), 205
Type d'entre, 194
ACL, modle de Solaris, Diffrences existant entre les
systmes de fichiers traditionnels et ZFS, 51
ACL NFSv4
Description de format, 193
Diffrences avec les ACL POSIX-draft, 192
Hritage d'ACL, 196
Indicateurs d'hritage d'ACL, 196
Mode de proprit d'ACL, 197
Modle
Description, 191
ACL POSIX-draft, Description, 192
ACL Solaris
Description de format, 193
Diffrences avec les ACL POSIX-draft, 192
Hritage d'ACL, 196
Indicateurs d'hritage d'ACL, 196
Mode de proprit d'ACL, 197
Nouveau modle
Description, 191
Administration dlgue , prsentation, 221
Administration dlgue de ZFS, prsentation, 221
Administration simplifie, Description, 36
Affichage
Droits dlgus (exemple), 226

273

Index

Affichage (Suite)
tat de maintenance d'un pool de stockage ZFS
Exemple, 128
tat dtaill du fonctionnement du pool de stockage
ZFS
(exemple), 129
tat fonctionnel d'un pool de stockage
Description, 127
history, commande, 27
Rapport syslog de messages d'erreur ZFS
Description, 256
Statistiques d'E/S l'chelle du pool de stockage ZFS
Exemple, 125
Statistiques d'E/S de pool de stockage vdev ZFS
Exemple, 126
Statistiques d'E/S de pools de stockage ZFS
Description, 125
Ajout
Disques, une configuration RAID-Z
(exemple), 108
Priphrique un pool de stockage ZFS (zpool add)
Exemple, 106
Priphrique de journalisation mis en miroir
(exemple), 108
Systme de fichiers ZFS une zone non globale
Exemple, 239
Volume ZFS une zone non globale
(exemple), 240
Ajustement, Priphriques de swap et de vidage, 82
Annulation du partage
Systme de fichiers ZFS
exemple, 170
atime, proprit, Description, 144
Autortablissement, Description, 96
available, proprit, Description, 145

B
Bloc d'initialisation, Installation l'aide de installboot
et de installgrub, 84

274

Guide d'administration Solaris ZFS Octobre 2008

C
canmount, proprit
Description, 145
Description dtaille, 153
checksum, proprit, Description, 145
Clone
Cration
Exemple, 182
Dfinition, 37
Destruction
Exemple, 183
Fonctions, 182
Comportement d'espace satur, Diffrences existant
entre les systmes de fichiers traditionnels et
ZFS, 51
Composants, Pool de stockage ZFS, 91
Composants de ZFS, Exigences d'attribution de
noms, 40
compression, proprit, Description, 146
compressratio, proprit, Description, 146
Comptabilisation de l'espace ZFS, Diffrences existant
entre les systmes de fichiers traditionnels et
ZFS, 50
Configuration
ACL dans un fichier ZFS (mode compact)
Exemple, 217
Configuration en miroir
Description, 94
Fonction de redondance, 94
Vue conceptuelle, 94
Configuration RAID-Z
Double parit, description, 94
Exemple, 98
Parit simple, description, 94
Redondance, fonction, 94
Vue conceptuelle, 94
Configuration RAID-Z, ajout de disques,
(exemple), 108
Configuration requise, Installation et Live Upgrade, 55
Connexion
Priphrique, un pool de stockage ZFS (zpool
attach)
Exemple, 109

Index

Contrle
Intgrit des donnes ZFS, 249
Validation des donnes (nettoyage), 250
copies, proprit, Description, 146
Cration
Clone ZFS
Exemple, 182
Hirarchie d'un systme de fichiers ZFS, 44
Instantan ZFS
(exemple), 178
Pool de stockage, l'aide d'un priphrique de
journalisation (exemple), 99
Pool de stockage RAID-Z double parit (zpool
create)
Exemple, 98
Pool de stockage RAID-Z parit simple (zpool
create)
Exemple, 98
Pool de stockage ZFS
Description, 97
Pool de stockage ZFS (zpool create)
(exemple), 42, 97
Pool de stockage ZFS mis en miroir (zpool create)
(exemple), 97
Pool racine de remplacement
(exemple), 244
Systme de fichiers ZFS, 46
(exemple), 140
Description, 140
Systme de fichiers ZFS de base (zpool create)
(exemple), 42
Volume mul en tant que priphrique de swap
(exemple), 236
Volume ZFS
(exemple), 235
creation, proprit, Description, 146

D
Dfinition
ACL sur les fichiers ZFS
Description, 198
ACL sur un fichier ZFS (mode compact)
Description, 216

Dfinition (Suite)
ACL sur un fichier ZFS (mode dtaill)
Description, 200
atime, proprit ZFS
(exemple), 159
compression, proprit
(exemple), 46
Hritage d'ACL dans un fichier ZFS (mode dtaill)
(exemple), 206
mountpoint, proprit, 46
Point de montage hrit
(exemple), 166
Point de montage ZFS (zfs set mountpoint)
(exemple), 165
quota, proprit (exemple), 47
Quota d'un systme de fichiers ZFS (zfs set quota)
Exemple, 171
Quota ZFS
(exemple), 159
Rservation de systme de fichiers ZFS
Exemple, 173
sharenfs, proprit
(exemple), 46
Dlgation
Droit (exemple), 227
Jeu de donnes une zone non globale
(exemple), 240
Dlgation de droits, zfs allow, 224
Dlgation de droits un groupe, (exemple), 228
Dlgation de droits un utilisateur individuel,
(exemple), 227
Dmontage
Systme de fichiers ZFS
(exemple), 168
Dpannage
Dtection de problmes ventuels (zpool status
-x), 253
Dterminer si un priphrique peut tre remplac
Description, 261
Priphrique manquant (dfaillant), 248
Problme d'identification, 252
Remplacement d'un priphrique (zpool replace)
(exemple), 266
275

Index

Dpannage (Suite)
Remplacement d'un priphrique manquant
(exemple), 257
Rparation d'un fichier ou rpertoire endommag
Description, 269
Rparation d'un systme qui ne peut tre initialis
Description, 271
Rparation d'une configuration ZFS
endommage, 257
Rparation de dommages au niveau d'un pool
Description, 270
Destruction
Clone ZFS
Exemple, 183
Instantan ZFS
(exemple), 179
Pool de stockage ZFS
Description, 97
Pool de stockage ZFS (zpool destroy)
(exemple), 105
Systme de fichiers ZFS
(exemple), 141
Systme de fichiers ZFS comportant des systmes
dpendants
(exemple), 142
Dtection
Niveaux de rplication incohrents
Exemple, 103
Priphriques en cours d'utilisation
Exemple, 102
Dtermination
Type de panne de priphrique
Description, 259
Dterminer
Remplacement d'un priphrique
Description, 261
devices, proprit, Description, 146
Diffrences existant entre les systmes de fichiers
traditionnels et ZFS
Comportement d'espace satur, 51
Comptabilisation de l'espace ZFS, 50
Gestion d'un volume traditionnel, 51
Granularit d'un systme de fichiers, 49
Montage d'un systme de fichiers ZFS, 51
276

Guide d'administration Solaris ZFS Octobre 2008

Diffrences existant entre les systmes de fichiers


traditionnels et ZFS (Suite)
Nouveau modle ACL de Solaris, 51
Disque, Composant de pool de stockage ZFS, 92
Disque entier, Composant de pool de stockage ZFS, 92
Disque hot spare
Cration
(exemple), 116
Description
Exemple, 116
Donnes
Corruption identifie (zpool status -v)
Exemple, 255
Endommages, 248
Nettoyage
Exemple, 250
Rargenture
Description, 251
Rparation, 249
Validation (nettoyage), 250
Donnes vrifies par somme de contrle,
Description, 35

E
Effacement
Priphrique d'un pool de stockage ZFS (zpool
clear)
Description, 114
Enregistrement
Donnes d'un systme de fichiers ZFS (zfs send)
(exemple), 185
Entrelacement dynamique
Description, 96
Fonction de pool de stockage, 96
Envoi et rception
Donnes d'un systme de fichiers ZFS
Description, 184
Etiquette EFI
Description, 92
Interaction avec ZFS, 92
exec, proprit, Description, 146
Exigences d'attribution de noms, Composants ZFS, 40
Exigences matrielles et logicielles, 41

Index

Exportation
Pool de stockage ZFS
(exemple), 131

F
Fichiers, En tant que composants d'un pool de stockage
ZFS, 94
Fonctions de rplication de ZFS, Mise en miroir ou
RAID-Z, 94

G
Gestion d'un volume traditionnel, Diffrences existant
entre les systmes de fichiers traditionnels et
ZFS, 51
Granularit d'un systme de fichiers, Diffrences
existant entre les systmes de fichiers traditionnels et
ZFS, 49

H
Hritage
Proprit ZFS (zfs inherit)
Description, 159
Hirarchie d'un systme de fichiers, Cration, 44
history, commande, zpool history, 27

I
Identification
Pool de stockage ZFS importer (zpool import -a)
(exemple), 132
Stockage requis, 43
Type de corruption de donnes (zpool status -v)
Exemple, 268
Importation
Pool de stockage ZFS
(exemple), 135
Pool de stockage ZFS, partir de rpertoires
alternatifs (zpool import -d)

Importation, Pool de stockage ZFS, partir de


rpertoires alternatifs (zpool import -d) (Suite)
(exemple), 134
Pool racine de remplacement
(exemple), 244
Initialisation
Environnement d'initialisation ZFS avec boot -L et
boot -Z sur un systme SPARC, 85
Systme de fichiers racine, 83
Installation
Systme de fichiers racine ZFS
(installation initiale), 57
Configuration requise, 55
Fonctions, 54
Installation JumpStart, 63
Installation de blocs d'initialisation
installboot et installgrup
(exemple), 84
Installation initiale d'un systme de fichiers racine ZFS,
(exemple), 57
Installation JumpStart
Systme de fichiers racine
Exemples de profils, 63
Problmes, 66
Instantan
Accs
(exemple), 180
Comptabilisation de l'espace, 181
Cration
(exemple), 178
Dfinition, 39
Destruction
(exemple), 179
Fonctions, 177
Renommer
Exemple, 179
Restauration
Exemple, 181

J
Jeu de donnes
Dfinition, 38
Description, 139
277

Index

Jeu de droits dfini, 221


Journal d'intention ZFS (ZIL), Description, 22

L
Lecture seule, proprits ZFS, mounted, 147
Liste
Descendants d'un systme de fichiers ZFS
(exemple), 156
Informations sur le pool ZFS, 44
Pool de stockage ZFS
Description, 123
Pools de stockage ZFS
Exemple, 124
Proprit ZFS (zfs list)
(exemple), 160
Proprit ZFS de script
(exemple), 163
Proprit ZFS par valeur source
(exemple), 162
Systme de fichiers ZFS
(exemple), 156
Systme de fichiers ZFS (zfs list)
(exemple), 47
Systme de fichiers ZFS sans l'en-tte
Exemple, 158
Types de systmes de fichiers ZFS
Exemple, 158
luactivate
Systme de fichier racine
(exemple), 72
lucreate
Environnement d'initialisation ZFS partir d'un
environnement d'initialisation ZFS
(exemple), 73
Migration d'un systme de fichiers racine
(exemple), 70

M
Migration
Systme de fichiers racine UFS vers systme de
fichiers racine ZFS
278

Guide d'administration Solaris ZFS Octobre 2008

Migration, Systme de fichiers racine UFS vers systme


de fichiers racine ZFS (Suite)
(Solaris Live Upgrade), 67
Systme de fichiers racine UFS vers un systme de
fichiers racine ZFS
Problmes, 69
Migration d'un pool de stockage ZFS, Description, 130
Miroir, Dfinition, 38
Mise niveau
Pool de stockage ZFS
Description, 137
Mise en ligne d'un priphrique
Pool de stockage ZFS (zpool online)
(exemple), 113
Mise en ligne et hors ligne de priphriques
Pool de stockage ZFS
Description, 111
Mise hors ligne d'un priphrique (zpool offline)
Pool de stockage ZFS
(exemple), 112
Mode de panne, 247
Priphrique endommag, 248
Mode de proprit aclmode, 197
Mode de propritaclinherit, 197
Mode de proprits d'ACL, aclinherit, 144
Mode panne
Donnes endommages, 248
Priphrique manquant (dfaillant), 248
Modes de proprits d'ACL, aclmode, 144
Modification
ACL insignifiante dans un fichier ZFS (mode
dtaill)
(Exemple), 202
Montage
Systme de fichiers ZFS
Exemple, 166
Montage d'un systme de fichiers ZFS, Diffrences
existant entre les systmes de fichiers traditionnels et
ZFS, 51
Mot cl de profil JumpStart, Systme de fichiers racine
ZFS, 64
mounted, proprit, Description, 147
mountpoint, proprit, Description, 147

Index

N
Nettoyage
Exemple, 250
Validation des donnes, 250
Niveaux de rplication incohrents
Dtection
Exemple, 103
Notification
priphrique reconnect dans ZFS(zpool online)
Exemple, 258

O
origin, proprit, Description, 147

P
Partage
Systme de fichiers ZFS
Description, 169
Exemple, 169
Priphrique de journalisation mis en miroir, Cration
d'un pool (exemple), 99
Priphrique de journalisation mis en miroir, ajout,
(exemple), 108
Priphrique virtuel
Composant de pools de stockage ZFS, 100
Dfinition, 39
Priphriques de journalisation distincts,
considrations, 22
Priphriques de swap et de vidage
Ajustement de la taille, 82
Description, 81
Points prendre en compte, 81
Priphriques en cours d'utilisation
Dtection
Exemple, 102
Point de montage
Automatique, 165
Gestion de ZFS
Description, 164
Hritage, 164
Par dfaut pour les pools de stockage ZFS, 104

Point de montage (Suite)


Par dfaut pour un systme de fichiers ZFS, 140
Pool, Dfinition, 38
Pool de stockage mis en miroir (zpool create),
(exemple), 97
Pool de stockage ZFS
Affichage de l'tat de maintenance
Exemple, 128
Affichage de l'tat dtaill du fonctionnement
(exemple), 129
Affichage de l'tat fonctionnel, 127
Affichage du processus de rargenture
(exemple), 266
Ajout de priphrique (zpool add)
Exemple, 106
Composants, 91
Configuration en miroir, description, 94
Configuration RAID-Z, cration (zpool create)
Exemple, 98
Connexion de priphriques (zpool attach)
Exemple, 109
Corruption de donnes identifie (zpool status -v)
Exemple, 255
Cration (zpool create)
(exemple), 97
Cration d'une configuration mise en miroir (zpool
create)
(exemple), 97
Destruction (zpool destroy)
(exemple), 105
Dtection de problmes ventuels (zpool status
-x)
Description, 253
Dtermination du type de panne de priphrique
Description, 259
Dterminer si un priphrique peut tre remplac
Description, 261
Donnes endommages
Description, 248
Entrelacement dynamique, 96
Exportation
(exemple), 131
Identification du type de corruption de donnes
(zpool status -v)
279

Index

Pool de stockage ZFS, Identification du type de


corruption de donnes (zpool status -v) (Suite)
Exemple, 268
Identification pour l'importation (zpool import -a)
(exemple), 132
Importation
(exemple), 135
Importation partir de rpertoires alternatifs (zpool
import -d)
(exemple), 134
Informations globales d'tat des pools pour la
rsolution de problmes
Description, 253
Liste
Exemple, 124
Message d'erreur systme
Description, 256
Migration
Description, 130
Miroir
Dfinition, 38
Mise niveau
Description, 137
Mise en ligne et hors ligne de priphriques
Description, 111
Mise hors ligne d'un priphrique (zpool offline)
(exemple), 112
Mode de panne, 247
Nettoyage de donnes
Exemple, 250
Nettoyage des donnes
Description, 250
Nettoyage des donnes et rargenture
Description, 251
Notification d'un priphrique reconnect dans ZFS
(zpool online)
Exemple, 258
Priphrique endommag
Description, 248
Priphrique manquant (dfaillant)
Description, 248
Priphrique virtuel, 100
Point de montage par dfaut, 104
280

Guide d'administration Solaris ZFS Octobre 2008

Pool de stockage ZFS (Suite)


Pool
Dfinition, 38
Pool racine de remplacement, 244
Problme d'identification
Description, 252
Profil de droits, 245
RAID-Z
Dfinition, 39
RAID-Z, description, 94
Rargenture
Dfinition, 39
Rcupration d'un pool dtruit
Exemple, 136
Remplacement d'un priphrique (zpool replace)
(exemple), 114
Remplacement d'un priphrique manquant
(exemple), 257
Remplacement de priphrique (zpool replace)
Exemple, 262
Rparation d'un fichier ou rpertoire endommag
Description, 269
Rparation d'un systme qui ne peut tre initialis
Description, 271
Rparation d'une configuration ZFS
endommage, 257
Rparation de dommages au niveau d'un pool
Description, 270
Rparation des donnes
Description, 249
Script de sortie de pool de stockage
Exemple, 124
Sparation des priphriques (zpool detach)
Exemple, 111
Statistiques d'E/S l'chelle du pool
Exemple, 125
Statistiques d'E/S vdev
Exemple, 126
Suppression d'un priphrique
Exemple, 114
Suppression des erreurs de priphrique (zpool
clear)
Exemple, 260

Index

Pool de stockage ZFS (Suite)


Test (zpool create -n)
Exemple, 104
Utilisation de disques entiers, 92
Utilisation de fichiers, 94
Validation des donnes
Description, 250
Pool de stockage ZFS (zpool online)
Mise en ligne d'un priphrique
(exemple), 113
Pool racine de remplacement
Cration
(exemple), 244
Description, 244
Importation
(exemple), 244
Profil de droits
Gestion de systmes de fichiers et pools de stockage
ZFS
Description, 245
Proprit altroot, description, 121
Proprit autoreplace, description, 121
Proprit available, description, 121
Proprit bootfs, description, 121
Proprit capacity, description, 121
Proprit de pool ZFS
altroot, 121
autoreplace, 121
available, 121
bootfs, 121
capacity, 121
delegation, 121, 122
guid, 122
health, 122
size, 122
used, 122
version, 122
proprit delegation, dsactivation, 222
Proprit delegation, description, 121
Proprit failmode, 122
Proprit guid, description, 122
Proprit health, description, 122
Proprit size, description, 122
Proprit used, description, 122

Proprit version, description, 122


Proprit ZFS
aclinherit, 144
aclmode, 144
atime, 144
available, 145
canmount, 145
Description dtaille, 153
checksum, 145
compression, 146
compressratio, 146
copies, 146
creation, 146
devices, 146
exec, 146
lecture seule, 150
mountpoint, 147
origin, 147
Pouvant tre dfinie, 151
quota, 147
read-only, 147
recordsize, 148
Description dtaille, 153
referenced, 148
refquota, 148
refreservation, 148
reservation, 149
setuid, 149
sharenfs, 149
snapdir, 149
type, 149
used, 149
Description dtaille, 151
volblocksize, 150
volsize, 150
Description dtaille, 154
xattr, 150
zoned, 150
zoned, proprit
Description dtaille, 242
Proprit ZFS en lecture seule
available, 145
compression, 146
creation, 146
281

Index

Proprit ZFS en lecture seule (Suite)


Description, 150
origin, 147
referenced, 148
type, 149
used, 149
Proprit ZFS pouvant tre dfinie
aclinherit, 144
aclmode, 144
atime, 144
canmount, 145
Description dtaille, 153
checksum, 145
compression, 146
copies, 146
Description, 151
devices, 146
exec, 146
mountpoint, 147
quota, 147
read-only, 147
recordsize, 148
Description dtaille, 153
refquota, 148
refreservation, 148
reservation, 149
setuid, 149
sharenfs, 149
snapdir, 149
used
Description dtaille, 151
volblocksize, 150
volsize, 150
Description dtaille, 154
xattr, 150
zoned, 150
Proprits de ZFS
Description, 143
Proprits ZFS
Dfinies par l'utilisateur
Description dtaille, 154
Description des proprits hrites, 143
Gestion au sein d'une zone
Description, 241
282

Guide d'administration Solaris ZFS Octobre 2008

Proprits ZFS (Suite)


Hrites, description, 143
mounted, 147

Q
quota, proprit, Description, 147
Quota et rservation, Description, 170

R
RAID-Z, Dfinition, 39
read-only, proprit, Description, 147
Rargenture, Dfinition, 39
Rargenture et nettoyage des donnes,
Description, 251
Rception
Donnes de systme de fichiers ZFS (zfs receive)
(exemple), 186
recordsize, proprit
Description, 148
Description dtaille, 153
Rcupration
Pool de stockage ZFS dtruit
Exemple, 136
referenced, proprit, Description, 148
refquota, proprit, Description, 148
refreservation, proprit, Description, 148
Remplacement
Priphrique (zpool replace)
(exemple), 114, 266
Exemple, 262
Priphrique manquant
(exemple), 257
Renommer
Instantan ZFS
Exemple, 179
Rparation
Configuration ZFS endommage
Description, 257
Dommages au niveau d'un pool
Description, 270

Index

Rparation (Suite)
Rparation d'un fichier ou rpertoire endommag
Description, 269
Systme qui ne peut tre initialis
Description, 271
reservation, proprit, Description, 149
Rsolution de problmes
Corruption de donnes identifie (zpool status -v)
Exemple, 255
Dtermination du type de corruption de donnes
(zpool status -v)
Exemple, 268
Dtermination du type de panne de priphrique
Description, 259
Informations globales d'tat des pools
Description, 253
Mode de panne ZFS, 247
Notification d'un priphrique reconnect dans ZFS
(zpool online)
Exemple, 258
Priphrique endommag, 248
Rapport syslog de messages d'erreur ZFS, 256
Remplacement de priphrique (zpool replace)
Exemple, 262
Suppression des erreurs de priphrique (zpool
clear)
Exemple, 260
Restauration
ACL insignifiante sur un fichier ZFS (mode dtaill)
(exemple), 205
Instantan ZFS
Exemple, 181

S
Script
Sortie de pool de stockage ZFS
Exemple, 124
Smantique transactionnelle, Description, 35
Sparation
Priphrique, d'un pool de stockage ZFS (zpool
detach)
Exemple, 111
setuid, proprit, Description, 149

sharenfs, proprit
Description, 149, 169
snapdir, proprit, Description, 149
Solaris Live Upgrade
Migration d'un systme de fichiers racine, 67
(exemple), 70
Problmes de migration d'un systme de fichiers
racine, 69
Somme de contrle, Dfinition, 37
Stockage requis, Identification, 43
Stockage sur pool, Description, 34
Suppression
Erreurs de priphrique (zpool clear)
Exemple, 260
Suppression d'un droit, zfs unallow, 225
Suppression d'un priphrique
Pool de stockage ZFS
Exemple, 114
Systme de
fichiers ZFS
Exemple, 142
Systme de fichiers, Dfinition, 38
Systme de fichiers racine ZFS, Problmes de migration
d'un systme de fichiers racine, 69
Systme de fichiers ZFS
ACL dans un rpertoire ZFS
Description dtaille, 200
Administration simplifie
Description, 36
Ajout d'un systme de fichiers ZFS une zone non
globale
Exemple, 239
Ajout d'un volume ZFS une zone non globale
(exemple), 240
Annulation du partage
exemple, 170
Clone
Cration, 182
Dfinition, 37
Destruction, 183
Remplacement d'un systme de fichiers
(exemple), 183
Clones
Description, 182
283

Index

Systme de fichiers ZFS (Suite)


Comptabilisation de l'espace d'un instantan, 181
Configuration d'ACL dans un fichier ZFS (mode
compact)
Exemple, 217
Configuration d'hritage d'ACL dans un fichier ZFS
(mode dtaill)
(exemple), 206
Configuration requise pour l'installation et de Live
Upgrade, 55
Cration
(exemple), 140
Cration d'un volume ZFS
(exemple), 235
Cration d'un volume ZFS en tant que priphrique
de swap
(exemple), 236
Dfinition d'ACL sur un fichier ZFS (mode compact)
Description, 216
Dfinition d'un point de montage (zfs set
mountpoint)
(exemple), 165
Dfinition d'un point de montage hrit
(exemple), 166
Dfinition d'une rservation
Exemple, 173
Dfinition de la proprit quota
(exemple), 159
Dfinition des ACL sur les fichiers ZFS
Description, 198
Dfinition des ACL sur un fichier ZFS (mode
dtaill)
Description, 200
Dfinitionatime, proprit
(exemple), 159
Dlgation d'un jeu de donnes une zone non
globale
(exemple), 240
Dmontage
(exemple), 168
Description, 34, 139
Destruction
(exemple), 141
284

Guide d'administration Solaris ZFS Octobre 2008

Systme de fichiers ZFS (Suite)


Destruction avec les systmes dpendants
(exemple), 142
Donnes vrifies par somme de contrle
Description, 35
Enregistrement d'un flux de donnes (zfs send)
(exemple), 185
Envoi et rception
Description, 184
Exigences d'attribution de noms de composant, 40
Gestion de points de montage automatiques, 165
Gestion de proprit au sein d'une zone
Description, 241
Gestion des points de montage
Description, 164
Gestion des points de montage hrits
Description, 164
Hritage d'une proprit (zfs inherit)
(exemple), 159
Initialisation d'un environnement d'initialisation
ZFS avec boot -L et boot -Z
(exemple SPARC), 85
Initialisation d'un systme de fichiers racine
Description, 83
Installation d'un systme de fichiers racine, 54
Installation initiale d'un systme de fichiers racine
ZFS, 57
Installation JumpStart d'un systme de fichiers
racine, 63
Instantan
Accs, 180
Cration, 178
Dfinition, 39
Description, 177
Destruction, 179
Renommer, 179
Restauration, 181
Jeu de donnes
Dfinition, 38
Liste
(exemple), 156
Liste de descendants
(exemple), 156

Index

Systme de fichiers ZFS (Suite)


Liste de proprits (zfs list)
(exemple), 160
Liste de proprits de script
(exemple), 163
Liste de proprits par valeur source
(exemple), 162
Liste des types
Exemple, 158
Liste sans en-tte
Exemple, 158
Migration d'un systme de fichiers racine avec
Solaris Live Upgrade, 67
(exemple), 70
Modification d'une ACL insignifiante dans un fichier
ZFS (mode dtaill)
(Exemple), 202
Modification du nom
Exemple, 142
Montage
Exemple, 166
Partage
Description, 169
Exemple, 169
Priphriques de swap et de vidage
Ajustement de la taille, 82
Description, 81
Points prendre en compte, 81
Point de montage par dfaut
(exemple), 140
Profil de droits, 245
Rception de flux de donnes (zfs receive)
(exemple), 186
Restauration d'une ACL insignifiante sur un fichier
ZFS (mode dtaill)
(exemple), 205
Smantique transactionnelle
Description, 35
Somme de contrle
Dfinition, 37
Stockage sur pool
Description, 34
Systme de fichiers
Dfinition, 38

Systme de fichiers ZFS (Suite)


Type de jeu de donnes
Description, 157
Utilisation sur un systme Solaris dot de zones
Description, 239
Volume
Dfinition, 40
Systme de fichiers ZFS (zfs set quota)
Dfinition d'un quota
Exemple, 171
Systme de stockage ZFS
Priphrique virtuel
Dfinition, 39
Systmes de fichiers ZFS
ACL sur un fichier ZFS
Description dtaille, 199

T
Terminologie
Clone, 37
Instantan, 39
Jeu de donnes, 38
Miroir, 38
Priphrique virtuel, 39
Pool, 38
RAID-Z, 39
Rargenture, 39
Somme de contrle, 37
Systme de fichiers, 38
Volume, 40
Test
Cration de pool de stockage ZFS (zpool create -n)
Exemple, 104
type, proprit, Description, 149
Type de jeu de donnes, Description, 157

U
used, proprit
Description, 149
Description dtaille, 151
285

Index

Utilisateur, proprits ZFS


Description dtaille, 154
Exemple, 154

V
volblocksize, proprit, Description, 150
volsize, proprit
Description, 150
Description dtaille, 154
Volume, Dfinition, 40
Volume ZFS
Description, 235
En tant que priphrique de swap, 236

X
xattr, proprit, Description, 150

Z
zfs allow
Affichage des droits dlgus, 226
Description, 224
zfs create
(exemple), 46, 140
Description, 140
zfs destroy -r, (exemple ), 142
zfs Destruction, (exemple), 141
zfs get, (exemple), 160
zfs get -H -o, (exemple), 163
zfs get -s, (exemple), 162
zfs inherit, (exemple), 159
zfs list
(exemple), 47, 156
zfs list -H, Exemple, 158
zfs list -r, (exemple), 156
zfs list -t, Exemple, 158
zfs mount, Exemple, 166
zfs promote, Promotion d'un clone (exemple), 183
zfs receive, (exemple), 186
zfs rename, Exemple, 142
286

Guide d'administration Solaris ZFS Octobre 2008

zfs send, (exemple), 185


zfs set atime, (exemple), 159
zfs set compression, (exemple), 46
zfs set mountpoint
(exemple), 46, 165
zfs set mountpoint=legacy, (exemple), 166
zfs set quota
(exemple), 47
zfs set quota, (exemple), 159
zfs set quota
Exemple, 171
zfs set reservation, Exemple, 173
zfs set sharenfs, (exemple), 46
zfs set sharenfs=on, Exemple, 169
zfs unallow, Description, 225
zfs unmount, (exemple), 168
Zone
Ajout d'un systme de fichiers ZFS une zone non
globale
Exemple, 239
Gestion de proprits ZFS au sein d'une zone
Description, 241
Utilisation de systmes de fichiers ZFS
Description, 239
zoned, proprit
Description, 150
Description dtaille, 242
Zones
Ajout d'un volume ZFS une zone non globale
(exemple), 240
Dlgation d'un jeu de donnes une zone non
globale
(exemple), 240
zoned, proprit
Description dtaille, 242
zpool add, Exemple, 106
zpool attach, Exemple, 109
zpool clear
Description, 114
Exemple, 114
zpool create
(exemple), 42, 44
Pool de base
(exemple), 97

Index

zpool create (Suite)


Pool de stockage mis en miroir
(exemple), 97
Pool de stockage RAID-Z
Exemple, 98
zpool create -n
Test
Exemple, 104
zpool destroy, (exemple), 105
zpool detach, Exemple, 111
zpool export, (exemple), 131
zpool history, Exemple, 27
zpool import -a, (exemple), 132
zpool import -D, Exemple, 136
zpool import -d, (exemple), 134
zpool import nom, (exemple), 135
zpool iostat, pool complet, exemple, 125
zpool iostat -v, vdev, exemple, 126
zpool list
(exemple), 44
Description, 123
Exemple, 124
zpool list -Ho name, Exemple, 124
zpool offline, (exemple), 112
zpool online, (exemple), 113
zpool replace, (exemple), 114
zpool status -v, (exemple), 129
zpool status -x, Exemple, 128
zpool upgrade, 137

287

288

Das könnte Ihnen auch gefallen