Hyper-V в Windows Server 2008

ОГЛАВЛЕНИЕ

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

В качестве концепции, виртуализация применима к хранилищам, сетям, серверам, приложениям и доступу. Если взглянуть на хранилища и сети, целью виртуализации является сведение в единое целое набора различных устройств, чтобы общий пул ресурсов выглядел и действовал как одна сущность. Например, можно настроить решение 40 ТБ хранилища, вместо набора из 20 устройств хранения по 2 ТБ. Но с другими компонентами виртуализация действует в обратном направлении, помогая заставить единую систему представиться несколькими системами. Наиболее распространенным примером этого является виртуализация серверов, где несколько экземпляров и сред ОС размещаются на одном сервере.

Корпорация Майкрософт подошла к вопросу виртуализации на нескольких различных уровнях, простирающихся от настольного компьютера к центру данных, с решениями для виртуализации серверов, приложений, презентаций и настольных компьютеров. Красной нитью через все это проходит элемент управления с помощью Microsoft System Center. В этой статье мое внимание обращено на компонент виртуализации серверов, а конкретнее на то, какую роль Hyper-V, ключевая функция Windows Server 2008, играет в динамическом центре данных.


Рынок виртуализации серверов

Для начала, я думаю стоит взглянуть на то, что существует в современных средах и куда идет рынок в целом. В зависимости от того, какое исследование прочесть, ряд аналитиков оценивает число физических серверов, используемых сейчас в качестве носителей виртуализации, в 5-9 процентов от их общего числа. Это можно счесть большим сектором рынка, учитывая, что каждый год поставляется более девяти миллионов физических серверов. Определенно можно сказать одно: здесь сохраняются большие деловые перспективы, по мере того, как все больше клиентов знакомятся с виртуализацией и желают применить ее.

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

So why is virtualization now all the buzz? Это объясняется несколькими факторами, не последним из которых является удачный момент. Несколько ключевых тенденций отрасли сошлись одновременно, помогая продвижению возросшего принятия виртуализации. Эти факторы включают переход на 64-битные вычисления, многоядерные процессоры и даже движение за экологически безопасную компьютеризацию и улучшенную утилизацию старых систем.

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

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



Как работает виртуализация серверов

Виртуализация серверов, говоря обобщенно, позволяет взять одно физическое устройство и установить на нем (и использовать одновременно) две или более среды ОС, которые потенциально различны и имеют различные учетные данные, стеки приложений и так далее. Hyper-V – это технология виртуализации нового поколения, основанная на 64-битном гипервизоре, которая предлагает платформу с надежными и масштабируемыми возможностями. Вместе с System Center, она предлагает единый набор интегрированных средств управления для физических и виртуальных ресурсов.

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



Типы решений виртуализации

По сути, существуют три основных вида архитектур, используемых для виртуализации серверов, как показано на рис. 1. Фундаментальные отношения между ними лежат в области отношений между уровнем виртуализации и физическим оборудованием. Под уровнем виртуализации я понимаю уровень программного обеспечения, именуемый монитором виртуальных компьютеров (VMM, не путать с Virtual Machine Manager). Именно этот уровень предоставляет возможность создавать несколько изолированных экземпляров на основе одних и тех же аппаратных ресурсов.


Рис 1. Три архитектуры виртуализации

Примером архитектуры VMM типа 2 являются виртуальные компьютеры Java Virtual Machines. Здесь целью виртуализации является создание среды выполнения, внутри которой процесс сможет выполнять набор инструкций, не полагаясь на систему-носитель. В данном случае, изоляция предназначена для различных процессов и позволяет одному приложению работать на различных ОС, не заставляя беспокоиться насчет зависимостей ОС. Виртуализация серверов не попадает в эту категорию.

VMM типа 1 и гибридные VMM — это подходы, с использованием которых обычно можно столкнуться сегодня. Гибридная VMM — это этап, на котором VMM запущена вместе с ОС хост-компьютера и помогает создать виртуальные машины. Примерами гибридных VMM являются Microsoft Virtual Server, Microsoft Virtual PC, VMware Workstation и VMware Player. Следует отметить, что хотя эти типы решений отлично подходят для сценариев клиентов, где виртуальные компьютеры используются лишь в течении части времени, VMM также добавляют существенные системные издержки и, следовательно, не подходят для рабочих нагрузок, интенсивно использующих ресурсы.

В архитектуре VMM типа 1, уровень VMM работает прямо над оборудованием. Это часто называется уровнем гипервизора. Эта архитектура была первоначально разработана IBM в 1960-е годы для мэйнфреймов и недавно стала доступной на платформах x86/x64, как часть ряда решений, включая Windows Server 2008 Hyper-V.

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

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


