Welcome to TechNet Blogs Sign in | Join | Help

System Center Data Protection Manager 2010 Release Candidate (RC)

Сегодняшний день богат не только плохими новостями. На сайте Microsoft Connect появился дистрибутив кандидата для выпуска (Release Candidate, RC) новой версии продукта для централизованного резервного копирования — Microsoft System Center Data Protection Manager 2010. Почему это может быть важно для нас с вами? Потому что это первая версия SC DPM, которая полностью поддерживает новые функции Hyper-V в Windows Server 2008 R2 — в первую очередь, Cluster Shared Volumes (CSV).

Алекс подготовил пару статей на тему установки и настройки SC DPM 2010 для резервного копирования и восстановления виртуальных машин Hyper-V на CSV. Мы планируем опубликовать их здесь в течение недели. А прямо сейчас вы можете начать эксперименты с DPM 2010 RC самостоятельно.

Важное обновление безопасности для роли Hyper-V

Сегодняшний день конкуренты Microsoft запомнят надолго и будут смаковать его ещё (надеюсь) не один год. Шутка ли — за один месяц были обнаружены уязвимости разной степени опасности почти во всех продуктах и компонентах, которые больше всего ненавистны сторонникам альтернативных решений. В частности — SMB Client и SMB Server, TCP/IP Stack, Microsoft Office, Kerberos, Windows Kernel и даже Microsoft Paint. Список неполный — пожалуйста, обратите внимание на Microsoft Security Bulletin Summary for February 2010. Но самое интересное для нас — это первая за без малого двухлетнюю историю технологии уязвимость в Hyper-V! Подробности обязательно прочтите по ссылкам в конце заметки. Я же во избежание излишнего ажиотажа хотел бы заострить внимание на следующих моментах.

Уязвимость затрагивает следующие продукты:

  • Windows Server 2008 (SP1 и SP2),
  • Windows Server 2008 R2,
  • Microsoft Hyper-V Server 2008 (SP1 и SP2),
  • Microsoft Hyper-V Server 2008 R2.

Бюллютень имеет статус «Important» (важный). Это вызвано следующими причинами.

  • Максимальная опасность, которой грозит успешное использование уязвимости, — это отказ в обслуживании (Denial of Service, DoS). Это значит, что даже в худшем случае злоумышленник может только остановить ваш сервер. Т.е. сделать так, чтобы он прекратил отвечать на запросы, и вам придётся этот сервер перезапустить. Очевидно, что это затронет и все виртуальные машины, которые запущены на этом сервере. Но при этом злоумышленник не сможет выполнить произвольный код на родительской ОС или других ВМ, а также повысить свои привилегии в системе.
  • Для использования уязвимости необходимо выполнить в виртуальной машине некую последовательность инструкций (машинных команд), которая не разглашается. Например, загрузить и выполнить специально подготовленный исполняемый файл. А для этого необходимы действуюие учётные данные пользователя с правом запускать произвольные приложения. Удалённо (по сети, не считая служб «Удалённого рабоче стола») или анонимно использовать уязвимость невозможно. Это значит, что использовать уязвимость могут только ваши собственные пользователи или коллеги, либо кто-то, кто завладел их учётными данными.
  • На сегодня не известно ни одного случая применения этой уязвимости в промышленных средах. Т.е. предполагается, что до момента обнародования настоящей информации и публикации исправления, об этой уязвимости не знал никто, кроме уполномоченных сотрудников Microsoft, которые работали над исправлением, а также лица, которое обнаружило уязвимость и в частном порядке уведомило о ней Microsoft.

В случае, если на вашем сервере установлена роль Hyper-V, вам рекомендуется как можно скорее установить исправление. Для этого можно использовать такие инструменты, как Windows Update, Microsoft Update, Windows Server Update Services (WSUS) или System Center Configuration Manger (ConfigMgr). Если роль Hyper-V не установлена, то службы автоматического определения необходимых обновлений не будут предлагать исправление для описываемой уязвимости. Однако вы всегда можете загрузить и установить его вручную. В виртуальные машины устанавливать это исправление не требуется.

Обновление выпущено только для 64-битных изданий Windows Server 2008 и Windows Server 2008 R2. Каждое из них применимо и к соответствующей версии Microsoft Hyper-V Server. Обновление в равной степени применимо к полной установке Windows Server и к варианту установки Server Core. Обновление содержит единственный пакет, который называется «wvid.inf» и содержит Virtualization Infrastructure Driver (VID). В Windows Server 2008 этот пакет состоит из файлов «vid.sys» и «wvid.inf». В Windows Server 2008 R2 — из файлов «vid.dll», «vid.sys» и «wvid.inf». Версии файлов перечислены в следующей таблице.

OS Milestone Service Branch Package Build
Windows Server 2008

SP1

GDR

6.0.6001.18372 (vistasp1_gdr.091201-0038)

LDR

6.0.6001.22572 (vistasp1_ldr.091201-0038)

SP2

GDR

6.0.6002.18156 (vistasp2_gdr.091201-0038)

LDR

6.0.6002.22278 (vistasp2_ldr.091201-0038)
Windows Server 2008 R2

SP0

GDR

6.1.7600.16475 (win7_gdr.091201-1636)

LDR

6.1.7600.20587 (win7_ldr.091201-1636)

Информация о версиях файлов приведена исключительно в справочных целях. Файлы обновления распространяются в виде двух дистрибутивов — по одному для каждой версии ОС. Механизм обновления Windows самостоятельно выберет нужную версию пакета для установки в каждом случае. Все дистрибутивы обновлений применимы к любой языковой версии.

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

Загрузить обновление для установки вручную из Центра загрузки Microsoft

Совместная вебтрансляция Microsoft и Quest Software о решениях виртуализации на рабочих местах.

Quest LogoСегодня вечером состоится вебтрансляция о решениях виртуалиции на рабочих местах (Desktop Vritualization), которую проводит компания Quest Software совместно с Microsoft.

