Страницы

Показаны сообщения с ярлыком Microsoft Hyper-V Server 2008 R2. Показать все сообщения
Показаны сообщения с ярлыком Microsoft Hyper-V Server 2008 R2. Показать все сообщения

пятница, 13 августа 2010 г.

Отчет лабораторного испытания: Microsoft Hyper-V R2: Масштабируемая, родная виртуализация серверов для предпреятий.

Продолжаем серию переводов всего самого инетерсного и полезного, на этот раз это отчет о лабораторном исследовании Microsoft Hyper-V R2 от Enterprise Strategy Group (ESG). В связи с большим объемом переводить буду частями, постепенно дополняя этот пост.

Ссылка на оригинал: Enterprise Strategy Group


Отчет лабораторного испытания: Microsoft Hyper-V R2: Масштабируемая, родная виртуализация серверов для предпреятий.

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

Фон.

Виртуализация серверов стратегическая инициатива для IT-организаций во всем мире. ESG провела глубокое исследование при помощи ведущих ИТ-специалистов, в отношении наиболее важных ИТ-приоритетов для их организаций на ближайшие 12-18 месяцев [1]; как показано на рисунке 1, виртуализация серверов находится на первом месте.

Рисунок-1: Главные ИТ-приоритеты.

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

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

Представляем Hyper-V R2

Microsoft Hyper-V R2 - это гипервизор, который позволяет размещать несколько виртуальных машин на одном физическом сервере. Поддерживаемые виртуальные машины могут быть различными: практически все платформы Microsoft (серверные и настольные) и дополнительно несколько различных платформ Linux. Hyper-V R2 доступен в операционной системе Windows Server 2008 R2, а также в Microsoft Hyper-V Server 2008 R2. За счет использования знакомого интерфейса и мастеров, Hyper-V R2 дает компаниям возможность использовать существующие навыки, программы подготовки и сертификации.

Гипервизор Hyper-V R2, который был выпущен в сентябре 2009 года, включает ряд полезных усовершенствований для платформы серверной виртуализации Microsoft. Повышенная производительности включают увеличение производительности для приложений в виртуальной среде, которые расположены на виртуальных жестких дисках. Новые возможности Live Migration и Clustered Storage Volumes, были также добавлены. Как показано на рисунке 2, Live Migration повышает мобильность виртуальных машин, в то время, как Clustered Storage Volumes улучшают доступность, за счет отказоустойчивого кластера.

Рисунок 2: Обзор гибкости и доступности Hyper-V R2.

Live Migration, которая появилась в Hyper-V R2, отличается от Quck Migration, которая появилась в Hyper-V R1. Quizck Migration, обеспечивает быструю миграцию с одного физического сервера на другой, но влечет за собой отрезок времени, в течении которого сервер будет недоступен. Этот разрыв, который обычно длится несколько секунд, может негативно сказаться на конечных пользователях, а в некоторых случаях может потребовать перезапуск приложения. Live Migration позволяет реализовать перемещение запущенных виртуальных машин между физическими серверами в режиме реального времени, без разрыва.

Clustered Storage Volume (CSV) - это высоко доступные, общее хранилище томов, которое расширяет возможности отказоустойчивого кластера. Отказоустойчивый кластер - это набор компьютеров (узлов), которые работают совместно, для того чтобы повысить доступность приложения или службы. CSV позволяет нескольким серверам в кластере читать и писать в одно и тоже время, при этом им не нужен узел ответственный за управление томами. Когда выполняется Live Migration и хранение данных обеспечивается CSV, миграция проходит очень быстро, потому что необходимо перенести только память виртуальной машины.



Проверка лаборатории ESG

Лаборатория ESG провела практическую оценку технологии виртуализации серверов Hyper-V R2 в лаборатории, расположенной в Microsoft Редмонд, научного городка Вашингтона. Тестирование проводилось с целью оценки гибкости, доступности и производительности, предоставляемой Hyper-V R2.


Приступая к работе

