Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Administration d'Oracle Solaris 11.1 : Systèmes de fichiers ZFS Oracle Solaris 11.1 Information Library (Français) |
1. Système de fichiers Oracle Solaris ZFS (introduction)
2. Mise en route d'Oracle Solaris ZFS
3. Gestion des pools de stockage Oracle Solaris ZFS
Composants d'un pool de stockage ZFS
Utilisation de disques dans un pool de stockage ZFS
Utilisation de tranches dans un pool de stockage ZFS
Utilisation de fichiers dans un pool de stockage ZFS
Remarques relatives aux pools de stockage ZFS
Fonctions de réplication d'un pool de stockage ZFS
Configuration de pool de stockage mis en miroir
Configuration de pool de stockage RAID-Z
Données d'autorétablissement dans une configuration redondante
Entrelacement dynamique dans un pool de stockage
Création et destruction de pools de stockage ZFS
Création de pools de stockage ZFS
Création d'un pool de stockage de base
Création d'un pool de stockage mis en miroir
Création d'un pool de stockage RAID-Z
Création d'un pool de stockage ZFS avec des périphériques de journalisation
Création d'un pool de stockage ZFS avec des périphériques de cache
Précautions pour la création de pools de stockage
Affichage des informations d'un périphérique virtuel de pool de stockage
Gestion d'erreurs de création de pools de stockage ZFS
Détection des périphériques utilisés
Niveaux de réplication incohérents
Réalisation d'un test à la création d'un pool de stockage
Point de montage par défaut pour les pools de stockage
Destruction de pools de stockage ZFS
Destruction d'un pool avec des périphériques disponibles
Gestion de périphériques dans un pool de stockage ZFS
Ajout de périphériques à un pool de stockage
Connexion et séparation de périphériques dans un pool de stockage
Création d'un pool par scission d'un pool de stockage ZFS mis en miroir
Mise en ligne et mise hors ligne de périphériques dans un pool de stockage
Mise hors ligne d'un périphérique
Mise en ligne d'un périphérique
Effacement des erreurs de périphérique de pool de stockage
Remplacement de périphériques dans un pool de stockage
Désignation des disques hot spare dans le pool de stockage
Activation et désactivation de disques hot spare dans le pool de stockage
Gestion des propriétés de pool de stockage ZFS
Requête d'état de pool de stockage ZFS
Affichage des informations des pools de stockage ZFS
Affichage des informations concernant tous les pools de stockage ou un pool spécifique
Affichage des périphériques de pool par emplacement physique
Affichage de statistiques spécifiques à un pool de stockage
Script de sortie du pool de stockage ZFS
Affichage de l'historique des commandes du pool de stockage ZFS
Visualisation des statistiques d'E/S des pools de stockage ZFS
Liste des statistiques d'E/S à l'échelle du pool
Liste des statistiques d'E/S des périphériques virtuels
Détermination de l'état de maintenance des pools de stockage ZFS
Etat de maintenance de base de pool de stockage
Collecte des informations sur l'état du pool de stockage ZFS
Migration de pools de stockage ZFS
Préparatifs de migration de pool de stockage ZFS
Exportation d'un pool de stockage ZFS
Définition des pools de stockage disponibles pour importation
Importation de pools de stockage ZFS à partir d'autres répertoires
Importation de pools de stockage ZFS
Importation d'un pool avec un périphérique de journalisation manquant
Importation d'un pool en mode lecture seule
Mise à niveau de pools de stockage ZFS
4. Gestion des composants du pool root ZFS
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. Archivage des instantanés et récupération du pool root
12. Pratiques recommandées pour Oracle Solaris ZFS
Parfois, il est possible que vous deviez déplacer un pool de stockage d'un système à l'autre. Pour ce faire, les périphériques de stockage doivent être déconnectés du système d'origine et reconnectés au système de destination. Pour accomplir cette tâche, vous pouvez raccorder physiquement les périphériques ou utiliser des périphériques multiport, par exemple les périphériques d'un SAN. Le système de fichiers ZFS permet d'exporter le pool à partir d'un système et de l'importer sur le système de destination, même si l'endianisme de l'architecture des systèmes est différente. Pour plus d'informations sur la réplication ou la migration de systèmes de fichiers d'un pool de stockage à un autre résidant éventuellement sur des systèmes différents, reportez-vous à la section Envoi et réception de données ZFS.
Définition des pools de stockage disponibles pour importation
Importation de pools de stockage ZFS à partir d'autres répertoires
Il est conseillé d'exporter les pools de stockage explicitement afin d'indiquer qu'ils sont prêts à la migration. Cette opération vide toute donnée non écrite sur le disque, écrit les données sur le disque en indiquant que l'exportation a été effectuée et supprime toute information sur le pool du système.
Si vous retirez les disques manuellement, au lieu d'exporter le pool explicitement, vous pouvez toujours importer le pool résultant dans un autre système. Cependant, vous pourriez perdre les dernières secondes de transactions de données et le pool s'affichera alors comme UNAVAIL sur le système d'origine dans la mesure où les périphériques ne sont plus présents. Par défaut, le système de destination refuse d'importer un pool qui n'a pas été exporté implicitement. Cette condition est nécessaire car elle évite les importations accidentelles d'un pool actif composé de stockage connecté au réseau toujours en cours d'utilisation sur un autre système.
La commande zpool export permet d'exporter un pool. Par exemple :
# zpool export tank
La commande tente de démonter tout système de fichiers démonté au sein du pool avant de continuer. Si le démontage d'un des systèmes de fichiers est impossible, vous pouvez le forcer à l'aide de l'option -f. Par exemple :
# zpool export tank cannot unmount '/export/home/eric': Device busy # zpool export -f tank
Une fois la commande exécutée, le pool tank n'est plus visible sur le système.
Si les périphériques ne sont pas disponibles lors de l'export, les périphériques ne peuvent pas être identifiés comme étant exportés sans défaut. Si un de ces périphériques est connecté ultérieurement à un système sans aucun des périphériques en mode de fonctionnement, il s'affiche comme étant "potentiellement actif".
Si des volumes ZFS sont utilisés dans le pool, ce dernier ne peut pas être exporté, même avec l'option -f. Pour exporter un pool contenant un volume ZFS, vérifiez au préalable que tous les utilisateurs du volume ne sont plus actifs.
Pour plus d'informations sur les volumes ZFS, reportez-vous à la section Volumes ZFS.
Une fois le pool supprimé du système (soit par le biais d'une exportation explicite, soit par le biais d'une suppression forcée des périphériques), vous pouvez connecter les périphériques au système cible. Le système de fichiers ZFS peut gérer des situations dans lesquelles seuls certains périphériques sont disponibles. Cependant, pour migrer correctement un pool, les périphériques doivent fonctionner correctement. En outre, il n'est pas nécessaire que les périphériques soient connectés sous le même nom de périphérique. ZFS détecte tout périphérique déplacé ou renommé et ajuste la configuration de façon adéquate. Pour connaître les pools disponibles, exécutez la commande zpool import sans option. Par exemple :
# zpool import pool: tank id: 11809215114195894163 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: tank ONLINE mirror-0 ONLINE c1t0d0 ONLINE c1t1d0 ONLINE
Dans cet exemple, le pool tank est disponible pour être importé dans le système cible. Chaque pool est identifié par un nom et un identifiant numérique unique. Si plusieurs pools à importer portent le même nom, vous pouvez utiliser leur identifiant numérique afin de les distinguer.
Tout comme la sortie de la commande zpool status, la sortie de la commande zpool import se rapporte à un article de connaissances contenant les informations les plus récentes sur les procédures de réparation pour les problèmes qui empêchent l'importation d'un pool. Dans ce cas, l'utilisateur peut forcer l'importation du pool. Cependant, l'importation d'un pool en cours d'utilisation par un autre système au sein d'un réseau de stockage peut entraîner une altération des données et des erreurs graves si les deux systèmes tentent d'écrire dans le même stockage. Si certains périphériques dans le pool ne sont pas disponibles, mais que des données redondantes suffisantes sont disponibles pour obtenir un pool utilisable, le pool s'affiche dans l'état DEGRADED. Par exemple :
# zpool import pool: tank id: 4715259469716913940 state: DEGRADED status: One or more devices are unavailable. action: The pool can be imported despite missing or damaged devices. The fault tolerance of the pool may be compromised if imported. config: tank DEGRADED mirror-0 DEGRADED c0t5000C500335E106Bd0 ONLINE c0t5000C500335FC3E7d0 UNAVAIL cannot open device details: c0t5000C500335FC3E7d0 UNAVAIL cannot open status: ZFS detected errors on this device. The device was missing.
Dans cet exemple, le premier disque est endommagé ou manquant, mais il est toujours possible d'importer le pool car les données mises en miroir restent accessibles. Si le nombre de périphériques non disponibles est trop important, l'importation du pool est impossible.
Dans cet exemple, deux disques manquent dans un périphérique virtuel RAID-Z, ce qui signifie que les données redondantes disponibles ne sont pas suffisantes pour reconstruire le pool. Dans certains cas, les périphériques présents ne sont pas suffisants pour déterminer la configuration complète. Dans ce cas, ZFS ne peut pas déterminer quels autres périphériques faisaient partie du pool, mais fournit autant d'informations que possible sur la situation. Par exemple :
# zpool import pool: mothership id: 3702878663042245922 state: UNAVAIL status: One or more devices are unavailable. action: The pool cannot be imported due to unavailable devices or data. config: mothership UNAVAIL insufficient replicas raidz1-0 UNAVAIL insufficient replicas c8t0d0 UNAVAIL cannot open c8t1d0 UNAVAIL cannot open c8t2d0 ONLINE c8t3d0 ONLINE device details: c8t0d0 UNAVAIL cannot open status: ZFS detected errors on this device. The device was missing. c8t1d0 UNAVAIL cannot open status: ZFS detected errors on this device. The device was missing.
Par défaut, la commande zpool import ne recherche les périphériques que dans le répertoire /dev/dsk. Si les périphériques existent dans un autre répertoire, ou si vous utilisez des pools sauvegardés dans des fichiers, utilisez l'option -d pour effectuer des recherches dans d'autres répertoires. Par exemple :
# zpool create dozer mirror /file/a /file/b # zpool export dozer # zpool import -d /file pool: dozer id: 7318163511366751416 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: dozer ONLINE mirror-0 ONLINE /file/a ONLINE /file/b ONLINE # zpool import -d /file dozer
Si les périphériques se trouvent dans plusieurs répertoires, vous pouvez utiliser plusieurs options - d.
Une fois le pool identifié pour l'importation, vous pouvez l'importer en spécifiant son nom ou son identifiant numérique en tant qu'argument pour la commande zpool import. Par exemple :
# zpool import tank
Si plusieurs pools disponibles possèdent le même nom, vous devez spécifier le pool à importer à l'aide de l'identifiant numérique. Par exemple :
# zpool import pool: dozer id: 2704475622193776801 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: dozer ONLINE c1t9d0 ONLINE pool: dozer id: 6223921996155991199 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: dozer ONLINE c1t8d0 ONLINE # zpool import dozer cannot import 'dozer': more than one matching pool import by numeric ID instead # zpool import 6223921996155991199
Si le nom du pool est en conflit avec un nom de pool existant, vous pouvez importer le pool sous un nom différent. Par exemple :
# zpool import dozer zeepool
Cette commande importe le pool dozer exporté sous le nouveau nom zeepool. Le nouveau nom de pool est persistant.
Si l'exportation du pool ne s'effectue pas correctement, l'indicateur -f est requis par ZFS pour empêcher les utilisateurs d'importer par erreur un pool en cours d'utilisation dans un autre système. Par exemple :
# zpool import dozer cannot import 'dozer': pool may be in use on another system use '-f' to import anyway # zpool import -f dozer
Remarque - N'essayez pas d'importer un pool actif sur un seul système vers un autre système. ZFS n'est pas un systèmes de fichiers de cluster natifs, distribués ou parallèles et ne peut pas fournir d'accès simultané à plusieurs hôtes différents.
Les pools peuvent également être importés sous un root de remplacement à l'aide de l'option -R. Pour plus d'informations sur les pools root de remplacement, reportez-vous à la section Utilisation de pools root ZFS de remplacement.
Par défaut, un pool avec un périphérique de journalisation manquant ne peut pas être importé. Vous pouvez utiliser la commande zpool import -m pour forcer l'importation d'un pool avec un périphérique de journalisation manquant. Par exemple :
# zpool import dozer pool: dozer id: 16216589278751424645 state: UNAVAIL status: One or more devices are missing from the system. action: The pool cannot be imported. Attach the missing devices and try again. see: http://support.oracle.com/msg/ZFS-8000-6X config: dozer UNAVAIL missing device mirror-0 ONLINE c8t0d0 ONLINE c8t1d0 ONLINE device details: missing-1 UNAVAIL corrupted data status: ZFS detected errors on this device. The device has bad label or disk contents. Additional devices are known to be part of this pool, though their exact configuration cannot be determined.
Importez le pool avec le périphérique de journalisation manquant. Par exemple :
# zpool import -m dozer # zpool status dozer pool: dozer state: DEGRADED status: One or more devices are unavailable in response to persistent errors. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or 'fmadm repaired', or replace the device with 'zpool replace'. Run 'zpool status -v' to see device specific details. scan: none requested config: NAME STATE READ WRITE CKSUM dozer DEGRADED 0 0 0 mirror-0 ONLINE 0 0 0 c8t0d0 ONLINE 0 0 0 c8t1d0 ONLINE 0 0 0 logs 2189413556875979854 UNAVAIL 0 0 0 errors: No known data errors
Après avoir connecté le périphérique de journalisation manquant, exécutez la commande zpool clear pour effacer les erreurs du pool.
Une récupération similaire peut être tentée avec des périphériques de journalisation mis en miroir manquant. Par exemple :
Après avoir connecté les périphériques de journalisation manquant, exécutez la commande zpool clear pour effacer les erreurs du pool.
Vous pouvez importer un pool en mode lecture seule. Si un pool est tellement endommagé qu'il ne peut pas être accessible, cette fonction peut vous permettre de récupérer les données du pool. Par exemple :
# zpool import -o readonly=on tank # zpool scrub tank cannot scrub tank: pool is read-only
Lorsqu'un pool est importé en mode lecture seule, les conditions suivantes s'appliquent :
Tous les systèmes de fichiers et les volumes sont montés en mode lecture seule.
Le traitement de la transaction du pool est désactivé. Cela signifie également que les écritures synchrones en attente dans le journal de tentatives ne sont pas lues jusqu'à ce que le pool soit importé en lecture-écriture.
Les tentatives de définition d'une propriété de pool au cours de l'importation en lecture seule ne sont pas prises en compte.
Un pool en lecture seule peut être redéfini en mode lecture-écriture via l'exportation et l'importation du pool. Par exemple :
# zpool export tank # zpool import tank # zpool scrub tank
La commande suivante permet d'importer le pool dpool en identifiant l'un des périphériques spécifiques du pool, /dev/dsk/c2t3d0, dans cet exemple.
# zpool import -d /dev/dsk/c2t3d0s0 dpool # zpool status dpool pool: dpool state: ONLINE scan: resilvered 952K in 0h0m with 0 errors on Fri Jun 29 16:22:06 2012 config: NAME STATE READ WRITE CKSUM dpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t3d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0
Même si ce pool est composé de disques entiers, la commande doit inclure l'identificateur de tranche du périphérique concerné.
La commande zpool import -D permet de récupérer un pool de stockage détruit. Par exemple :
# zpool destroy tank # zpool import -D pool: tank id: 5154272182900538157 state: ONLINE (DESTROYED) action: The pool can be imported using its name or numeric identifier. config: tank ONLINE mirror-0 ONLINE c1t0d0 ONLINE c1t1d0 ONLINE
Dans la sortie de zpool import, vous pouvez identifier le pool tank comme étant le pool détruit en raison des informations d'état suivantes :
state: ONLINE (DESTROYED)
Pour récupérer le pool détruit, exécutez la commande zpool import -D à nouveau avec le pool à récupérer. Par exemple :
# zpool import -D tank # zpool status tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE mirror-0 ONLINE c1t0d0 ONLINE c1t1d0 ONLINE errors: No known data errors
Même si l'un des périphériques du pool détruit est indisponible, vous devriez être en mesure de récupérer le pool détruit en incluant l'option -f. Dans ce cas, importez le pool défaillant et tentez ensuite de réparer la défaillance du périphérique. Par exemple :
# zpool destroy dozer # zpool import -D pool: dozer id: 4107023015970708695 state: DEGRADED (DESTROYED) status: One or more devices are unavailable. action: The pool can be imported despite missing or damaged devices. The fault tolerance of the pool may be compromised if imported. config: dozer DEGRADED raidz2-0 DEGRADED c8t0d0 ONLINE c8t1d0 ONLINE c8t2d0 ONLINE c8t3d0 UNAVAIL cannot open c8t4d0 ONLINE device details: c8t3d0 UNAVAIL cannot open status: ZFS detected errors on this device. The device was missing. # zpool import -Df dozer # zpool status -x pool: dozer state: DEGRADED status: One or more devices are unavailable in response to persistent errors. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or 'fmadm repaired', or replace the device with 'zpool replace'. Run 'zpool status -v' to see device specific details. scan: none requested config: NAME STATE READ WRITE CKSUM dozer DEGRADED 0 0 0 raidz2-0 DEGRADED 0 0 0 c8t0d0 ONLINE 0 0 0 c8t1d0 ONLINE 0 0 0 c8t2d0 ONLINE 0 0 0 4881130428504041127 UNAVAIL 0 0 0 c8t4d0 ONLINE 0 0 0 errors: No known data errors # zpool online dozer c8t4d0 # zpool status -x all pools are healthy