К сожалению, информация о мероприятии попала ко мне внезапно, и её совсем немного. Известен лишь список заявленных тем. Среди них называется процесс перехода на Windows 7; связанные с этим затраты на обновление парка оборудования; вопросы безопасности данных, хранящихся на рабочих местах сотрудников; процессы обновления ПО; варианты предоставления удалённого доступа к своим рабочим местам для разных категорий пользователей и обеспечение непрерывности бизнеса (business continuity) на случай чрезвычайной ситуации, а также ответы на вопросы участников. Судя по компаниям-организаторам мероприятия, очевидно, что речь пойдёт про такие продукты, как Windows Virtual PC, MED-V (Microsoft Enterprise Desktop Virtualization) и, возможно, App-V (Application Virtualization) и решениях VDI (Virtual Desktop Infrastructure), а также про сторонние средства управления, дополняющие эти технологии.

Начало вебтрансляции в 20:00 по Москве. Для участия требуется регистрация на сайте Virtualization Review.

Hyper-V и диапазоны MAC-адресов. Как избежать конфликтов?

С ростом популярности Hyper-V, увеличением числа серверов виртуализации на предприятиях и количества используемых виртуальных машин становится актуальным вопрос сохранения уникальности используемых виртуальными машинами MAC-адресов. Как быть уверенным в том, что конфликтов из-за совпадения MAC-адресов у разных виртуальных машин не будет? Конечно, вы можете вручную задавать MAC-адрес для каждой сетевой карты каждой виртуальной машины — а также виртуальных адаптеров, подключающих «родительский» раздел к виртуальным сетям). Такой адрес называется «статическим» (Static). Но этот способ трудоёмок, слабоэффективен и подвержен челвеческим ошибкам. Для устранения этой проблемы в Windows Server 2008 и 2008 R2 существует механизм, автоматически задающий для виртуальных адаптеров последовательные MAC-адреса из специального диапазона. Однако по умолчанию этот диапазон ограничен лишь 256 значениями и не может гарантировать уникальность MAC-адресов ВМ, запущенных на разных серверах. Как же правильно спланировать инфраструктуру?

Способ первый. Ручная настройка серверов виртуализации

В Windows Server 2008 и 2008 R2 диапазоны MAC-адресов виртуальных машин Hyper-V задаются значениями MinimumMacAddress и MaximumMacAddress ключа реестра HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization. В Windows Server 2008 R2 нет нужды просматривать и редактировать эти значения напрямую в реестре — они были добавлены в интерфейс диалогового окна «Virtual Network Manager» (Диспетчер виртуальных сетей).

Эти значения генерируются ОС при установке роли Hyper-V. Первые три октета являются идентификатором (00-15-5d), закреплённым за Microsoft как производителем сетевой карты (хоть она и виртуальная). Следующие два октета берутся из второй половины IP-адреса первого сетевого адаптера родительского сервера. На рисунке выше это 0b-27, потому что единственный IP-адрес моего сервера равен 192.168.11.39. Последний октет у значения MinimumMacAddress по умолчанию равен нулю, а у значения MaximumMacAddress равен FF — то есть на 256 больше начального.

Важно понимать, что диапазоны адресов генерируются только при установке роли Hyper-V и не сбрасываются при выполнении команды SysPrep. Так что если вы не используете SCVMM для управления инфраструктурой виртуализации (об этом см. ниже) и развёртываете серверы с помощью клонирования (например, используя MDT) — то выполняйте установку роли Hyper-V уже после применения образа, либо сами изменяйте диапазоны MAC адресов (вручную или сценарием). Не забывайте при этом проверять, чтобы диапазоны на разных серверах виртуализации не пересекались. Альтернативным вариантом будет перед запуском утилиты SysPrep удалить из реестра значения MinimumMacAddress и MaximumMacAddress. После развёртывания из образа система сгенерирует их автоматически при следующем запуске службы VMMS.

Динамический MAC-адрес присваивается виртуальному адаптеру при первом включении виртуальной машины и остаётся в свойствах ВМ до её удаления (или смены MAC-адреса на статический). Это верно как для унаследованных (Legacy), так и для синтетических (Synthetic) сетевых адаптеров, вне зависимости от того, подключены они к внешней (External), внутренней (Internal) или частной (Private) виртуальной сети. С настройками по умолчанию вам гарантирована уникальность 256 MAC-адресов, что дает возможность запустить 256 виртуальных машин, имеющих по одному сетевому интерфейсу. Или всего 64 виртуальных машины с четырьмя интерфейсами в каждой. Или любую комбинацию при условии, что суммарное количество интерфейсов запущенных виртуальных машин не превысит 256. Если вам требуется обеспечить возможность одновременной работы на одном узле большего числа виртуальных машин, потребуется расширить на этом узле диапазон MAC-адресов. Технически вы можете задать для него любые значения. Во избежание конфликтов с MAC-адресами физического оборудования рекомендется придерживаться диапазона, зарегистрированного за Microsoft (00-15-5D). Например, установив значение MinimumMacAddress в 00-15-5D-01-80-00 и MaximumMacAddress в 00-15-5D-01-8F-FF, вы получите диапазон из 4096 уникальных MAC-адресов на узле. И можете сделать аналогичные настройки на 4095 других узлах, задавая непересекающиеся диапазоны, начинающиеся на 00-15-5D.

Способ второй. System Center Virtual Machine Manager

Установив SCVMM и развернув его агентов на всех серверах виртуализации, создавая виртуальные машины и меняя их сетевые настройки из консоли администратора SCVMM, вы автоматически решаете задачу уникальности MAC-адресов виртуальных машин. SCVMM контролирует диапазоны динамических адресов на всех управляемых узлах, а при указании статических MAC-адресов проверяет их уникальность.