Тестовый стенд, который использовался во время проверки лаборатории ESG, был разработан для имитации миграции с физических на виртуальные серверы, как показано на рисунке 3. Стандартно развернутые приложения и службы, запущенные на девяти старых физических серверах, были переведены на кластер новых серверов, подключенных к общему пулу SAS-устройств с оптоволоконным подключением к дисковому массиву [3]. Серверы были настроены для поддержки различных служб и приложений, включающих Active Directory и службы печати, общие сетевые накопители (Корпоративные, Отделов, Личные), Red Hat Linux (RHEL) и базы данных (Microsoft SQL Server 2005 и 2008). Microsft Windows Server 2008 R2 Datacenter Edition со встроенной поддержкой Hyper-V R2, был использован для консолидации виртуальных серверов на отказоустойчивом кластере, использующим систему хранения данных SAN и Clustered Shared Volumes. Четвертый сервер был использован для управления физическим и виртуальным окружением при помощи Microsoft System Center Virtual Machine Manager (SCVMM) [4].

Тестирование лаборатории ESG

Лаборатория ESG начала тестирование с чистой установки Windows Server 2008 R2 на первый 64-ех разрядный сервер. Шесть кликов мышкой и 20 минут спустя знакомый процесс установки Windows завершился. На данный момент сервер выглядел также, как и любой физический сервер под управлением операционной системы Microsoft Windows. Мастер, изображенный на рисунке 4, был использован для включения роли Hyper-V из консоли диспетчера сервера на физическом сервере. Пользовательский интерфейс мастера использованного для включения роли Hyper-V схож для настройки серверных ролей, включая Active Directory и службы печати.

Изображение 4. Включение Hyper-V.


Шесть кликов мышки и последующая перезагрузка включает Hyper-V, теперь сервер готов для настройке первой виртуальной машины.
На высоком уровне, используется три общих метода для создания виртуальной машины (ВМ) в окружении Hyper-V.
  1. Создание новой ВМ с нуля.
  2. Клонирование существующей ВМ.
  3. Импорт существующего физического или виртуального сервера.
Мастер запущенный из диспетчера Hyper-V на физическом сервере был использован для создания первой ВМ с нуля. Методы клонирования и импорта были использованы позднее в проверке лаборатории ESG, для создания дополнительных виртуальных машин. Как показано на рисунке 5, Мастер Hyper-V, доступный из диспетчера сервера, был использован для настройки первой виртуальной машины с 512 Мб виртуальной памяти, виртуальным сетевым подключением и виртуальным жестким диском (Virtual Hard Drive, VHD).

Рисунок 5. Создание виртуальной машины.


Десять кликов мышкой и спустя 42 секунды после начала работы с мастером, первая виртуальная машина была запущена, сетевая операционная система устанавливается.
Лаборатория ESG обнаружила, что начало работы с Hyper-V R2 представляет собой простой, интуитивно понятный процесс. На высоком уровне, знакомый пользовательский интерфейс на основе графических мастеров, встроенный в Windows Server 2008 R2, был использован для настройки Hyper-V в три шага:
  1. Установка Windows Server 2008 R2.
  2. Включение роли Hyper-V.
  3. Перезагрузка и настройка виртуальных машин.
Как показано на рисунке 6, первая виртуальная машина была запущена спустя 25 минут и 22 клика мышки, после запуска чистой установки Windows Server 2008 R2.

Рисунок 6. Начало работы с Hyper-V.

Почему это важно

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

Лаборатория ESG, подтвердила что чистая установка Hyper-V, встроенная в Windows Server 2008 R2, может быть развернута меньше чем за 30 минут, за счет использования знакомых утилит управления сервером, встроенных в Windows.




вторник, 10 августа 2010 г.

Автоматизация Hyper-V Best Practices Analyzer при помощи PowerShell.

Итак продолжаем переводить все самое ценное, интересное и полезное, на этот раз это будет публикация Mark Ghazai из его собственного блога, которая расскажет как автоматизировать BPA за счет Windows PowerShell.

Ссылка на оригинал: Mark Ghazai's Blog

Автоматизация Hyper-V Best Practices Analyzer при помощи PowerShell.

