Используя какой уровень виртуализации можно добиться наибольшей изоляции приложений
VMware можно назвать флагманом рынка виртуализации. Компания основана 10 февраля 1998 года пятью техническими специалистами во главе с Дианой Грин (Diane Greene). Уже в 1999 году они представили свой первый продукт Workstation 1.0, который стал началом коммерчески успешного взлёта компании. Продукт был предназначен для «десктопной» виртуализации. Чтобы выйти на рынок Enterprise-решений, VMware в 2002 году представили свой первый гипервизор ESX Server 1.5, который эволюционировал в платформу виртуализации VMware vSphere.
История Xen корнями уходит в исследовательский проект в Кембриджском университете под руководством Яна Пратта (Ian Pratt) и Кейр Фрейзер (Keir Fraser). Первая версия была анонсирована в 2004 г. и вскоре с другими выпускниками университета была основана компания XenSource Inc, целью которой было продвижение Xen на корпоративном рынке. 22 октября 2007 г. Citrix Systems завершила поглощение XenSource Inc, начав предлагать корпоративным клиентам XenServer, который позже был переименован в Citrix Hypervisor.
KVM (Kernel-based Virtual Machine) — программное решение, обеспечивающее виртуализацию в среде Linux. KVM создано усилиями компании Qumranet, которая была куплена Red Hat за $107 млн. 4 сентября 2008 года. После сделки KVM (наряду с системой управления виртуализацией oVirt) вошла в состав платформы виртуализации Red Hat Enterprise Virtualization (RHEV). 28 октября 2018 года IBM выкупила Red Hat за 34 миллиарда долларов.
Hyper-V
В Microsoft бросились догонять уходящий поезд виртуализации в 2008 году, представив свой гипервизор Hyper-V (кодовое имя Viridian) в составе MS Windows Server 2008. С целью составить конкуренцию на рынке виртуализации, Microsoft представила Hyper-V Server как бесплатную операционную систему с единственной ролью: быть сервером виртуализации.
Типы гипервизоров
Существуют различные классификации гипервизоров. Классическое деление на «гипервизор первого типа» (автономный, тонкий, исполняемый на «голом железе», Type 1, native, bare-metal) и «гипервизор второго типа» (хостовый, монитор виртуальных машин, hosted, Type-2, V) впервые было представлено в работе «Формальные требования к виртуализируемым архитектурам третьего поколения» (Formal Requirements for Virtualizable Third Generation Architectures) Джеральдом Попеком (Gerald J. Popek) и Робертом Голдбергом (Robert P. Goldberg) в 1973 г.
Гибридный тип 1+
По данной классификации гипервизор типа 1 выполняется непосредственно на «голом железе», а тип 2 — гипервизор, входящий в состав операционной системы. Как выяснилось, на практике очень тяжело провести грань между этими типами. Многими специалистами считается, что гипервизор VMware принадлежит к первому типу. При этом гипервизор KVM относят ко второму типу, поскольку законченное решение для запуска виртуальных машин требует создания адресного пространства в ОЗУ и такого компонента как QEMU — при этом они работают только поверх операционных систем на базе Linux. Со временем появились новые архитектурные решения, которые не вписывались в жёсткую схему из двух типов. Так Hyper-V уже можно отнести к гибритному типу (Hybrid, Type-1+), где гипервизор контролирует процессор и память, а специальная служебная ОС даёт гостевым операционным системам доступ к физическому оборудованию. Гипервизор Xen работает на «голом железе», но для своей работы ему требуется управляющая операционная система в dom0.
Сравнение возможностей
Каждая система виртуализации обладает обширным списком функционала — матрицей возможностей. Функционал частично пересекается, а вот механики ценообразования у всех разные. Вы можете создать сравнительную таблицу исходя из требуемых критериев на основе представленных документов. Мы ограничимся сравнением VMware с его конкурентами и отразим только функциональную составляющую.
Для полного сравнения
Некоторые уникальные возможности VMware
Многие системы виртуализации акцентируют внимание на термине «Высокая Доступность» (High Availability), но дело в том, что у большинства при отказе физического узла виртуальные машины нужно перезапускать на другом узле, и пока упавшие виртуальные машины запускаются, пользователь не может взаимодействовать с ними. Возникает простой (DownTime).
VMware Fault Tolerance — это технология VMware, разработанная для защиты критически важных виртуальных машин с реальной непрерывной доступностью. Для машин, защищенных VMware Fault Tolerance, выполняется постоянное копирование всего состояния памяти и процессорных инструкций в реальном времени. В случае выхода их строя узла или части кластера, рабочая копия виртуальной машины (Primary) мгновенно переключится на «вторичную» (Secondary) или «теневую» копию, работающую на другом сервере. При сбое первичного хоста, пользователи даже не заметят процесса переключения на вторичный узел. Именно этим Fault Tolerance отличается от High Availability.
Distributed Resource Scheduler (DRS) и Storage DRS (SDRS)Distributed Resource Scheduler — это технология, позволяющая в автоматическом режиме балансировать нагрузку на ЦПУ и ОЗУ. В отличие от System Scheduler в последних версиях Red Hat, выполняющего примерно те же задачи, VMware DRS балансирует нагрузку предиктивно.
Storage DRS (SDRS) выравнивает нагрузку на хранилища и позволяет обеспечить требуемый уровень заполненности хранилища (Utilized Space) и/или задержки ввода-вывода (I/O Latency).
Организациям, где требуется повышенный уровень защиты приложений, понравится дальнейшее развитие идей VMware NSX, но для приложений. Суть заключается в том, что изучается нормальное поведение операционной системы и приложений в обычных (эталонных) условиях и, в случае выявлений отклонений при штатной работе, оповещается администратор или автоматически применяются заранее подготовленные шаги по защите виртуальной машины. Например, можно прервать сетевое соединение конкретного процесса, сделать снимок (snapshot) виртуальной машины для анализа, выключить виртуальную машину и т. д.
AppDefense работает на уровне гипервизора и недостижим для вредоносного ПО из виртуальной машины, если она была скомпрометирована.
VMware против Microsoft Hyper-V
- Гипервизор Hyper-V не поддерживает технологию, которая используется для проброса аппаратных USB-портов, что не позволяет подключать, например, аппаратные лицензионные ключи 1С к виртуальным машинам. Данные технологии обычно называются USB Redirection или USB Passthrough. Microsoft предлагает использовать вместо этого Discrete Device Assignment (DDA).
- Hyper-V не умеет «на лету» добавлять CPU, вам придётся осуществлять добавление в offline режиме через остановку сервиса, что вызовет простой (DownTime).
- Количество гостевых операционных систем, которые могут работать внутри виртуальной машины, у Hyper-V значительно меньше VMware, поэтому рекомендуется проверить актуальный список, если вам требуется запустить раритетного гостя.
- Стоит признать, что Hyper-V позволяет уменьшать размер диска, а не только увеличивать, как VMware, но на практике, к сожалению, аппетиты только растут и чаще всего виртуальный сервер будет требовать всё больше занятого места.
- Microsoft первой реализовала в своём гипервизоре Hyper-V технологию VM-GenerationID, которая пригодится администраторам службы каталогов, использующим сложные схемы Active Directory со множеством контроллеров в виртуальных средах. Благодаря VM-GenerationID можно избежать множества проблем при откате к старому снимку или при восстановлении её из резервной копии. Стоит отметить, что VMware также реализовала поддержку VM-GenerationID с версии vSphere 5.0 Update 2.
VMware против Red Hat KVM
После того, как KVM стал частью ядра Linux, он автоматически стал «генеральной линией партии» (mainline) в вопросе «а что выбрать для создания виртуализации средствами Linux». Заметьте, что Red Hat сделала ставку на KVM и в версии Red Hat Enterprise Linux 6.0 полностью исключил Xen, сделав окончательный выбор.
Эта борьба двух Linux-проектов, которые завязли в братской войне, шла на пользу VMware и Hyper-V, так как KVM и Xen отбирали долю рынка у друг друга, а не у конкурентов.
К минусам KVM часто относят:
- Отсутствие более развитых средств управления (как у конкурентов)
- Менее стабильную работу для задач с мощным и интенсивным вводом-выводом (I/O)
Традиционно к плюсам KVM относят неприхотливость к аппаратной части сервера, буквально — «если Linux работает на нём, то всё будет хорошо». Адепты свободного софта могут прочесть исходные коды гипервизора. Благодаря KVM можно получить недорогую виртуальную среду.
VMware против Citrix Xen
Citrix Xen одно время мог похвастать паравиртуализацией, которая требует модифицировать гостевую операционную систему, что невозможно для закрытых систем типа MS Windows, для более быстрой работы и снижения накладных расходов (overhead) на виртуализацию. Но с той поры прошло много лет, и все игроки на рынке виртуализации и аппаратного обеспечения приблизили работу гостя к производительности схожей «как на голом железе», что нивелирует плюсы паравиртуализации. А контейнеры и вовсе отобрали лавры быстрого гостя для UNIX- и Linux-гостей.
Citrix с Xen подвергся усилению конкуренции со стороны решений с открытым кодом от KVM и OpenStack, а также отсутствию поддержки поставщиков и сообщества, в отличие от KVM и OpenStack.
На сегодняшний день одной из сильных сторон можно назвать продвинутые возможности по предоставлению внутри виртуальной машины 3D аппаратной акселерации GPU от производителей Intel, AMD, NVIDIA.
К особенностям гипервизора можно отнести:
- Проброс топовых GPU внутрь гостя GPU Pass-through (для конкретного виртуального гостя — конкретный GPU в физическом сервере)
- GPU Virtualization — возможность множеству виртуальных машин получить доступ к GPU хоста, что лучше, чем программная эмуляция
- vGPU Live Migration — позволяет виртуальной машине перемещаться между хостами без потерь с доступом к GPU
Такие технологии очень востребованы в секторах Computer-Aided Design (CAD) и Computer-Aided Manufacture (CAM), что позволяет виртуализировать рабочее место специалистов по компьютерному моделированию, чертёжников, проектировщиков и т.д.
Так что же выбрать?
VMware
Флагман отрасли, с соответствующим ценообразованием и особенностями лицензирования, востребован крупными корпорациями и отраслевыми представителями. Ядро гипервизора принадлежит первому типу, следовательно, аппаратное обеспечение должно быть подобрано более тщательно. Существует список поддерживаемого оборудования (HCL), которое гарантирует беспроблемную работу. Также требует тщательного подбора системы хранения данных (СХД) и обычно итог дороже, чем у конкурентов.
Hyper-V
Microsoft — ближайший конкурент VMware, буквально дышит в спину со своим единственным отличным от Linux-гипервизоров продуктом Hyper-V. Привлекательные схемы лицензирования Hyper-V и возможность с покупкой Windows Server Datacenter бесплатно получить автоматическую активацию (Automatic Virtual Machine Activation (AVMA)) неограниченного количества гостевых операционных систем делают выбор привлекательным для тех, кому нужна тесная интеграция с экосистемой MS Windows и знакомый интерфейс.
Позиции Xen были сильны в прошлом. Многие известные компании типа Amazon строили свою инфраструктуру на Xen, но потом они же и сменили его на KVM. Паравиртуализация была хороша, но сейчас её плюсы не ощущаются. В сухом остатке, Citrix Hypervisor в современных реалиях занял нишу виртуализации с активным использованием 3D, родственной нишей «Рабочее место как услуга» (VDI) и виртуализация приложений (Citrix Virtual Apps and Desktops).
Недорогой и лояльный к аппаратным ресурсам KVM, знакомый всем в мире open source, интересен прежде всего компаниям, менее заинтересованным в функциях корпоративного уровня. Оптимален для создания бюджетных виртуальных сред, к примеру, для тестировщиков.
Аналитические отчёты
Gartner
Аналитическая компания Gartner проводит различные исследования, в том числе «Magic Quadrant for x86 Server Virtualization Infrastructure». Изучают игроков рынка технологий виртуализации, а также анализируют сильные и слабые стороны платформ виртуализации. Производителей выстраивают по горизонтальной оси X — полнота видения (completeness of vision) и по вертикальной оси Y — способность внедрить и использовать данный функционал на предприятиях (Ability to Execute).
Информационные технологии принесли в жизнь современного общества множество полезных и интересных вещей. Каждый день изобретательные и талантливые люди придумывают все новые и новые применения компьютерам как эффективным инструментам производства, развлечения и сотрудничества. Множество различных программных и аппаратных средств, технологий и сервисов позволяют нам ежедневно повышать удобство и скорость работы с информацией. Все сложнее и сложнее выделить из обрушивающегося на нас потока технологий действительно полезные и научиться применять их с максимальной пользой. В этой статье пойдет речь о еще одной невероятно перспективной и по-настоящему эффективной технологии, стремительно врывающейся в мир компьютеров — технологии виртуализации.
В широком смысле, понятие виртуализации представляет собой сокрытие настоящей реализации какого-либо процесса или объекта от истинного его представления для того, кто им пользуется. Продуктом виртуализации является нечто удобное для использования, на самом деле, имеющее более сложную или совсем иную структуру, отличную от той, которая воспринимается при работе с объектом. Иными словами, происходит отделение представления от реализации чего-либо. В компьютерных технологиях под термином «виртуализация» обычно понимается абстракция вычислительных ресурсов и предоставление пользователю системы, которая «инкапсулирует» (скрывает в себе) собственную реализацию. Проще говоря, пользователь работает с удобным для себя представлением объекта, и для него не имеет значения, как объект устроен в действительности.
Сам термин «виртуализация» в компьютерных технологиях появился в шестидесятых годах прошлого века вместе с термином «виртуальная машина», означающим продукт виртуализации программно-аппаратной платформы. В то время виртуализация была, скорее, интересной технической находкой, чем перспективной технологией. Разработки в сфере виртуализации в шестидесятых-семидесятых годах проводились только компанией IBM. С появлением в компьютере IBM M44/44X экспериментальной системы пэйджинга, впервые был употреблен термин «виртуальная машина» (virtual machine), который заменил более ранний термин «псевдо машина» (pseudo machine). Затем в мэйнфреймах IBM серии System 360/370, можно было использовать виртуальные машины для сохранения предыдущих версий операционных систем. До конца девяностых годов никто кроме IBM так и не решался использовать эту оригинальную технологию всерьез. Однако в девяностых годах стали очевидны перспективы подхода виртуализации: с ростом аппаратных мощностей, как персональных компьютеров, так и серверных решений, вскоре представится возможность использовать несколько виртуальных машин на одной физической платформе.
В 1997 году компания Connectix выпускает первую версию Virtual PC для платформы Macintosh, а в 1998 году VMware патентует свои техники виртуализации. Компания Connectix впоследствии была куплена корпорацией Microsoft, а VMware корпорацией EMC, и на данный момент обе эти компании являются двумя основными потенциальными конкурентами на рынке технологий виртуализации в будущем. Потенциальными — потому что сейчас VMware безоговорочный лидер на этом рынке, однако у Microsoft, как всегда, есть козырь в рукаве.
Со времени своего появления термины «виртуализация» и «виртуальная машина» приобрели множество различных значений и употреблялись в разных контекстах. Давайте попробуем разобраться с тем, что такое виртуализация на самом деле.
Виды виртуализации
Виртуализация платформ
Под виртуализацией платформ понимают создание программных систем на основе существующих аппаратно-программных комплексов, зависящих или независящих от них. Система, предоставляющая аппаратные ресурсы и программное обеспечение, называется хостовой (host), а симулируемые ей системы — гостевыми (guest). Чтобы гостевые системы могли стабильно функционировать на платформе хостовой системы, необходимо, чтобы программное и аппаратное обеспечение хоста было достаточно надежным и предоставляло необходимый набор интерфейсов для доступа к его ресурсам. Есть несколько видов виртуализации платформ, в каждом из которых осуществляется свой подход к понятию «виртуализация». Виды виртуализации платформ зависят от того, насколько полно осуществляется симуляция аппаратного обеспечения. До сих пор нет единого соглашения о терминах в сфере виртуализации, поэтому некоторые из приведенных далее видов виртуализации могут отличаться от тех, что предоставят другие источники.
-
Полная эмуляция (симуляция).
При таком виде виртуализации виртуальная машина полностью виртуализует все аппаратное обеспечение при сохранении гостевой операционной системы в неизменном виде. Такой подход позволяет эмулировать различные аппаратные архитектуры. Например, можно запускать виртуальные машины с гостевыми системами для x86-процессоров на платформах с другой архитектурой (например, на RISC-серверах компании Sun). Долгое время такой вид виртуализации использовался, чтобы разрабатывать программное обеспечение для новых процессоров еще до того, как они были физически доступными. Такие эмуляторы также применяют для низкоуровневой отладки операционных систем. Основной минус данного подхода заключается в том, что эмулируемое аппаратное обеспечение весьма и весьма существенно замедляет быстродействие гостевой системы, что делает работу с ней очень неудобной, поэтому, кроме как для разработки системного программного обеспечения, а также образовательных целей, такой подход мало где используется.
В этом случае виртуальная машина виртуализует лишь необходимое количество аппаратного обеспечения, чтобы она могла быть запущена изолированно. Такой подход позволяет запускать гостевые операционные системы, разработанные только для той же архитектуры, что и у хоста. Таким образом, несколько экземпляров гостевых систем могут быть запущены одновременно. Этот вид виртуализации позволяет существенно увеличить быстродействие гостевых систем по сравнению с полной эмуляцией и широко используется в настоящее время. Кроме того, в целях повышения быстродействия в платформах виртуализации, использующих данный подход, применяется специальная «прослойка» между гостевой операционной системой и оборудованием (гипервизор), позволяющая гостевой системе напрямую обращаться к ресурсам аппаратного обеспечения. Гипервизор, называемый также «Монитор виртуальных машин» (Virtual Machine Monitor) — одно из ключевых понятий в мире виртуализации. Применение гипервизора, являющегося связующим звеном между гостевыми системами и аппаратурой, существенно увеличивает быстродействие платформы, приближая его к быстродействию физической платформы.
К минусам данного вида виртуализации можно отнести зависимость виртуальных машин от архитектуры аппаратной платформы.
Сутью данного вида виртуализации является виртуализация физического сервера на уровне операционной системы в целях создания нескольких защищенных виртуализованных серверов на одном физическом. Гостевая система, в данном случае, разделяет использование одного ядра хостовой операционной системы с другими гостевыми системами. Виртуальная машина представляет собой окружение для приложений, запускаемых изолированно. Данный тип виртуализации применяется при организации систем хостинга, когда в рамках одного экземпляра ядра требуется поддерживать несколько виртуальных серверов клиентов.
Этот вид виртуализации не похож на все остальные: если в предыдущих случаях создаются виртуальные среды или виртуальные машины, использующиеся для изоляции приложений, то в данном случае само приложение помещается в контейнер с необходимыми элементами для своей работы: файлами реестра, конфигурационными файлами, пользовательскими и системными объектами. В результате получается приложение, не требующее установки на аналогичной платформе. При переносе такого приложения на другую машину и его запуске, виртуальное окружение, созданное для программы, разрешает конфликты между ней и операционной системой, а также другими приложениями. Такой способ виртуализации похож на поведение интерпретаторов различных языков программирования (недаром интерпретатор, Виртуальная Машина Java (JVM), тоже попадает в эту категорию).
Виртуализация ресурсов
При описании виртуализации платформ мы рассматривали понятие виртуализации в узком смысле, преимущественно применяя его к процессу создания виртуальных машин. Однако если рассматривать виртуализацию в широком смысле, можно прийти к понятию виртуализации ресурсов, обобщающим в себе подходы к созданию виртуальных систем. Виртуализация ресурсов позволяет концентрировать, абстрагировать и упрощать управление группами ресурсов, таких как сети, хранилища данных и пространства имен.
-
Объединение, агрегация и концентрация компонентов.
- многопроцессорные системы, представляющиеся нам как одна мощная система,
- RAID-массивы и средства управления томами, комбинирующие несколько физических дисков в один логический,
- виртуализация систем хранения, используемая при построении сетей хранения данных SAN (Storage Area Network),
- виртуальные частные сети (VPN) и трансляция сетевых адресов (NAT), позволяющие создавать виртуальные пространства сетевых адресов и имен.
Виртуализация ресурсов, в отличие от виртуализации платформ, имеет более широкий и расплывчатый смысл и представляет собой массу различных подходов, направленных на повышение удобства обращения пользователей с системами в целом. Поэтому, далее мы будем опираться в основном на понятие виртуализации платформ, поскольку технологии, связанные именно с этим понятием, являются в данный момент наиболее динамично развивающимися и эффективными.
Где применяется виртуализация
-
Консолидация серверов.
Все перечисленные варианты использования виртуальных машин фактически являются лишь сферами их применения в данный момент, со временем, несомненно, появятся новые способы заставить виртуальные машины работать в различных отраслях IT. Но давайте посмотрим, как сейчас обстоят дела с виртуализацией.
Как работает виртуализация сегодня
На сегодняшний день проекты по виртуализации IT-инфраструктуры активно внедряются многими ведущими компаниями, занимающимися системной интеграцией и являющимися авторизованными партнерами провайдеров систем виртуализации. В процессе виртуализации IT-инфраструктуры создается виртуальная инфраструктура – комплекс систем на основе виртуальных машин, обеспечивающих функционирование всей IT-инфраструктуры, обладающий многими новыми возможностями при сохранении существующей схемы деятельности IT-ресурсов. Вендоры различных платформ виртуализации готовы предоставить информацию об успешных проектах по внедрению виртуальной инфраструктуры в крупных банках, промышленных компаниях, больницах, образовательных учреждениях. Множество достоинств виртуализации операционных систем позволяют компаниям экономить на обслуживании, персонале, аппаратном обеспечении, обеспечении бесперебойной работы, репликации данных и восстановлении после сбоев. Также рынок виртуализации начинает наполняться мощными средствами управления, миграции и поддержки виртуальных инфраструктур, позволяющими использовать преимущества виртуализации наиболее полно. Давайте посмотрим, как именно виртуализация позволяет компаниям, внедряющим у себя виртуальную инфраструктуру, экономить деньги.
В нашей прошлой статье мы рассмотрели общие вопросы виртуализации: что это такое, зачем и для чего нужно, особенности и преимущества. Сегодня мы поговорим от технологиях виртуализации более подробно, расскажем какие бывают типы и для решения каких задач они предназначены.
Сразу оговоримся, что различные вендоры используют различные термины для обозначения одних и тех же технологий, что вносит определенную путаницу. Поэтому мы будем стараться придерживаться общих терминов либо использовать терминологию VMware и Microsoft как лидеров этого рынка. Что касается иных производителей, то в их системе понятий употребляемые нами термины и выражения могут иметь несколько иной смысл, поэтому при выборе того или иного продукта вам следует внимательно изучить его описание и документацию.
Настольная виртуализация
Наиболее распространенная и доступная в освоении технология. Применяется в основном для учебных и исследовательских целей. В данном случае платформа виртуализации устанавливается как еще одно приложение в операционной системе и позволяет создавать, запускать и управлять виртуальными машинами, а также обеспечивать сетевое взаимодействие между ними, а также с хостом и внешними сетями.
Отличительными особенностями настольных систем виртуализации является их расширенная интеграция с хостом и широкие мультимедийные возможности, такие как работа со звуком и ускорение 3D графики, что позволяет их полноценно использовать для работы с современными приложениями в виртуализированной среде, что широко используется при разработке, отладке, обучении и иных исследованиях и экспериментах.
К наиболее ярким представителям этого семейства относятся VMware Workstation и менее функциональный, зато бесплатный, VMware Player. По сути они являются единственными и неоспоримыми лидерами в данной категории предоставляя на десктопе все возможности современных платформ виртуализации корпоративного уровня. Созданные с их помощью виртуальные машины могут быть впоследствии размещены на серверных средствах виртуализации. Мы уже продолжительное время (начиная с версии 4.0) используем VMware Workstation как основу нашей тестовой лаборатории, которая в данный момент насчитывает около 60 виртуальных машин.
Также стоит отметить еще один популярный продукт Oracle VirtualBox. Однако мы можем порекомендовать его только в ознакомительных целях, так как у данного продукта отсутствует полноценная экосистема, в частности гипервизор корпоративного уровня и серверные продукты. А это неизбежно приведет к тому, что ваши виртуальные машины, созданные в VirtualBox неизбежно придется конвертировать для работы с иными гипервизорами, что крайне нежелательно по многим причинам.
Серверная виртуализация
О данном типе виртуализации мы достаточно говорили в предыдущей статье. Как следует из названия, основное назначение данной технологии - консолидация серверов, она же пользуется наибольшей популярностью и распространенностью. Это неудивительно - как правило виртуализация в корпоративной среде начинается именно с консолидации серверов.
Суть данной технологии проста. Несколько физических серверов заменяются одним, на котором установлена платформа виртуализации (гипервизор), которая управляет виртуальными серверами и рабочими станциями запущенными на этом сервере. Каждая такая виртуальная машина представляет изолированный от хоста и других виртуальных машин компьютер со своим эмулированным оборудованием, своими настройками и т.д. на котором может быть запущена любая поддерживаемая операционная система.
Наиболее крупные игроки на этом рынке: VMware c vSphere ESXi Hypervisor и Microsoft c Hyper-V, также стоит отметить Citrix Xen и Red Hat Enterprise Virtualization (на базе KVM). Все перечисленные продукты являются полноценными средствами серверной виртуализации и поддерживают самый широкий спектр возможностей и все основные современные ОС в качестве гостевых.
Виртуализация на уровне операционной системы
Одна из разновидностей серверной виртуализации, также предназначенная для виртуализации серверов и широко используемая на рынке хостинга. Ее основное отличие в том, что виртуализируется не компьютер и не операционная система, а пользовательское окружение ОС. Эти экземпляры пользовательского окружения, называемые также контейнерами, полностью идентичны основному серверу и используют общее ядро ОС.
Преимуществами такого подхода являются: высокое быстродействие, быстрое развертывание новых контейнеров и высокая плотность размещения (количество выделенных виртуальным ОС ресурсов может в несколько раз превышать ресурсы сервера), которая достигается за счет того, что использование одного экземпляр ядра и общих динамических библиотек позволяет значительно экономить память. Для пользователя каждый контейнер выглядит как отдельный сервер в который он может настраивать в соответствии со своими потребностями, устанавливать софт, выключать, перезагружать.
К недостаткам можно отнести невозможность глубокой настройки или самостоятельной установки ОС, а также использование иной, отличной от хоста, версии операционной системы. По сути каждый контейнер представляет изолированную копию операционной системы хоста с настраиваемым пользовательским окружением и общими базовыми ресурсами (ядро и т.п.).
Как мы уже говорили, основное применение данная технология нашла на рынке хостинга, так как позволяет быстро предоставить максимальному числу клиентов типовой виртуальный выделенный сервер с базовым установленным ПО. А крайне низкие накладные расходы на виртуализацию и высокая плотность размещения позволяют сделать данную услугу недорогой и доступной самым широким массам.
Наиболее популярным решением для данного типа виртуализации является OpenVZ и коммерческий продукт на его основе Parallels Virtuozzo Containers, последнее время приобретает известность разрабатываемый при поддержке IBM LXC, на аналогичных принципах работают FreeBSD Jail и Solaris Containers.
Виртуализация настольных компьютеров
В терминологии Microsoft - виртуализация рабочих столов. Дальнейшее развитие технологии и идеи виртуализации. Если мы можем перенести в виртуальную среду сервера, то почему нельзя сделать это с рабочими станциями? Виртуализация рабочих станций даст те-же преимущества, что и виртуализация серверов: повышение надежности, уменьшение затрат на обслуживание, экономия на клиентских ПК.
При виртуализации настольных компьютеров клиентский ПК выполняет роль тонкого клиента, через который пользователь подключается к рабочему столу своего виртуального ПК, работающего на сервере. При этом он может получать доступ к своему рабочему месту не только из офиса, но и дома, и в командировке. При появлении нового рабочего места достаточно создать новую виртуальную машину по одному из ранее созданных шаблонов, что занимает считанные минуты, при этом появляется гораздо большая гибкость при приобретении клиентских ПК - их аппаратная начинка может быть любой.
Дополнительный плюс для администраторов - централизованное управление парком виртуальных ПК, возможность оперативно перераспределять ресурсы, высокая отказоустойчивость, а консолидация рабочих станций значительно снижает стоимость владения.
Постойте, скажет внимательный читатель, а чем это принципиально отличается от терминального доступа? Действительно, данные технологии имеют много общего, но также имеется ряд существенных отличий.
При терминальном доступе нет изоляции пользователей и запущенных ими процессов, а следовательно трудно обеспечить высокий уровень безопасности и снизить влияние пользователей друг на друга. Так например ресурсоемкий процесс, запущенный одним из пользователей, неизбежно приведет к снижению производительности у остальных. Также пользователи весьма ограничены в возможностях индивидуальной настройки системы и приложений, возникают трудности с использованием различных версий одного программного продукта.
Виртуализация настольных компьютеров изолирует каждого пользователя в рамках своей виртуальной машины, что позволяет с одной стороны добиться минимального влияния на других пользователей и высокой безопасности, а с другой возможность гибкой настройки каждого рабочего места в соответствии с потребностями пользователя.
Технологии виртуализации настольных ПК представлены такими продуктами как VMware View, Microsoft Enterprise Desktop Virtualization (MED-V) и Citrix XenDesktop.
Виртуализация приложений
Идея виртуализации приложений не нова и весьма востребована в корпоративном секторе, вспомним хотя-бы режимы совместимости при запуске приложений, которые позволяли худо-бедно запустить устаревшие приложения в среде современных ОС. Виртуализация дала ход дальнейшему развитию этой идеи и позволила значительно ее усовершенствовать.
Виртуализированное приложение запускается в отдельном контейнере, который содержит также необходимые настройки среды, переменные окружения, библиотеки, ресурсы. Это позволяет снизить взаимное влияние запущенных программ между собой и операционной системой и на практике позволяет запускать устаревшие и несовместимые приложения, разные версии одного и того же приложения одновременно без оглядки на совместимость.
Для запуска такого приложения пользователю достаточно скопировать необходимый контейнер к себе на ПК и запустить его. Администраторы оценят такие возможности как быстрое развертывание приложений и низкая степень влияния пользователей на них, если даже пользователь и смог что-то испортить, достаточно будет заменить его контейнер с приложением новым. А про экономию времени и средств на развертывание даже и говорить не стоит. Несмотря на то, что групповые политики AD позволяют автоматически устанавливать приложения многие из них требуют последующей настройки и не решают проблемы конфликтов совместимости. С виртуальными приложениями достаточно один раз настроить контейнер и распространять его без оглядки на совместимость.
Виртуализация приложений также широко используется совместно с виртуализацией настольных компьютеров, позволяя значительно экономить дисковые ресурсы, а также совместно с терминальными службами предоставляя пользователям необходимые приложения не загромождая сервер большим количеством установленных программ.
Данная технология также позволяет организовать доставку приложений по сети, реализуя сервис "приложение по запросу", полностью контролируя использование приложений как в корпоративной сети, так и за ее пределами, что весьма актуально для мобильных сотрудников, которые могут работать со служебными ноутбуками вне сети.
Для виртуализации приложений можно использовать такие продукты как VMware ThinApp, Microsoft Application Virtualization (App-V) или Citrix XenApp.
Заключение
Данным материалом мы хотели познакомить вас с основными технологиями современной виртуализации. Но нельзя объять необъятное, как нельзя полностью раскрыть особенности той или иной технологии в паре абзацев. Поэтому мы сознательно пошли на упрощение и обобщение материала, чтобы читатель, встречаясь с упоминанием того или иного термина имел представление о чем идет речь и как это можно использовать. Детально изучение каждой технологии потребует написания не одной статьи, причем отдельно по каждому вендору. Поэтому для получения дополнительной информации мы рекомендуем обращаться к официальной документации по тому или иному продукту.
Цель данной лекции – получить сведения о технологиях виртуализации, терминологии, разновидностях и основных достоинствах виртуализации. Ознакомиться с основными решениями ведущих ИТ-вендоров. Рассмотреть особенности платформы виртуализации Microsoft.
Технологии виртуализации
Согласно статистике средний уровень загрузки процессорных мощностей у серверов под управлением Windows не превышает 10%, у Unix-систем этот показатель лучше, но тем не менее в среднем не превышает 20%. Низкая эффективность использования серверов объясняется широко применяемым с начала 90-х годов подходом "одно приложение — один сервер ", т. е. каждый раз для развертывания нового приложения компания приобретает новый сервер . Очевидно, что на практике это означает быстрое увеличение серверного парка и как следствие — возрастание затрат на его администрирование , энергопотребление и охлаждение, а также потребность в дополнительных помещениях для установки всё новых серверов и приобретении лицензий на серверную ОС.
Виртуализация ресурсов физического сервера позволяет гибко распределять их между приложениями, каждое из которых при этом "видит" только предназначенные ему ресурсы и "считает", что ему выделен отдельный сервер , т. е. в данном случае реализуется подход "один сервер — несколько приложений", но без снижения производительности, доступности и безопасности серверных приложений. Кроме того, решения виртуализации дают возможность запускать в разделах разные ОС с помощью эмуляции их системных вызовов к аппаратным ресурсам сервера.
Рис. 2.1. Виртуализация подразумевает запуск на одном физическом компьютере нескольких виртуальных компьютеров
В основе виртуализации лежит возможность одного компьютера выполнять работу нескольких компьютеров благодаря распределению его ресурсов по нескольким средам. С помощью виртуальных серверов и виртуальных настольных компьютеров можно разместить несколько ОС и несколько приложений в едином местоположении. Таким образом, физические и географические ограничения перестают иметь какое-либо значение . Помимо энергосбережения и сокращения расходов благодаря более эффективному использованию аппаратных ресурсов, виртуальная инфраструктура обеспечивает высокий уровень доступности ресурсов, более эффективную систему управления, повышенную безопасность и усовершенствованную систему восстановления в критических ситуациях.
В широком смысле понятие виртуализации представляет собой сокрытие настоящей реализации какого-либо процесса или объекта от истинного его представления для того, кто им пользуется. Продуктом виртуализации является нечто удобное для использования, на самом деле, имеющее более сложную или совсем иную структуру, отличную от той, которая воспринимается при работе с объектом. Иными словами, происходит отделение представления от реализации чего-либо. Виртуализация призвана абстрагировать программное обеспечение от аппаратной части.
В компьютерных технологиях под термином "виртуализация" обычно понимается абстракция вычислительных ресурсов и предоставление пользователю системы, которая "инкапсулирует" (скрывает в себе) собственную реализацию. Проще говоря, пользователь работает с удобным для себя представлением объекта, и для него не имеет значения, как объект устроен в действительности.
Сейчас возможность запуска нескольких виртуальных машин на одной физической вызывает большой интерес среди компьютерных специалистов, не только потому, что это повышает гибкость ИТ-инфраструктуры, но и потому, что виртуализация , на самом деле, позволяет экономить деньги.
История развития технологий виртуализации насчитывает более сорока лет. Компания IBM была первой, кто задумался о создании виртуальных сред для различных пользовательских задач, тогда еще в мэйнфреймах. В 60-х годах прошлого века виртуализация представляла чисто научный интерес и была оригинальным решением для изоляции компьютерных систем в рамках одного физического компьютера. После появления персональных компьютеров интерес к виртуализации несколько ослаб ввиду бурного развития операционных систем, которые предъявляли адекватные требования к аппаратному обеспечению того времени. Однако бурный рост аппаратных мощностей компьютеров в конце девяностых годов прошлого века заставил ИТ-сообщество вновь вспомнить о технологиях виртуализации программных платформ.
В 1999 г. компания VMware представила технологию виртуализации систем на базе x86 в качестве эффективного средства, способного преобразовать системы на базе x86 в единую аппаратную инфраструктуру общего пользования и назначения, обеспечивающую полную изоляцию, мобильность и широкий выбор ОС для прикладных сред. Компания VMware была одной из первых, кто сделал серьезную ставку исключительно на виртуализацию. Как показало время, это оказалось абсолютно оправданным. Сегодня WMware предлагает комплексную виртуализационную платформу четвертого поколения VMware vSphere 4, которая включает средства как для отдельного ПК, так и для центра обработки данных. Ключевым компонентом этого программного комплекса является гипервизор VMware ESX Server . Позднее в "битву" за место в этом модном направлении развития информационных технологий включились такие компании как Parallels (ранее SWsoft), Oracle ( Sun Microsystems), Citrix Systems (XenSourse).
Корпорация Microsoft вышла на рынок средств виртуализации в 2003 г. с приобретением компании Connectiх, выпустив свой первый продукт Virtual PC для настольных ПК. С тех пор она последовательно наращивала спектр предложений в этой области и на сегодня почти завершила формирование виртуализационной платформы, в состав которой входят такие решения как Windows 2008 Server R2 c компонентом Hyper-V, Microsoft Application Virtualization (App-v), Microsoft Virtual Desktop Infrastructure ( VDI ), Remote Desktop Services, System Center Virtual Machine Manager .
На сегодняшний день поставщики технологий виртуализации предлагают надежные и легкоуправляемые платформы, а рынок этих технологий переживает настоящий бум. По оценкам ведущих экспертов, сейчас виртуализация входит в тройку наиболее перспективных компьютерных технологий. Многие эксперты предсказывают, что к 2015 году около половины всех компьютерных систем будут виртуальными.
Повышенный интерес к технологиям виртуализации в настоящее время неслучаен. Вычислительная мощь нынешних процессоров быстро растет, и вопрос даже не в том, на что эту мощь расходовать, а в том, что современная "мода" на двухъядерные и многоядерные системы, проникшая уже и в персональные компьютеры (ноутбуки и десктопы), как нельзя лучше позволяет реализовать богатейший потенциал идей виртуализации операционных систем и приложений, выводя удобство пользования компьютером на новый качественный уровень. Технологии виртуализации становятся одним из ключевых компонентов (в том числе, и маркетинговых) в самых новых и будущих процессорах Intel и AMD , в операционных системах от Microsoft и ряда других компаний.
Преимущества виртуализации
Приведем основные достоинства технологий виртуализации:
- Эффективное использование вычислительных ресурсов. Вместо 3х, а то 10 серверов, загруженных на 5-20% можно использовать один, используемый на 50-70%. Кроме прочего, это еще и экономия электроэнергии, а также значительное сокращение финансовых вложений: приобретается один высокотехнологичный сервер, выполняющий функции 5-10 серверов. С помощью виртуализации можно достичь значительно более эффективного использования ресурсов, поскольку она обеспечивает объединение стандартных ресурсов инфраструктуры в единый пул и преодолевает ограничения устаревшей модели "одно приложение на сервер".
- Сокращение расходов на инфраструктуру: Виртуализация позволяет сократить количество серверов и связанного с ними ИТ-оборудования в информационном центре. В результате этого потребности в обслуживании, электропитании и охлаждении материальных ресурсов сокращаются, и на ИТ затрачивается гораздо меньше средств.
- Снижение затрат на программное обеспечение. Некоторые производители программного обеспечения ввели отдельные схемы лицензирования специально для виртуальных сред. Так, например, покупая одну лицензию на Microsoft Windows Server 2008 Enterprise, вы получаете право одновременно её использовать на 1 физическом сервере и 4 виртуальных (в пределах одного сервера), а Windows Server 2008 Datacenter лицензируется только на количество процессоров и может использоваться одновременно на неограниченном количестве виртуальных серверов.
- Повышение гибкости и скорости реагирования системы: Виртуализация предлагает новый метод управления ИТ-инфраструктурой и помогает ИТ-администраторам затрачивать меньше времени на выполнение повторяющихся заданий — например, на инициацию, настройку, отслеживание и техническое обслуживание. Многие системные администраторы испытывали неприятности, когда "рушится" сервер. И нельзя, вытащив жесткий диск, переставив его в другой сервер, запустить все как прежде… А установка? поиск драйверов, настройка, запуск… и на все нужны время и ресурсы. При использовании виртуального сервера — возможен моментальный запуск на любом "железе", а если нет подобного сервера, то можно скачать готовую виртуальную машину с установленным и настроенным сервером, из библиотек, поддерживаемых компаниями разработчиками гипервизоров (программ для виртуализации).
- Несовместимые приложения могут работать на одном компьютере. При использовании виртуализации на одном сервере возможна установка linux и windows серверов, шлюзов, баз данных и прочих абсолютно несовместимых в рамках одной не виртуализированной системы приложений.
- Повышение доступности приложений и обеспечение непрерывности работы предприятия: Благодаря надежной системе резервного копирования и миграции виртуальных сред целиком без перерывов в обслуживании вы сможете сократить периоды планового простоя и обеспечить быстрое восстановление системы в критических ситуациях. "Падение" одного виртуального сервера не ведет к потере остальных виртуальных серверов. Кроме того, в случае отказа одного физического сервера возможно произвести автоматическую замену на резервный сервер. Причем это происходит не заметно для пользователей без перезагузки. Тем самым обеспечивается непрерывность бизнеса.
- Возможности легкой архивации. Поскольку жесткий диск виртуальной машины обычно представляется в виде файла определенного формата, расположенный на каком-либо физическом носителе, виртуализация дает возможность простого копирования этого файла на резервный носитель как средство архивирования и резервного копирования всей виртуальной машины целиком. Возможность поднять из архива сервер полностью еще одна замечательная особенность. А можно поднять сервер из архива, не уничтожая текущий сервер и посмотреть положение дел за прошлый период.
- Повышение управляемости инфраструктуры: использование централизованного управления виртуальной инфраструктурой позволяет сократить время на администрирование серверов, обеспечивает балансировку нагрузки и "живую" миграцию виртуальных машин.
Виртуальной машиной будем называть программную или аппаратную среду, которая скрывает настоящую реализацию какого-либо процесса или объекта от его видимого представления.
Виртуальная машина — это полностью изолированный программный контейнер, который работает с собственной ОС и приложениями, подобно физическому компьютеру. Виртуальная машина действует так же, как физический компьютер, и содержит собственные виртуальные (т.е. программные) ОЗУ, жесткий диск и сетевой адаптер.
ОС не может различить виртуальную и физическую машины. То же самое можно сказать о приложениях и других компьютерах в сети. Даже сама виртуальная машина считает себя "настоящим" компьютером. Но несмотря на это виртуальные машины состоят исключительно из программных компонентов и не включают оборудование. Это дает им ряд уникальных преимуществ над физическим оборудованием.
Читайте также: