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

zpool импорт с отсутствующим устройством

У меня было два гели-зашифрованных раздела на отдельном диске в zpool как простые диски (без raid *). Мне не нужна была избыточность для всех файлов, только для некоторых выбранных наборов данных (для которых я установил copy = 2).

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

# zpool import
  pool: data
    id: 9847503418894158179
 state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
        devices and try again.
   see: http://www.sun.com/msg/ZFS-8000-6X
config:

        data          UNAVAIL  missing device
          ada0p3.eli  ONLINE

        Additional devices are known to be part of this pool, though their
        exact configuration cannot be determined.

# zpool import -o readonly=on -R /mnt -f data
cannot import 'data': one or more devices is currently unavailable

Все операции, которые каким-то образом пытаются восстановить пул, требуют его импорта, и я не могу заставить его работать.

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

(работает debian / kFreeBSD 9.0, пул ZFS версии 28)

Функция ZFS set copies=2 не был разработан для устранения сбоев дисков (см. комментарии к следующим вопросам и ответам):

Проблема здесь в том, что, поскольку ваш пул состоит из отдельных дисков, ВСЕ диски должны быть исправны для импорта.

Это можно сделать только в вашем случае, восстановив (через резервную копию) отказавший диск на новый.