Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Технический справочник. Управление питанием

1. Введение в управление питанием и изоляцию

Среда zVirt наиболее гибкая и устойчивая, когда настроены управление питанием и изоляция. Управление питанием дает Менеджеру управления контроль над операциями циклов питания хостов, а это особенно важно для перезагрузки хостов, на которых были обнаружены проблемы. Изоляция используется, чтобы отделить проблемные хосты от функциональной среды zVirt путем их перезагрузки и тем самым предотвратить спад производительности. Изолированные хосты можно потом вернуть в состояние готовности к работе, выполнив действия от имени администратора, и повторно интегрировать их в среду.

Управление питанием и изоляция задействуют специально выделенное аппаратное обеспечение для перезагрузки хостов независимо от операционных систем хостов. Менеджер управления подключается к устройствам управления питанием, используя IP-адрес сети или имя хоста. В zVirt устройство управления питанием и устройство изоляции — это одно и то же устройство.

2. Управление питанием с прокси в zVirt

Менеджер управления не связывается с агентами изоляции напрямую. Вместо этого он использует прокси для отправки команд управления питанием на устройство управления питанием хоста. Менеджер управления использует VDSM для выполнения действий над устройством управления питанием, поэтому другой хост в среде используется в качестве изолирующего прокси.

Варианты выбора:

  • Любой хост в том же кластере, что и хост, который нужно изолировать.

  • Любой хост в том же центре данных, что и хост, который нужно изолировать.

Работоспособный изолирующий прокси-хост имеет статус либо Включен (UP) running, либо Обслуживание (Maintenance) host maintenance.

3. Управление питанием

Менеджер управления может перезагружать неработоспособные хосты или хосты, которые перестали отвечать на запросы, а также подготовить недостаточно загруженные хосты к выключению в целях экономии энергии. Работа функций зависит от того, насколько правильно настроено устройство управления питанием. Среда zVirt поддерживает следующие устройства управления питанием:

  • American Power Conversion (apc)

  • IBM Bladecenter (Bladecenter)

  • Cisco Unified Computing System (cisco_ucs)

  • Dell Remote Access Card 5 (drac5)

  • Dell Remote Access Card 7 (drac7)

  • Electronic Power Switch (eps)

  • HP BladeSystem (hpblade)

  • Integrated Lights Out (ilo, ilo2, ilo3, ilo4)

  • Intelligent Platform Management Interface (ipmilan)

  • Remote Supervisor Adapter (rsa)

  • Fujitsu-Siemens RSB (rsb)

  • Western Telematic, Inc (wti)

Серверы HP должны использовать ilo3 или ilo4, серверы Dell — drac5 или интегрированные контроллеры удаленного доступа Dell (Integrated Dell Remote Access Controllers) (idrac), а серверы IBM — ipmilan. Интегрированный модуль управления IMM использует протокол IPMI, следовательно пользователям этого модуля доступно ipmilan.

Агент изоляции apc не поддерживает устройства управления питанием APC 5.x. Вместо него следует использовать агент изоляции apc_snmp.

Менеджер управления использует агенты изоляции для связи с перечисленными устройствами управления питанием. С помощью Менеджера управления администраторы могут настроить агент изоляции для устройства управления питанием в их среде и указать параметры, которые устройство будет принимать и на которые оно будет отвечать. Основные параметры конфигурации можно настроить через графический пользовательский интерфейс. Можно также указать специальные параметры конфигурации, которые будут переданы на устройство изоляции без парсинга. Специальные параметры конфигурации уникальны для конкретного устройства изоляции, в то время как базовые параметры конфигурации предназначены для функций, предоставляемых всеми поддерживаемыми устройствами управления питанием. К основным функциям, предоставляемым всеми устройствами управления питанием, относятся:

  • Статус (Status): проверка статуса хоста.

  • Запуск (Start): включение питания хоста.

  • Остановка (Stop): выключение питания хоста.

  • Перезагрузка (Restart): перезагрузка хоста. Фактически это реализовано следующим образом: остановка, ожидание, статус, запуск, ожидание, статус.

Лучше всего протестировать конфигурацию управления питанием сразу при ее первоначальной настройке и периодически тестировать ее в дальнейшем для обеспечения непрерывной работы.

Отказоустойчивость обеспечивают правильно настроенные устройства управления питанием на всех хостах в среде. Через агентов изоляции Менеджер управления взаимодействует с устройствами управления питанием хостов, чтобы обойти операционную систему на проблемном хосте и изолировать хост от остальной среды путем его перезагрузки. Затем Менеджер управления может переназначить роль SPM, если она была назначена проблемному хосту, и безопасно перезапустить все виртуальные машины с признаком высокой доступности на других хостах.

4. Изоляция

В среде zVirt изоляция — это перезагрузка хоста, инициированная Менеджером управления с помощью агента изоляции и выполненная устройством управления питанием. Изоляция позволяет кластеру реагировать на неожиданные отказы хоста и принудительно применять политики энергосбережения, балансировки нагрузки и обеспечения доступности виртуальных машин.

Благодаря изоляции роль SPM всегда назначается работающему хосту. Если у изолированного хоста была роль SPM, то она будет снята и переназначена работающему хосту. Записывать метаданные структуры домена данных может только хост с ролью SPM, поэтому если такой хост не отвечает на запросы и не изолирован, его среда утрачивает возможность создавать и уничтожать виртуальные диски, делать снимки, увеличивать размер логических томов и выполнять другие действия, связанные с обязательным изменением метаданных структуры домена данных.

