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?
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.
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.
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):
Symptômes:
da1
. C'est assez d'informations dont j'ai besoin avant d'aller au terminal.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 mortzpool import -D
Dit que la piscine sur da1
Est détruite et peut être capable d'importerSolution:
Run zpool import -D -f (poolname)
a résolu le problème.