Рис. 2. Две модели архитектуры решений гипервизора

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

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



Гипервизор Windows

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

Гипервизор Windows, часть Hyper-V, выполняет следующие задачи:

  • Создает логические разделы.
  • Управляет выделением памяти и ресурсов процессора для гостевых ОС.
  • Предоставляет механизмы для виртуализации ввода вывода и связи между разделами.
  • Обеспечивает выполнение правил доступа к памяти.
  • Обеспечивает выполнение политики использования ресурсов ЦП.
  • Предоставляет простой программный интерфейс, известный как гипервызовы.

Благодаря использованию микроядерного подхода, гипервизор Windows довольно невелик – менее 1 МБ. Эти небольшие требования к памяти помогают улучшить общую безопасность системы.

Одним из требований для использования Hyper-V является наличие системы x64 с технологиями Intel VT или AMD-V. Технология x64 позволяет доступ к большему пространству адресов и системам с большей памятью, позволяя, тем самым, разместить больше виртуальных компьютеров на одной системе-носителе. Intel VT и AMD-V – это поддерживаемые оборудованием решения виртуализации, предоставляющие ультрапривилегированный уровень в архитектуре кольцевой среды, помогающий сделать среду исполнения гипервизора отдельной от остальной части системы. Это также позволяет Hyper-V запускать немодифицированную гостевую ОС, не нанося серьезного ущерба производительности за счет эмуляции.



Родительский раздел

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

Существование родительского раздела достаточно прозрачно. Приступая к установке Hyper-V, в первую очередь стоит установить Windows Server 2008 x64 Edition на физической системе. Затем необходимо перейти к диспетчеру серверов, включить роль Hyper-V и перезапустить систему. После перезапуска системы, первым загружается гипервизор Windows, после чего оставшаяся часть стека преобразуется в родительский раздел.

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

Родительский раздел содержит провайдер инструментария управления Windows (WMI), способствующий управлению всеми аспектами виртуализованной среды, а также стек виртуализации, выполняющий относящиеся к оборудованию задачи от имени дочерних разделов. Вдобавок, любые драйверы независимых поставщиков оборудования (IHV) необходимые для системы-носителя, содержатся в родительском разделе и любые драйверы, созданные для 64-разрядных версий Windows Server 2008 также содержатся в родительском разделе.



Архитектура совместного использования устройств

Одним из новаторских архитектурных компонентов в Hyper-V является новая архитектура совместного использования устройств, поддерживающая эмулированные и синтетические устройства в каждой гостевой ОС. Эмуляция устройств довольно полезна для поддержки более старых ОС, с драйверами устройств, разработанными для предыдущих поколений оборудования. Например, Hyper-V включает эмуляцию сетевого адаптера Intel 21140, именовавшегося сетевым адаптером DEC 21140 во время поставок многих старых ОС.

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

Альтернативным решением здесь является использование синтетических устройств Hyper-V. Синтетические устройства – это виртуальные устройства, напрямую сопоставленные с физическими устройствами. В отличие от эмулированных устройств, синтетические устройства не эмулируют устаревшее оборудование. С помощью модели совместного использования оборудования Hyper-V, гостевые ОС могут прямо взаимодействовать с синтетическими устройствами, могущими не иметь физических аналогов. Эти ОС используют клиентов виртуальных служб (VSC), действующих как драйверы устройств внутри гостевой ОС.

Вместо прямого доступа к физическому оборудованию VSC используют VMBus, являющийся высокоскоростной шиной в оперативной памяти для доступа к поставщикам виртуальных служб (VSP) в родительском разделе. Затем VSP родительского раздела управляют доступом к физическому оборудованию в основе системы, как иллюстрирует рис. 3. Ключевое преимущество синтетических устройств заключается в том, что производительность синтетических устройств на VMBus, ближе к производительности невиртуализованных физических устройств.


Рис. 3. VSC используют VMBus для доступа к VSP, которые затем управляют доступом к физическому оборудованию


Компоненты интеграции

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

Компоненты интеграции Hyper-V поддерживают следующие функции:

  • Синхронизация времени
  • Служба теневого копирования томов (VSS)
  • Функция импульса синхронизации
  • Отключение гостевых компьютеров
  • Обмен пар ключ-значение (используемый для доступа к реестру гостевой ОС)
  • Идентификация ОС


Набор качеств Hyper-V

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

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



Масштабируемость Hyper-V

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

В сочетании с остальными возможностями Windows Server 2008, Hyper-V позволяет консолидировать большинство рабочих нагрузок (включая 32-битные и 64-битные нагрузки) на одной системе. Он также может помочь сбалансировать принятие 64-битной технологии продолжающейся поддержкой 32-битных рабочих нагрузок, уже использовавшихся в среде.

