Виды виртуализации – Разница между виртуализацией на уровне ОС (контейнерами) и аппаратной виртуализацией (виртуальными машинами) в InfoboxCloud

Содержание

Виртуализация — Википедия

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

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

Оборудование
Операционные системы
  • Программная виртуализация
    • Динамическая трансляция; при динамической (бинарной) трансляции проблемные команды гостевой операционной системы перехватываются гипервизором.
    • Паравиртуализация: операционная система взаимодействует с программой гипервизора, который предоставляет ей гостевой API, вместо использования напрямую таких ресурсов, как таблица страниц памяти.
      • Встроенная виртуализация
  • Аппаратная виртуализация — виртуализация с поддержкой специальной процессорной архитектуры. В отличие от программной виртуализации, с помощью данной техники возможно использование изолированных гостевых систем, управляемых гипервизором напрямую.
  • Виртуализация на уровне операционной системы: работа нескольких экземпляров пространства пользователя в рамках одной ОС. Примерами могут быть Docker, LXC
Программное обеспечение
  • Виртуализация приложений (также виртуализация рабочего окружения): работа отдельных приложений в среде, отделённой от основной ОС. Эта концепция тесно связана с портативными приложениями. Примерами могут быть: Citrix XenApp, Microsoft App-V (англ.)русск..
  • Виртуализация сервисов: эмуляция поведения системных компонентов, необходимых для запуска приложения в целях отладки и тестирования (англ. Application Under Test). Вместо виртуализации компонентов целиком, эта технология виртуализует только необходимые части. Примеры: SoapUI (англ.)русск., Parasoft Virtualize (англ.)русск..
Память
  • Виртуализация памяти (memory virtualization) — объединением оперативной памяти из различных ресурсов в единый массив. Реализации: Oracle Coherence (англ.)русск., GigaSpaces XAP (англ.)русск..
  • Виртуальная память — изоляция адресного пространства приложения от всего адресного пространства. Применяется во всех современных ОС.
Хранилище данных
  • Виртуализация хранения данных, представление набора физических носителей в виде единого физического носителя.
    • Блочная виртуализация
    • Файловая виртуализация
  • Распределённая файловая система — любая файловая система, которая позволяет получать доступ к файлам с нескольких устройств, с помощью компьютерной сети.
  • Виртуальная файловая система (Virtual File System) — уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентских приложений к различным типам файловых систем.
  • Гипервизор хранения данных — любая файловая система, которая позволяет получать доступ к файлам с нескольких устройств, с помощью компьютерной сети.
  • Виртуальная файловая система (storage hypervisor) — программа, которая управляет виртуализацией пространства для хранения данных и может объединять различные физические пространства в единый логический массив.[1]
  • Виртуализация устройств хранения данных: виртуализация жёсткого (логический диск) или оптического диска (например, DAEMON Tools).
База данных
  • Виртуализация данных (data virtualization)— представление данных в абстрактном виде, независимо от нижележащих систем управления и хранения данных, а также их структуры. Это подход к унификации данных из нескольких источников на одном уровне, чтобы приложения, средства отчётности и конечные пользователи могли получать доступ к данным, не нуждаясь в подробных сведениях об исходных источниках, местоположениях и структурах данных.[2]
  • Виртуализация баз данных.
Сеть
  • Виртуализация сети (network virtualization) — процесс объединения аппаратных и программных сетевых ресурсов в единую виртуальную сеть.
    • Внешняя, соединяющая множество сетей в одну виртуальную.
    • Внутренняя, создающая виртуальную сеть между программными контейнерами внутри одной системы.
  • Виртуальная частная сеть (virtual private network) — обеспечение одного или нескольких сетевых соединений поверх другой сети.

Для виртуализации операционных систем применяется серия подходов, которые по типу реализации подразделяются на программные и аппаратные[3].

Программная виртуализация[править | править код]

Динамическая трансляция[править | править код]

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

Паравиртуализация[править | править код]

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

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

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

Впервые термин возник в проекте Denali[en].

Встроенная виртуализация[править | править код]

Преимущества:

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

Реализации:

Аппаратная виртуализация[править | править код]

Преимущества:

  • Упрощение разработки программных платформ виртуализации за счет предоставления аппаратных интерфейсов управления и поддержки виртуальных гостевых систем. Это уменьшает трудоемкость и время на разработку систем виртуализации.
  • Возможность увеличения быстродействия платформ виртуализации. Управление виртуальными гостевыми системами осуществляет напрямую небольшой промежуточный слой программного обеспечения, гипервизор, что дает увеличение быстродействия.
  • Улучшается защищённость, появляется возможность переключения между несколькими запущенными независимыми платформами виртуализации на аппаратном уровне. Каждая из виртуальных машин может работать независимо, в своем пространстве аппаратных ресурсов, полностью изолированно друг от друга. Это позволяет устранить потери быстродействия на поддержание хостовой платформы и увеличить защищенность.
  • Гостевая система становится не привязана к архитектуре хостовой платформы и к реализации платформы виртуализации. Технология аппаратной виртуализации делает возможным запуск 64-битных гостевых систем на 32-битных хостовых системах (с 32-битными средами виртуализации на хостах).

Технологии:

Платформы, использующие аппаратную виртуализацию:

Виртуализация на уровне операционной системы[править | править код]

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

Виртуальные машины[править | править код]

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

Примеры применения:

  • Тестовые лаборатории и обучение: тестированию в виртуальных машинах удобно подвергать приложения, влияющие на настройки операционных систем, например инсталляционные приложения. За счёт простоты в развёртывании виртуальных машин, они часто используются для обучения новым продуктам и технологиям.
  • Распространение предустановленного программного обеспечения: многие разработчики программных продуктов создают готовые образы виртуальных машин с предустановленными продуктами и предоставляют их на бесплатной или коммерческой основе. Такие услуги предоставляют Vmware VMTN или Parallels PTN.

Виртуализация ресурсов[править | править код]

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

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

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

Например, к реализации разделения ресурсов можно отнести OpenSolaris Network Virtualization and Resource Control (Проект Crossbow), позволяющий создавать несколько виртуальных сетевых интерфейсов на основе одного физического.

