Виртуальная машина для она нужна. Для чего нужны виртуальные машины

24.06.2019

Какая на твой взгляд самая лучшая виртуальная машина ?

Я не буду выдумывать велосипед и пересказывать других. Лучше я вам предложу прочитать статью из журнала Linux Format. В которой эксперты сделали сравнительный обзор пяти популярных виртуальных машин в надежде найти ту самую.., самую лучшую виртуальную машину. Кстати, тем кто отрекся и смог убежать из плена Windows очень рекомендую .

  • Что такое виртуальная машина
  • Зачем нужна виртуальная машина
  • Как мы тестировали Виртуальные Машины
  • Производительность
  • Функциональность
  • Совместимость и снапшоты
  • Интеграция с рабочим столом
  • Графическое ускорение
  • Вердикт

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

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

Зачем мне нужна виртуальная машина

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

Как мы тестировали виртуальные машины

Сперва мы взяли двуядерный компьютер (из-за бюджетных ограничений) со свежим Arc Linux. Кроме проприетарной VMware (версия 7.1.0 Рlауег и 30-дневный пробный период Workstation 11), мы использовали официальные пакеты Arch, которые очень близко следуют релизам разработчиков. На каждой машине было 2 ГБ системной ОЗУ и 128 МБ видеопамяти (при необходимости - 256 МБ).

Мы тестировали каждого кандидата на разных гостевых ОС: Mint 17.1 и Kubuntu 15.04 beta, а также разных версиях не-Linux ОС под названием Windows. Для оценки производительности мы скомпилировали основное ядро Mint, запустили сравнительный тест JavaScript SunSpider и сыграли в разные игры из нашей библиотеки Steam. Чтобы протестировать реальные варианты, мы запустили их на 8-ядерной машине с 16 ГБ ОЗУ и 4-ГБ Nvidia GTX, но потом нас заставили ее вернуть.

Технология виртуализации фундаментально изменила компьютерный ландшафт. Мы бы опозорились, заявив, что это - новое изобретение (ранние мейнфреймы использовали ее как сред ст во предоставления ресурсов), но десятилетней давности инновации CPU означают, что почти родной производительности вы добьетесь разве что с кодом x86. А ныне нам удается впихнуть десятки машин (легко копируемых и восстанавливаемых) в один корпус, и работа дата-центров стала гораздо эффективнее. Можно и имитировать другую архитектуру, скажем, ARM, что удобно для разработчиков встраиваемых систем.

Это также благо и для обычных пользователей: знакомство с новой ОС теперь не обязано быть столь затратным по времени упражнением в постоянном страхе угробить свою систему. Даже если вы просто хотите протестировать новую программу, это намного безопаснее сделать в виртуальной машине вместо того, чтобы рисковать своей текущей настройкой. Поддержка виртуализации внутри ядра (через KVM) и эмулятор Qemu означает, что пользователям Linux больше незачем прибегать к проприетарным инструментам.

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

И VMware, и VirtualBox используют зависимые от ядра модули, которые загружаются, чтобы сотворять свои чудеса. VMware понадобится их скомпилировать, для чего придется установить пакеты заголовков ядра и всю начинку компилятора. Потом вы получите скрипт init для загрузки указанных модулей, хотя для пользователей Systemd он будет бесполезен. Если это ваш случай, вы, возможно, пожелаете создать собственный файл init, вместо того, чтобы все время запускать этот скрипт как root (или видеть всё те же сообщения об ошибках). На момент написания статьи ядра серии 3.19 требовали подлатать исходники VMware, но, надеюсь, к моменту выхода журнала это уже будет исправлено. Пакеты VirtualBox в большинстве дистрибутивов имеются, и если у вас стандартное ядро, можете уже ни о чем не волноваться.

Virt-Manager требует, чтобы до его запуска в вашей системе был запущен сервис libvirtd, о чем вас уведомит любезное сообщение, и если вы используете полнофункциональную среду рабочего стола, то она сама сделает это за вас; вам останется только ввести пароль root.

И VirtualBox, и VMware Workstation достаточно просты, если только вы не вздумаете отвлекаться на каждую опцию. А вот в VMware Player опций не так уж и много, и вы очень быстро настроите и запустите свою машину. Но если вы полны решимости задействовать все эти опции по максимуму, придется установить гостевые дополнения.

Гостевые дополнения Linux для VirtualBox намного проще в установке (CD запустится автоматически), чем дополнительные «инструменты» для VMware, требующие копирования программ с воображаемого CD, изменения разрешений и затем запуска скрипта. Неужто на дворе 1999 год? Зато, проделав все это, вы будете вознаграждены улучшением графики и рядом добавочных функций, которые мы обсудим дальше.

Простейшим в использовании из нашей подборки является Boxes, пусть даже это обусловлено предоставлением всего только голого минимума функций Qemu / libvirt. VMware Player и VirtualBox идут вторыми, а следом - их платный соперник (номинально они труднее, в силу большего количества опций). Virt-Manager не особенно сложен в использовании, но в нем вполне достаточно от лабиринта настроек Qemu, чтобы ошеломить новичка. Помимо этого, механизм для управления хранением у него довольно-таки запутанный, особенно если вы собираетесь хранить свой виртуальный диск в нестандартном месте: тогда вам сначала надо добавить требуемую директорию в качестве «пула хранения». Однако все необходимые экзотические модули предоставит ваш собственный дистрибутив, а в таком случае почему бы и не рискнуть.

Производительность

Медленную или проворную ВМ они для вас создадут?

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

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

Здесь мы не берем в расчет 3D-производительность - это было бы не совсем честно, и для нее есть собственная категория через страницу. Однако для повседневных задач с использованием Terminal вы вряд ли заметите особую разницу между нашими кандидатами. Эксперименты с компиляцией ядра показали, что VirtualBox солидно отстает в соревновании. Сравнительный тест JavaScript SunSpider подтвердил этот вывод: обе задачи выполнились на 20 % медленнее, чем у остальных. Ввод/вывод (I/O) диска (особенно если диск у вас SSD) и сетевой трафик у всех наших кандидатов отличались быстротой. В конечном итоге VMware обеспечила себе перевес благодаря поддержке более новых процессоров Intel.

Функциональность

Что способен предложить каждый кандидат?

Все наши кандидаты предназначаются для разных сценариев использования, и поэтому у каждого имеются свои собственные, индивидуальные преимущества. Конечно, наличие некоторых стандартных функций безусловно подразумевается: к таковым, например, принято относить способность создать моментальные снимки, поддержку расширений процессоров Intel VT-x и AMD-V и гибкую настройку виртуального оборудования. Всё это предлагается всеми, однако некоторые приложения способны на более героические подвиги.

Здесь следует сделать оговорку, что Gnome Boxes и Virt-Manager являются всего-навсего интерфейсами к Qemu (через уровень абстракции libvirt). А Qemu по существу является эмулятором процессора, который способен обеспечивать виртуализацию через KVM, но тем не менее представляет собой целый мир.

Итак, займемся рассмотрением наших кандидатов по отдельности.

Gnome Boxes ★★

При вызове из командной строки Qemu поддерживает массу опций, большая часть которых в Gnome Boxes отсутствует: его целью (реализованной) является простота и понятность внешнего вида и работы. Через его удобный интерфейс мастера можно настроить виртуальную машину буквально тремя щелчками - направьте только его на соответствующий ISO. Boxes абстрагирует разницу между виртуальной и удаленной машиной, и вы можете соединяться и с той, и с другой через протоколы VNC, SPICE (который позволяет аудио работать через сеть) или OVirt.

Gnome Boxes

Boxes не предлагает особых возможностей управления вашей виртуальной машиной через сеть, но, по крайней мере, предоставляет всё колдовство NAT, необходимое, чтобы обеспечить общение вашей виртуальной машины с миром. Остальные кандидаты с успехом настраивают NAT, сетевые мосты или сети host-only, и все это в определенных обстоятельствах бывает весьма удобно.

Virt-Manager ★★★★

Virt-Manager (он же Virtual Machine Manager) предлагает значительно больше функций Qemu (но опять-таки не все). Он, похоже, переборщил со своим списком поддерживаемых операционных систем x86, в частности, из семейства Linux.


Virt-Manager

Если оставить это в стороне, Virt-Manager относительно легко позволяет настроить машину любой сложности - можно добавлять любое оборудование, в том числе несколько сетевых интерфейсов. Помимо ВМ KVM, Virt-Man-ager умеет задействовать поддержку Qemu/ libvirt для гостей Xen и контейнеров LXC. Опционально он также может опрашивать гостевые ресурсы и, таким образом, обеспечивать очень симпатичные графики (вроде тех, что в разделе Производительность на стр. 25, на что требуется около 30 секунд после запуска Windows 10). Кроме того, Virt-Manager использует недавно добавленную в Qemu поддержку USB 3.0.

Совместимость и снапшоты

Можно ли перемещать виртуальные машины между реальными?

Иногда бывает нужно переместить ВМ между гипервизорами. Все наши программы могут импортировать машины, хранящиеся в формате Open Virtual Appliance (OVA), который является просто tar-архивом с образом диска VMDK (VMware), и данные о виртуальном оборудовании. VirtualBox разрешает экспорт в этот формат, но имеет еще и свой - Virtual Disk Image (VDI), а также справляется со всеми остальными.

Команду qemu-img можно применять для конвертирования форматов. Особо отметим его любимый формат QCOW2, позволяющий хранить многочисленные моментальные снимки системы внутри, с помощью отличного приема Copy On Write (COW).

Boxes, Virt-Manager, VirtualBox и VMware Workstation поддерживают моментальные снимки системы, сохраняя разные состояния своей ВМ. VMware Player позволяет иметь только один моментальный снимок для каждой машины в дополнение к ее текущему состоянию. Так что глубокое регрессионное тестирование исключается.

VirtualBox и VMware Workstation способны также «клонировать» ВМ, и это эффективный метод создания моментальных снимков системы: данные записываются на соответствующий клон, только если его состояние отличается от состояния родителя. VMware позволяет монтировать гостевой образ VMDK на хост, что тоже бывает удобно, хотя такой же трюк можно проделать посредством конвертирования в образ диска raw и использования стандартных инструментов Linux и арифметики, чтобы рассчитать смещение разделов.

VirtualBox ★★★★

Будучи изначально клиентом виртуализации рабочего стола, VirtualBox до сих пор, вероятно, основной инструмент для многих. У этой программы четкая структура, что упрощает настройку виртуальной машины, и множество полезных опций. Помимо ограничения количества ядер CPU, к которым имеет доступ гостевая ОС, VirtualBox позволяет указать предельный уровень использования CPU гостем в процентах. VirtualBox также поддерживает запись видео, так что за вечер вы сможете записать руководство по Windows для своего канала YouTube.


VirtualBox

Он может импортировать любые виртуальные диски, но предлагает только поддержку хост-контроллера USB 2.0, да и то только если вы установите проприетарный пакет расширений Oracle. Опции с распределенным доступом буфера обмена и drag-and-drop (в одном или в обоих направлениях, как пожелаете) весьма удобны. В VirtualBox имеются удобные индикаторы для сетевого и дискового I/O и для использования CPU.

Кстати, в статье « » мы подробно рассказывали о том, как установить и правильно настроить виртуальную машину VirtualBox.

VMware Player ★★★

Свободное предложение от VMware прошло долгий путь с момента своего появления в 2008 году. Самое примечательное, что это уже не плейер: он более чем способен создать для вас качественную виртуальную машину.


VMware Player

Помимо поддержки ряда сетевых конфигураций (NAT, bridged, host-only и т.д.), он предлагает очень симпатичные опции формирования сетевого трафика, что весьма удобно, если вы тестируете последнюю версию, скажем, клиента DDoS или смотрите, сколько вредоносных программ можно навесить на свою виртуальную машину Windows XP, пока она не лопнет. VMware также поддерживает устройства USB 3.0, а установка гостевых инструментов позволит использовать блестящую графику, буфер обмена с распределенным доступом и директории с распределенным доступом. Player несколько уступает, когда речь идет о моментальных снимках (он позволяет сделать только один), но мы раскритиковали его в предыдущем разделе.

VMware Workstation ★★★★★

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

VMware Workstation также предлагает поддержку новых команд современных процессоров Intel, а также позволяет настраивать машины с виртуальными CPU, в количестве до 16 и 64 ГБ ОЗУ. Однако программа Workstation в большой степени нацелена на интеграцию с остальным (довольно увесистым) пакетом VMware, и поэтому будет выглядеть уместнее прочих в среде предприятия.

Интеграция с рабочим столом

Будут ли они конфликтовать с вашей цветовой схемой?

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

VirtualBox использует Qt4, что особенно бесит на рабочем столе Arch Linux на основе Qt, где повсюду используется Qt5, но это лишь нечто вроде нишевого недостатка. Boxes идеально сочетается с Gnome 3, чего и следовало ожидать; Virt-Manager и VMware используют GTK3 и тоже идеально с ним сочетаются.

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

Особо выделяются режимы Unity в VMware (нет, это не способ сделать все убунтовидным) and Seamless в Virtual-Box - оба отображают окна приложений напрямую из гостя на рабочем столе хоста. Это очень хорошо для Linux-ВМ (исключая потенциальную путаницу между окнами гостя и хоста), однако попытка запустить
предпросмотр не слишком удалась; Windows 7 с включенным интерфейсом Aero тоже оказалась не самым приятным опытом.

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

Графическое ускорение

Можно ли избежать проблем программного рендеринга?

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

Но если требуется 3D-ускорение, надо брать VMware или VirtualBox. Как только вы справитесь с установкой гостевых дополнений (включая уводящий в сторону вопрос VirtualBox, с двойным отрицанием, который пытается отвратить вас от его экспериментальной поддержки WDDM, нужной, например, для интерфейса Windows 7 Aero), вам удастся насладиться 3D-ускорением в VirtualBox и в двух клиентах VMware.


Бум-бум, серебряный молот Максвелла опустился на, э-ээ, улей. Он погиб вскоре после того, как был сделан этот скриншот в Don’t Starve.

VirtualBox позволяет выделять виртуальной видеокарте до 256 МБ системного ОЗУ, а VMware - до 2 ГБ. Обратите внимание, что эти гигабайты не берутся у вашей реальной видеокарты, так что зачастую вы не увидите особых улучшений свыше 256 MБ. VirtualBox также обеспечивает 2D-ускорение для гостевых Windows, что должно способствовать ускорению рендеринга видео, увеличению экрана и коррекции цвета, хотя во многом это зависит от конфигурации хоста - на быструю машину эта настройка не особо повлияет. Виртуальная машина Windows, вероятно, не запустит Battlefield 4 [Поле битвы] или Middle-earth: Shadow of Mordor [Среднеземье: Тень Мордора] (получается, нам сильно повезло, что они портированы в Linux), когда все доведено до 11, но более старые или менее требовательные игры пойдут отлично: мы добрый час угрохали на популярную инди-игру Don’t Starve [Не зачахни], начисто позабыв про наше Сравнение.

На VMware все работало лучше, чем на VirtualBox, но, возможно, дело тут было в более выигрышной конфигурации - на Arch Linux мы использовали самый свежий проприетарный драйвер Nvidia, что могло обусловить перевес одного над другим.

Вердикт

Виртуализация - тема для Сравнений давняя и сложная. Желая запускать 3D-игры, вы даже не взглянете на Gnome Boxes или Virt-Manager, и если только вы не добьетесь в VirtualBox лучших результатов, чем мы, вы выберете своим гипервизором VMware. Но опять же, эта технология отнюдь не такая зрелая, как работающий в родном формате DirectX 11. Возможно, с играми вам даже больше повезет в Wine [Ред.: - Или нет.] при каких-нибудь экспериментальных заплатках производительности. Мы вообще-то не в восторге от лицензий VMware, особенно от той, которая заставляет вас платить после 30-дневного пробного периода, однако для некоторых функции уровня предприятия в Workstation будут истинным благом. В частности, если использовав vCenter Converter из VMware, вы виртуализуете машину одним щелчком - идеально, если требуется протестировать что-то новое на своей текущей системе.

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


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

Но в победители выходит только один (ничья - редкое исключение), и на сей раз это Virt-Manager - ну не могли же мы позволить выиграть VMware. Virt-Manager позволяет взнуздать большую часть мощи Qemu, не прибегая к пространным заклинаниям из командной строки. Виртуальные машины можно ставить на паузу, перенастраивать, перемещать и клонировать - и все это без особых хлопот. Единственное, чего ему не хватает - это поддержки графическо -го ускорения, но как знать, возможно, она и появится. VMware Player и Gnome Boxes делят второе место, поскольку они оба набрали высокие баллы за свою простоту, и нам нравится значок Boxes, на котором изображен тессеракт (или гиперкуб, или куб в кубе - как вам будет угодно).

Virt-Manager ★★★★
Всем бы менеджерам так хорошо работать.

VirtualBox ★★
Некогда единственное решение, а теперь на обочине.

VMware Player ★★★
Быстрый и удобный, да вот лицензия подвела.

VMware Workstation ★★
Быстрый и полнофункциональный, но не бесплатный.

Boxes ★★★
Простейший способ установить и настроить ВМ.

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

Общие сведения о виртуальных машинах

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

Все отличия существующих виртуальных машин, по сути, сводятся лишь к перечню поддерживаемых ими операционных систем , а так же стоимости . Наиболее распространены сегодня системы VirtualBox, Windows Virtual PC и VMWare. Чем же они отличаются?

ORACLE VirtualBox - универсальная, бесплатная виртуальная машина

VirtualBox - очень простой, мощный и бесплатный инструмент для виртуализации, развивающийся благодаря поддержжке знаменитой корпорации ORACLE. Позволяет устанавливать в качестве "гостевой" практически любую современную операционную систему, будь то Windows, MacOS или любой из многочисленных представителей семейства Linux.

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

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

Windows Virtual PC - виртуальная машина от Microsoft

Windows Virtual PC - виртуальная машина для работы только и исключительно с Windows. Установка Linux, MacOS и прочих операционных истем не поддерживается.

Virtual PC позволяет запускать несколько разных копий Windows на одном компьютере. При этом можно задать им приоритет, чтобы в автоматическом режиме выделять под нужды той или иной виртуальной машины большее количество ресурсов замедляя работу остальных.

Моноплатформенность виртуальной машины Virtual PC является её главным недостатком. Впрочем, если требуется тестировать только программы, работающие на Windows, это не актуально. Некоторым недостатком можно считать менее функциональный и менее удобный чем в VirtualBox интерфейс. В остальном Virtual PC вполне надёжный инструмент, позволяющий создавать виртуальные машины с операцонными системами Microsoft Windows.

VMware Workstation - для серьёзных задач

VMware Workstation – мощная, платная, максимально-надёжная программа для виртуализации, которая поддерживает работу с Windows и Linux. Для виртуализации MacOS, данная машина не предназначена.

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

VMware Workstation можно очень гибко настраивать, включая множество параметров оборудования и опции сетевых подключений для работы с Интернет. Эта система лучше прочих можем воспроизводить на виртуальных машинах графические приложения, поскольку имеет специальный виртуальный 3D-ускоритель для получения высокого качества графики.

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

Необходимо отметить, что у VMware Workstation есть бесплатный "младший брат" - VMWare Player. Плеер не умеет создавать виртуальные машины, но позволяет запускать ранее созданные в VMware Workstation. Эта программа будет полезна в случаях тестирования, когда, к примеру, разработчик какой-либо автоматизированной системы передат её на ознакомление в виде образа виртуальной машины. Эта практика получает всё большее распространение, поскольку избавляет пользователя от необходимости разворачивать незнакомую программу самостоятельно.

Чтобы иметь под рукой сразу несколько операционных систем с отдельным рабочим пространством и приложениями, не нужно покупать второй (третий, четвертый и т. д.) компьютер. Потому что всё это уместится в вашем единственном ПК. Как? Благодаря виртуальным машинам (ВМ) — особым программам, которые создают (эмулируют) внутри основной операционной системы воображаемые (виртуальные) компьютеры.

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

На одном физическом компьютере одновременно может работать несколько виртуальных. Сколько именно — зависит от аппаратных ресурсов: чем шустрее процессор, объемнее оперативка, просторнее накопитель, тем больше. Обычный домашний ПК средней производительности на базе Windows 10 справляется с одновременной работой трех-пяти легковесных ОС (например, Windows XP, Android и Lubuntu + основная система). Или двух-трех относительно тяжеловесных (например, основная Windows 10 + виртуальные Windows 7 и Mac OS X). Как вы уже поняли, приложения-эмуляторы виртуальных компьютеров позволяют устанавливать и запускать на них самые разные ОС.

Виртуальные машины общего назначения (в отличие от специализированных — таких, как, например, VM Java), используют:

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

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

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

Oracle Virtualbox

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

  • В первом окошке мастера создания ВМ укажем имя ОС (оно будет отображаться в списке гостевых систем), ее тип (Windows, Linux и т. д.) и версию. В нашем примере это Windows 10 32 bit (можно поставить и 64 bit, но ей потребуется больше ресурсов). Для перехода к следующему шагу нажмем Next.

  • Дальше укажем размер оперативной памяти ВМ. По умолчанию Windows 10 x86 отводится 1 Гб, но вы можете увеличить этот объем, сдвигая ползунок вправо. Если на вашем ПК не очень много оперативки, не отдавайте ВМ больше 2-3 Гб, иначе основная система будет тормозить из-за нехватки памяти.

  • Следом создаем виртуальный жесткий диск. Если вы ставите систему первый раз, выбирайте вариант «Создать новый».

  • Тип виртуального диска оставим по умолчанию.

  • Формат хранения данных — это область на физическом накопителе вашего компьютера, который отводится ВМ. Она может иметь постоянный или динамически расширяемый объем в тех пределах, которые вы определите дальше. Для экономии места выберем динамический формат.

  • Следом укажем имя тома (виртуального диска С) и его размер. По умолчанию — 32 Гб.

  • После нажатия в последнем окошке кнопки «Создать» в списке появится новая виртуальная машина. Справа в рамке показаны ее параметры.
  • Для перехода к установке Windows кликнем в верхней панели кнопку «Запустить».

  • В окне, которое откроется после этого, появится окошко «Выберите загрузочный диск». Нажмите на иконку папки и укажите путь к дистрибутиву системы. Это может быть образ в формате.iso или физический носитель (DVD, флешка). Выбрав дистрибутив, нажмите «Продолжить».

  • Дальнейший ход инсталляции ОС в виртуальную машину не отличается от установки ее на физический компьютер.

Некоторые настройки ВМ и гостевой системы

Клик в окне виртуальной машины захватывает курсор мыши (т. е. он будет двигаться только в пределах виртуального экрана). Для возврата курсора в основную ОС нажмите комбинацию Ctrl+Alt.

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

Чтобы подключить к гостевой системе папку для обмена файлами с основной, кликните в меню «Устройства» пункт «Общие папки». Нажмите на значок «папка+» в открывшемся окне и через поле «путь к папке» укажите ее в проводнике (в нем показаны каталоги основной системы).

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

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

VMware Workstation Pro

Некоторые опции виртуальных машин Hyper-V

Чтобы сделать снимок состояния запущенной гостевой ОС, Откройте верхнее меню ее окна «Действие» и щелкните «Контрольная точка». Либо нажмите комбинацию Ctrl+N.

Доступ к настройкам отдельной виртуальной машины открывается из ее контекстного меню в списке главного окна диспетчера и скрывается за кнопкой «Параметры».

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

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

Это безопасно, это интересно, более того — это даже полезно для развития. Программа VirtualBox – пожалуй, единственный широко известный представитель софта, который предоставляет упомянутые возможности.

Она бесплатна, проста и понятна в работе даже для начинающих пользователей. Как с помощью VirtualBox установить виртуальную операционную систему Windows? Этот вопрос и рассмотрим ниже.

Шаг 1. Создаем виртуальный компьютер

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

Запущенная программа откроется с окном приветствия, где необходимо нажать команду — «Создать».

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


Указываем какую систему создаем:

Корректная работа Windows XP будет обеспечена и объемом в 512 Мб оперативной памяти, а вот для Windows 7 лучше выделить 800-900 Мб.

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

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

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

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

Для Windows XP можно выделить 5 Гб, а для Windows 7 – порядка 15 Гб. Здесь же, с помощью кнопки обзора, виднеющейся в конце первой строки, выбираем директорию физического компьютера, куда будет помещен жесткий диск виртуального.

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

Шаг 2. Устанавливаем операционную систему на виртуальный компьютер

Виртуальный компьютер создан, и на него можно установить операционную систему. Нажимаем команду «Запустить».

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

В отдельном окне VirtualBox откроется знакомое меню установки Windows. Дальнейшие шаги ничем не отличаются от процесса установки Windows на физический компьютер.

Понятие «виртуальная машина» появилось на свет несколько десятков лет назад, еще в конце 60-х годов прошлого века. Вот только применялись тогда виртуальные машины не на персональных компьютерах, а на «больших» ЭВМ типа IBM/370 (или их советского аналога - ЕС ЭВМ), да и задачи у них были несколько иные: предоставить каждому из многочисленных пользователей свой, независимый «кусочек» ресурсов вычислительного монстра.

Зачем нужны виртуальные машины

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

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

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

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

Такой подход предоставляет пользователям (и/или администраторам вычислительных систем) целый ряд преимуществ. К ним в частности относятся:

■ возможность установки на одном компьютере нескольких ОС без необходимости соответствующего конфигурирования физических жестких дисков;

■ работа с несколькими ОС одновременно с возможностью динамического переключения между ними без перезагрузки системы (рис. 1.1);

■ сокращение времени изменения состава установленных ОС;

■ изоляция реального оборудования от нежелательного влияния программного обеспечения, работающего в среде виртуальной машины;

■ возможность моделирования вычислительной сети на единственном автономном компьютере.

Рис. 1.1. Несколько виртуальных машин на одном рабочем столе


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

■ освоение новой ОС;

■ запуск приложений, предназначенных для работы в среде конкретной ОС;

■ тестирование одного приложения под управлением различных ОС;

■ установка и удаление оценочных или демонстрационных версий программ;

■ тестирование потенциально опасных приложений, относительно которых имеется подозрение на вирусное заражение;

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

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

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

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

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

Как работает виртуальная машина

Начнем с уточнения терминов.

Терминология

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

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

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

Рис. 1.2. Пример консоли виртуальных машин


«Внутри» виртуальной машины пользователь устанавливает, как и на реальном компьютере, нужную ему операционную систему. Такая ОС, принадлежащая конкретной ВМ, называется гостевой (guest OS). Перечень поддерживаемых гостевых ОС является одной из наиболее важных характеристик виртуальной машины. Наиболее мощные из современных виртуальных машин (представленные в данной книге) обеспечивают поддержку около десятка популярных версий операционных систем из семейств Windows, Linux и MacOS.

Виртуальная машина изнутри

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

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

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

■ хостовая ОС и монитор виртуальных машин разделяют между собой права на управление аппаратными компонентами компьютера; при этом хостовая ОС занимается распределением ресурсов между собственными приложениями (включая и консоль ВМ);

■ монитор ВМ контролирует распределение ресурсов между запущенными виртуальными машинами, создавая для них иллюзию непосредственного доступа к аппаратному уровню (этот механизм называют виртуализацией );

■ гостевые ОС в пределах выделенных им ресурсов управляют работой «своих» приложений.


Рис. 1.3. Архитектура системы виртуальных машин


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

Виды виртуальных машин

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

В настоящее время распространение получили три схемы виртуализации:

■ эмуляция API гостевой ОС;

■ полная эмуляция гостевой ОС;

■ квазиэмуляция гостевой ОС.

Виртуальные машины с эмуляцией API гостевой ОС

Обычно приложения работают в изолированном адресном пространстве и взаимодействуют с оборудованием при помощи интерфейса API (Application Programming Interface - интерфейс прикладного программирования), предоставляемого операционной системой. Если две операционные системы совместимы по своим интерфейсам API (например, Windows 98 и Windows ME), то приложения, разработанные для одной из них, будут работать и на другой. Если две операционные системы несовместимы по своим интерфейсам API (например, Windows 2000 и Linux), то необходимо обеспечить перехват обращений приложений к API гостевой ОС и сымитировать ее поведение средствами хостовой ОС. При таком подходе можно установить одну операционную систему и работать одновременно как с ее приложениями, так и с приложениями другой операционной системы.

Поскольку весь код приложения исполняется без эмуляции, а эмулируются лишь вызовы API, такая схема виртуализации приводит к незначительной потере в производительности виртуальной машины. Однако из-за того, что многие приложения используют недокументированные функции API или обращаются к операционной системе в обход API, даже очень хорошие эмуляторы API имеют проблемы совместимости и позволяют запускать не более 70% от общего числа приложений. Кроме того, поддерживать эмуляцию API бурно развивающейся операционной системы (например, такой как Windows) очень нелегко, и большинство эмуляторов API так и остаются эмуляторами какой-то конкретной версии операционной системы. Так, в Windows NT/2000 до сих пор встроен эмулятор для приложений OS/2 версии 1.x. Но самый большой недостаток ВМ с эмуляцией API гостевой ОС - это ее ориентация на конкретную операционную систему.

Примеры продуктов, выполненных но технологии эмуляции API гостевой ОС:

■ проект с открытым кодом Wine (Wine Is Not an Emulator, «Wine - это не эмулятор»), позволяющий запускать DOS-, Win16- и Win32-приложения под управлением операционной системы Linux и Unix;

■ продукт Win4Lin компании Netraverse, позволяющий запускать операционные системы семейства Windows под управлением операционной системы Linux;

■ проект с открытым кодом DOSEMU, позволяющий запускать DOS-приложения под управлением операционной системы Linux;

■ проект с открытым кодом User Mode Linux (UML), позволяющий запускать несколько копий операционной системы Linux на одном компьютере (в настоящее время встроен и ядро Linux версии 2.6);

■ технология Virtuozzo, разработанная российской компанией SWsoft и позволяющая запускать несколько копий операционной системы Linux на одном компьютере.

Виртуальные машины с полной эмуляцией гостевой ОС

Проекты, поддерживающие технологию полной эмуляции, работают по принципу интерпретации инструкций из системы команд гостевой ОС. Поскольку при этом полностью эмулируется поведение как процессора, так и всех внешних устройств, то существует возможность эмулировать компьютер с архитектурой Intel х86 на компьютерах с совершенно другой архитектурой, например на рабочих станциях Mac или на серверах Sun с RISC-процессорами. Главный недостаток полной эмуляции заключается в существенной потере производительности гостевой операционной системы (скорость работы «гостевых» приложений может упасть в 100-1000 раз). Поэтому до недавнего времени ВМ с полной эмуляцией чаще всего использовались в качестве низкоуровневых отладчиков для исследования и трассировки операционных систем. Однако благодаря значительному росту вычислительных мощностей даже «настольных» компьютеров ВМ с полной эмуляцией стали сегодня вполне конкурентоспособными. Наиболее яркий представитель этого вида ВМ - продукт Virtual PC фирмы Connectix (ныне купленной Microsoft), который подробно описан в главе 2 книги. В качестве других примеров проектов, выполненных по технологии полной эмуляции, можно назвать следующие:

■ проект с открытым кодом Bochs, позволяющий запускать различные операционные системы Intel х86 под Linux, Windows, BeOS и Mac OS;

■ продукт Simics компании Virtutech, позволяющий запускать и отлаживать различные операционные системы Intel х86 под управлением Windows и других операционных систем;

■ проект Qemu - эмулятор различных архитектур на PC,

Виртуальные машины с квазиэмуляцией гостевой ОС

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

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

Примеры проектов, выполненных по технологии квазиэмуляции:

■ технология Virtual Platform, на базе которой компания VMware предлагает четыре продукта: VMware Workstation для Windows NT/2000/XP, VMware Workstation для Linux, VMware GSX Server (group server) и VMware LSX Server (enterprise server);

■ виртуальная машина Serenity Virtual Station (SVISTA) (бывшая twoOStwo), разработанная российской компанией Параллели (Parallels) по заказу немецкой компании NetSys GmbH ;

■ проект с открытым кодом Рlеx86, позволяющий запускать различные операционные системы Intel х86 под управлением Linux.

■ проект с открытым кодом L4Ka, использующий микроядро;

■ проект с открытым кодом Xen, позволяющий запускать модифицированные ОС Linux, FreeBSD, NetBSD и Windows ХР под управлением Linux, FreeBSD, NetBSD и при соблюдении некоторых условий обеспечивающий даже прирост производительности.

В последующих главах книги рассмотрены наиболее популярные на сегодняшний день представители различных видов виртуальных машин: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт - Parallels Workstation, созданный в компании Parallels. Причем описание всех конкурирующих программ построено по одной и той же схеме, чтобы читателю проще было сравнить их между собой и сделать обоснованный выбор.

Примечания:

Мендель Розенблюм (mendel@cs .stanford.edu) - профессор информатики Стэнфордского университета, один из основателей и главный научный сотрудник компании VMware. Работе с виртуальной машиной этой компании, VMware Workstation, посвящена глава 3 книги.

В настоящее время компания Parallels разделилась на две самостоятельные компании. Первая из них, сохранившая прежнее название, продвигает свой продукт под торговой маркой Parallels; вторая, получившая название Serenity Systems International (http://www.serenityvirtual.com), наоборот, использует прежнее наименование продукта - SVISTА - и его логотип; оба варианта виртуальных машин могут работать на ОС Windows NT/2000/XP и Linux.

Похожие статьи