@ Карта сайта News Автора!

Bog BOS: VMware Server

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL

Последнее изменение файла: 2010.06.04
Скопировано с www.bog.pp.ru: 2024.11.23

Bog BOS: VMware Server

VMware - линейка программных продуктов для создания и выполнения виртуальных машин (гостевые ОС) в рамках хостовой машины (хостовой ОС).

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

В статье перечисляются продукты виртуализации фирмы VMware и подробно описываются:

Варианты VMware

Варианты VMware (нельзя устанавливать на один компьютер несколько вариантов; цены ориентировочные и могут устареть):

VMware Server 1.0.1/1.0.3/1.0.9 (CentOS4, CentOS5, Fedora Core 6, Fedora 10) и VMware Server 2.0 (Fedora 10, CentOS 5.3)

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

Поддерживает 2-процессорные гостевые системы и IVT (до версии 2.0 экспериментально); возможность делать снимок состояния (только один снимок в отличие от Workstation) гостевой машины и возвращаться обратно. Хостовая система может иметь до 16 процессоров (рекомендуется не более 4 гостевых систем на процессор) и до 64ГБ памяти (в 32-битном режиме требуется поддержка PAE). Для версии 1 требуется 200 МБ на диске и 1.5 размера памяти в /tmp.

В качестве хостовой системы можно использовать RHEL 4.3 (RHEL 4.4 в экспериментальном режиме; для версии 2 - RHEL 4.5, 5.0 и 5.1), как 32-, так и 64-битные (требуется поддержка rtc, inetd (xinetd) для авторизации подключений консолей или MI, glibc 2.1 или выше, библиотеки X Window (проверьте наличие libXpm.so), Perl 5.005 или выше для VmPerl API, драйвер LPT должен быть подгружен как модуль - CONFIG_PARPORT_PC=m). Для поддержки 64-битных гостевых систем требуется "хороший" реальный процессор (AMD Athlon 64 D, AMD Opteron E, Intel D9xx, Intel EM64T VT в экспериментальном режиме до версии 2.0), имеется утилита проверки, /proc/cpuinfo должен иметь флаг vmx (в CentOS4 он не выводится), поддержка VT не должна быть выключена в BIOS (у Intel есть (была?) традиция отключать её на материнских платах не серии vPro (Q965)). cpuid.iso даёт более детальный отчёт о процессоре (в моём случае было сказано, что хотя процессор поддерживает функции VT, но они отключены в BIOS - установлен бит MSR - и мне необходимо поменять BIOS, но Intel другого BIOS для этой платы не имеет). Тест поддержки VT (д.б. FFFFFFFF в реальной машине и FFBFFFFF в виртуальной):

#include <stdio.h>
void main(void) {
   unsigned long limit;
   // iopl(3);
   asm volatile("mov %%ds,%0; lsl %0,%0" : "=r"(limit));
   printf("LIMIT=%08X\n", limit);
}

В качестве 64-битных гостевых ОС поддерживаются (список совпадает с VMware Workstation 5.5 или 6): MS Windows Server 2008 (в версии 2), MS Windows Vista BE и UE (экспериментально до версии 2), MS Windows Server 2003 R2, MS Windows XP Pro, RHEL 4.3 (экспериментально 4.4; в версии 2 - 4.5, 5.0 и 5.1), FreeBSD 5.3, 5.4 и 6.0, Solaris 10. В качестве 32-битных гостевых ОС поддерживаются: MS Windows Server 2008 (в версии 2), MS Windows Vista BE и UE (экспериментально до версии 2), MS Windows Server 2003 R2, MS Windows XP Pro и HE (HE только в версии 1), далее вплоть до MS-DOS 6 в версии 1 и MS Windows 200 в версии 2, RHEL 4.3 (экспериментально 4.4; в версии 2.0.1 - 4.5 и 5.2), далее до RH 7.0 (в версии 1), FreeBSD от 4.0, Solaris 9 и 10. Гостевая система может иметь до 3.6 ГБ ОП в версии 1 и до 8 ГБ ОП в версии 2.

Может выполнять виртуальные машины с VMware Workstation 5.x (не поддерживаются множественные снимки и группы (team)). Может импортировать виртуальные машины от MS Virtual Server и MS Virtual PC (только под MS Windows). Нет клонирования, дерева снимков, менеджера снимков.