Для всех управляемых из SCVMM виртуальных машин на базе Hyper-V, VS2005 или VMware ESX зарегистрирован глобальный диапазон из 3998719 уникальных MAC-адресов в от 1D-D8-B7-1C-00 до 00-1D-D8-F4-1F-FF. Вы можете изменить этот диапазон, зайдя в представление «Administration» консоли администратора VMM, выбрав пункт «Networking» и управляя значениями полей «Global Static MAC Address Range». При этом следует соблюдать два правила.

  • Первые три октета для начального и конечного значения диапазона MAC-адресов должны быть одинаковыми.
  • Нельзя использовать диапазоны, уже зарегистрированные за Microsoft и VMware. Их список можно посмотреть в статье «How to Set the Static MAC Address Range for Virtual Network Devices» из официальной документации по SCVMM.

Следует понимать, что при создании виртуальных машин из консоли SCVMM или его же коммандлетов Powershell, сетевые интерфейсы ВМ получат статические MAC-адреса из диапазона, указанного в настройках VMM (Global Static MAC address Range). Если же вы создадите виртуальную машину вручную через консоль (или API) Hyper-V Manager, то она получит динамический MAC-адрес из диапазона, заданного локально на узле, — согласно правилам, указанным в описании первого способа.

Если вы столкнётесь с конфликтами из-за дублирующихся MAC-адресов, вам может оказаться непросто найти источник этой проблемы. Очевидно, что при потере пакетов или странных задержках сети следует обращать внимание на MAC-адреса виртуальных машин, если только вы не используете SCVMM. Надеюсь, что теперь вам будет несколько проще спланировать непересекающиеся диапазоны уникальных MAC-адресов, удовлетворяющие потребностям вашей инфраструктуры.

Вебтрансляция о продуктах SteelEye DataKeeper для построения территориально распределённых кластеров Hyper-V

SteelEye Logo Известно, что для построения кластера Hyper-V требуется общее хранилище, к которому будут иметь доступ все узлы кластера, и на котором будут храниться файлы виртуальных машин. В случае, когда все узлы кластера находятся в непосредственной физической близости (или хотя бы в пределах одного ЦОД) такое решение не вызывает вопросов. Существует множество хорошо известных способов организации общего хранилища — начиная общей шиной SAS и заканчивая SAN с подключением по FibreChannel. Поддержка работы со всеми этими типами хранилищ встроена в ОС Windows Server.

Однако что делать в случае, когда требуется обеспечить защиту от выхода из строя целого ЦОД? Для таких случаев предусмотрена возможность объединения в кластер узлов, которые физически расположены в разных ЦОД. Но как быть с данными? Вопрос организации общего хранилища здесь оказывается не столь тривиален, как в предыдущем случае. Ведь выход из строя ЦОД автоматически означает потерю данных, которые в нём хранятся. А значит — для борьбы с этим нам необходима независимая копия данных в каждом ЦОД. Однако эти копии должны быть синхронизированы, иначе пользы от такого решения не много. Проще говоря, необходим механизм репликации данных между СХД, находящимися в разных ЦОД.

Кластеры Windows Server вообще и Hyper-V в частности не содержат встроенного механизма репликации данных и предполагают, что все узлы кластера подключены в одной и той же копии данных. А значит — разница между физическими хранилищами и репликация между ними должны быть полностью прозрачны для ОС и используемой ею файловой системы. Иными словами, такие механизмы как DFS-R хоть и встроены в состав Windows Server, не подходят для построения территориально распределённого кластера виртуализации.

И вот здесь открываются возможности для решений компаний-партнёров. Существует несколько продуктов и технологий, которые решают поставленную задачу и совместимы с Hyper-V. Эти решения могут быть как аппаратными (встроенными в реализацию СХД), так и программными. Одним из поставщиков таких решений является компания SteelEye Technology, Inc. Она предлагает продукты для аварийного восстановления (Disaster Recovery), репликации данных (Data Replication) и построения территориально распределенных и мульти-серверных кластерных систем (Multi-Site Clustering).

В эту пятницу, 29 января 2010 с 15.30 до 16.30 по московскому времени компания SteelEye проводит обзорную вебтрансляцию для партнёров и потенциальных заказчиков. Эта вебтрансляция будет посвящена презентации линейки продуктов SteelEye и тому, как они могут дополнить решения виртуализации Microsoft. Вот как выглядит заявленная программа.

  • Обзор продуктов SteelEye и ключевых различий между ними;
  • отличия решений семейства LifeKeeper от продуктов DataKeeper;
  • обзор продукта SteelEye DataKeeper for Windows;
  • обзор продукта SteelEye DataKeeper Cluster Edition for WFSC;
  • ключевые отличия между продуктами DataKeeper и DataKeeper Cluster Edition;
  • обзор системы Microsoft Windows Server Failover Clustering (WSFC);
  • расширение возможностей WSFC с помощью DataKeeper Cluster Edition;
  • что такое Hyper-V;
  • расширение возможностей Hyper-V с помощью DataKeeper Cluster Edition;
  • примеры внедрения решений у клиентов;
  • конкурентные преимущества продуктов;
  • в каких случаях стоит предлагать LifeKeeper, DataKeeper или DataKeeper Cluster Edition.

Для участя в вебтрансляции требуется предварительная регистрация на сайте компании Nordicmind.

Hyper-V и NUMA. Балансировка виртуальных машин в системах NUMA

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

Использование многопроцессорных и многоядерных систем подразумевает еще больше проблем с доступом к памяти. Разделение шины памяти между несколькими процессорами еще сильнее снижает скорость получения данных из памяти. Кроме того, возникают новые сложности, связанные с обеспечением когерентности кэша процессоров. С инженерной точки зрения одним из простейших подходов к ускорению пропускной способности доступа к памяти в многопроцессорных системах является технология NUMA («Non-Uniform Memory Access» или «Non-Uniform Memory Architecture»). В этом случае у каждого процессора есть «своя часть» оперативной памяти, к которой он получает доступ через выделенный контроллер. При этом к памяти, привязанной к другим процессорам, можно получить доступ через «чужой» контроллер. Естественно, скорость получения данных при обращении к «чужой» памяти будет значительно ниже, чем при обращении к «своей». Накладные расходы, связанные с обеспечением когерентности кэшей, также повышают задержку при доступе к памяти другого процессора.

