Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

Новое в Windows Server 2008 R2 SP1: динамическое распределение памяти виртуальных машин Hyper-V

Напечатать страницу
09.07.2010 14:24 | deeper2k

В очередной публикации в своем блоге Игорь Шаститко, эксперт по ИТ-инфраструктуре в Microsoft Украина, расскажет о долгожданной функции в Hyper-V - динамическом распределении памяти виртуальной машины. Хотя название функции говорит само за себя, будет нелишним объяснить ее предназначение и принцип работы.

Итак, то, о чем так долго говорили большевики, и еще больше - чем постоянно интересовались пользователи виртуализации от Microsoft - свершилось. Очень ожидаемый механизм динамического распределения физической памяти сервера-хоста между несколькими виртуальными машинами согласно их "потребностям текущего момента" стал доступен в бета-версии пакета обновлений Windows Server 2008 R2 Service Pack 1.

Теперь можно будет не так тщательно "вымеривать" требуемые объемы памяти на физических хостах, и, самое главное, теперь "лишняя" память, которая распределена для одной виртуальной машины и не используемая в данный момент ею, будет отдаваться другой виртуальной машине, если та нуждается в дополнительной памяти для работы своих приложений. Удобно и полезно? - вполне...

Остается только вопрос, как настраивается и работает динамическое распределение памяти в Windows Server 2008 R2 SP1? Все очень просто:

Технические требования? - в качестве физического хоста Hyper-V должен обязательно выступать сервер под управлением Windows Server 2008 R2 SP1. В качестве гостевых виртуальных машин могут выступать как ОС с Service Pack 1, так и без него. В случае, если вы планируете использовать в качестве гостевой ОС предыдущие версии Windows Server 2008 или Windows 7 - вам обязательно надо будет обновить ОС до новой версии Integration Services, поставляющихся с клиентом Hyper-V Virtual Machine Connection. Это можно сделать из меню клиента Actions->Insert Integration Services Setup Disk и далее следовать предложениям мастера установки в обновляемой гостевой ОС. Кстати, поддержка динамического распределения памяти для гостевых ВМ под управлением Windows Server 2003 в Integration Services тоже присутствует.

Как это работает? - очень просто! И, как понятно по названию, непосредственного участия ИТ-администратора, кроме, собственно, начальной настройки параметров памяти ВМ, не требуется. В механизме динамического распределения памяти сочетаются 2 технологии - уже хорошо зарекомендовавшая себя в работе на "реальном железе" технология горячего добавления памяти, поддерживаемая ОС Windows и технология вытеснения "лишней" памяти по принципу "пузырей-баллонов" (balloon memory). Суть работы крайне прост - при старте виртуальной машине устанавливается минимальный, указанный вами, объем ОЗУ (например, 1024МБ). При этом есть второй параметр управления объемом памяти - максимальное значение памяти (пусть 8192МБ), а также предел свободной памяти в процентах у гостевой ОС в текущий момент, после которого система виртуализации Hyper-V будет стараться добавить память виртуальной машине "на ходу". Гостевая ОС стартует и "видит" ровно столько памяти, сколько ей назначили по минимуму, т.е. 1024МБ. Как только ее процессы, подгребая под себя память, займут ее больше, чем указано в пределе по процентам - начинается динамическое добавление памяти.

Процесс добавления памяти ВМ крайне прост, если у физического хоста Hyper-V есть свободная ОЗУ - просто "откусывается" часть физической памяти "по потребностям" ВМ (т.е. может быть добавлено и 10МБ, и 500МБ) и добавляется механизмом горячего добавления памяти гостевой ОС.

Если же у физического хоста нет свободной памяти - то здесь вступает в работу вторая часть механизма динамического распределения памяти SP1 - драйвер баллоного вытеснения памяти у других, уже работающих, виртуальных машин. Здесь процесс тоже достаточно прост - используя, в дополнение к параметру процентного отношения свободной памяти у гостевых ОС, еще один параметр настройки памяти каждой виртуальной машины - а именно - приоритет использования памяти этой машиной относительно других работающих ВМ - Hyper-V определяет будущие "жертвы", у которых имеется неиспользуемая в данный момент память и запускает в них процесс "надувания пузыря". Фактически - это означает, что системный balloon-процесс выполняет заполнение памяти сверху до указанного предела и после Hyper-V просто передает освободившееся адрессное пространство той виртуальной машине, которая запросила расширение памяти.

Есть еще несколько нюансов в работе механизма динамического распределения памяти в Windows Server 2008 R2 Service Pack 1 - во-первых, при добавлении гостевая ОС "видит" именно столько памяти, сколько ей добавлено "на ходу", но при освобождении памяти - эта цифра не уменьшается, поскольку ОС имеет механизмы только горячего добавления, но не удаления памяти. Т.е. допустим, в процессе работы наша гостевая ОС успела "захомячить" 6975МБ памяти из обещанных ей 8192МБ и все утилиты мониторинга будут показывать именно эту цифру. Но вдруг пришла пора делиться награбленным - и гостевую ОС через баллоный метод заставят "отдать" часть свободной памяти, пусть 2400МБ - но это не означает "снять ее физически", а значит, все утилиты самой ОС будут показывать всё теже 6974МБ и только оснастка управления Hyper-V будет отображать реальное состояние дел в гостевой ОС и показывать 6975-2400=4575МБ используемой ОС ОЗУ.

Во-вторых - такие вот метания памяти туда-сюда делают не очень удобным параметр указания оставшейся свободной памяти в процентах - 25% от 2ГБ - это не совсем то, что 25% от 6ГБ и реакция на "окончание" памяти у гостевой ОС может быть несколько преждевременной.

И, в-третьих, самая главная нагрузка при работе динамического распределения памяти ляжет на физический хост, которому снова, как в старые добрые времена Hyper-V версии 1, придется заниматься обсчетом всего этого добра на физических процах, отбирая некоторые, пусть и в пределах десятка процентов, процессорные ресурсы на работу этих механизмов в Hyper-V. Хотя, если честно, последние Xeon x56xx своей производительностью просто пугают.

А сценарии использования и рекомендации от Microsoft по использованию динамического распределения памяти в виртуальных машинах, думаю, мы увидим в ближайшее время. Мое личное мнение - на 20-30% уплотнить серверы получится, особенно - те из ВМ, которые обеспечивают функции работы инфраструктуры.

И, в завершение всего выше сказанного - небольшая демонстрация того, как в жизни ведет себя Windows Server 2008 R2 Service Pack 1 и та его часть, которая обеспечивает механизм Dynamic Memory:


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


Источник: http://blogs.technet.com/iwalker

Комментарии

Не в сети

Ну что ж, молодцы. Но до VMware им ещё очень и очень далеко.

12.07.10 15:40
0
Не в сети

Возможно, но Hyper-V бесплатна. Зная Microsoft, можно не сомневаться, что МС со временем доведет это решение до ума. Преимущество решения в его бесплатности.

12.07.10 15:54
0
Не в сети

ESXi тоже бесплатен. Так что преимущества здесь нет. Baloon-driver в ESX был впервые предложен с выпуском ESX 3.x в 2007м, т.е. Майкрософт пока отстаёт приблизительно на 3 года. Хотя я не сомневаюсь, что рано или поздно гипервизоры ESX(i) и Hyper-V сравняются по возможностям.

13.07.10 15:45
0
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.028 секунд (Общее время SQL: 0.014 секунд - SQL запросов: 59 - Среднее время SQL: 0.00024 секунд))
Top.Mail.Ru