Управлять работой виртуальных машин можно с помощью VMware Server Console в версии 1 (установленной на хост или компьютер администратора), VMware Remote Console в версии 2, веб-интерфейса VMware Management Interface в версии 1, веб-интерфейса VMware Infrastructure Web Access в версии 2, использовать API управления сервером (VIX API - Perl, C, shell), Virtual Machine Communication Interface (в версии 2) или VirtualCenter 1.4 или новее (платные, только в версии 1). Несколько средств управления могут подключаться к одному VMware Server одновременно. Версия 2 заметно "подросла" по сравнению с версии 1 и требуется для установки 1.7GB на диске (600MB можно освободить после установки). Новый интерфейс управления (WebAccess и hostd) потребляет огромное количество оперативной памяти (200МБ RES и 700МБ VIRT). Версия 2 хранит виртуальные машины и образы для CD/DVD в специальном хранилище (datastore, /etc/vmware/hostd/vmInventory.xml), виртуальные машины из версии 1 необходимо переносить туда вручную. Версия 2 использует другую систему прав доступа (ролевую, /etc/vmware/hostd/authorization.xml). Аутентификация производится средствами хостовой ОС. Сетевые настройки после обновления придётся восстанавливать вручную.

Аутентификация пользователя при подключении консоли или MI производится с использованием демона vmware-authd и PAM (настройки: /etc/pam.d/vmware-authd, пытается использовать pam_unix2.so, которого у меня нет). По умолчанию, все удалённые соединения используют SSL (консоль - порт 902 - иконка замка в правом нижнем углу; MI соединение на порт 8222 (HTTP) перенаправляется на порт 8333 (HTTPS) - иконка замка в правом нижнем углу). Самоподписанные сертификаты: /etc/vmware-mui/ssl/mui.crt (сертификат для MI), /etc/vmware-mui/ssl/mui.key (приватный ключ для MI, надо позаботиться о правах доступа), /etc/vmware/ssl/rui.crt, /etc/vmware/ssl/rui.key. Процесс виртуальной машины (vmware) запускается от имени владельца файла конфигурации имя-виртуальной-машины.vmx, но права на действия с ВМ проверяются относительно имени, предъявленого при аутентификации, так что все ресурсы виртуальной машины должны быть доступны владельцу файла конфигурации, а аутентифицируемый пользователь должен иметь права доступа к файлу конфигурации. Для подключения из консоли к ВМ требуются права чтения к файлу .vmx (можно узнать только состояние), также права x к каталогу, в котором он находится. Для включения и выключения ВМ, а также подсоединения и отсоединения устройств требуются права r и x. Для конфигурации ВМ требуются права r и w к файлу .vmx (и виртуальным дискам). По умолчанию, ВМ создаётся как частная, т.е. она даже не показывается в списке ВМ для других пользователей, с правами "rwxr-xr--". При расположении ВМ на NFS могут возникнуть проблемы, если локальный root не имеет аналогических прав на NFS сервере (root squash). Для ограничения прав по созданию ВМ и виртуальных дисков в хостовой ОС необходимо создать некоторый файл, дать права на запись в этот файл только доверенным пользователям и/или группам, затем внести изменения в /etc/vmware/config и перезапустить процесс vmware-serverd:

serverd.doCreateCheck = "TRUE"
serverd.createCheckFile = "имя-файла"

Журналы:

VMware Management Interface

Позволяет управлять большим количеством ВМ через веб-интерфейс. В качестве клиента используется обычный браузер (Firefox 1.5 и выше (firefox -no-remote в моём окружении), Mozilla 1.7.13 недостаточно хорош, konqueror 3.5.3 работает плоховато, epiphany в моём окружении не запускается). При подсоединении на порт 8333 сервера (по умолчанию используется SSL, можно подключиться к порту 8222 без SSL после изменения настройки) и ввода имени пользователя и пароля позволяет (некоторые управляющие действия вызывают выдачу сообщений и запросов, на которые надо ответить, иначе работа ВМ блокируется):

Установка VMware Management Interface на сервере CentOS 4.4/5.1 (удаление - /usr/bin/vmware-uninstall-mui.pl)

VMware Infrastructure Web Access

VMware Infrastructure Web Access (VI Web Access) заменяет в версии 2 VMware Management Interface. Позволяет

В качестве клиента используется обычный браузер - Firefox 2.0 и выше (firefox -no-remote в моём окружении), IE 6 и выше. Требуется включить JavaScript, XMLHttpRequest и cookies.

VMware Server Console

