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

Определение статуса работоспособности пулов устройств хранения данных ZFS

В ZFS предусмотрены методы проверки работоспособности устройства и пула. Работоспособность пула определяется на основе состояния всех его устройств. Эта информация о состоянии отображается с помощью команды zpool status. Кроме того, для выявления потенциальных сбоев пула и устройств используется команда fmd, и они отображаются в системной консоли и в файле /var/adm/messages. В этом разделе описывается процедура определения работоспособности пула и устройства. Способы устранения сбоев или восстановления неработоспособных пулов здесь не рассматриваются. Дополнительно об устранении неполадок и восстановлении данных см. Глава 11Поиск и устранение сбоев и восстановление данных в ZFS.

Каждое устройство может находиться в одном из следующих состояний:

ONLINE

Устройство находится в нормальном рабочем состоянии. Несмотря на возможность возникновения некоторых временных ошибок, устройство исправно.

DEGRADED

Произошел сбой виртуального устройства, однако оно по-прежнему функционирует. Это состояние является наиболее распространенным при потере связи между зеркалом или устройством RAID-Z и одним или несколькими составными устройствами. Отказоустойчивость пула может быть подвергнута риску, т. к. следующий сбой в каком-либо другом устройстве может оказаться неисправимым.

FAULTED

Виртуальное устройство полностью недоступно. Это состояние обычно указывает на полный сбой устройства, в результате которого ZFS не может обмениваться данными с этим устройством. Если виртуальное устройство верхнего уровня находится в этом состоянии, то весь пул становится недоступным.

OFFLINE

Виртуальное устройство было явно переведено администратором в автономный режим.

UNAVAILABLE

Доступ к устройству или виртуальному устройству невозможен. В некоторых случаях пулы с устройствами в состоянии UNAVAILABLE отображаются в режиме DEGRADED. Если виртуальное устройство верхнего уровня недоступно, то также недоступны все элементы пула.

REMOVED

Устройство было физически удалено во время работы системы. Обнаружение удаления устройств является аппаратной функцией и может не поддерживаться на некоторых платформах.

Работоспособность пула определяется на основе работоспособности всех виртуальных устройств верхнего уровня. Если все виртуальные устройства находятся в состоянии ONLINE, то пул также находится в состоянии ONLINE. Если какое-либо из виртуальных устройств находится в состоянии DEGRADED или UNAVAILABLE, то пул также находится в состоянии DEGRADED. Если виртуальное устройство верхнего уровня находится в состоянии FAULTED или OFFLINE, то пул также находится в состоянии FAULTED. Пул в состоянии FAULTED полностью недоступен. Восстановление данных без подключения или исправления требуемых устройств невозможно. Пул в состоянии DEGRADED продолжает функционировать, но обеспечение того же уровня избыточности данных или пропускной способности, что и при состоянии ONLINE, невозможно.

Базовая информация о работоспособности пула устройств хранения данных

Наиболее простым способом получения краткого обзора статуса работоспособности пула является команда zpool status:


# zpool status -x
all pools are healthy

Для проверки определенных пулов в команде необходимо указать имя пула. Любой пул, не находящийся в состоянии ONLINE, должен быть проверен на наличие потенциальных проблем, как описано в следующем разделе.

Подробная информация о работоспособности

Для запроса более подробных данных по работоспособности используется параметр -v. Пример:


# zpool status -v tank
  pool: tank
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist 
        for the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-2Q
 scrub: none requested
config:

        NAME                STATE     READ WRITE CKSUM
        tank                DEGRADED     0     0     0
          mirror            DEGRADED     0     0     0
            c1t0d0          FAULTED      0     0     0  cannot open
            c1t1d0          ONLINE       0     0     0
errors: No known data errors

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

В приведенном выше примере неисправное устройство требуется заменить. После замены устройства для его перевода обратно в оперативный режим используется команда zpool online. Пример:


# zpool online tank c1t0d0
Bringing device c1t0d0 online
# zpool status -x
all pools are healthy

Если пул содержит устройство в автономном режиме, то этот проблемный пул будет указан в выходных данных команды. Пример:


# zpool status -x
  pool: tank
 state: DEGRADED
status: One or more devices has been taken offline by the adminstrator.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Online the device using 'zpool online' or replace the device with
        'zpool replace'.
 scrub: none requested
config:

        NAME         STATE     READ WRITE CKSUM
        tank         DEGRADED     0     0     0
          mirror     DEGRADED     0     0     0
             c1t0d0  ONLINE       0     0     0
             c1t1d0  OFFLINE      0     0     0

errors: No known data errors

Столбцы READ и WRITE содержат количество ошибок ввода/вывода, зарегистрированных для устройства, тогда как столбец CKSUM содержит количество неисправимых ошибок контрольной суммы, возникших в устройстве. Оба эти счетчика ошибок определяют вероятность сбоя устройства и необходимость корректировочных действий. При обнаружении ненулевых счетчиков ошибок для виртуального устройства верхнего уровня часть данных может оказаться недоступной. Счетчик ошибок учитывает все известные ошибки в данных.

В приведенном выше примере выходных данных устройство в автономном режиме не приводит к возникновению ошибок в данных.

Для получения дополнительной информации о диагностике и восстановлении неисправных пулов и данных см. Глава 11Поиск и устранение сбоев и восстановление данных в ZFS.