Опубликован: 25.05.2011 | Уровень: специалист | Доступ: свободно
Лекция 3:

Технологии виртуализации

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >
Microsoft

Для Microsoft все началось, когда в 2003 году она приобрела компанию Connectix, одну из немногих компаний производящую программное обеспечение для виртуализации под Windows. Вместе с Connectix, компании Microsoft достался продукт Virtual PC, конкурировавший тогда с разработками компании VMware в отношении настольных систем виртуализации. По большому счету, Virtual PC предоставлял тогда такое количество функций, что и VMware Workstation, и при должном внимании мог бы быть в настоящее время полноценным конкурентом этой платформы. Однако с того времени, компания Microsoft выпускала по минорному релизу в год, не уделяя особого внимания продукту Virtual PC, в то время как VMware стремительно развивала свою систему виртуализации, превратив ее по-настоящему в профессиональный инструмент. Осознав свое технологическое отставание в сфере виртуализации серверных платформ, компания Microsoft выпустила продукт Virtual Server 2005, нацеленный на создание и консолидацию виртуальных серверов организаций. Однако было уже поздно. Компания VMware уже захватила лидерство в этом сегменте рынка, предлагая в тот момент две серверные платформы виртуализации VMware GSX Server и VMware ESX Server, каждая из которых по многим параметрам превосходила платформу Microsoft. Окончательный удар был нанесен в 2006 году, когда VMware фактически объявила продукт VMware GSX Server бесплатным, взявшись за разработку продукта VMware Server на его основе и сконцентрировав все усилия на продажах мощной корпоративной платформы VMware ESX Server в составе виртуальной инфраструктуры Virtual Infrastructure 3. У компании Microsoft был только единственный выход в этой ситуации: в апреле 2006 года она также объявила о бесплатности продукта Microsoft Virtual Server 2005. Также существовавшие ранее два издания Standard Edition и Enterprise Edition были объединены в одно – Microsoft Virtual Server Enterprise Edition. С тех пор Microsoft существенно изменила стратегию в отношении виртуализации, и летом 2008 года был выпущен финальный релиз платформы виртуализации Microsoft Hyper-V, интегрированной в ОС Windows Server 2008. Теперь роль сервера виртуализации доступна всем пользователям новой серверной операционной системы Microsoft.

Microsoft Virtual Server. Серверная платформа виртуализации Microsoft Virtual Server может использоваться на сервере под управлением операционной системы Windows Server 2003 и предназначена для одновременного запуска нескольких виртуальных машин на одном физическом хосте. Платформа бесплатна и предоставляет только базовые функции.

Microsoft Virtual PC. Продукт Virtual PC был куплен корпорацией Microsoft вместе с компанией Connectix и впервые под маркой Microsoft был выпущен как Microsoft Virtual PC 2004. Приобретая Virtual PC и компанию Connectix, компания Microsoft строила далеко идущие планы по обеспечению пользователей инструментом для облегчения миграции на следующую версию операционной системы Windows. Теперь Virtual PC 2007 бесплатен и доступен для поддержки настольных ОС в виртуальных машинах.

Microsoft Hyper-V. Продукт Microsoft позиционируется как основной конкурент VMware ESX Server в области корпоративных платформ виртуализации. Microsoft Hyper-V представляет собой решение для виртуализации серверов на базе процессоров с архитектурой x64 в корпоративных средах. В отличие от продуктов Microsoft Virtual Server или Virtual PC, Hyper-V обеспечивает виртуализацию на аппаратном уровне, с использованием технологий виртуализации, встроенных в процессоры. Hyper-V обеспечивает высокую производительность, практически равную производительности одной операционной системы, работающей на выделенном сервере. Hyper-V распространяется двумя способами: как часть Windows Server 2008 или в составе независимого бесплатного продукта Microsoft Hyper-V Server.

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

