Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Guide d'administration Oracle Solaris ZFS Oracle Solaris 10 1/13 Information Library (Français) |
1. Système de fichiers Oracle Solaris ZFS (introduction)
Amélioration d'utilisation des commandes ZFS
Améliorations des instantanés ZFS
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 du remplacement des périphériques ZFS
Prise en charge de l'installation de ZFS et Flash
Migration de zone dans un environnement ZFS
Prise en charge de l'installation et de l'initialisation de ZFS
Description d'Oracle Solaris ZFS
Sommes de contrôle et données d'autorétablissement
Exigences d'attribution de noms de composants ZFS
Différences entre les systèmes de fichiers Oracle Solaris ZFS et classiques
Granularité du système de fichiers ZFS
Comptabilisation de l'espace disque ZFS
Montage de système de fichiers ZFS
Modèle ACL Solaris basé sur NFSv4
2. Mise en route d'Oracle Solaris ZFS
3. Gestion des pools de stockage Oracle Solaris ZFS
4. Installation et initialisation d'un système de fichiers root ZFS Oracle Solaris
5. Gestion des systèmes de fichiers Oracle Solaris ZFS
6. Utilisation des instantanés et des clones ZFS Oracle Solaris
7. Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS
8. Administration déléguée de ZFS dans Oracle Solaris
9. Rubriques avancées Oracle Solaris ZFS
10. Dépannage d'Oracle Solaris ZFS et récupération de pool
11. Pratiques recommandées pour Oracle Solaris ZFS
Cette section décrit les nouvelles fonctions du système de fichiers 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)
Oracle Solaris 10 1/13 : les commandes zfs et zpool disposent d'une sous-commande help qui peut fournir des informations sur les sous-commandes zfs et zpool, ainsi que sur leurs options respectives. Par exemple :
# zfs help The following commands are supported: allow clone create destroy diff get groupspace help hold holds inherit list mount promote receive release rename rollback send set share snapshot unallow unmount unshare upgrade userspace For more info, run: zfs help <command> # zfs help create usage: create [-p] [-o property=value] ... <filesystem> create [-ps] [-b blocksize] [-o property=value] ... -V <size> <volume>
# zpool help The following commands are supported: add attach clear create destroy detach export get help history import iostat list offline online remove replace scrub set split status upgrade For more info, run: zpool help <command> # zpool help attach usage: attach [-f] <pool> <device> <new-device>
Pour plus d'informations, reportez-vous aux pages de manuel zfs(1M) et zpool(1M).
Oracle Solaris 10 1/13 : cette version inclut les améliorations d'instantanés ZFS suivantes :
La commande zfs snapshot dispose d'un alias snap qui offre une syntaxe abrégée pour cette commande. Par exemple :
# zfs snap -r users/home@snap1
La commande zfs diff offre une option d'énumération, -e, pour identifier tous les fichiers ajoutés ou modifiés entre les deux instantanés. La sortie générée identifie tous les fichiers ajoutés, mais ne fournit pas les suppressions possibles. Par exemple :
# zfs diff -e tank/cindy@yesterday tank/cindy@now + /tank/cindy/ + /tank/cindy/file.1
Vous pouvez aussi utiliser l'option -o pour identifier les champs sélectionnés à afficher. Par exemple :
# zfs diff -e -o size -o name tank/cindy@yesterday tank/cindy@now + 7 /tank/cindy/ + 206695 /tank/cindy/file.1
Pour plus d'informations sur la création d'instantanés ZFS, reportez-vous au Chapitre 6, Utilisation des instantanés et des clones ZFS Oracle Solaris.
Oracle Solaris 10 1/13 : la propriété aclmode modifie le comportement des ACL quand des autorisations ACL sur un fichier sont modifiées pendant une opération chmod. La propriété aclmode a été réintroduite avec les valeurs suivantes :
discard :un système de fichiers dont la valeur de la propriété aclmode est discard supprime toutes les entrées d'ACL qui ne représentent pas le mode du fichier. Il s'agit de la valeur par défaut.
mask : un système de fichiers dont la valeur de la propriété aclmode est mask restreint les autorisations utilisateur ou groupe. Les autorisations sont réduites de manière à ne pas excéder les bits d'autorisation du groupe, à moins qu'il ne s'agisse d'une entrée utilisateur possédant le même UID que le propriétaire du fichier ou du répertoire. Dans ce cas, les autorisations d'ACL sont réduites de manière à ne pas excéder les bits d'autorisation du propriétaire. La valeur de masque préserve en outre l'ACL lors des modifications de mode successives, à condition qu'aucune opération de jeu d'ACL explicite n'ait été effectuée.
passthrough : un système de fichiers avec une propriété aclmode de passthrough indique qu'aucune modification n'est apportée à l'ACL en dehors de la génération des entrées d'ACL nécessaires pour représenter le nouveau mode du fichier ou du répertoire.
Pour plus d'informations, reportez-vous à l'Exemple 7-13.
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 4-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 4-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 4-5.
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.
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).
Oracle Solaris 10 8/11 : dans cette version, les nouvelles 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 journalisation 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 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.
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 5-1.
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 Jun 7 14:41:11 2012 3.83G scanned out of 73.3G at 106M/s, 0h11m to go 3.80G resilvered, 5.22% done
Rapport de progression du nettoyage. Par exemple :
scan: scrub in progress since Thu Jun 7 14:59:25 2012 1.95G scanned out of 73.3G at 118M/s, 0h10m to go 0 repaired, 2.66% done
Message de fin de la réargenture. Par exemple :
resilvered 73.3G in 0h13m with 0 errors on Thu Jun 7 14:54:16 2012
Message de fin du nettoyage. Par exemple :
scan: scrub repaired 512B in 1h2m with 0 errors on Thu Jun 7 15:10:32 2012
Message d'annulation du nettoyage en cours. Par exemple :
scan: scrub canceled on Thu Jun 7 15:19:20 MDT 2012
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 Nov 14 15:44:34 MST 2012 pool: tank state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Wed Nov 14 15:44:34 2012 2.96G scanned out of 4.19G at 189M/s, 0h0m to go 1.48G resilvered, 70.60% done config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 DEGRADED 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 DEGRADED 0 0 0 (resilvering) errors: No known data errors
Oracle Solaris 10 8/11 : dans cette version, les améliorations ACL suivantes sont fournies :
Les ACL triviales ne requièrent pas d'entrée de contrôle d'accès (ACE) de refus, à l'exception des autorisations extraordinaires. Par exemple, un mode 0644, 0755 ou 0664 ne requiert pas d'ACE de refus, tandis qu'un mode 0705, 0060, et ainsi de suite, requiert des ACE de refus.
L'ancien comportement inclut des ACE de refus dans une ACL triviale 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 triviale telle que 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 autorisations 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 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 7, Utilisation 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.
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).
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 à réinitialiser 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.
Solaris 10 10/09 : dans cette version, vous pouvez définir un profil JumpStart pour identifier une archive Flash de pool root ZFS. Pour plus d'informations, reportez-vous à la section Installation d'un système de fichiers root ZFS (installation d'archive Flash Oracle Solaris).
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 10 5/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.
Solaris 10 10/08 : cette version permet d'installer et d'initialiser un système de fichiers root ZFS. Vous pouvez utiliser l'option d'installation initiale ou la fonction JumpStart pour installer un système de fichiers root ZFS. Vous pouvez également utiliser la fonction Oracle Solaris Live Upgrade pour migrer d'un système de fichiers root UFS vers un système de fichiers root 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 4, Installation et initialisation d'un système de fichiers root ZFS Oracle Solaris.
Vous trouverez la liste des problèmes connus relatifs à cette version dans les notes de version de Solaris 10 10/08.
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 PCFS.
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'adresse URL suivante :
https://system-name:6789/zfs
Si vous avez saisi l'adresse URL correcte 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 Solaris Management Console (smc).