JavaScript is required to for searching.
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)
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.  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 root 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 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

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

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

A.  Descriptions des versions d'Oracle Solaris ZFS

Index

Gestion de périphériques dans un pool de stockage ZFS

Vous trouverez la plupart des informations de base concernant les périphériques dans la section Composants d'un pool de stockage ZFS. Après la création d'un pool, vous pouvez effectuer plusieurs tâches de gestion des périphériques physiques au sein du pool.

Ajout de périphériques à un pool de stockage

Vous pouvez ajouter de l'espace disque à un pool de façon dynamique, en ajoutant un périphérique virtuel de niveau supérieur. Cet espace disque est disponible immédiatement pour l'ensemble des jeux de données du pool. Pour ajouter un périphérique virtuel à un pool, utilisez la commande zpool add. Par exemple :

# zpool add zeepool mirror c2t1d0 c2t2d0

Le format de spécification des périphériques virtuels est le même que pour la commande zpool create. Une vérification des périphériques est effectuée afin de déterminer s'ils sont en cours d'utilisation et la commande ne peut pas modifier le niveau de redondance sans l'option -f. La commande prend également en charge l'option -n, ce qui permet d'effectuer un test. Par exemple :

# zpool add -n zeepool mirror c3t1d0 c3t2d0
would update 'zeepool' to the following configuration:
      zeepool
        mirror
            c1t0d0
            c1t1d0
        mirror
            c2t1d0
            c2t2d0
        mirror
            c3t1d0
            c3t2d0

Cette syntaxe de commande ajouterait les périphériques en miroir c3t1d0 et c3t2d0 à la configuration existante du pool zeepool.

Pour plus d'informations sur la validation des périphériques virtuels, reportez-vous à la section Détection des périphériques utilisés.

Exemple 3-1 Ajout de disques à une configuration ZFS mise en miroir

Dans l'exemple suivant, un autre miroir est ajouté à une configuration ZFS mise en miroir existante.

# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors
# zpool add tank mirror c0t3d0 c1t3d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
          mirror-2  ONLINE       0     0     0
            c0t3d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0

errors: No known data errors

Exemple 3-2 Ajout de disques à une configuration RAID-Z

De la même façon, vous pouvez ajouter des disques supplémentaires à une configuration RAID-Z. L'exemple suivant illustre la conversion d'un pool de stockage avec un périphérique RAID–Z composé de trois disques en pool de stockage avec deux périphériques RAID-Z composés de trois disques chacun.

# zpool status rzpool
  pool: rzpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rzpool      ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
            c1t4d0  ONLINE       0     0     0

errors: No known data errors
# zpool add rzpool raidz c2t2d0 c2t3d0 c2t4d0
# zpool status rzpool
  pool: rzpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rzpool      ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
          raidz1-1  ONLINE       0     0     0
            c2t2d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0
            c2t4d0  ONLINE       0     0     0

errors: No known data errors

Exemple 3-3 Ajout et suppression d'un périphérique de journalisation mis en miroir

L'exemple suivant indique comment ajouter un périphérique de journalisation mis en miroir dans un pool de stockage mis en miroir.

# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0

errors: No known data errors
# zpool add newpool log mirror c0t6d0 c0t7d0
# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0
        logs
          mirror-1  ONLINE       0     0     0
            c0t6d0  ONLINE       0     0     0
            c0t7d0  ONLINE       0     0     0

errors: No known data errors

Vous pouvez connecter un périphérique de journalisation à un périphérique de journalisation 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.

Vous pouvez supprimer les périphériques de journalisation en utilisant la commande zpool remove. Le périphérique de journalisation mis en miroir dans l'exemple précédent peut être supprimé en spécifiant l'argument miroir-1. Par exemple :

# zpool remove newpool mirror-1
# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0

errors: No known data errors

Si votre configuration de pool contient un seul périphérique de journalisation, supprimez-le en saisissant le nom du périphérique. Par exemple :

# zpool status pool
  pool: pool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        pool        ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c0t8d0  ONLINE       0     0     0
            c0t9d0  ONLINE       0     0     0
        logs
          c0t10d0   ONLINE       0     0     0

errors: No known data errors
# zpool remove pool c0t10d0

Exemple 3-4 Ajout et suppression des périphériques de cache

Vous pouvez ajouter des périphériques de cache à votre pool de stockage ZFS et les supprimer s'ils ne sont plus nécessaires.

Utilisez la commande zpool add pour ajouter des périphériques de cache. Par exemple :

# zpool add tank cache c2t5d0 c2t8d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0
        cache
          c2t5d0    ONLINE       0     0     0
          c2t8d0    ONLINE       0     0     0

