A partição do ZFS perdeu o UUID / PARTUUID

0

Eu tenho um NAS com um HDD de 4 TB com 2 partições: uma troca e outro ZFS. A segunda partição desapareceu do NAS e não está listada em blkid ou / dev / *. O gparted reconhece a partição como / dev / sdb2, mas não possui um UUID e, portanto, o zpool não pode importá-la.

Eu tentei clonar o início do HDD para um menor (dd para copiar os primeiros 40GB, sgdisk para copiar a tabela de partições). A segunda partição agora aparece em / dev / sdc2 e tem um UUID (o esperado), mas não possui um PARTUID. A importação de zpool agora pode reconhecer essa segunda unidade clonada, mas gera um erro de E / S quando tento importá-lo.

zdb -l / dev / sdc2 mostra 'caminho: / dev / gptid / db7d4921-d920-1le4-9dd6-00138f6f9938', que deve ser a partição PARTUID, mas blkid não mostra um PARTUID em / dev / sdc2 .

Existe alguma maneira de definir o UUID / PARTUID da partição da primeira unidade como esperado?

    
por José Rebelo 12.12.2015 / 17:55

2 respostas

1

Você pode visualizar e manipular GUIDs (o que muitas ferramentas do Linux chamam de "PARTUUIDs") com gdisk e sgdisk . Por exemplo:

$ sudo sgdisk -i 1 /dev/sde
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: C697EE49-9430-46C5-B090-0423DA7A6FFF
First sector: 40 (at 20.0 KiB)
Last sector: 409639 (at 200.0 MiB)
Partition size: 409600 sectors (200.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'EFI System Partition'

Este exemplo mostra o GUID da partição ( Partition unique GUID ) como C697EE49-9430-46C5-B090-0423DA7A6FFF. A opção i em gdisk mostra as mesmas informações. Você pode configurá-lo para um valor específico com a opção sgdisk -u , como em:

$ sudo sgdisk -u 1:BB193EE0-3544-449A-935A-41B215819992 /dev/sde

O 1: que leva o GUID é o número da partição. Você pode fazer o mesmo em gdisk usando a opção c no menu de especialistas.

    
por 12.12.2015 / 19:53
0
  1. tente importar -a. Se falhar, verifique seu arquivo de cache.

  2. Verifique se o seu arquivo zpool.cache, se você tiver um, poderá ver algum texto nele, para ver se ele contém informações sobre o seu pool. emprestando esperança aqui.

  3. Agora, veja se ele tem as informações do dispositivo para cada unidade, isso pode ajudá-lo em sua busca pelas unidades.

  4. Verifique suas tabelas de partições, verifique se estão boas, use fdisk -l e ou gdisk .

Se você os montou fracamente, você pode ter uma simples troca na reinicialização de, por exemplo, /dev/sda para p. /dev/sdb , que matará toda a matriz, até que a carta fique reta novamente. (não crie pools como este, por esse motivo) Faça backup deles (tabelas), especialmente se eles forem ruins. Você pode usar o testdisk ou permitir que o gdisk recupere a partição, permitindo que ela selecione o que acha correto.  Ao restaurar suas tabelas de partições, seu zpool.cache reconhecerá novamente sua matriz e, em seguida, poderá importá-la novamente, onde após a reinicialização da atualização das tabelas de partição, você simplesmente importará a maneira correta zpool import <poolname>

Sugestão1: (para futuros usuários) Se você tiver um conjunto de dados, nunca assuma que os dados estão em risco, o zfs é um sistema extremamente robusto e strong. Na pior das hipóteses, você pode usar um mod de desenvolvimento do zfs e desabilitar as verificações de importação, para obter seu pool importado, em casos imediatos.

Sugestão2: (para futuros cantos) Ao criar pools, tente usar o disco por id ao montar. /dev/disk-by-id/xxx

    
por 09.02.2017 / 03:47