Привет, Марк сегодня здесь. Как вы могли знать, с выходм Server 2008 R2, Server Manager стал содержать Best Practices Analyzer (BPA) для нескольких ролей/компонентов, таких как веб-сервер (IIS).

Следующий снимок экрана показывает Best Practices Analyzer для IIS в Microsoft Windows Server 2008 R2.



Сегодня я начну говорить о Hyper-V R2 BPA, который был выпущен недавно в KB977238

После того, как вы установите этот пакет (не требует перезагрузки), Hyper-V Best Practices Analyzer будет добавлен на страницу роли Hyper-V в Server Manager. Теперь вы можете выбрать опцию Scan This Role, запустить BPA на сервере и просмотреть отчет.

Пара вопросов, которые вы могли бы спросить: как запустить BPA удаленно или на Windows Server 2008 R2?

Вы можете использовать Server Manager для удаленной работы и подключиться к другому серверу. Если данный сервер уже имеет установленный пакет Hyper-V BPA, вы можете сканировать эту машину из Server Manager и просмотреть отчет. Это применимо и к полной установке и к установке ядра сервера Windows Server 2008 R2, вы можете поддерживать соединение настолько долго настолько позволит брандмауэр удаленное подключение Server Manager на другом сервере.

На заметку: на ядре сервера R2 запустите SCONFIG.EXE

Теперь вы получили другу опцию, которая использует PowerShell для запуска BPA и сохраняет результаты.

Для получения детальной информации посмотрите Get-Help about_BestPractices

Вот шаги, которые необходимо выполнить:

  1. Запустите PowerShell с правами администратора.
  2. Загрузите модуль Server Manager:
    import-module ServerManager
  3. Загрузите модуль Best Practices:
    import-module BestPractices
  4. Запустите модуль Hyper-V BPA:
    Invoke-BpaModel Microsoft/Windows/Hyper-V
  5. Просмотрите отчет BPA:
    Get-BPAResult Microsoft/Windows/Hyper-V

Вывод Get-BPAResult может быть экспортирован как HTML или CSV и отчет может быть сохранен в другом месте, по вашему усмотрению.

Используя этот метод вы можете написать сценарий PowerShell для запуска BPA на множестве серверов Hyper-V R2 и сохранять отчеты в формате CSV.

Пример отчета.

Данная концепция может быть расширена для других ролей, у которых доступна поддержка BPA.

Чтобы проверить существующие BPA для Windows Server 2008 R2 смотрите на странице TechNet

TechNet Windows Server 2008 R2 Best Practices Analyzers
http://technet.microsoft.com/en-us/library/dd392255(WS.10).aspx

Надеюсь вы насладились этой публикаций. До скорого...

пятница, 30 июля 2010 г.

Linux Integration Services v2.1 теперь доступны.

Очередной перевд, я уже переводил анонс к бета-версии, и вот наконец-то полноценный релиз, надеюсь информация окажется ценной.

Ссылка на оригинал: Virtualization Team Blog



Linux Integration Services v2.1 теперь доступны.

Мы очень рады объявить о доступности Hyper-V Linux Integration Services для Linux версии 2.1. Эта версия является еще одной вехой в создании всесторонней платформы виртуализации для наших клиентов. Клиенты, которые владеют гетерогенным окружением операционных систем стремятся сделать свою платформу виртуализации способной поддерживать все операционные системы, которые находятся в их центре обработки данных. Мы поддерживаем Linux в качестве гостевой операционной системы, на наших платформах виртуализации, начиная со времен Virtual Server и продолжаем расширять нашу поддержку в этом направлении.