Тот факт, что Hyper-V требует для работы 64-битной системы с поддерживаемой оборудованием виртуализацией помогает гарантировать наличие у этой системы большого пула ресурсов памяти. Hyper-V поддерживает до 1 ТБ памяти на хост-компьютере и до 64 ГБ памяти на виртуальном компьютере. Это является ключевым фактором для тех, кто планирует виртуализовать требовательные к памяти рабочие нагрузки, такие как Exchange Server и SQL Server.

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

Консолидация серверов через Hyper-V также позволяет этим серверам воспользоваться основательной поддержкой работы с сетью, включая VLAN, трансляцию сетевых адресов (NAT) и политики защиты доступа к сети (NAP) (карантин). Вдобавок, как компонент Windows Server 2008, Hyper-V хорошо взаимодействует с другими компонентами Windows Server, такими как BitLocker и Windows PowerShell.



Высокая доступность Hyper-V

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

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

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

Большинству организаций необходимы запланированные окна обслуживания и что здесь реально необходимо — это минимизация или устранение периода времени, в течении которого виртуальные компьютеры будут недоступны, пока обслуживается несущая их система. С помощью функции Quick Migration («Быстрой миграции») можно быстро, за считанные секунды, переносить работающие виртуальные компьютеры с одного узла на другой. Это позволяет держать виртуальные компьютеры доступными для работы, в то же время выполняя обслуживание первоначального хост-компьютера. По завершении обслуживания, можно использовать Quick Migration для возвращения виртуальных компьютеров обратно на этот компьютер.

Незапланированный простой — это простой, который невозможно предвидеть. Он может быть вызван катастрофой или чем-нибудь настолько простым, как случайное выдергивание кабеля питания сервера из розетки. Хотя это и может показаться маловероятным, на протяжении лет я встретил немалое количество администраторов в Tech•Ed, VMworld и на других конференциях, рассказывавших о том, как тот или иной сервер был случайно отключен коллегой.

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

Это также удобно при защите филиалов. Одним из преимуществ поддержки незапланированных простоев в Hyper-V является то, что она не зависит от конкретных гостевых ОС, а это значит, что ее выгоды высокой доступности можно распространить на виртуальные компьютеры Linux, а также старые версии Windows Server, защищая и восстанавливая эти системы аналогичным образом.

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

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

Микроядерная архитектура разработана для минимизации области, открытой для атак и улучшения безопасности, особенно при применении Hyper-V в роли ядра сервера. Server Core («ядро сервера») – это вариант установки Windows Server 2008. Гипервизор не содержит драйверов устройств или кода от сторонних производителей, предоставляя более стабильный, тонкий и безопасный фундамент для работы виртуальных компьютеров. Hyper-V также предоставляет прочную безопасность на основе ролей, с помощь интеграции Active Directory. Вдобавок, Hyper-V позволяет виртуальным компьютерам пользоваться преимуществами функций безопасности уровня оборудования, таких как фрагмент исполнения отключения (NX), для повышения безопасности виртуальных компьютеров.

Hyper-V прошел через цикл разработки безопасности (SDL), подобно всем остальным компонентами Windows Server и для обеспечения высокой безопасности Hyper-V как платформы виртуализации были выполнено широкое моделировании и анализ угроз. При развертывании Hyper-V, убедитесь в выполнении рекомендаций по развертыванию Windows Server 2008, а также рекомендаций для Hyper-V. Включите Active Directory, а также антивирус и решения противодействия вредоносным программам в свой план. И используйте возможности делегированного администрирования, чтобы убедиться в правильном использовании привилегий административного доступа для хост-компьютеров Hyper-V.


Управляемость Hyper-V

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

К счастью, в случае Hyper-V для виртуальной среды не нужно создавать отдельной инфраструктуры управления. Он интегрируется со средствами управления Майкрософт, System Center Virtual Machine Manager, Microsoft System Center Operations Manager и средствами управления от сторонних производителей. Это позволяет управлять физическими и виртуальными ресурсами с одной консоли. В то же время, поддержка Windows PowerShell делает несложной автоматизацию задач.

Hyper-V также предоставляет виртуальным компьютерам беспрецедентные способности по использованию доступного оборудования. Поскольку все драйверы, сертифицированные лабораторией Windows Hardware Quality Lab (WHQL) способны работать в родительском разделе, Hyper-V предоставляет широкую совместимость для драйверов и устройств, упрощая управление различными драйверами, работающими в среде.

Заключение

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

Автор: Раджив Арункундрам