Современные серверные платформы на базе процессоров Intel и AMD используют NUMA с помощью технологий QPI и HyperTransport соответственно. Кроме того, существует технология IBM Multinode, которая позволяет задействовать NUMA на более высоком уровне путем объединения нескольких серверов (уже использующих NUMA) на коммутаторе. Примером систем, реализующих NUMA, являются HP ProLiant DL785 G5/G6 и IBM x3850 M2.

Серверные операционные системы, поддерживающие NUMA, — такие, как Windows Sever 2008 и Windows Server 2008 R2 — должны оптимизировать использование процессорами памяти, доступной для них наиболее быстро. Что происходит в данном случае с виртуальными машинами?

Мы знаем, что Hyper-V не использует жесткую привязку к физическому процессору (Processor affinity). Виртуальная машина использует те логические процессоры, которые в настоящее время свободны и предоставляются гипервизору постановщиком ресурсов (Scheduler). Но при этом каждая виртуальная машина имеет специальную характеристику для задания «узла NUMA». Она позволяет гипервизору указать, с каких процессоров и с какой шины памяти будут использоваться ресурсы для данной ВМ.

Этот параметр задаётся при каждом включении виртуальной машины, получая ссылку на наиболее свободный на момет её запуска узел. В случае недостатка ресурсов в «своём» узле NUMA, гипервизор начинает предоставлять виртуальной машине ресурсы другого узла. Поэтому технически могут возникать ситуации, в которых виртуальные машины используют ресурсы нескольких узлов NUMA одновременно. Чтобы предотвратить такое неэффективное использование ресурсов, администратор может в явном виде задать предпочитаемый узел NUMA для каждой виртуальной машины. При этом вы можете в любой момент проверить, какой узел использует виртуальная машина.

В моём примере созданы четыре виртуальным машины.

  • Test-1 с двумя виртуальными процессорами и 3 ГБ памяти;
  • Test-2 с четырьмя виртуальными процессорами и 4 ГБ памяти;
  • Test-3 с двумя виртуальными процессорами и 3 ГБ памяти;
  • Test-4 с одним виртуальным процессором и 1 ГБ памяти.

Если я запущу все виртуальные машины и открою Performance Monitor, то в строке «Preferred NUMA Node Index» я увижу, на каком из узлов NUMA запущена виртуальная машина. В нашем случае гипервизор сбалансировано распределил четыре виртуальных машины между двумя узлами NUMA.

Узлы NUMA нумеруются с нуля, две виртуальных машины разместились на узле 0, а две на узле 1. Причем используемое количество логических процессоров и памяти суммарно на каждом из узлов NUMA максимально схоже — так работает балансировка.

Теперь предположим, что виртуальная машина Test-2, которой мы предоставили наибольшее количество процессоров и памяти, в действительности требует большей производительности чем остальные. И что мы бы хотели разместить её на отдельном узле NUMA, оставив все прочием машины на другом.

Мой коллега из Windows Perfomance Team разместил в своём блоге сценарий Powershell, который позволяет явно указывать узел NUMA для виртуальной машины. На всякий случай также прикладываю файл со сценарием к этой статье. Используя этот сценарий, я в явном виде укажу виртуальной машине Test-2 всегда запускаться на узле 0: numa.ps1 /set test-2 0. А виртуальные машины Test-1, Test-3 и Test-4 будут запускаться на узле 1: numa.ps1 /set test-1 1, numa.ps1 /set test-3 1, numa.ps1 /set test-4 1. Изменение привязки к узлу NUMA работает только после включения виртуальной машины. Если виртуальная машина была включена, вам потребуется перезапустить её.

Теперь виртуальная машина Test-2 исключительно занимает узел 0. Заданное предпочтение узла NUMA совместимо с Live Migration и Quick Migration. Переместив такую виртуальную машину на другой узел кластера, вы увидите, что привязка к конкретному узлу NUMA «переехала» вместе с машиной.

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

Hyper-V в Windows Server 2008 R2 и режим совместимости процессора

С появлением Live Migration в Windows Server 2008 R2 и возможностью переноса запущенной виртуальной машины с одного узла на другой встает вопрос — одинаковы ли используемые в серверах процессоры? Если отличаются, то насколько? Не повредит ли это работе приложений в виртуальной машине при переносе с более нового процессора на более старый? Поддерживается ли построение кластера из разных серверов, где процессоры могут отличаться поколением и своими возможностями?

Все эти вопросы нам помогает разрешить новая возможность, которая появилась в Windows Server 2008 R2 и называется «режим совместимости процессора для виртуальной машины». Она позволяет перемещать виртуальную машину между серверами с процессорами одного производителя, но совершенно разных поколений. Действительно, режим совместимости не поможет перемещать запущенную виртуальную машину между процессорами производства Intel и AMD. Это происходит из-за совершенно различных механизмов адресации памяти. Зато режим совместимости процессора позволит вам переносить виртуальную машину, например, между процессорами Intel Pentium IV, Intel Core 2 Duo и Intel Core i7 — так, что никакое приложение, запущенное в виртуальной машине, не пострадает. Как же это реализовано?

В нормальном состоянии когда включается виртуальная машина, гипервизор исследует возможности процессора, на котором происходит запуск. Полученный набор будет разрешён для использования виртуальному процессору и доступен ОС и приложениям, запущенным внутри виртуальной машины. Этот набор неизменен до выключения конкретной виртуальной машины. Но когда для заданной виртуальной машины вы включаете режим совместимости процессора, гипервизор производит действие, которую можно обозначить как «нормализацию» набора инструкций процессора. В результате набор инструкций приводится к подмножеству возможностей, общих для всех процессоров текущего производителя, поддерживающих Hyper-V. Это позволяет смело переносить запущенную виртуальную машину с текущего сервера на любой другой, если производитель процессоров в исходном и целевом серверах совпадает. Ведь при работе ВМ виртуальный процессор будет использовать лишь ограниченый набор инструкций, присутствующий на всех процессорах, на которых работает Hyper-V. Все прочие инструкции физического процессора «скрываются» от виртуального процессора путем перехвата инструкции CPUID и очисткой тех битов в ответе процессора, которые обозначают «лишние» инструкции.

