Gestion des systèmes de fichiers ZFS dans Oracle®Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Décembre 2014
 
 

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 n'est pas un périphérique actif du pool, mais quand un périphérique actif dans un pool échoue, 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 :

  • lors de la création du pool à l'aide de la commande zpool create ;

  • après la création du pool à l'aide de la commande zpool create.

L'exemple suivant illustre 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 :

  • Actuellement, la commande zpool remove ne peut être utilisée que pour la suppression de disques hot spare, de périphériques de journalisation et de périphériques de cache.

  • Pour ajouter un disque en tant que disque hot spare, la taille du disque hot spare doit être égale ou supérieure à la taille du plus grand disque du pool. L'ajout d'un disque de rechange plus petit dans le pool est autorisé. Toutefois, lorsque le plus petit disque de rechange est activé, automatiquement ou via la commande zpool replace, l'opération échoue et une erreur du type suivant s'affiche :

    cannot replace disk3 with disk4: device is too small
  • Vous ne pouvez pas partager un disque de rechange entre plusieurs systèmes.

    Vous ne pouvez pas configurer plusieurs systèmes de manière à ce qu'ils partagent un disque de rechange, même si ce disque apparaît comme accessible aux systèmes concernés. Si un disque est configuré pour être partagé par plusieurs pools, il faut que ces pools soient contrôlés par un système unique.

  • Tenez compte du fait que si vous partagez un disque de rechange entre deux pools de données sur le même système, vous devez coordonner l'utilisation du disque de rechange entre les deux pools. Par exemple, le pool A utilise le disque de rechange et est exporté. Sans le savoir, le pool B peut utiliser le disque de rechange lors de l'exportation du pool A. Lorsque le pool A est importé, une altération des données peut se produire car les deux pools utilisent le même disque. Par conséquent, soyez attentif à ces situations marginales où des problèmes peuvent se poser pour les pools dans certaines circonstances et ce, même si un disque de rechange est partagé par plusieurs pools.

  • Ne partagez pas un disque hot spare entre un pool root et un pool de données.

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

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

  • Remplacement manuel : remplacez un périphérique défaillant dans un pool de stockage par un disque hot spare à l'aide de la commande zpool replace.

  • Remplacement automatique : en cas de détection d'une défaillance, un agent FMA examine le pool pour déterminer s'il y a des disques hot spare. Dans ce cas, le périphérique défaillant est remplacé par un disque hot spare disponible.

    En cas de défaillance d'un disque hot spare en cours d'utilisation, l'agent FMA sépare le disque hot spare et annule ainsi le remplacement. L'agent tente ensuite de remplacer le périphérique par un autre disque hot spare s'il y en a un de disponible. Cette fonction est actuellement limitée par le fait que le moteur de diagnostics ZFS ne génère des défaillances qu'en cas de disparition d'un périphérique du système.

    Si vous remplacez physiquement un périphérique défaillant par un disque spare actif, vous pouvez réactiver le périphérique original en utilisant la commande zpool detach pour déconnecter le disque spare. Si vous définissez la propriété de pool autoreplace sur on, le disque spare est automatiquement déconnecté et retourne au pool de disques spare lorsque le nouveau périphérique est inséré et que l'opération en ligne s'achève.

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                       ONLINE       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 :

  • Suppression du disque hot spare du pool de stockage.

  • Déconnexion du disque hot spare après avoir remplacé physiquement un disque défectueux. Reportez-vous à l'Example 3–8.

  • Remplacement temporaire ou permanent par un autre disque hot spare. Reportez-vous à la section Example 3–9.

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                       ONLINE       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                   DEGRADED     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                   DEGRADED     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