Для управления виртуальными машинами может использоваться VMware Server Console, устанавливаемая на хост или компьютер администратора. Несколько консолей могут подключаться к одному VMware Server одновременно (по умолчанию - порт 902, можно задать переменную authd.client.port в /etc/vmware-server-console/config или /usr/lib/vmware-server-console/config или ~/.vmware/preferences). Консоль можно подключить к нескольким серверам. По умолчанию, консоль пытается загрузить обновления с www.vmware.com, как это сделать при непрямом подключении к Интернет непонятно, так что лучше просто отключить в настройках.

Установка консоли управления на хост (требуются библиотеки X Window, в частности - libXpm, libXi, libXi-devel, gtk2-devel нужной битности!); на F10 падает из-за темы Clearlooks (VMWARE_USE_SHIPPED_GTK=1); на CentOS4.4 и FCF3 (пакет VMware-server-console-1.0.1-29996.i386.rpm можно взять из /usr/lib/vmware-mui/apache/htdocs/vmware/bin (создаётся при установке MI) или самостоятельно извлечь из архива VMware-mui-1.0.1-29996.tar.gz (vmware-mui-distrib/console-distrib) или архива VMware-server-linux-client-1.0.1-29996.zip - для установки на компьютер администратора)

Программа графическая, поэтому если вы запускаете её с удалённого компьютера, то для входа на этот компьютер необходимо использовать ssh с ключом -Y. При запуске vmware-server-console без параметров запрашивает имя-хоста[:порт], имя пользователя и пароль (или локальное соединение, если запускаем её на сервере).

Параметры:

~/.vmware/preference содержит настройки для данного пользователя

Настройка консоли осуществляется вызовом из меню "Edit -> Preferences" (^P):

Настройка хоста осуществляется вызовом из меню "Host -> Setting" (только если подсоединилось под именем root с другого хоста):

Для включения ВМ необходимо выбрать нужную ВМ в консоли и нажать PowerOn. После включения ВМ её можно остановить, приостановить (нельзя изменять конфигурацию ВМ до возобновления работы; позволяет осуществлять резервирование открытых БД), сбросить, сделать снимок состояния, вернуться к снимку состояния и удалить его. Работа ВМ продолжается и после закрытия окна или завершения работы консоли. В одном окне консоли может быть много ВМ (переключаются по закладкам), можно открыть несколько окон в одной консоли или запустить несколько консолей. Чтобы передать управление клавиатурой и мышкой ВМ необходимо кликнуть в экран ВМ (движение мышки при этом ограничивается экраном ВМ, если не используется vmware-tools). Чтобы вернуть управление надо нажать Ctrl-Alt (можно изменить в настройках на Ctrl-Alt-Shift - это позволит переключать виртуальные консоли в Linux по стандартным Ctrl-Alt-n). Если окно консоли является активным, но управление клавиатурой не передано ВМ, то необходимо быть осторожным с "горячими" клавишами:

VMware Remote Console

В VMware Server версии 2 всё управление виртуальной машиной осуществяется с помощью веб-интерфейса. Консоль используется только для доступа к окну виртуального монитора одной гостевой системы, клавиатуре и мышке. Можно также подсоединить или отсоединить CD/DVD, сделать сброс или выключить. Требуется доступ к портам 902 и 8333 на хостовой машине.

Официальным методом использования является установка в качестве расширения в браузер (поддерживаются IE, Firefox и Seamonkey). При этом происходит какая-то путаница с 32/64 битыми версиями, так что советую установить vmware-vmrc-linux-x64.xpi вручную (указать в браузере URL на этот файл, взятый из каталога /usr/lib/vmware/webAccess/tomcat/apache-tomcat-6.0.16/webapps/ui/plugin/ на хостовой машине). Как выяснилось браузер для запуска консоли не нужен (зато желательны библиотеки X Window, в частности - libXpm, libXi, libXi-devel, gtk2-devel нужной битности), т.к. это совершенно самостоятельная программа, которую можно извлечь из .xpi (представляет собой zip-архив) и запускать из командной строки (или меню):

export LD_LIBRARY_PATH=необходимые-библиотеки-из комплекта # состав выясняется с помощью ldd
.../plugins/bin/vmware-vmrc -h хост:8333 [-u имя-пользователя] [-p пароль] [-X] \
                            -M идентификатор-объекта # из /etc/vmware/hostd/vmInventory.xml

Передача управления мышкой и клавиатурой гостевой системе - ^G. Возврат управления - Ctrl-Alt. При изменении разрешения виртуального монитора автоматически изменяется размер окна.

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

Виртуальное оборудование (dmidecode работает: VMware Virtual Platform):

Набор файлов хостовой системы, представляющий ВМ (в каталоге /var/lib/vmware/Virtual\ Machines/имяВМ):

