Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Виртуализация и эмуляция в Linux

Знакомимся с виртуализацией в Linux

Оригинал: Getting started with Linux virtualization
Автор: Federico Kereki
Дата: 1 мая 2008
Перевод: Александр Тарасов aka oioki
Дата перевода: 30 мая 2008

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

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

Сложно запустить виртуализацию на слабом компьютере, однако современные многопроцессорные компьютеры, с 32- или 64-битной архитектурой и гигабайтами памяти, вполне справляются с этой задачей. Я привык запускать виртуальные машины на Pentium III с 512 Мб памяти и редко был недоволен производительностью виртуальной машины. А когда я перешел на четырехядерную машину с 4 Гб памяти я перестал замечать различия между хостовой и гостевой операционными системами.

VMware

VMware позволяет запускать несколько операционных систем типа x86 (или 64-битной x86) на одной машине. Как написано на сайте VMware, VMware Workstation поддерживает 19 версий Windows и 26 версий Linux и может работать на любой из этих хостовых систем (VMware Fusion позволяет запускать Windows на Mac). VMware - это не свободная программа, и даже не бесплатная. Ее можно пробовать в течение месяца, после чего придется либо купить лицензию (это можно сделать через интернет) или перейти на VMware Player - бесплатную версию VMware, позволяющую запускать имеющиеся виртуальные машины, но не позволяющая модифицировать их или создавать новые.


Рисунок 1: Самая мощная программа виртуализации, VMware Workstation

Установка проста. Зарегистрируйтесь, чтобы получить свою демонстрационную копию, скачайте пакет и выполните от имени администратора

rpm -Uvh VMware-workstation-версия.rpm

для установки программ Workstation и Player. Для настройки программы необходимо выполнить также от имени пользователя скрипт vmware-config.pl. Вам зададут множество вопросов, и в конце на основе ответов будут скомпилированы необходимые модули. Обратите внимание, что потребуются заголовочные файлы вашего ядра; короче говоря, если у вас есть все средства для пересборки ядра, то у вас наверняка не будет проблем с установкой VMware.

Для создания новой виртуальной машины запустите Workstation и нажмите Create a New Virtual Machine. Будет вызван мастер, которому нужно будет указать тип устанавливаемой операционной системы: Windows, Linux, Solaris, Novell, MS-DOS и другие. Еще надо указать имя виртуальной машины, каталог, в котором будут храниться ее файлы и размер виртуального диска. Заметьте, что виртуальный диск - это просто файл на вашем реальном диске, однако гостевая ОС будет думать, что это самое настоящее устройство. Наконец, нужно будет выбрать тип сетевого доступа к виртуальной машине. Режим "bridged" означает, что виртуальная машина будет подсоединена к вашей сети независимо; "NAT" - она будет иметь IP-адрес хостовой машины; "host only" - будет соединение лишь с хостовой машиной через "внутреннюю сеть"; или отсутствие сети "no network". Теперь остается вставить установочный CD, запустить виртуальную машину и начать обычную установку операционной системы.

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

Насчет Wine и других подобных программ

Если требуется запускать лишь отдельные Windows-программы в среде Linux, вам может пригодиться Wine (рекурсивно расшифровывается как "Wine Is Not an Emulator"). В большинстве случаев результат будет такой же, как и в Windows, однако Wine добивается этого отличным от виртуализации способом, а именно за счет реализации Windows API в системе Linux. К примеру, ваша Windows-программа сможет напрямую писать на диск. Таким образом, вы не получаете полноценную Windows-подобную среду, а лишь получаете возможность запускать отдельные требуемые программы. Согласно неофициальным данным, около 55% процентов пользователей Windows-приложений в Linux применяют Wine или аналогичные средства Cedega (для игр) и CrossOver (для программ пакета MS Office и других). VMware занимает второе место с 27%, а VirtualBox - третье с 8%.

Если вы хотите работать с операционными системами в полноценной виртуальной среде, тогда помимо рассмотренных в статье программ стоит обратить внимание на средства User-Mode Linux (UML), Xen, OpenVZ и Kernel-based Virtual Machine (KVM).

VirtualBox


Рисунок 2: "Виртуальная" установка Ubuntu с помощью VirtualBox

VirtualBox - это программа виртуализации от компании innotek (она была куплена компанией Sun в начале этого года) с функциональностью, похожей на продукт VMware. VirtualBox работает в системах Linux, Mac OS X, Windows и Solaris и поддерживает их же (еще FreeBSD и OpenBSD) в качестве гостевых ОС. Текущая версия - 1.5.6, и активно ведется разработка новой версии.

Изначально программа распространялась под проприетарной лицензией (бесплатно лишь для частного домашнего использования), а в январе 2007 года под лицензией GPL была выпущена версия VirtualBox Open Source Edition (OSE). Версия OSE слегка урезана в функциональности, а другая, полноценная версия (тоже бесплатная, но недоступная в исходных кодах - лишь в виде бинарного пакета) распространяется на условиях лицензии VirtualBox Personal Use and Evaluation License. Более конкретно, эта версия распространяется бесплатно в личных, учебных и демонстрационных целях. В противном случае требуется приобретение лицензии.

Я установил версию OSE из репозиториев openSUSE; даже если вы хотите поставить самую свежую версию, всегда легче сначала автоматически установить более старую версию (чтобы при этом установились все зависимые пакеты), тем самым подготавливая площадку для обновления до новой версии. Даже после автоматической установки придется немного "поработать напильником", а именно добавить пользователей в группу vboxusers. Для запуска всех необходимых служб необходимо от имени администратора root выполнить команду

/etc/init.d/vboxdrv setup

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

В VirtualBox есть пакет VirtualBox Linux Additions, аналогичный VMware Tools, улучшающий функциональность и управляемость виртуальной машины. Выберите пункт меню Devices -> Install Guest Additions, при этом будет скачан соответствующий пакет и смонтирован как компакт-диск; для установки пакета нужно будет запустить VboxLinuxAdditions.run.

QEMU


Рисунок 3: Полностью свободная QEMU

QEMU - это и программа виртуализации, и эмулятор: возможно запускать программы и операционные системы для конкретного процессора на машине с другим процессором. При виртуализации на x86-совместимых процессорах можно установить ускоритель (KQEMU), повышающий быстродействие. Программа распространяется под лицензией GPL, но отдельные части попадают под лицензии LGPL и BSD. QEMU работает в системах Linux, Windows, Mac OS X и Solaris. Самый простой способ установить его - это с помощью менеджера пакетов; и не забудьте установить KQEMU.

Обычно работа с QEMU сопровождается вводом множества команд, но удобнее установить Qemulator - графический интерфейс, написанный на Python и выполняющий те же функции, что и мастер в VirtualBox или VMware. Установка проста: скачайте пакет, распакуйте его и запустите setup.py. После завершения установки (надо будет ответить на несколько вопросов, в основном касающихся путей расположения файлов) можно будет создавать и запускать виртуальные машины с помощью qemulator.

Если вы знакомы с VMware или VirtualBox, тогда процесс создания новой виртуальной машины не станет для вас откровением. (Небольшое замечание: если захотите удалить виртуальную машину, придется удалять образ диска вручную; Qemulator этого не делает). Запуск машины производится нажатием зеленой кнопки в верхнем правом углу экрана. К сожалению, для ускорения графики и звука нет каких-либо пакетов, так что не удивляйтесь, если виртуальная машина будет медлительной при работе с мультимедиа-приложениями.

Заключение

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



Средняя оценка 5 при 1 голосовавших