Агрегация, распределение или добавление множества ресурсов в большие ресурсы или объединение ресурсов. Например, симметричные мультипроцессорные системы объединяют множество процессоров; RAID и дисковые менеджеры объединяют множество дисков в один большой логический диск; RAID и сетевое оборудование использует множество каналов, объединённых так, чтобы они представлялись, как единый широкополосный канал. На мета-уровне компьютерные кластеры делают все вышеперечисленное. Иногда сюда же относят сетевые файловые системы абстрагированные от хранилищ данных на которых они построены, например, Vmware VMFS, Solaris/OpenSolaris ZFS, NetApp WAFL.

Виртуализация приложений[править | править код]

Виртуализация приложений — процесс использования приложения, преобразованного из требующего установки в операционную систему в не требующее (требуется только запустить). Для виртуализации приложений программное обеспечение виртуализатора определяет при установке виртуализуемого приложения, какие требуются компоненты ОС, и эмулирует их. Таким образом, создаётся необходимая специализированная среда для конкретно этого виртуализируемого приложения и, тем самым, обеспечивается изолированность работы этого приложения. Для создания виртуального приложения виртуализируемое помещается в контейнер, оформленный, как правило, в виде папки. При запуске виртуального приложения запускается виртуализируемое приложение и контейнер, являющийся для него рабочей средой. Рабочая среда запускается и предоставляет локальные ранее созданные ресурсы, которое включает в себя ключи реестра, файлы и другие компоненты, необходимые для запуска и работы приложения. Такая виртуальная среда работает как прослойка между приложением и операционной системой, что позволяет избежать конфликтов между приложениями. Виртуализацию приложений обеспечивают, например, программы Citrix XenApp[6], SoftGrid[7] и VMware ThinApp.

Достоинства:

  • изолированность исполнения приложений: отсутствие несовместимостей и конфликтов;
  • каждый раз в первозданном виде: не загромождается реестр, нет конфигурационных файлов — необходимо для сервера;
  • меньшие ресурсозатраты по сравнению с эмуляцией всей операционной системы.
  • Обзор методов, архитектур и реализаций виртуализации (Linux), www.ibm.com
  • Центр виртуализации, microsoft
  • Виртуализация серверов. Нейл Макаллистер, InfoWorld, 2007
  • Виртуализация серверов стандартной архитектуры. Леонид Черняк, Открытые системы, 2008
  • Альтернативы лидерам в канале 2009 г, 17 августа 2009
  • Технологии аппаратной виртуализации, ixbt.com, 22 мая 2007
  • Спирали аппаратной виртуализации. Александр Александров, Открытые системы
  • Рискованная виртуализация. Сергей Чекмасов, Журнал «Директор информационной службы», № 03, 2014

Виды виртуализации — Xhubs.ru

Понятие виртуализации условно можно разделить на две фундаментально различающиеся категории:

виртуализация платформ: Продуктом этого вида виртуализации являются виртуальные машины — некие программные абстракции, запускаемые на платформе реальных аппаратно-программных систем.
виртуализация ресурсов: Данный вид виртуализации преследует своей целью комбинирование или упрощение представления аппаратных ресурсов для пользователя и получение неких пользовательских абстракций оборудования, пространств имен, сетей и т.п. 
Виртуализация платформ
Под виртуализацией платформ понимают создание программных систем на основе существующих аппаратно-программных комплексов, зависящих или независящих от них. Система, предоставляющая аппаратные ресурсы и программное обеспечение, называется хостовой (host), а симулируемые ей системы – гостевыми (guest). Чтобы гостевые системы могли стабильно функционировать на платформе хостовой системы, необходимо, чтобы программное и аппаратное обеспечение хоста было достаточно надежным и предоставляло необходимый набор интерфейсов для доступа к его ресурсам. Есть несколько видов виртуализации платформ, в каждом из которых осуществляется свой подход к понятию «виртуализация». Виды виртуализации платформ зависят от того, насколько полно осуществляется симуляция аппаратного обеспечения. До сих пор нет единого соглашения о терминах в сфере виртуализации, поэтому некоторые из приведенных далее видов виртуализации могут отличаться от тех, что предоставят другие источники.

Виды виртуализации платформ:

