Глава 43. Высокая доступность PVE
Высокая доступность является комбинацией компонентов и настроек, которые делают возможной непрерывную работу вычислительной среды на протяжении длительного времени. В основном это означает, что даже если находящееся в автоматическом режиме оборудование сервера испытывает проблемы в среде реального времени, высокая доступность (HA) может управлять оставшимися серверами самостоятельно и поддерживая виртуальную среду в рабочем состоянии автоматически перемещая или выполняя миграцию ВМ с одного узла на другой. Настроенная надлежащим образом HA требует очень незначительного реального вмешательства пользователей в случае отказа аппаратных средств. Без HA на своем месте, все узлы требуют постоянного мониторинга со стороны сетевых менеджеров чтобы вручную перемещать ВМ на жизнеспособные узлы, когда некоторые узлы испытывают проблемы.
В небольших средах перемещение вручную ВМ не является проблемой, однако в больших средах из сотен ВМ или узлов постоянный мониторинг может быть очень затратным в смысле времени. Несмотря на то, что в системе может существовать программное обеспечение мониторинга, без HA администратор будет должен вручную перемещать или выполнять миграцию любых ВМ с отказавшего узла. Это может повлечь за собой значительное время простоя. Это именно то место, где вступает в действие функциональность HA PVE. HA выводит вмешательство оператора за скобки решения, просто перемещая или выполняя миграцию ВМ как только возникает отказ оборудования сервера.
Для функционирования HA в PVE необходимо чтобы все ВМ были в общем хранилище. HA PVE обрабатывает только узлы PVE и ВМ в пределах кластера PVE. Такую функциональность HA не следует путать с избыточностью общих хранилищ, которую PVE может применять в своем развертывании HA. Высокая доступность в общем хранилище так же важна, как и высокая доступность ВМ PVE. Общие хранилища сторонних производителей могут предоставлять свою собственную функциональность HA. Таким образом, и сам кластер PVE, и общее хранилище должны быть настроены для предоставления реальной среды с высокой доступностью.
В вычислительном узле PVE могут существовать свои уровни избыточности, такие как применение RAID, дополнительные источники питания, агрегированные сетевые связи или сцепления (bond). HA в PVE не подменяет собой ни один из этих уровней. Он просто способствует использованию функций избыточности ВМ для сохранения их в рабочем состоянии при отказе какого-либо узла.
Перезагрузка узла PVE, вызванная необходимостью применения обновлений, вызовет выключение всех ВМ с включенной HA, перемещение их на следующий доступный узел PVE и их последующий повторный запуск. В подобной ситуации может оказаться необходимой миграция ВМ в реальном времени вручную до перезагрузки обновляемого узла.
43.1. Как работает высокая доступность PVE
Основной блок управления, управляемый ha-manager называется ресурсом. Ресурс (сервис) однозначно идентифицируется идентификатором сервиса (SID), который состоит из типа ресурса и идентификатора, специфичного для данного типа например, vm: 100. Этот пример ресурса типа vm (виртуальная машина) с идентификатором 100.
В случае, когда по какой-либо причине узел становится недоступным, HA PVE ожидает 60 секунд прежде чем выполнится ограждение (fencing) отказавшего узла. Ограждение предотвращает службы кластера от возврата в рабочее состояние в этом месте. Затем HA перемещает эти ВМ и контейнеры на следующий доступный узел в их группе участников HA. Даже если узел с ВМ все еще включен, но потерял связь с сетевой средой, HA PVE попытается переместить все ВМ с этого узла на другой узел.
При возврате отказавшего узла в рабочее состояние, HA не будет автоматически перемещать ВМ на первоначальный узел. Это необходимо выполнять вручную. При этом ВМ может быть перемещена вручную только если HA запрещен для такой ВМ. Поэтому сначала следует выключить HA, а затем переместить на первоначальный узел и включить HA на данной ВМ вновь.