Руководство по администрированию файловых систем ZFS Solaris

Восстановление незагружаемой системы

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

В ZFS имеется внутренний кэш доступных пулов и их конфигураций в /etc/zfs/zpool.cache. Расположение и содержимое этого файла представляют собой закрытые атрибуты и могут изменяться. Если система становится незагружаемой, выполните начальную загрузку до этапа none с использованием загрузочного параметра -m milestone=none. После перехода системы в рабочий режим перемонтируйте корневую файловую систему как доступную для записи, а затем удалите или переместите файл /etc/zfs/zpool.cache в другое расположение. В результате этих действий ZFS не обнаруживает существующие в системе пулы, что позволяет предотвратить обращение к неисправному пулу, вызвавшему проблему. Затем систему можно перевести в нормальное состояние с помощью команды svcadm milestone all. При загрузке с альтернативного корня для восстановления используется аналогичный процесс.

После перехода системы в рабочий режим можно предпринять попытку импорта пула с помощью команды zpool import. Однако эта операция, вероятно, приведет к возникновению той же ошибки, что и при начальной загрузке, поскольку эта команда использует для доступа к пулам тот же механизм. Если в системе существуют несколько пулов, выполните следующее.