На самом деле, идея не нова. Intel и AMD сами реализовали аппаратный способ маскировки инструкций: технологии Flex Migration и Extended Migration соответственно. Однако они появились лишь в самых последних моделях процессоров, так что Microsoft предлагает использовать программный метод как более гибкий. Гибкость программного подхода к маскировке инструкций заключается в том, что он может включаться индивидуально для каждой виртуальной машины и не требует изменений в BIOS сервера. Для этого режима нет никаких особенных аппаратных требований. Вы можете пользоваться им на любой системе Windows Server 2008 R2, где работает Hyper-V. При этом режим совместимости процессора виртуальной машины в Hyper-V полностью поддерживает и аппаратные технологии Flex и Extended Migration при их наличии.

Во время тестирования этой технологии члены команды виртуализации Microsoft собрали четырехузловой кластер, состоящий из серверов с процессорами четырех различных поколений: Pentium 4 VT, Core 2 Duo, Core 2 Quad и Core i7 (Nehalem). Затем был написан сценарий, который примерно раз в 15 секунд в цикле переносил виртуальную машину с узла на узел при помощи Live Migration. За неделю примерно по такой схеме было произведено около 110 000 операций Live Migration одной виртуальной машины.

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

  • Для процессоров Intel скрываются следующие наборы инструкций и технологии: SSSE3, SSE4.1, SSE4.2, POPCNT, Misaligned SSE, XSAVE, AVX.
  • Для процессоров AMD скрываются следующие наборы инструкций и технологии: SSSE3, SSE4.1, SSE4.A, SSE5, POPCNT, LZCNT, Misaligned SSE, AMD 3DNow!, Extended AMD 3DNow!.

Очевидно, что в будущем при включении данного режима все новые инструкции, которые появятся в следующих поколениях процессоров Intel и AMD, также будут скрываться от виртуальных процессоров.

Вторая версия сценария «Core Configurator»

Мы только что обсудили утилиту SConfig, которая при помощи простого текстового интерфейса позволяет решать некоторые начальные административные задачи в Microsoft Hyper-V Server 2008 R2 и Windows Server 2008 R2, установленном в варианте Server Core. Но многие администраторы всё-таки предпочитают графические утилиты, и для них на Codeplex существует проект Core Configurator. (Постоянные читатели нашего блога должны помнить о нём ещё с прошлого года).

Что же это такое? Специально созданный сценарий, который имеет простой графический интерфейс. Не так давно была выпущена вторая версия этого сценария, которая поддерживает все новые возможности Windows Server 2008 R2. В частности, теперь «основной» сценарий для выполнения тех задач, которые вы укажите в GUI, вызывает коммандлеты PowerShell. Возможности Core Configurator 2.0 включают в себя:

  • настройки лицензирования ОС;
  • настройки сети;
  • графический интерфейс к DCPromo;
  • настройки инициатора iSCSI;
  • управление ролями и компонентами ОС;
  • создание и удаление пользователей и групп, а также предоставление им прав доступа;
  • управление разделяемыми файловыми ресурсами;
  • настройки Windows Firewall with Advanced Security;
  • настройки хранителя экрана;
  • установку и удаление драйверов;
  • настройку прокси;
  • настройку Windows Update;
  • настройку MPIO;
  • начальный функционал управления виртуальными машинами;
  • возможность переименования компьютера и подключения его к домену;
  • установку и удаление программ;
  • управление службами ОС;
  • настройки WinRM;
  • ведение журнала команд, выполненных утилитой.

    

Посмотрев на утилиту, могу сказать, что она удобнее и функциональнее встроенного в ОС сценария SConfig. Также замечу, что:

  • утилита представляет собой UI для скриптов PowerShell, которые используют встроенные API. Никаких неподдерживаемых операций над реестром или файлами;
  • если вы ещё не установили PowerShell на сервере — утилита предложит сделать это сама;
  • кроме начальных настроек ОС утилита умеет минимально управлять виртуальными машинами. Включать, выключать, перезагружать, видеть, что там запущено;
  • на случай, если вы планируете использовать утилиту в виртуальной машине, на странице проекта можно загрузить готовый образ компакт-диска в формате ISO.

Windows Server 2008 R2 Server Core и Microsoft Hyper-V Server R2: утилита «SConfig»

Год назад, с появлением Hyper-V Server 2008, мы говорили об утилите «HVConfig», предназначенной для начальной настройки Hyper-V Server 2008. С выходом версии R2 утилита возмужала, расширила свои возможности, сменила имя на «SConfig» и вошла в состав установки как Hyper-V Server 2008 R2, так и варианта «Core» для самого Windows Server 2008 R2.

Не стану углубляться в отличия вариантов установки «Core» от обычной полной версии. Напомню лишь, что для уменьшения количества потенциальных уязвимостей и сокращения накладных расходов в серверной ОС существует возможность установки в минимальной конфигурации. Этот вариант не включает в себя графического интерфейса, обозревателя Internet Explorer, проигрывателя Windows Media Player, части ролей и компонентов, без которых большинство промышленных серверов может обойтись. Установка ОС в варианте «Core» позволяет вам устанавливать меньше обновлений безопасности, реже перезагружаться, но также несет в себе некоторые неудобства в управлении из-за отсутствия привычного графического интерфейса.

Именно для упрощения начальных настроек ОС после установки и предназначена утилита «SConfig». Ведь после этого любые более глубокие и тонкие доработки вы сможете осуществлять удаленно при помощи привычных инструментов. Что же возможно выполнить при помощи новой утилиты?

  1. Присоединить сервер к домену;
  2. переименовать сервер;
  3. настроить возможность удаленного доступа (через Server Manager и PowerShell, создав в том числе и исключения для встроенного брандмауэра);
  4. настроить Windows Update;
  5. включить Remote Desktop (если вы хотите запускать утилиты командной строки через традиционный «Удалённый рабочий стол»);
  6. настроить параметры сети (статическую или динамическую адресацию IP. В том числе — для нескольких сетевых карт, что не было возможно в HVConfig).

