A importação de um pool exportado no Solaris 11 falha

3

Não é possível importar um pool exportado.

Com base nas informações abaixo, posso de alguma forma importar o pool? Ou existe uma maneira de recuperar os dados da própria unidade?

Não há corrupção em nenhum dos discos.

Solaris 11.3

# zpool upgrade -v
This system is currently running ZFS pool version 37.

# zpool import
no pools available to import

Eu tentei os vários sinalizadores: -a , -d , -f ... mas ainda não consigo importar o pool.

Se eu executar # zdb -l /dev/dsk/c2d1 , ele gera ...

failed to read label 0
failed to read label 1
failed to read label 2
failed to read label 3  
------------------------------------------
LABEL 0
------------------------------------------
timestamp: 1473551773 date = Sat Sep 10 19:56:13 EDT 2016
version: 37
name: 'media_pool'
state: 1
txg: 2897535
pool_guid: 5338829418358414155
hostid: 4878442
hostname: 'solaris'
top_guid: 9706852805983701681
guid: 18084312246070035927
vdev_children: 1
vdev_tree:
    type: 'mirror'
    id: 0
    guid: 9706852805983701681
    metaslab_array: 27
    metaslab_shift: 33
    ashift: 9
    asize: 1494648619008
    is_log: 0
    create_txg: 4
    children[0]:
        type: 'disk'
        id: 0
        guid: 18084312246070035927
        path: '/dev/dsk/c2d1s0'
        devid: 'id1,cmdk@AWDC_WD1502FAEX-007BA0=_____WD-xxxxxxxxxxxx/a'
        phys_path: '/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:a'
        whole_disk: 1
        DTL: 101
        create_txg: 4
    children[1]:
        type: 'disk'
        id: 1
        guid: 14097338398603359817
        path: '/dev/dsk/c5d0s0'
        devid: 'id1,cmdk@AWDC_WD1502FAEX-007BA0=_____WD-xxxxxxxxxxxx/a'
        phys_path: '/pci@0,0/pci-ide@1f,5/ide@1/cmdk@0,0:a'
        whole_disk: 1
        DTL: 100
        create_txg: 4
------------------------------------------
LABEL 1 - CONFIG MATCHES LABEL 0
------------------------------------------
------------------------------------------
LABEL 2 - CONFIG MATCHES LABEL 0
------------------------------------------
------------------------------------------
LABEL 3 - CONFIG MATCHES LABEL 0
------------------------------------------    

informação adicional

# ls -l /dev/dsk/c2d1*  
52 Mar  7  2016 /dev/dsk/c2d1 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:wd
51 Mar  7  2016 /dev/dsk/c2d1p0 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:q
51 Mar  7  2016 /dev/dsk/c2d1p1 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:r
51 Mar  7  2016 /dev/dsk/c2d1p2 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:s
51 Mar  7  2016 /dev/dsk/c2d1p3 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:t
51 Mar  7  2016 /dev/dsk/c2d1p4 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:u
51 Mar  7  2016 /dev/dsk/c2d1s0 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:a
51 Mar  7  2016 /dev/dsk/c2d1s1 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:b
51 Mar  7  2016 /dev/dsk/c2d1s10 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:k
51 Mar  7  2016 /dev/dsk/c2d1s11 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:l
51 Mar  7  2016 /dev/dsk/c2d1s12 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:m
51 Mar  7  2016 /dev/dsk/c2d1s13 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:n
51 Mar  7  2016 /dev/dsk/c2d1s14 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:o
51 Mar  7  2016 /dev/dsk/c2d1s15 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:p
51 Mar  7  2016 /dev/dsk/c2d1s2 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:c
51 Mar  7  2016 /dev/dsk/c2d1s3 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:d
51 Mar  7  2016 /dev/dsk/c2d1s4 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:e
51 Mar  7  2016 /dev/dsk/c2d1s5 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:f
51 Mar  7  2016 /dev/dsk/c2d1s6 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:g
51 Mar  7  2016 /dev/dsk/c2d1s8 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:i
51 Mar  7  2016 /dev/dsk/c2d1s9 -> ../../devices/pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0:j

também, pode ser útil, por favor, note que eu desconectei fisicamente o segundo drive espelhado de media_pool. (a importação não funcionou com as duas unidades em um Live CD ou na instalação original).

# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c2d1 <WDC WD15-  WD-xxxxxxxxxxx-0001-1.36TB>
          /pci@0,0/pci-ide@1f,2/ide@0/cmdk@1,0
       1. c3d0 <WDC WD10-  WD-xxxxxxxxxxx-0001-931.51GB>
          /pci@0,0/pci-ide@1f,2/ide@1/cmdk@0,0
       2. c3d1 <WDC WD10-  WD-xxxxxxxxxxx-0001-931.51GB>
          /pci@0,0/pci-ide@1f,2/ide@1/cmdk@1,0

o rpool é onde reside o solaris.

NAME   SIZE  ALLOC  FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool  928G  28.3G  900G   3%  1.00x  ONLINE  -
    
por mfridman 11.09.2016 / 08:17

1 resposta

1

A resposta abaixo é uma solução alternativa. A resposta correta deve abordar por que zpool import não está importando corretamente o pool, apesar de zbd ter coletado LABEL 0, mas não estar "lendo" corretamente.

Tudo não foi perdido. Pegue uma das unidades espelhadas e coloque-a em outra máquina, inicialize a partir de um LiveCD do Solaris 11.3 (ou pelo menos uma versão do SO que tenha uma versão zfs semelhante).

zpool import media_pool foi bem-sucedido em uma caixa diferente. Agora exporte-o.
zpool export media_pool

Na máquina original, limpe o /etc/zfs/zpool.cache. Desligar. Remova a segunda unidade espelhada. Insira a unidade espelhada original (aquela exportada da etapa acima em uma caixa diferente). Reinicialize a máquina e importe o pool.

    
por 11.09.2016 / 22:32