errors: No known data errors

Les périphériques de cache ne peuvent pas être mis en miroir ou faire partie d'une configuration RAID-Z.

Utilisez la commande zpool remove pour supprimer des périphériques de cache. Par exemple :

# zpool remove tank c2t5d0 c2t8d0
# zpool status tank
 pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0

errors: No known data errors

Actuellement, la commande zpool remove prend uniquement en charge la suppression des disques hot spare, des périphériques de journalisation et des périphériques de cache. Les périphériques faisant partie de la configuration de pool mis en miroir principale peuvent être supprimés à l'aide de la commande zpool detach. Les périphériques non redondants et RAID-Z ne peuvent pas être supprimés d'un pool.

Pour plus d'informations sur l'utilisation des périphériques de cache dans un pool de stockage ZFS, reportez-vous à la section Création d'un pool de stockage ZFS avec des périphériques de cache.

Connexion et séparation de périphériques dans un pool de stockage

Outre la commande zpool add, vous pouvez utiliser la commande zpool attach pour ajouter un périphérique à un périphérique existant, en miroir ou non.

Si vous connectez un disque pour créer un pool root mis en miroir, reportez-vous à la section Configuration d'un pool root mis en miroir (SPARC ou x86/VTOC).

Si vous remplacez un disque dans le pool root ZFS, reportez-vous à la section Remplacement d'un disque dans un pool root ZFS (SPARC ou x86/VTOC).

Exemple 3-5 Conversion d'un pool de stockage bidirectionnel mis en miroir en un pool de stockage tridirectionnel mis en miroir

Dans cet exemple, zeepool est un miroir bidirectionnel. Il est converti en un miroir tridirectionnel via la connexion de c2t1d0, le nouveau périphérique, au périphérique existant, c1t1d0.

# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0

errors: No known data errors
# zpool attach zeepool c1t1d0 c2t1d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Jan  8 12:59:20 2010
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0  592K resilvered

errors: No known data errors

Si le périphérique existant fait partie d'un miroir tridirectionnel, la connexion d'un nouveau périphérique crée un miroir quadridirectionnel, et ainsi de suite. Dans tous les cas, la réargenture du nouveau périphérique commence immédiatement.

Exemple 3-6 Conversion d'un pool de stockage ZFS non redondant en pool de stockage ZFS en miroir

En outre, vous pouvez convertir un pool de stockage non redondant en pool de stockage redondant à l'aide de la commande zpool attach. Par exemple :

# zpool create tank c0t1d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:
        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c0t1d0    ONLINE       0     0     0

errors: No known data errors
# zpool attach tank c0t1d0 c1t1d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Jan  8 14:28:23 2010
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0  73.5K resilvered

errors: No known data errors

Vous pouvez utiliser la commande zpool detach pour séparer un périphérique d'un pool de stockage mis en miroir. Par exemple :

# zpool detach zeepool c2t1d0

Cependant, en l'absence de répliques de données valides, cette opération échoue. Par exemple :

# zpool detach newpool c1t2d0
cannot detach c1t2d0: only applicable to mirror and replacing vdevs

Création d'un pool par scission d'un pool de stockage ZFS mis en miroir

Un pool de stockage ZFS mis en miroir peut être rapidement cloné en tant que pool de sauvegarde à l'aide de la commande zpool split. Vous pouvez utiliser cette fonctionnalité pour scinder un pool root mis en miroir. Toutefois, le pool qui a été séparé n'est pas amorçable tant que vous n'avez pas suivi des étapes supplémentaires.

Vous pouvez utiliser la commande zpool split pour déconnecter un ou plusieurs disques à partir d'un pool de stockage ZFS mis en miroir afin de créer un pool de stockage avec l'un des disques déconnectés. Le nouveau pool contiendra les mêmes données que le pool de stockage ZFS d'origine mis en miroir.

Par défaut, une opération zpool split sur un pool mis en miroir déconnecte le dernier disque du nouveau pool. Une fois l'opération de scission terminée, importez le nouveau pool. Par exemple :

# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors
# zpool split tank tank2
# zpool import tank2
# zpool status tank tank2
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c1t0d0    ONLINE       0     0     0

errors: No known data errors

  pool: tank2
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank2       ONLINE       0     0     0
          c1t2d0    ONLINE       0     0     0

errors: No known data errors

Vous pouvez identifier le disque à utiliser par le nouveau pool en le définissant avec la commande zpool split. Par exemple :

# zpool split tank tank2 c1t0d0

