У меня было два гели-зашифрованных раздела на отдельном диске в 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
не был разработан для устранения сбоев дисков (см. комментарии к следующим вопросам и ответам):
Проблема здесь в том, что, поскольку ваш пул состоит из отдельных дисков, ВСЕ диски должны быть исправны для импорта.
Это можно сделать только в вашем случае, восстановив (через резервную копию) отказавший диск на новый.