Как же воспользоваться утилитой SConfig? Очень просто — выполнить sconfig в командной строке:

Очевидно, что оптимальным будет максимально автоматизировать любую дальнейшую настройку — используя для этого сценарии и/или групповые политики. Для добавления или удаления ролей вам потребуется использовать другие средства — коммандлеты PowerShell или утилиту DISM (утилита ServerManagerCMD с выходом Windows Server 2008 R2 считается устаревшей и не рекомендуется к использованию. Вероятно, она будет исключена из будущих версий). Для более тонкой настройки сервера и его ролей используйте Server Manager, запущенный удалённо на полной установке Windows Server 2008 R2 или Windows 7 (в последнем случае потребуется установка Remote Server Administration Tools).

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

Сегодня хотелось бы поговорить об операции сжатия виртуального диска (Compact Disk). Это процедура уменьшения размера, который файл динамического виртуального диска (Dynamic VHD) занимает на файловой системе родительского раздела (физическом диске). Ведь как только на физическом диске закончится свободное место — все виртуальные машины, работающие на этом диске, перейдут в состояние «Paused/Critical» и прекратят свою работу.

Иногда администраторы настолько обеспокоены этой угрозой, что заранее распределяют и ограничивают размер диска каждой виртуальной машины. Для этого используются фиксированные виртуальные диски (Fixed VHD). Они занимают на физическом диске весь указанный объем сразу на этапе создания. Это удобно для тех ситуаций, когда один вместительный физический диск (или LUN) используется для запуска большого количества виртуальных машин. При этом суммарный размер виртуальных дисков может приближаться к объему физического диска. Однако фиксированные виртуальные диски занимают много места и крайне неудобны при копировании и переносе. Кроме того, это не всегда спасает от вышеуказанной проблемы. Ведь помимо собственно виртуальных дисков, место может запросто оказаться занято снимками (Snapshot). Или всё место займёт одна виртуальная машина, к которой подключён единственный динамический диск . Тех, кого беспокоит именно такой случай, жду в комментариях к статье. Если эта проблема окажется актуальна — поговорим о квотировании дискового пространства для виртуальных машин.

Для динамических виртуальных дисков характерна и другая проблема. Зачастую размеры файла виртуального диска на физическом диске вырастают до большого значения. Тогда как в действительности на этом виртуальном диске остаётся много свободного места. Которое, однако, остаётся занятым с точки зрения родительской системы. Такое может случиться, например, если вы провели в виртуальной машине операцию резервного копирования. В процессе этого на виртуальном диске создаётся временный файл резервной копии, что влечёт за собой рост динамического диска. Затем резервная копия переносится в специализированное хранилище или на ленту, из виртуальной машины файл удаляется, место на файловой системе гостевой ОС освобождается. Но, разумеется, виртуальный диск при этом не уменьшается. Он продолжает занимать много места — тогда как объём полезной информации, которая на нём хранится, остаётся небольшим.

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

Способ первый. Virtual Server, Virtual PC, Windows Virtual PC

Это более старый способ. Он использует API таких продуктов, как Virtual Server 2005, Virtual PC 2004/2007 или Windows Virtual PC для Windows 7. При запуске операции сжатия производится поблочное сканирование файла виртуального диска на наличие полностью пустых блоков. Если блок целиком заполнен только нулями, то при операции сжатия этот блок не копируется. Да, именно не копируется. Для сжатия дисков фактически создаётся новый виртуальный диск, в который последовательно копируются все ненулевые блоки из исходного (сжимаемого) диска.

Для повышения эффективности этой процедуры в Virtual Server и Virtual PC существовала утилита «Disk Pre-Compactor». Она занимается тем, что «зануляет» (т.е. заполняет нулями) неиспользуемое место на диске. Ведь, как известно, при удалении файла в ОС обычно удаляется лишь ссылка на сам файл в файловой таблице. По соображениям производительности ОС не удаляет сами данные с диска. Но поскольку информация об использовании ранее занятой области диска удаляется, это место теперь считается незанятым — и виртуализация тут ни при чем. Очевидно, что раз на диске фактически остались данные, они вряд ли являются сплошными нулями. В результате при сжатии виртуального диска это место не будет считаться свободным и не будет освобождено. Отдельно скажу, что предварительная дефрагментация диска (перед запуском Disk Pre-compactor) позволяет добиться ещё меньшего размера результируемого диска.

Итак, чем достоинства и недостатки такого подхода?

Плюсы:

  • Работает с любой файловой системой внутри виртуального диска, так как анализирует диск поблочно. Ведь очевидно, что блок, заполненный нулями, остаётся таковым при использовании любой файловой системы. (Однако Pre-compactor оптимизирует только диски с файловой системой FAT и NTFS).
  • Может сжимать дифференциальные виртуальные диски (только при использовании Windows Virtual PC в Windows 7).
  • Работает на любой ОС, где возможна установка Virtual Server или Virtual PC.

Минусы:

  • Для достижения эффективного результата требуется предварительный запуск утилиты Disk Pre-compactor.
  • Для достижения оптимального результата требуется предварительная дефрагментация всех томов внутри виртуального диска.
  • Требует дополнительного дискового пространства на физическом диске для создаваемой копии со сжатым виртуальным диском.
  • Читает и записывает все данные поблочно, что является не очень быстрым процессом и требует определенного времени для больших дисков.

Способ второй. Hyper-V Manager и Native VHD в Windows 7

Это новая технология сжатия. Он используется в Hyper-V Manager и в консоли Disk Administrator в Windows 7 и Windows Server 2008 R2 (так называемая «встроенная поддержка виртуальных дисков» — Native VHD). Вначале для всех разделов, расположенных внутри виртуального диска, из файловой таблицы NTFS считывается информация о расположении файлов и папок. Затем блоки, не содержащие файлов, перечисленных в таблице, просто удаляются из виртуального диска. Операция проводится напрямую над исходным виртуальным диском без создания второго файла и копирования информации. В чем же достоинства и недостатки нового подхода?