Когда хост перестает отвечать на запросы, все виртуальные машины, которые в этот момент работают на этом хосте, также могут перестать отвечать на запросы. Однако не реагирующий на запросы хост сохраняет блокировку образов жестких дисков виртуальных машин, запущенных на нем. Попытка запустить виртуальную машину на втором хосте и назначить второму хосту права на запись в отношении образа жесткого диска виртуальной машины может привести к повреждению данных.

Изоляция позволяет Менеджеру управления предположить, что блокировка образа жесткого диска виртуальной машины была снята; и Менеджер управления может использовать агент изоляции, чтобы подтвердить, что проблемный хост был перезагружен. Получив подтверждение, Менеджер управления может запустить виртуальную машину с проблемного хоста на другом хосте без риска повреждения данных. Изоляция — это основа для работы виртуальных машин с признаком высокой доступности. Виртуальную машину, которая была отмечена признаком высокой доступности, нельзя безопасно запустить на другом хосте, если нет уверенности в том, что это не приведет к повреждению данных.

Когда хост перестает реагировать, Менеджер управления ждет 30 (тридцать) секунд, прежде чем принимать меры по восстановлению хоста после любых временных ошибок. Если хост не начал реагировать на запросы после периода ожидания, Менеджер управления автоматически начинает уменьшать негативное воздействие такого хоста. Менеджер управления использует агент изоляции применительно к карте управления питанием на хосте, чтобы остановить хост, подтвердить его остановку, запустить хост и подтвердить его запуск. Когда завершается начальная загрузка хоста, он пытается снова подсоединиться к кластеру, частью которого он был до того, как его изолировали. Если перезагрузка решила проблему, из-за которой хост не реагировал на запросы, то хост автоматически переводится в статус Включен (Up) running и снова может запускать и размещать виртуальные машины.

5. Программная изоляция хостов

Иногда хосты могут перестать реагировать на запросы из-за неожиданно возникшей проблемы, и хотя VDSM не может отвечать на запросы, виртуальные машины, зависящие от VDSM, остаются активными и доступными. В таких случаях перезапуск VDSM возвращает VDSM в рабочее состояние и устраняет проблему.

SSH Soft Fencing - это процесс, когда Менеджер управления пытается по SSH перезапустить VDSM на хостах, не реагирующих на запросы. Если Менеджеру управления не удается перезапустить VDSM по SSH, то задача изоляции возлагается на внешний агент изоляции, если он настроен.

Программная изоляция по SSH работает следующим образом. На хосте должна быть настроена и включена изоляция, и должен существовать допустимый прокси-хост (второй хост в состоянии Включен (Up) running в центре данных). Когда время ожидания для соединения между Менеджером управления и хостом истекает, происходит следующее:

  1. При первом сбое сети статус хоста меняется на "Подключается (connecting)".

  2. Затем Менеджер управления делает три попытки запросить статус у VDSM или ждет в течение интервала, определяемого нагрузкой на хост. Формула определения длительности интервала задается параметрами конфигурации TimeoutToResetVdsInSeconds (по умолчанию - 60 секунд) + [DelayResetPerVmInSeconds (по умолчанию - 0,5 секунд)] \* (количество работающих виртуальных машин на хосте) + [DelayResetForSpmInSeconds (по умолчанию - 20 секунд)] * 1 (если хост работает как SPM) или 0 (если хост не работает как SPM). Чтобы дать VDSM максимальное время для ответа, Менеджер управления выбирает более продолжительный из двух вышеупомянутых вариантов (три попытки получить статус VDSM или интервал, определяемый вышеприведенной формулой).

  3. Если хост не реагирует и после истечения этого интервала, то по SSH выполняется vdsm restart.

  4. Если vdsm restart не помогает восстановить соединение между хостом и Менеджером управления, то статус хоста меняется на Не отвечает (Non Responsive) down и, если управление питанием настроено, задача изоляции передается внешнему агенту изоляции.

Программную изоляцию по SSH можно выполнять на хостах, на которых не настроено управление питанием. Она отличается от просто изоляции, которая может выполняться только на хостах, на которых настроено управление питанием.

6. Использование нескольких агентов изоляции управления питанием

Когда используется один агент, он считается первым. Второй агент задействуется, когда есть два агента изоляции, например, для хостов с двойным питанием, в которых к каждому коммутатору питания подключены два агента. Агенты могут быть одного или разных типов.

Когда на хосте несколько агентов изоляции, повышается надежность процесса изоляции. Например, при отказе единственного агента изоляции на хосте, хост будет неработоспособен до тех пор, пока его не перезагрузят вручную. Работа виртуальных машин, ранее запущенных на этом хосте, будет приостановлена, и они будут переключены на другой хост в кластере только после того, как исходный хост будет вручную изолирован. Когда используется несколько агентов, если первый агент выходит из строя, то можно задействовать следующего агента.

Если на хосте определены два агента изоляции, их можно настроить на параллельное или последовательное использование.

  • Параллельное (Concurrent): оба агента (первый и второй) должны отреагировать на команду Остановка (Stop), чтобы остановить хост. Если один агент отреагирует на команду Запуск (Start), то хост запустится.

  • Последовательное (Sequential): для запуска или остановки хоста сначала используется первый агент, а в случае его отказа — второй.