J'avais un pool ZFS - un miroir contenant 2 vdev - fonctionnant sur un serveur FreeBSD. J'ai maintenant seulement un des disques du miroir, et j'essaye d'en récupérer des fichiers.
Les données ZFS se trouvent dans une partition GPT sur le disque.
Lorsque j'essaie d'importer le pool, il n'y a aucun signe qu'il existe. 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 sur la partition:
# 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
(Les autres étiquettes sont des copies exactes)
Il y a une discussion sur un problème de son similaire dans ce vieux fil . J'ai essayé d'exécuter l' labelfix
outil de Jeff Bonwick (avec les mises à jour de ce post ), mais cela ne semble pas résoudre le problème.
Des idées?
la source
-d
et-D
, en vain.Réponses:
pour référence future, le simple fait d'importer zpool -a (recherchera tout), aide généralement aussi quand un zpool / zfs fs n'est pas reconnu.
la source
Extrait du commentaire (de l'affiche d'ouverture):
la source
J'ai en quelque sorte bousillé ma configuration ZFS. Malheureusement, je ne me souviens pas exactement de ce que j'ai fait (j'ai changé du matériel alors j'ai foiré; ne soyez pas comme moi!), Mais cela a fonctionné pour moi. J'utilise XigmaNAS (nas4free) et toutes les commandes ci-dessous sont émises via le terminal.
Un vague souvenir de ce que j'ai fait (et je n'ai 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
ditno pool available to import
zpool status
ditno pools available
(langue cassée? lol.)gpart list -a
ne montre pasda1
gpart list da1
ditgpart: no such geom: da1
zpool list
ditno pools available
glabel list -a
ne montre aucun pool dansda1
zdb -l /dev/da1
est capable d'imprimer les deux étiquettesda1
, donc mon disque n'est pas mortzpool import -D
indique que le poolda1
est détruit et peut être importéSolution:
Run a
zpool import -D -f (poolname)
résolu le problème.la source