Технологии виртуализации в последнее время вызывают большой интерес не только у крупных компаний, использующих их для повышения эффективности информационной инфраструктуры в составе комплексных решений. Конечные пользователи также увидели преимущества применения настольных платформ виртуализации как на работе, в повседневной деятельности, так и дома. Технология виртуализации позволяет запускать на одном физическом компьютере одновременно несколько виртуальных машин с разными операционными системами.
При этом, если платформа виртуализации применяется в рамках рабочей деятельности предприятия, требования, предъявляемые к ней, несомненно, выше требований к «домашним» виртуальным машинам.
Однако, виртуальные машины могут использоваться для различных целей и попроще, к примеру:
[unordered_list style=»tick»]
- Создание «переносных компьютеров» с установленным в них программным обеспечением. К примеру, наши партнеры используют такую систему для проведения презентаций программных продуктов, поскольку гораздо проще запустить виртуальную машину, чем настраивать физическую, а потом все удалять с нее, направленных на решение определенного круга задач.
- Создание безопасной среды для интернет-серфинга. Если вредная программа или вирус попадут на компьютер, то причинят вред внутри виртуальной машины, но никак не затронут файлы физической машины. А виртуальную среду можно восстановить за считанные секунды из резервной копии простым копированием одного файлы.
- Разработка программ, эксперименты, ознакомление с разными ОС, обучение — любая из этих задач может быть реализована через виртуальную среду, вы не портите компьютер, но получаете любые варианты!
[/unordered_list]
В действительности, на этом варианты использования виртуальных машин не заканчиваются. Пользователи придумывают все новые и новые способы применения виртуальных машин.
В мире существует множество платных и бесплатных систем виртуализации, но мы сегодня хотим рассказать о опенсоурс кросс платформенной системе Oracle VirtualBox.
В 2006 году на рынке настольных платформ виртуализации появился новый игрок. Немецкая компания InnoTek представила продукт VirtualBox для виртуализации десктопов с открытым исходным кодом, в разработке которого (за исключением некоторых компонентов) может принять участие любой желающий. VirtualBox является достойным кандидатом на то, чтобы заполнить пустующую нишу среди настольных платформ виртуализации.
О платформе VirtualBox
- нативная x86-виртуализация, не требующая наличия поддержки аппаратных техник Intel VT или AMD-V (которая, однако, может быть включена в настройках)
- дружественный пользовательский интерфейс (построенный с помощью Qt3)
- поддержка Windows, Linux и Mac OS хостовых систем (версия для Mac OS в данный момент находится в стадии беты)
- наличие Guest VM Additions для упрощения взаимодействия с хостовыми ОС и оптимизации их быстродействия
- поддержка Direct3D
- поддержка многопроцессорных и многоядерных систем (только в качестве гостевых, поддержка виртуального SMP для представления многопроцессорности в гостевых системах отсутствует)
- стабильность (в сравнении с другими Open Source решениями)
- поддержка виртуализации аудиоустройств
- высокая производительность (по отзывам множества экспертов выше, чем у продуктов VMware)
- поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal)
- поддержка дерева сохраненных состояний виртуальной машины (snapshots), к которым может быть произведен откат из любого состояния гостевой системы
- описание настроек виртуальной машины в XML-формате
- поддержка Shared Folders для простого обмена файлами между хостовой и гостевой системами
Эмулируемое аппаратное окружение
Продукт VirtualBox эмулирует следующие компоненты аппаратного обеспечения в виртуальной машине:
- жесткие диски эмулируются в специальном формате контейнеров VDI (Virtual Disk Images), который в данный момент не совместим с форматами виртуальных дисков других производителей
- видеоадаптер эмулируется как стандартный VESA с 8 Мб видеопамяти, при этом установка Guest VM Additions (только для Windows и Linux хостов) позволяет увеличить производительность виртуального видеоадаптера и динамически менять размер окна виртуальной машины
- аудиоконтроллер на базе Intel ICH AC’97
- сетевой адаптер эмулируется как интерфейс AMD PCNet
- в издании с закрытым исходным кодом эмулируются также контроллеры USB, при этом USB-устройства, вставленные в разъемы хоста, автоматически подхватываются в гостевой системе. Также если виртуальная машина действует как RDP (Remote Desktop Protocol) сервер, то в клиенте также будут видны USB-устройства
Платформа VirtualBox исполняет код гостевой системы нативно (прямой передачей инструкций процессору хоста). Этот подход работает хорошо для кода, исполняющегося в кольце третьей гостевой системы, для кода гостевой системы, исполняющегося в нулевом кольце, требующего привилегированных инструкций, необходим его перехват платформой виртуализации. Для этой цели VirtualBox использует оригинальный подход: код, исполняющийся в нулевом кольце гостевой системы, исполняется в первом кольце хостовой системы, которое не используется в архитектуре Intel.
Уникальные функции VirtualBox
Помимо стандартных функций, присущих большинству настольных систем виртуализации, платформа VirtualBox обладает также набором уникальных возможностей, присущих только ей:
- Ярко выраженная модульность системы
Платформа VirtualBox имеет модульную архитектуру с хорошо описанными компонентами и предоставляет удобные интерфейсы доступа к виртуальным машинам, которые позволяют контролировать гостевые системы как через GUI, так и через командную строку и удаленно. К тому же, компания InnoTek предоставляет отличный Software Development Kit, и поскольку код платформы открыт, не требуется дополнительных усилий, чтобы написать расширение к системе. В данный момент ведется большая работа по портированию продукта на различные хостовые платформы и разработчикам предоставляются все необходимые инструменты и интерфейсы для доработки VirtualBox. - Виртуальная машина может действовать как RDP-сервер
В отличие от других платформ виртуализации, VirtualBox может действовать как RDP-сервер и управляться любым клиентом, поддерживающим протокол RDP. Также поддерживается функция USB over RDP. - iSCSI initiator
Компонент iSCSI initiator является одной из закрытых частей платформы VirtualBox. Он позволяет использовать внешние устройства по протоколу iSCSI в качестве виртуальных дисков в гостевой системе без дополнительной поддержки со стороны гостевой ОС.
Ссылки по теме
Сайт проекта http://virtualbox.org
Готовые образы операционных систем под VirtualBox http://virtualboxes.org/images/
Web панель управления http://sourceforge.net/projects/phpvirtualbox/