Avant l'opération de scission, les données de la mémoire sont vidées vers les disques mis en miroir. Une fois les données vidées, le disque est déconnecté du pool et reçoit un nouveau GUID de pool. Un pool GUID est généré pour que le pool puisse être importé sur le même système que celui sur lequel il a été scindé.

Si le pool à scinder possède des points de montage de système de fichiers autres que celui par défaut et si le nouveau pool est créé sur le même système, utilisez l'option zpool split -R pour identifier un autre répertoire root pour le nouveau pool afin d'éviter tout conflit entre les points de montage existants. Par exemple :

# zpool split -R /tank2 tank tank2

Si vous n'utilisez pas l'option zpool split -R et si des points de montage entrent en conflit lorsque vous tentez d'importer le nouveau pool, importez celui-ci à l'aide de l'option -R. Si le nouveau pool est créé sur un autre système, il n'est pas nécessaire de spécifier un autre répertoire root, sauf en cas de conflits entre les points de montage.

Avant d'utiliser la fonctionnalité zpool split, veuillez prendre en compte les points suivants :

Exemple 3-7 Scission d'un pool ZFS mis en miroir

Dans l'exemple suivant, un pool de stockage mis en miroir, nommé mothership avec trois disques, est séparé. Les deux pools obtenus sont le pool mis en miroir mothership, avec deux disques, et le nouveau pool luna , avec un disque. Chaque pool contient les mêmes données.

Le pool luna peut être importé dans un autre système à des fins de sauvegarde. Une fois la sauvegarde terminée, le pool luna peut être détruit et rattaché à mothership. Le processus peut ensuite être répété.

# zpool status mothership
  pool: mothership
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        mothership                 ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0

errors: No known data errors
# zpool split mothership luna
# zpool import luna 
# zpool status mothership luna
  pool: luna
 state: ONLINE
  scan: none requested
config:

        NAME                     STATE     READ WRITE CKSUM
        luna                     ONLINE       0     0     0
          c0t5000C500335F907Fd0  ONLINE       0     0     0

errors: No known data errors

  pool: mothership
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        mothership                 ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0

errors: No known data errors

Mise en ligne et mise hors ligne de périphériques dans un pool de stockage

ZFS permet la mise en ligne ou hors ligne de périphériques. Lorsque le matériel n'est pas fiable ou fonctionne mal, ZFS continue de lire ou d'écrire les données dans le périphérique en partant du principe que le problème est temporaire. Dans le cas contraire, vous pouvez indiquer à ZFS d'ignorer le périphérique en le mettant hors ligne. Le système de fichiers ZFS n'envoie aucune demande à un périphérique déconnecté.


Remarque - Il est inutile de mettre les périphériques hors ligne pour les remplacer.


Mise hors ligne d'un périphérique

La commande zpool offline permet de mettre un périphérique hors ligne. Vous pouvez spécifier le périphérique via son chemin ou via son nom abrégé s'il s'agit d'un disque. Par exemple :

# zpool offline tank c0t5000C500335F95E3d0

Lors de la déconnexion d'un périphérique, veuillez prendre en compte les points suivants :

Les périphériques mis hors ligne s'affichent dans l'état OFFLINE en cas de requête de l'état de pool. Pour obtenir des informations sur les requêtes d'état de pool, reportez-vous à la section Requête d'état de pool de stockage ZFS.

Pour plus d'informations sur la maintenance des périphériques, reportez-vous à la section Détermination de l'état de maintenance des pools de stockage ZFS.

Mise en ligne d'un périphérique

Lorsqu'un périphérique est mis hors ligne, il peut être restauré grâce à la commande zpool online. Par exemple :

# zpool online tank c0t5000C500335F95E3d0

Lorsqu'un périphérique est mis en ligne, toute donnée écrite dans le pool est resynchronisée sur le périphérique nouvellement disponible. Notez que vous ne pouvez pas mettre en ligne un périphérique pour remplacer un disque. Si vous mettez un périphérique hors ligne, le remplacez, puis tentez de le mettre en ligne, son état reste UNAVAIL .

Si vous tentez de mettre un périphérique UNAVAIL en ligne, un message similaire au suivant s'affiche :

Vous pouvez également afficher les messages de disques erronés dans la console ou les messages enregistrés dans le fichier /var/adm/messages. Par exemple :

SUNW-MSG-ID: ZFS-8000-LR, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Wed Jun 20 11:35:26 MDT 2012
PLATFORM: ORCL,SPARC-T3-4, CSN: 1120BDRCCD, HOSTNAME: tardis
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: fb6699c8-6bfb-eefa-88bb-81479182e3b7
DESC: ZFS device 'id1,sd@n5000c500335dc60f/a' in pool 'pond' failed to open.
AUTO-RESPONSE: An attempt will be made to activate a hot spare if available.
IMPACT: Fault tolerance of the pool may be compromised.
REC-ACTION: Use 'fmadm faulty' to provide a more detailed view of this event. 
Run 'zpool status -lx' for more information. Please refer to the associated 
reference document at http://support.oracle.com/msg/ZFS-8000-LR for the latest 
service procedures and policies regarding this diagnosis.

