Резюме
Один из моих пулов ZFS больше не может быть импортирован из-за следующего сообщения:
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
...
data1 UNAVAIL insufficient replicas
Я хотел бы понять, что означает "недостаточное количество реплик", и если есть какой-то способ безопасно восстановить его, прежде чем вытащить резервные копии и перестроить пул хранения.
Я также хотел бы понять, что вызвало это и что я могу сделать, чтобы предотвратить эту ситуацию в будущем. Я понимаю, что ZFS рулит, но, как новичок в ZFS, мне страшно, что мне нужно вытащить резервные копии для чего-то столь же безобидного, как извлечение диска из коробки.
Фон
Я недавно выключил эту коробку и вытащил SATA диск sda. Я на 99% уверен, что полностью отключил систему, прежде чем отсоединять ее от стены, но возможно, что я мог отключить питание, если выключение занимало слишком много времени.
Я полагаю, что при подключении диска обратно к тому же порту SATA на материнской плате, но возможно, что я подключил его к другому порту.
В коробке также находится старый SATA-диск PATA, на котором установлен Debian в качестве единственной операционной системы в разделе ext.
Раньше я загружался, все мои пулы импортировались и монтировались тома. На этот раз я ничего не получил.
сегодня
Когда я загрузил коробку, я был на обычном экране входа в GDM и понял, что не могу войти. Позже я обнаружил, что у меня нет домашних каталогов пользователей, поскольку они все находятся в пуле.
Из командной строки я обнаружил следующее:
# zfs list
no datasets available
# zpool list
no pools available
# zpool status
no pools available
Мои диски были доступны; fdisk выдал ожидаемый результат, и у меня были устройства /dev /sdaX и /dev /sdbX.
zpool import
дал мне интересные результаты. Другие пулы сообщили ONLINE, но тот, о котором идет речь, сообщил об этом:
pool: ...
id: ...
state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
config:
data1 UNAVAIL insufficient replicas
sda2 UNAVAIL
В этот момент я смог импортировать другие пулы, используя имя zpool import poolname
а затем увидел, что с ними все в порядке со zfs list
.
Нет, так с этим:
# zpool import data1
cannot import 'data1': one or more devices are already in use
zpool import
показал тот же результат для этого пула.
Я думал об удалении файла /etc/zfs/zpool.cache
. Я экспортировал все, а затем проверил каталог:
# zpool export -a
# ls /etc/zfs
После экспорта zpool.cache не было, поэтому я просто перезагрузился. (Я не знаю, что произойдет, если я удалил zpool.cache во время импорта пулов, поэтому я не пытался.)
Те же результаты после перезагрузки. Другие пулы в порядке, и этот не может быть импортирован.