Плюсы:

  • Не требуется предварительной подготовки диска. Единственное требование (справедливое, впрочем, и для первого способа) — сжимаемый в настоящий момент виртуальный диск не должен использоваться запущенными виртуальными машинами или быть подключен к родительской ОС через консоль Disk Administrator.
  • Не требует дополнительного пространства на физическом диске, так как не копирует данных.
  • Работает значительно быстрее старого метода сжатия.

Минусы:

  • Поддерживается лишь файловая система NTFS.

Пользователи Windows 7, установившие себе Windows Virtual PC, могут использовать любой из этих способов или попробовать оба. Расскажите нам о результатах!

HP Sizer for Microsoft Windows Server 2008 R2 Hyper-V — советы по выбору серверов от известного производителя оборудования

Часто разговаривая о виртуализации мы слышим такие слова, как «экономия» и «консолидация». Они подразумевают возможность размещения на одном физическом сервере некоторого количества виртуальных машин, взамен каждой из которых — без использования виртуализации — потребовался бы отдельный сервер. Как же понять — сколько именно ресурсов будет необходимо виртуальным машинам, какой сервер нужно закупать для консолидации имеющихся задач или какую нагрузку «потянут» уже имеющиеся серверы? Для того, чтобы помочь вам ответить на эти вопросы, компания Hewlett-Packard разработала специализированный инструмент планирования под названием «HP Sizer for Microsoft Windows Server 2008 R2 Hyper-V» (также иногда он упоминается как «HP Sizer for Microsoft Hyper-V 2008 R2»).

Этот инструмент может использовать как свою собственную базу с типовыми значениями загрузки серверов, имеющих заданные характеристики, так и отчёты, полученные с помощью Microsoft Assessment and Planning (MAP) Toolkit версий 3.0 или 4.0. То есть вы можете при помощи MAP собрать статистику по загрузке именно ваших серверов за определённый период, а затем загрузить результаты обследования в HP Sizer for Microsoft Windows Server 2008 R2 Hyper-V — и получить советы по выбору оборудования для консолидации.

По результатам инвентаризации вы получите требования к диску и памяти — а также сможете добавить к этим значениям некоторый резерв на будущее. Далее укажите, какое количество LUN на системе хранения вы планируете использовать под виртуальные машины, требуется ли вашим виртуальным машинам загрузка с SAN и собираетесь ли бы использовать снимки (Snapshot). При этом можно отдельно задать такой важный для сервера показатель, как утилизация оборудования. Насколько интенсивно вы хотите задействовать ваш сервер? Далее — какие серверы вы предпочитаете использовать в своей инфраструктуре: лезвия (серия «BL»), полноразмерные серверы для размещения в стойках («DL») или отдельно стоящие настольные серверы («ML»)? Какой производитель процессоров вызывает у вас больше доверия?..

Результатом станет чёткая рекомендация по выбору оборудования для именно вашего проекта. Причём — выданная самым популярным в корпоративном секторе России производителем серверов и дисковых хранилищ.

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

Hyper-V и производительность. Часть 7 — Сравниваем производительность виртуальных дисков. Fixed/Dynamic/Pass-through

Прошло уже более года с публикации моей предыдущей заметки из цикла об измерении производительности Hyper-V. С тех пор вышла новая ОС Windows Server 2008 R2, которая принесла с собой вторую версию Hyper-V. Одним из заявляемых улучшений гипервизора является существенное повышение производительности в работе динамических виртуальных жёстких дисков дисков (Dynamic VHD). Сегодня мы сравним три основных способа подключения виртуальных дисков к виртуальной машине: pass-through — предоставление физического диска (или LUN) напрямую виртуальной машине; VHD Fixed — создание файла с виртуальным диском фиксированного размера; VHD Dynamic — создание файла с виртуальным диском с постепенным увеличением размера диска по необходимости.

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

В Windows Server 2008 Microsoft категорически не рекомендовала использовать динамические виртуальные диски в производственных средах из соображений производительности. С выходом Windows Server 2008 R2 заявлено, что все проблемы с производительностью динамических VHD дисков остались в прошлом, и теперь их можно использовать на промышленных нагрузках. Давайте сравним производительность сами и вынесем свой вердикт.

В нашем тесте сервер Dell PowerEdge 1950 подключен к хранилищу Dell AX150. Созданы три LUN по 10 гигабайт. Вирутальной машине с Windows Server 2008 R2 отданы три диска: динамический VHD диск G:; фиксированный VHD диск F:; pass-through диск E:. Производительность измеряется программой IOMeter.

Глядя на результаты можно заметить — pass-through диск всегда выигрывает в производительности. Задержка меньше, скорость выше. В среднем преимущество по сравнению с виртуальными дисками — 0.5-1%.

Глядя на преимущества динамических виртуальных дисков — такие как экономия дискового пространства, простота выделения, удобство резервного копирования, возможность создания дифференциальных дисков, возможность использования снимков (snapshots) в виртуальных машинах — по сравнению с совсем незначительными потерями в производительности, я для себя решил, что в абсолютном большинстве случаев я буду использовать теперь именно динамические виртуальные диски. Гнаться за 1% дисковой производительности, достигаемом выделением отдельного LUN определенного размера на каждый диск виртуальной машины, я не вижу смысла. Тем более, что этот 1% дисковой производительности в реальных задачах размоется в еще менее заметное значение, ибо большинство задач упирается совсем не в недостаток производительности дисков.

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

Установка SCVMM 2008 R2 и интеграция с OpsMgr 2007 R2

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

Установив и настроив SQL Server 2008 и System Center Operations Manager 2007 R2 мы готовы приступить к установке собственно виновника данного цикла статей — System Center Virtual Machine Manager 2008 R2. Я исхожу из того, что необходимые доменные учетные записи, описанные в первой статье цикла вы уже создали. Также я предполагаю, что ОС у вас уже обновлена до Service Pack 2 (или вы используете Windows Server 2008 R2). Поэтому установка различных обновлений ОС, в отличие от процесса, описанного мной год назад, вам не потребуется.

