1. Système de fichiers Oracle Solaris ZFS (introduction)
Nouvelles fonctions d'installation d'Oracle Solaris ZFS
Améliorations apportées au flux envoyé par ZFS
Différences des instantanés ZFS (zfs diff)
Récupération de pool de stockage ZFS et améliorations apportées aux performances
Réglage du comportement synchrone ZFS
Messages du pool ZFS améliorés
Améliorations de l'interopérabilité ACL ZFS
Scission d'un pool de stockage ZFS mis en miroir (zpool split)
Nouveau processus du système de fichiers ZFS
Améliorations apportées à la commande zpool list
Récupération de pool de stockage ZFS
Améliorations des périphériques de journal ZFS
Conservation des instantanés ZFS
Améliorations du remplacement des périphériques ZFS
Prise en charge de l'installation de ZFS et Flash
Quotas d'utilisateurs et de groupes ZFS
Héritage direct ACL ZFS pour l'autorisation d'exécution
Améliorations apportées aux propriétés ZFS
Récupération de périphérique de journal ZFS
L'utilisation des périphériques de cache dans votre pool de stockage ZFS
Migration de zone dans un environnement ZFS
Prise en charge de l'installation et de l'initialisation de ZFS
Rétablissement d'un jeu de données sans démontage
Améliorations apportées à la commande zfs send
Quotas et réservations ZFS pour les données de système de fichiers uniquement
Propriétés de pool de stockage ZFS
Améliorations apportées à l'historique des commandes ZFS (zpool history)
Mise à niveau des systèmes de fichiers ZFS (zfs upgrade)
Administration déléguée de ZFS
Configuration de périphériques de journal ZFS distincts
Création de jeux de données ZFS intermédiaires
Amélioration de l'enfichage à chaud ZFS
Renommage récursif d'instantanés ZFS (zfs rename -r)
La compression gzip est disponible pour ZFS
Stockage de plusieurs copies de données utilisateur ZFS
Amélioration de la sortie de la commande zpool status
Améliorations de ZFS et Solaris iSCSI
Historique de commande ZFS (zpool history)
Améliorations de propriétés ZFS
Propriétés ZFS définies par l'utilisateur
Définition des propriétés lors de la création de systèmes de fichiers ZFS
Affichage de la totalité des informations de systèmes de fichiers ZFS
Nouvelle option zfs receive -F
Configuration RAID-Z à double parité (raidz2)
Disques hot spare pour périphériques de pool de stockage ZFS
Remplacement d'un système de fichiers ZFS par un clone ZFS (zfs promote)
Mise à niveau des pools de stockage ZFS (zpool upgrade)
Les commandes de sauvegarde et de restauration ZFS sont renommées.
Récupération de pools de stockage détruits
Intégration de ZFS au gestionnaire de pannes
Sommes de contrôle et données d'autorétablissement
Exigences d'attribution de noms de composants ZFS
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. Installation et initialisation d'un système de fichiers racine ZFS Oracle Solaris
6. Gestion des systèmes de fichiers Oracle Solaris 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
Cette section décrit les nouvelles fonctions du système de fichier ZFS.
Récupération de pool de stockage ZFS et améliorations apportées aux performances
Scission d'un pool de stockage ZFS mis en miroir (zpool split)
L'utilisation des périphériques de cache dans votre pool de stockage ZFS
Prise en charge de l'installation et de l'initialisation de ZFS
Quotas et réservations ZFS pour les données de système de fichiers uniquement
Améliorations apportées à l'historique des commandes ZFS (zpool history)
Affichage de la totalité des informations de systèmes de fichiers ZFS
Disques hot spare pour périphériques de pool de stockage ZFS
Remplacement d'un système de fichiers ZFS par un clone ZFS (zfs promote)
Les commandes de sauvegarde et de restauration ZFS sont renommées.
Oracle Solaris 10 8/11 : dans cette version, les nouvelles fonctions d'installation suivantes sont disponibles :
Vous pouvez utiliser la méthode d'installation en mode Texte pour installer un système avec une archive Flash ZFS. Pour plus d'informations, reportez-vous à l'Exemple 5-3.
Vous pouvez utiliser la commande Oracle Solaris Live Upgrade luupgrade pour installer une archive Flash root ZFS. Pour plus d'informations, reportez-vous à l'Exemple 5-8.
Vous pouvez utiliser la commande lucreate Oracle Solaris Live Upgrade pour spécifier un système de fichiers /var distinct. Pour plus d'informations, reportez-vous à l'Exemple 5-5.
Version Oracle Solaris 10 8/11 : dans cette version, vous pouvez définir les propriétés du système de fichiers qui sont envoyées et reçues dans un flux d'instantané. Ces améliorations offrent davantage de flexibilité pour appliquer des propriétés du système de fichiers dans un flux envoyé à un système de fichiers récepteur ou pour déterminer si les propriétés du système de fichiers local, telles que la valeur de propriété mountpoint, doivent être ignorées lorsqu'elles sont reçues.
Pour plus d'informations, reportez-vous à la section Application de différentes valeurs de propriété à un flux d'instantané ZFS.
Version Oracle Solaris 10 8/11 : dans cette version, vous pouvez déterminer les différences des instantanés ZFS à l'aide de la commande zfs diff.
Supposons par exemple que les deux instantanés suivants sont créés :
$ ls /tank/cindy fileA $ zfs snapshot tank/cindy@0913 $ ls /tank/cindy fileA fileB $ zfs snapshot tank/cindy@0914
Par exemple, afin d'identifier les différences entre deux instantanés, utilisez une syntaxe semblable à la suivante :
$ zfs diff tank/cindy@0913 tank/cindy@0914 M /tank/cindy/ + /tank/cindy/fileB
Dans la sortie, M indique que le répertoire a été modifié. Le + indique que fileB existe dans l'instantané le plus récent.
Pour plus d'informations, reportez-vous à la section Identification des différences entre des instantanés ZFS (zfs diff).
Version Oracle Solaris 10 8/11 : dans cette version, les fonctions du pool de stockage ZFS suivantes sont fournies :
Vous pouvez importer un pool avec un journal manquant en utilisant la commande zpool import -m. Pour plus d'informations, reportez-vous à la section Importation d'un pool avec un périphérique de journal manquant.
Vous pouvez importer un pool en mode lecture seule. Cette fonction est principalement destinée à la récupération de pool. Si un pool endommagé n'est pas accessible car les périphériques sous-jacents le sont également, vous pouvez importer le pool en lecture seule pour récupérer les données. Pour plus d'informations, reportez-vous à la section Importation d'un pool en mode lecture seule.
Un pool de stockage RAID-Z (raidz1, raidz2 ou raidz3) créé dans cette version et mis à niveau vers la version 29 ou une version ultérieure du pool comportera des métadonnées sensibles à la latence qui seront automatiquement mises en miroir pour améliorer les performances de capacité de traitement d'E/S de lecture. Pour les pools RAID-Z existants mis à niveau vers la version 29 ou une version ultérieure du pool, un certain nombre de métadonnées seront mises en miroir pour toutes les données nouvellement écrites.
Les métadonnées mises en miroir dans un pool RAID-Z ne fournissent pas de protection supplémentaire contre les pannes matérielles, comme c'est le cas pour un pool de stockage mis en miroir. Les métadonnées mises en miroir consomment de l'espace supplémentaire, mais la protection RAID-Z est la même que dans les versions précédentes. Cette amélioration est destinée à l'amélioration des performances uniquement.
Version Solaris 10 8/11 : dans cette version, vous pouvez déterminer un comportement synchrone du système de fichiers ZFS à l'aide de la propriété sync.
Le comportement synchrone par défaut consiste à écrire toutes les transactions des systèmes de fichiers synchrones dans le journal de tentatives et à vider tous les périphériques pour s'assurer que les données sont stables. La désactivation du comportement synchrone par défaut n'est pas recommandée. Elle pourrait avoir des répercussions sur les applications qui dépendent de la prise en charge synchrone et risquerait d'entraîner des pertes de données.
La propriété sync peut être définie avant ou après la création du système de fichiers. Dans tous les cas, la valeur de propriété prend effet immédiatement. Par exemple :
# zfs set sync=always tank/neil
Le paramètre zil_disable n'est plus disponible dans les versions Oracle Solaris incluant la propriété sync.
Pour plus d'informations, reportez-vous au Tableau 6-1.
Version Oracle Solaris10 8/11 : dans cette version, vous pouvez utiliser l'option -T afin de fournir un intervalle et une valeur de comptage pour les commandes zpool list et zpool status pour l'affichage d'informations supplémentaires.
En outre, des nettoyages du pool et des informations de réargenture supplémentaires sont disponibles via la commande zpool status comme suit :
Rapport de progression de la réargenture. Par exemple :
scan: resilver in progress since Thu May 26 11:26:32 2011 1.26G scanned out of 2.40G at 6.15M/s, 0h3m to go 1.26G resilvered, 56.3% done
Rapport de progression du nettoyage. Par exemple :
scan: scrub in progress since Fri May 27 08:24:17 2011 18.0M scanned out of 2.35G at 8.99M/s, 0h4m to go 0 repaired, 0.75% done
Message de fin de la réargenture. Par exemple :
scan: resilvered 2.34G in 1h2m with 0 errors on Thu May 26 11:56:40 2011
Message de fin du nettoyage. Par exemple :
scan: scrub repaired 512B in 1h2m with 0 errors on Fri May 27 08:54:50 2011
Message d'annulation du nettoyage en cours. Par exemple :
scan: scrub canceled on Wed Fri Jun 10 09:06:24 2011
Les messages de fin de la réargenture et du nettoyage subsistent après plusieurs réinitialisation du système.
La syntaxe suivante utilise l'intervalle et l'option de comptage pour afficher en permanence les informations relatives à la réargenture du pool en cours. Vous pouvez utiliser la valeur -T d pour afficher les informations au format de date standard ou -T u pour les afficher dans un format interne.
# zpool status -T d tank 3 2 Wed Jun 22 14:35:40 GMT 2011 pool: tank 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. scan: resilver in progress since Wed Jun 22 14:33:29 2011 3.42G scanned out of 7.75G at 28.2M/s, 0h2m to go 3.39G resilvered, 44.13% done config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t3d0 ONLINE 0 0 0 c2t4d0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c2t7d0 ONLINE 0 0 0 c2t8d0 ONLINE 0 0 0 (resilvering) errors: No known data errors
Version Oracle Solaris 10 8/11 : dans cette version, les améliorations ACL suivantes sont fournies :
Les ACL insignifiantes ne requièrent pas d'entrées de contrôle d'accès (ACE) de refus, à l'exception des autorisations extraordinaires. Par exemple, un mode de 0644, 0755 ou 0664 ne requiert pas d'ACE de refus, tandis qu'un mode 0705, 0060, etc. en requiert.
L'ancien comportement inclut des ACE de refus dans une ACL insignifiante telle que 644. Par exemple :
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 14 11:52 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
Le nouveau comportement pour une ACL insignifiante comme 644 n'inclut pas les ACE de refus. Par exemple :
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 22 14:30 file.1 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Les ACL ne plus sont scindées en plusieurs ACE pendant l'héritage pour tenter de conserver l'autorisation d'origine inchangée. Au lieu de cela, les permissions sont modifiées de manière à appliquer le mode de création de fichier.
Le comportement de la propriété aclinherit inclut une réduction des autorisations lorsque la propriété est définie sur restricted (restreint), ce qui signifie que les ACL ne sont plus scindées en plusieurs ACE pendant l'héritage.
Une ACL existante est abandonnée durant les opérations chmod(2) par défaut. Cette modification signifie que la propriété ZFS aclmode n'est plus disponible.
Une nouvelle règle de calcul du mode d'autorisation signifie que si une ACL possède une entrée de contrôle d'accès user qui est également propriétaire du fichier, alors ces autorisations sont incluses dans le calcul du mode d'autorisation. La même règle s'applique lorsqu'une entrée de contrôle d'accès group est propriétaire de groupe du fichier.
Pour plus d'informations, reportez-vous au Chapitre 8Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS.
Oracle 10 9/10 : dans cette version de Solaris, vous pouvez utiliser la commande zpool split pour scinder un pool de stockage mis en miroir, ce qui déconnecte un ou plusieurs disques dans le pool mis en miroir d'origine pour créer un autre pool identique.
Pour plus d'informations, reportez-vous à la section Création d'un pool par scission d'un pool de stockage ZFS mis en miroir.
Version Oracle Solaris 10 9/10 : dans cette version, chaque pool de stockage ZFS est associé à un processus, zpool-poolname. Les threads dans ce processus sont les threads de traitement d'E/S du pool permettant de gérer les tâches d'E/S, telles la compression et la validation de la somme de contrôle, associées au pool. Le but de ce processus est d'indiquer l'utilisation de la CPU de chaque pool de stockage.
Des informations relatives à ces processus en cours d'exécution peuvent être consultées à l'aide des commandes ps et prstat. Ces processus sont uniquement disponibles dans la zone globale. Pour de plus amples informations, reportez-vous à la section SDC(7).
Version Oracle Solaris 10 9/10 : dans cette version, la sortie zpool list a été modifiée pour fournir de meilleures informations d'allocation d'espace. Par exemple :
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 136G 55.2G 80.8G 40% ONLINE -
Les champs USED et AVAIL précédents ont été remplacés par les champs ALLOC et FREE.
Le champ ALLOC permet d'identifier la quantité d'espace physique allouée à tous les jeux de données et aux métadonnées internes. Le champ FREE permet d'identifier la quantité d'espace inutilisé dans le pool.
Pour plus d'informations, reportez-vous à la section Affichage des informations des pools de stockage ZFS.
Version Oracle Solaris 10 9/10 : un pool de stockage peut être endommagé si les périphériques sous-jacents sont indisponibles, si une coupure de courant survient ou si un nombre de périphériques supérieur au nombre de périphériques pris en charge tombe en panne dans une configuration ZFS redondante. Cette version présente de nouvelles fonctionnalités de commande permettant de récupérer votre pool de stockage endommagé. Cependant, l'utilisation de ces fonctions de récupération signifie que les dernières transactions restantes survenues lors de l'interruption de service du pool peuvent être perdues.
Les deux commandes zpool clear et zpool import prennent en charge l'option -F permettant éventuellement de récupérer un pool endommagé. De plus, l'exécution de zpool status, zpool clear ou zpool import signale automatiquement un pool endommagé et ces commandes décrivent la manière de le récupérer.
Pour plus d'informations, reportez-vous à la section Réparation de dommages présents dans l'ensemble du pool de stockage ZFS.
Version Oracle Solaris 10 9/10 : les améliorations suivantes ont été apportées aux périphériques de journaux :
Propriété logbias – Vous pouvez utiliser cette propriété pour indiquer au système de fichiers ZFS comment gérer les demandes synchrones d'un ensemble de données spécifique. Si la propriété logbias est définie sur latency, ZFS utilise des périphériques de journal distincts dans le pool pour gérer les demandes à faible latence. Si la propriété logbias est définie sur throughput, le système de fichiers ZFS n'utilise pas de périphériques de journal distincts dans le pool. Au lieu de cela, le système de fichiers ZFS optimise les opérations synchrones pour traiter globalement le pool et utiliser efficacement les ressources. La valeur par défaut est latency. Nous vous recommandons d'utiliser la valeur par défaut pour la plupart des configurations. La valeur logbias=throughput peut éventuellement améliorer les performances d'enregistrement des fichiers de la base de données.
Suppression d'un périphérique de journal : vous pouvez maintenant supprimer un périphérique de journal à partir d'un pool de stockage ZFS à l'aide de la commande zpool remove. Vous pouvez supprimer un seul périphérique de journal en spécifiant le nom du périphérique. Vous pouvez supprimer un périphérique de journal mis en miroir en spécifiant le miroir de niveau supérieur pour le journal. Lorsque vous supprimez un périphérique de journal distinct du système, les enregistrements de transaction ZIL sont écrits dans le pool principal.
Les périphériques virtuels de niveau supérieur redondants sont désormais identifiés par un identificateur numérique. Par exemple, dans un pool de stockage mis en miroir composé de deux disques, le périphérique virtuel de niveau supérieur est mirror-0. Cette amélioration signifie qu'un périphérique de journal mis en miroir peut être supprimé en spécifiant son identifiant numérique.
Pour plus d'informations, reportez-vous à l'Exemple 4-3.
Version Oracle 10 9/10 : dans cette version, une configuration RAID-Z redondante peut maintenant disposer d'une parité simple, double ou triple. En d'autres termes, le système peut supporter une, deux ou trois pannes de périphérique sans perte de données. Vous pouvez spécifier le mot-clé raidz3 pour une configuration RAID-Z à triple parité. Pour plus d'informations, reportez-vous à la section Création d'un pool de stockage RAID-Z.
Version Oracle Solaris 10 9/10 : si vous implémentez plusieurs stratégies d'instantanés automatiques et si les instantanés les plus anciens sont détruits par inadvertance par la commande zfs receive car ils n'existent plus du côté de l'envoi, vous pouvez utiliser la fonction de conservation des instantanés dans cette version d'Oracle Solaris.
La conservation d'un instantané permet d'éviter sa destruction. En outre, cette fonction permet de supprimer un instantané contenant des clones, en attendant la suppression du dernier clone à l'aide de la commande zfs destroy -d.
Vous pouvez conserver un instantané ou un jeu d'instantanés. Par exemple, la syntaxe suivante insère une balise de conservation, keep, sur tank/home/cindy/snap@1 :
# zfs hold keep tank/home/cindy@snap1
Pour plus d'informations, reportez-vous à la section Conservation des clichés ZFS.
Version Oracle Solaris10 9/10 : dans cette version, un événement du système ou sysevent est fourni lorsque les disques dans un pool sont remplacées par des disques plus volumineux. ZFS a été amélioré pour reconnaître ces événements et ajuste le pool en fonction de la nouvelle taille du disque, selon la définition de la propriété autoexpand. Vous pouvez utiliser la propriété de pool autoexpand pour activer ou désactiver l'expansion automatique du pool lorsqu'un disque plus important remplace un disque moins volumineux.
Ces améliorations vous permettent d'augmenter la taille du pool sans avoir à exporter et importer un pool, ni à redémarrer le système.
Par exemple, l'extension automatique du LUN est activée sur le pool tank.
# zpool set autoexpand=on tank
Vous pouvez également créer le pool sans activer la propriété autoexpand.
# zpool create -o autoexpand=on tank c1t13d0
La propriété autoexpand est désactivée par défaut, de sorte que vous pouvez décider si vous souhaitez que la taille du pool soit agrandie lorsqu'un disque plus important remplace un disque moins volumineux.
Vous pouvez également agrandir la taille d'un pool à l'aide de la commande zpool online -e. Par exemple :
# zpool online -e tank c1t6d0
Vous pouvez également réinitialiser la propriété autoexpand après avoir connecté ou mis à disposition un disque plus important en utilisant la commande zpool replace. Par exemple, le pool suivant est créé avec un disque de 8 Go (c0t0d0). Le disque de 8 Go est remplacé par un disque de 16 Go (c1t13d0). Toutefois, la taille du pool ne sera pas étendue jusqu'à l'activation de la propriété autoexpand.
# zpool create pool c0t0d0 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 8.44G 76.5K 8.44G 0% ONLINE - # zpool replace pool c0t0d0 c1t13d0 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 8.44G 91.5K 8.44G 0% ONLINE - # zpool set autoexpand=on pool # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 16.8G 91.5K 16.8G 0% ONLINE -
Vous pouvez également agrandir le disque sans activer la propriété autoexpand en utilisant la commande zpool online -e même si le périphérique est déjà en ligne. Par exemple :
# zpool create tank c0t0d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 8.44G 76.5K 8.44G 0% ONLINE - # zpool replace tank c0t0d0 c1t13d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 8.44G 91.5K 8.44G 0% ONLINE - # zpool online -e tank c1t13d0 # zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 16.8G 90K 16.8G 0% ONLINE -
Cette version propose les améliorations supplémentaires de remplacement de périphériques suivantes :
Dans les versions précédentes, le système de fichiers ZFS ne pouvait pas remplacer un disque existant par un autre disque ni connecter un disque si la taille du disque de remplacement était légèrement différente. Dans cette version, vous pouvez remplacer un disque existant par un autre disque ou connecter un nouveau disque d'à peu près la même taille, à condition que le pool ne soit pas déjà plein.
Dans cette version, vous ne devez pas réinitialiser le système ou exporter/importer un pool pour étendre la taille du pool. Comme décrit ci-dessus, vous pouvez activer la propriété autoexpand ou utiliser la commande zpool online - e pour étendre le disque.
Pour obtenir des informations sur le remplacement de périphériques, reportez-vous à la section Remplacement de périphériques dans un pool de stockage.
Version Solaris 10 10/09 : dans cette version, vous pouvez définir un profil JumpStart pour identifier une archive Flash de pool racine ZFS. Pour plus d'informations, reportez-vous à la section Installation d'un système de fichiers racine ZFS (installation d'archive Oracle Solaris Flash).
Version 10 10/09 : dans les versions précédentes de Solaris, vous pouviez appliquer des quotas et des réservations aux systèmes de fichiers ZFS pour gérer et réserver de l'espace disque.
Dans cette version, vous pouvez définir un quota sur la quantité d'espace disque utilisée par les fichiers appartenant à un utilisateur ou à un groupe spécifique. Vous pouvez envisager la définition de quotas d'utilisateurs et de groupes dans un environnement contenant un grand nombre d'utilisateurs ou de groupes.
Vous pouvez définir un quota d'utilisateurs en utilisant la propriété zfs userquota. Pour définir le quota d'un groupe, utilisez la propriété zfs groupquota. Par exemple :
# zfs set userquota@user1=5G tank/data # zfs set groupquota@staff=10G tank/staff/admins
Vous pouvez afficher une valeur actuelle de quota d'utilisateur ou de groupe comme suit :
# zfs get userquota@user1 tank/data NAME PROPERTY VALUE SOURCE tank/data userquota@user1 5G local # zfs get groupquota@staff tank/staff/admins NAME PROPERTY VALUE SOURCE tank/staff/admins groupquota@staff 10G local
Vous pouvez afficher des informations générales sur les quotas comme suit :
# zfs userspace tank/data TYPE NAME USED QUOTA POSIX User root 3K none POSIX User user1 0 5G
# zfs groupspace tank/staff/admins TYPE NAME USED QUOTA POSIX Group root 3K none POSIX Group staff 0 10G
Vous pouvez afficher l'utilisation de l'espace disque d'un utilisateur en affichant la valeur de propriété userused@user. Vous pouvez afficher l'utilisation de l'espace disque d'un groupe en affichant la valeur de propriété groupused@ group. Par exemple :
# zfs get userused@user1 tank/staff NAME PROPERTY VALUE SOURCE tank/staff userused@user1 213M local # zfs get groupused@staff tank/staff NAME PROPERTY VALUE SOURCE tank/staff groupused@staff 213M local
Pour plus d'informations sur la définition des quotas d'utilisateurs, consultez la section Définition des quotas et réservations ZFS.
Version Solaris10 10/09 : dans les versions précédentes de Solaris, vous pouviez appliquer l'héritage ACL afin que tous les fichiers soient créés avec l'autorisation 0664 ou 0666. Dans cette version, si vous souhaitez éventuellement ajouter le bit d'exécution lors de la création du fichier à l'ACL héritée, vous pouvez définir le mode aclinherit pour qu'il transmette l'autorisation d'exécution à l'ACL héritée.
Si la propriété aclinherit=passthrough-x est activée sur un jeu de données ZFS, vous pouvez inclure une autorisation d'exécution sur un fichier de sortie généré par les outils de compilation cc ou gcc. Si l'ACL héritée ne comprend pas les autorisations d'exécution, la sortie exécutable du compilateur ne sera pas exécutable jusqu'à ce que vous utilisiez la commande chmod pour modifier les autorisations du fichier.
Pour plus d'informations, reportez-vous à l'Exemple 8-12.
Versions Solaris 10 10/09 et Oracle Solaris 10 9/10 : les améliorations apportées au système de fichier ZFS sont incluses dans ces versions.
Améliorations des propriétés de flux d'instantané ZFS - Vous pouvez définir une propriété reçue différente de la définition de la propriété locale. Par exemple, vous pouvez recevoir un flux avec la propriété de compression désactivée, mais vous souhaitez que cette propriété soit activée dans le système de fichiers destinataire. Cela signifie que la valeur de compression du flux reçue est définie sur off et que la valeur de compression locale est définie sur on. Étant donné que la valeur locale remplace la valeur reçue, vous ne devez pas définir les paramètres du côté de l'envoi pour qu'ils remplacent la valeur du côté de la réception. La commande zfs get affiche la valeur effective de la propriété de compression sous la colonne VALUE.
Les nouvelles options et propriétés des commandes ZFS prenant en charge les valeurs des propriétés locales et des propriétés d'envoi sont les suivantes :
Utilisez la commande zfs inherit -S pour rétablir la valeurs de propriété locale reçue, le cas échéant. Si une propriété ne reçoit aucune valeur, le comportement de la commande zfs inherit -S est le même que la commande zfs inherit sans l'option -S. Si la propriété ne reçoit aucune valeur, la commande zfs inherit masque la valeur reçue par la valeur héritée jusqu'à ce que l'émission d'une commande zfs inherit -S rétablisse la valeur reçue.
Vous pouvez utiliser la commande zfs get -o pour prendre en compte la nouvelle colonne RECEIVED ajoutée. Vous pouvez également utiliser la commande zfs get -o all pour ajouter toutes les colonnes, y compris la colonne RECEIVED.
Vous pouvez utiliser l'option zfs send -p pour ajouter des propriétés dans le flux d'envoi sans l'option -R.
En outre, vous pouvez utiliser l'option zfs send -e pour utiliser le dernier élément du nom de l'instantané envoyé pour déterminer le nom du nouvel instantané. L'exemple suivant envoie l'instantané poola/bee/cee@1 au système de fichiers poold/eee et utilise uniquement le dernier élément (cee@1) du nom de l'instantané pour créer le système de fichiers et l'instantané reçus.
# zfs list -rt all poola NAME USED AVAIL REFER MOUNTPOINT poola 134K 134G 23K /poola poola/bee 44K 134G 23K /poola/bee poola/bee/cee 21K 134G 21K /poola/bee/cee poola/bee/cee@1 0 - 21K - # zfs send -R poola/bee/cee@1 | zfs receive -e poold/eee # zfs list -rt all poold NAME USED AVAIL REFER MOUNTPOINT poold 134K 134G 23K /poold poold/eee 44K 134G 23K /poold/eee poold/eee/cee 21K 134G 21K /poold/eee/cee poold/eee/cee@1 0 - 21K -
Définition des propriétés de système de fichiers ZFS lors de la création du pool : vous pouvez définir les propriétés d'un système de fichiers ZFS lors de la création du pool de stockage. Dans l'exemple suivant, la compression est activée sur le système de fichiers ZFS qui est créé lors de la création du pool:
# zpool create -O compression=on pool mirror c0t1d0 c0t2d0
Définition des propriétés de cache sur un système de fichiers ZFS : deux nouvelles propriétés de système de fichiers ZFS vous permettent de déterminer quels sont les éléments mis en mémoire cache dans le cache principal (ARC) ou le cache secondaire (L2ARC). Les propriétés du cache sont définies comme suit :
Primarycache : contrôle les éléments qui sont mis en cache dans le cache principal.
Secondarycache : contrôle les éléments qui sont mis en cache dans le cache secondaire.
Les valeurs possibles de ces deux propriétés sont all, none et metadata. Si elles sont définies sur all, les données d'utilisateur et les métadonnées sont mises en cache. Si elle est définie sur none, ni les données d'utilisateur ni les métadonnées ne sont mises en cache. Si elles sont définies sur metadata, seules les métadonnées sont mises en cache. La valeur par défaut est all.
Vous pouvez définir ces propriétés sur un système de fichiers existant ou lors de la création d'un système de fichiers. Exemple :
# zfs set primarycache=metadata tank/datab # zfs create -o primarycache=metadata tank/newdatab
Lorsque ces propriétés sont définies sur des systèmes de fichiers existants, seule la nouvelle E/S est mise en cache en fonction de la valeur de ces propriétés.
Certains environnements de bases de données pourraient bénéficier de la non-mise en cache des données d'utilisateur. Vous devrez déterminer si la définition des propriétés du cache est appropriée pour votre environnement.
Affichage des propriétés de comptabilisation d'espace : de nouvelles propriétés de système de fichiers en lecture seule vous aident à identifier l'utilisation de l'espace disque pour les clones, les systèmes de fichiers et les volumes, mais pas les instantanés. Les propriétés sont les suivantes :
usedbychildren : affiche l'espace disque occupé par les niveaux enfant de ce jeu de données. Ce dernier peut être libéré si tous les niveaux enfants du jeu de données sont détruits. L'abréviation de la propriété est usedchild.
usedbydataset : affiche l'espace disque occupé par le jeu de données, lors de la première destruction d'un instantané ou de la suppression d'une propriété refreservation. Cet espace peut être libéré si le jeu de données est détruit. L'abréviation de la propriété est usedds.
usedbyrefreservation : affiche l'espace disque occupé par le jeu refreservation de ce jeu de données. Cet espace peut être libéré si le jeu refreservation est supprimé. L'abréviation de la propriété est usedrefreserv.
Usedbysnapshots : affiche l'espace disque occupé par les instantanés de ce jeu de données. Cet espace peut être libéré si l'ensemble des instantanés de ce jeu de données est détruit. Notez qu'il ne s'agit pas de la somme des propriétés used des instantanés, car l'espace disque peut être partagé par plusieurs instantanés. L'abréviation de la propriété est usedsnap.
Ces nouvelles propriétés divisent la valeur de la propriété used dans les divers éléments qui utilisent de l'espace disque. En particulier, la valeur de la propriété used est divisée comme suit :
used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots
Vous pouvez visualiser ces propriétés à l'aide de la commande zfs list -o space. Exemple :
$ zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD rpool 25.4G 7.79G 0 64K 0 7.79G rpool/ROOT 25.4G 6.29G 0 18K 0 6.29G rpool/ROOT/snv_98 25.4G 6.29G 0 6.29G 0 0 rpool/dump 25.4G 1.00G 0 1.00G 0 0 rpool/export 25.4G 38K 0 20K 0 18K rpool/export/home 25.4G 18K 0 18K 0 0 rpool/swap 25.8G 512M 0 111M 401M 0
La commande précédente est équivalente à la commande zfs list - o name,avail,used,usedsnap,usedds,usedrefreserv,usedchild -t filesystem,volume.
Liste d'instantanés– La propriété de pool listsnapshots vérifie si les informations sur les instantanés sont affichées par la commande zfs list. La valeur par défaut est on, ce qui signifie que les informations sur les instantanés sont affichées par défaut.
Si votre système contient un nombre important d'instantanés ZFS et que vous souhaitez désactiver l'affichage des informations concernant les instantanés dans la commande zfs list, désactivez la propriété listsnapshots comme suit :
# zpool get listsnapshots pool NAME PROPERTY VALUE SOURCE pool listsnapshots on default # zpool set listsnaps=off pool
Si vous désactivez la propriété listsnapshots, vous pouvez utiliser la commande zfs list -t snapshots pour afficher les informations sur l'instantané. Exemple :
# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT pool/home@today 16K - 22K - pool/home/user1@today 0 - 18K - pool/home/user2@today 0 - 18K - pool/home/user3@today 0 - 18K -
Version Solaris 10 10/09 : dans cette version, ZFS identifie les défaillances de journal d'intention dans la sortie de la commande zpool status. Le composant FMA (Fault Management Architecture) signale également ces erreurs. ZFS et FMA décrivent comment récupérer les données en cas de défaillance du journal d'intention.
Par exemple, si le système s'arrête soudainement avant que les opérations d'écriture synchrone ne soient affectées à un pool disposant d'un périphérique de journal distinct, un message tel que le suivant s'affiche :
# zpool status -x pool: pool state: FAULTED status: One or more of the intent logs could not be read. Waiting for adminstrator intervention to fix the faulted pool. action: Either restore the affected device(s) and run 'zpool online', or ignore the intent log records by running 'zpool clear'. scrub: none requested config: NAME STATE READ WRITE CKSUM pool FAULTED 0 0 0 bad intent log mirror ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 logs FAULTED 0 0 0 bad intent log c0t5d0 UNAVAIL 0 0 0 cannot open
Vous pouvez résoudre la panne du périphérique de journal de l'une des façons suivantes :
Remplacez ou récupérez le périphérique de journal. Dans cet exemple, le périphérique de journal est c0t5d0.
Mettez le périphérique de journal en ligne.
# zpool online pool c0t5d0
Réinitialisez la condition d'erreur de périphérique de journal défaillante.
# zpool clear pool
Pour effectuer une récupération suite à cette erreur sans remplacer le périphérique de journal défaillant, vous pouvez effacer l'erreur à l'aide de la commande zpool clear. Dans ce scénario, le pool fonctionnera en mode dégradé et les enregistrements de journal seront enregistrés dans le pool principal jusqu'à ce que le périphérique de journal distinct soit remplacé.
Envisagez d'utiliser des périphériques de journal mis en miroir afin d'éviter un scénario de défaillance de périphérique de journal.
Version Solaris 10 10/09 : dans cette version de Solaris, vous pouvez créer un pool et spécifier les périphériques de cache, utilisés pour mettre en cache les données du pool de stockage.
Les périphériques de cache fournissent une couche de mise en cache supplémentaire entre la mémoire principale et le disque. L'utilisation de périphériques de cache constitue la meilleure amélioration de performances pour les charges de travail de lecture aléatoire constituées principalement de contenu statique.
Vous pouvez spécifier un ou plusieurs périphériques de cache à la création du pool. Exemple :
# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0 # zpool status pool pool: pool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 cache c0t0d0 ONLINE 0 0 0 errors: No known data errors
Une fois les périphériques de cache ajoutés, ils se remplissent progressivement de contenu provenant de la mémoire principale. En fonction de la taille du périphérique de cache, le remplissage peut prendre plus d'une heure. La capacité et les lectures sont contrôlables à l'aide de la commande zpool iostat comme indiqué ci-dessous :
# zpool iostat -v pool 5
Une fois le pool créé, vous pouvez y ajouter des périphériques de cache ou les en supprimer.
Pour plus d'informations, reportez-vous à la section Création d'un pool de stockage ZFS avec des périphériques de cache et à l'Exemple 4-4.
Version Solaris 10 5/09 : cette version étend la prise en charge des zones de migration dans un environnement ZFS avec Oracle Solaris Live Upgrade. Pour plus d'informations, reportez-vous à la section Utilisation d'Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système avec zones (version Solaris 5 10/09 ou supérieure).
Vous trouverez la liste des problèmes connus relatifs à cette version dans les notes de version de Solaris 10 5/09.
Version Solaris 10 10/08 : cette version permet d'installer et d'initialiser un système de fichiers racine ZFS. Vous pouvez utiliser l'option d'installation initiale ou la fonction JumpStart pour installer un système de fichiers racine ZFS. Vous pouvez également utiliser la fonction Oracle Solaris Live Upgrade pour migrer d'un système de fichiers racine UFS vers un système de fichiers racine ZFS. La prise en charge ZFS des périphériques de swap et de vidage est également disponible. Pour plus d'informations, reportez-vous au Chapitre 5Installation et initialisation d'un système de fichiers racine ZFS Oracle Solaris.
Pour obtenir une liste des problèmes connus avec cette version, consultez le site Web à l'adresse suivante :
http://hub.opensolaris.org/bin/view/Community+Group+zfs/boot
Reportez-vous également aux notes de version de Solaris 10 10/08.
Solaris 10 10/08 : cette version permet d'annuler (roll back) un jeu de données sans devoir au préalable le démonter. L'option zfs rollback -f n'est ainsi plus nécessaire pour forcer l'opération de démontage. L'option -f n'est plus prise en charge et est ignorée si elle est spécifiée.
Version Solaris 10 10/08 : les améliorations suivantes ont été apportées à la commande zfs send dans cette version. Grâce à cette commande, vous pouvez désormais effectuer les tâches suivantes :
Envoi de tous les flux incrémentiels 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
Cette syntaxe comprend tous les instantanés incrémentiels de fs@snapA à fs@snapD, qui sont envoyés vers fs@combo.
Envoi d'un flux incrémentiel à partir de l'instantané d'origine pour créer un clone. L'instantané d'origine doit déjà exister côté récepteur afin d'accepter le flux incrémentiel. Par 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 réplication de tous les systèmes de fichiers descendants, jusqu'aux instantanés nommés. Une fois reçus, les propriétés, instantanés, systèmes de fichiers descendants et clones sont conservés. Exemple :
# zfs send -R pool/fs@snap > snaps/fs-R
Pour une illustration détaillée, reportez-vous à l'Exemple 7-1.
Envoi d'un flux de réplication incrémentiel. Exemple :
# zfs send -R -[iI] @snapA pool/fs@snapD
Pour une illustration détaillée, reportez-vous à l'Exemple 7-1.
Pour plus d'informations, reportez-vous à la section Envoi et réception de flux d'instantanés ZFS complexes.
Version Solaris 10 10/08 : outre les fonctionnalités de quotas et de réservation ZFS, cette version fournit des quotas et réservations de jeux de données excluant les données descendantes, telles que les instantanés et les clones, lors de la comptabilisation de l'utilisation de l'espace disque.
La propriété refquota permet d'appliquer une limite fixe à la quantité d'espace disque pouvant être consommée par le jeu de données. Cette limite fixe n'inclut pas l'espace disque utilisé par les descendants, tels que les instantanés et les clones.
La propriété refreservation définit la quantité minimale d'espace disque accordée à un jeu de données (descendants exclus).
Par exemple, en définissant la limite de la propriété refquota de studentA sur 10 Go, vous spécifiez une limite fixe d'espace disque référencé de 10 Go. Pour une plus grande flexibilité, vous pouvez définir un quota de 20 Go qui vous permet de gérer les instantanés de studentA.
# zfs set refquota=10g tank/studentA # zfs set quota=20g tank/studentA
Pour plus d'informations, reportez-vous à la section Définition des quotas et réservations ZFS.
Version Solaris 10 10/08 : les propriétés de pool de stockage ZFS ont été introduites dans une version antérieure. Cette version contient deux propriétés : cachefile et failmode.
La section suivante décrit les propriétés du nouveau pool de stockage de cette version :
Propriété cachefile - Cette propriété vérifie l'emplacement du cache des informations de configuration du pool. Tous les pools du cache sont importés automatiquement au démarrage du système. Toutefois, dans les environnements d'installation et de clustering, il peut s'avérer nécessaire de placer ces informations en cache à un autre endroit afin d'éviter l'importation automatique des pools.
Vous pouvez définir cette propriété afin de mettre la configuration de pool en cache à un autre emplacement. Il reste alors possible d'importer ultérieurement ce dernier à l'aide de la commande zpool import -c. Cette propriété n'est pas utilisée dans la plupart des configurations ZFS.
La propriété cachefile n'est pas persistante et n'est pas stockée sur le disque. Elle remplace la propriété temporary qui, dans les versions précédentes de Solaris, indiquait que les informations de pool ne devaient pas être mises en cache.
Propriété failmode : cette propriété détermine l'action à effectuer en cas d'échec catastrophique de pool causé par la perte de connectivité d'un périphérique ou la panne de tous les périphériques du pool. Vous pouvez définir la propriété failmode sur l'une des valeurs suivantes : wait, continue ou panic. La valeur par défaut est wait : vous devez reconnecter le périphérique ou remplacer le périphérique défaillant, puis effacer l'erreur à l'aide de la commande zpool clear.
La propriété failmode est définie comme les autres propriétés ZFS définissables, avant ou après la création 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 propriétés de pool, reportez-vous au Tableau 4-1.
Version Solaris 10 10/08 : la commande zpool history a été améliorée afin de fournir les nouvelles fonctions suivantes :
Les informations des événements du système de fichiers ZFS s'affichent.
L'option -l permet d'afficher un format détaillé comprenant le nom d'utilisateur, le nom de l'hôte et la zone dans laquelle l'opération a été effectuée.
L'option -i peut être utilisée pour afficher les informations des événements internes à des fins de diagnostic.
Pour plus d'informations sur l'utilisation de la commande zpool history, reportez-vous à la section Résolution de problèmes avec le système de fichiers ZFS.
Version Solaris 10 10/08 : la commande zfs upgrade a été ajoutée à cette version pour pouvoir apporter des améliorations futures aux systèmes de fichiers ZFS existants. Les pools de stockage disposent d'une fonctionnalité de mise à niveau similaire permettant d'apporter des améliorations aux pools de stockage existants.
Exemple :
# zfs upgrade This system is currently running ZFS filesystem version 3. All filesystems are formatted with the current version.
Remarque - Les systèmes de fichiers mis à niveau et tout flux créé à partir de ces systèmes de fichiers mis à niveau à l'aide de la commande zfs send ne sont pas accessibles sur des systèmes exécutant des versions antérieures du logiciel.
Solaris 10 10/08 : dans cette version, vous pouvez accorder des autorisations détaillées aux utilisateurs ne disposant d'aucun privilège en vue d'effectuer des tâches d'administration ZFS.
Les commandes zfs allow et zfs unallow permettent d'accorder ou de retirer les autorisations.
Vous pouvez modifier l'administration déléguée avec la propriété 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 défaut, la propriété delegation est activée.
Pour plus d'informations, reportez-vous au Chapitre 9Administration déléguée de ZFS dans Oracle Solaris et à la page de manuel zfs(1M).
Version Solaris 10 10/08 : le journal d'intention ZFS (ZIL) permet de répondre aux exigences de la norme POSIX dans le cadre de transactions synchronisées. Par exemple, les transactions de base de données doivent souvent se trouver sur des périphériques de stockage stables lorsqu'elles sont obtenues à partir d'un appel système. NFS et d'autres applications peuvent également assurer la stabilité des données à l'aide de fsync(). Par défaut, le ZIL est attribué à partir de blocs dans le pool de stockage principal. Dans cette version , vous pouvez décider si vous souhaitez que les blocs ZIL continuent à être alloués à partir du pool de stockage principal ou à partir d'un autre périphérique de journal. Les performances peuvent parfois être améliorées en vous servant de périphériques de journal d'intention distincts dans votre pool de stockage ZFS, notamment d'une NVRAM ou d'un disque dédié.
Les périphériques de journal du ZIL ne sont pas liés aux fichiers journaux de base de données.
Vous pouvez installer un périphérique de journalisation ZFS au moment de la création du pool de stockage ou après sa création. Pour obtenir des exemples de configuration de périphériques de journal, reportez-vous aux sections Création d'un pool de stockage ZFS avec des périphériques de journal et Ajout de périphériques à un pool de stockage.
connexion d'un périphérique de journal à un périphérique journal existant afin de créer un périphérique mis en miroir. Cette opération est similaire à la connexion d'un périphérique à un pool de stockage qui n'est pas mis en miroir.
Considérez les points suivants pour déterminer si la configuration d'un périphérique de journalisation ZFS convient à votre environnement :
Toute amélioration des performances observée suite à l'implémentation d'un périphérique de journalisation distinct dépend du type de périphérique, de la configuration matérielle du pool et de la charge de travail de l'application. Pour des informations préliminaires sur les performances, consultez le blog suivant :
http://blogs.oracle.com/perrin/entry/slog_blog_or_blogging_on
Les périphériques de journal peuvent être mis en miroir et leur réplication peut être annulée, mais RAID-Z n'est pas pris en charge pour les périphériques de journal.
Si un périphérique de journal distinct n'est pas mis en miroir et que le périphérique contenant le journal échoue, le stockage des blocs de journal retourne sur le pool de stockage.
Les périphériques de journal peuvent être ajoutés, remplacés, connectés, déconnectés, importés et exportés en tant que partie du pool de stockage. À partir de la version Solaris 10 9/10, les périphériques de journal peuvent être supprimés.
La taille minimale d'un périphérique de journal correspond à la taille minimale de chaque périphérique d'un pool, à savoir 64 Mo. La quantité de données en jeu pouvant être stockée sur un périphérique de journalisation est relativement petite. Les blocs de journal sont libérés lorsque la transaction du journal (appel système) est validée.
La taille maximale d'un périphérique de journalisation doit être approximativement égale à la moitié de la taille de la mémoire physique car il s'agit de la quantité maximale de données en jeu potentielles pouvant être stockée. Si un système dispose par exemple de 16 Go de mémoire physique, considérez une taille maximale de périphérique de journal de 8 Go.
Version Solaris 10 10/08 : vous pouvez appliquer l'option -p aux commandes zfs create, zfs clone et zfs rename afin de créer rapidement un jeu de données intermédiaire s'il n'existe pas encore.
Dans l'exemple suivant, les jeux de données ZFS (users/area51) sont créés 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 données intermédiaire existe déjà pendant l'opération de création, celle-ci est réussie.
Les propriétés spécifiées s'appliquent au jeu de données cible, mais pas au jeu de données intermédiaire. Exemple :
# zfs get mountpoint,compression datab/users/area51 NAME PROPERTY VALUE SOURCE datab/users/area51 mountpoint /datab/users/area51 default datab/users/area51 compression on local
Le jeu de données intermédiaire est créé avec le point de montage par défaut. Toute propriété supplémentaire est désactivée pour ce jeu de données. 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).
Solaris 10 10/08 : dans cette version, le système de fichiers ZFS répond plus efficacement aux périphériques qui sont supprimés et peut désormais identifier automatiquement les périphériques insérés.
Vous pouvez remplacer un périphérique existant par un périphérique équivalent sans utiliser la commande zpool replace.
La propriété autoreplace contrôle le remplacement automatique de périphériques. Si le remplacement du périphérique est désactivé, l'administrateur doit l'initier à l'aide de la commande zpool replace. Si l'option est définie sur on, tout nouveau périphérique se trouvant au même emplacement physique qu'un périphérique qui appartenait auparavant au pool est automatiquement formaté et remplacé. Par défaut, le remplacement est désactivé.
L'état de pool de stockage REMOVED est fourni en cas de retrait physique du périphérique ou d'un disque hot spare alors que le système est en cours d'exécution. Si un disque hot spare est disponible, il remplace le périphérique retiré.
Si un périphérique est retiré, puis réinséré, il est mis en ligne. Si un disque hot spare est activé lors de la réinsertion du périphérique, le disque hot spare est retiré une fois l'opération en ligne terminée.
La détection automatique du retrait ou de l'insertion de périphériques dépend du matériel utilisé. Il est possible qu'elle ne soit pas prise en charge sur certaines plates-formes. Par exemple, les périphériques USB sont configurés automatiquement après insertion. Il peut être toutefois nécessaire d'utiliser la commande cfgadm -c configure pour configurer un lecteur SATA.
Les disques hot spare sont consultés régulièrement afin de vérifier qu'ils sont en ligne et disponibles.
Pour de plus amples informations, reportez-vous à la page de manuel zpool(1M).
Version Solaris 10 10/08 : vous pouvez renommer de manière récursive tous les instantanés ZFS descendants à l'aide de la commande zfs rename -r. Exemple :
Dans un premier temps, un instantané d'un jeu de systèmes de fichiers ZFS est créé.
# zfs snapshot -r users/home@today # zfs list -t all -r users/home NAME USED AVAIL REFER MOUNTPOINT users/home 2.00G 64.9G 33K /users/home users/home@today 0 - 33K - users/home/mark 1.00G 64.9G 1.00G /users/home/mark users/home/mark@today 0 - 1.00G - users/home/neil 1.00G 64.9G 1.00G /users/home/neil users/home/neil@today 0 - 1.00G -
Ensuite, les instantanés sont renommés le jour suivant.
# zfs rename -r users/home@today @yesterday # zfs list -t all -r users/home users/home 2.00G 64.9G 33K /users/home users/home@yesterday 0 - 33K - users/home/mark 1.00G 64.9G 1.00G /users/home/mark users/home/mark@yesterday 0 - 1.00G - users/home/neil 1.00G 64.9G 1.00G /users/home/neil users/home/neil@yesterday 0 - 1.00G -
Un instantané est le seul type de jeu de données pouvant être renommé de façon récursive.
Pour plus d'informations sur les instantanés, reportez-vous à la section Présentation des instantanés ZFS et à l'entrée de blog décrivant la création d'instantanés restaurés :
http://blogs.oracle.com/mmusante/entry/rolling_snapshots_made_easy
Version 10 10/08 : dans cette version de Solaris, vous pouvez définir la compression gzip sur des systèmes de fichiers ZFS en plus de la compression lzjb. Vous pouvez spécifier la compression gzip ou gzip-N où N correspond à un chiffre entre 1 et 9. Par 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 propriétés ZFS, reportez-vous à la section Définition des propriétés ZFS.
Version Solaris 10 10/08 : à des fins de fiabilité, les métadonnées d'un système de fichiers ZFS sont automatiquement stockées plusieurs fois sur différents disques, si possible. Cette fonction est connue sous le terme anglais de ditto blocks.
Cette version vous permet également de stocker plusieurs copies des données utilisateur, lesquelles sont également stockées par système de fichiers à l'aide de la commande zfs set copies. Par exemple :
# zfs set copies=2 users/home # zfs get copies users/home NAME PROPERTY VALUE SOURCE users/home copies 2 local
Les valeurs disponibles sont 1, 2 et 3. La valeur par défaut 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 données utilisateur ZFS présente les avantages suivants :
Cela améliore la rétention des données en autorisant leur récupération à partir d'erreurs de lecture de blocs irrécupérables, comme par exemple des défaillances de support (plus connues sous le nom de bit rot) pour l'ensemble des configurations ZFS.
Cela garantit la sécurité des données, même lorsqu'un seul disque est disponible.
Cela permet de choisir les stratégies de protection des données par système de fichiers et de dépasser les capacités du pool de stockage.
Remarque - Selon l'allocation des blocs "ditto" dans le pool de stockage, plusieurs copies peuvent être placées sur un seul disque. La saturation ultérieure d'un disque peut engendrer l'indisponibilité de tous les blocs "ditto".
Vous pouvez envisager l'utilisation des blocs "ditto" lorsque vous créez accidentellement un pool non redondant et lorsque vous avez besoin de définir des stratégies de conservation de données.
Pour une description détaillée de l'impact du stockage de plusieurs copies sur un système comprenant un pool d'un seul disque ou un pool de plusieurs disques, sur la protection globale des données, consultez le blog suivant :
http://blogs.oracle.com/relling/entry/zfs_copies_and_data_protection
Pour plus d'informations sur la configuration des propriétés ZFS, reportez-vous à la section Définition des propriétés ZFS.
Version Solaris 10 8/07 : la commande zpool status -v permet d'afficher la liste des fichiers comportant des erreurs persistantes. Auparavant, il était nécessaire d'utiliser la commande find -inum pour identifier les noms de fichiers à partir de la liste des inodes affichés.
Pour obtenir des informations supplémentaires sur l'affichage d'une liste de fichiers comportant des erreurs persistantes, consultez la section Réparation d'un fichier ou répertoire corrompu.
Version 10 8/07 : dans cette version de Solaris, vous pouvez créer un volume ZFS en tant que périphérique cible Solaris iSCSI en configurant la propriété shareiscsi sur le volume ZFS. Cette méthode 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 créée, vous pouvez configurer l'initiateur iSCSI. Pour obtenir des informations sur la configuration d'un initiateur iSCSI Solaris, reportez-vous au Chapitre 14, Configuring Oracle Solaris iSCSI Targets and Initiators (Tasks) du System Administration Guide: Devices and File Systems.
Pour obtenir des informations supplémentaires 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.
Version Solaris 10 8/07 : dans cette version de Solaris, ZFS consigne automatiquement les commandes zfs et zpool sans erreur 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 Oracle, d'identifier les commandes ZFS réelles exécutées pour résoudre un scénario d'erreur.
Vous pouvez identifier un pool de stockage spécifique grâce à la commande zpool history. Par exemple :
# zpool history newpool 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
Dans cette version, la commande zpool history n'enregistre pas user-ID, hostname ni zone-name. Cependant, ces informations ne sont enregistrées qu'à partir de la version 10 10/08 de Solaris. Pour plus d'informations, reportez-vous à la section Améliorations apportées à l'historique des commandes ZFS (zpool history).
Pour obtenir des informations supplémentaires sur la résolution de problèmes relatifs à ZFS, consultez la section Résolution de problèmes avec le système de fichiers ZFS.
Version Solaris 10 8/07 : vous pouvez utiliser la propriété xattr pour désactiver ou activer les attributs avancés d'un système de fichiers ZFS spécifique. La valeur par défaut est on. Pour obtenir une description des propriétés ZFS, reportez-vous à la section Présentation des propriétés ZFS.
Version Solaris 10 8/07 : la nouvelle propriété canmount permet de spécifier s'il est possible de monter un jeu de données à l'aide de la commande zfs mount. Pour plus d'informations, reportez-vous à la section Propriété canmount.
Version Solaris 10 8/07 : outre les propriétés natives standard qui permettent d'exporter des statistiques internes ou de contrôler le comportement du système de fichiers ZFS, ZFS propose des propriétés définies par l'utilisateur. Les propriétés définies par l'utilisateur n'ont aucune incidence sur le comportement du système ZFS. En revanche, elles permettent d'annoter les jeux de données avec des informations adaptées à votre environnement.
Pour obtenir des informations supplémentaires, consultez la section Propriétés ZFS définies par l'utilisateur.
Version Solaris 10 8/07 : dans cette version, vous pouvez définir les propriétés d'un système de fichiers lors de sa création, pas seulement après sa création.
Les exemples suivants montrent la syntaxe équivalente :
# zfs create tank/home # zfs set mountpoint=/export/zfs tank/home # zfs set quota=50g tank/home # zfs set compression=on tank/home
# zfs create -o mountpoint=/export/zfs -o quota=50g -o compression=on tank/home
Version 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 données si vous n'en spécifiez pas un en particulier ou si vous spécifiez all . Dans les versions précédentes, la commande zfs get ne permettait pas de récupérer la totalité des informations relatives au jeu de données.
Exemple :
# zfs get -r -s local all tank/home NAME PROPERTY VALUE SOURCE tank/home atime off local tank/home/jeff atime off local tank/home/mark quota 50G local
Version 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 système de fichiers à l'instantané le plus récent avant d'effectuer la réception. Il peut être utile de faire appel à cette option en cas de modification du système de fichiers entre le moment où la restauration se produit et le moment où la réception commence.
Pour plus d'informations, reportez-vous à la section Réception d'un instantané ZFS.
Version Solaris 10 11/06 : lorsque vous créez un instantané de système de fichiers à l'aide de la commande zfs snapshot, spécifiez l'option -r si vous souhaitez créer des instantanés de façon récursive pour l'ensemble des systèmes de fichiers descendants. En outre, vous pouvez utiliser l'option -r pour détruire récursivement tous les instantanés descendants lors de la destruction d'un instantané.
Une seule opération, dite atomique, permet de créer rapidement des instantanés ZFS récursifs. Ceux-ci sont tous créés simultanément ou ne sont pas créés du tout. Grâce à ce type d'opération, une certaine cohérence des données d'instantané est assurée, y compris pour les systèmes de fichiers descendants.
Pour obtenir des informations supplémentaires, consultez la section Création et destruction d'instantanés ZFS.
Version Solaris 10 11/06 : une configuration RAID-Z redondante peut désormais présenter une parité simple ou double. En d'autres termes, le système peut subir respectivement une ou deux pannes de périphérique sans perte de données. Le mot-clé raidz2 permet de spécifier une configuration RAID-Z à deux parités. Pour spécifier une configuration RAID-Z à une parité, vous avez le choix entre les mots-clés raidz et raidz1.
Pour plus d'informations, consultez la section Création d'un pool de stockage RAID-Z ou la page de manuel zpool(1M).
Version Solaris 10 11/06 la fonction de disque hot spare ZFS permet d'identifier les disques pouvant être utilisés pour remplacer un périphérique défaillant dans un ou plusieurs pools de stockage. Le périphérique hot spare peut immédiatement remplacer tout périphérique actif du pool qui tombe en panne. Vous pouvez également effectuer ce remplacement manuellement.
Pour plus d'informations, reportez-vous à la section Désignation des disques hot spare dans le pool de stockage et à la page de manuel zpool(1M).
Version Solaris 10 11/06 : la commande zfs promote permet de remplacer un système de fichiers ZFS existant par un clone de celui-ci. Cette fonctionnalité permet de tester la nouvelle version d'un système de fichiers, puis de la définir comme système de fichiers actif.
Pour plus d'informations, reportez-vous à la section Remplacement d'un système de fichiers ZFS par un clone ZFS et à la page de manuel zfs(1M).
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 récentes. De plus, la commande zpool status indique dorénavant si la version actuelle des pools ZFS est plus ancienne.
Pour plus d'informations, reportez-vous à la section Mise à niveau de pools de stockage ZFS et à la page de manuel zpool(1M).
Si vous souhaitez utiliser la console d'administration ZFS dans un système comprenant un pool provenant d'une version précédente de Solaris, veillez préalablement à mettre les pools à niveau. La commande zpool status permet de déterminer 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.
Version 10 6/06 : dans cette version de Solaris, les commandes zfs backup et zfs restore ont été renommées zfs send et zfs receive afin de mieux décrire leur fonction. Ces commandes envoient et reçoivent des représentations de flux de données ZFS.
Pour plus d'informations sur ces commandes, reportez-vous à la section Envoi et réception de données ZFS.
Version Solaris 10 6/06 : cette version inclut la commande zpool import -D, qui permet la récupération de pools précédemment détruits à l'aide de la commande zpool destroy.
Pour obtenir des informations supplémentaires, reportez-vous à la section Récupération de pools de stockage ZFS détruits.
Version Solaris 10 6/06 : cette version intègre un moteur de diagnostic ZFS capable de diagnostiquer et de signaler les pannes des périphériques et des pools. Les erreurs liées aux sommes de contrôle, aux E/S et aux périphériques font également l'objet d'un rapport lorsqu'elles sont liées à la défaillance d'un pool ou d'un périphérique.
Le moteur de diagnostic n'effectue pas d'analyses prédictives d'erreurs liées aux sommes de contrôle ou aux E/S et n'inclut aucune action proactive basée sur l'analyse de pannes.
Si une panne survient sur un système de fichiers ZFS, un message semblable au message suivant s'affiche :
SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major EVENT-TIME: Wed Jun 30 14:53:39 MDT 2010 PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: neo SOURCE: zfs-diagnosis, REV: 1.0 EVENT-ID: 504a1188-b270-4ab0-af4e-8a77680576b8 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 spécifiques de la commande zpool status, afin d'identifier et de résoudre rapidement la panne.
Pour obtenir un exemple de récupération suite à un problème de ZFS signalé, consultez la section Réparation d'un périphérique manquant.
Version Solaris 10 6/06 : cette version inclut la commande zpool clear, qui permet d'effacer les décomptes d'erreurs associés à un périphérique ou un pool. Auparavant, les décomptes d'erreurs étaient effacés lors de la mise en ligne du périphérique d'un pool avec la commande zpool online. Pour plus d'informations, reportez-vous à la section Effacement des erreurs de périphérique de pool de stockage et à la page de manuel zpool(1M).
Solaris 10 6/06: dans cette version, vous pouvez définir et afficher les ACL NFSv4 sous deux formats : détaillé et compact. La commande chmod permet de définir l'un des formats ACL. Vous pouvez utiliser la commande ls - V pour afficher les ACL au format compact. Vous pouvez utiliser la commande ls -v pour afficher les ACL au format détaillé.
Pour plus d'informations, reportez-vous à la section Configuration et affichage d'ACL dans des fichiers ZFS en format compact, à la page de manuel chmod(1) et à la page de manuel ls(1).
Version Solaris 10 6/06 : un nouvel outil de contrôle de système de fichiers, fsstat, crée des rapports relatifs aux opérations de système de fichiers. Les activités peuvent être consignées par point de montage ou par type de système de fichiers. L'exemple suivant illustre les activités générales de système 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).
Solaris 10 6/06 : la console d'administration ZFS est un outil de gestion ZFS basé sur le Web permettant d'effectuer les tâches administratives suivantes :
créer un nouveau pool de stockage ;
augmenter la capacité d'un pool existant ;
déplacer (exporter) un pool de stockage vers un autre système ;
importer un pool de stockage précédemment exporté afin qu'il soit disponible dans un autre système ;
visualiser des informations sur les pools de stockage ;
créer un système de fichiers ;
créer un volume ;
créer un instantané d'un système de fichiers ou d'un volume ;
restaurer un système de fichiers à l'aide d'un instantané précédent.
Vous pouvez accéder à la console d'administration ZFS par le biais d'un navigateur Web sécurisé en vous connectant à l'URL suivant :
https://system-name:6789/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 démarré. Pour démarrer le serveur, exécutez la commande suivante :
# /usr/sbin/smcwebserver start
Pour exécutez le serveur automatiquement à l'initialisation du système, tapez la commande suivante :
# /usr/sbin/smcwebserver enable
Remarque - Les systèmes de fichiers et les pools de stockage ZFS ne peuvent pas être gérés à l'aide de la console de gestion Solaris (smc, Solaris Management Console).