Следующие компоненты включены в версию 2.1:
  • Поддержка драйверов для синтетических устройств (Driver support for synthetic devices): Linux Integration Services поддерживает синтетические сетевые контроллеры и синтетические контроллеры накопителей, которые были разработаны специально для Hyper-V.
  • Поддержка быстрой загрузки для Hyper-V (Fastpath Boot Support for Hyper-V): Загрузочные устройства используют блок виртуализации служб клиента (Virtualization Service Client, VSC) для предоставления повышенной производительности.
  • Синхронизация времени (TimeSync): Часы внутри виртуальной машины будут синхронизироваться с часами хоста.
  • Интегрированное выключение (Integrated Shutdown): Виртуальные машины с запущенным Linux могут быть корректно выключены при помощи диспетчера Hyper-V или System Center Virtual Machine Manager.
  • Поддержка Symmetric Multi-Processing (SMP): Поддерживаемые дистрибутивы Linux могут использовать до 4 виртуальных процессоров в одной виртуальной машине.
  • Heartbeat: Позволяет хосту определять запущена ли гостевая система и отвечает ли она на запросы.
  • Подключаемые источники времени (Pluggable Time Source): Встроенный модуль подключения источников времени предоставляет более точный источник времени гостевой системе.

Эта версия служб интеграции для Hyper-V поддерживает Novell SUSE Linux Enterprise Server 10 SP3 SUSE Linux Enterprise Server 11, и Red Hat Enterprise Linux 5.2 / 5.3 / 5.4 / 5.5.

Клиенты могут получить Linux IC через Microsoft Download Center по этой ссылке: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=eee39325-898b-4522-9b4c-f4b5b9b64551.

четверг, 29 июля 2010 г.

Динамическая память (Dynamic Memory) приходит в Hyper-V Часть 6.

Представляю перевод последней публикации из серии Dynamic Memory, в данной публикации описано при помощи каких настроек можно управлять Hyper-V Dynamic Memory, а также разобраны примеры описывающие каким образом работает динамическая память. Ссылки на оригиналы и переводы оставльных публикаций есть в конце или на LebedevUM.

Ссылка на оригинал: Virtualization Team Blog


Динамическая память (Dynamic Memory) приходит в Hyper-V Часть 6.


======================================================

Предисловие: Суть этой серии публикаций и дух в котором они написаны, должны показать комплексный подход к вопросам, стоящим перед нашими клиентами, обсуждение сложностей, связанных с управлением памятью, и объяснение почему для решения этих проблем мы выбрали динамическую память Hyper-V (Hyper-V Dynamic Memory). Это не обозначает критику кого-либо или каких-либо технологий, это проведение открытого и прозрачного обсуждения проблем.

======================================================

В нескольких предыдущих публикациях мы рассматривал Страничное распределение (Page Sharing) и Второй уровень подкачки (Second Level Paging). Сегодня давайте будем копать, то что предоставляет динамическая память Hyper-V в Windows Server 2008 R2 SP1, а также в наш бесплатный гипервизор Microsoft Hyper-V Server 2008 R2 SP1. Итак, что же такое динамическая память (Dynamic Memory)?

Динамическая память (Dynamic Memory) - это расширение Hyper-V R2, которое объединяет всю доступную память на физическом хосте и динамически распределяет ее по мере необходимости между запущенными на хосте виртуальными машинами. Это означает, что основываясь на изменениях рабочих нагрузок, виртуальные машины смогут получить новое пространство в памяти без остановок служб, через балансировку динамической памяти (Dynamic Memory Balancing). Одним словом, Динамическая память (Dynamic Memory) - это и есть динамическая память.

Давайте погрузимся в объяснения того как все это работает, начиная с новых настроек динамической памяти (Dynamic memory). Здесь новые настройки доступные для каждой виртуальной машины. Вот изображение:




Динамическая память в глубине.


В Hyper-V (V1 & R2), память статически назначалась виртуальным машинам. Смысл заключается в том, что вы назначаете память виртуальной машине, и когда она включается Hyper-V размещает и предоставляет эту память виртуальной машине. Эта память занимается до тех пор пока виртуальная машина запущена или приостановлена. Когда виртуальная машина сохранена или выключена память освобождается. Ниже представлено изображение, на котором показано назначение памятив Hyper-V V1/R2.


У динамической памяти Hyper-V есть два значения: Startup RAM (Начальный объем памяти) и Maximum RAM (Максимальный объем памяти), выглядит это вот так:


