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)
Page de manuel ZFS modifiée (zfs.1m)
Identification des périphériques de pool en fonction de leur emplacement physique
Améliorations du partage de fichiers ZFS
Chiffrement de systèmes de fichiers 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)
Modifications concernant iSCSI ZFS
Description d'Oracle Solaris ZFS
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. Gestion des composants du pool racine ZFS
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
12. Archivage des instantanés et récupération du pool racine
13. Pratiques recommandées pour Oracle Solaris ZFS
Cette section décrit les nouvelles fonctions du système de fichier ZFS.
Identification des périphériques de pool en fonction de leur emplacement physique
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 11 : la page de manuel zfs.1m a été révisée ; désormais, les fonctionnalités de base du système de fichiers ZFS figurent toujours dans la page de manuel zfs.1m, mais l'administration déléguée, le chiffrement, la syntaxe de partage et les exemples connexes sont traités dans les pages suivantes :
Oracle Solaris 11 : la propriété aclmode modifie le comportement des listes de contrôle d'accès (ACL) lorsqu'un fichier est créé et contrôle la modification des ACL lors d'une opération chmod. La propriété aclmode a été réintroduite avec les valeurs suivantes :
discard :un système de fichiers avec une propriété aclmode de 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 avec une propriété aclmode de mask restreint les autorisations d'utilisateur ou de 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 8-14.
Oracle Solaris 11 : dans cette version de Solaris, utilisez la commande zpool status -l pour afficher les informations relatives à l'emplacement du disque physique des périphériques de pool, lesquelles sont accessibles dans le répertoire /dev/chassis. Ce répertoire contient les valeurs de châssis, de réceptacle et d'occupant pour les périphériques de votre système.
En outre, vous pouvez utiliser la commande fmadm add-alias pour inclure un nom d'alias de disque qui facilite l'identification de l'emplacement physique des disques dans votre environnement. Par exemple :
# fmadm add-alias SUN-Storage-J4400.0912QAJ001 SUN-Storage-J4400.rack22
Par exemple :
% zpool status -l export pool: export state: ONLINE scan: resilvered 379G in 8h31m with 0 errors on Thu Jan 27 23:10:20 2011 config: NAME STATE READ WRITE CKSUM export ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__2/disk ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__3/disk ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__4/disk ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__5/disk ONLINE 0 0 0 mirror-2 ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__6/disk ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__7/disk ONLINE 0 0 0 mirror-3 ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__8/disk ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__9/disk ONLINE 0 0 0 mirror-4 ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__10/disk ONLINE 0 0 0 /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__11/disk ONLINE 0 0 0 spares /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__0/disk AVAIL /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__1/disk AVAIL errors: No known data errors
La commande zpool iostat a également été mise à jour et fournit dorénavant des informations sur l'emplacement physique des périphériques d'un pool. Par exemple :
# zpool iostat -lv capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- export 2.39T 2.14T 13 27 42.7K 300K mirror 490G 438G 2 5 8.53K 60.3K /dev/chassis/...rack22/SCSI_Device__2/disk - - 1 0 4.47K 60.3K /dev/chassis/...rack22/SCSI_Device__3/disk - - 1 0 4.45K 60.3K mirror 490G 438G 2 5 8.62K 59.9K /dev/chassis/...rack22/SCSI_Device__4/disk - - 1 0 4.52K 59.9K /dev/chassis/...rack22/SCSI_Device__5/disk - - 1 0 4.48K 59.9K mirror 490G 438G 2 5 8.60K 60.2K /dev/chassis/...rack22/SCSI_Device__6/disk - - 1 0 4.50K 60.2K /dev/chassis/...rack22/SCSI_Device__7/disk - - 1 0 4.49K 60.2K mirror 490G 438G 2 5 8.47K 60.1K . . .
Les commandes croinfo, diskinfo, format et prtconf fournissent elles aussi des informations sur l'emplacement des disques physiques. Pour plus d'informations, reportez-vous à la section Identification des périphériques par emplacements physiques du manuel Administration d’Oracle Solaris : Périphériques et systèmes de fichiers.
Oracle Solaris 11 : dans cette version, vous pouvez migrer des données à partir d'un ancien système de fichiers vers un nouveau système de fichiers, le nouveau système de fichiers restant accessible et modifiable pendant le processus de migration.
La définition de la propriété shadow sur un nouveau système de fichiers ZFS déclenche la migration des anciennes données. La propriété shadow peut être définie de manière à déclencher la migration de données depuis le système local ou depuis un système distant avec l'une ou l'autre des valeurs suivantes :
file:///path nfs://host:path
Pour plus d'informations, reportez-vous à la section Migration de systèmes de fichiers ZFS.
Oracle Solaris 11 : dans cette version de Solaris, le partage de systèmes de fichiers ZFS est un processus en deux étapes au cours duquel les propriétés du partage sont définies à l'aide d'une seule commande et le partage SMB ou NFS est publié au cours d'une seconde étape.
Création du partage NFS ou SMB d'un système de fichiers ZFS et identification des propriétés de partage des fichiers à l'aide de la commande zfs set share.
Publication des partages NFS ou SMB par l'activation des propriétés sharenfs ou sharesmb.
Pour plus d'informations, reportez-vous à la section Activation et annulation du partage des systèmes de fichiers ZFS .
Oracle Solaris 11 : dans cette version, vous pouvez chiffrer un système de fichiers ZFS.
Par exemple, le système de fichiers tank/cindy est créé avec la propriété de chiffrement activée. La stratégie de chiffrement par défaut consiste en une invite à saisir une phrase de passe comportant 8 caractères au minimum.
# zfs create -o encryption=on tank/cindy Enter passphrase for 'tank/cindy': xxx Enter again: xxx
Une stratégie de chiffrement est définie au moment de la création d'un système de fichiers ZFS. Les systèmes de fichiers descendants héritent de la stratégie de chiffrement du système de fichiers parent, et celle-ci ne peut pas être supprimée.
Pour plus d'informations, reportez-vous à la section Chiffrement des systèmes de fichiers ZFS.
Oracle Solaris 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 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 11 : dans cette version, les nouvelles fonctionnalités de 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 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.
Oracle Solaris 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.
Oracle Solaris 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
Oracle Solaris 11 : cette version inclut les améliorations suivantes des ACL :
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 de 0644, 0755 ou 0664 ne requiert pas d'ACE de refus, tandis qu'un mode de 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 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 8, Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS.
Oracle Solaris 11 : dans cette version de , 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 d'origine mis en miroir 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 11 : dans cette version, le démon cible iSCSI est remplacé par l'utilisation du démon cible COMSTAR (Common Multiprotocol SCSI Target). Cette modification signifie également que la propriété shareiscsi , qui servait à partager un volume ZFS en tant que LUN iSCSI, n'est plus disponible. La commande stmfadm permet de configurer et de partager un volume ZFS en tant que LUN iSCSI.
Pour plus d'informations, reportez-vous Utilisation d'un volume ZFS en tant qu'unité logique de stockage iSCSI.
Oracle Solaris 11 : 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 Solaris 11 : dans cette version, vous pouvez utiliser la propriété de suppression des doublons (dedup) pour supprimer les données redondantes des systèmes de fichiers ZFS. Si la propriété dedup est activée pour un système de fichiers, les blocs de données dupliquées sont supprimés de façon synchrone. Par conséquent, seules les données uniques sont stockées et les composants communs sont partagés entre les fichiers.
Vous pouvez activer cette propriété comme suit :
# zfs set dedup=on tank/home
Bien que la suppression des doublons soit définie en tant que propriété du système de fichiers, elle s'étend à l'échelle du pool. Par exemple, vous pouvez identifier le ratio de suppression des doublons comme suit :
# zpool list tank NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT tank 136G 55.2G 80.8G 40% 2.30x ONLINE -
La sortie zpool list a été mise à jour pour prendre en charge la propriété de suppression des doublons.
Pour plus d'informations sur la définition de la propriété de suppression des doublons, reportez-vous à la section Propriété dedup.
N'activez pas la propriété dedup sur des systèmes de fichiers résidant sur des systèmes de production avant d'avoir passé en revue les points suivants :
Déterminez si vos données bénéficieraient de gains d'espace grâce à la suppression des doublons.
Assurez-vous que votre système dispose de suffisamment de mémoire physique pour prendre en charge la suppression des doublons.
Déterminez l'incidence possible sur les performances du système.
Pour plus d'informations sur ces considérations, reportez-vous à la section Propriété dedup.