Основы виртуализации (обзор)
В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или повысить уровень своей квалификации. Вместе с тем полноценных обзоров по основам виртуализации написано не так уж и много (особенно на русском языке).
Главная задача данной статьи – объяснить начинающим специалистам необходимость виртуализации, указать на точки ее практического применения и дать ключевые понятия для дальнейшего изучения. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно сильно упрощен.
История
На заре развития компьютеры (или ЭВМ, электронно-вычислительные машины) были очень дорогим и штучным инструментом, позволить который могли себе только наиболее крупные институты и предприятия. Вычислительные ресурсы приходилось экономить всеми возможными способами. Первые разработчики писали код в режиме «офлайн» и передавали их оператору ЭВМ, который последовательно вводил программы в машину и производил расчеты. В начале 1960-х годов зародилась концепция разделения времени (time-sharing) – распределение вычислительных ресурсов между несколькими пользователями: пока один вводит данные, машина занимается расчетами других. Первые проекты с поддержкой данной концепции – Compatible Time-Sharing System (CTSS), Project MAC и предшественница ОС семейства Unix Multics – стали настоящим прорывом, однако они были небезопасными, сложными и, как следствие, не слишком стабильными.
В поисках путей решения проблемы оптимизации использования вычислительных ресурсов командой инженеров IBM был предложен новый подход – в рамках одной ЭВМ предоставить каждому пользователю виртуальную машину со своей ОС. Так в 1964 году появился проект CP-40, который позволил запускать несколько экземпляров клиентских ОС, например CMS. В 1967 году на основе проекта CP-40/CMS появилась CP-67/CMS – многопользовательская операционная система с разделением времени. CP-67/CMS работала на аппаратном мейнфрейме IBM System/360-67 и состояла из двух компонентов:
CP (Control Program)
Программа управления виртуализацией (прообраз современного гипервизора).
CMS (Cambridge Monitor System)
Одна из наиболее распространенных однопользовательских операционных систем для запуска в виртуальном окружении CP (клиентская, или гостевая, ОС).
Пользователи подключались к гостевым ОС с помощью специальных устройств ввода-вывода – терминалов.
Виртуализация обладала существенными преимуществами над концепцией разделения времени:
Увеличенные надежность и безопасность за счет изоляции пользователей.
Запуск любых приложений (не только приспособленных к концепции разделения времени) за счет симуляции отдельного компьютера для каждого пользователя.
Увеличенная производительность за счет использования легковесных гостевых ОС.
Шло время, компьютеры уменьшались в размерах и дешевели. В 1980-х годах x86 серверы и персональные компьютеры стали доступны для широкого спектра потребителей, вследствие чего мейнфреймы с виртуализацией и терминалами для многопользовательской работы ушли в прошлое. Однако технологии виртуализации продолжали развиваться и решать насущные проблемы. В 1988 году компания Insignia Solutions представила эмулятор программного обеспечения SoftPC, с помощью которого можно было запускать приложения MS DOS на рабочих станциях Unix, что стало своеобразным прорывом. В 1997 году компания Connectix создала программу Virtual PC для запуска под Mac ОС Windows. В 1999 году ныне всемирно известная компания VMware представила VMware Workstation, которая позволила запускать различные ОС в рамках виртуальных машин.
В начале 2000-х годов стали появляться продукты для серверной виртуализации. Эти решения дали возможность запускать несколько изолированных гостевых ОС в виртуальной среде на одном физическом сервере, что упрощало администрирование инфраструктуры, повышало ее отказоустойчивость и снижало простои серверного оборудования. Идея серверной виртуализации быстро набирала популярность. В 2001 году VMware представила ESX Server и GSX Server. В 2003 году Microsoft купила вышеупомянутую Connectix и перезапустила проект Virtual PC, ставший предшественником Microsoft Virtual Server и современного Microsoft Hyper-V). В 2007 году компанией Innotek был представлен VirtualBox. Также в 2007 году на рынок корпоративной виртуализации вышла компания Citrix, которая купила компанию XenSource и начала развивать проект с открытым исходным кодом Xen, предоставляя для клиентов коммерческую версию продукта Citrix XenServer (в настоящее время переименован в Citrix Hypervisor).
Напоследок стоит отметить, что помимо серверной виртуализации появлялись также продукты для виртуализации рабочих столов (новое воплощение той самой связки мейнфрейм-терминал из 1960-70 г.г.), приложений и др. Многие из этих решений активно развиваются и сегодня.
Виртуализация сегодня
Основные понятия
Итак, виртуализация – это сокрытие конкретной реализации за универсальным стандартизованным методом обращения к ресурсам. Иными словами, это создание абстракции над аппаратным обеспечением.
Существует много видов виртуализации, однако можно выделить три основных:
Аппаратная виртуализация.
Позволяет создавать независимые и изолированные друг от друга виртуальные компьютеры с помощью программной имитации ресурсов (процессора, памяти, сети, диска и др.) физического сервера. Физический сервер называют хостовой машиной (хостом), виртуальные компьютеры – виртуальными машинами, ВМ (иногда их также называют гостями). Программное обеспечение, которое создает виртуальные машины и управляет ими, называют гипервизором (а также виртуальным монитором или контрольной программой – вспомните CP-40 из начала статьи). На практике на виртуальных машинах могут использоваться разные ОС для разных целей – например, Windows Server под контроллер домена Active Directory и Debian под веб-сервер NGINX.
Виртуализация рабочих столов.
Позволяет отделить логический рабочий стол (набор пользовательских программ, работающий под ОС) от физической инфраструктуры (например, персональных компьютеров). Одной из наиболее распространенных форм виртуализации рабочих столов является VDI (Virtual Desktop Infrastructure) – инфраструктура виртуальных рабочих столов. Каждый пользователь VDI имеет программную имитацию ОС с необходимым набором программ на физическом сервере под управлением гипервизора и может подключаться к ней по сети. На практике VDI может использоваться для работы большого количества сотрудников на «удаленке» для того, чтобы не закупать им отдельные рабочии станции и управлять инфраструктурой централизованно.
Виртуализация на уровне ОС (контейнеризация).
Позволяет запускать программное обеспечение в изолированных на уровне операционной системы пространствах. Наиболее распространенной формой виртуализации на уровне ОС являются контейнеры (например, Docker). Контейнеры более легковесны, чем виртуальные машины, так как они опираются на функционал ядра ОС и им не требуется взаимодействовать с аппаратным обеспечением. На практике контейнеры представляют из себя изолированную среду для запуска любого приложения со всеми его зависимостями и настройками.
Виртуализация серверов
Виртуализация серверов – это процесс разделения физического сервера на несколько уникальных и изолированных виртуальных машин (серверов) с помощью программного обеспечения (гипервизора). На каждом виртуальном сервере могут независимо выполняться собственные операционные системы.
Виртуализация серверов позволяет:
Оптимизировать затраты на покупку серверного оборудования.
Под каждую задачу выделяется виртуальный сервер с необходимым количеством ресурсов (ЦПУ, ОЗУ и др.), простои оборудования минимизируются.
Упростить сопровождение инфраструктуры.
Создание, удаление или обслуживание виртуальной машины как правило проще и быстрее, чем аналогичные операции с физическим сервером.
Повысить отказоустойчивость инфраструктуры.
Виртуальные машины изолированы друг от друга, программный сбой на одной них не приведет к потере работоспособности сервисов и приложений на остальных.
Гипервизор обеспечивает изолированную среду выполнения для каждой виртуальной машины, а также управляет доступом ВМ и гостевых ОС к аппаратным ресурсам физического сервера. Говоря простыми словами, гипервизор обеспечивает параллельное и независимое функционирование нескольких операционных систем на одном компьютере. В классическом подходе гипервизоры группируются по двум типам: гипервизоры первого типа запускаются непосредственно на аппаратном обеспечении компьютера («железе»), а гипервизорам второго типа для работы необходимо наличие хостовой операционной системы. В последние несколько лет классическая классификация претерпевает изменения – добавился гибридный тип гипервизоров (тип 1.5), который сочетает характеристики первого и второго типов.
Гипервизоры первого типа (native, bare-metal)
Гипервизор первого типа выполняется как контрольная программа непосредственно на аппаратной части компьютера и не требует ОС общего назначения. В данной архитектуре гипервизор управляет распределением вычислительных ресурсов и сам контролирует все обращения виртуальных машин к устройствам.

