Show Table of Contents
9.4.1. Сохранение состояния памяти
9.4. Сбой rgmanager
RGManager включает специальный процесс, осуществляющий перезагрузку узла в случае сбоя
rgmanager
. Это, в свою очередь, начнет процедуру изоляции узла и возобновит работу службы на новом узле. Остальные узлы в кластере воспримут перезагрузку узла как его выход из состава кластера.
Процесс наблюдения имеет меньший идентификатор PID и реагирует на сбои дочерних процессов с более высокими PID. Дополнительно можно сохранить состояние памяти дочернего процесса (с помощью
gcore
), что может помочь в определении причины сбоя.
Для этого надо предварительно установить необходимые пакеты и убедиться, что версии
rgmanager
и rgmanager-debuginfo
совпадают.
$ yum -y --enablerepo=rhel-debuginfo install gdb rgmanager-debuginfo
9.4.1. Сохранение состояния памяти rgmanager
При запуске
rgmanager
автоматически запускается два процесса — следует сохранить состояние процесса с более высоким PID.
Пример вывода
ps
с двумя процессами rgmanager
:
$ ps aux | grep rgmanager | grep -v grep root 22482 0.0 0.5 23544 5136 ? S<Ls Dec01 0:00 rgmanager root 22483 0.0 0.2 78372 2060 ? S<l Dec01 0:47 rgmanager
В следующем примере
pidof
определит более высокий PID. В результате выполнения приведенной команды будет сохранено состояние памяти процесса с PID 22483.
$ gcore -o /tmp/rgmanager-$(date '+%F_%s').core $(pidof -s rgmanager)