Eu tinha um pool ZFS - um espelho contendo 2 vdevs - rodando em um servidor FreeBSD. Agora tenho apenas um dos discos do espelho e estou tentando recuperar arquivos dele.
Os dados do ZFS ficam em uma partição GPT no disco.
Quando tento importar o pool, não há sinal de que ele exista. Eu tentei várias abordagens, mas nada acontece.
Eu corri zdb -lu
na partição, e parece encontrar os rótulos muito bem.
# 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
Informações da partição:
# 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
Etiqueta 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
(Outras etiquetas são cópias exatas)
Há uma discussão sobre um problema de som semelhante nesse tópico antigo . Tentei executar a labelfix
ferramenta de Jeff Bonwick (com atualizações deste post ), mas isso não pareceu resolver o problema.
Alguma ideia?
filesystems
freebsd
zfs
squidpickles
fonte
fonte
-d
e-D
, sem sucesso.Respostas:
para referência futura, simplesmente fazer zpool import -a (procurará por todos), geralmente ajuda também quando um zpool / zfs fs não é reconhecido.
fonte
Do comentário (do pôster de abertura):
fonte
De alguma forma, estraguei minha configuração do ZFS. Infelizmente, não me lembro exatamente do que fiz (troquei algum hardware, por isso errei; não seja como eu!), Mas isso funcionou para mim. Estou usando o XigmaNAS (nas4free) e todos os comandos abaixo são emitidos via terminal.
Alguma memória vaga sobre o que eu fiz (e não fiz):
Sintomas:
da1
. Isso é informação suficiente que eu preciso antes de ir para o terminal.No terminal, aqui estão algumas tentativas de comandos e resultados.
zpool import -a
dizno pool available to import
zpool status
dizno pools available
(idioma quebrado? lol.)gpart list -a
Não mostrada1
gpart list da1
dizgpart: no such geom: da1
zpool list
dizno pools available
glabel list -a
não mostra nenhuma piscina emda1
zdb -l /dev/da1
é capaz de imprimir as duas etiquetasda1
, para que meu disco não esteja mortozpool import -D
diz que o poolda1
está destruído e pode ser importadoSolução:
Run
zpool import -D -f (poolname)
resolveu o problema.fonte