Імпорт ZFS не вдається знайти жоден пул


11

У мене був пул ZFS - дзеркало, яке містить 2 vdevs - працює на сервері FreeBSD. Зараз у мене є лише один диск з дзеркала, і я намагаюся відновити файли з нього.

Дані ZFS розташовані в розділі GPT на диску.

Коли я намагаюся імпортувати басейн, немає ознак того, що він взагалі існує. Я спробував ряд підходів, але нічого не відбувається.

Я біг zdb -luна розділ, і, здається, мітки знаходять просто чудово.

# 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

Інформація про розділ:

# 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

Мітка 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

(Інші етикетки - точні копії)

У цій старій темі йде обговорення подібної звукової проблеми . Я спробував запустити labelfixінструмент Джеффа Бонвіка (з оновленнями з цієї публікації ), але це, схоже, не вирішило проблему.

Будь-які ідеї?


2
Привід відмежовувався від дзеркала, а не розбивався. Здається, це було причиною проблеми. Решта дзеркала, на жаль, не існує.
кальмари

1
Я не знаю, що це правильний форум для цього, тому що "відповідь" на питання містить багато спроб та помилок. Поки спробуйте "zpool import -d </ dev / path / to / disk>". -D перелічує зруйновані пули, -d бере аргумент розташування диска для перегляду, і його можна вказати кілька разів у командному рядку (але у вашому випадку вам знадобиться лише один раз, як у вас є, але один диск) . Подивіться, що це робить.
Nex7

1
Ви можете мати рацію з приводу того, що це не правильний форум. І так, я спробував з -dі -Dваріантів, але безрезультатно.
кальмари

1
Якщо ви спробували з -d <шлях до диска, включаючи розділ>, і він не з’явився, спробуйте все ще раз, але на ілюмінаційній ОС. Якщо це все ще не видно, я не маю ідеї. Вам може знадобитися залучити експерта з відновлення даних, якщо дані мають грошову цінність, або почніть дивитись на код (src.illumos.org), перебуваючи на похідній іллоса і dtrace'ing команди імпорту zpool, щоб побачити, який шлях він проходить, і спробувати щоб зрозуміти, чому він не бачить ваш басейн.
Nex7

2
@GrahamPerrin Я в кінцевому підсумку змусив його працювати. Я редагував джерела ZFS на моїй установці FreeBSD і робив їх обхід усіх перевірок правильності. Після відключення достатньої кількості цих даних мені вдалося завезти пул. Хтось, мабуть, обійшов мої власні перевірки на здоровий стан ...
squidpickles

Відповіді:


6

для подальшої довідки, просто робити імпорт zpool -a (шукатиме всіх), як правило, також допомагає, коли zpool / zfs fs не розпізнається.


Я навіть бачу міну в кеш-пам'яті, але намагаюся це не працювати. Я створюю резервну копію файлу кешу, намагаюся з ним і без нього, а також примушувати його тощо. Також переглядаю, що запропонував Грем.
Брайан Томас

4

З коментаря (з вступного афіші):

Я редагував джерела ZFS на моїй установці FreeBSD і робив їх обхід усіх перевірок правильності. Після відключення достатньої кількості цих даних мені вдалося завезти пул.


1

Я якось накрутив свою конфігурацію ZFS. На жаль, я не пригадую, що саме я робив (я міняв частину обладнання, щоб я заплутався; не будьте схожими на мене!), Але це працювало для мене. Я використовую XigmaNAS (nas4free), і всі команди нижче подаються через термінал.

Дещо невиразна пам'ять про те, що я робив (а що не робив):

  • Не експортували жодного пулу
  • Можливо, видалили (знищили) басейн

Симптоми:

  1. У веб-графічному інтерфейсі диск можна автоматично імпортувати і розпізнавати як zpool (неформатований або UFS тощо)
  2. Однак розділ GUI ZFS не може виявити zpool. Тому я не можу імпортувати пул, просто натискаючи кнопки. Примусовий імпорт також не працював.
  3. SMART інформація про цей диск виглядає все добре в графічному інтерфейсі. Я не думаю, що диск фізично пошкоджений.
  4. У розділі Інформація про графічний інтерфейс відображено диск як da1. Це достатня інформація, яка мені потрібна перед тим, як перейти до терміналу.
  5. Попередження для інших користувачів: Якщо у вас виникли проблеми з GUI, негайно припиніть будь-які руйнівні дії. Наприклад, створити новий vdev або спробувати з іншими форматами диска. Перейдіть до терміналу.
  6. У терміналі наведено кілька спроб команд та результатів.

    • zpool import -a каже no pool available to import
    • zpool statusкаже no pools available(ламана мова? lol.)
    • gpart list -a не показує da1
    • gpart list da1 каже gpart: no such geom: da1
    • zpool list каже no pools available
    • glabel list -a не показує жодного басейну в da1
    • zdb -l /dev/da1може надрукувати дві мітки da1, тому мій диск не вмер
    • zpool import -Dговорить, що пул на da1знищений і може бути імпортований

Рішення:

Виконати zpool import -D -f (poolname)вирішив питання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.