Глава 7. Виртуализация в кластере

На базе отказоустойчивого кластера Red Hat Enterprise Linux 6 можно строить комплексные решения, объединяя его с технологией виртуализации. В этой главе обсуждаются два варианта виртуализации на основе высокодоступных решений Red Hat Enterprise Linux.
В первом случае виртуальные машины создаются на узлах отказоустойчивого кластера RHEL. Виртуальными машинами, как и другими кластерными ресурсами, будет управлять rgmanager. Во втором случае виртуальные машины сами объединяются в кластер.
  • Виртуальные машины как кластерные ресурсы
  • Кластеры виртуальных машин

7.1. Виртуальные машины как кластерные ресурсы

Red Hat High Availabilitу и RHEV предоставляют механизмы для обеспечения непрерывного доступа к виртуальным машинам, которые создаются как кластерные ресурсы. Функциональность этих решений частично дублируется, поэтому в каждом случае к выбору продукта надо подходить индивидуально. Далее обсуждаются некоторые особенности, которые помогут сделать правильный выбор.
Для физических серверов и виртуальных машин надо учесть следующее:
  • Для кластера с большим числом узлов, на базе которых планируется создать большое число виртуальных машин, RHEV сможет предложить более гибкие алгоритмы для размещения виртуальных машин в зависимости от процессорных ресурсов, памяти и уровня нагрузки сервера.
  • При наличии небольшого числа узлов, на базе которых создается ограниченное число виртуальных машин, лучше выбрать Red Hat High Availability в силу его облегченной инфраструктуры. Дело в том, что для создания даже самой простой схемы RHEV потребуется как минимум 4 узла: два узла для обеспечения непрерывного доступа к серверу RHEVM и две платформы виртуализации.
  • На самом деле, нет четких правил, предписывающих, какое именно число узлов считается достаточным для выбора RHEV. При этом следует помнить, что HA-кластер может содержать не больше 16 узлов. В любом случае, архитектура любого кластера, содержащего более 8 узлов, должна быть официально одобрена Red Hat.
Для виртуальных машин надо отметить следующее:
  • Если службы виртуальных машин обращаются к общей инфраструктуре, можно выбрать и RHEL HA, и RHEV.
  • Если необходимо обеспечить непрерывный доступ к ограниченному набору критических служб в виртуальной системе, можно выбрать и RHEL HA, и RHEV.
  • Для создания инфраструктуры, ориентированной на быструю установку виртуальных машин, лучше выбрать RHEV.
    • RHEV допускает динамическое изменение структуры кластера и облегчает добавление новых виртуальных машин.
    • Red Hat High Availability не обладает такой гибкостью — кластер создается с фиксированным числом виртуальных машин, которое не рекомендуется менять.
  • Red Hat High Availability не подходит для создания облачных схем в силу его статической конфигурации и ограниченного числа узлов (не больше 16).
RHEL 5 поддерживает две платформы виртуализации: Xen (впервые представлен в RHEL 5.0) и KVM (добавлен в RHEL 5.4).
RHEL 6 поддерживает только KVM.
Кластер RHEL 5 Advanced Platform поддерживает и Xen, и KVM.
В отказоустойчивом кластере RHEL6 в качестве гипервизора может использоваться KVM.
Далее перечислены возможные варианты развертывания виртуальных машин в кластерных схемах Red Hat.
  • На серверах RHEL 5.0+ в кластере RHEL Advanced Platform поддерживается гипервизор Xen;
  • На серверах RHEL 5.4 в кластере RHEL Advanced Platform была добавлена экспериментальная поддержка виртуальных машин KVM;
  • Версии RHEL 5.5+ полностью поддерживают виртуальные машины KVM.
  • RHEL 6.0+ позволяет настроить виртуальные машины KVM как кластерные ресурсы в RHEL 6 High Availability;
  • RHEL 6.0+ больше не поддерживает Xen, поэтому RHEL 6 High Availability тоже не будет работать с виртуальными машинами Xen.

Примечание

Подробное описание возможных комбинаций программного обеспечения в кластерных схемах можно найти в базе знаний Red Hat:
Прежде чем настроить гостевую систему как кластерный сервис, убедитесь, что она поддерживается гипервизором узла. Xen и KVM поддерживают RHEL (RHEL3, RHEL4, RHEL5) и некоторые редакции Microsoft Windows. Полный список поддерживаемых операционных систем можно найти в документации RHEL.

7.1.1. Общие рекомендации

  • До RHEL 5.3 для управления гостевыми системами Xen (domU) rgmanager использовал внутренние механизмы Xen. В RHEL 5.4 эти функции стал выполнять libvrit, предоставляя единый интерфейс для управления и Xen, и KVM. Последующие версии RHEL включают множество обновлений, поэтому прежде чем приступить к конфигурации сервисов под управлением Xen, рекомендуется обновить программное обеспечение серверов хотя бы до RHEL 5.5.
  • Полнофункциональная поддержка виртуальных машин на базе KVM была впервые добавлена в RHEL 5.5, поэтому программное обеспечение серверов надо будет обновить до RHEL 5.5.
  • Прежде чем развернуть кластер, следует установить последние обновления и исправления RHEL.
  • Виртуальные машины должны находиться под управлением одного и того же гипервизора: Xen или KVM.
  • Оборудование узла должно выдерживать повышение нагрузки, которое произойдет при переносе гостевых систем с других узлов. В этой ситуации важно не перерасходовать ресурсы виртуальных процессоров и памяти, в противном случае производительность кластера может пострадать.
  • Не следует запускать и останавливать виртуальные машины, подконтрольные rgmanager, при помощи команд xm и libvirt (virsh, virsh-manager), так как это делается в обход стека управления кластером.
  • Имена виртуальных машин должны быть уникальными в пределах кластера. Libvirtd проверяет имена отдельно на каждом узле, но не во всем кластере. Если вы собираетесь продублировать виртуальную машину вручную, не забудьте изменить имя в ее файле конфигурации.