Установку SCVMM R2 мы начинаем с роли VMM Server. Проходим проверку совместимости, указываем каталог для установки и выбираем имя нашего экземпляра SQL Server, отмечая необходимость создания новой базы данных.

Указываем каталог для содания Библиотеки SCVMM, номера портов, которые агенты будут использовать для взаимодействия с сервером, и доменную учетную запись, в контексте которой будет работать служба Virtual Machine Manager.

По окончании установки возвращаемся на первый экран мастера и запускаем процесс «Configure Operations Manager». Важно — не устанавливайте консоль администратора (VMM Administrator Console) до проведения интеграции с OpsMgr, ибо в таком случае в процессе интеграции вам потребуется ее удалить.

Сам процесс настройки интеграции с OpsMgr установит консоль администратора и необходимые OpsMgr Management Packs. Далее вы должны запустить консоль администратора и в разделе «Administration» выбрать раздел «System Center». Укажите имя вашего сервера OpsMgr в поле «Operations Manager Server».

В поле «Operatins Manager Reporting URL» укажите путь к серверу отчётов.

Далее вам будет необходимо установить агентов VMM на все серверы виртуализации с Hyper-V и VS2005. Данная процедура не сложна, так что описывать ее я не буду, равно как и процедуру установки портала самообслуживания. Установка и настройка VMM 2008 R2 закончена, пора начинать виртуализацию серверов!

Offline Virtual Machine Servicing Tool (OVMST) 2.1

На днях на подписках MSDN и TechNet появился полнофункциональный дистрибутив System Center Configuration Manager 2007 со встроенным Service Pack 2. Напомню, что раньше (начиная с октября) была доступна только лишь версия для ознакомления, ограниченная по времени использования. Одно из основных изменений, добавленных в ConfMgr 2007 SP2 — это полная поддержка Windows 7, Windows Server 2008 R2 и всех их новых функций.

А сегодня вышла обновлённая версия Offline Virtual Machine Servicing Tool (OVMST), которая получила номер версии 2.1. Теперь этот крайне полезный инструмент поддерживает все текущие версии продуктов, которые он объединяет:

  • Windows Server 2008 R2 Hyper-V в качестве платформы виртуализации;
  • Windows Server 2008 R2 и Windows 7 в виртуальных машинах;
  • System Center Virtual Machine Manager (SC VMM) 2008 R2;
  • System Center Configuration Manager 2007 SP2;
  • Windows Server Update Services (WSUS) 3.0 SP2.

О том, что такое OVMST, зачем он нужен и как работает, читайте ранее в нашем блоге. Более подробная информация опубликована на домашней страничке инструмента, которая расположена на веб-сайте Microsoft TechnNet.

Предварительная версия сертификационного экзамена по Hyper-V в Windows Server 2008 R2

Основной набор сертификационных экзаменов по Windows Server 2008 не был — и, похоже, уже не будет — обновлён с выходом Windows Server 2008 R2. Всё-таки, не смотря на огромное количество нововведений, формально «R2» — та же самая версия продукта, хоть и обновлённая. Однако, специализированный экзамен по роли виртуализации стал исключением из этого правила.

На прошлой неделе некоторым участникам программы предварительного тестирования сертификационных экзаменов сообщили о том, что к выходу готовится новая редакция экзамена по роли виртуализации: 71-659: TS: Windows Server 2008 R2, Server Virtualization. Общедоступная регистрация на сдачу предварительной версии этого экзамена началась на сайте Prometric первого декабря.

К сожалению, ограниченное количество бесплатных мест на сдачу предварительной версии этого экзамена закончилось очень быстро — буквально за несколько часов после начала регистрации. Подробнее о причинах, которые к этому привели, можно почитать в блоге команды, которая отвечает за разработку и предварительное тестирование сертификационных экзаменов: Born to LearnThere once was a beta… Поэтому если вас всё-таки интересует этот экзамен, у вас есть следующие варианты действия.

  1. Подождать — и внимательно следить за новостями. Возможно, из-за огромного интереса аудитории количество бесплатных мест будет увеличено, и вы всё-таки сможете успеть зарегистрироваться.
  2. Подождать, пока не будет выпущена окончательная версия экзамена. После чего сдать её в обычном порядке на коммерческой основе. В этом случае следите за появлением экзамена с кодом 70-659.
  3. Не ждать окончательной версии экзамена — и сдавать текущую предварительную версию. Но уже на коммерческой основе за обычную цену — для России она составляет около 50$. Т.е. при регистрации вы выбираете в списке доступную сейчас предварительную версию (с кодом 71-659), но оплачиваете её в обычном порядке, как если бы это была бы окончательная версия любого экзамена. К слову сказать, вам не обязательно тратить на это настоящие деньги. Можете воспользоваться каким-нибудь ваучером — если он у вас, конечно, есть. Например, если ваша компания приобрела подписку Software Assurance — то вам полагается определённое количество таких ваучеров. Они могут быть использованы для оплаты сдачи любого экзамена.

Преимущества последнего сценария — это отдельный вопрос. С одной стороны, вы получаете возможность сдать экзамен одним из первых и почти наверняка получить статус «Charter Member». Возможно, по каким-то соображениям вам будет выгодно сделать это до окончания года. В таком случае, предварительная версия — это ваш выбор. Но с другой стороны — вы наверняка встретите какие-то затруднения в процессе сдачи, которых не окажется в окончательной версии. Например — потому, что какие-то вопросы экзамена будут ещё содержать в себе не вполне корректно сформулированные условия. Да и сама предварительная версия содержит больше вопросов, чем окончательная. Собственно, одна из целей текущего тестирования — это отсеять неудачные вопросы, то есть такие, с которыми возникают затруднения у ненормально большой доли участников программы.

Posted by Artem | 8 Comments
More Posts Next page »
 
Page view tracker