Полная эмуляция (симуляция).При таком виде виртуализации виртуальная машина полностью виртуализует все аппаратное обеспечение при сохранении гостевой операционной системы в неизменном виде. Такой подход позволяет эмулировать различные аппаратные архитектуры. Например, можно запускать виртуальные машины с гостевыми системами для x86-процессоров на платформах с другой архитектурой (например, на RISC-серверах компании Sun). Долгое время такой вид виртуализации использовался, чтобы разрабатывать программное обеспечение для новых процессоров еще до того, как они были физически доступными. Такие эмуляторы также применяют для низкоуровневой отладки операционных систем. Основной минус данного подхода заключается в том, что эмулируемое аппаратное обеспечение весьма и весьма существенно замедляет быстродействие гостевой системы, что делает работу с ней очень неудобной, поэтому, кроме как для разработки системного программного обеспечения, а также образовательных целей, такой подход мало где используется.Примеры продуктов для создания эмуляторов: Bochs, PearPC, QEMU (без ускорения), Hercules Emulator.
Частичная эмуляция (нативная виртуализация): В этом случае виртуальная машина виртуализует лишь необходимое количество аппаратного обеспечения, чтобы она могла быть запущена изолированно. Такой подход позволяет запускать гостевые операционные системы, разработанные только для той же архитектуры, что и у хоста. Таким образом, несколько экземпляров гостевых систем могут быть запущены одновременно. Этот вид виртуализации позволяет существенно увеличить быстродействие гостевых систем по сравнению с полной эмуляцией и широко используется в настоящее время. Также, в целях повышения быстродействия, в платформах виртуализации, использующих данный подход, применяется специальная «прослойка» между гостевой операционной системой и оборудованием (гипервизор), позволяющая гостевой системе напрямую обращаться к ресурсам аппаратного обеспечения. Гипервизор, называемый также «Монитор виртуальных машин» (Virtual Machine Monitor) — одно из ключевых понятий в мире виртуализации. Применение гипервизора, являющегося связующим звеном между гостевыми системами и аппаратурой, существенно увеличивает быстродействие платформы, приближая его к быстродействию физической платформы.К минусам данного вида виртуализации можно отнести зависимость виртуальных машин от архитектуры аппаратной платформы.
Примеры продуктов для нативной виртуализации: VMware Workstation, VMware Server, VMware ESX Server, Virtual Iron, Virtual PC, VirtualBox, Parallels Desktop и другие.
Частичная виртуализация, а также «виртуализация адресного пространства» («address space virtualization»).При таком подходе, виртуальная машина симулирует несколько экземпляров аппаратного окружения (но не всего), в частности, пространства адресов. Такой вид виртуализации позволяет совместно использовать ресурсы и изолировать процессы, но не позволяет разделять экземпляры гостевых операционных систем. Строго говоря, при таком виде виртуализации пользователем не создаются виртуальные машины, а происходит изоляция каких-либо процессов на уровне операционной системы. В данный момент многие из известных операционных систем используют такой подход. Примером может послужить использование UML (User-mode Linux), в котором «гостевое» ядро запускается в пользовательском пространстве базового ядра (в его контексте).
Паравиртуализация: При применении паравиртуализации нет необходимости симулировать аппаратное обеспечение, однако, вместо этого (или в дополнение к этому), используется специальный программный интерфейс (API) для взаимодействия с гостевой операционной системой. Такой подход требует модификации кода гостевой системы, что, с точки зрения сообщества, Open Source не так и критично. Системы для паравиртуализации также имеют свой гипервизор, а API-вызовы к гостевой системе, называются «hypercalls» (гипервызовы). Многие сомневаются в перспективах этого подхода виртуализации, поскольку в данный момент все решения производителей аппаратного обеспечения в отношении виртуализации направлены на системы с нативной виртуализацией, а поддержку паравиртуализации приходится искать у производителей операционных систем, которые слабо верят в возможности предлагаемого им средства. В настоящее время провайдерами паравиртуализации являются компании XenSource и Virtual Iron, утверждающие, что быстродействие паравиртуализации выше.
Виртуализация уровня операционной системы: Сутью данного вида виртуализации является виртуализация физического сервера на уровне операционной системы в целях создания нескольких защищенных виртуализованных серверов на одном физическом. Гостевая система, в данном случае, разделяет использование одного ядра хостовой операционной системы с другими гостевыми системами. Виртуальная машина представляет собой окружение для приложений, запускаемых изолированно. Данный тип виртуализации применяется при организации систем хостинга, когда в рамках одного экземпляра ядра требуется поддерживать несколько виртуальных серверов клиентов.Примеры виртуализации уровня ОС: Linux-VServer, Virtuozzo, OpenVZ, Solaris Containers и FreeBSD Jails.
Виртуализация уровня приложений: Этот вид виртуализации не похож на все остальные: если в предыдущих случаях создаются виртуальные среды или виртуальные машины, использующиеся для изоляции приложений, то в данном случае само приложение помещается в контейнер с необходимыми элементами для своей работы: файлами реестра, конфигурационными файлами, пользовательскими и системными объектами. В результате получается приложение, не требующее установки на аналогичной платформе. При переносе такого приложения на другую машину и его запуске, виртуальное окружение, созданное для программы, разрешает конфликты между ней и операционной системой, а также другими приложениями. Такой способ виртуализации похож на поведение интерпретаторов различных языков программирования (недаром интерпретатор, Виртуальная Машина Java (JVM), тоже попадает в эту категорию).Примером такого подхода служат: Thinstall, Altiris, Trigence, Softricity.
Виртуализация ресурсов
При описании виртуализации платформ мы рассматривали понятие виртуализации в узком смысле, преимущественно применяя его к процессу создания виртуальных машин. Однако если рассматривать виртуализацию в широком смысле, можно прийти к понятию виртуализации ресурсов, обобщающим в себе подходы к созданию виртуальных систем. Виртуализация ресурсов позволяет концентрировать, абстрагировать и упрощать управление группами ресурсов, таких как сети, хранилища данных и пространства имен.

Виды виртуализации ресурсов:

Объединение, агрегация и концентрация компонентов. Под таким видом виртуализации ресурсов понимается организация нескольких физических или логических объектов в пулы ресурсов (группы), представляющих удобные интерфейсы пользователю. Примеры такого вида виртуализации:
многопроцессорные системы, представляющиеся нам как одна мощная система,
RAID-массивы и средства управления томами, комбинирующие несколько физических дисков в один логический,
виртуализация систем хранения, используемая при построении сетей хранения данных SAN (Storage Area Network),
виртуальные частные сети (VPN) и трансляция сетевых адресов (NAT), позволяющие создавать виртуальные пространства сетевых адресов и имен.
Кластеризация компьютеров и распределенные вычисления (grid computing). Этот вид виртуализации включает в себя техники, применяемые при объединении множества отдельных компьютеров в глобальные системы (метакомпьютеры), совместно решающие общую задачу.
Разделение ресурсов (partitioning).При разделении ресурсов в процессе виртуализации происходит разделение какого-либо одного большого ресурса на несколько однотипных объектов, удобных для использования. В сетях хранения данных это называется зонированием ресурсов («zoning»).
Инкапсуляция.Многим это слово известно как сокрытие объектом внутри себя своей реализации. Применительно к виртуализации, можно сказать, что это процесс создания системы, предоставляющей пользователю удобный интерфейс для работы с ней и скрывающей подробности сложности своей реализации. Например, использование центральным процессором кэша для ускорения вычислений не отражается на его внешних интерфейсах.
Виртуализация ресурсов, в отличие от виртуализации платформ, имеет более широкий и расплывчатый смысл и представляет собой массу различных подходов, направленных на повышение удобства обращения пользователей с системами в целом. Поэтому, далее мы будем опираться в основном на понятие виртуализации платформ, поскольку технологии, связанные именно с этим понятием, являются в данный момент наиболее динамично развивающимися и эффективными.

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Просмотров: 3 528

Поделиться ссылкой:

Похожее

Виртуализация. Классификация и области применения

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

Концепция виртуальной среды (в оригинале — virtualization engine) — новое направление виртуализации, которое дает общую целостную картину всей инфраструктуры сети с помощью техники агрегации.

IDC: Классификация этапов развития виртуализационных технологий

  • Для Virtualization 1.0 были типичными первичные, базисные задачи, такие как инкапсуляция ресурсов в виртуальных машинах и распределение ресурсов физических машин, динамическая консолидация ресурсов в общие пулы.
  • На последовавшем за ним — текущем для развитых стран — этапе Virtualization 2.0 приоритетными стали иные задачи, связанные с повышением эксплуатационных характеристик, в том числе увеличение времени наработки на отказ, повышение готовности, восстановление после аварийных ситуаций, балансировка нагрузки, управление виртуальными клиентами.
  • Будущий этап, Virtualization 3.0 предполагает создание автоматизированных ЦОД, представление разнообразных сервисов, ориентацию на установленные наборы правил. Эта классификация отражает динамику процессов в Америке и Западной Европе, где с 2009 года количество виртуальных серверов превышает количество физических.