Гипервизоры первого типа показывают высокое быстродействие, однако обладают очевидным недостатком – необходимость поддерживать драйверы устройств приводит к сужению списка совместимого аппаратного обеспечения.
KVM (Proxmox VE) – может быть также отнесен ко второму типу;
Xen (Xenserver, Citrix Hypervisor), Hyper-V – могут быть также отнесены к гибридному типу.
Гипервизоры второго типа (hosted)
Гипервизор второго типа выполняется поверх хостовой операционной системы (как правило Linux). Он управляет гостевыми операционными системами, в то время как эмуляцией и управлением физическими ресурсами занимается хостовая ОС.

Гипервизоры второго типа показывают меньшее относительно гипервизоров первого типа быстродействие и реже используются в промышленной эксплуатации, однако отлично подходят для задач обучения и разработки ПО.
KVM (Proxmox VE) – может быть также отнесен к первому типу.
Гипервизоры гибридного типа (hybrid)
Гибридный гипервизор сочетает в себе характеристики гипервизоров первого и второго типов – он выполняется поверх специализированной сервисной (или базовой) операционной системы. Сервисная ОС называется родительским разделом или доменом (parent partition в терминологии Hyper-V или domain dom0 в терминологии Xen). После установки гипервизора ядро ОС переходит в режим поддержки виртуализации и передает управление ресурсами процессора и памяти гипервизору. При этом родительский раздел берет на себя функцию обработки обращений к драйверам устройств и операциям ввода-вывода.

Данный подход удобен с точки зрения совместимости с оборудованием: не требуется добавлять в гипервизор драйверы устройств (расширяется список совместимого аппаратного обеспечения). Также гипервизор освобождается от задачи обработки вызовов к драйверам устройств – эти вызовы обрабатывает сервисная ОС.
Примеры: Xen (XenServer, Citrix Hypervisor), Hyper-V – могут быть также отнесены к первому типу
Кластер узлов виртуализации
Виртуализация на одном физическом сервере дает неплохие результаты, однако имеет ряд очевидных недостатков – например, в случае отказа этого сервера построенная инфраструктура полностью теряет работоспособность. По-настоящему ярко технология виртуализации раскрывается только при создании кластера из нескольких физических хостов. Кластер узлов виртуализации (или просто кластер виртуализации) – это объединение группы физических серверов, которое представляется конечным потребителям как общий вычислительный ресурс с единой точкой управления. При этом виртуальные машины запускаются на разных физических серверах и могут перемещаться (мигрировать) между ними, что обеспечивает высокую доступность (High Availability, HA) и гибкое распределение ресурсов (нагрузки). Практически все вышеперечисленные гипервизоры имеют программные механизмы для объединения в кластер – VMWare vSphere, Hyper-V Failover Clustering и др.
Абсолютное большинство крупных и средних компаний, поддерживающих собственную серверную инфраструктуру, используют кластеры виртуализации. Инфраструктура облачных провайдеров, предоставляющих для пользователей услуги аренды серверов, также строится на кластерах виртуализации. Но это уже совсем другая история.
За помощь в подготовке статьи автор выражает искреннюю благодарность @novikov0805, @Eviil и @KoPashka
Виртуализация.
Виртуальные машины. Гипервизоры. Контейнеры.

