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

Невозможно импортировать Zpool

Мы столкнулись с отказом одного из наших файловых серверов Solaris / ZFS. H / w не загружается, нас не так беспокоит сервер, но данные ценны. Мы вынули набор из 8 дисков в пуле raidz2 и подключили их к другой машине Solaris. Массив был распознан, и данные оставались неизменными в течение 6 часов, но через 6 часов пул стал недоступен в середине. Мы включили и снова включили машину, но безуспешно.

Буду признателен, если вы поможете нам восстановить данные.

С **zpool import* command получаем следующую ошибку:

zpool import
  pool: p1z2
    id: 16004911417686972288
state: UNAVAIL
status: One or more devices are unavailable.
action: The pool cannot be imported due to unavailable devices or data.
        The pool may be active on another system, but can be imported using the '-f' flag.
config:
        p1z2                       UNAVAIL  corrupted data
          raidz2-0                 DEGRADED
            c0t5000C500959EC8DFd0  UNAVAIL  cannot open
            c0t5001B4D04D00A816d0  ONLINE
            c0t5001B4D04D1E6803d0  ONLINE
            c0t5000C50083375403d0  UNAVAIL  cannot open
            c0t5001B4D04D1F0807d0  ONLINE
            c0t5001B4D04D101812d0  ONLINE
            c0t5001B4D04D101817d0  ONLINE
            c0t5001B4D04D233806d0  ONLINE

device details:
        c0t5000C500959EC8DFd0    UNAVAIL          cannot open
        status: ZFS detected errors on this device.
                The device was missing.
        c0t5000C50083375403d0    UNAVAIL          cannot open
        status: ZFS detected errors on this device.
                The device was missing.

iostat -en

  ---- errors ---
  s/w h/w trn tot device
    0   0   0   0 c0t5001B444A4E76FA2d0
    0   0   0   0 c0t5001B4D04D090800d0
    0   0   0   0 c0t5001B4D04D08D801d0
    0   0   0   0 c0t5001B4D04D233802d0
    0   0   0   0 c0t5001B4D04D1E6803d0
    0   0   0   0 c0t5001B4D04D080804d0
    0   0   0   0 c0t5001B4D04D101805d0
    0   0   0   0 c0t5001B4D04D233806d0
    0   0   0   0 c0t5001B4D04D1F0807d0
    0   0   0   0 c0t5001B4D04D080810d0
    0   0   0   0 c0t5001B4D04D080811d0
    0   0   0   0 c0t5001B4D04D101812d0
    0   0   0   0 c0t5001B4D04D00B813d0
    0   0   0   0 c0t5001B4D04D080814d0
    0   0   0   0 c0t5001B4D04D1E6815d0
    0   0   0   0 c0t5001B4D04D00A816d0
    0   0   0   0 c0t5001B4D04D101817d0

Я бы не стал отвечать, не зная больше о состоянии вашего бассейна. Я рекомендую запустить утилиту отладки ZFS для пула. Он должен предоставить дополнительную информацию, которая может помочь определить, почему хост отказывается импортировать деградированный пул (хотя он сообщает вам, что данные повреждены, вы все равно можете перемотать назад к точке, где вы сможете восстановить).

Отказ от ответственности: zdb - это, по сути, инструмент внутренней поддержки службы технической поддержки Oracle. Использование его различных вариантов без понимания их эффекта может усугубить ситуацию.

В приведенном ниже примере параметр «-e» указывает ему работать с пулом, который в настоящее время не импортирован.

zdb -e p1z2 | tee /tmp/zdb.log

Обратите внимание, это может занять долго, долго, долго время запуска зависит от размера вашего пула и его загрузки. Я только что столкнул это с здоровый-но экспортированный пул 1,4 ТБ, который я использую с моей системой Solaris 10U10 (+ последние исправления ЦП). Этот пул на 79% занят данными, а zdb - по-прежнему выполнение контрольных сумм метаданных через 40 минут (а мой рабочий день подошел к концу, так что я не задерживаюсь, чтобы увидеть финиш). Вывод может быть огромным, поэтому я предлагаю вам записать его в файл с помощью tee.