Gartner предрекает закат рынка виртуализации

Объем мирового рынка серверной виртуализации (архитектура x86) в 2016 г. достигнет $5,6 млрд, увеличившись на 5,7% по сравнению с прошлым годом, прогнозирует Gartner. Несмотря на в целом положительную динамику, количество приобретаемых лицензий на программное обеспечение в этой сфере впервые начало сокращаться. Рост рынка обеспечивается только за счет услуг обслуживания. Это говорит о том, что сегмент ПО вплотную подходит к пику своего развития[1].

«За последние несколько лет рынок серверной виртуализации сильно возмужал. Во многих организациях более 75% серверов виртуальные, это говорит о высоком уровне насыщения», — заявил директор по исследованиям в Gartner Майкл Варилов (Michael Warrilow).

По словам аналитиков, отношение к виртуализации среди организаций различного размера отличается больше, чем когда-либо. Популярность виртуализации среди компаний с более крупными ИТ-бюджетами в 2014-2015 г.г. оставалась на прежнем уровне. Такие компании продолжают пользоваться виртуализацией активно, и в этом сегменте близится насыщение. Среди же организаций с более маленькими ИТ-бюджетами ожидается снижение популярности виртуализации в ближайшие два года (до конца 2017 г). Такая тенденция уже наблюдается.

«Физиколизация»

По наблюдениям Gartner, компании все чаще прибегают к так называемой «физиколизации» — запуску серверов без программного обеспечения для виртуализации. Ожидается, что к концу 2017 г. в более чем 20% таких компаний виртуальными будут менее трети операционных систем на серверах с архитектурой x86. Для сравнения, в 2015 г. таких организаций было в два раза меньше.

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

Гиперконвергированные интегрированные системы

В начале мая 2016 г. компания Gartner опубликовала прогноз относительно гиперконвергированных интегрированных систем. По оценке аналитиков, в 2016 г. этот сегмент вырастет на 79% по сравнению с 2015 г. почти до $2 млрд и в течение пяти лет достигнет стадии мейнстрима.

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

К гиперконвергированным интегрированным системам (hyperconverged integrated systems — HCIS) аналитики относят аппаратно-программные платформы, которые объединяют в себе программно-конфигурируемые вычислительные узлы и программно-конфигурируемую систему хранения данных, стандартное сопутствующее оборудование и общую панель управления.

Типы виртуализации

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

Паравиртуализация

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

Виртуализация инфраструктуры

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

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

Современные системы виртуализации, в частности, VMware и Citrix XenServer в большинстве своем работают по принципу bare metal, то есть ставятся прямо на «голое железо».

Пример

Виртуальная система, построена не на bare metal гипервизоре, а на сочетании операционной системы Linux CentOS 5.2 и VMware Server на базе серверной платформы Intel SR1500PAL, 2 процессора Intel Xeon 3.2/1/800, 4Gb RAM, 2xHDD 36Gb RAID1 и 4xHDD 146Gb в RAID10 общим объемом 292Gb. На хост-машине размещены четыре виртуальные машины:

  • почтовый сервер Postfix на базе операционной системы FreeBSD (Unix). Для доставки почты конечному пользователю использовался протокол POP3.
  • прокси-сервер Squid на базе все той же системы FreeBSD.
  • выделенный контроллер домена, DNS, DHCP на базе Windows 2003 Server Standard Edition.
  • управляющая рабочая станция на базе Windows XP для служебных целей.

Виртуализация серверов

  • Виртуальная машина — это окружение, которое представляется для «гостевой» операционной системы, как аппаратное. Однако на самом деле это программное окружение, которое симулируется программным обеспечением хостовой системы. Эта симуляция должна быть достаточно надёжной, чтобы драйверы гостевой системы могли стабильно работать. При использовании паравиртуализации, виртуальная машина не симулирует аппаратное обеспечение, а, вместо этого, предлагает использовать специальное Application Programming Interface (API).

Аналитики Gartner отмечают: «Виртуализация х86 серверной инфраструктуры выступает отправной точкой для двух важнейших современных отраслевых тенденций – модернизации инфраструктуры и облачных вычислений». Более того, «она коренным образом меняет подход предприятий к развертыванию, управлению и предоставлению IT». Исследователи убеждены, что «виртуализация х86 серверной инфраструктуры является сейчас ключевым направлением развития информационных технологий, делая стратегическое развитие серверной виртуализации в сторону облачных вычислений более очевидным для IT-директоров крупных предприятий».

Виртуализация уровня ОС

Виртуализация ресурсов

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

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

  • Агрегация, распределение или добавление множества ресурсов в большие ресурсы или объединение ресурсов. Например, симметричные мультипроцессорные системы объединяют множество процессоров; RAID и дисковые менеджеры объединяют множество дисков в один большой логический диск; RAID и сетевое оборудование использует множество каналов, объединённых так, чтобы они представлялись, как единый широкополосный канал. На мета-уровне компьютерные кластеры делают все вышеперечисленное. Иногда сюда же относят сетевые файловые системы абстрагированные от хранилищ данных на которых они построены, например, Vmware VMFS, Solaris ZFS, NetApp WAFL

Виртуализация приложений

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

Области применения виртуализации

  • Консолидация серверов : Часто виртуальные машины используют для объединения множества физических машин на меньшем числе более мощных в качестве виртуальных.
  • Тестовые лаборатории и обучение: За счёт простоты в развёртывании виртуальных машин, они часто используются для построения тестовых стендов, а также для обучения новым продуктам и технологиям.
  • Распространение предустановленного ПО : Многие разработчики программных продуктов создают готовые образы виртуальных машин с предустановленными продуктами и предоставляют их на бесплатной или коммерческой основе. Такие услуги предоставляют VMware VMTN или Parallels (Параллелз Софтвер) PTN

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

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

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

Виртуализация на предприятиях малого и среднего бизнеса