Важность и применение виртуализации простирается далеко за пределы виртуальных машин. Ни одно из достижений в области информационных технологий не имело столь огромной ценности как виртуализация. Многие IT-специалисты думают о виртуализации с точки зрения виртуальных машин ( VM ) и связанных с ними гипервизоров и операционных систем, но это только вершина айсберга. Все более широкий спектр технологий, стратегий и возможностей виртуализации переопределяет основные элементы IT в организациях по всему миру.
- Программно имитируется объект, который по функциям и ресурсам идентичен физически реализованному. Другими словами, программное обеспечение выглядит и ведет себя как аппаратное обеспечение. Например, в качестве имитируемого объекта может выступать виртуальная машина( VM ). Виртуальная машина обладает набором логических ресурсов (процессорных, оперативной памяти, устройств хранения) и при этом считает, что эти ресурсы полностью ее и реализованы физически.
- Ресурсы имитируемого объекта абстрагированы от аппаратной части. Что в свою очередь значит, что эмулируемый объект получает свой необходимый набор ресурсов из общего объема физического сервера и распоряжается им, как хочет. Система «думает», что она обладает эксклюзивным доступом к вычислительным ресурсам и памяти. Например, виртуальная машина работает с тем объемом ресурсов, который был ей выделен, и ничего не знает об остальных ресурсах физического сервера.
- На одном физическом ресурсе несколько вычислительных процессов. На одном и том же физическом сервере может быть запущено несколько операционных систем и конфигураций серверов.
- Вычислительные процессы логически изолированы. Каждая виртуальная машина работает независимо, запускает разные операционные системы и приложения и при этом ничего не знает о других машинах, запущенных на том же физическом сервере.
- Традиционный подход при организации серверной инфраструктуры подразумевает использование для каждого приложения отдельного физического сервера. Это позволяет гарантированно обеспечить такое приложение необходимыми вычислительными ресурсами при пиковой нагрузке, а также изолировать это приложение от других, чтобы сбой одного из приложений не влиял на работу остальных. Однако подобная стратегия сопряжена с линейным ростом числа физических серверов и, как следствие, с увеличением затрат на приобретение и эксплуатацию оборудования. Между тем, средняя загрузка вычислительных мощностей при такой схеме использования серверного оборудования не превышает 10%, что представляется явным расточительством. К примеру, Microsoft настоятельно не рекомендует совмещать контроллер домена Active Directory и интернет-шлюз на одном физическом сервере, так как это создает серьезную угрозу безопасности. Соответственно, многие системные администраторы ставят контроллер домена на один физический сервер, а интернет-шлюз — на другой. Тут возникает проблема: каждый отдельный сервер — стоит денег, потребляет электроэнергию и занимает место на столе либо в стойке. Особенно это становится важным, если сервера размещаются в стороннем датацентре, где взымают плату за занимаемые юниты в стойках и энергопотребление строго ограничивается. Использование под каждую такую задачу отдельного сервера выглядит нерационально. Решить данную проблему позволяет виртуализация серверной инфраструктуры.
- У пользователей Linux или Mac иногда возникает потребность в запуске программ, работающих только в Windows, а у Windows-пользователей, особенно программистов, потребность в запуске Linux или другой версии Windows. Классический пример — игры или Photoshop. Самый очевидный способ сделать это — купить второй компьютер, но это дорогое удовольствие. Второй вариант — поставить Windows рядом со своей основной операционной системой. Такая установка, как правило, может все сломать, но если у вас получилось, во время старта компьютера вы сможете выбрать операционную систему для загрузки. Третий и оптимальный путь — виртуализация.
- Корпоративные сети предъявляют повышенные требования к безопасности соединений. Представим компанию, которая имеет главный офис и несколько отделений в разных частях города или вовсе в разных регионах страны. Каждый филиал имеет собственную локальную сеть для обмена данными. При этом передача данных между филиалами осуществляется по общедоступным и незащищенным каналам. Передавать через общую сеть конфиденциальные и личные данные не только неудобно, но и опасно. На помощь так же приходит виртуализация — технология VPN(Virtual Private Network) позволяет создать между всеми офисами виртуальную сеть, которая будет осуществлять передачу информации в закодированном виде.
- Консолидация серверов. Виртуализация бизнес-приложений позволяет запускать несколько приложений на одном физическом сервере (хосте) вместо того, чтобы выделять для каждого приложения свой сервер. Теперь все необходимые для работы организации приложения могут работать на меньшем количестве серверов. Консолидация серверов позволяет снизить затраты на содержание серверной инфраструктуры на 50-60%.
- Повышение надежности. Виртуализация также позволяет существенно повысить надежность работы приложений и их устойчивость к сбоям. В случае отказа одного из серверов размещенные на нем виртуальные машины могут быть автоматически перезапущены на другом сервере и продолжат работу. Более того, для критически важных приложений, которые должны работать в непрерывном режиме, можно создать на разных физических серверах две виртуальные машины — основную и ее зеркальную копию. В случае сбоя основной виртуальной машины ее зеркальная копия обеспечит непрерывность работы такого приложения.
- Кластеризация. Несколько физических серверов (хостов), на которых работают виртуальные машины, можно объединить в кластер. Аппаратные ресурсы всех серверов кластера образуют общий пул ресурсов, который совместно могут использовать виртуальные машины кластера. ПО виртуализации позволяет автоматически осуществлять балансировку нагрузки на серверы, входящие в состав кластера, перемещая работающие виртуальные машины с более загруженных серверов на менее загруженные. Если общая нагрузка на кластер снижается (например, в ночное время), виртуальные машины могут быть автоматически «собраны» на небольшом числе серверов, а остальные серверы будут выключены.
- Легкое управление инфраструктурой.
- Быстрота развертывания. Развертывание нового сервера занимает определенное время. Это — установка ОС, установка драйверов, установка приложений и т.п. С виртуальными машинами все просто: можно создавать абсолютно идентичные «клоны» виртуальной машины за пару кликов мышью, и процесс займет порядка нескольких минут.
- Резервные копии. Даже если делается бэкап, то не всегда можно дать 100% гарантию, что из него можно будет восстановить ОС на «голом железе», и она будет работать без ошибок. Особенно — если конфигурация аппаратного обеспечения будет немного отличаться от предыдущей. В виртуальных машинах все «железо» эмулируемое и потому стандартное, и для полного бэкапа достаточно просто скопировать один или несколько файлов. Для восстановления достаточно просто скопировать файл(ы) на новый сервер, где уже установлена хостовая ОС со средой виртуализации, и «подцепить» их — и виртуальная машина будет работать как ни в чем не бывало.
2. Виды виртуализации. Общая классификация.
При разговоре о виртуализации большинству IT-специалистов в голову в первую очередь приходит работа с виртуальными машинами. Однако понятие виртуализации выходит далеко за рамки функционирования операционных систем и включает в себя и другие не менее важные компоненты.
Итак, что можно виртуализировать?
1. Виртуальные машины(операционные системы)
2. Программное обеспечение
3. Память
4. Хранилище данных
5. Базы данных
6. Сеть
Рассмотрим каждый из пунктов более подробно:
1) Виртуальные машины(операционные системы). Виртуализация ОС представляет собой архитектуру программного обеспечения, которая обеспечивает работу нескольких операционных систем в качестве гостя на определенном хосте физического сервера.
Благодаря тому, что программное обеспечение сервера абстрагировано от физического устройства, сервер становится «виртуальной машиной», не связанной с оборудованием.
Более подробно виртуальные машины рассмотрим в следующем пункте.
2) Программное обеспечение. Включает в себя виртуализацию приложений и сервисов:
1. Виртуализация приложений — работа отдельных приложений в среде, отделённой от основной ОС. Например, Citrix XenApp , Microsoft App-V .
2. Виртуализация сервисов — эмуляция поведения системных компонентов, необходимых для запуска приложения в целях отладки и тестирования. Вместо виртуализации компонентов целиком, эта технология виртуализирует только необходимые части. Например, SoapUI , Parasoft Virtualize .
3) Память. Виртуализация памяти — объединением оперативной памяти из различных ресурсов в единый массив. Реализации: Oracle Coherence , GigaSpaces XAP .
Также одной из распространенных стратегий распределения памяти, используемой во всех современных операционных системах, является модель виртуальной памяти. Ее работа основана на идее расширения физической памяти путем размещения расширенной памяти на диске и использования таблиц страниц (или сегментов) для трансляции адресов. Поэтому, естественно, возникает идея расширить пространство логической памяти, которое может быть реализовано намного большего размера, чем физическая память.
4) Хранилище данных. Виртуализация хранения данных – это предоставление ресурса физической емкости накопителей в форме логического пространства хранения. Истинная структура системы хранения инкапсулирована – скрыта от внешней среды. Сервер (хост) освобождается от необходимости знать, где и как данные размещаются физически, он обращается к некоему общему пулу хранения, обладающему определенным качеством обслуживания QoS . Управление же фактическим размещением данных осуществляется исключительно на уровне системы хранения данных. Это свойство также именуют маскированием среды хранения. В числе прочего маскирование приводит к возможности независимого масштабирования и системы хранения данных, и серверного пула, и прочих составляющих программно-аппаратного комплекса. Изменения на одном уровне стека не привязаны к другим.
5) База данных. Виртуализация данных — представление данных в абстрактном виде, независимо от нижележащих систем управления и хранения данных, а также их структуры. Это подход к унификации данных из нескольких источников на одном уровне, чтобы приложения, средства отчётности и конечные пользователи могли получать доступ к данным, не нуждаясь в подробных сведениях об исходных источниках, местоположениях и структурах данных.
6) Сеть. Виртуализация сети ( network virtualization ) — процесс объединения аппаратных и программных сетевых ресурсов в единую виртуальную сеть. Виртуализация сети разделяется на внешнюю, то есть соединяющую множество сетей в одну виртуальную, и внутреннюю, создающую виртуальную сеть между программными контейнерами внутри одной системы.
Сравнение VirtualBox, VMware и Hyper-V. Какая платформа лучше?
Простыми словами о сложном. Мы сравним 3 ведущие платформы виртуализации, расскажем о преимуществах виртуальной машины Hyper-V и поможем выбрать лучшую среду для вашего компьютера.