Hyper-V является встроенным компонентом 64-разрядных версий Windows Server 2008 Standard, Windows Server 2008 Enterprise и Windows Server 2008 Datacenter. Эта технология недоступна в 32-разрядных версиях Windows Server 2008, в Windows Server 2008 Standard без Hyper-V, Windows Server 2008 Enterprise без Hyper-V, Windows Server 2008 Datacenter без Hyper-V, в Windows Web Server 2008 и Windows Server 2008 для систем на базе Itanium.

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

Архитектура виртуализации с гипервизором

Рис. 2.12. Архитектура виртуализации с гипервизором

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

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

Рис. 2.13. Архитектура монолитного гипервизора

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

Монолитный подход подразумевает, что все драйвера устройств помещены в гипервизор. В монолитной модели – гипервизор для доступа к оборудованию использует собственные драйверы. Гостевые ОС работают на виртуальных машинах поверх гипервизора. Когда гостевой системе нужен доступ к оборудованию, она должна пройти через гипервизор и его модель драйверов. Обычно одна из гостевых ОС играет роль администратора или консоли, в которой запускаются компоненты для предоставления ресурсов, управления и мониторинга всех гостевых ОС, работающих на сервере.

Модель монолитного гипервизора обеспечивает прекрасную производительность, но имеет ряд недостатков, таких как:

  • Устойчивость - если в обновленную версию драйвера затесалась ошибка, в результате сбои начнутся во всей системе, во всех ее виртуальных машинах.
  • Проблемы обновления драйверов – при необходимости обновления драйвера какого-либо устройства (например сетевого адаптера) обновить драйвер возможно только вместе с выходом новой версии гипервизора, в которую будет интегрирован новый драйвер для данного устройства.
  • Трудности с использованием неподдерживаемого оборудования. Например, вы собрались использовать оборудование "Сервер" достаточно мощный и надежный, но при этом в гипервизоре не оказалось нужного драйвера для RAID-контроллера или сетевого адаптера. Это сделает невозможным использование соответствующего оборудования, а, значит, и сервера.

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

Архитектура микроядерного гипервизора

Рис. 2.14. Архитектура микроядерного гипервизора

В микроядерной реализации можно говорить о "тонком гипервизоре", в этом случае в нем совсем нет драйверов. Вместо этого драйверы работают в каждом индивидуальном разделе, чтобы любая гостевая ОС имела возможность получить через гипервизор доступ к оборудованию. При такой расстановке сил каждая виртуальная машина занимает совершенно обособленный раздел, что положительно сказывается на защищенности и надежности. В микроядерной модели гипервизора (в виртуализации Windows Server 2008 R2 используется именно она) один раздел является родительским (parent), остальные – дочерними (child). Раздел – это наименьшая изолированная единица, поддерживаемая гипервизором. Размер гипервизора Hyper-V менее 1,5 Мб , он может поместиться на одну 3.5-дюймовую дискету.

Каждому разделу назначаются конкретные аппаратные ресурсы – долю процессорного времени, объем памяти, устройства и пр. Родительский раздел создает дочерние разделы и управляет ими, а также содержит стек виртуализации (virtualization stack), используемый для управления дочерними разделами. Родительский раздел создается первым и владеет всеми ресурсами, не принадлежащими гипервизору. Обладание всеми аппаратными ресурсами означает, что именно корневой (то есть, родительский) раздел управляет питанием, подключением самонастраивающихся устройств, ведает вопросами аппаратных сбоев и даже управляет загрузкой гипервизора.

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

Преимущество микроядерного подхода, примененного в Windows Server 2008 R2, по сравнению с монолитным подходом состоит в том, что драйверы, которые должны располагаться между родительским разделом и физическим сервером, не требуют внесения никаких изменений в модель драйверов. Иными словами, в системе можно просто применять существующие драйверы. В Microsoft этот подход избрали, поскольку необходимость разработки новых драйверов сильно затормозила бы развитие системы. Что же касается гостевых ОС, они будут работать с эмуляторами или синтетическими устройствами.

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

Архитектура Hyper-v

увеличить изображение
Рис. 2.15. Архитектура Hyper-v