Сложные операции ИТ характерны не только для крупных организаций. Предприятия малого и среднего бизнеса также сталкиваются со значительной неоднородностью ИТ-операций. При этом они располагают гораздо меньшим числом сотрудников. Несмотря на то, что около 80% всех организаций имеют физические серверы, 34% всех организаций одновременно управляют физическими и виртуальными серверами, а также операциями в облачных средах, – так называемая «тройная услуга» в компьютерных средах. Среди организаций, которые управляют виртуальной инфраструктурой, 54% имеют два или более различных гипервизора. При этом разброс наименований этих гипервизоров гораздо шире, чем VMware vSphere и Microsoft Hyper-V. 67% организаций, имеющих виртуальные серверы, используют как минимум один гипервизор, не являющийся продуктом этих двух лидеров рынка. 42% организаций хранят, по крайней мере, часть своих данных в облаке, а из тех организаций, которые осуществляют резервное копирование данных удаленно из соображений аварийного восстановления, 65% хранят хотя бы часть этих данных в облачных хранилищах. Совершенно ясно, что администраторам нужны решения по хранению данных, которые охватывают все три способа хранения: физический, виртуальный и облачный.

В мае 2014 г. компания Acronis выступила в качестве спонсора проведенного компанией IDC всемирного межотраслевого опроса малых и средних организаций (до 1000 сотрудников), направленного на изучение постоянно меняющихся потребностей этих организаций в отношении защиты данных и аварийного восстановления работоспособности. Опрашиваемыми лицами являлись все сотрудники ИТ, отвечающие за принятие решений о закупках и за общее управление группами, которые занимаются вопросами защиты данных или влияют на принятие решений о закупках средств защиты данных. Общая численность выборки составила 401 человек.

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

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

Поскольку организации в своей деятельности все больше зависят от услуг ИТ, администраторы уделяют особое внимание максимальному сокращению простоев. Службы ИТ более чем когда-либо принимают в расчет такие критические показатели, как стоимость простоев, а управление доступностью в полном соответствии с требованиями договора о гарантированном уровне обслуживания становится общепринятой практикой. Среди малых и средних опрошенных организаций около 60% считают, что стоимость простоев наиболее критически важного приложения составляет от 20 до 100 тысяч долларов США. Целевая точка восстановления (RPO) приблизительно для 85% из них составляет менее одного часа, в то время как целевое время восстановления (RTO) для 78% составляет менее четырех часов. Целевая точка восстановления определяет приемлемое количество данных, которое может быть потеряно в случае сбоя. Целевое время восстановления определяет период времени, необходимый для восстановления нормальной работы после сбоя программного приложения.

Информационная безопасность виртуальной среды

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

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

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


Технология виртуализации подразумевает наличие дополнительного компонента — гипервизора, который не исполняет стороннего кода и контролирует работу приложений во всех виртуальных средах. Проверка на потенциальную опасность, организованная через гипервизор, работает более надежно, поскольку вредоносный код не может ей противостоять. Атаки же на сам гипервизор затруднены тем, что он не исполняет пользовательского кода и все драйверы поставляются разработчиком платформы виртуализации. При этом, как утверждает Лисачев, безопасность гипервизора тем выше, чем он компактнее. Гипервизор же VMware, по его словам, «на порядок компактнее конкурирующих», поэтому атаковать его еще сложнее, чем Hyper-V или Xen, работающие внутри базовой операционной системы, где в принципе можно запускать сторонние приложения. Таким образом, виртуализация служит дополнительным уровнем защиты при попытке захвата приложений или данных пользователей.

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

Технология виртуализации объединяет приложения и данные в единую среду. Если до недавнего времени данные и приложения защищались по различным сценариям: данные — при помощи систем резервного копирования, программы — установкой антивирусных средств, то с переходом на виртуализацию методы защиты программ и данных должны сблизиться. Уже появляются технологии поиска вирусов внутри выключенной виртуальной машины — в частности, такой механизм реализован в Trend Micro Deep Security. Кроме того, с вредоносными программами начали бороться при помощи восстановления виртуальной среды из чистой и проверенной резервной копии. И этот процесс объединения методов защиты приложений и данных будет по мере распространения технологий виртуализации только расширяться.

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

Виртуализация в России

По оценкам Microsoft, российский рынок виртуализации за 2010 год вырос более чем на 100%. «Если судить по числу запросов и проектов, реализованных на базе наших решений, рынок за год вырос примерно в два раза, — говорит менеджер Microsoft по продуктам для высокопроизводительных вычислений и виртуализации Василий Маланин. — Основные причины общего роста рынка — его восстановление после кризиса, а также растущий интерес к технологии виртуализации со стороны клиентов».

Ключевыми игроками российского рынка виртуализации в 2010 г. остались Microsoft, VMware, Citrix. Так, например, свою долю рынка в прошлом финансовом году, который для компании завершился в июле 2010 года, Microsoft оценивает примерно в 40%, основываясь на количестве физических серверов, на которых применяются их решения для виртуализации.

Чаще всего российские предприятия используют технологии виртуализации применительно к базам данных, электронной почте и ERP-приложениям. Причем, согласно проведенному опросу, большинство всех сервисов, запущенных в виртуальной среде, являются критически важными для бизнеса. Такие данные содержит исследование «Лаборатории Касперского», посвященное анализу текущего состояния развития технологий виртуализации в России.

По мнению экспертов «Лаборатории Касперского», технологии виртуализации сейчас находятся на пике своего развития и уже достигли такого уровня зрелости, когда компании переводят в «облако» бизнес-критичные приложения, хранят и обрабатывают на виртуальных машинах конфиденциальные данные. Исследование также показало, что по продолжительности использования технологий виртуализации Россия не уступает, Европе и США. В среднем для российских компаний этот срок составляет почти 2 года, что соответствует мировому показателю.

Несмотря на широкое распространение виртуализации, более чем две трети опрошенных ИТ-специалистов в России заявили, что обладают лишь базовыми и достаточными для выполнения своих ежедневных обязанностей знаниями в этой области. Настоящими же экспертами себя смогли назвать только 13% – для сравнения в США данный показатель достигает 38%.

Виртуальные машины в России защищены недостаточно эффективно

