Какие существуют программные продукты предназначенные для виртуализации
Виртуализа́ция — предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе.
Примером использования виртуализации является возможность запуска нескольких операционных систем на одном компьютере: при том каждый из экземпляров таких гостевых операционных систем работает со своим набором логических ресурсов (процессорных, оперативной памяти, устройств хранения), предоставлением которых из общего пула, доступного на уровне оборудования, управляет хостовая операционная система — гипервизор. Также могут быть подвергнуты виртуализации сети передачи данных, сети хранения данных, платформенное и прикладное программное обеспечение: см. эмуляция.
Виды виртуализации[править | править код]
Оборудование
- Эмуляция — полная виртуализация (виртуализация всей платформы); например, QEMU или эмуляторы игровых консолей.
Операционные системы
- Программная виртуализация
- Динамическая трансляция; при динамической (бинарной) трансляции проблемные команды гостевой операционной системы перехватываются гипервизором.
- Паравиртуализация: операционная система взаимодействует с программой гипервизора, который предоставляет ей гостевой 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].
Встроенная виртуализация[править | править код]
Преимущества:
- Совместное использование ресурсов несколькими гостевыми операционными системами (каталоги, принтеры и так далее).
- Удобство интерфейса для окон приложений из разных систем (перекрывающиеся окна приложений, одинаковая минимизация окон, как в хост-системе).
- При тонкой настройке на аппаратную платформу производительность мало отличается от оригинальной операционной системы. Быстрое переключение между системами (менее одной секунды).
- Простая процедура обновления гостевой операционной системы.
- Двухсторонняя виртуализация (приложения одной системы запускаются в другой и наоборот).
Реализации:
- BlueStacks Multi-OS (MOS)[4][5].
Аппаратная виртуализация[править | править код]
Преимущества:
- Упрощение разработки программных платформ виртуализации за счет предоставления аппаратных интерфейсов управления и поддержки виртуальных гостевых систем. Это уменьшает трудоемкость и время на разработку систем виртуализации.
- Возможность увеличения быстродействия платформ виртуализации. Управление виртуальными гостевыми системами осуществляет напрямую небольшой промежуточный слой программного обеспечения, гипервизор, что дает увеличение быстродействия.
- Улучшается защищённость, появляется возможность переключения между несколькими запущенными независимыми платформами виртуализации на аппаратном уровне. Каждая из виртуальных машин может работать независимо, в своем пространстве аппаратных ресурсов, полностью изолированно друг от друга. Это позволяет устранить потери быстродействия на поддержание хостовой платформы и увеличить защищенность.
- Гостевая система становится не привязана к архитектуре хостовой платформы и к реализации платформы виртуализации. Технология аппаратной виртуализации делает возможным запуск 64-битных гостевых систем на 32-битных хостовых системах (с 32-битными средами виртуализации на хостах).
Технологии:
- Режим виртуального 8086 (устарела)
- Intel VT (VT-x, Intel Virtualization Technology for x86)
- AMD-V
Платформы, использующие аппаратную виртуализацию:
- IBM LPAR
- VMware
- Hyper-V
- Xen
- KVM
- Bhyve
Контейнерная виртуализация[править | править код]
Контейнерная виртуализация — виртуализация на уровне операционной системы — позволяет запускать изолированные виртуальные системы на одном физическом узле, но не позволяет запускать операционные системы с ядрами, отличными от типа ядра базовой операционной системы. При таком подходе не существует отдельного слоя гипервизора, вместо этого сама хостовая операционная система отвечает за разделение аппаратных ресурсов между несколькими гостевыми системами (контейнерами) и обеспечивает их независимость. Некоторые реализации — FreeBSD Jail (2000), Virtuozzo Containers (2000), Solaris Containers (2005), Linux-VServer[en], OpenVZ (2005), LXC (2008), iCore Virtual Accounts (2008), Docker (2013).
Области применения виртуализации[править | править код]
Виртуальные машины[править | править код]
Виртуальная машина — это окружение, которое представляется для «гостевой» операционной системы, как аппаратное. Однако на самом деле это программное окружение, которое эмулируется программным обеспечением хостовой системы. Эта эмуляция должна быть достаточно надёжной, чтобы драйверы гостевой системы могли стабильно работать. При использовании паравиртуализации, виртуальная машина не эмулирует аппаратное обеспечение, а, вместо этого, предлагает использовать специальный 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
VMware Fusion 10 Pro
Решение VMware Fusion Pro реализует качественно новый уровень виртуализации на компьютерах Mac благодаря эффективным возможностям для опытных пользователей, разработчиков и ИТ-администраторов. Благодаря ведущим средствам виртуализации настольных компьютеров и дополнительным возможностям работы в облаке решение VMware Fusion Pro предоставляет заказчикам мощные виртуальные машины, высочайшую производительность и повышенное удобство работы.
VMware Horizon 7 Advanced
VMware Horizon 7 — это ведущая платформа для виртуальных компьютеров и приложений.Предоставьте конечным пользователям доступ ко всем виртуальным компьютерам, приложениям и веб-службам из единой цифровой рабочей области. VMware Horizon 7 Advanced: экономичная система предоставления виртуальных компьютеров и приложений в рамках единой рабочей области
VMware Horizon 7 Enterprise
VMware Horizon 7 — это ведущая платформа для виртуальных компьютеров и приложений. Предоставьте конечным пользователям доступ ко всем виртуальным компьютерам, приложениям и веб-службам из единой цифровой рабочей области. Horizon 7 Enterprise: предоставление виртуальных компьютеров и приложений через единую рабочую область с возможностями своевременного управления
VMware Horizon 7 for Linux
VMware Horizon 7 — это ведущая платформа для виртуальных компьютеров и приложений. Предоставьте конечным пользователям доступ ко всем виртуальным компьютерам, приложениям и веб-службам из единой цифровой рабочей области.
VMware Horizon 7 Standard
VMware Horizon 7 — это ведущая платформа для виртуальных компьютеров и приложений. VMware Horizon 7 Standard: упрощенная и эффективная инфраструктура виртуальных компьютеров с превосходными условиями работы для пользователей
VMware Horizon FLEX
VMware Horizon FLEX предоставляет ИТ-отделам гибкие возможности обслуживания конечных пользователей, а также обеспечивает безопасность, соответствие нормативным требованиям и централизованное управление для виртуальных компьютеров в контейнерах. С помощью Horizon FLEX можно предложить защищенную рабочую среду Windows для пользователей личных устройств и устройств Mac, подрядчиков и мобильных сотрудников — с подключением к сети и в автономном режиме.
VMware Workstation 15 Player
VMware Workstation Player (прежнее название — Player Pro) — это оптимизированное приложение для виртуализации настольных компьютеров, предназначенное для одновременной работы нескольких операционных систем на одном и том же компьютере без перезагрузки. Удобный интерфейс этого решения, беспрецедентно широкий выбор поддерживаемых операционных систем и гибкие возможности переноса ВМ существенно упрощают задачу предоставления корпоративным пользователям полноценных виртуальных компьютеров сотрудниками ИТ-отдела.
VMware Workstation 15 Pro
Решение VMware Workstation Pro открывает для заказчиков новые возможности виртуализации благодаря поддержке широкого спектра операционных систем, удобству работы пользователей, комплексному набору возможностей и высокой производительности. Решение VMware Workstation Pro предназначено для специалистов, использующих в своей работе виртуальные машины.
VMWare Fusion 8
VMware Fusion 8 Pro — это инновационные технологии виртуализации настольных компьютеров на платформе Mac для опытных пользователей и ИТ-специалистов, передовые возможности для разработчиков и идеальное решение для использования компьютеров Mac в организациях, которым необходимо обеспечить совместимость с ПО для Windows.
VMware Server
VMware Server — это бесплатный продукт для виртуализации серверов Windows и Linux с поддержкой уровня предприятия и возможностью управления с помощью VirtualCenter.
Он позволяет компании разделить физический сервер на несколько виртуальных машин и получить преимущества от виртуализации.
Дополнительный компонент VirtualCenter помогает пользователям эффективно выполнять инициализацию, мониторинг и управление ИТ-инфраструктурой.
VMware ThinApp
ПО виртуализации VMware ThinApp позволяет администраторам корпоративных настольных ПК, управляющими физическими и виртуальными машинами, запускать любую версию любого приложения в одной операционной системе без каких-либо конфликтов.
VMwareThinApp не требует использования агентов клиента или внутренних серверов. Это обеспечивает более быструю и недорогую доставку приложений и отсутствие конфликтов
VMware vCenter
VirtualCenter позволяет быстро инициализировать виртуальные машины и осуществлять мониторинг производительности физических серверов и виртуальных машин.
VirtualCenter разумно оптимизирует использование ресурсов, обеспечивает высокую готовность всех приложений в виртуальных машинах и делает ИТ-среду более управляемой с помощью распределенных служб виртуализации, таких как VMware DRS, VMware High Availability (HA) и VMware VMotion.
VMware vCenter Server
VMware vCenter Server — это платформа для централизованного управления средами VMware vSphere, которая обеспечивает автоматизацию и надежное предоставление виртуальной инфраструктуры.
VMware vSphere 6
VMware vSphere 6 — это ведущая в отрасли платформа виртуализации, с помощью которой пользователи могут уверенно виртуализировать масштабируемые вертикально и горизонтально приложения, обеспечить новые уровни доступности и упростить виртуальный ЦОД. Результат — высокодоступная и устойчивая инфраструктура, которая предоставляется по требованию и является идеальной основой для любой облачной среды.
VMware Workstation 12 Player
VMware Workstation Player (прежнее название — Player Pro) — это оптимизированное приложение для виртуализации настольных компьютеров, предназначенное для одновременного запуска нескольких операционных систем на одном и том же компьютере без перезагрузки. Удобный интерфейс этого решения, беспрецедентно широкий выбор поддерживаемых операционных систем и гибкие возможности переноса ВМ существенно упрощают задачу предоставления корпоративным пользователям полноценных виртуальных компьютеров сотрудниками ИТ-отдела.
VMWare Workstation 12
VMware Workstation 12 решение для рабочих станций, позволяет эмулировать самостоятельный компьютер в среде рабочей операционной системы и работать с ним как с обычной системой. VMware Workstation 12 – это передовые технологии виртуализации рабочих мест для ОС Windows и Linux. Платформа предлагает расширенные возможности для разработчиков приложений, инженеров по контролю качества, специалистов по продажам технологических решений и IT-администраторов.