Debian Lenny + VMware Sever 2 19.06.2009
Речь пойдёт об организации бесплатной платформы виртуализации. Я решил попробовать VMware Server 2 на Debian Lenny.
Почему VMware Server 2:
- бесплатное решение
- серверное решение: фоновая работа виртуальных машин (для этого не надо писать скрипты и т.д.), распределение прав на виртуальные машины, автоматический запуск и завершение виртуальных машин
- кроссплатформенность (Windows & Linux)
- хорошая взаимозаменяемость (не знаю как лучше выразиться…). Что я имею в виду: допустим, упал сервер и запустить виртуальные машины больше негде. Мы можем:
- установить VMware Server 2 на практически любой сервер с Windows Server (ведь это очень часто используется на серверах организаций; а не вообще любой, т.к. не рекомендуется установка на контроллер домена) и запустить имеющийся образ виртуальной системы
- более того, можно установить VMware Server 2 на Linux (о чём эта статья) и запустить образ системы, которая создавалась и работала под хостовой Windows Server
- и ещё более того, в крайнем случае можно временно запустить образ системы в VMware Workstation на компьютере с Windows XP/Vista
- и ещё: при необходимости с помощью Microsoft System Center Virtual Machine Manager (SCVMM) можно преобразовать образ виртуальной машины VMware в формат, который понимает Hyper-V, т.е. получить на выходе VHD-файл с работающей под Hyper-V виртуальной системой! Для виртуальной Windows Server 2003 у меня это сработало.
В сети нашлось много руководств по VMWare Server 1 + Debian Etch. И только одно по новым версиям: How To Install VMware Server 2 On Debian Lenny. Но его я нашёл после того, как сам всё сделал
0. Начнём
Итак, предположим, что у нас есть дистрибутив Debian Lenny и VMware Server 2 (архив tar.gz), скачанный бесплатно с www.vmware.com (необходимо зарегистрироваться, после чего также можно получить бесплатный серийный номер).
1. Установка Debian Linux
Вообще, понадобится только первый DVD от Debian Lenny.
Необходимо просто установить Debian с диска. Для примера можно выделить весь раздел под корень / и добавить swap.
Ставим только базовую систему (т.е. надо снять все галочки, когда будет предлагать поставить комплекты программ).
После установки я для удобства добавил пакеты dnsutils, ssh, ftp, telnet, mc:
apt-get install dnsutils, ssh, ftp, telnet, mc
При наличии подключения к Интернет можно добавить ещё и ntp.
Для загрузки файлов (дистрибутива VMware Server, образов систем и т.д.) ставим ftp-сервер:
apt-get install proftpd-basic
Но по умолчанию он начинает слушать только по IPv6, поэтому исправляем файл /etc/proftpd/proftpd.conf: делаем параметр UseIPv6 равным off и перезапускаем ftp-сервер:
/etc/init.d/proftpd restart
Для VMware Server 2 понадобится установить заголовки ядра и компилятор:
apt-get install linux-headers-`uname -r` build-essential
Также потребуется установить пакет psmisc (оттуда нужен как минимум killall).
Всё это отлично ставится с DVD-диска, довольно быстро.
2. Установка VMware Server 2
Во многих руководствах по установке VMware Server 1.x говорится о необходимости добавления кучи пакетов, связанных с Х11, всяких xspecs, libxtst6 и т.д. В этой версии VMware Server я просто решил их не ставить и посмотреть что будет
Всё прошло и заработало нормально. Значит, и нет смысла ставить лишние пакеты.
Итак, распаковываем скачанный tar.gz-архив с VMware Server 2 и запускаем скрипт установки:
./vmware-install.pl
Как ни странно, по-моему можно принять все автоматически предлагаемые ответы (в квадратных скобках).
После установки продукта инсталлятор предложит запустить скрипт конфигурирования vmware-config.pl, который предложит собрать разные модули. В варианте для Lenny, установленного с диска, возникает проблема: ядро было собрано не той версией gcc, которая используется по умолчанию (если вы сами не пересобирали ядро):
Your kernel was built with "gcc" version "4.1.3", while you are trying to use "/usr/bin/gcc" version "4.3.2".
Поэтому сборка модулей vmware server закончится неудачей:
/tmp/vmware-config0/vmmon-only/Makefile:106: *** Inappropriate build environment: you wanted to use gcc version 4.3.2 while kernel attempts to use gcc version 4.1.3.
/tmp/vmware-config0/vmmon-only/Makefile:108: *** For proper build you'll have to replace gcc-4.1 with symbolic link to /usr/bin/gcc.
Чтобы обойтись без создания всяких ссылок (как говорится в тексте ошибки), а просто собрать другой версией, перед запуском скрипта конфигурирования выполним команду:
export CC=/usr/bin/gcc-4.1
и опять запустим конфигуратор (ниже приведён его путь по умолчанию):
/usr/bin/vmware-config.pl
На этот раз все модули замечательно собираются и далее предлагается настроить сетевое взаимодействие. Я выбрал Bridged и NAT. Для NAT можно задать вручную адрес сети и хоста.
Далее необходимо выбрать пользователя, который будет администратором виртуальной инфраструктуры. Я предпочитаю указывать не root.
Также я предпочитаю размещать виртуальные машины не в предлагаемой по умолчанию папке, а в /var/vm.
После этого остаётся пара незначительных параметров (серийный номер, расположение vix api), и затем виртуальная инфраструктура успешно запускается. Можно смело создавать виртуальные машины (зайдя через браузер по адресу http://debian_host:8222), подсовывать iso-образы серверов Windows и FreeBSD и т.д…
Для удобства я сделал datastore, расположенный в /cdrom. Правда, чтобы он заработал, приходится вначале делать mount /cdrom…
3. Почти самое главное
Затем я провёл простой эксперимент: виртуальную Windows Server 2003, созданную при работе под Linux, я запустил в VMware Server 2, установленную и запущенную в Windows Server 2003. Всё заработало!
4. Отличия…
Отличия между работой VMware Server 2 под Linux и Windows Server 2003:
- показалась странной работа web-интерфейса под Linux… Изредка не откликался на запросы или выдавал ошибки, чуть-чуть притормаживал… В Windows Server такого не было.
- насколько я понял, для изменения, например, сетевой конфигурации необходимо запустить скрипт vmware-config.pl, который завершает все виртуальные машины. Нехорошо…
- возникли проблемы с приостановкой виртуальных машин при выключении сервера – они не хотели “приостанавливаться”, просто выключались.. Если это единичный случай, то хорошо. Если нет, то при необходимости можно изобрести такой велосипед: повесить скрипт на завершение работы (перед VMware Server), который будет приостанавливать запущенные виртуальные машины. При следующем старте они успешно восстановят своё состояние.
Но главное, что в работе самих виртуальных машин разницы не было.
Я считаю, что это замечательное решение для организации универсальной виртуальной инфраструктуры для несложных, нересурсоёмких задач (контроллеры домена, шлюзы в Интернет и другие стандартные компоненты информационной инфраструктуры). Я работаю с VMware Server 2 в таком режиме уже полгода.
P.S. Появился интереснейший продукт – бесплатный Hyper-V Server 2008, почитать о котором можно на сайте производителя. Думаю, поисследую его в ближайшее время.
Tags: linux, vmware, виртуализация
Комментарии»
А дальше ?
Как установить гостевую ОС в VMware Server 2 ?
Там и так все понятно дальше. Час посидеть и проблем не будет.