Перейти к содержанию

Отладка GFS2

Примечание

Все IP-адреса, подсети, номера VLAN и наименования интерфейсов являются примерами. Необходимо производить настройку в соответствии с инфраструктурой.


Проверка состояния ФС

Проверка состояния ФС GFS2 производится с помощью команд CLI:

Указанные ниже команды можно выполнять групповым запросом, используя команду node nodes-cli <command>.

  • Вывод состояния кластерного транспорта, кворума и службы блокировок.

    Вывод не должен содержать ошибок.

    storage gfs2
    
    Вывод команды storage gfs2

    img

  • Конфигурация службы блокировок DLM:

    storage dlm-conf
    
    Эталонный вывод команды storage dlm-conf

    img

  • Вывод файла hosts для сопоставления узлов с именем узла.

    hosts
    
    Вывод команды hosts

    img

    На всех узлах, объединенных в Кластерный транспорт, в файле hosts должны быть внесены описания "ip имя узла” всех задействованных узлов Кластерного транспорта как трафика управления, так и трафика кластерного транспорта.

  • Вывод информации о подключенных и доступных LUNs:

    storage multipath
    
    Вывод команды storage multipath

    img

  • Получение таргетов iSCSI:

    storage iscsi-discovery <ip_address:port>
    
    Вывод команды storage iscsi-discovery

    img

  • Вывод доступных iSCSI LUNs:

    storage iscsi-luns
    
    Вывод команды storage iscsi-luns

    img

  • Сканирование доступных ФС и блочных хранилищ:

    storage discovery
    
    Вывод команды storage discovery

    img


Проверка состояния служб

Для проверки состояния служб, связанных с работой GFS2, необходимо перейти в командную строку подсистемы. Для этого следует выполнить команду CLI:

shell

Проверка служб осуществляется с помощью следующих команд:

  • Корректность запущенных служб, связанных с GFS2:

    systemctl list-units | grep open_iscsi
    
    systemctl list-units | grep corosync
    
    systemctl list-units | grep dlm
    
    systemctl list-units | grep storage
    
    Вывод команд systemctl list-units при корректно запущенных службах

    img

  • Проверка состояния служб:

    systemctl status open-iscsi.service
    
    Вывод команды systemctl status open-iscsi.service при корректно работающей службе open-iscsi

    img

    systemctl status corosync.service
    
    Вывод команды systemctl status corosync.service при корректно работающей службе corosync

    img

    systemctl status dlm.service
    
    Вывод команды systemctl status dlm.service при корректно работающей службе dlm

    img

    systemctl status storage-gfs2-gfs2_<lockspace>.mount
    
    Вывод команды systemctl status storage-gfs2-gfs2_<lockspace>.mount при корректно работающей службе storage-gfs2

    img

    В некоторых случаях значение lockspace может не совпадать c именем директории точки монтирования.

    systemctl status sbd.service
    
    Вывод команды systemctl status sbd.service при корректно работающей службе sbd

    img


Диагностика проблем и выявление инцидентов

Первичная диагностика состояния ФС GFS2 проводится в CLI с помощью команд, описанных в разделе Проверка состояния служб.

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


Возможные ошибки

Сбой в работе DLM, вызванный отсутствием/затиранием файла конфигурации.

  • Обнаружение ошибки:

    Зафиксирована ошибка в выводе команды shell:

    dmesg -T
    
    Вывод команды dmesg -T

    img

  • Причина возникновения ошибки:

    Отсутствие данных в файле конфигурации.

    Просмотр файла конфигурации

    img

  • Исправление:

    • Внести изменение в файл конфигурации /etc/dlm/dlm.conf согласно эталону.

      Эталонный вариант корректного файла конфигурации

      img

    • Перезагрузить систему.


Сбой при установлении соединения corosync и отказа на узле.

  • Обнаружение ошибки:

    • Зафиксирована ошибка в статусе corosync.service или log-файле /var/log/corosync/corosync.log.

      Вывод команды systemctl status corosync.service

      img

    • Зафиксирована ошибка в выводе команды journalctl -u corosync или journalctl --no-pager | grep corosync.

      Вывод команды journalctl -u corosync

      img

  • Диагностика ошибки на узлах:

    Информация на всех узлах должна содержать информацию обо всех узлах для корректного функционирования GFS2.

    Команда CLI:

    node nodes-cli “hosts”
    
    Вывод команды node nodes-cli “hosts”

    img

  • Причина возникновения ошибки:

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

  • Исправление:

    Внести изменение в файл /etc/hosts согласно данным, расположенным на Контроллере. Для этого следует:

    • Перейти в shell:

      shell
      
    • Открыть на редактирование файл /etc/hosts:

      nano /etc/hosts
      
    • Внести изменения.


Сбой при монтировании ФС GFS2 в результате повреждения ФС, вызванного сбоем.

Внимание

При срабатывании ограждения необходимо поочередно произвести размонтирование примонтированных ФС.

Не допускается использование кнопки Размонтировать. В случае ограждения все узлы, на которых была примонтирована ФС, будут немедленно перезагружены.

  • Обнаружение ошибки:

    • Зафиксирована ошибка на любом из узлов в выводе команды CLI:

      node node-cli “storage GFS2”
      
      Вывод команды node node-cli “storage GFS2”

      img

  • Исправление:

    • Необходимо остановить или перенести все ВМ и виртуальные диски, расположенные на данном хранилище, если сбой коснулся не всех узлов (не вызван отключением iSCSI-сервера).

    • Поочередно на каждом из узлов:

      • Остановить или перенести все ВМ и виртуальные диски, задействованные на узле на другие совместные пулы данных.

      • Удалить запись монтирования поврежденной ФС из /etc/fstab на узле.

      • Размонтировать ФС на узле (не допускается использование кнопки Размонтировать).

      • В случае, если ограждение узла не произошло, необходимо произвести перезагрузку.

    • После перезагрузки всех узлов необходимо запустить команду для исправления ФС, используя команду shell любого из узлов:

      fsck.gfs2 -y <lun_path>
      
      Пример ввода fsck.gfs2 -y
      fsck.gfs2 -y /dev/mapper/3600143801259dcf30000b00000220000
      
    • После завершения исправления ФС необходимо поочередно примонтировать ФС на узлах, используя кнопки управления, расположенные напротив серверов в разделе основного меню Хранилища - LUNs - <LUN ФС GFS2>.