Ignorer les liens de navigation | |
Quitter l'aperu | |
Administration d'Oracle Solaris : Systèmes de fichiers ZFS Oracle Solaris 11 Information Library (Français) |
1. Système de fichiers Oracle Solaris ZFS (introduction)
2. Mise en route d'Oracle Solaris ZFS
3. Différences entre les systèmes de fichiers Oracle Solaris ZFS et classiques
4. Gestion des pools de stockage Oracle Solaris ZFS
5. Gestion des composants du pool racine ZFS
6. Gestion des systèmes de fichiers Oracle Solaris ZFS
Gestion des systèmes de fichiers ZFS (présentation)
Création, destruction et renommage de systèmes de fichiers ZFS
Création d'un système de fichiers ZFS
Destruction d'un système de fichiers ZFS
Modification du nom d'un système de fichiers ZFS
Présentation des propriétés ZFS
Propriétés ZFS natives en lecture seule
Propriétés ZFS natives définies
Propriétés ZFS définies par l'utilisateur
Envoi de requêtes sur les informations des systèmes de fichiers ZFS
Affichage des informations de base des systèmes ZFS
Création de requêtes ZFS complexes
Envoi de requêtes sur les propriétés ZFS
Envoi de requête sur les propriétés ZFS pour l'exécution de scripts
Montage de système de fichiers ZFS
Gestion des points de montage ZFS
Points de montage automatiques
Montage de système de fichiers ZFS
Utilisation de propriétés de montage temporaires
Démontage des systèmes de fichiers ZFS
Activation et annulation du partage des systèmes de fichiers ZFS
Syntaxe de partage ZFS héritée
Nouvelle syntaxe de partage ZFS
Affichage ZFS partager des informations
Partage de fichiers ZFS au sein d'une zone non globale
Récapitulatif des commandes de partage ZFS nouvelles et héritées
Dépannage des problèmes de partage ZFS
Problèmes de migration/transition de partage ZFS
Définition des quotas et réservations ZFS
Définitions de quotas sur les systèmes de fichiers ZFS
Définition de quotas d'utilisateurs et de groupes sur un système de fichiers ZFS
Chiffrement des systèmes de fichiers ZFS
Modification des clés d'un système de fichiers ZFS chiffré
Autorisations de délégation d'opérations sur les clés ZFS
Montage d'un système de fichiers ZFS chiffré
Interactions entre les propriétés de compression, de suppression des doublons et de chiffrement ZFS
Exemples de chiffrement de systèmes de fichiers ZFS
Migration de systèmes de fichiers ZFS
Migration d'un système de fichiers vers un système de fichiers ZFS
Dépannage des migrations de systèmes de fichiers ZFS
Mise à niveau des systèmes de fichiers ZFS
7. Utilisation des instantanés et des clones ZFS Oracle Solaris
8. Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS
9. Administration déléguée de ZFS dans Oracle Solaris
10. Rubriques avancées Oracle Solaris ZFS
11. Dépannage d'Oracle Solaris ZFS et récupération de pool
12. Archivage des instantanés et récupération du pool racine
13. Pratiques recommandées pour Oracle Solaris ZFS
La propriété quota permet de limiter la quantité d'espace disque disponible pour un système de fichiers. La propriété reservation permet quant à elle de garantir la disponibilité d'une certaine quantité d'espace disque pour un système de fichiers. Ces deux propriétés s'appliquent au système de fichiers sur lequel elles sont définies ainsi qu'à ses descendants.
Par exemple, si un quota est défini pour le système de fichiers tank/home, la quantité totale d'espace disque utilisée par tank/home et l'ensemble de ses descendants ne peut pas excéder le quota défini. De même, si une réservation est définie pour le jeu de données tank/home, cette réservation s'applique à tank/home et à tous ses descendants. La quantité d'espace disque utilisée par un système de fichiers et par tous ses descendants est indiquée par la propriété used.
Les propriétés refquota et refreservation vous permettent de gérer l'espace d'un système de fichiers sans prendre en compte l'espace disque utilisé par les descendants, notamment les instantanés et les clones.
Dans cette version de Solaris, vous pouvez définir un quota d'utilisateur (user) ou de groupe sur la quantité d'espace disque utilisée par les fichiers appartenant à un utilisateur ou à un groupe spécifique. Les propriétés de quota d'utilisateur et de groupe ne peuvent pas être définies sur un volume, sur un système de fichiers antérieur à la version 4, ou sur un pool antérieur à la version 15.
Considérez les points suivants pour déterminer quelles fonctions de quota et de réservation conviennent le mieux à la gestion de vos systèmes de fichiers :
Les propriétés quota et reservation conviennent à la gestion de l'espace disque utilisé par les systèmes de fichiers et leurs descendants.
Les propriétés refquota et refreservation conviennent à la gestion de l'espace disque utilisé par les systèmes de fichiers.
La définition d'une propriété refquota ou refreservation supérieure à une la propriété quota ou reservation n'a aucun effet. Lorsque vous définissez la propriété quota ou refquota, les opérations qui tentent de dépasser l'une de ces valeurs échouent. Il est possible de dépasser une valeur quota supérieure à une valeur refquota. Par exemple, si certains blocs d'instantanés sont modifiés, la valeur quota risque d'être dépassée avant la valeur refquota.
Les quotas d'utilisateurs et de groupes permettent d'augmenter plus facilement l'espace disque contenant de nombreux comptes d'utilisateur, par exemple dans une université.
Pour plus d'informations sur la définition de quotas et réservations, reportez-vous aux sections Définitions de quotas sur les systèmes de fichiers ZFS et Définition de réservations sur les systèmes de fichiers ZFS.
Les quotas des systèmes de fichiers ZFS peuvent être définis et affichés à l'aide des commandes zfs set et zfs get. Dans l'exemple suivant, un quota de 10 Go est défini pour tank/home/jeff :
# zfs set quota=10G tank/home/jeff # zfs get quota tank/home/jeff NAME PROPERTY VALUE SOURCE tank/home/jeff quota 10G local
Les quotas affectent également la sortie des commandes zfs list et df. Par exemple :
# zfs list -r tank/home NAME USED AVAIL REFER MOUNTPOINT tank/home 1.45M 66.9G 36K /tank/home tank/home/eric 547K 66.9G 547K /tank/home/eric tank/home/jeff 322K 10.0G 291K /tank/home/jeff tank/home/jeff/ws 31K 10.0G 31K /tank/home/jeff/ws tank/home/lori 547K 66.9G 547K /tank/home/lori tank/home/mark 31K 66.9G 31K /tank/home/mark # df -h /tank/home/jeff Filesystem Size Used Avail Use% Mounted on tank/home/jeff 10G 306K 10G 1% /tank/home/jeff
tank/home dispose de 66,9 Go d'espace disque disponible. Toutefois, tank/home/jeff et tank/home/jeff/ws disposent uniquement de 10 Go d'espace disponible, respectivement, en raison du quota défini pour tank/home/jeff.
Vous ne pouvez pas définir un quota sur une valeur inférieure à la quantité d'espace actuellement utilisée par un système de fichiers. Par exemple :
# zfs set quota=10K tank/home/jeff cannot set property for 'tank/home/jeff': size is less than current used or reserved space
Vous pouvez définir une propriété refquota sur un système de fichiers pour limiter l'espace disque occupé par le système de fichiers. Cette limite fixe ne comprend pas l'espace disque utilisé par les descendants. Par exemple, le quota de 10 Go de studentA n'est pas affecté par l'espace utilisé par les instantanés.
# zfs set refquota=10g students/studentA # zfs list -t all -r students NAME USED AVAIL REFER MOUNTPOINT students 150M 66.8G 32K /students students/studentA 150M 9.85G 150M /students/studentA students/studentA@yesterday 0 - 150M - # zfs snapshot students/studentA@today # zfs list -t all -r students students 150M 66.8G 32K /students students/studentA 150M 9.90G 100M /students/studentA students/studentA@yesterday 50.0M - 150M - students/studentA@today 0 - 100M -
Par souci de commodité, vous pouvez définir un autre quota pour un système de fichiers afin de vous aider à gérer l'espace disque utilisé par les instantanés. Par exemple :
# zfs set quota=20g students/studentA # zfs list -t all -r students NAME USED AVAIL REFER MOUNTPOINT students 150M 66.8G 32K /students students/studentA 150M 9.90G 100M /students/studentA students/studentA@yesterday 50.0M - 150M - students/studentA@today 0 - 100M -
Dans ce scénario, studentA peut atteindre la limite maximale de refquota (10 Go), mais studentA peut supprimer des fichiers pour libérer de l'espace même en présence d'instantanés.
Dans l'exemple précédent, le plus petit des deux quotas (10 Go par rapport à 20 Go) s'affiche dans la sortie zfs list. Pour afficher la valeur des deux quotas, utilisez la commande zfs get. Par exemple :
# zfs get refquota,quota students/studentA NAME PROPERTY VALUE SOURCE students/studentA refquota 10G local students/studentA quota 20G local
Vous pouvez définir un quota d'utilisateurs ou de groupes en utilisant respectivement les commandes zfs userquota et zfs groupquota. Par exemple :
# zfs create students/compsci # zfs set userquota@student1=10G students/compsci # zfs create students/labstaff # zfs set groupquota@labstaff=20GB students/labstaff
Affichez le quota d'utilisateurs ou de groupes actuel comme suit :
# zfs get userquota@student1 students/compsci NAME PROPERTY VALUE SOURCE students/compsci userquota@student1 10G local # zfs get groupquota@labstaff students/labstaff NAME PROPERTY VALUE SOURCE students/labstaff groupquota@labstaff 20G local
Vous pouvez afficher l'utilisation générale de l'espace disque par les utilisateurs et les groupes en interrogeant les propriétés suivantes :
# zfs userspace students/compsci TYPE NAME USED QUOTA POSIX User root 350M none POSIX User student1 426M 10G # zfs groupspace students/labstaff TYPE NAME USED QUOTA POSIX Group labstaff 250M 20G POSIX Group root 350M none
Pour identifier l'utilisation de l'espace disque d'un groupe ou d'un utilisateur, vous devez interroger les propriétés suivantes :
# zfs get userused@student1 students/compsci NAME PROPERTY VALUE SOURCE students/compsci userused@student1 550M local # zfs get groupused@labstaff students/labstaff NAME PROPERTY VALUE SOURCE students/labstaff groupused@labstaff 250 local
Les propriétés de quota d'utilisateurs et de groupes ne sont pas affichées à l'aide de la commande zfs get all dataset, qui affiche une liste de toutes les autres propriétés du système de fichiers.
Vous pouvez supprimer un quota d'utilisateurs ou de groupes comme suit :
# zfs set userquota@student1=none students/compsci # zfs set groupquota@labstaff=none students/labstaff
Les quotas d'utilisateurs et de groupes sur les systèmes de fichiers ZFS offrent les fonctionnalités suivantes :
Un quota d'utilisateurs ou de groupes défini sur un système de fichiers parent n'est pas automatiquement hérité par un système de fichiers descendant.
Cependant, le quota d'utilisateurs ou de groupes est appliqué lorsqu'un clone ou un instantané est créé à partir d'un système de fichiers lié à un quota d'utilisateurs ou de groupes. De même, un quota d'utilisateurs ou de groupes est inclus avec le système de fichiers lorsqu'un flux est créé à l'aide de la commande zfs send, même sans l'option -R.
Les utilisateurs dénués de privilèges peuvent uniquement disposer de leur propre utilisation d'espace disque. L'utilisateur root ou l'utilisateur qui s'est vu accorder le privilège userused ou groupused peut accéder aux informations de comptabilité de l'espace disque utilisateur ou groupe de tout le monde.
Les propriétés userquota et groupquota ne peuvent pas être définies sur les volumes ZFS, sur un système de fichiers antérieur à la version 4, ou sur un pool antérieur à la version 15.
L'application des quotas d'utilisateurs et de groupes peut être différée de quelques secondes. Ce délai signifie que les utilisateurs peuvent dépasser leurs quotas avant que le système ne le remarque et refuse d'autres écritures en affichant le message d'erreur EDQUOT .
Vous pouvez utiliser la commande quota héritée pour examiner les quotas d'utilisateurs dans un environnement NFS où un système de fichiers ZFS est monté, par exemple. Sans aucune option, la commande quota affiche uniquement la sortie en cas de dépassement du quota de l'utilisateur. Par exemple :
# zfs set userquota@student1=10m students/compsci # zfs userspace students/compsci TYPE NAME USED QUOTA POSIX User root 350M none POSIX User student1 550M 10M # quota student1 Block limit reached on /students/compsci
Si vous réinitialisez le quota d'utilisateurs et que la limite du quota n'est plus dépassée, vous devez utiliser la commande quota -v pour examiner le quota de l'utilisateur. Par exemple :
# zfs set userquota@student1=10GB students/compsci # zfs userspace students/compsci TYPE NAME USED QUOTA POSIX User root 350M none POSIX User student1 550M 10G # quota student1 # quota -v student1 Disk quotas for student1 (uid 102): Filesystem usage quota limit timeleft files quota limit timeleft /students/compsci 563287 10485760 10485760 - - - - -
Une réservation ZFS désigne une quantité d'espace disque du pool garantie pour un jeu de données. Dès lors, pour réserver une quantité d'espace disque pour un jeu de données, cette quantité doit être actuellement disponible sur le pool. La quantité totale d'espace non utilisé des réservations ne peut pas dépasser la quantité d'espace disque non utilisé du pool. La définition et l'affichage des réservations ZFS s'effectuent respectivement à l'aide des commandes zfs set et zfs get. Par exemple :
# zfs set reservation=5G tank/home/bill # zfs get reservation tank/home/bill NAME PROPERTY VALUE SOURCE tank/home/bill reservation 5G local
Les réservations peuvent affecter la sortie de la commande zfs list. Par exemple :
# zfs list -r tank/home NAME USED AVAIL REFER MOUNTPOINT tank/home 5.00G 61.9G 37K /tank/home tank/home/bill 31K 66.9G 31K /tank/home/bill tank/home/jeff 337K 10.0G 306K /tank/home/jeff tank/home/lori 547K 61.9G 547K /tank/home/lori tank/home/mark 31K 61.9G 31K /tank/home/mark
Notez que tank/home utilise 5 Go d'espace bien que la quantité totale d'espace à laquelle tank/home et ses descendants font référence est bien inférieure à 5 Go. L'espace utilisé reflète l'espace réservé pour tank/home/bill. Les réservations sont prises en compte dans le calcul de l'espace disque utilisé du système de fichiers parent et non dans le quota, la réservation 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 données peut utiliser davantage d'espace disque que sa réservation, du moment que le pool dispose d'un espace non réservé et disponible et que l'utilisation actuelle du jeu de données se trouve en dessous des quotas. Un jeu de données ne peut pas utiliser un espace disque réservé à un autre jeu de données.
Les réservations ne sont pas cumulatives. En d'autres termes, l'exécution d'une nouvelle commande zfs set pour un jeu de données déjà associé à une réservation n'entraîne pas l'ajout de la nouvelle réservation à la réservation existante. La seconde réservation remplace la première. Par exemple :
# zfs set reservation=10G tank/home/bill # zfs set reservation=5G tank/home/bill # zfs get reservation tank/home/bill NAME PROPERTY VALUE SOURCE tank/home/bill reservation 5G local
Vous pouvez définir une réservation refreservation pour garantir un espace disque ne contenant aucun instantané ou clone au jeu de données. Cette valeur est prise en compte dans le calcul de l'espace utilisé des jeux de données parent et vient en déduction des quotas et réservations des jeux de données parent. Par 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 définir une valeur de réservation pour le même jeu de données afin de garantir l'espace du jeu de données et pas de l'espace des instantanés. Par 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 réservations régulières sont prises en compte dans le calcul de l'espace utilisé du parent.
Dans l'exemple précédent, le plus petit des deux quotas (10 Go par rapport à 20 Go) s'affiche dans la sortie zfs list. Pour afficher la valeur des deux quotas, utilisez la commande zfs get. Par exemple :
# zfs get reservation,refreserv profs/prof1 NAME PROPERTY VALUE SOURCE profs/prof1 reservation 20G local profs/prof1 refreservation 10G local
Lorsque la propriété refreservation est définie, un instantané n'est autorisé que si suffisamment d'espace non réservé est disponible dans le pool au-delà de cette réservation afin de pouvoir contenir le nombre actuel d'octets référencés dans le jeu de données.