Startup RAM (Начальный объем памяти) это объем памяти во время инициализации/запуска виртуальной машины. Когда виртуальная машина запущена этот объем памяти будет выделен виртуальной машине. В данном примере виртуальная машина будет запускаться с 1 Гб памяти.

Свойство Maximum RAM (Максимальный объем памяти) это максимальный объем памяти до которого гостевая операционная сможет дорасти, в данном случае до 64 Гб памяти (при условии, что операционная система поддерживает такой объем памяти). На основе перечисленных выше настроек, вот пример того, как память будет выделяться в течении рабочего дня.



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

Далее, давайте посмотрим на Memory Buffer (Буфер памяти).

Memory Buffer (Буфер памяти): В одной из предыдущих публикаций мы обсуждали сложности планирования памяти. Подведя итог, можно сказать что нет идеального решения для каждой рабочей нагрузки, а также решение может меняться в зависимости от масштаба и эксплуатационных требований. Однако, в обратной связи, четко прослеживается, что клиенты всегда чувствуют себя комфортабельней, предоставляя дополнительный объем памяти "на всякий случай".

Мы полностью согласны.

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

Буфер динамической памяти определяет специфику памяти, доступной в виртуальной машине в целях кеширования файлов (например SuperFetch) или свободной памяти. Диапазон таких значений от 5 до 95. Цель буфера памяти заключается в определении процента свободной памяти от текущей используемой памяти. Целевой процент буфера памяти 20%, это значит, что в виртуальной машине, где используется 1 Гб, 250 Мб будут "свободными" (или доступными), общий объем памяти виртуальной машины будет составлять 1,25 Гб. По умолчанию, динамическая память Hyper-V использует значение буфера 20%. Если вы находите это значение слишком консервативным или не достаточно консервативным, вы можете изменить его на лету, пока виртуальная машина запущена без выключения.


Это подводит нас к последней настройке динамической памяти (Dynamic Memory), Memory Priority (Приоритет памяти).

Memory Priority (Приоритет памяти): По умолчанию все виртуальные машины создаются с равным значением приоритета памяти. Однако, вы, скорей всего, захотите изменить приоритет памяти, в зависимости от рабочей нагрузки. Для примера, Я предвижу сценарий, в котором вы захотите установить контроллеру домена больший приоритет памяти, нежели чем серверу печати какого-нибудь отдела. Приоритет памяти - это настройка каждой отдельной виртуальной машины, она указывает на приоритетность виртуальной машины при распределении памяти, относительно других виртуальных машин. По умолчанию приоритет памяти установлен в "Средний". Если вы посчитаете необходимым изменить этот параметр, вы можете сделать это на лету, в тот момент, когда виртуальная машина запущена, без ее остановки.




Динамическая память с течением времени работает с несколькими виртуальными машинами...


Я рассказывал про настройки каждой виртуальной машины и показывал как они будут работать с одной виртуальной машиной, но как динамическая память (Dynamic Memory) будет работать с несколькими виртуальными машинами? Ниже есть пример того, как динамическая память (Dynamic Memory) работает. Я специально хранил этот пример, чтобы избежать путаницы. Предположим, что у меня есть сервер с 8 Гб памяти. Я собираюсь запустить три виртуальные машины, по одной из финансовой службы, отдела продаж и отдела проектирования. Каждой виртуальной машине я дам одинаковые настройки: Sturtup RAM (Начальный объем памяти) = 1 Гб и Maximum RAM (Максимальный объем памяти) = 4 Гб. С такими настройками каждая виртуальная машина будет включаться с 1 Гб памяти и сможет увеличить свой объем памяти до 4 Гб, в случае необходимости.

Запуск виртуальных машин. на графике представленном ниже в левой части можно увидеть три запущенных виртуальных машины. Каждая виртуальная машина использует 1 Гб памяти. В правой же части графика можно видеть общий объем памяти, используемый всей системой ~3 Гб.


