Управление питанием для Hyper-V (часть 1)

Опубликовано: 22 Апреля, 2023

Введение

Несмотря на то, что ИБП используются почти в каждом центре обработки данных, традиционная конфигурация ИБП может нанести ущерб хост-серверам виртуализации. В этой серии статей объясняются различные методы управления питанием от батареи в виртуальном центре обработки данных.

Платон однажды сказал, что необходимость — мать изобретения. Что ж, в последнее время я ничего не изобретал, но необходимость заставила меня отправиться на поиски решения проблемы, которая, как я только недавно обнаружил, у меня была. Позволь мне объяснить.

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

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

Обычно это доставляло бы неудобства, но не было бы катастрофической проблемой. Я использую ИБП APC, и все они включают в себя утилиту под названием PowerChute, которая инициирует корректное отключение сервера, когда батареи ИБП садятся. Эта техника существует уже много лет, и она всегда хорошо работала для меня. Однако, как и следовало ожидать, в этой истории есть нечто большее.

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

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

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

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

APC включает PowerChute Personal Edition в свои ИБП потребительского класса. Текущая версия PowerChute Personal Edition предназначена для работы в Windows Vista, но, как вы можете видеть на рисунке A, она без проблем работает в Windows Server 2008.

Изображение 27858
Рисунок A: PowerChute Personal Edition работает с Windows Server 2008

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

Чтобы защитить ваш компьютер от длительного отключения электроэнергии, PowerChute дает вам возможность начинать выключать компьютер, когда батарея начинает разряжаться. Например, вы можете видеть на рисунке B, что этот сервер настроен на начало выключения, когда заряд батареи остается примерно на пять минут.

Изображение 27859
Рисунок B. PowerChute предназначен для корректного выключения компьютера при низком уровне заряда аккумулятора.

Хотя это все хорошо, PowerChute Personal Edition предназначен для использования с домашними компьютерами. В моем случае PowerChute даже не знает, что он работает на сервере, а тем более на сервере, на котором размещено несколько виртуальных машин. В этом случае поведение сервера должно быть адаптировано к возможностям PowerChute. Хотя это сделать проще, чем вы могли бы ожидать.

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

Первый шаг, который я рекомендую предпринять для устранения проблемы, — это вручную проверить, что каждая виртуальная машина ведет себя так, как вы думаете, в случае сбоя питания. Для этого откройте диспетчер Hyper-V, щелкните правой кнопкой мыши виртуальную машину и выберите команду «Настройки» в контекстном меню. Когда появится диалоговое окно «Настройки» для виртуальной машины, прокрутите список настроек до самого конца и выберите параметр «Автоматическая остановка».

Как вы можете видеть на рисунке C, Hyper-V настроен на автоматическое сохранение состояния виртуальной машины, если хост-машина выключается. Я предпочитаю использовать параметр «Выключить гостевую операционную систему», чтобы избежать частично сохраненного состояния. Однако стоит отметить, что опция по умолчанию обычно позволяет быстрее вернуть сервер в оперативный режим после включения питания.

Изображение 27860
Рисунок C. Вы можете управлять поведением Hyper-V при завершении работы родительской операционной системы.

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

Вывод

Как видите, было довольно легко адаптировать PowerChute для правильной работы с моим сервером Hyper-V. В реальном мире многие организации используют более сложную систему, чем я. Во второй части этой серии я объясню, как можно управлять питанием от батареи в более сложных средах и для организаций, которые не используют Hyper-V (или VMware, если на то пошло) поверх Windows.

на нашу рассылку новостей об обновлениях статей VirtualizationAdmin.com в режиме реального времени