JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Administration d'Oracle Solaris : Systèmes de fichiers ZFS     Oracle Solaris 11 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Système de fichiers Oracle Solaris ZFS (introduction)

2.  Mise en route d'Oracle Solaris ZFS

3.  Différences entre les systèmes de fichiers Oracle Solaris ZFS et classiques

4.  Gestion des pools de stockage Oracle Solaris ZFS

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

Pool de stockage ZFS hybride

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 racine ZFS

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 défaillants

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 disque 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

Etat de maintenance détaillé

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

Importation d'un pool via le chemin d'accès au périphérique

Récupération de pools de stockage ZFS détruits

Mise à niveau de pools de stockage 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

A.  Descriptions des versions d'Oracle Solaris ZFS

Index

Migration de pools de stockage 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.

Préparatifs de migration de pool de stockage ZFS

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 étant défaillant 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.

Exportation d'un pool de stockage ZFS

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 de plus amples informations sur les volumes ZFS, reportez-vous à la section Volumes ZFS.

Définition des pools de stockage disponibles pour importation

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 corruption 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: 11809215114195894163
 state: DEGRADED
status: One or more devices are missing from the system.
action: The pool can be imported despite missing or damaged devices.  The
        fault tolerance of the pool may be compromised if imported.
   see: http://www.sun.com/msg/ZFS-8000-2Q
config:

        NAME        STATE     READ WRITE CKSUM
        tank        DEGRADED     0     0     0
          mirror-0  DEGRADED     0     0     0
            c1t0d0  UNAVAIL      0     0     0  cannot open
            c1t3d0  ONLINE       0     0     0

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 défaillants ou manquant est trop importants, l'importation du pool est impossible. Par exemple :

# zpool import
  pool: dozer
    id: 9784486589352144634
 state: FAULTED
action: The pool cannot be imported. Attach the missing
        devices and try again.
   see: http://www.sun.com/msg/ZFS-8000-6X
config:
        raidz1-0       FAULTED
          c1t0d0       ONLINE
          c1t1d0       FAULTED
          c1t2d0       ONLINE
          c1t3d0       FAULTED

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: dozer
    id: 9784486589352144634
 state: FAULTED
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://www.sun.com/msg/ZFS-8000-6X
config:
        dozer          FAULTED   missing device
          raidz1-0     ONLINE
            c1t0d0     ONLINE
            c1t1d0     ONLINE
            c1t2d0     ONLINE
            c1t3d0     ONLINE
Additional devices are known to be part of this pool, though their
exact configuration cannot be determined.

Importation de pools de stockage ZFS à partir d'autres répertoires

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.

Importation de pools de stockage ZFS

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 une racine de remplacement à l'aide de l'option -R. Pour plus d'informations sur les pools racine de remplacement, reportez-vous à la section Utilisation de pools racine ZFS de remplacement.

Importation d'un pool avec un périphérique de journalisation manquant

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
The devices below are missing, use '-m' to import the pool anyway:
            c3t3d0 [log]

cannot import 'dozer': one or more devices is currently unavailable

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 could not be opened.  Sufficient replicas exist for
        the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-2Q
 scan: scrub repaired 0 in 0h0m with 0 errors on Fri Oct 15 16:43:03 2010
config:

        NAME                    STATE     READ WRITE CKSUM
        dozer                   DEGRADED     0     0     0
          mirror-0              ONLINE       0     0     0
            c3t1d0              ONLINE       0     0     0
            c3t2d0              ONLINE       0     0     0
        logs
          14685044587769991702  UNAVAIL      0     0     0  was c3t3d0

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 :

# zpool import dozer
The devices below are missing, use '-m' to import the pool anyway:
            mirror-1 [log]
              c3t3d0
              c3t4d0

cannot import 'dozer': one or more devices is currently unavailable
# zpool import -m dozer
# zpool status dozer
  pool: dozer
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
        the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-2Q
 scan: scrub repaired 0 in 0h0m with 0 errors on Fri Oct 15 16:51:39 2010
config:

        NAME                      STATE     READ WRITE CKSUM
        dozer                     DEGRADED     0     0     0
          mirror-0                ONLINE       0     0     0
            c3t1d0                ONLINE       0     0     0
            c3t2d0                ONLINE       0     0     0
        logs
          mirror-1                UNAVAIL      0     0     0  insufficient replicas
            13514061426445294202  UNAVAIL      0     0     0  was c3t3d0
            16839344638582008929  UNAVAIL      0     0     0  was c3t4d0

Après avoir connecté les périphériques de journalisation manquant, exécutez la commande zpool clear pour effacer les erreurs du pool.

Importation d'un pool en mode lecture seule

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 :

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

Importation d'un pool via le chemin d'accès au périphérique

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 Thu Mar 10 10:28:46 2011
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é.

Récupération de pools de stockage ZFS détruits

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 défaillant ou 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: 13643595538644303788
 state: DEGRADED (DESTROYED)
status: One or more devices could not be opened.  Sufficient replicas exist for
        the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-2Q
config:

        NAME         STATE     READ WRITE CKSUM
        dozer        DEGRADED     0     0     0
          raidz2-0   DEGRADED     0     0     0
            c2t8d0   ONLINE       0     0     0
            c2t9d0   ONLINE       0     0     0
            c2t10d0  ONLINE       0     0     0
            c2t11d0  UNAVAIL      0    35     1  cannot open
            c2t12d0  ONLINE       0     0     0

errors: No known data errors
# zpool import -Df dozer
# zpool status -x
  pool: dozer
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
        the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-2Q
 scrub: scrub completed after 0h0m with 0 errors on Thu Jan 21 15:38:48 2010
config:

        NAME         STATE     READ WRITE CKSUM
        dozer        DEGRADED     0     0     0
          raidz2-0   DEGRADED     0     0     0
            c2t8d0   ONLINE       0     0     0
            c2t9d0   ONLINE       0     0     0
            c2t10d0  ONLINE       0     0     0
            c2t11d0  UNAVAIL      0    37     0  cannot open
            c2t12d0  ONLINE       0     0     0

errors: No known data errors
# zpool online dozer c2t11d0
Bringing device c2t11d0 online
# zpool status -x
all pools are healthy