15 минут спустя. Виртуальная машина финансовой службы запускает отчеты, в то же время виртуальная машина отдела проектирования делает аналитическую работу. При помощи динамической памяти (Dynamic Memory), виртуальной машине финансовой службы выделено 3 Гб памяти, виртуальной машине отдела проектирования выделноо 2 Гб памяти, а виртуальная машина отдела продаж осталась с 1 Гб. В масштабах все системы, сервер использует 6 Гб из 8 Гб, или 75% от всей физической памяти.


30 минут спустя. Виртуальная машина финансовой службы работает с отчетами, в то время как виртуальная машина отдела проектирования выполняет аналитическую работу. При помощи динамической памяти (Dynamic Memory), виртуальной машине финансовой службы, выделено 2 Гб памяти, виртуальной машине отдела проектирования выделенно 3,5 Гб памяти, виртуальная машина отдела продаж осталась с 1 Гб памяти, и четвертая служебная виртуальная машина запущена с использованием 1 Гб памяти. В масштабах всей системы, сервер теперь использует 7,5 Гб памяти для виртуальных машин из 8 Гб. На данный момент сервер полностью распределил ресурсы памяти и использует ее наиболее эффективно.


И вот теперь вопрос, который я постоянно задаю: "Что теперь? Что если виртуальной машине нужно еще памяти? Нужно ли запускать подкачку на стороне родительской системы?"

Нет.

На данный момент динамическая память (Dynamic memory) будет пытаться восстановить страницы памяти из других виртуальных машин. Однако, в самом худшем случае, когда нет свободных страниц, гостевая система использует свою подкачку, а не подкачку родительской системы. Это важно, потому что гостевая операционная система знает какую память можно, а какую нельзя выгружать. Наконец, когда свободная память станет доступна в других виртуальных машинах, динамическая память (Dynamic Memory) будет перемещать память по мере необходимости.



Превышение лимита и аналогии с процессором.


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

Отличная аналогия, но неправильный вывод.

Пример 1: Предположим вы работаете на 8 физических серверах и используете их на 10%, виртуализовав их и запустив эти 10 виртуальных машин на одном выделенном сервере, вы будете использовать его ~85%. В этом примере вы не превышали лимит и сервер до сих пор не использовал 15%.

Вот что такое превышение лимита...

Пример 2: Предположим вы работаете на 8 серверах и используете их на 50%, виртуализуете их и запускаете эти 8 виртуальных машин на одном сервере. Один сервера может максимально использоваться на 100%, но рабочая нагрузка требует использовать его ~400%, производительность будет ужасной. Что бы вы сделали? Конечно же переместили бы виртуальные машины на другие серверы, чтобы избежать превышения лимита. Если сказать короче, то что бы вы делали, чтобы максимизировать использование ресурсов для получения наилучшего распределения ресурсов и производительности.

Это именно то что мы делаем при помощи Hyper-V Dynamic Memory.



Требования клиентов и динамическая память.


Когда речь заходит о виртуализации и памяти, пользователи виртуализации неоднократно предъявляли следующие требования:
  1. Использовать физическую память настолько эффективно и динамично, насколько это возможно, с минимальными потерями производительности. Клиенты вкладываю в виртуализацию хостов, выбирая системы с большими конфигурациями памяти (32 Гб, 64 Гб, 128 Гб и больше) и хотят полностью использовать возможности системы. В то же время они покупают эту память, чтобы предоставить высочайшую производительность и избежать подкачки.
  2. Обеспечить устойчивую производительность и масштабируемость. Один из частых ответов от пользователей виртуализации это то, что они не хотят компонентов, с возможными срывами производительности или переменной производительностью. Это затрудняет управление и увеличивает общую стоимость владения.

Вы получили это. Вот почему мы выбрали динамическую память (Dynamic Memory):
  1. Dynamic Memory, это действительно динамическое решение. Память выделяется виртуальным машинам на лету, на основе политики, без остановки виртуальной машины.
  2. Dynamic Memory позволяет избежать значительных потерь производительности, потому как не добавляет новые уровни подкачки, которые могут существенно повлиять на производительность.
  3. Dynamic Memory использует большие страницы памяти и оптимизирована под использование больших страниц памяти.
  4. Dynamic Memory - это отличное решение для виртуализации серверов и настольных систем (кстати, Dynamic Memory отлично работает с SuperFetch).