Только 11% российских компаний используют специализированные средства для защиты своих виртуальных серверов. Об этом свидетельствуют результаты опроса, проведенного «Лабораторией Касперского» среди IT-специалистов России. Как выяснилось, свыше половины отечественных предприятий предпочитают защищать виртуальные устройства, используя те же антивирусные решения, что и для защиты физических компьютеров. Более того, 73% организаций признались, что в настоящее время используют единую политику безопасности для физической и виртуальной сред, и лишь четверть из них рассматривает это как временную меру – до тех пор, пока для виртуальной инфраструктуры не будет разработана собственная политика.

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

«Причина сложившейся ситуации кроется, прежде всего, в недостаточной информированности бизнеса в вопросах защиты виртуальных сред. Несмотря на растущую популярность технологий виртуализации, к проблемам IT-безопасности, многие компании относятся с определенной долей беспечности. Речь идет и о недооценке рисков – многим IT-специалистам присуще заблуждение о повышенной безопасности виртуальной инфраструктуры, и о низкой осведомленности компаний о специализированных защитных решениях. К последним, в частности относится недавно представленный на рынке продукт Kaspersky Security для виртуальных сред, разработанный с учетом особенностей виртуализации», – комментирует результаты исследования Владимир Удалов, руководитель направления корпоративных продуктов в странах развивающихся рынков «Лаборатории Касперского».

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

Примечания

новый подход к построению IT-инфраструктуры

Что такое виртуализация и виртуальные машины

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

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

Сам термин «виртуализация» в компьютерных технологиях появился в шестидесятых годах прошлого века вместе с термином «виртуальная машина», означающим продукт виртуализации программно-аппаратной платформы. В то время виртуализация была, скорее, интересной технической находкой, чем перспективной технологией. Разработки в сфере виртуализации в шестидесятых-семидесятых годах проводились только компанией 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). Чтобы гостевые системы могли стабильно функционировать на платформе хостовой системы, необходимо, чтобы программное и аппаратное обеспечение хоста было достаточно надежным и предоставляло необходимый набор интерфейсов для доступа к его ресурсам. Есть несколько видов виртуализации платформ, в каждом из которых осуществляется свой подход к понятию «виртуализация». Виды виртуализации платформ зависят от того, насколько полно осуществляется симуляция аппаратного обеспечения. До сих пор нет единого соглашения о терминах в сфере виртуализации, поэтому некоторые из приведенных далее видов виртуализации могут отличаться от тех, что предоставят другие источники.

Виды виртуализации платформ:

  1. Полная эмуляция (симуляция).

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

    Примеры продуктов для создания эмуляторов: Bochs, PearPC, QEMU (без ускорения), Hercules Emulator.

  2. Частичная эмуляция (нативная виртуализация).

    В этом случае виртуальная машина виртуализует лишь необходимое количество аппаратного обеспечения, чтобы она могла быть запущена изолированно. Такой подход позволяет запускать гостевые операционные системы, разработанные только для той же архитектуры, что и у хоста. Таким образом, несколько экземпляров гостевых систем могут быть запущены одновременно. Этот вид виртуализации позволяет существенно увеличить быстродействие гостевых систем по сравнению с полной эмуляцией и широко используется в настоящее время. Кроме того, в целях повышения быстродействия в платформах виртуализации, использующих данный подход, применяется специальная «прослойка» между гостевой операционной системой и оборудованием (гипервизор), позволяющая гостевой системе напрямую обращаться к ресурсам аппаратного обеспечения. Гипервизор, называемый также «Монитор виртуальных машин» (Virtual Machine Monitor) — одно из ключевых понятий в мире виртуализации. Применение гипервизора, являющегося связующим звеном между гостевыми системами и аппаратурой, существенно увеличивает быстродействие платформы, приближая его к быстродействию физической платформы.

    К минусам данного вида виртуализации можно отнести зависимость виртуальных машин от архитектуры аппаратной платформы.

    Примеры продуктов для нативной виртуализации: VMware Workstation, VMware Server, VMware ESX Server, Virtual Iron, Virtual PC, VirtualBox, Parallels Desktop и другие.

  3. Частичная виртуализация, а также «виртуализация адресного пространства» («address space virtualization»).

    При таком подходе, виртуальная машина симулирует несколько экземпляров аппаратного окружения (но не всего), в частности, пространства адресов. Такой вид виртуализации позволяет совместно использовать ресурсы и изолировать процессы, но не позволяет разделять экземпляры гостевых операционных систем. Строго говоря, при таком виде виртуализации пользователем не создаются виртуальные машины, а происходит изоляция каких-либо процессов на уровне операционной системы. В данный момент многие из известных операционных систем используют такой подход. Примером может послужить использование UML (User-mode Linux), в котором «гостевое» ядро запускается в пользовательском пространстве базового ядра (в его контексте).

  4. Паравиртуализация.

    При применении паравиртуализации нет необходимости симулировать аппаратное обеспечение, однако, вместо этого (или в дополнение к этому), используется специальный программный интерфейс (API) для взаимодействия с гостевой операционной системой. Такой подход требует модификации кода гостевой системы, что, с точки зрения сообщества, Open Source не так и критично. Системы для паравиртуализации также имеют свой гипервизор, а API-вызовы к гостевой системе, называются «hypercalls» (гипервызовы). Многие сомневаются в перспективах этого подхода виртуализации, поскольку в данный момент все решения производителей аппаратного обеспечения в отношении виртуализации направлены на системы с нативной виртуализацией, а поддержку паравиртуализации приходится искать у производителей операционных систем, которые слабо верят в возможности предлагаемого им средства. В настоящее время провайдерами паравиртуализации являются компании XenSource и Virtual Iron, утверждающие, что быстродействие паравиртуализации выше.

  5. Виртуализация уровня операционной системы.

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

    Примеры виртуализации уровня ОС: Linux-VServer, Virtuozzo, OpenVZ, Solaris Containers и FreeBSD Jails.

  6. Виртуализация уровня приложений.

    Этот вид виртуализации не похож на все остальные: если в предыдущих случаях создаются виртуальные среды или виртуальные машины, использующиеся для изоляции приложений, то в данном случае само приложение помещается в контейнер с необходимыми элементами для своей работы: файлами реестра, конфигурационными файлами, пользовательскими и системными объектами. В результате получается приложение, не требующее установки на аналогичной платформе. При переносе такого приложения на другую машину и его запуске, виртуальное окружение, созданное для программы, разрешает конфликты между ней и операционной системой, а также другими приложениями. Такой способ виртуализации похож на поведение интерпретаторов различных языков программирования (недаром интерпретатор, Виртуальная Машина Java (JVM), тоже попадает в эту категорию).

    Примером такого подхода служат: Thinstall, Altiris, Trigence, Softricity.

