Восстановление пула ZFS с ошибками при импорте

Восстановление пула ZFS с ошибками при импорте

У меня есть машина, у которой были проблемы с плохой оперативной памятью. После того, как я провел диагностику и удалил проблемную планку оперативной памяти, пул ZFS на машине пытался получить доступ к дискам, используя неправильные имена устройств. Я просто экспортировал пул и повторно импортировал его, чтобы исправить это. Однако теперь я получаю эту ошибку.

Пул Storage больше не монтируется автоматически

sqeaky@sqeaky-media-server:/$ sudo zpool status
no pools available

Обычный импорт говорит, что он коррумпирован

sqeaky@sqeaky-media-server:/$ sudo zpool import
  pool: Storage
    id: 13247750448079582452
 state: UNAVAIL
status: The pool is formatted using an older on-disk version.
action: The pool cannot be imported due to damaged devices or data.
config:

    Storage                 UNAVAIL  insufficient replicas
      raidz1                UNAVAIL  corrupted data
        805066522130738790  ONLINE
        sdd3                ONLINE
        sda3                ONLINE
        sdc                 ONLINE

Конкретный импорт сообщает, что конфигурация vdev недействительна

sqeaky@sqeaky-media-server:/$ sudo zpool import Storage
cannot import 'Storage': invalid vdev configuration

Невозможно перевести диск в автономный режим или отсоединить его, поскольку пул не может быть запущен/импортирован.

sqeaky@sqeaky-media-server:/$ sudo zpool offline Storage 805066522130738790
cannot open 'Storage': no such pool
sqeaky@sqeaky-media-server:/$ sudo zpool detach Storage 805066522130738790
cannot open 'Storage': no such pool

Невозможно принудительно импортировать

sqeaky@sqeaky-media-server:/$ sudo zpool import -f Storage 
cannot import 'Storage': invalid vdev configuration

В моем пуле ZFS должно быть 4 устройства:

/dev/sda3
/dev/sdd3
/dev/sdc
/dev/sdb

Я понятия не имею, что такое 805066522130738790, но я планирую провести дальнейшее расследование. Я также пытаюсь выяснить, как использовать zdb, чтобы получить больше информации о том, что, по мнению пула, происходит.

Для справки: Это было настроено таким образом, потому что на момент настройки этой машины/пула требовались определенные функции Linux, а загрузка с ZFS еще не поддерживалась в Linux. Разделы sda1 и sdd1 находятся в raid 1 для операционной системы, а sdd2 и sda2 находятся в raid1 для подкачки.

Есть ли какие-нибудь подсказки, как восстановить этот пул ZFS?

Редактировать - Обновление статуса Я выяснил, что такое 805066522130738790. Это какой-то guid, который ZFS не смогла использовать для идентификации /dev/sdb. Когда я физически удаляю /dev/sdb, пул монтируется и подключается. Но я все еще не могу поменять диски. Думаю, я сделаю резервную копию файлов на внешнем носителе, а затем снесу весь пул, потому что он слишком поврежден, чтобы продолжать функционировать. Мне просто нужно было иметь хорошие резервные копии с самого начала...

решение1

Похоже, вы используете ZFS на FUSE? Я бы в любом случае не ожидал, что это будет хоть сколько-нибудь стабильно.

Я бы отключил странный диск, затем снова добавил его и посмотрел, поможет ли это. Вы также можете попробовать принудительно импортировать пул. http://docs.huihoo.com/opensolaris/solaris-zfs-administration-guide/html/ch04s04.html

решение2

Если вам нужна реальная помощь по отладке, перейдите в список zfs-discuss:

http://mail.opensolaris.org/mailman/listinfo/zfs-discuss http://opensolaris.org/jive/forum.jspa?forumID=80

(Тот же список, просто разные интерфейсы.)

Связанный контент