Ура,

Jeff Woolsey

Principal Group Program Manager

Windows Server & Cloud, Virtualization

P.S. Здесь ссылки на все публикации из этой серии:

среда, 21 июля 2010 г.

Динамическая память (Dynamic Memory) приходит в Hyper-V Часть 4.

Итак, продолжение перевод цикла статей посвященных Dynamic Memory, данная публикация продолжает предыдущую расставляя все точки в вопросах о страничном распределении памяти.

Ссылка на оригинал: Team Virtualization Blog




Динамическая память (Dynamic Memory) приходит в Hyper-V Часть 4.


======================================================

Предисловие: Суть этой серии публикаций и дух в котором они написаны, должны показать комплексный подход к вопросам, стоящим перед нашими клиентами, обсуждение сложностей, связанных с управлением памятью, и объяснение почему для решения этих проблем мы выбрали динамическую память Hyper-V (Hyper-V Dynamic Memory). Это не обозначает критику кого-либо или каких-либо технологий, это проведение открытого и прозрачного обсуждения проблем.

======================================================

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

Вопросы

Вопрос: Когда вы говорите что Hyper-V R2 поддерживает большие страницы памяти, это означает что Hyper-V использует распределение страниц памяти по 2 Мб или она предоставляет большие страницы памяти гостевой системе или и то и другое?

Ответ: И то и другое.
  1. Поддержка больших страниц памяти в Hyper-V R2 означает, что если эти возможности поддерживаются оборудованием, то Hyper-V R2 будет автоматически использовать эту функциональность в распределении памяти. Важно отметить, что возможности Hyper-V R2 запущенной на платформе, поддерживающей большие страницы памяти, принесут пользу виртуальным нагрузкам и не будут обязывать память гостевых систем использовать большие страницы.
  2. 2. Если гостевая операционная система поддерживает большие страницы памяти (и конечно же лежащее в основе оборудование поддерживает большие страницы памяти), тогда виртуальные нагрузки этой системы могут также использовать распространение памяти в больших страницах в гостевой системе.


===================================================

Вопрос: Итак, чтобы использовать большие страницы памяти в приложениях, необходимо их переписать для поддержки этой функциональности?

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

===================================================

Вопрос: Вы упомянули, что SuperFetch может повысить эффективность страничного распределения, так как это устраняет нулевые страницы. Разве это не особенность Windows, используют ли другие операционные системы подобные методы?Ответ: Да, прочие операционные системы используют подобные методы. Для примера, Linux использует функцию под названием "Preloaded". Preloaded - это "адаптивный демон предварительной загрузки", он работает в фоновом режиме и отмечает программы, которые вы используете наиболее часто для последующего кеширования с целью увеличения скорости загрузки. Использование Preloaded задействует неиспользованную оперативную память и повышает общую производительность системы.

Цитата: OSNews говорят о SuperFetch:

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

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

http://www.osnews.com/story/21471/SuperFetch_How_it_Works_Myths

===================================================

Вопрос: Вы не сказали про Address Space Layout Randomization (ASLR) и про то как это влияет на страничное распределение?

Ответ: Я не говорил про ASLR, так как о нем уже были публикации, правда довольно давно, но раз вы спросили...

Да, ASLR влияет на эффективность страничного распределения, но для начала краткое описание ASLR из статьи TechNet, которую написал Mark Russinovich:

Компонент Windows Address Space Layout Randomization (ASLR) усложняет вредоносным программам поиск API, за счет загрузки системных DLL и исполняемых файлов в различные места, при каждой загрузке системы. В начале загрузки диспетчер памяти выбрасывает загрузочные образы DLL в один из 256 назначенных 64-ех Кб-ных адресов в 16-и Мб-ной секции в начале пользовательского адресного пространства. DLL у которых есть новый флаг динамического перемещения в процесс, диспетчер памяти упаковывает в память запуская адрес образа загрузки и работает так далее.