Для копирования (клонирования) виртуальной машины необходимо скопировать весь набор файлов в другой подкаталог (желательно их переименовать в соответствии с именем новой ВМ), переименовать виртуальный диск утилитой vmware-vdiskmanager (см. ниже). Каждая ВМ должна иметь уникальный UUID (128 бит), так что UUID копии ВМ необходимо изменить в файле .vmx (при первом запуске после перемещения или копирования задаётся вопрос). UUID (переменная uuid.bios) доступен с помощью любой утилиты чтения SMBIOS (dmidecode), генерируется из UUID хоста и месторасположения файла .vmx. После копирования виртуальная машина ищется в Inventory -> Open -> Browse.

Для создания ВМ необходимо запустить консоль и нажать "File" -> "New" -> "Virtual Machine" (или нажать ^N). Методы создания:

Для настройки параметров ВМ необходимо в консоли нажать "VM -> Setting" (^D):

Снимки состояния можно делать во включённом состоянии ВМ, выключенном состоянии или приостановленном состоянии - только надо дождаться завершения приостановки. Могут быть проблемы при возврате, если в момент снимка ВМ активно взаимодействовала с другими компььютерами. В снимок входит состояние ВМ, содержимое памяти и диска (изменения содержимого диска записываются в новый файл .vmdk, размер которого соответственно увеличивается), конфигурация и настройки. При удалении снимка все изменения содержимого виртуального диска сливаются в основной файл виртуального диска или на реальный диск. При откатке к снимку состояния файл с изменениями содержимого диска удаляется, новые изменения опять пишутся в файл изменений. VMware Server поддерживает только один снимок ВМ - новый снимок замещает предыдущий, новые изменения опять пишутся в файл изменений. Никто не мешает сделать дополнительные снимки копированием файлов ВМ (предварительно выключив её). При использовании "независимых" дисков можно делать снимок только при выключенной ВМ. Состояние незасисимых дисков не сохраняется в снимках (информация либо изменяется непосредственно на виртуальном/реальном диске или записывается во временный файл, который удаляется при выключении ВМ). При необходимости достижения максимальной скорости надо выключить ВМ, удалить текущий снимок (в консоли: Snapshot -> Remove Snapshop) и запретить использование снимков в настройках ВМ. Для надёжности можно перевести диски в независимый режим с непосредственной записью. В настройках можно также заблокировать текущий снимок от случайных изменений и задать возврат к снимку при выключении ВМ. В настройках сервера можно указать создание снимков в фоновом режиме.

Преобразование виртуального диска в хостовой системе производится с помощью утилиты vmware-loop (работает только в 32-битной системе) для дальнейшего монтирования

Монтирование виртуального диска в хостовой системе производится с помощью утилиты vmware-mount.pl (интересно, как работать с LVM?):

Параметры виртуального диска можно изменить с помощью утилиты vmware-vdiskmanager на хостовой машине (тип 0 - расширяемый одним куском, 1 - расширяемый порезанный по 2GB, 2 - предварительно создаваемый одним куском, 3 - предварительно создаваемый порезанный по 2GB):

Образ заранее распределённого виртуального диска можно поместить на CD/DVD (но работать будет медленнее)

Можно уменьшить место, занимаемое файлами виртуального диска, в хостовой системе (только для наращиваемого виртуального диска, не независимого, не имеющего снимков, в процессе требуется много свободного места): предварительно необходимо запустить утилиту vmware-tool в гостевой ОС.

При включении ВМ (выбрать нужную ВМ в консоли и нажать PowerOn) запускается процесс: /usr/lib/vmware/bin/vmware-vmx -C /var/lib/vmware/Virtual Machines/имяВМ/имяВМ.vmx. После включения ВМ её можно остановить, приостановить, сбросить, сделать снимок состояния, вернуться к снимку состояния и удалить его.

ВМ можно запустить командой vmware:

Счётные задачи выполняются внутри ВМ примерно с той же скоростью, что и во вне. Скорость работы с диском

вне ВМ (RAID-5 с буферизацией записи, 2GB)
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
t143          5000M 37994  91 53361  22 18258   4 30217  62 33731   3 523.2   1

внутри ВМ (диск выделен заранее, LSI SCSI, 512MB)
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
              2000M 22687  76 28991  21 17998  12 29886  84 35657  12  1099  20

внутри ВМ (диск выделен заранее, LSI SCSI, 512MB, снимки запрещены, диск независимый)
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
              2000M 24438  78 38378  23 22970  15 33388  86 59070  19  1154  14