Содержание статьи:
Что такое виртуальная машина
Виртуализация — это удобный способ получить широкий спектр возможностей разных операционных систем без необходимости устанавливать их. Несомненно, вам по прежнему придется их загружать и проводить своего рода инсталляцию в соответствующих программах, тем не менее работать с BIOS и, уж тем более, убивать файлы жесткого диска ради установки ОС больше не придется.
В IT-индустрии существует несколько программ, предоставляющих возможность виртуализации: Oracle VirtualBox, VMware и Microsoft Hyper-V. Особый акцент мы сделаем на VirtualBox и VMware, поскольку Hyper-V хоть и удобен, но он по прежнему существенно отстает от своих конкурентов и не обладает нужной гибкостью.
Все приложения разные. Oracle предоставляет VirtualBox в качестве гипервизора для запуска виртуальных машин, в то время как VMware разработали сразу несколько приложений под индивидуальные нужды. Обе платформы быстры, надежны и обладают широким набором интересных функций. Некоторые из них доступны сразу на обоих платформах, но есть и уникальные возможности, на которых мы сделаем остановку в дальнейших главах.

Если вы ищете лучшую платформу для виртуализации, мы вам поможем. В этой статье будут разобраны все основные функции Oracle VirtualBox, VMware и Microsoft Hyper-V.
Модель лицензирования
Каждая компания разработала свои собственные системы лицензирования, поэтому важно знать и понимать нюансы каждой.
Oracle VirtualBox — это программное обеспечение с открытым исходным кодом, распространяющееся по стандартам общественной лицензии GNU версии* 2 точка ноль. Последняя доступная версия программы в настоящий момент 6 и 1.
VirtualBox Extension Pack уже является закрытым пакетом, который добавляет продукту некоторые дополнительные возможности, включая поддержку USB 2.0 и 3.0, VirtualBox RDP, PXE Boot и шифрование дисков VM. При условии установленного на компьютере хоста. VirtualBox Extension Pack предоставляется совершенно бесплатно для некоммерческого использования. То есть вы спокойно можете загружать и применять программу дома. Но стоит вам перенести ее в офис для корпоративных нужд, придется уже платить деньги. Не так много, но все же придется потратиться. Стоит это дело 3 с половиной тысячи рублей.
Теперь рассмотрим лицензию VMware Workstation.
Данное программное обеспечение предлагает каждому новому пользователю 30-дневный пробный период в течении которого вам будут доступны все функции для их оценки. Полная же версия стоит 250 долларов США, или же около 18-19 тысяч рублей в зависимости от настоящего курса. В то время как VMware Player включает в себя только базовые функции виртуализации, VMware Workstation поддерживает полный набор возможностей, которые предоставляет компания для своих пользователей.
Программная и аппаратная виртуализация
Платформы виртуализации поддерживают два типа работы: программный и аппаратный. Давайте разберемся в нюансах.
Аппаратная виртуализация использует гипервизор для эмуляции разного рода железа на котором будет стоять новая система. Необходимым условием для успешной работы является поддержка функций Intel VT-x или AMD-V на вашем процессоре, в зависимости от производителя. Включаются они только через BIOS, ссылка на статью с подробным разбором процесса в описании к видео. Обратите также внимание на то, что хост и гостевая система обязаны использовать одинаковую разрядность. То есть, если вы используете 32-битную винду, у вас не будет работать iOS 64-бита. Это же правило работает в обратном направлении. При установленной 64-битной винде, у вас не пойдет Linux 32-бита.
Как VMware, так и VirtualBox — оба поддерживают аппаратную виртуализацию.
Программная виртуализация. Данный тип работы с операционными системами требует от хост-системы полной эмуляции всей гостевой платформы. Включая функционал процессора. Это говорит о том, что программная виртуализация не требовательна к процессору, так как не обращается к нему в момент работы. Таким образом, нагрузка на ПК значительно ниже, но в то же время мы теряем и производительность. Этот тип виртуализации бесполезен для мощных ПК, но крайне эффективен для слабых.
Программную виртуализацию, среди двух конкурентов, поддерживает только VirtualBox.
Работа с операционными системами
Требование к хостам
Oracle VirtualBox — это кроссплатформенное решение. Программа может быть установлена на любую операционную систему. Linux, Windows, Solaris, macOS и FreeBSD.
В случае же с VMware ситуация несколько усложняется. Например, VMware Workstation и VMware Player могут быть установлены только на Linux и Windows, а вот на MacOS может быть установлено только VMware Fusion.
Как вы видите, VirtualBox является более универсальным.
Поддержка гостевых систем
На виртуальных машинах, работающих с VirtualBox, могут быть установлены такие операционные системы как Linux, Windows, Solaris, FreeBSD и MacOS. Полный набор.
Продукты VMware поддерживают тот же самый набор предложений, с одним небольшим ограничением. Официально, MacOS может быть установлена только лишь в качестве гостевой системы на продуктах VMware Fusion или VMware Fusion Pro. Тем не менее, технически MacOS заработает и при установке на Vmware Workstation с использованием специального патча. Однако перед этим вам нужно убедиться, соблюдается ли лицензионное соглашение с разработчиком.
Пользовательский интерфейс
Oracle VirtualBox

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

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

