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

Quitter la vue de l'impression

Mis à jour : Décembre 2014
 
 

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 entre 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.


Remarque -  Vous ne pouvez pas renommer un pool directement. Vous pouvez uniquement modifier le nom d'un pool pendant son exportation et son importation.

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 à Utilisation d'un pool ZFS avec un emplacement de root 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
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 :

# 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: https://support.oracle.com/epmos/faces/KmHome?_adf.ctrl-state=10oxbvnj5n_4&_afrLoop=1145647522713
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 :

  • 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

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 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é.