web-dev-qa-db-fra.com

L'importation ZFS incapable de trouver des piscines

J'ai eu une piscine ZFS - un miroir contenant 2 VDEVS - en cours d'exécution sur un serveur FreeBSD. Je n'ai maintenant qu'un seul des disques du miroir et j'essaie de récupérer des fichiers.

Les données ZFS se situent dans une partition GPT sur le disque.

Lorsque j'essaie d'importer la piscine, il n'y a aucun signe qu'il existe du tout. J'ai essayé un certain nombre d'approches, mais rien ne se passe.

J'ai couru zdb -lu sur la partition, et il semble trouver les étiquettes très bien.

# zpool import
# zpool import -D
# zpool status
no pools available
# zpool import -f ztmp
cannot import 'ztmp': no such pool available
# zpool import 16827460747202824739
cannot import '16827460747202824739': no such pool available

Informations partitionnées:

# gpart list da0
Geom name: da0
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 3907029134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: da0p1
   Mediasize: 65536 (64K)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 17408
   Mode: r0w0e0
   rawuuid: d7a10230-8b0e-11e1-b750-f46d04227f12
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: (null)
   length: 65536
   offset: 17408
   type: freebsd-boot
   index: 1
   end: 161
   start: 34
2. Name: da0p2
   Mediasize: 17179869184 (16G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 82944
   Mode: r0w0e0
   rawuuid: d7aa40b7-8b0e-11e1-b750-f46d04227f12
   rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 17179869184
   offset: 82944
   type: freebsd-swap
   index: 2
   end: 33554593
   start: 162
3. Name: da0p3
   Mediasize: 1905891737600 (1.7T)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 82944
   Mode: r0w0e0
   rawuuid: d7b6a47e-8b0e-11e1-b750-f46d04227f12
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 1905891737600
   offset: 17179952128
   type: freebsd-zfs
   index: 3
   end: 3755999393
   start: 33554594
Consumers:
1. Name: da0
   Mediasize: 2000398934016 (1.8T)
   Sectorsize: 512
   Mode: r0w0e0

Étiquette ZFS:

--------------------------------------------
LABEL 0
--------------------------------------------
    version: 5000
    name: 'ztmp'
    state: 0
    txg: 0
    pool_guid: 16827460747202824739
    hostid: 740296715
    hostname: '#############'
    top_guid: 15350190479074972289
    guid: 3060075816835778669
    vdev_children: 1
    vdev_tree:
        type: 'mirror'
        id: 0
        guid: 15350190479074972289
        whole_disk: 0
        metaslab_array: 30
        metaslab_shift: 34
        ashift: 9
        asize: 1905887019008
        is_log: 0
        create_txg: 4
        children[0]:
            type: 'disk'
            id: 0
            guid: 3060075816835778669
            path: '/dev/gptid/d7b6a47e-8b0e-11e1-b750-f46d04227f12'
            phys_path: '/dev/gptid/d7b6a47e-8b0e-11e1-b750-f46d04227f12'
            whole_disk: 1
            DTL: 5511
            resilvering: 1
        children[1]:
            type: 'disk'
            id: 1
            guid: 3324029433529063540
            path: '/dev/gptid/396a2b11-cb16-11e1-83f4-f46d04227f12'
            phys_path: '/dev/gptid/396a2b11-cb16-11e1-83f4-f46d04227f12'
            whole_disk: 1
            DTL: 3543
            create_txg: 4
            resilvering: 1
    features_for_read:
    create_txg: 0
Uberblock[0]
    magic = 0000000000bab10c
    version = 5000
    txg = 0
    guid_sum = 1668268329223536005
    timestamp = 1361299185 UTC = Tue Feb 19 10:39:45 2013

(D'autres étiquettes sont des copies exactes)

Il y a une discussion sur un problème de résonance similaire dans ce vieux fil . J'ai essayé d'exécuter l'outil labelfix [$ Var] de Jeff Bonwick (avec des mises à jour de ce post ), mais cela ne semblait pas résoudre le problème.

Des idées?

11
squidpickles

pour une référence future, il suffit de faire Zpool Import -A (recherchera tout), vous aide généralement également à ce que ZPOOL/ZFS FS n'est pas reconnu.

6
Mal

du commentaire (de l'affiche d'ouverture):

J'ai édité les sources ZFS sur mon installation de FreeBSD et les avons fabriquées de manière à contourner tous les chèques de santé mentale. Après avoir suffisamment désactivé ceux-ci, j'ai réussi à obtenir la piscine importée.

4
Graham Perrin

Je fais de la configuration ZFS. Malheureusement, je ne me souviens pas de quoi je l'ai fait exactement (j'ai changé de matériel alors je me suis gâché; ne sois pas comme moi!), Mais cela a travaillé pour moi. J'utilise Xigmanas (Nas4Free) et toutes les commandes ci-dessous sont émises via Terminal.

Quelques souvenirs vague sur ce que j'ai fait (et n'a pas fait):

  • N'a exporté aucune piscine
  • Pourrait avoir supprimé (détruit) la piscine

Symptômes:

  1. Dans l'interface graphique Web, le disque peut être automatiquement importé et reconnu comme un zpool (pas non formaté ou UFS, etc.).
  2. Cependant, la section GUI ZFS ne peut pas détecter le zpool. Donc, je ne peux pas importer la piscine en frappant simplement les boutons. L'importation de forcer n'a pas fonctionné non plus.
  3. Les informations intelligentes à propos de ce disque sont toutes bien en GUI. Je ne pense pas que le disque soit physiquement endommagé.
  4. Dans la section Informations de l'interface graphique affiche le disque comme da1. C'est assez d'informations dont j'ai besoin avant d'aller au terminal.
  5. AVERTISSEMENT À D'AUTRES UTILISATEURS: Si vous rencontrez des problèmes avec interface graphique, arrêtez immédiatement les opérations destructrices. Comme la création d'un nouveau VDEV ou d'essayer d'autres formats de disque. Aller au terminal.
  6. Dans le terminal, voici quelques tentatives de commandes et de résultats.

    • zpool import -a Dit no pool available to import
    • zpool status Dit no pools available (Langue brisée? Lol.)
    • gpart list -a Ne montre pas da1
    • gpart list da1 Dit gpart: no such geom: da1
    • zpool list Dit no pools available
    • glabel list -a Ne montre aucune piscine dans da1
    • zdb -l /dev/da1 Est capable d'imprimer les deux étiquettes de da1, Donc mon disque n'est pas mort
    • zpool import -D Dit que la piscine sur da1 Est détruite et peut être capable d'importer

Solution:

Run zpool import -D -f (poolname) a résolu le problème.

1
Yvon