2. Далее введите Имя виртуальной машины, укажите путь установки и выберите тип системы.

3. Проследуйте несложной инструкции и завершите создание машины.

VMware Workstation

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

Меню настроек программы несколько шире, чем возможности Oracle VirtualBox, однако русского языка платформа не предполагает. К главным плюсам VMware я бы отнес возможность создания приоритизации процесса и выделения объема памяти подо всю программу, а не только лишь под конкретную виртуальную машину.
Как создать виртуальную машину:
1. Для этого достаточно кликнуть по клавишу Create a New Virtual Machine или, по-русски, Создать новую виртуальную машину.

2. Рекомендую оставить вариант по умолчанию. Custom подходит только для опытных пользователей, применяйте его только в случае если вы знаете зачем вам нужно менять стандартные параметры и чем вы хотите этим достичь.

3. Укажите путь к установщику операционной системы.

4. Выберите тип устанавливаемой операционной системы и проследуйте далее по несложной инструкции.

Microsoft Hyper-V

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

Система автоматически загрузится с серверов Microsoft и установится на ваш компьютер.

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

Наиболее удобной возможностью Hyper-V является доступность выбора местоположения ваших виртуальных систем. Выберите любую папку на жестком диске и приложение не будет засорять основной системный раздел.
Функция “Общие папки”
Функция общих папок позволяет удобно обмениваться файлами между двумя операционными системами: хостом и гостевой ОС. Создайте общую папку в ОС хоста с помощью приложения виртуализации, а затем просто подгрузите файлы с хоста в гостевую систему.
Такая возможность присутствует как в Oracle VirtualBox, так и в VMware Workstation.
Обратите внимание, функция общих папок не работает на виртуальных машинах с хостом ESXi — для них нужно создавать папку вручную на физической или виртуальной машине с помощью встроенных инструментов ОС.
Гостевые дополнения VirtualBox и VMware
Гостевые дополнения VirtualBox представляют собой набор драйверов и системных приложений для сторонних операционных систем. Они могут быть использованы для повышения производительности компьютера и удобства при использовании VM. Гостевые дополнения предоставляются для всех поддерживаемых операционных систем.
Файл VBoxGuestAdditions.iso находится в каталоге с установленной программой VirtualBox. Чтобы его установить, смонтируйте ISO-образ и проведите стандартную установку.
VMware Tools — это аналог гостевых дополнений от VirtualBox. Естественно, работает он только с платформой VMware. Разработчики дополнений решили не ограничиваться одним единственным файлом-пакетом, а создали целый набор ISO-образов, которые вы сможете вручную скачать с их сайта.
VM снэпшоты
Снэпшоты помогают сохранить текущее состояние виртуальной машины. То есть, если у вас в процессе работы возник баг и накрылась гостевая система, с помощью сделанного ранее снэпшота можно легко откатиться до состояния когда ОС была работоспособна. Таких сохранений можно сделать несколько. Поэтому, если об этой функции не забывать, шанс безвозвратно повредить гостевую систему крайне мал.
Поддержка 3D-графики
Некоторые программы, например приложения для создания и рендеринга 3D-моделей могут нуждаться в поддержке 3D-ускорения.
VirtualBox имеет ограниченную поддержку 3D-графики, вплоть до этапа OpenGL 3.0 и Direct3D 9. Включать настройку объемной графики придется вручную, функция расположена в меню параметров приложения. Важно также отметить, что вам предоставляется лишь 128 Мб видеопамяти на обработку 3D-графики.
В случае с VMware, ситуация обстоит несколько лучше. Приложения данной компании поддерживают DirectX 10 и OpenGL 3.3 для Player, WOrkstation, Fusion и ESXi. 3D-ускорение включено по умолчанию во всех последних версиях платформ. Кроме того, объем видеопамяти VMware существенно выше, он достигает объема аж в 2 Гб.
Форматы виртуальных дисков
Виртуальные диски — это не более чем эмуляция, так же как и установленные гостевые системы. Виртуальные диски представляют собой нечто вроде контейнеров с данными или папками на вашем жестком диске.
VirtualBox поддерживает следующие форматы дисков:
- VDI (Virtual Disk Image) — родной формат виртуальных дисков платформы. Используется по умолчанию при создании новой виртуальной машины.
- VMDK (Virtual Machine Disk) — формат виртуального диска, разработанный VMware и используемый ими по сей день.
- VHD (Virtual Hard Drive) — это формат виртуального жесткого диска, разработанный Microsoft для Hyper-V.
- HDD образ виртуального диска формата Parallels Desktop (особенно популярен на MacOS).
VMware поддерживает только VMDK формат виртуальных жестких дисков.
Проблема неиспользуемой памяти
При использовании виртуальных машин иногда возникает проблема при которой приложения не используют достаточно оперативной памяти, хотя ее более чем достаточно. Для решения данной неполадки используется техника Memory Overcommit. Она работает с памятью, которая позволяет хосту эффективно перераспределить ее на все работающие виртуальные машины. Функция активируется тогда, когда у хоста заканчивается физическая память.
Подведение итогов
VirtualBox и VMware являются двумя ведущими платформами виртуализации на рынке, что затрудняет выбор между этими двумя продуктами. Ранее мы разобрали наиболее важные функции приложений обоих этих компании и теперь самое время подвести итоги. К сожалению, Microsoft Hyper-V не может пока конкурировать с этими гигантами, но он по прежнему очень хорош, если вам необходима только последняя версия Linux Ubuntu.
Так как же все таки выбрать подходящую платформу для виртуализации?
- Если вы заинтересованы в бесплатных платформах, вам идеально подойдет VirtualBox.
- Если вам нужно установить виртуалку на сервер, вам подойдет VirtualBox или VMware ESXi Free Edition.
- Если вам нужно решение с расширенной поддержкой 3D-графики, смело выбирайте VMware Workstation (или VMware Fusion для операционной системы MacOS).
- Если вам нужна производительная платформа на слабый компьютер, можете не задумываясь ставить VirtualBox.
- Если у вас вопрос корпоративного уровня с необходимостью развертки нескольких серверов и запуска большого числа виртуальных машин, ставьте VMware vSphere на базе серверов ESXi с vCenter.
Похожие статьи про восстановление данных:
![]()
Windows, Mac и Linux: В чем между ними разница и как выбрать ОС
Если вы теряетесь при выборе операционной системы, а слова Windows, Mac и Linux кажутся лишь названи.
![]()
Как создать, использовать и восстановить данные с виртуального жесткого диска VHD в Windows 10
Узнайте что такое виртуальный жесткий диск (VHD), как его создать, применить на практике и, при необ.
![]()
Полезные функции Windows 10, которые помогут каждому
Windows 10, будучи последней актуальной и обновляемой версией операционной системы от Microsoft, сод.
Платформы виртуализации. Обзор
Виртуализация обычно подразумевает логическое объединение вычислительных ресурсов и абстрагирование их от физического оборудования — например, сервера или компьютера. У виртуальной машины есть свой пул логических ресурсов: CPU, RAM и дисковое пространство. Так, благодаря виртуализации, на одном физическом сервере можно запустить несколько независимых виртуальных машин.
Другой пример виртуализации — одновременный запуск нескольких операционных систем (ОС) на одном компьютере (контейнерная виртуализация). Каждая система работает со своим набором ресурсов, которые предоставляются из общего пула на уровне устройства. Этим пулом управляет хостовая система — гипервизор.
На рынке представлено множество платформ, которые поддерживают разные типы виртуализации и предназначены для разных задач. Тем не менее, основная область применения технологий виртуализации — облачные сервисы.

Преимущества виртуализации
- Главное преимущество виртуализации — это эффективное сокращение расходов на поддержку ИТ-инфраструктуры за счет экономии физических ресурсов, повышения уровня автоматизации процессов, адаптивности и масштабируемости бизнеса.Виртуализация помогает исключить расходы на покупку дополнительных серверов и их обслуживание, при этом максимизировать пользу имеющихся ресурсов.
- Еще одно преимущество этой технологии заключается в надежности: в критических ситуациях можно легко восстановить данные с помощью резервного копирования ВМ. Процесс можно автоматизировать, чтобы система сохраняла всю актуальную информацию в бэкапах. Это сокращает вероятность простоя бизнеса.
- Платформы виртуализации создают гибкую среду для тестирования различных проектов — например, в сфере разработки ПО. Виртуализация также создает основу для внедрения облачных решений, которые повышают контроль бизнеса над критичными данными.
Сейчас на рынке представлено множество решений виртуализации: продукты VMware, vStack, платформа от Microsoft и другие. У каждого есть свои преимущества, которые подходят для решения различных задач бизнеса. Расскажем о них подробнее:
VMware
VMware — американская компания, лидер среди поставщиков решений для виртуализации. К ним относятся: vSphere (ПО для виртуализации серверов), vCenter Server (ПО для централизованного управления серверами), NSX Data Center (виртуализированные службы сети и безопасности) и Horizon 7 (платформа для виртуальных компьютеров и приложений). Компания постоянно расширяет функциональность.
Продукты могут быть слишком сложными и дорогостоящими для малого и среднего бизнеса, не разбирающегося в технологиях. VMware предлагает решения премиум-класса по более высокой цене. Однако в крупных корпоративных средах с большим бюджетом, которые охватывают множество платформ, ОС и архитектур, VMware остается лучшим выбором.
- Поддерживает системы Windows, Linux, Solaris, FreeBSD, Netware и другие.
- Решения подходят для ИТ-специалистов, разработчиков и предприятий.
- Можно одновременно использовать несколько приложений в разных ОС. Перезагрузка не требуется.
- Может работать с облаком.
- Может быть интегрирована со сторонним программным обеспечением.
- Многие инструменты vSphere обеспечивают поддержку балансировки нагрузки и динамической миграции, а также ряд других полезных функций.
vStack
vStack — платформа для внедрения виртуального дата-центра на базе обычного недорогого оборудования. Это гиперковергентное решение для предприятий, разработанное компанией ITGLOBAL.COM LABS с применением open-source-технологий. vStack является более доступной платформой, однако по производительности не уступает VMware или другим корпоративным решениям для хранения и виртуализации.
- Нет необходимости переплачивать за дорогое оборудование, платформа может работать с устройствами потребительского класса. Нет привязки к поставщику.
- Разработана на базе ОС FreeBSD (семейство UNIX), файловой системы ZFS (поддержка больших объемов данных), гипервизора bhyve (интерфейс UEFI, поддержка NVMe, быстродействие).
- Поддержка Windows и Linux.
- Доступная альтернатива от российского поставщика на уровне популярных западных решений.
Citrix (Xen)
Citrix предлагает набор недорогих продуктов корпоративного уровня. Их решения для виртуализации можно рассматривать в качестве альтернативы VMware. Компания отвечает за разработку кроссплатформенного гипервизора с открытым исходным кодом Xen Project.
- Есть бесплатная версия.
- Платформа с открытым исходным кодом.
- Расширенные функции виртуализации. Работает с гипермасштабируемыми облаками.
- Поддерживаемые ОС: GNU/Linux, FreeBSD, MiniOS, NetBSD, Solaris, Windows и другие.
OpenVZ
OpenVZ — это мощная платформа на основе метода контейнеризации с открытым исходным кодом. Платформа бесплатная и быстрая, за счет того, что построена на базе ядра Linux. Однако в роли «гостевых» систем могут выступать только дистрибутивы Linux. Ее настройка может быть не такой простой, но это компенсируется широким спектром функций и большим количеством конфигураций.
- Состоит из модифицированного ядра Linux и пользовательских утилит.
- Поддерживает только ОС Linux.
- Виртуализация происходит на основе контейнеризации для Linux. Платформа создает несколько безопасных изолированных контейнеров (также известных как VE или VPS) на одном физическом сервере, что позволяет лучше использовать ресурсы сервера и избегать конфликтов между приложениями.
Virtuozzo
Virtuozzo — компания, созданная для обеспечения коммерческой поддержки средств виртуализации Kernel-based Virtual Machine (KVM) с открытым исходным кодом. Она добавляет множество улучшений в популярный гипервизор KVM (о нем ниже). Одна из самых доступных платформ.
- Расширенная функциональность и поддержка.
- Пользовательская база состоит в основном из малых и средних компаний.
- Виртуализация серверов сочестается с программно-определяемым хранилищем и контейнеризацией.
- Поддерживает только ОС Linux.
Kernel-based Virtual Machine — ПО с открытым исходным кодом, обеспечивающее виртуализацию в среде Linux. Платформу можно скачать бесплатно и использовать для разработки на своей виртуальной машине. Является наиболее популярной альтернативой коммерческим платформам.
- Обеспечивает быструю и надежную виртуализацию для устройств на Linux.
- Самая низкая стоимость.
- Сообщество постоянно развивает платформу, экосистему решений и функциональность.
- Предоставляет множество вариантов кастомизации. Подходит для разработчиков собственных программных решений.
Microsoft Hyper-V
Возможности ПО для виртуализации Microsoft Hyper-V тесно интегрированы с широким набором продуктов Windows. Этот инструмент предоставляет множество критически важных средств виртуализации по более низкой цене, чем VMware. Hyper-V более популярен среди ИТ-специалистов, которые используют другие продукты Microsoft.
- Платформа входит в состав Windows 10 Pro и Windows Server (2012 и 2016) без каких-либо дополнительных затрат для пользователя.
- Поддержка Linux ограничена.
- Hyper-V позволяет относительно неопытным пользователям создавать свою виртуальную серверную среду.
Как выбрать платформу для виртуализации
Выбор ПО для успешного внедрения виртуализации во многом зависит от того, соответствует ли платформа целям компании. Вот несколько факторов, которые следует учитывать:
Первое, что следует учитывать при выборе виртуальных решений, — это поддерживаемые операционные системы. Некоторые из решений разработаны для поддержки определенных систем, например только Windows — как Microsoft Hyper-V. Однако, если компании требуется одновременно запускать несколько типов ОС, нужно выбрать соответствующую платформу — например, решения VMware.
- Масштабируемость и гибкость платформы
Для онлайн-бизнеса приоритетом может стать масштабируемость платформы — или способность поддерживать большое число одновременно работающих ВМ. Это позволяет быстро расширять ресурсы для поддержки большего числа пользователей и создает более гибкую среду для внедрения новых функций.
- Потребление ресурсов и экономичность
С помощью виртуализации можно сократить потребляемые ресурсы оборудования, однако стоит выбирать платформу, которая потребляет меньше памяти. Если в системе ограничено ОЗУ, дополнительное использование ресурсов, необходимое для поддержки инструмента виртуализации, может замедлить работу системы. В конечном итоге это может привести к увеличению расходов на обновление оборудования. И если цена является главной проблемой, доступны бесплатные варианты виртуализации.
- Соответствие задачам компании
Например, для крупных компаний подходят многофункциональные enterprise-решения уровня VMware. Для небольших компаний-разработчиков ПО более важным будет гибкость платформы, возможность тестирования своих продуктов в различных средах и невысокая стоимость.
Вывод
При выборе платформ для виртуализации компания должна убедиться, что она вкладывает средства в правильное программное обеспечение. Для этого нужно заранее определиться со средой для внедрения ВМ, желаемой стоимостью и объемом ресурсов, необходимым для стабильной работы системы.