ZFS zpool.cache

De Memento
Aller à la navigation Aller à la recherche

Le fichier /boot/zfs/zpool.cache

Le fichier /boot/zfs/zpool.cache contient en permanence la description des pools actifs du système. Lors du démarrage du système, il désigne les pools qui seront utilisés:

  • pour monter la racine du système de fichiers si celle-ci est gérée sous ZFS,
  • pour monter automatiquement, lors de l'exécution du script /etc/rc.d/zfs, les différents autres systèmes de fichiers gérés sous ZFS.

Ce fichier revêt donc une importance capitale si la racine du système de fichier est sous ZFS. En effet, dans ce cas, la commande zpool import nest pas disponible pour pouvoir importer le pool indispensable et le démarrage du système ne peut pas être effectué. Cette situation se caractérise par un message à la console semblable à:

Trying to mount root from zfs:rpool/root

Manual root filesystem specification:

    <fstype>:<device> Mount <device> using filesystem <fstype>
                      eg. ufs:da0s1a
    ?                 List valid disk boot devices
    <empty line>      Abort manual input

Il peut donc être utile de pouvoir visualiser, lors de la création des fichiers d'amorçage ou lors du diagnostic d'un problème de démarrage, le contenu du fichier zpool.cache. La commande zdb peut être utilisée à cet effet:

[root@morzine ~]# zdb -C
rpool
    version=13
    name='rpool'
    state=0
    txg=882905
    pool_guid=17669857244588609348
    hostid=4156526014
    hostname='unset'
    vdev_tree
        type='root'
        id=0
        guid=17669857244588609348
        children[0]
                type='mirror'
                id=0
                guid=3225603179255348056
                metaslab_array=23
                metaslab_shift=28
                ashift=9
                asize=51534888960
                is_log=0
                children[0]
                        type='disk'
                        id=0
                        guid=17573085726489368265
                        path='/dev/da0p2'
                        whole_disk=0
                children[1]
                        type='disk'
                        id=1
                        guid=2736169600077218893
                        path='/dev/da1p2'
                        whole_disk=0
[root@morzine ~]# 

Vu l'importance de ce fichier dans l'utilisation de ZFS, il est vivement conseiller d'en garder une copie de sécurité:

[root@morzine ~]# cp /boot/zfs/zpool.cache /boot/zfs/zpool.cache.backup
[root@morzine ~]# chflags schg /boot/zfs/zpool.cache.backup
[root@morzine ~]# 

Le contenu d'un fichier zpool.cache ne se trouvant pas à son emplacement par défaut peut aussi être visualisé par la commande zdb:

[root@morzine ~]# zdb -C -U /boot/zfs/zpool.cache.backup
rpool
    version=13
    name='rpool'
    state=0
    txg=51623
    pool_guid=17669857244588609348
    hostname='unset'
    vdev_tree
        type='root'
        id=0
        guid=17669857244588609348
        children[0]
                type='mirror'
                id=0
                guid=3225603179255348056
                metaslab_array=23
                metaslab_shift=28
                ashift=9
                asize=51534888960
                is_log=0
                children[0]
                        type='disk'
                        id=0
                        guid=17573085726489368265
                        path='/dev/da0p2'
                        whole_disk=0
                children[1]
                        type='disk'
                        id=1
                        guid=2736169600077218893
                        path='/dev/da1p2'
                        whole_disk=0
[root@morzine ~]# 

Bibliographie