Все версии Hyper-V имеют один родительский раздел. Этот раздел управляет функциями Hyper-V. Из родительского раздела запускается консоль Windows Server Virtualization. Кроме того, родительский раздел используется для запуска виртуальных машин (VM), поддерживающих потоковую эмуляцию старых аппаратных средств. Такие VM, построенные на готовых шаблонах, эмулирующих аппаратные средства, являются аналогами VM, работающих в продуктах с виртуализацией на базе хоста, например Virtual Server.

Гостевые VM запускаются из дочерних разделов Hyper-V. Дочерние разделы поддерживают два типа VM: высокопроизводительные VM на основе архитектуры VMBus и VM, управляемые системой-хостом. В первую группу входят VM с системами Windows Server 2003, Windows Vista, Server 2008 и Linux (поддерживающими Xen). Новую архитектуру VMBus отличает высокопроизводительный конвейер, функционирующий в оперативной памяти, соединяющий клиентов Virtualization Service Clients (VSC) на гостевых VM с провайдером Virtual Service Provider (VSP) хоста. VM, управляемые хостом, запускают платформы, не поддерживающие новую архитектуру VMBus: Windows NT, Windows 2000 и Linux (без поддержки технологии Xen, например SUSE Linux Server Enterprise 10).

Microsoft System Center Virtual Machine Manager (SCVMM) - отдельный продукт семейства System Center для управления виртуальной инфраструктурой, эффективного использованием ресурсов физических узлов, а также упрощение подготовки и создания новых гостевых систем для администраторов и пользователей. Продукт обеспечивает всестороннюю поддержку консолидации физических серверов в виртуальной инфраструктуре, быстрое и надежное преобразование физических машин в виртуальные, разумное размещение виртуальных нагрузок на подходящих физических узлах, а также единую консоль для управления ресурсами и их оптимизации. SCVMM обеспечивает следующие возможности:

  • Централизованное управление серверами виртуальных машин в масштабах предприятия. SCVMM поддерживает управление серверами Microsoft Hyper-V, Microsoft Virtual Server, VMware ESX и в будущем будет реализована поддержка Xen.
  • Создание библиотеки шаблонов виртуальных машин. Шаблоны виртуальных машин представляют собой наборы образов предустановленных операционных систем, которые могут быть развёрнуты за считанные минуты.
  • Мониторинг и размещение виртуальных машин в соответствие с загруженностью физических серверов.
  • Миграция (конвертирование) физических серверов в виртуальные машины - технология P2V. Технология P2V позволяет произвести перенос физического сервера на виртуальный без остановки работы. Таким образом, появляется возможность онлайнового резервирования целого сервера, и в случае выхода его из строя, можно в течение минуты запустить виртуальный сервер и продолжить работу.
  • Миграция (конвертирование) виртуальных машин других форматов в виртуальные машины Hyper-V - технология V2V. Данная технология аналогична P2V, но при этом позволяет переносить виртуальные машины Microsoft Virtual Server или VMware ESX в Hyper-V.
  • Управление кластерами Hyper-V.

Краткие итоги:

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

Ключевые термины:

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

Виртуальная машина – программная или аппаратная среда, которая скрывает настоящую реализацию какого-либо процесса или объекта от его видимого представления.

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

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

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

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

Виртуализация приложений – вид виртуализации, которая подразумевает применение модели сильной изоляции прикладных программ с управляемым взаимодействием с ОС, при которой виртуализируется каждый экземпляр приложений, все его основные компоненты: файлы (включая системные), реестр, шрифты, INI-файлы, COM-объекты, службы. Приложение исполняется без процедуры инсталляции в традиционном ее понимании и может запускаться прямо с внешних носителей.

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

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

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

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >
Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?

Владислав Ветошкин
Владислав Ветошкин
Россия, Ижевск, Ижевский государственный технический университет имени А.Т. Калашникова, 2011
Саламат Исахан
Саламат Исахан
Россия, Turkistan