Pour obtenir des informations sur le remplacement d'un périphérique défaillant, reportez-vous à la section Réparation d'un périphérique manquant.

Vous pouvez utiliser la commande zpool online -e pour étendre un LUN. Par défaut, un LUN ajouté à un pool n'est pas étendu à sa taille maximale, à moins que la propriété autoexpand du pool ne soit activée. Vous pouvez étendre automatiquement le LUN à l'aide de la commande zpool online -e, même si le LUN est déjà en ligne ou s'il est actuellement hors ligne. Par exemple :

# zpool online -e tank c0t5000C500335F95E3d0

Effacement des erreurs de périphérique de pool de stockage

Si un périphérique est mis hors ligne en raison d'une défaillance qui entraîne l'affichage d'erreurs dans la sortie zpool status, la commande zpool clear permet d'effacer les nombres d'erreurs.

Si elle est spécifiée sans argument, cette commande efface toutes les erreurs de périphérique dans le pool. Par exemple :

# zpool clear tank

Si un ou plusieurs périphériques sont spécifiés, cette commande n'efface que les erreurs associées aux périphériques spécifiés. Par exemple :

# zpool clear tank c0t5000C500335F95E3d0

Pour plus d'informations sur l'effacement d'erreurs de zpool reportez-vous à la section Suppression des erreurs transitoires.

Remplacement de périphériques dans un pool de stockage

Vous pouvez remplacer un périphérique dans un pool de stockage à l'aide de la commande zpool replace.

Pour remplacer physiquement un périphérique par un autre, en conservant le même emplacement dans le pool redondant, il vous suffit alors d'identifier le périphérique remplacé. Sur certains matériels, ZFS reconnaît que le périphérique est un disque différent au même emplacement. Par exemple, pour remplacer un disque défaillant (c1t1d0), supprimez-le, puis ajoutez le disque de rechange au même emplacement en respectant la syntaxe suivante :

# zpool replace tank c1t1d0

Si vous remplacez un périphérique dans un pool de stockage par un disque dans un autre emplacement physique, vous devez spécifier les deux périphériques. Par exemple :

# zpool replace tank c1t1d0 c1t2d0

Si vous remplacez un disque dans le pool root ZFS, reportez-vous à la section Remplacement d'un disque dans un pool root ZFS (SPARC ou x86/VTOC).

Voici les étapes de base pour remplacer un disque :

  1. Le cas échéant, mettez le disque hors ligne à l'aide de la commande zpool offline.

  2. Enlevez le disque à remplacer.

  3. Insérez le disque de remplacement.

  4. Consultez la sortie de format pour déterminer si le disque de remplacement est visible.

    Vérifiez également si l'ID du périphérique a changé. Si le disque de remplacement a un nom universel, alors l'ID de périphérique du disque défaillant a changé.

  5. Indiquez au système ZFS que le disque a été remplacé. Par exemple :

    # zpool replace tank c1t1d0

    Si le disque de remplacement a un ID de périphérique différent, incluez ce dernier.

    # zpool replace tank c0t5000C500335FC3E7d0 c0t5000C500335BA8C3d0
  6. Remettez le disque en ligne à l'aide de la commande zpool online, si nécessaire.

  7. Informez FMA du remplacement du périphérique.

    Dans la sortie fmadm faulty, identifiez la chaîne zfs://pool=name/vdev=guid dans la section Affects: et attribuez-la comme argument à la commande fmadm repaired.

    # fmadm faulty
    # fmadm repaired zfs://pool=name/vdev=guid

Sur certains systèmes avec des disques SATA, vous devez annuler la configuration d'un disque avant de pouvoir mettre hors ligne. Si vous remplacez un disque dans le même emplacement sur ce système, vous pouvez exécuter la commande zpool replace comme décrit dans le premier exemple de cette section.

Pour consulter un exemple de remplacement d'un disque SATA, reportez-vous à l'Exemple 10-1.

Lorsque vous remplacez des périphériques dans un pool de stockage ZFS, veuillez prendre en compte les points suivants :

Pour plus d'informations sur le remplacement de périphériques, reportez-vous aux sections Réparation d'un périphérique manquant et Remplacement ou réparation d'un périphérique endommagé .

