Как известно почти каждый ресурс в кластере высокой готовности имеет операцию мониторинга, которая производит опрос его состояния и докладывает — ресурс ОК или пришло время бороться за его живучесть.
В нашей разработке мы столкнулись со следующей проблемой. Поскольку пакеты pacemaker* в дистрибутиве Астры не слишком свежи, то пакет resource-agents
мы обновили изначально и …… наступили на следующие грабли, решив прикрутить более глубокий мониторинг ресурса управляющего монтированием тома GlusterFS.
Итак открываем скрипт Filesystem из пакета resource-agents
и видим такой фрагмент:
<action name="monitor" depth="0" timeout="40" interval="20">
кажется вот depth и надо добавить в instance атрибуты ресурса (так и пишут в «интернетах»), но если посмотреть чуть выше в скрипте, то обнаружится, что надо добавлять instance atrribute с именем OCF_CHECK_LEVEL. Выглядеть это должно так:
<primitive class="ocf" id="id-ресурса" provider="heartbeat" type="Filesystem"> <operations id="id-ресурса-operations"> <op id="id-ресурса-op-monitor-40" interval="40" name="monitor" on-fail="stop" timeout="40"> <instance_attributes id="id-ресурса-op-monitor-40-instance_attributes"> <nvpair id="id-ресурса-op-monitor-40-instance_attributes-OCF_CHECK_LEVEL" name="OCF_CHECK_LEVEL" value="20"/> </instance_attributes> </op> </operations> ... </primitive>
Значения value для Filesystem могут быть 0 — проверяется, что том(диск) смонтирован, 10 — тоже, что и 0 плюс проверка на чтение, 20 — тоже, что и 10 плюс проверка на запись (для этого создается файл имя которого можно изменить указав атрибут statusfile_prefix
).
Stay tuned!