Высокая доступность В Hyper-V 

Failover Cluster, который будет рассматриваться в этой статье - это компонент Windows server 2008 R2 Enterprise или Datacenter, который позволяет настраивать отказоустойчивые кластеры различных служб, в том числе, и виртуальных машин.

Высокая доступность или High Availability, обеспечивает быстрый перезапуск виртуальной машины, после выхода из строя сервера Hyper-V, на котором она была запущена. Где должна перезапуститься виртуальная машина после аварии сервера, настраивает администратор. Обычно, это один из запасных серверов Hyper-V.

Другими словами, высокая доступность защищает от аппаратных сбоев оборудования Hyper-V сервера. Это может быть сбой питания, выход из строя сетевых карт, дисков, процессоров, памяти и т.д. Но есть и частные случаи программной отказоустойчивости, когда ВМ перестают отвечать (зависают), то происходит автоматическая перезагрузка средствами Failover Cluster.

Для настройки Failover Cluster лучше всего подойдут серверы идентичной конфигурации. После того, как они станут членами кластера их можно называть нодами кластера. Процессоры в серверах могут различаться, для их совместимости в Hyper-V есть функция Processor Compatibility mode, но лучше, по возможности, этого избегать. Про настройку сети и систем хранения мы поговорим отдельно, позже.

order

Quick Migration

  1. Остановка виртуальной машины (Save, Сохранить). Естественно, виртуальная машина становится недоступной. Оперативная память виртуальной машины сохраняется в файл с расширением .vsv
  2. Регистрация виртуальной машины на другом сервер Hyper-V, по сути это просто передача прав на ВМ.
  3. Передача прав на файлы виртуальной машины, которые хранятся на системе хранения
  4. Возобновление работы виртуальной машины уже на новом сервере Hyper-V, виртуальная машина переехала

 

Live Migration:

  1. Все страницы памяти виртуальной машины переносятся с одного сервера Hyper-V на другой
  2. Страницы памяти виртуальной машины, которые успели измениться или добавиться за время первого шага, снова переносятся
  3. Файлы виртуальной машины меняют владельца
  4. Виртуальная машина регистрируется на новом сервере Hyper-V

 

Так что же выбрать Live или Quick Migration? У Live Migration почти нет простоя при переносе виртуальной машины, вся сложность в большой генерации трафика на 1-2 шаге работы, Microsoft рекомендует выделять отдельный сетевой интерфейс для такой миграции. Так же Hyper-V не умеет мигрировать больше одной виртуальной машины средствами Live Migration. Quick Migration более простой и менее требовательный, но работает с неминуемым простоем в работе виртуальной машины.

Еще одно важное понятие Quorum – кворум, одельное место на системе хранения данных, куда записывается информация для нод кластера. Основное это – какая нода в данный момент владеет виртуальной машиной и какой ноде переходит управление в случае аварии. Если администратор не создаст кворум, то функции Failover Cluster будут работать только в ручном режиме. Файловая система Quorum – NTFS.

Общее хранилище при использовании кластера

Failover Cluster может функционировать только при использовании внешнего хранилища (СХД – системы хранения данных). На нем будут храниться файлы виртуальных машин и это очень логично. Ведь если вы будете хранить их на локальных дисках сервера и он неожиданно выйдет из строя, то быстро восстановить работу не получится. Поэтому нужно разделение дисковой системы и вычислительной. Microsoft поддерживает несколько типов таких хранилищ, основные это FC (Fiber Channel –оптическое соединение) и iSCSI (Internet Small Computer System Interface). С помощью коннектора встроенного в Windows server подключается LUN с СХД. Принцип работы очень похож на подключение сетевого диска.

Clustered Shared Volumes (CSV)

Для работы Failover Cluster необходимо, чтобы несколько нод могли получить доступ к дискам виртуальных машин, которые хранятся на СХД. Чтобы осуществить это обычного NTFS недостаточно и нужно использовать дополнительный функционал CSV. Без использования CSV в Failover Cluster  один LUN на системе хранения можно будет выделить только одной виртуальной машине.

Настройка Failover Cluster 

Настройку Failover Cluster между несколькими хостами Hyper-V можно разделить на несколько простых шагов:

  1. Настройка сети
    Настройка сети заключается в разделении трафика на две сети: сеть передачи данных (между серверами и системами хранения данных) и общая сеть компании (к ней подключены виртуальные машины, компьютеры администраторов и пользователей). На картинке изображена типовая сетевая схема, рекомендуемая для совместной работы Hyper-V и Failover Cluster. Отдельные сетевые интерфейсы задействованы в сети передачи данных, отдельные в общей сети компании. Hyper-V хосты, как минимум,  должны быть подключены к Active Directoy и DNS, а при настройке должен использоваться доменный аккаунт (например, Администратор домена).
    Схема на картинке приведена без дублирования подключений и потому не отказоустойчивая, рассматривать ее как шаблон не стоит.  
  2. Установка ролей и компонентов.
    Для настройки Failover Cluster на хостах Hyper-V должны быть добавлены следующие роли и компоненты:
    Роль Hyper-V
    Компонент Failover Clustering
    Компонент Multi-Path I/O
  3. Подключение общей СХД
    Еще раз повторюсь, что СХД для работы Failover Cluster обязательный пункт, в отдельной статье я расскажу как настроить и подключить к Hyper-V систему хранения на базе FreeNAS. В результате у нас на каждом Hyper-V сервере будут подключены 2 раздела с системы хранения: кворум и раздел для хранения виртуальных машин.
  4. Проверка возможности установить кластер
    Процедура проверки запускается из оснастки управления компонентами сервера Windows 2008. Во время работы мастера будут протестированы Hyper-V хосты, а после вы получите HTML отчет с перечислением всех проведенных тестов и набором рекомендаций.
  5. Создание кластера
    Для создания кластера нужно запустит мастер, указать имя кластера, указать серверы, серверы кластера(будущие ноды). После создания вы увидите свой кластер в оснастке и сможете
  6. Включение CSV
  7. Добавление ВМ в кластер