Désignation des disques hot spare dans le pool de stockage

La fonction de disques hot spare permet d'identifier les disques utilisables pour remplacer un périphérique défaillant dans un pool de stockage. Un périphérique désigné en tant que disque hot spare n'est pas actif dans un pool, mais en cas d'échec d'un périphérique actif du pool, le disque hot spare le remplace automatiquement

Pour désigner des périphériques en tant que disques hot spare, vous avez le choix entre les méthodes suivantes :

L'exemple suivant explique comment désigner des périphériques en tant que disques hot spare lorsque le pool est créé :

# zpool create zeepool mirror c0t5000C500335F95E3d0 c0t5000C500335F907Fd0 
mirror c0t5000C500335BD117d0 c0t5000C500335DC60Fd0 spare c0t5000C500335E106Bd0 c0t5000C500335FC3E7d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   
          c0t5000C500335FC3E7d0    AVAIL   

errors: No known data errors

L'exemple suivant explique comment désigner des disques hot spare en les ajoutant à un pool après la création du pool :

# zpool add zeepool spare c0t5000C500335E106Bd0 c0t5000C500335FC3E7d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   
          c0t5000C500335FC3E7d0    AVAIL   

errors: No known data errors

Vous pouvez supprimer les disques hot spare d'un pool de stockage à l'aide de la commande zpool remove. Par exemple :

# zpool remove zeepool c0t5000C500335FC3E7d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   

errors: No known data errors

Vous ne pouvez pas supprimer un disque hot spare si ce dernier est actuellement utilisé par un pool de stockage.

Lorsque vous utilisez des disques hot spare ZFS, veuillez prendre en compte les points suivants :

Activation et désactivation de disques hot spare dans le pool de stockage

Les disques hot spare s'activent des façons suivantes :

Tout périphérique UNAVAIL est remplacé automatiquement si un disque hot spare est disponible. Par exemple :

# zpool status -x
  pool: zeepool
 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: resilvered 3.15G in 0h0m with 0 errors on Thu Jun 21 16:46:19 2012
config:

        NAME                         STATE     READ WRITE CKSUM
        zeepool                      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
            spare-1                  DEGRADED   449     0     0
              c0t5000C500335DC60Fd0  UNAVAIL      0     0     0
              c0t5000C500335E106Bd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0      INUSE   

errors: No known data errors

Vous pouvez actuellement désactiver un disque hot spare en recourant à l'une des méthodes suivantes :

Exemple 3-8 Déconnexion d'un disque hot spare après le remplacement du disque défectueux

Dans cet exemple, le disque défectueux (c0t5000C500335DC60Fd0) est remplacé physiquement et ZFS est averti à l'aide de la commande zpool replace.

# zpool replace zeepool c0t5000C500335DC60Fd0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: resilvered 3.15G in 0h0m with 0 errors on Thu Jun 21 16:53:43 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   

Si nécessaire, vous pouvez ensuite utiliser la commande zpool detach pour retourner le disque hot spare au pool de disques hot spare. Par exemple :

# zpool detach zeepool c0t5000C500335E106Bd0

Exemple 3-9 Déconnexion d'un disque défectueux et utilisation d'un disque hot spare

Si vous souhaitez remplacer un disque défectueux par un swap temporaire ou permanent dans le disque hot spare qui le remplace actuellement, vous devez déconnecter le disque d'origine (défectueux). Si le disque défectueux finit par être remplacé, vous pouvez l'ajouter de nouveau au groupe de stockage en tant que disque hot spare. Par exemple :

# zpool status zeepool
  pool: zeepool
 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: scrub in progress since Thu Jun 21 17:01:49 2012
    1.07G scanned out of 6.29G at 220M/s, 0h0m to go
    0 repaired, 17.05% done
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    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  UNAVAIL      0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   

errors: No known data errors
# zpool detach zeepool c0t5000C500335DC60Fd0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: resilvered 3.15G in 0h0m with 0 errors on Thu Jun 21 17:02:35 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335E106Bd0  ONLINE       0     0     0

errors: No known data errors
(Original failed disk c0t5000C500335DC60Fd0 is physically replaced)
# zpool add zeepool spare c0t5000C500335DC60Fd0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: resilvered 3.15G in 0h0m with 0 errors on Thu Jun 21 17:02:35 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335E106Bd0  ONLINE       0     0     0
        spares
          c0t5000C500335DC60Fd0    AVAIL   

errors: No known data errors

Une fois qu'un disque est remplacé et que le remplacement est détaché, informez FMA que le disque est réparé.

# fmadm faulty
# fmadm repaired zfs://pool=name/vdev=guid