Виртуализация ресурсов

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

Виды виртуализации ресурсов:

  1. Объединение, агрегация и концентрация компонентов.

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

    • многопроцессорные системы, представляющиеся нам как одна мощная система,
    • RAID-массивы и средства управления томами, комбинирующие несколько физических дисков в один логический,
    • виртуализация систем хранения, используемая при построении сетей хранения данных SAN (Storage Area Network),
    • виртуальные частные сети (VPN) и трансляция сетевых адресов (NAT), позволяющие создавать виртуальные пространства сетевых адресов и имен.
  2. Кластеризация компьютеров и распределенные вычисления (grid computing).

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

  3. Разделение ресурсов (partitioning).

    При разделении ресурсов в процессе виртуализации происходит разделение какого-либо одного большого ресурса на несколько однотипных объектов, удобных для использования. В сетях хранения данных это называется зонированием ресурсов («zoning»).

  4. Инкапсуляция.

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

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

Где применяется виртуализация

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

  1. Консолидация серверов.

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

  2. Разработка и тестирование приложений.

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

  3. Использование в бизнесе.

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

  4. Использование виртуальных рабочих станций.

    С приходом эры виртуальных машин будет бессмысленно делать себе рабочую станцию с ее привязкой к аппаратуре. Теперь создав однажды виртуальную машину со своей рабочей или домашней средой, можно будет использовать её на любом другом компьютере. Также можно использовать готовые шаблоны виртуальных машин (Virtual Appliances), которые решают определенную задачу (например, сервер приложений). Концепция такого использования виртуальных рабочих станций может быть реализована на основе хост-серверов для запуска на них перемещаемых десктопов пользователей (нечто подобное мэйнфреймам). В дальнейшем эти десктопы пользователь может забрать с собой, не синхронизируя данные с ноутбуком. Этот вариант использования также предоставляет возможность создания защищенных пользовательских рабочих станций, которые могут быть использованы, например, для демонстрации возможностей программы заказчику. Можно ограничить время использования виртуальной машины — и по прошествии этого времени виртуальная машина перестанет запускаться. В этом варианте использования заложены большие возможности.

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

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

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

10 причин использовать виртуальные машины
  1. Экономия на аппаратном обеспечении при консолидации серверов.

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

  2. Возможность поддержания старых операционных систем в целях обеспечения совместимости.

    При выходе новой версии операционной системы, старую версию можно поддерживать на виртуальной машине, пока не будет полностью обкатана новая ОС. И наоборот, можно «поднять» новую ОС на виртуальной машине и опробовать ее без ущерба для основной системы.

  3. Возможность изолировать потенциально опасные окружения.

    Если какое-то приложение или компонент вызывает сомнения в его надежности и защищенности, можно использовать его на виртуальной машине без опасности повредить жизненно важные компоненты системы. Такую изолированную среду называют также «песочницей» (sandbox). Помимо этого, можно создавать виртуальные машины, ограниченные политиками безопасности (например, машина перестанет запускаться через две недели).

  4. Возможность создания требуемых аппаратных конфигураций.

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

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

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

  6. На одном хосте может быть запущено одновременно несколько виртуальных машин, объединенных в виртуальную сеть.

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

  7. Виртуальные машины предоставляют великолепные возможности по обучению работе с операционными системами.

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

  8. Виртуальные машины повышают мобильность.

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

  9. Виртуальные машины могут быть организованы в «пакеты приложений».

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

  10. Виртуальные машины более управляемы.

    При использовании виртуальных машин существенно повышается управляемость в отношении создания резервных копий, создания снимков состояний виртуальных машин («снапшотов») и восстановлений после сбоев.

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

  1. Невозможность эмуляции всех устройств.

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

  2. Виртуализация требует дополнительных аппаратных ресурсов.

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

  3. Некоторые платформы виртуализации требовательны к конкретному аппаратному обеспечению.

    В частности, замечательная платформа компании VMware, ESX Server, была бы и вовсе замечательной, если бы не предъявляла жестких требований к аппаратному обеспечению.

  4. Хорошие платформы виртуализации стоят хороших денег.

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

Несмотря на перечисленные и вполне устранимые недостатки, виртуализация продолжает набирать обороты, и в 2007 году ожидается существенное расширение, как рынка платформ виртуализации, так и средств управления виртуальными инфраструктурами. За последние несколько лет интерес к виртуализации вырос в разы, что можно увидеть по статистике Google Trends:

Статистика тренда «виртуализация»

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

Что ждет виртуализацию в будущем

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

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

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

Анализ современных технологий виртуализации / Southbridge corporate blog / Habr


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

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

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

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

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

Виртуализация тема не новая, фактически ей уже более четырех десятилетий. IBM признала важность виртуализации еще в 1960-х вместе с развитием компьютеров класса «мэйнфрэйм». Например, System/360™ Model 67 виртуализировала все интерфейсы оборудования через программу Virtual Machine Monitor (VMM). На заре вычислительной эры операционную систему называли супервизор (supervisor). Когда стало возможным запускать одну операционную систему на другой операционной системе, появился термин гипервизор (hypervisor) (был введен в 1970-х).

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

Другое использование виртуализации заключается в симуляции процессора. Это, так называемая, P-code (или pseudo-code) машина. P-code – это машинный язык, который выполняется на виртуальной машине, а не на реальном оборудовании. P-code стал известен в начале 1970-х. С помощью него происходило компилирование программы на Pascal в P-code и потом выполнение ее на P-code виртуальной машине.

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

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

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

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


Эмуляция оборудования использует VM, чтобы моделировать необходимые аппаратные средства.

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

Главная проблема при эмуляции аппаратных средств состоит существенном замедлении выполнения программ в такой среде. Поскольку каждая команда должна моделироваться на основных аппаратных средствах, при этом замедление в 100 раз при эмуляции является обычным делом. Однако эмуляция аппаратных средств имеет существенные преимущества. Например, используя эмуляцию аппаратных средств, можно управлять неизмененной операционной системой, предназначенной для PowerPC® на системе с ARM процессором. также можно управлять многочисленными виртуальными машинами, каждая из которых будет моделировать другой процессор.

