Назад | Перейти на главную страницу

Сбой при импорте экспортированного пула в Solaris 11

Невозможно импортировать экспортированный пул.

Основываясь на приведенной ниже информации, могу ли я каким-то образом импортировать пул? Или есть способ получить данные с самого диска?

Ни на одном из дисков нет повреждений.

Solaris 11.3

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

# zpool import
no pools available to import

Я пробовал разные флаги: -a, -d, -f... но по-прежнему не может импортировать пул.

Если я сбегу # zdb -l /dev/dsk/c2d1 он выводит ...

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
------------------------------------------    

Дополнительная информация

# 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

также может быть полезно, обратите внимание, что я физически отключил второй зеркальный диск от media_pool. (импорт не работал с обоими приводами на Live CD или при исходной установке).

# 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

rpool - это место, где находится solaris.

NAME   SIZE  ALLOC  FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool  928G  28.3G  900G   3%  1.00x  ONLINE  -

Ответ ниже - это обходной путь. Правильный ответ должен указывать, почему zpool import неправильно импортирует пул, несмотря на то, что zbd принимает LABEL 0, но не «читает» его правильно.


Еще не все потеряно. Возьмите один из зеркальных дисков и вставьте его на другую машину, загрузитесь с LiveCD Solaris 11.3 (или, по крайней мере, с версией ОС, имеющей аналогичную версию zfs).

zpool import media_pool был успешным на другой коробке. Теперь экспортируйте его.
zpool export media_pool

На исходной машине очистите /etc/zfs/zpool.cache. Выключить. Снимите второй зеркальный диск. Вставьте оригинальный зеркальный диск (тот, который был экспортирован из шага выше, в другой ящик). Перезагрузите машину и импортируйте пул.