Mark продолжает...

Кроме того, стратегия пере размещения ASLR, имеет дополнительные выгоды, благодаря которым адресное пространство более плотно упаковано, нежели чем в предыдущих версиях Windows, создается больше свободных секций для размещения памяти, уменьшает число таблиц страниц размещенных диспетчером памяти для проверки расположения адресного пространства, и минимизирует промахи Translation Lookaside Buffer (TLB).

Сегодня, влияние ASLR на страничное распределение ~ 10%, это относительно мало по сравнению с большими страницами памяти и SuperFeatch, но это действительно еще один фактор воздействия на эффективность страничного распределения. Более того, это не означает что улучшения в ASLR не будут влиять на эффективность страничного распределения в будущем.

===================================================

Вы сказали что поддержка больших страниц памяти включена в последние несколько поколений процессоров Opteron и Intel добавила поддержку в новых процессорах "Nehalem". Вы хотите сказать что старые процессоры Intel x84/x64 не поддерживают большие страницы памяти?

Ответ: 5/6/2010: ИСПРАВЛЕНИЕ: На самом деле старые x86/x64 процессоры поддерживают большие страницы памяти и так было всегда. Однако, 32-ух битные системы не поддерживают большие объемы оперативной памяти (в основном поддержка не превышает 4 Гб, что является лишь малой долей, от возможностей поддержки памяти в 64-ех битных системах), поэтому поддержка для них совсем не критична, однако сейчас 64-ех битные серверы являются нормой.

В моей следующей публикации мы обсудим второй уровень подкачки...

Jeff Woolsey

Principal Group Program Manager

Windows Server, Virtualization

понедельник, 19 июля 2010 г.

Установка Service Pack 1 на Microsoft Hyper-V Server 2008 R2.

Здравствуйте коллеги, пару дней назад получил на lebedev.yuriy@gmail.com письмо с вопросом о доступности Service Pack 1 для Microsoft Hyper-V Server 2008 R2. Признаюсь, не знал как ответить, знал что должен быть, но отельный он или нет, есть ли какие-нибудь нюансы не знал. Но вот чудо, наткнулся на данную публикацию и все встало на свои места. Думаю после прочтения данного перевода вопросов ни у кого остаться не должно.

Ссылка на оригинал: Team Virtualization Blog



Установка Service Pack 1 на Microsoft Hyper-V Server 2008 R2.

С выходом бета-версии Service Pack 1 для Windows Server 2008 R2, многие из вас спрашивали о Service Pack 1 для независимого Microsoft Hyper-V Server 2008 R2 и о доступности новых возможностей динамической памяти (Dynamic Memory) и RemoteFX для него. Безусловно, и динамическая память, и RemoteFX были разработаны в том числе и для Microsft Hyper-V Server 2008 R2.

Для того чтобы получить эти новые возможности для Microsoft Hyper-V Server 2008 R2, вам нужно установить бета-версию Service Pack 1 на Microsoft Hyper-V Server 2008 R2. Обратите внимание, что с первой волной установщика пакета обновления доступно только 5 языков (Английский, Французский, Немецкий, Японский и Испанский), так что если вы будете пытаться установить обновление на Microsoft Hyper-V Server 2008 R2 (который содержит все 11 языковых пакетов по умолчанию), то вы увидите следующее окно:


Довольно просто удалить эти языковые пакеты, для дальнейшей установки пакета обновления. Для удаления языковых пакетов есть отличная встроенная утилита (lpksetup.exe). Запустите ее из командной строки с правами администратора и выберите опцию "Uninstall display languages".


На следующем экране выберите все языки, кроме пяти поддерживаемых ("English", "French", "German", "Japanese" and "Spanish"). Разумеется если вы хотите сэкономить дополнительное место на диске, вы можете удалить все языки, оставив только тот, который вы будете использовать в вашей среде, нажмите "Next" и дайте утилите сделать свою работу. После этого вы можете установить Service Pack 1. Наслаждайтесь!!


Vijay Tewari

Principal Program Manager, Windows Server Virtualization