Полная (аппаратная) виртуализация, или «родная» виртуализация, является другим способом виртуализации. Эта модель использует менеджер виртуальных машин (гипервизор), который осуществляет связь между гостевой операционной системой и аппаратными средствами системы.


Полная виртуализация использует гипервизор, чтобы разделять основные аппаратные средства.

Взаимодействие между гостевой операционной системой (ОС) и оборудованием осуществляется посредством гипервизора. Внутри гипервизора должна быть установлена и настроена определенная защита, потому, что основные аппаратные средства не принадлежат ОС, а разделяются гипервизором. При построении крупных корпоративных систем, как правило, используется именно аппаратная виртуализация. При этом крупные вендоры такие как VMware, IBM и Microsoft разрабатывают свои платформы виртуализации на базе технологий аппаратной виртуализации Intel VT (VT-x), AMD-V.

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


Паравиртуализация разделяет процесс с гостевой операционной системой.

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

Из известных гипервизоров паравиртуализацию наравне с аппаратной виртуализацией использует Xen и его ответвления (Citrix XenServer, XCP).

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


Виртуализация уровня операционной системы изолирует виртуальные серверы.

Этот подход использован в Solaris Containers, FreeBSD jail и Virtuozzo/OpenVZ в ОС Linux и *BSD, а также в Linux Containers (LXC), про которые уже немало написано на Хабре.

Теперь постараемся ответить на вопрос: «Зачем нужна виртуализация?». В настоящее время существует множество причин использования виртуализации. Возможно, что самой важной причиной является, так называемая, серверная консолидация. Проще говоря, возможность виртуализировать множество систем на отдельном сервере. Это дает возможность предприятию (организации) сэкономить на мощности, месте, охлаждении и администрировании из-за наличия меньшего количества серверов. При этом немаловажным фактором является абстрагирование от оборудования. Например, сервера иногда выходят из строя. При этом есть возможность перераспределить нагрузку на оборудование. Отсутствие привязки, к какому либо «железу» существенно облегчает жизнь IT-отделу и снижает риск простоя предприятия.

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

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

В целом можно выделить следующие преимущества использования виртуализации:


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

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

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

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

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

Вы еще не используете виртуализацию?


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

VM GU.RU
Виртуализация серверов
Обзор методов виртуализации, архитектур и реализаций.
Виртуализация: новый подход к построению IT-инфраструктуры

Виртуализация — что это, какие задачи решает и в чем преимущества

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

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

Где используется виртуализация

Продукты виртуализации востребованы у тех компаний, которые движутся в сторону цифровой трансформации и умеют считать деньги. Новая технология востребована там, где вместо нескольких маломощных и требующих модернизации машин компания планирует закупить современное оборудование и использовать его ресурсы на 100 %. Рационально переносить в виртуализированную среду мало- и средненагруженные серверы: веб-сервер, контроллеры доменов, сервер БД, с которой работают до двух-трех сотен пользователей.

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

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

Виртуализация сервисов

Виды виртуализации

Самые популярные виды  — это виртуализация серверов, СХД, сети, приложений и рабочих столов.

Виртуализация серверов

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

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

Часто при переходе на виртуализацию приходится покупать новое, более мощное и адаптированное под специальное ПО оборудование, но эти затраты окупаются. Главное — предусмотреть поддержку аппаратных технологий виртуализации, среди которых популярны MS Hyper-V, Intel VT и AMD-V.

Виртуализация СХД

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

Виртуализация корпоративной сети

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

Виртуализация приложений

С таким подходом приложения не требуют установки в операционную систему — их достаточно просто запускать на выбранной машине. При этом эмулируются те компоненты ОС, которые нужны приложению для нормальной работы. Каждое приложение получает свою изолированную среду, в которой работает независимо от остального ПО, и необходимые атрибуты: ключи реестра, файлы. Самые популярные приложения для виртуализации — Citrix XenApp, SoftGrid, VMware ThinApp.

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

Виртуализация виртуальные машины

Виртуализация рабочих мест

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

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

Преимущества виртуализации

Экономический эффект

Виртуализация, виртуальные машины снижают стоимость владения ИТ-инфраструктурой и помогают в будущем сэкономить на ее содержании и модернизации. Технология объединяет в пределах одного мощного оборудования функции нескольких физических устройств, а морально устаревшему  «железу» дает вторую жизнь — его можно использовать в качестве терминальных компьютеров. С уменьшением количества единиц оборудования снижается потребность в электроснабжении и охлаждении, сокращается штат технических специалистов для его обслуживания. Компании  предстоят крупные затраты на этапе внедрения технологии  (лицензии на специализированное ПО стоят дорого), но они окупятся за 2–4 года в зависимости от специфики бизнеса.

Меньше функций администрирования

ИТ-специалистам, занятых обслуживанием виртуальных систем, понадобятся новые знания, но в целом количество задач у них сократится. Например, для перезагрузки виртуального сервера не придется покидать рабочее место, идти в серверную и там нажимать на физическую кнопку. Достаточно зайти в консоль и нажать на Reset, не вставая со стула. Благодаря инструментам автоматизации в разы проще восстановить ИТ-инфраструктуру после серьезного сбоя: система сама через заданные промежутки времени будет делать моментальные снимки и резервировать важные данные. А запустить новый виртуальный сервер с функциями старого можно за несколько минут, так как первый представляет собой обычную программу.

Простая миграция и модернизация «железа»

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

Многие производители программных решений для виртуализации предлагают собственные разработки для сокращения времени простоя при миграции. У Microsoft соответствующая технология называется Live Migration, у VMware — Vmotion. Благодаря им пользователи могут продолжать работать со своими программами, в то время как физический сервер перезагружают или меняют на нем, например, оперативную память или сетевую карту.

Высокая отказоустойчивость

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

Виртуализация определение

Гибкое распределение производительности

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

Частное «бизнес-облако»

определение и виды / Sandbox / Habr

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

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

Рассмотрим виды виртуализации. Одним из видов виртуализации является программная виртуализация, которая подразделяется на следующие категории:

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

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

Следующим видом виртуализации является аппаратная виртуализация, которая обладает следующими преимуществами:

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

2) Появляются возможности для ускорения работы платформ виртуализации.

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

4) Исключается привязка гостевой системы к архитектуре хостовой платформы. Кроме этого, гостевая система перестает зависеть от реализации платформы виртуализации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *