Валентин Синицын
15 января 2007 года вполне может войти в историю свободного ПО как день,
когда у VMware Workstation впервые появился достойный открытый аналог.
Насколько полной вышла эта аналогия? Попробуем разобраться.
Ситуацию, сложившуюся к настоящему моменту на рынке средств виртуализации,
иначе как гонкой не назовешь. А началось все с того, что на территорию,
практически безраздельно принадлежавшую VMware, Inc. вторглась вездесущая
корпорация Microsoft, использовав с успехом опробованную на Netscape тактику –
демпинг. Приобретенный у сторонней фирмы и доработанный самой компанией Microsoft
Virtual PC был не просто дешев – он вообще ничего не стоил. Ответ VMware, которая
по понятным причинам не могла компенсировать затраты на производство
одноименной линейки продуктов за счет продаж операционных систем и офисных
пакетов, был асимметричным, но стратегически правильным. «Бесплатный как пиво» VMware
Player быстро стал стандартом де-факто для распространения appliances – образов
дисковых накопителей с предустановленными и настроенными системами: серверами,
средствами разработки и др. [7]. Несмотря на отведенную ему роль проигрывателя,
VMware Player мог худо-бедно использоваться как замена Workstation –
дескрипторы виртуальных машин и дисковые образы легко генерировались при помощи
сервисов вроде www.easyvmx.com.
В то время, пока гиганты активно боролись за
место под солнцем, мир свободного ПО неспешно строил «флот» пара-виртуализаторов,
флагманом которого стал Xen [1]. И хотя появление технологий аппаратной
виртуализации (Intel VT и AMD SVM) позволило запускать в домене Xen немодифицированные
версии Windows XP, свободных полных виртуализаторов наподобие VMware или Parallels
Workstation по-прежнему не существовало.
Ситуация изменилась 15 января 2007 года. В этот
день немецкая компания InnoTek (имеющая, судя по информации на сайте, офисы и в
России) объявила о выпуске VirtualBox Open Source Edition (OSE) – инструмента
полной виртуализации для платформы x86, распространяющегося по лицензии GPL
[2]. Спустя еще три недели, 6 февраля, был открыт QEMU Accelerator Module – kqemu,
«позволяющий PC-эмулятору QEMU выполняться значительно быстрее при эмуляции PC
на x86-хосте» [4]. Впрочем, я не склонен считать, что сейчас в мире Open Source
существует два полных виртуализатора, ибо VirtualBox и QEMU подходят к решению
проблемы с противоположных концов: VirtualBox – это в первую очередь виртуализатор
с динамической трансляцией и прочими «прелестями», переключающийся в режим
эмуляции только в случае крайней необходимости, тогда как QEMU – это эмулятор,
имеющий необязательный модуль полной виртуализации. Оба варианта имеют свои
плюсы и минусы, но сейчас мы сфокусируемся на VirtualBox.