Права доступа к виртуальной машине определяются правами доступа к файлу конфигурации имя-виртуальной-машины.vmx (при создании - "rwxr-xr--"; можно управлять через меню консоли VM -> Setting -> Options -> Permissions; если виртуальная машина расположена на NFS, то могут быть проблемы) и правами на исполнение к каталогу, в котором он лежит:

При установке MS Windows XP Pro гостевая ОС пытается обратиться к

Настройка сетевых возможностей ВМ

Виртуальная машина может быть подключена к сети следующими способами (при любом типе сетевого подключения гостевая система должна иметь виртуальный сетевой адаптер - AMD PCnet-PCI II, при загрузке гостевой ОС используется драйвер vlance (pcnet32), после установки VMware Tools - vmxnet):

В дополнение к стандартным виртуальным коммутаторам (VMnet0, VMnet1, VMnet2) можно создавать ещё 96 дополнительных (6 для MS Windows хоста). В частности, это требуется если хостовый компьютер имеет несколько сетевых карт. К каждому коммутатору можно подключить до 32 реальных или виртуальных устройств. MAC адрес виртуальной сетевой карты генерируется при первом использовании (см. ethernet0.generatedAddress в имяВМ.vmx) и остаётся неизменным, если не менять конфигурацию (переменные ethernet0.*, uuid.*) и расположение файлов ВМ. Чтобы "закрепить" его, необходимо задать статический MAC адрес в имяВМ.vmx (удалив все сгенерённые ethernet0*, xx от 00 до 3F):

ethernet0.address = 00:50:56:XX:YY:ZZ

Сетевой адаптер можно добавить позже (до 4 штук):

Способ подключения можно изменить в последующем:

Настройка виртуальной сети (отражается на всех ВМ!) производится в Virtual Network Editor (только MS Windows) в меню "Edit" опцией "Virtual Network Setting". В частности, можно редактировать карту соединений реальных и виртуальных устройств, IP адреса и маски сетей, свойства NAT (обслуживаемая виртуальная сеть, адрес шлюза и т.д.). Для редактирования сети в Linux требуется настроить сервер (vmware-config.pl); базовая настройка сети возможна при редактировании состава ВМ; см. также /etc/vmware/config, /etc/vmware/vmnet?/dhcpd/dhcpd.conf, /etc/vmware/vmnet8/nat/nat.conf. Предполагается умение настраивать сеть в Linux, а также сетевой экран как в хостовой ОС, так и в гостевых, особенно в нестандартных ситуациях.

Транки (IEEE 802.3ad) поддерживаются только в MS Windows. Перевести виртуальную сетевую карту в "неразборчивый" режим можно только, если владелец ВМ имеет на это права, обычно - нет, но можно завести новую группу, сделать её владельцем /dev/vmnet0, дать права "rw" на /dev/vmnet0 членам этой группы и добавить владельца ВМ в эту группу.

VMware Tools

VMware Tools - дополнение к гостевой системе, ускоряющее и улучшающее её работу:

Установка VMware Tools 1.0.1 в CentOS4, FC3, FC5, FC6; VMware Tools 1.0.4 (VMwareTools-6532-56528) в Fedora 8 (при сервере 1.0.3); VMware Tools 1.0.5 в CentOS5:

Утилита vmware-checkvm позволяет проверить наличие и работоспособность VMware Tools.

vmware-toolbox - графическая утилита для управления VMware Tools, вкладки:

Установка VMware Tools в MS Windows XP Pro

VMware API

Утилита vmware-cmd (perl) позволяет управлять ВМ из скриптов, запускаемых на локальной или удалённой консоли. Требуется добавить /usr/lib/vmware-api/lib в /etc/ld.so.conf. Ключи:

Отличия и изменения VMware Server

Нерешённые проблемы в версии 2:

Отличия 2.0.1 (Build 156745 от 20090401) от 2.0.0

Отличия 2.0 (build 116503 от 20080823; build 122956 от 20081029) от 1.0.7

Нерешённые проблемы в версии 1:

Отличия 1.0.7 (20080828), 1.0.8 (20081106), 1.0.9 (20090401) от 1.0.6

Отличия 1.0.6 (20080529) от 1.0.5

Отличия 1.0.5 (20080314) от 1.0.4

Отличия 1.0.4 (20070918) от 1.0.3

Отличия 1.0.3 (20070426) от 1.0.2

Отличия 1.0.2 (20070228) от 1.0.1

Ссылки

@ Карта сайта News Автора!

Bog BOS: VMware Server

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru