Последнее изменение файла: 2010.06.04
Скопировано с www.bog.pp.ru: 2024.11.23
Bog BOS: VMware Server
VMware - линейка программных продуктов для создания и выполнения виртуальных машин
(гостевые ОС) в рамках хостовой машины (хостовой ОС).
Большинство продуктов можно получить бесплатно для 30-дневного тестирования.
В этом случае, а также для бесплатных продуктов выдаётся отдельный ключ.
Результаты тестирования производительности можно публиковать только по согласованию с фирмой VMware.
Для получения обновлений необходимо заплатить отдельно.
В статье перечисляются продукты виртуализации фирмы VMware
и подробно описываются:
Варианты VMware (нельзя устанавливать на один компьютер несколько вариантов;
цены ориентировочные и могут устареть):
- VMware Player 3.1 (бесплатно), имеется возможность создавать ВМ (?)
- VMware Lab Manager
- VMware Workstation 7.1
- VMware ACE
- VMware Virtual Desktop Infrastructure
- VMware GSX Server 3.2 - превратился в бесплатный VMware Server
- VMware Server 1.0.9 и 2.0.2 (бесплатно, обязательная регистрация, требуется серийный номер) -
работает как прикладная программа под управлением Linux (x86 и x86_64) или MS Windows 2003;
гостевые системы: Windows, Linux и Solaris (включая x86_64); развития не планируется, поддержка до 30 июня 2011,
пользователям рекомендовано перебираться на VMware Player или ESXi
- VirtualCenter for VMware Server (бесплатно) - консоль управления для VMware Server
- VMware Infrastructure 3 - самостоятельная ОС
- VMware VirtualCenter (консоль управления серверами Infrastructure, Server (GSX) и ESX)
- VMware ESX Server 2.5 - самая старшая модель, цена по соглашению
- VMware ESXi
- VMware P2V Assistant (развитие закончено, функции перешли в VMware Converter)
- VMware Virtual Machine Importer
(развитие закончено, функции перешли в VMware Converter)
- VMware Converter (преобразует физическую систему и образы
(VMware, MS Virtual PC, Microsoft Virtual Server, Norton Ghost 10 и др.)
в виртуальную гостевую, в т.ч. без отключения и удалённо;
только MS Windows XP/2003 (есть бета для холодного клонирования Linux на компьютерах
со SCSI-дисками);
версия Starter - бесплатно, Enterprise - по контракту на обслуживание VCMS)
- VMware Tools - дополнение к гостевой системе, ускоряющее и улучшающее её работу
Бесплатен только для внутреннего потребления, требуется регистрация
для получения ключа (ключ выдаётся на сайте при загрузке), поддержка за деньги.
Поддерживает 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).
Аутентификация производится средствами хостовой ОС.
Сетевые настройки после обновления придётся восстанавливать вручную.
Последовательность установки:
- перед обновлением необходимо предварительно проделать следующее
(сетевые настройки не сохраняются и их надо где-то записать!):
- привести виртуальные диски в нормальное состояние (удалить снимки, разрешить изменения и т.д.)
- выключить (не приостановить) все виртуальные машины (обновление с 1.0.1 до 1.0.3
успешно сделал в приостановленном состоянии)
- сохраниться (.vmdk, .vmx, nvram; в общем, мы вас предупреждали!)
- остановить на хостовом компьютере сервис vmware (возможно, вручную)
- удалить старые версии продуктов VMware (не трогая файл лицензий)
- /usr/bin/vmware-uninstall-mui.pl: останавливает сервис httpd.vmware)
- /usr/bin/vmware-uninstall-vix.pl
- rpm -e VMware-server-* VMware-server-console-
- установка из пакетов VMware Server 1.0.1 на сервер CentOS 4.4, FC3 и FC6;
1.0.3 на FC6, 1.0.5 на CentOS 5.1, 1.0.8/1.0.9 на F10/x86_64 (включает установку MUI и консоли);
2.0.0-122956/x86_64 и 2.0.1-156745/x86_64 на Fedora 10, 2.0.1-156745/x86_64 на CentOS 5.3
(сборки иногда меняются без изменения номера версии, версия 2 i386 не хочет устанавливаться на x86_64)
- требуется libXtst.so (xorg-x11-libs или libXtst-devel) нужной битности
- требуется libXrender.so (xorg-x11-libs или libXrender-devel) нужной битности
- для версии 1 требуется xinetd
- для версии 1 требуется perl [и perl-ExtUtils-Embed для F10] нужной битности
- требуется поддержка rtc в ядре
- поддержка параллельного порта должна быть в виде модуля
- попытка подставить /etc/vmware/config от версии 1 в версию 2 была плохой идеей (?)
- установка сервера из RPM (включает установку API)
- /etc/init.d/vmware (/etc/rc.d/init.d/vmware);
в версии 2 создаются символьные ссылки: vmware-autostart, vmware-core, vmware-mgmt
- /etc/vmware
- config (несуществующее имя переменной ведёт к краху сервера;
предыдущий config в /etc/vmware/config.old.0)
- hostd/ (authorization.xml, config.xml, datastores.xml, environments.xml и env/, hwInfo.xml,
key.pub, mockup-linux.vha, npivwwn.xml, pools.xml, proxy.xml, vmAutoStart.xml, vmInventory.xml)
- installer.sh (?)
- license.cfg и license.vs.1.0-00
- locations (журнал установки)
- netmap.conf
- not_configured до первой настройки
- pam.d/vmware-authd (копия /etc/pam.d/vmware-authd?)
- signing-key.pub (только в версии 1)
- service/services.xml
- ssl: rui.crt и rui.key
- state/ (только в версии 2)
- vmnet1/ и прочие
- vm-list (только в версии 1, список ВМ)
- vm-list-private (только в версии 1, список ВМ и владельцев)
- webAccess/ (только в версии 2)
- /etc/pam.d/vmware-authd (появляется после настройки;
в версии 1 почему-то указан несуществующий pam_unix2.so)
- /usr/bin (vmnet-bridge, vmnet-dhcpd, vmnet-natd, vmnet-netifup,
vmnet-sniffer, vmrun, vmstat,
vm-support (сбор информации о системе для передачи разработчику),
vmware, vmware-authtrusted (в версии 1), vmware-authd (в версии 2),
vmware-cmd (в версии 1) и vmware-vim-cmd (в версии 2),
vmware-config.pl, vmware-loop (в версии 1),
vmware-mount.pl (в версии 1) и vmware-mount (в версии 2, 1.5MB!)
vmware-ping, vmware-vdiskmanager, vmware-watchdog (в версии 2),
vmware-vimsh (в версии 2), vmware-uninstall-vix.pl)
- /usr/sbin/ (vmware-authd, vmware-authdlauncher (в версии 2),
vmware-serverd (в версии 1) и vmware-hostd (в версии 2))
- /usr/include/vmci/vmci_sockets.h (в версии 2)
- /usr/include/vmware-vix/ (только в версии 1)
- /usr/lib/ (в версии 1; libvmware-vix.so, libvmware-vix.so.0, libvmware-vix.so.0.0.0)
- /usr/lib/pkgconfig/vmware-vix.pc (в версии 1)
- /usr/lib/vmware/net-services.sh (в версии 2)
- /usr/lib/vmware/share/icons/ (в версии 2)
- /usr/lib/vmware/vmware-vix/vmware-vix.tar.gz (в версии 2)
- /usr/lib/vmware/vmware-vix/api/vix-perl.tar.gz (в версии 2)
- /usr/lib/vmware/hostd/ (в версии 2)
- /usr/lib/vmware/configurator/ (в версии 2)
- /usr/lib/vmware/bin/ (в версии 2; vmware-vimsh, vmware-remotemks-debug,
vmware-vmx-debug, vmrun, vmware-hostd, vmware-vim-cmd, openssl,
vmware-vmx-stats, vmware-remotemks, vmware-vmx)
- /usr/lib/vmware/licenses/ (в версии 2)
- /usr/lib/vmware/isoimages/ (в версии 2)
- /usr/lib/vmware/lib/ (в версии 2; библиотеки ssl, xml, phread, libstdc++ и пр.;
заметьте, что 64-битные библиотеки лежат здесь, а не в /usr/lib64)
- /usr/lib/vmware/modules/binary/ (в версии 2; предкомпилированные модули ядра)
- /usr/lib/vmware/modules/source/ (в версии 2; vmmon.tar, vmnet.tar, vsock.tar, vmci.tar)
- /usr/lib/vmware/config (в версии 2)
- /usr/lib/vmware/tools-upgraders/(в версии 2)
- /usr/lib/vmware/vmacore/ (в версии 2; libvmacore.so.1.0, libvmomi.so.1.0)
- /usr/lib/vmware/xkeymap/ (в версии 2)
- /usr/lib/vmware/webAccess/ (в версии 2; java/, vmware-webCenter, tomcat/)
- /usr/lib/vmware/help/server/ (в версии 2)
- /usr/share/doc/vmware/
- /usr/share/doc/vmware-vix/ (в версии 1)
- /usr/share/man/man1/vmware.1.gz
- /var/lib/vmware/Virtual Machines/ (можно переназначить при настройке)
- если предполагается использование виртуальной сети в режиме NAT или host-only,
то ограничить DHCP сервер, работающий на хосте, только реальными интерфейсами
- для версии 1 убедиться, что xinetd работает
- для версии 1 в FC6/F10 вручную сделать "mknod /dev/vmmon c 10 165"
- для версии 1 в FC6/F10 удалить ideafarm-chat из /etc/services (порты 902 и 903)
- в FC6 с ядром 2.6.19-1.2895.fc6 для VMware Server 1.0.1
необходимо
предварительно развернуть /usr/lib/vmware/modules/source/vmnet.tar,
изменить в vmnet-only/*.c CHECKSUM_HW на CHECKSUM_PARTIAL, затарить и положить обратно
- в FC6 для VMware Server 1.0.1
touch /usr/src/kernels/2.6.19-1.2895.fc6-x86_64/include/linux/config.h
- в FC6 с ядром 2.6.20-1.2962 для VMware Server 1.0.3
предварительно развернуть /usr/lib/vmware/modules/source/vmmon.tar,
закоментарить строку 21 в include/compat_kernel.h, затарить и положить обратно
- на FC6 с ядром 2.6.22 для VMware Server 1.0.3 у меня кончилось терпение
и я воспользовался набором
vmware-any-any
(PTE_PFN_MASK redefined, missing MODULE_LICENSE и symbol 'init_mm' marked UNUSED для 1.0.8 и ядра 2.6.27);
заплатки для 1.0.8 и ядра 2.6.27-9 подходят для 1.0.9 и 2.6.29.21 (F10):
подменить vmnet.tar и vmmon.tar подправленными
- настроить с помощью vmware-config.pl
(требуется также запускать после каждого обновления ядра
или изменения в требованиях к настройкам виртуальных сетей)
- при установке версии 2 в Fedora 10 падает ldd (исправлено в ядре 2.6.27.21-170.2.56)
- при установке версии 2 в Fedora 10 зависает на остановке VI (плохой знак)
- принять лицензию
- для версии 1 настроить расположение каталогов (/usr/share/applications/vmware*,
/usr/share/icons/hicolor/48x48/apps/vmware-server.png,
/usr/share/icons/hicolor/48x48/mimetypes/*vmware*,
/usr/share/mime/application/x-vmware-*, /usr/share/mime/packages/vmware.xml,
/usr/share/pixmaps/vmware-server.png)
- поиск и загрузка модуля ядра монитора (vmmon), компиляция для FC3/FC6/CentOS5.1 (версия 1)/F10
(добрые люди обновили в FC6 gcc до 4.1.2, а ядро собрано gcc 4.1.1):
/lib/modules/версия-ядра/misc/vmmon.*
версия 1
/dev/vmmon (major=10 minor=165), /proc/vmstat,
vmmon: module license 'unspecified' taints kernel.
vmmon: no version for "sys_ioctl" found: kernel tainted.
версия 2
/dev/vmmon[30762]: Module vmmon: registered with major=10 minor=165
/dev/vmmon[30762]: Initial HV check: anyNotCapable=0 anyUnlocked=0 anyEnabled=1 anyDisabled=0
/dev/vmmon[30762]: HV check: anyNotCapable=0 anyUnlocked=0 anyEnabled=1 anyDisabled=0
/dev/vmmon[30762]: Module vmmon: initialized
/dev/vmmon[30769]: Module vmmon: unloaded
- для версии 2 поиск и загрузка модуля ядра vmci для CentOS 5.3, компиляция для F10:
/lib/modules/версия-ядра/misc/vmci.*
/dev/vmci[31088]: VMCI: Driver initialized.
/dev/vmci[31088]: Module vmci: registered with major=10 minor=59
/dev/vmci[31088]: Module vmci: initialized
/dev/vmci[31094]: Module vmci: unloaded
- для версии 2 поиск и загрузка модуля ядра vsock для CentOS 5.3, компиляция для F10
(с неприятными предупреждениями):
/lib/modules/версия-ядра/misc/vsock.*, правим:
cd /tmp
tar xf /usr/lib/vmware/modules/source/vmci.tar
tar xf /usr/lib/vmware/modules/source/vsock.tar
cd vmci-only
make
cp Module.symvers ../vsock-only
cd ../vsock-only
make
# если vsock совсем не откомпилировался без правок, то vsock.ko
cp /tmp/vsock.o /lib/modules/версия-ядра/misc/vsock.o
- в версии 1 забыли "depmod -a"
- настроить сеть (bridged network for vmnet0 для eth0, без NAT и host-only, компиляция для FC3;
если здесь не разрешить NAT и host-only, то их нельзя будет выбрать в сетевых настройках ВМ;
для NAT и host-only требуется выбрать адреса частных сетей;
bridged network создаётся обязательно (как её отключить?
пока присоединил к неработающему интерфейсу);
настройки dhcpd.conf лучше посмотреть самому);
- поиск и загрузка модуля ядра vmnet для CentOS 5.3, компиляция для FC3/F10:
/lib/modules/версия-ядра/misc/vmnet.*
- в версии 1 забыли "depmod -a"
- задать порт управления консолью/порт авторизации (902)
и открыть доступ к нему в iptables
- в версии 1
перезапускается xinetd (номер порта
вписывается в /etc/services и /etc/xinetd.d/vmware-authd);
если он кем-то занят, то надо разобраться с мерзавцем
- в версии 2 задать порт для управления по HTTP (8222) и HTTPS (8333)
и открыть доступ к ним в iptables
- в версии 2 задать первого администратора
- в версии 1 сборка и установка VmPerl (требуется gcc):
/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/VMware и др.,
/usr/share/man/man3/VMware*
- в версии 1 генерация SSL сертификата для apache
- указание каталога для хранения файлов виртуальных машин
("/var/lib/vmware/Virtual Machines")
- ввести серийный номер
- установка VMware VIX API (из /usr/lib/vmware/vmware-vix/api/vix-perl.tar.gz
или /usr/lib/vmware/vix-perl.tar.gz
в /usr/bin/, /usr/lib/vmware-vix/lib/, /usr/share/doc/vmware-vix
(инструкция по вскрытию банки находится внутри банки);
в F10 нет 32-битной версии perl-ExtUtils-Embed, поэтому не собирается)
- в версии 1 запускается vmnet-bridge (vmnet-natd, vmnet-netifup,
vmnet-dhcpd - падает в F10 - не нравится range),
модуль vmnet (/lib/modules/версия-ядра/misc/vmnet.*,
/dev/vmnet?, /proc/vmnet/bridge0, /proc/vmnet/hub0.0), а также parport и parport_pc
- в версии 2 запускаются
- монитор ВМ (vmmon)
- коммуникационный интерфейс (vmci)
- его сокет (vsock)
- виртуальная сеть
- модуль vmnet
- vmnet-bridge (-d /var/run/vmnet-bridge-0.pid -n 0 -i ethX)
- vmnet-natd (vmnet8) и его vmnet-dhcpd (если сконфигурирован)
- vmnet-netifup для хост-сети (vmnet1, /dev/vmnet1, адрес .1) и его
vmnet-dhcpd (-cf /etc/vmware/vmnet1/dhcpd/dhcpd.conf, localdomain с DNS на .1)
- сервер аутентификации (vmware-authdlauncher)
- VMware Server Host Agent (vmware-hostd -a -d -u /etc/vmware/hostd/config.xml),
слушает порты 8307 (только на localhost), 8222 и 8333
- VI Web Access (vmware-watchdog, слушает порт 902) и webAccess
(слушает порты 8005 - только на localhost, 8009 и 8308)
- автоматически запускаемые ВМ (/usr/lib/vmware/bin/vmware-vmx на каждую)
- нерешённые проблемы в версии 2 на F10:
- пробежаться по всем разделяемым библиотекам с "chcon -t texrel_shlib_t"
- проблема с vmware-hostd (отключить SELinux не предлагать - не помогает)
kernel:ld-linux-x86-64: segfault ... in vmware-hostd
kernel:ld-linux-x86-64 general protection ... in vmware-hostd
kernel:ld-linux-x86-64 trap invalid opcode ... in vmware-hostd
ldd /usr/lib/vmware/bin/vmware-hostd
ldd: exited with unknown exit code (139)
ошибка плавающая (пропадает после sync), временами падают и другие программы
(/usr/bin/vmware-mount, /usr/bin/vmware-vdiskmanager,
/usr/lib/vmware/bin/vmware-remotemks)
ldd лечится использованием "setarch x86_64 --addr-compat-layout" при запуске программы
ошибка с ldd исправлена в ядре 2.6.27.21-170.2.56
- не получается аутентифицироваться на http://127.0.0.1:8222
иногда в журнале "Connection to server localhost:8308 failed"
адаптация PAM не помогает
попытка убрать IPv6 не помогла
(отключить модуль ipv6 - "install ipv6 /bin/true" в /etc/modprobe.d/ -
и сервис ip6tables, не нашёл настроек для webAccess; /bin/false?)
в /var/log/vmware/webAccess/proxy.log:
http-8308-2 ... Error processing action request /action/login: Read timed out
также не отзывается http://127.0.0.1:8308/ui/
vmware-authdlauncher не запускает vmware-authd?
- после этого остаётся отвязанный vmware-hostd, который надо убивать вручную
- в HTTPS не принимается клиентский сертификат
SSL Handshake on client connection failed: SSL Exception:
- не останавливается VI WebAccess (это он зависает на пару минут, надо просто подождать)
- зависает на втором старте autostart virtual machines (vmware-vimsh=vmware-hostd,
/usr/lib/vmware/bin/vmware-vimsh -r -n -e hostsvc/connect localhost 902;
hostsvc/login; hostsvc/autostartmanager/autostart)
- сервис vmware автозапускается в состояниях 2, 3 и 5 (/etc/rc.d и т.д.)
- отредактировать /etc/vmware/config (наложить ограничения на создание ВМ (см. ниже),
например, создание ВМ для только для членов группы vmware)
- /dev/shm рекомендуется сделать больше, чем размер ОП (mount -o remount,size=4G /dev/shm;
или в /etc/fstab добавить size=4G) и перенести временные файлы из /tmp в /dev/shm
(в /etc/vmware/config добавить tmpDirectory="/dev/shm")
- установка VMware Management Interface в версии 1 или
VMware Infrastructure Web Access в версии 2
- установка консоли управления
VMware Server Console для сервера версии 1
или VMware Remote Console для сервера версии 2
- установка консоли и API на компьютер администратора для сервера версии 1 (FC3/FC6)
- развернуть VMware-server-linux-client-1.0.1-29996.zip:
VMware-server-console-1.0.1-29996.i386.rpm, VMware-VmPerlAPI-1.0.1-29996.tar.gz,
VMware-vix-1.0.1-29996.tar.gz
- установка консоли управления VMware Server
- установка API (требуется наличие gcc, только 32-битная версия)
- развернуть VMware-VmPerlAPI-1.0.1-29996.tar.gz
(VMware VIPerl Toolkit 1.6.0 - VMware-VIPerl-1.6.0-104313.x86_64.tar.gz)
- cd vmware-api-distrib
- запустить ./vmware-install.pl
- принять лицензию
- настроить каталоги установки
- /etc/vmware-api: locations, installer.sh
- usr/bin/vmware-uninstall-api.pl
- /usr/lib/vmware-api (SampleScripts/ содержит примеры использования,
особенно vmware-cmd)
- /usr/share/doc/vmware-api (пусто)
- /usr/share/man/man3/VMware::*
- /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/[auto/]VMware/
- развернуть VMware-vix-1.0.1-29996.tar.gz
- cd vmware-vix-distrib
- запустить ./vmware-install.pl
- принять лицензию (где-то я это уже видел ;)
- /etc/vmware-vix: locations, installer.sh
- /usr/lib/libvmware-vix.so.0.0.0, /usr/lib/libvmware-vix.so.0, /usr/lib/libvmware-vix.so
- /usr/bin/vmware-uninstall-vix.pl
- /usr/share/doc/vmware-vix/documentation.txt (пусто)
- /usr/include/vmware-vix: vix.h, vm_basic_types.h
- /usr/lib/pkgconfig/vmware-vix.pc
- проделать дырки в сетевых экранах
- настроить консоли (отключение обновления, перехватывать ввод по нажатию клавиши,
освобождение ввода по Ctrl-Shift-Alt)
- настроить хост в консоли (где хранить ВМ, установить размер резервируемой под ВМ памяти
(требуется больше, чем сумма размеров ВМ (на треть?); если предстоит запуск 64-битных ВМ,
то сделать ещё запас), запретить её свопирование,
запретить создание снимков в фоновом режиме) и MI (порядок загрузки ВМ)
- обеспечение запуска консоли из MI (32-битная консоль не запускается из-под 64-битного браузера):
- создать скрипт /usr/local/bin/vmware-server-console-helper.sh
#!/bin/sh
/usr/bin/vmware-server-console -o $1 > /dev/null 2>&1;
- chmod ugo+x /usr/local/bin/vmware-server-console-helper.sh
- создать скрипт /usr/local/bin/vmware-vms-helper.sh
#!/bin/sh
/usr/bin/vmware -o $1 > /dev/null 2>&1;
- chmod ugo+x /usr/local/bin/vmware-vms-helper.sh
- при первом нажатии символа запуска консоли в MI задать вместо сохранения в файл
запуск /usr/local/bin/vmware-server-console-helper.sh или /usr/local/bin/vmware-vms-helper.sh
(в зависимости от того, где мы запустили браузер) для типа application/x-vmware-console
- создание виртуальной машины, например, для консолидации старых серверов:
- создать отдельного пользователя в отдельной группе, добавить его в группу vmware
- как обеспечить ему доступ к X-серверу администратора для работы консоли с сервера
(или пользоваться только удалённой консолью?)
- добавить строку "export XAUTHORITY=/home/archive/.Xauthority" в его .bash_profile
- после каждого захода на хост копировать /home/своё-имя/.Xauthority в /home/archive/.Xauthority
(в первый раз установить правильного владельца)
- создать ВМ (Custom):
- Linux
- RHEL4
- задать имя и месторасположение файлов
- один процессор
- ВМ является частной
- 512 MB памяти
- сетевой мост
- LSI Logic SCSI
- создать новый виртуальный диск: SCSI, 40GB, сделать сразу, не разбивать на куски
- настроить ВМ из консоли:
- описание
- настроить диск: independent с сохранением изменений, кеширование записи
- CD-ROM: не подключать при включении ВМ
- Floppy: не подключать при включении ВМ
- по нажатию кнопок управления питанием включать/выключать гостевую ОС, а не ВМ
- запретить снимки
- при запуске хоста включать ВМ; при завершении работы хостовой ОС завершать работу гостевой ОС
- задать в .vmx полюбившийся MAC-адрес (возможно придётся удалить сгенерированные строчки):
ethernet0.address = 00:50:56:XX:XX:XX
- если процессор имеет поддержку NX, то в файл .vmx надо занести строку 'paevm="true"'
- включение виртуальной машины и настройка BIOS (время в GMT, доступ к большим дискам "Other",
загрузка по сети для установки ОС)
- установка гостевой ОС (рекомендуется установка Linux в текстовом режиме или
переход в полноэкранный режим; RH6 - RH9 только в текстовом режиме, X устанавливать только после
установки VMware Tools (1152x864 или ниже), могут быть проблемы при установке следующего CD-ROM,
рекомендуется загружаться с nosysinfo;
RH62 не работает на P4;
отложить активацию MS Windows XP;
рекомендуется отключить хранитель экрана в гостевой ОС)
- установка VMware Tools в гостевой ОС
- активация MS Windows XP (если она устанавливалась в качестве гостевой ОС,
после этого менять конфигурацию ВМ не рекомендуется)
- решение проблемы с неправильным ходом часов
(решена в ядре 2.6.18; вкратце, чтобы не убегали: поставить clock=pit или notsc при загрузке,
обязательно д.б. установлена VMware Tools; чтобы не тормозили:
nosmp noapic nolapic при загрузке или пересобрать ядро гостевой ОС с 100 HZ)
- установка приложений
Аутентификация пользователя при подключении консоли или 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 = "имя-файла"
Журналы:
- журнал виртуальной машины имяВМ.log находится в том же каталоге, что и имяВМ.vmx
(версия 2: vmware-имяВМ.log)
- журнал событий находится находится в файле event-путьВМ.vmx.log в /var/log/vmware (XML)
- журнал консоли ui-пид.log (версия 2: vmrc-пид.log) в /tmp/vmware-имяпользователя
- журнал интерфейса управления MI - /var/log/vmware-mui: error_log, access_log, ssl_engine_log,
ssl_request_log (обычные журналы apache)
- журнал авторизации в /var/log/vmware, предварительно необходимо включить в /etc/vmware/config
(не получилось ни vmauthd, ни authd; попробовать vmware-authd?)
- vmauthd.logEnabled = TRUE
- log.vmauthdFileName = "vmauthd.log"
- pref.hardLimitDebug = 2
- журнал регистрации vmware-serverd.log (версия 2: hostd-номер.log) в /var/log/vmware
- журнал доступа к вебсерверу в версии 2: /var/log/vmware/WebAccess
- журнал аутентификации в версии 2: /tmp/vmware-root/authdlauncher-пид.log
- журналы установки /etc/vmware/locations, /etc/vmware-mui/locations и
/etc/vmware-server-console/locations (версия 1)
Позволяет управлять большим количеством ВМ через веб-интерфейс.
В качестве клиента используется обычный браузер (Firefox 1.5 и выше (firefox -no-remote в моём окружении),
Mozilla 1.7.13 недостаточно хорош,
konqueror 3.5.3 работает плоховато, epiphany в моём окружении не запускается).
При подсоединении на порт 8333 сервера (по умолчанию используется SSL,
можно подключиться к порту 8222 без SSL после изменения настройки) и ввода имени пользователя и пароля
позволяет (некоторые управляющие действия вызывают выдачу сообщений и запросов, на которые надо ответить,
иначе работа ВМ блокируется):
- загрузить консоль для требуемой архитектуры (Lin/Win) для дальнейшей установки
- посмотреть количество CPU, их загрузку всеми ВМ, другими задачами и общую загрузку
(среднее за 5 минут)
- посмотреть объём памяти и её использование ВМ, другими задачами и общую загрузку
(среднее за 5 минут)
- для каждой зарегистрированной ВМ, к которой есть права доступа:
- показывает долю загрузки реального процессора и объём используемой памяти
- показывает время работы данной ВМ
- позволяет запустить консоль управления (настройка браузера - см. выше)
- можно управлять ВМ непосредственно из MI: запустить, остановить, приостановить, сбросить
- можно открыть окно управления этой ВМ (properties) и настройки (options)
- более подробная статистика загрузки процессора и памяти (минимумы и максимумы)
- статус, время работы, наличие VMware Tools, доступность (heartbeat), IP адрес
- сконфигурированное число процессоров и объём памяти, предполагаемая ОС, имя конфигурационного
файла
- кто подключился удалённой консолью к этой ВМ (локальные подсоединения не показываются)
- права доступа текущего пользователя к этой ВМ
- список последних 15 событий (включение, выключение, сообщения оператору),
извлекается из файла журнала ВМ на хостовой системе
- настройка параметров:
- экранное имя
- предполагаемый тип гостевой ОС
- имя файла для сохранения состояния при паузе
- запись журнала
- отладочная печать
- включать ли ВМ при запуске хоста, интервал перед запуском следующей ВМ
- выключение ВМ или гостевой ОС или приостановка работы ВМ при выключении хостовой ОС,
максимальное время ожидания перед остановкой следующей
- большой список дополнительных параметров: MAC адрес, всё что можно указать при создании ВМ
и даже можно добавить свой параметр (предполагается хорошее знание формата файла .vmx)
- изменить настройки сервера (требуется регистрация под именем root):
- разрешить или запретить загрузку и выгрузки ВМ или гостевых ОС при загрузке и выгрузке
хостовой ОС
- задать очерёдность загрузки ВМ и интервал между ними или ожидание запуска VMware Tools
- максимальное время ожидания выгрузки гостевой ОС перед остановкой следующей
- использование SSL при доступе к серверу из консоли и браузера
- настройку виртуальной сети (только возможность дать имена, требуется для VirtualCenter)
Установка VMware Management Interface на сервере CentOS 4.4/5.1
(удаление - /usr/bin/vmware-uninstall-mui.pl)
- требуются библиотеки X Window,
в частности - libXpm, libXi, libXi-devel, gtk2-devel нужной битности!);
иначе на F10 падает с сообщением о неправильной теме Clearlooks (VMWARE_USE_SHIPPED_GTK=1)
- распаковка сервера MUI из .tar.gz (требуется libdb.so.3 из compat-db-*.rpm)
- bin (программы установки, настройки и удаления)
- etc
- doc (тексты лицензий)
- mui (сервер MUI)
- console-distrib (содержит VMware-console-1.0.1-29996.exe,
VMware-server-console-1.0.1-29996.i386.rpm, VMware-server-console-1.0.1-29996.tar.gz)
- cd vmware-mui-distrib
- запустить ./vmware-install.pl
- принять лицензию
- указать каталог для установки программ(/usr/bin) - vmware-config-mui.pl, vmware-uninstall-mui.pl
- указать каталог для rc?.d (/etc/rc.d) - /etc/rc0.d/[KS]??httpd.vmware
- указать каталог для скрипта инициализации (/etc/rc.d/init.d) - /etc/init.d/httpd.vmware
- указать каталог для установки apache и пр. (/usr/lib/vmware-mui) и подкаталоги
- указать каталог для документации (/usr/lib/vmware-mui/doc в /usr/share/doc/vmware-mui)
- настроить с помощью vmware-config-mui.pl параметры apache и создать SSL сертификаты
- создаются пустые файлы /etc/vmware/netmap.conf и /etc/vmware/vm-list
- создаётся каталог /etc/vmware-mui/ (в каталоге ssl создаётся самодельный сертификат в виде
файлов mui.crt и mui.key - установить права на чтение только для суперпользователя,
поправили в 1.0.3)
- создаётся каталог /root/.vmware/ (в каталог ssl можно поместить собственный сертификат в виде
файлов mui.crt и mui.key - установить права на чтение только для суперпользователя!)
- создаются каталоги /var/log/vmware/ и /var/log/vmware-mui/
- запускается httpd.vmware (/etc/httpd/run/httpd.vmware.pid, порты 8222 и 8333)
и vmware-serverd (/etc/httpd/run/vmware/ - httpd, root, serverd-rendezvous, vmware%2Dserverd -
толпа сокетов и пайпов)
- сервис httpd.vmware автозапускается в состояниях 3 и 5 (/etc/rc.d и т.д.)
- проделать дырки в сетевых экранах
VMware Infrastructure Web Access (VI Web Access) заменяет в версии 2
VMware Management Interface. Позволяет
- создавать и удалять виртуальные машины
- редактировать параметры виртуальной машины
- добавлять и удалять виртуальные машины из описи (inventory)
- можно управлять ВМ непосредственно из VI: запустить, остановить, приостановить, сбросить
- мониторинг состояния ВМ
- настраивать права доступа пользователей к VI
- настраивать параметры сервера
В качестве клиента используется обычный браузер - Firefox 2.0 и выше
(firefox -no-remote в моём окружении), IE 6 и выше.
Требуется включить JavaScript, XMLHttpRequest и cookies.
Для управления виртуальными машинами может использоваться 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 - для установки на компьютер администратора)
- установка rpm
- /etc/vmware-server-console/
- config
- libdir = "/usr/lib/vmware-server-console"
- authd.client.port = номер-порта-к-которому-подключаться-на-сервере
- locations (журнал установки)
- installer.sh (?)
- /usr/bin (vmware-config-server-console.pl, vmware-server-console)
- /usr/lib/vmware-server-console/
- config (см. /etc/vmware-server-console/config)
- ...
- /usr/share/man/man1/vmware-server-console.1.gz
- запустить vmware-config-server-console.pl (принять лицензию)
- ln -s браузер /usr/bin/netscape (для чтения справок запускается браузер на компьютере
администратора)
- проделать дырки в сетевых экранах
Программа графическая, поэтому если вы запускаете её с удалённого компьютера,
то для входа на этот компьютер необходимо использовать ssh с ключом -Y.
При запуске vmware-server-console без параметров запрашивает имя-хоста[:порт],
имя пользователя и пароль (или локальное соединение, если запускаем её на сервере).
Параметры:
- -x (включить ВМ при подсоединении)
- -q (закрывать консоль, если гостевая ОС выключает ВМ)
- -s имя-параметра=значение
- имя-конфигурационного-файла
~/.vmware/preference содержит настройки для данного пользователя
- строка, начинающаяся с '#', является комментарием
- authd.client.port = номер-порта-к-которому-подключаться-на-сервере
- webUpdate.checkPeriod = "manual" (не проверять наличие обновлений на сайте компании)
- pref.webBrowser = "полный-путь-к-программе"
Настройка консоли осуществляется вызовом из меню "Edit -> Preferences" (^P):
- запоминать хосты и имена пользователей для подключения к серверам
- запоминать открытые ВМ между сессиями
- интервал обновления консольного софта
- момент перехвата ввода с мышки и клавиатуры: по клику мышки, по нажатию клавиши,
по входу курсора в окно, по выходу курсора из окна (для некоторых способов требуется
установка VMware Tools)
- разрешать copy/paste между консолью и ВМ (могут быть проблемы с безопасностью)
- изменить комбинацию клавиш для переключения между гостевой и хостовой ОС
(по умолчанию Ctrl-Alt)
- разрешить автоматическое изменение размера окна при изменении разрешения виртуального дисплея
- разрешить автоматическое изменение разрешения виртуального дисплея при изменении размера окна
Настройка хоста осуществляется вызовом из меню "Host -> Setting"
(только если подсоединилось под именем root с другого хоста):
- имя каталога, в котором будут создаваться ВМ на хосте
- сколько памяти хоста можно резервировать подо все ВМ
- управление приоритетом процесса ВМ для активного и неактивного окна (только под MS Windows)
- управление подкачкой: запретить, разрешить немного, разрешить много
- делать снимки состояния в фоновом режиме (для использования таких снимков придётся
перезапускать ВМ)
- использовать SSL для связи консоли с хостом
Для включения ВМ необходимо выбрать нужную ВМ в консоли и нажать PowerOn.
После включения ВМ её можно остановить, приостановить (нельзя изменять конфигурацию ВМ до возобновления
работы; позволяет осуществлять резервирование открытых БД), сбросить, сделать снимок состояния,
вернуться к снимку состояния и удалить его.
Работа ВМ продолжается и после закрытия окна или
завершения работы консоли. В одном окне консоли может быть много ВМ (переключаются по закладкам),
можно открыть несколько окон в одной консоли или запустить несколько консолей.
Чтобы передать управление клавиатурой и мышкой ВМ необходимо
кликнуть в экран ВМ (движение мышки при этом ограничивается экраном ВМ, если не используется vmware-tools).
Чтобы вернуть управление надо нажать Ctrl-Alt (можно изменить в настройках на Ctrl-Alt-Shift -
это позволит переключать виртуальные консоли в Linux по стандартным Ctrl-Alt-n).
Если окно консоли является активным, но управление клавиатурой не передано ВМ, то необходимо
быть осторожным с "горячими" клавишами:
- ^B - включить текущую ВМ
- ^E - выключить текущую ВМ (чтобы гостевая система получила извещения
необходимо настроить (^D) действие кнопки Shut Down на отключение гостевой ОС)
- ^Z - приостановить работу ВМ или продолжить с момента остановки
- ^R - сброс ВМ
- ^D - настройка ВМ
- ^G - передача управления клавиатурой и мышкой ВМ
- ^N - создать ВМ
- ^O - открыть ВМ
- ^F4 - закрыть ВМ
- ^Q - завершить работу консоли (не вызывает завершение работы ВМ)
- ^P - настройка консоли
- Ctrl-Alt-Enter - переход в полноэкранный режим (сильно ускоряет выполнение
графических операций (особенно в режиме VGA - прямое использование видеоконтроллера),
но иногда теряет курсор при возврате);
разрешение хостовой системы подстраивается под гостевую (XF86VidMode), если возможно;
для возврата надо вернуть управление мышкой хостовой системе (в оконном режиме SVGA эффективнее,
чем VGA)
- F11 - режим быстрого переключения между ВМ: почти полноэкранный режим, но вверху экрана
расположена полоска закладок для переключения между ВМ; если курсор повести ещё выше, то
появляется меню консоли
- Ctrl-Alt-Tab или Ctrl-[Shift-]Tab - переход к следующей ВМ (фокус захвачен или не захвачен)
- Ctrl-Alt-Fx - переход к нужной ВМ
В 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):
- процессор - Intel Pentium II или AMD Athlon или лучше в зависимости от реального,
поддержка SMP (до 2 CPU), для поддержки x86_64 требуется "хороший" реальный процессор
(Intel IVT, AMD Opteron E и выше, AMD Athlon 64 D и выше) и поддержка в BIOS;
если процессор имеет поддержку NX, то в файл .vmx надо занести строку 'paevm="true"'
перед установкой гостевой ОС
- НМС - Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX, Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01),
NS338 SIO, 82093AA IOAPIC
- BIOS - PhoenixBIOS 4.0 Release 6 с VESA, DMI, SMBIOS
(для настройки нажать F2 при включении ВМ, для сетевой загрузки - F12)
- до 3600МБ памяти в версс 1 и до 8 \ГБ памяти в версии 2
- VGA и SVGA (VMware SVGA II, имеется специальный драйвер vmware_drv.o для X Windows;
4, 8, 15, 16, 24 или 32 бита в зависимости от хостовой системы; визуальные эффекты в гостевой ОС
рекомендуется отключить)
- виртуальные (до 950GB) или реальные (только в версии 1) ATA диски (до 4)
- реальные (хоста или клиента) или виртуальные (.iso файл) CD/DVD-ROM (VMware Virtual IDE CDROM Drive),
DVD-Video не поддерживается
- реальные (только в версии 1) и до 60 (до 7?) виртуальных SCSI дисков
(размер до 950GB) на 4 виртуальных контроллерах
(Mylex/BusLogic BT-958 (в RHEL4 нет драйвера, в RH9 плохо работает),
LSI53C1030 (PCI-X Fusion-MPT Dual Ultra320 SCSI, VMware Virtual SCSI));
предраспределённый виртуальный или реальный SCSI диск может разделяться между ВМ
(необходимо установить
соответствующие программы (SCSI-2 reservation) в гостевые ОС)
- generic SCSI устройства - прямой доступ гостевой ОС к реальному SCSI устройству
- до 4 (до 10 в версии 2) виртуальных Ethernet (AMD 79c970 (PCnet-PCI II LANCE), pcnet32;
заменяется на vmxnet при установке VMware Tools; mii-tool и ethtool не поддерживаются
ни pcnet32, ни vmxnet; PXE ROM 2.0 (можно использовать для сетевой установки,
заливки образа или работы бездискового клиента;
для 64-битных гостевых систем эмулируется Intel Pro/1000 MT,
рекомендуется отключить аппаратную поддержку контрольных сумм и пр.)
- до 9 (255 в версии 2) виртуальных коммутаторов
(3 предустановлены для NAT, host-only и мостового соединения)
- 6 виртуальных PCI (управления не обнаружил), каждый виртуальный SCSI контроллер,
сетевой контроллер, VGA, звуковая карта занимает виртуальный PCI слот
- реальные (только хоста, захватываются монопольно) или виртуальные (образы дискет) НЖМД
- виртуальные последовательные (COM) порты (до 4), вывод в настоящий порт, файл или канал
- виртуальные параллельные (LPT) порты
- виртуальные USB порты (1.1 UHCI в гостевой системе; до 2 штук;
2.0 в версии 2 (сами виртуальные машины должны быть версии 6 или 7);
можно использовать USB 2.0 устройства в хостовой системе;
специфические драйвера в хостовой системе не нужны;
потоковые устройства - модемы, вебкамеры - не работают; хабы в гостевой системе не видны;
клавиатуры и мышки воспринимаются как виртуальные PS/2 клавиатуры и мышки;
только одна ОС может иметь доступ к каждому USB устройству)
- виртуальная мышка
- виртуальная клавиатура 104 (может понадобиться установить в true переменную
xkeymap.usekeycodeMapIfXFree86 (или xkeymap.usekeycodeMap) в .vmx или ~/.vmware/config
в хостовой ОС; возможно также переопределить коды клавиш; см. также /usr/lib/vmware/xkeymap/
и /usr/lib/vmware-server-console/xkeymap/)
- звуковая карта, совместимая с Creative Technology Sound Blaster Audio PCI
(только PCM ввод и вывод; ES1371?)
Набор файлов хостовой системы, представляющий ВМ
(в каталоге /var/lib/vmware/Virtual\ Machines/имяВМ):
- имяВМ.vmx - конфигурация ВМ, это текстовый файл, полезные параметры:
- virtualHW.version = 4 (для VMware Server 1) и 7 (для VMware Server 2)
- memsize = "512"
- scsi0.present = "TRUE" (виртуальный SCSI контроллер)
- scsi0.virtualDev = "lsilogic"
- scsi0:0.fileName = "файл-дескриптор-виртуального-диска"
- scsi0:0.writeThrough = "TRUE" (без кеширования записи)
- ide1:0.present = "TRUE" (подключение CD/DVD)
- ide1:0.fileName = "/dev/hda"
- ide1:0.deviceType = "cdrom-raw"
- powerType.powerOff = "hard" (можно извещать гостевую ОС?)
- Ethernet0.present = "TRUE" (сетевая карта и её адрес)
- ethernet0.addressType = "generated"
- ethernet0.generatedAddress = "MAC:адрес"
- ethernet0.generatedAddressOffset = "0"
- ethernet0.noForgedSrcAddr = TRUE (запретить гостевой ОС менять MAC адрес при передаче)
- ethernet0.noPromisc = TRUE (запретить гостевой ОС прослушивать чужой трафик)
- ethernet0.downWhenAddrMismatch = TRUE (запретить гостевой ОС менять MAC адрес при передаче и
приёме)
- uuid.bios = "56 4d .. .. .. .. .. ..-.. .. .. .. .. .. .. .."
(UUID; показывается в утилитах работы с SMBIOS: dmidecode)
- uuid.location = "56 4d .. .. .. .. .. ..-.. .. .. .. .. .. .. .." (ещё один UUID?)
- autostart = "poweron" (включение ВМ при включении хостовой системы?)
- tools.syncTime = "FALSE" (синхронизация времени хоста и ВМ)
- isolation.tools.log.disable = TRUE (не записывать информацию о событиях в журнал)
- isolation.tools.copy = FALSE (запретить копирование из ВМ в буфер консоли)
- isolation.tools.paste = FALSE (запретить копирование из буфера консоли в ВМ)
- имя-устройства.allowGuestConnectionControl = FALSE (запретить подключение/отключение
устройства из ВМ)
- nvram - содержимое CMOS, хранящей настройки BIOS
- имяВМ.vmdk - описание виртуального диска и имена остальных файлов;
при использовании реальных дисков для гостевой ОС в этом файле храниться описание реального
диска или раздела
- имяВМ-flat.vmdk - содержимое виртуального диска; может быть много, если при создании ВМ было
решено разбивать диски на куски по 2 ГБ (имена вида: имяВМ-f123.vmdk или имяВМ-s123.vmdk)
- имяВМ.vmdk.REDO_xxxxxx - изменения содержания виртуального диска для независимых дисков,
сбрасываемых по выключению ВМ (в т.ч. для реальных дисков), расположение рабочего каталога,
в котором хранится этот файл можно менять в настройках
- имяВМ.vmss - состояние виртуальной машины в неактивном (suspended) режиме,
необходим для возобновления работы; расположение файла можно изменять в настройках ВМ
- имяВМ-*.vmem - снимки состояния ВМ
- имяВМ.vmsn - снимок ВМ
- имяВМ.log - журнал последнего сеанса
- временные файлы при работе ВМ (в частности, содержимое виртуальной ОП)
- .WRITELOCK - файл, используемый для блокировки одновременного доступа к виртуальному диску
двух и более ВМ
Для копирования (клонирования) виртуальной машины необходимо скопировать
весь набор файлов в другой подкаталог (желательно их переименовать в соответствии с именем новой ВМ),
переименовать виртуальный диск утилитой vmware-vdiskmanager (см. ниже).
Каждая ВМ должна иметь уникальный UUID (128 бит), так что UUID копии ВМ необходимо изменить в файле .vmx
(при первом запуске после перемещения или копирования задаётся вопрос).
UUID (переменная uuid.bios) доступен с помощью любой утилиты чтения SMBIOS (dmidecode),
генерируется из UUID хоста и месторасположения файла .vmx.
После копирования виртуальная машина ищется в Inventory -> Open -> Browse.
Для создания ВМ необходимо запустить консоль
и нажать "File" -> "New" -> "Virtual Machine" (или нажать ^N). Методы создания:
- метод Typical позволяет
- задать тип гостевой ОС (проверяется, может ли хостовая система
поддерживать 64-битную ОС)
- имя ВМ и расположение её файлов
- тип сетевого соединения
- размер виртуального диска и необходимость делить его на куски в 2GB,
сразу выделять место под виртуальный диск или по мере необходимости (очень медленно)
- метод Custom позволяет дополнительно указать
- число CPU
- размер ОП (в реальности используется на 5-10% больше)
- поменять тип диска (для Linux рекомендуется SCSI, для MS Windows требуется специальный SCSI драйвер),
выбрать тип SCSI адаптера (LSI или BusLogic)
- позволить другим пользователям иметь доступ к этой ВМ
- запускать ли ВМ автоматически при загрузке хостовой системы (этого я здесь не нашёл,
но эта возможность обнаружилась в опциях настройки ВМ)
- под какой учётной записью запускать ВМ (только для хостовой ОС MS Windows)
- использовать существующий виртуальный или реальный диск, распределить виртуальные
диски по слотам (не обнаружил?!)
- independent disk mode (нет?! такие диски не включаются в снимки:
изменения либо немедленно записываются на диск или записываются в отдельный файл,
очищаемый при выключении ВМ)
Для настройки параметров ВМ необходимо в консоли нажать "VM -> Setting" (^D):
- настройка оборудования
- изменить размер памяти
- дефрагментировать диск (только для наращиваемого виртуального диска; ВМ необходимо выключать;
предварительно рекомендуется дефрагментировать файловую систему в ВМ,
а после дефрагментировать хостовую файловую систему;
требуется много свободного места на хостовой системе),
изменить адрес диска, перевести его в "независимый" (independent) режим,
разрешить кеширование записи (сильно ускоряет работу)
- изменить параметры CD-ROM: использовать реальный CD-ROM
(хоста или клиента, на котором запущена консоль)
или указанный .iso файл (медленно, загружает процессор хоста; если CD/DVD не нужен,
то его лучше отключить совсем);
использовать протокол IDE или SCSI (независимо от типа реального устройства;
(для обеспечения возможности записи на CD/DVD необходимо подключать его к виртуальному
SCSI контроллеру (или обеспечить соответствие типа устройства?);
загружаться можно только с IDE устройства);
адрес устройства (нельзя использовать IDE Slave, если не задействован IDE Master на том же канале);
присоединять ли устройство при включении ВМ; источник можно изменять не выключая ВМ;
динамически отсоединить или присоединить устройство; режим совместимости
(не нужен модуль ide-scsi, но нельзя записывать, читать многосессионные диска, CD-DA, DVD);
права доступа и арбитраж?
- изменить параметры НГМД: использовать реальный НГМД или указанный файл (здесь же его можно создать),
присоединять устройство при включении ВМ; источник можно изменять не выключая ВМ;
динамически отсоединить или присоединить устройство
- тип сетевого подключения (можно изменять не выключая ВМ)
присоединять устройство при включении ВМ;
динамически отсоединить или присоединить устройство
- тип мышки
- число CPU
- изменить параметры последовательного порта (можно без выключения ВМ) - реальный,
в файл или в поименнованный канал (ВМ является сервером или клиентом,
другой конец уходит в другую ВМ или приложение); в режиме прерываний или опроса
- изменить параметры параллельного порта - реальный или в файл
- добавить или удалить устройство (при удалении виртуального диска файлы *.vmdk не удаляются)
- НЖМД
- виртуальный ATA или SCSI диск (файл на ATA или SCSI диске, CD-ROM или DVD-ROM,
NFS или другой сетевой файловой системе - не советую): задаётся размер,
необходимость делить его на куски в 2GB (изменить нельзя),
сразу выделять место под виртуальный диск
или по мере необходимости (очень медленно), можно задать один из "независимых" режимов,
можно указать имя файла (.vmdk, необходимо изменить при перемещении файла)
- существующий виртуальный диск (например, при организации учебного класса можно создать
один общий виртуальный диск, а для ВМ студентов назначить его в незасисимом режиме
с очищением при выключении ВМ), необходимо указать имя .vmdk файла с описанием диска
- реальный диск или разделы реального диска (загрузка уже установленной ОС возможна
только с ATA диска); .vmdk файл с описанием диска всё равно необходим;
нельзя редактировать таблицу разделов с помощью гостевой ОС;
после редактирования разделов с помощью хостовой ОС необходимо пересоздать
соответствующий виртуальный диск; нельзя монтировать раздел в хостовой ОС;
необходимо озаботиться о правильных правах к устройству (права на чтение и запись для
пользователя, запускающего ВМ)
- DVD/CD-ROM (можно при включённой ВМ;
число ограничивается только числом виртуальных IDE или SCSI каналов;
рекомендуется отключить, если не используется)
- флоппи (можно при включённой ВМ;
перед добавлением второго дисковода необходимо добавить его поддержку в BIOS
и выключить ВМ), здесь же можно создать пустой образ дискетки
- ethernet (можно при включённой ВМ)
- звуковая карта
- USB контроллер
- USB устройства (можно при включённой ВМ;
подключение/отключение виртуального устройства к реальному осуществляется в меню консоли
VM -> Removable Devices -> USB Devices;
после подключения устройство должно быть недоступным в хостовой или другой гостевой системе;
способ освобождения зависит от ОС - отключить в /etc/hotplug/ и выгрузить модуль)
- последовательный порт (до 4 штук, подсоединённых к реальным портам (/dev/ttyS0, COM1),
хостовым файлам на вывод, между ВМ и хостовым приложением (именованный сокет),
между двумя ВМ (одна ВМ выводит в сокет, другая считывает из него);
возможна работа порта в режиме опроса с оптимизацией использования CPU)
- параллельный порт (до 3 штук, подсоединённых к реальным портам или хостовым файлам;
в хостовой системе требуются модули parport_pc (не lp!) и ppdev (CONFIG_PARPORT_PC);
необходимо позаботиться о правах доступа владельца ВМ к устройству /dev/parport0;
эмуляция не полная - прерывания не передаются ВМ, нет поддержки DMA)
- обобщённое SCSI устройство - виртуальное SCSI устройство в гостевой системе
привязывается к реальному SCSI устройству (возможно, что придётся занести описание устройства
в .vmx файл - /dev/sgX; необходимо самостоятельно позаботиться, чтобы не использовать
одновременно sg интерфейс к устройству и обычный доступ;
необходимо позаботиться о правах доступа - rw - владельца ВМ к устройству /dev/sgX)
- опции
- имя ВМ
- тип гостевой ОС и версия (на что это влияет?)
- где хранить снимки и временные файлы
- включать ВМ сразу при подсоединении
- закрывать консоль после выключения ВМ или перевода в режим ожидания
- переходить в полноэкранный режим при включении
- что делать при нажатии кнопок управления питанием (PowerOn, ShutDown, Suspend, Reset) -
включать/выключать ВМ или гостевую ОС (вызываются скрипты из VMware Tools)
- заблокировать сделанный ранее снимок
- при выключении ВМ вернуться к снимку
- приватность ВМ
- включать/выключать ВМ или гостевую ОС при включении/выключении сервера
- включить отладочную печать (сильно замедляет работу)
- отключить ускорение исполнения (помогает в борьбе с программами, отказывающимися испольняться
под отладчиком
Снимки состояния можно делать во включённом состоянии ВМ,
выключенном состоянии или приостановленном состоянии - только надо дождаться завершения приостановки.
Могут быть проблемы при возврате, если в момент снимка ВМ активно взаимодействовала с другими компььютерами.
В снимок входит состояние ВМ, содержимое памяти и диска (изменения содержимого диска
записываются в новый файл .vmdk, размер которого соответственно увеличивается), конфигурация и настройки.
При удалении снимка все изменения содержимого виртуального диска сливаются
в основной файл виртуального диска или на реальный диск.
При откатке к снимку состояния файл с изменениями содержимого диска удаляется,
новые изменения опять пишутся в файл изменений.
VMware Server поддерживает только один снимок ВМ - новый снимок замещает предыдущий,
новые изменения опять пишутся в файл изменений.
Никто не мешает сделать дополнительные снимки копированием файлов ВМ (предварительно выключив её).
При использовании "независимых" дисков можно делать снимок только при выключенной ВМ.
Состояние незасисимых дисков не сохраняется в снимках (информация либо изменяется непосредственно
на виртуальном/реальном диске или записывается во временный файл, который удаляется при выключении ВМ).
При необходимости достижения максимальной скорости надо выключить ВМ, удалить текущий снимок
(в консоли: Snapshot -> Remove Snapshop) и запретить использование снимков в настройках ВМ.
Для надёжности можно перевести диски в независимый режим с непосредственной записью.
В настройках можно также заблокировать текущий снимок от случайных изменений и задать возврат
к снимку при выключении ВМ. В настройках сервера можно указать создание снимков в фоновом режиме.
Преобразование виртуального диска в хостовой системе производится с
помощью утилиты vmware-loop (работает только в 32-битной системе) для дальнейшего монтирования
- -p имя-.vmdk-файла (вывести список разделов)
- [-r] имя-.vmdk-файла номер-раздела имя-файла-/dev/nbXXX (преобразование виртуальной файловой системы
в сетевую)
Монтирование виртуального диска в хостовой системе производится с
помощью утилиты vmware-mount.pl (интересно, как работать с LVM?):
- имя-.vmdk-файла номер-раздела [-t тип-раздела] [-o опции-монтирования] точка-монтирования
Параметры виртуального диска можно изменить с помощью утилиты
vmware-vdiskmanager на хостовой машине (тип 0 - расширяемый одним куском, 1 - расширяемый порезанный по 2GB,
2 - предварительно создаваемый одним куском, 3 - предварительно создаваемый порезанный по 2GB):
- -c -s размер -a {ide | buslogic | lsilogic} -t тип имя-файла (создать виртуальный диск)
- -d имя-файла (дефрагментировать расширяемый виртуальный диск)
- -n старое-имя-файла новое-имя-файла (переименовать; предварительно необходимо удалить снимки
и откатить изменения, затем удалить виртуальный диск из ВМ)
- -r старое-имя-файла -t тип новое-имя-файла (поменять тип)
- -x новый-размер[GB|MB] имя-файла (увеличить размер; предварительно необходимо удалить снимки
и откатить изменения)
- -p точка-монтирования (только для MS Windows; подготовить раздел виртуального диска для уменьшения;
предварительно необходимо смонтировать раздел с помощью утилиты vmware-mount.pl,
после подготовки - размонтировать; подготавливать диски только по очереди)
- -k имя-файла (только для MS Windows; уменьшить виртуальный диск)
- -q (отключить запись в журнал vmware-vdiskmanager)
Образ заранее распределённого виртуального диска можно поместить на CD/DVD
(но работать будет медленнее)
- соответствующий файл имя.vmdk после установки гостевой ОС и приложений и выключения ВМ необходимо
прожечь на CD/DVD
- в настройках оборудования ВМ (Hardware -> HardDisk) в качестве имени файла виртуального диска
необходимо указать файл на CD/DVD
- перевести диск (Hard Disk -> Advanced) в независимый режим без записи изменений
(independent disk in nonpersistent mode)
- журнал изменений необходимо расположить в обычной файловой системе (Options -> General ->
Working Directory)
- в конфигурационный файл (.vmx) добавить строки
disk.locking = FALSE
nvram = имя-файла-nvram # если предполагается менять настройки виртуального BIOS
nvram.mode = "nonpersistent" # если не предполагается менять настройки виртуального BIOS
Можно уменьшить место, занимаемое файлами виртуального диска, в хостовой системе
(только для наращиваемого виртуального диска, не независимого, не имеющего снимков,
в процессе требуется много свободного места):
предварительно необходимо запустить утилиту vmware-tool в гостевой ОС.
При включении ВМ (выбрать нужную ВМ в консоли и нажать PowerOn) запускается процесс:
/usr/lib/vmware/bin/vmware-vmx -C /var/lib/vmware/Virtual Machines/имяВМ/имяВМ.vmx.
После включения ВМ её можно остановить, приостановить, сбросить, сделать снимок состояния,
вернуться к снимку состояния и удалить его.
ВМ можно запустить командой vmware:
- -v (вывести номер версии и т.п.)
- -h имя-хоста
- -P номер-порта (902)
- -u имя-пользователя
- -w пароль (плохая идея)
- -l (запускать консоль и подсоединяться к локальному серверу)
- -x (автоматически включать ВМ при запуске консоли)
- -X (автоматически включать ВМ при запуске консоли и переводить консоль в полноэкранный режим)
- -m (переводить консоль в режим "быстрого переключения" - почти полноэкранный режим с закладками
для переключения между ВМ)
- -q (закрывать окно ВМ в консоли при выключении ВМ; если это было последнее окно, то закрывать
консоль)
- -s имя=значение (установить значение переменной настройки ВМ)
- имя конфигурационного файла ВМ (.vmx)
- ключи X Toolkit
Счётные задачи выполняются внутри ВМ примерно с той же скоростью, что и во вне.
Скорость работы с диском
вне ВМ (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, то могут быть проблемы)
и правами на исполнение к каталогу, в котором он лежит:
- для получения информации о состоянии виртуальной машины требуются права доступа на чтение
- для запуска и остановки виртуальной машины требуются права доступа на чтение и исполнение
- для конфигурации виртуальной машины требуются права на чтение и запись к файлу .vmx
и ресурсам виртуальной машины (виртуальный диск, снимки, физические диски и устройства)
- для настройки хоста необходимо иметь привилегии суперпользователя
При установке MS Windows XP Pro гостевая ОС пытается обратиться к
- 0.0.0.0.bootpc > 255.255.255.255.bootps
- time.windows.com. (NTPv3)
- 224.0.0.22 (igmp v3)
- wpa.one.microsoft.com.
- SRV _LDAP._TCP.
- 131.107.115.254 (HTTP)
- wpad.имя-домена
Виртуальная машина может быть подключена к сети следующими способами
(при любом типе сетевого подключения гостевая система должна иметь виртуальный сетевой адаптер -
AMD PCnet-PCI II, при загрузке гостевой ОС используется драйвер vlance (pcnet32),
после установки VMware Tools - vmxnet):
- сетевое соединение только с хостовой системой (host only) с помощью отдельного IP сегмента (VMnet1),
для соединения с остальной сетью необходимо настраивать маршрутизацию или NAT на хостовой системе;
в хостовой ОС устанавливается виртуальный Ethernet адаптер (VMware Virtual Ethernet Adapter, MS Windows)
или специальный интерфейс (Linux);
для назначения IP адресов гостевым системам используется собственный (обычный ISC)
DHCP сервер (его необходимо "примирить" с общесистемным);
о DNS необходимо позаботиться самому;
по умолчанию, на хостовой системе поднимается маршрутизация, которую необходимо
либо выключить, либо настроить (в т.ч. всякие gated, routed и т.п.)
- мостовое подключение (bridged networking) с хостовой системой - гостевая ОС получает
отдельный IP адрес из IP сегмента, в котором находится хостовая система, и отдельный MAC адрес;
с точки зрения остальных компьютеров сети выглядит как полноценный компьютер;
в хостовой ОС устанавливается виртуальный мост между реальным сетевым интерфейсом и
виртуальными сетевыми адаптерами гостевых систем (VMnet0);
по умолчанию, все ВМ в одной хостовой ОС подсоединяются к одному виртуальному коммутатору
- NAT - организуется отдельный IP сегмент для соединения гостевой и хостовой систем (VMnet8);
для соединения с остальными узлами сети используется трансляции сетевых адресов (NAT Device
с поддержкой FTP и ICMP); есть возможность перенаправления входных портов;
для остальных компьютеров сети гостевая система неотличима от хостовой;
в хостовой ОС устанавливается виртуальный Ethernet адаптер (VMware Virtual Ethernet Adapter, vmnet8);
для назначения IP адресов гостевым системам используется собственный (обычный ISC)
DHCP сервер (его необходимо "примирить" с общесистемным);
DNS запросы обслуживаются с помощью собственного DNS proxy
- группа виртуальных машин (team), администрируемая одновременно;
не реализована в VMware Server; в дополнение к предыдущим типам соединения
позволяет организовать VPN, изолированную от внешней сети
В дополнение к стандартным виртуальным коммутаторам (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 штук):
- остановить виртуальную машину
- в окне настройки на вкладке оборудования нажать кнопку "Add"
- выбрать тип соединения и подсоединение при включении ВМ
- нажать "Готово"
Способ подключения можно изменить в последующем:
- остановить виртуальную машину
- в окне настройки на вкладке оборудования выбрать сетевую карту
- изменить параметры и нажать "OK"
Настройка виртуальной сети (отражается на всех ВМ!) производится
в 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 - дополнение к гостевой системе, ускоряющее и улучшающее её работу:
- ускорение работы с сетью (vmxnet вместо pcnet)
- демон vmware-guestd
- синхронизация времени между хостовой и гостевой системами (не возвращает время назад)
в определённые моменты времени: снимок, откат к снимку, просыпание
- скрипты для обработки выключения питания, перехода в спячку и т.д.
- регулярное извещение хостовой системы о работоспособности гостевой машины
- передача значения параметра machine.id (задаётся в .vmx или командной строке после ключа -s)
от хостовой ОС к гостевой ОС; принимается командой "vmware-guestd --cmd 'machine.id.get'";
позволяет, например, запускать одновременно несколько ВМ с одним и тем же
виртуальным диском в режиме nonpersistent или передавать имя и IP адрес
- передача сообщений из API в гостевую ОС
- при использовании X Windows
- буфер обмена (для работы необходима запущенная утилита vmware-tools)
- ускорение работы с видео (хотя в состав X Window и без этого входит драйвер vmware_drv)
- разделяемые файлы
- улучшенная работа с мышкой (захват фокуса при пересечении границ окна, настройка
в настройках консоли - ^P; для работы необходима запущенная утилита 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:
- рекомендуется отключить IP6 (NETWORKING_IPV6=no в /etc/sysconfig/network и
"alias ipv6 off","alias net-pf-10 off" в /etc/modules.conf и /etc/modprobe.conf не срабатывают)
- в настройках оборудования ВМ изменить настройки CD-ROM на
образ /usr/lib/vmware/isoimages/linux.iso (входит в состав пакета VMware-server)
или любым другим путём смонтировать этот .iso
- смонтировать /media/cdrecorder ("gnome-mount --device /dev/hdc --mount-point cdrecorder")
- установить пакет VMwareTools из /media/cdrecorder
- /etc/vmware-tools: installer.sh, poweroff-vm-default, poweron-vm-default,
resume-vm-default, suspend-vm-default, tools.conf
- /usr/bin/vmware-config-tools.pl
- /usr/lib/vmware-tools
- размонтировать .iso ("gnome-umount --device /dev/hdc --mount-point cdrecorder")
- для компиляции vmhgfs в FC5 надо поправить архив /usr/lib/vmware-tools/modules/source/vmngfs.tar
(INODE_SET/GET_II в driver.c - заменить u.generic_ip на i_private);
в FC6 нужно что-то ещё? (строка 767 в driver.c); в Fedora 8 не стал компилировать
- для компиляции vmxnet в FC5 в версии 1.0.1 надо заменить в архиве
/usr/lib/vmware-tools/modules/source/vmxnet.tar в файле vmxnet.c
вставку linux/config.h на linux/utsrelease.h
- дальнейшие действия лучше производить из консоли, т.к. в процессе может подменяться сетевая карта
- vmware-config-tools.pl (необходимо перезапускать после каждой смены ядра)
- компиляция при необходимости модуля ядра vmhgfs (разделяемые папки,
ни разу не скомпилировалось без ошибки, игнорирую)
- компиляция при необходимости и загрузка модуля "улучшенной" сетевой карты
(модуль ядра vmxnet: /etc/modprobe.conf); в 1.0.4 не потребовалось -
используется драйвер сетевой карты хостовой системы
- запускается "vmware-guestd --background" (есть ключ --help)
- изменяется /etc/X11/xorg.conf
(версия 1.0.1 в FC6 с ошибками: не рассчитан на отсутствие секции Monitor,
в любом случае перезапустить X надо вручную);
в Fedora 8 и без этого был драйвер vmware, после выбора 1280x1024 получилось разрешение
1370x969 (ровно под имеющееся место в окне); после перезагрузки оказывается,
что необходимо закоментировать ссылку на монитор "vmware"
- если собирался сетевой драйвер, то необходимо вручную перезапустить сеть
(из консоли, не из сеанса ssh!):
- /etc/init.d/network stop
- rmmod pcnet32
- rmmod vmxnet
- depmod -a
- modprobe vmxnet
- /etc/init.d/network start
- перезапустить X Window
- появляется запущенный по умолчанию сервис vmware-tools, который при старте компьютера запускает
модули ядра: vmhgfs, vmmemctl (?), vmxnet;
эмулятор DMA для CD/DVD-ROM; "vmware-guestd --background"
Утилита vmware-checkvm позволяет проверить наличие и работоспособность VMware Tools.
vmware-toolbox - графическая утилита для управления VMware Tools, вкладки:
- синхронизация времени с хостовой системой
- подключение/отключение виртуальных устройств: сеть, CD/DVD, НГМД
- настройка скриптов обработки событий питания: выключение, включение, засыпание, просыпание;
после этого можно настроить действие соответствующих кнопок консоли, так чтобы они
вызывали реакцию гостевой ОС вместо грубого выключения питания (требуются права суперпользователя)
- уменьшение виртуальных дисков (требуются права суперпользователя, в большинстве случае недоступно)
Установка VMware Tools в MS Windows XP Pro
- в настройках оборудования ВМ изменить настройки CD-ROM на
образ /usr/lib/vmware/isoimages/windows.iso (входит в состав пакета VMware-server)
- ответить на вопросы установщика
- поставить выборочно:
- toolbox (панель управления)
- драйверы:
- BusLogic SCSI
- SVGA
- vmxnet
- мышки
- памяти (для VMware ESX Server)
- синхронизации файловых систем (не устанавливал)
- разделяемые папки (не устанавливал)
- перезагрузиться
- настроить разрешение экрана
Утилита vmware-cmd (perl) позволяет управлять ВМ из скриптов, запускаемых на
локальной или удалённой консоли. Требуется добавить /usr/lib/vmware-api/lib в /etc/ld.so.conf. Ключи:
- -H имя-хоста
- -O номер-порта (902)
- -U имя-пользователя
- -P пароль (запрашивается интерактивно, если не указано здесь)
- -a (answer?)
- -p (passthrough?)
- -l (выдать список зарегистрированных ВМ)
- -s register имя-файла-vmx
- -s unregister имя-файла-vmx
- -s getresource имя-переменной
- -s setresource имя-переменной значение
- имя-файла-vmx команда (нельзя в сочетании с -l и -s)
- getconnectedusers (только удалённые подсоединения)
- getstate
- start [режим]
- stop [режим] (требуется наличие VMware Server Tools)
- reset [режим]
- suspend [режим]
- setconfig имя-переменной значение
- getconfig имя-переменной
- setguestinfo имя-переменной значение
- getguestinfo имя-переменной
- getid (?)
- getpid (номер процесса, исполняющего ВМ в хостовой ОС)
- getproductinfo имя-переменной
- connectdevice имя-устройства
- disconnectdevice имя-устройства
- getconfigfile (выводит имя-файла-vmx?)
- getheartbeat (uptime в секундах после включения или просыпания)
- getuptime
- getremoteconnections (число удалённых подсоединений)
- gettoolslastactive (1?)
- getresource имя-переменной
- setresource имя-переменной значение
- setrunasuser имя пароль
- getrunasuser (root?)
- getcapabilities (7?)
- addredo имя-виртуального-диска
- commit имя-виртуального-диска уровень freeze wait
- answer (ответ на запрос ВМ оператору, до ответа работа ВМ блокируется)
Нерешённые проблемы в версии 2:
- пропали устройства из закладки Devices в VMware Tools (всех на веб-интерфейс!)
- после остановки сервера демон vmnet-netifup не останавливается (проблемы с IPv6)
- chcon -t texrel_shlib_t /usr/lib/vmware/vmacore/libvmacore.so.1.0 и т.д.
- выключенная виртуальная машина не отдаёт USB устройства
- после переименования виртуальной машины требуется перерисовать экран
- только один заранее выделенный диск при создании виртуальной машины
(можно добавлять по-одному)
- самоподписанный сертификат для доступа по HTTPS
Отличия 2.0.1 (Build 156745 от 20090401) от 2.0.0
- исправлены проблемы с безопасностью
Отличия 2.0 (build 116503 от 20080823; build 122956 от 20081029) от 1.0.7
- настройка сервера и виртуальных машин с помощью веб-интерфейса (VI Web Access),
порт 8222 (http) и 8333 (https)
- консоль в виде веб-интерфейса (VMware Remote Console)
- поддержка USB 2.0
- до 8 ГБ на виртуальную машину
- официальная поддержка виртуальных технологий Intel EM64T VT-capable и AMD64 revision D
- официальная поддержка 64-битного Linux хоста
- использование MS Windows VSS для резервных копий
- VMCI Sockets interface для взаимодействия приложений на хостовой и гостевой системе
- горячее подключение виртуальных SCSI дисков
Нерешённые проблемы в версии 1:
- некорректная работа SELinux и многопользовательской установки
(предлагается отключить SELinux или
самостоятельно сконструировать политики)
- для 64-битной хостовой системы Linux требуется устанавливать библиотеки 32-битной
совместимости
- нет звукового драйвера для 64-битных гостевых MS Windows (экспериментальный VMaudio)
Отличия 1.0.7 (20080828), 1.0.8 (20081106), 1.0.9 (20090401) от 1.0.6
- исправлены проблемы с безопасностью
Отличия 1.0.6 (20080529) от 1.0.5
- vix.inGuest.enable="TRUE" в .vmx (теперь по умолчанию доступ
из гостевой системы к VIX API закрыт)
Отличия 1.0.5 (20080314) от 1.0.4
- исправлены проблемы с безопасностью
Отличия 1.0.4 (20070918) от 1.0.3
- сигналы управления модемом
- адаптация под Fedora 7
- адаптация сборки vmnet под ядро выше 2.6.21
- закрыта возможность запуска произвольного кода из гостевой системы на хостовой
Отличия 1.0.3 (20070426) от 1.0.2
- исправлен глюк с модификацией старых виртуальных машин, внесённый в 1.0.2
- появился глюк при передаче между хостовой машиной и гостевой:
tcp checksum error; сеть в режиме bridge; приходится отключать
аппаратный подсчёт контрольных сумм на хосте: "ethtool -K eth0 tx off";
кстати, аналогичная проблема на "разогнанном" компьютере
Отличия 1.0.2 (20070228) от 1.0.1
- поддержка мигания текста в режиме VGA
(в .vmx: vga.enableBlink, vga.blinkPeriod в милисекундах)
- guest.commands.allowAnonRootGuestCommandsOnHost и
guest.commands.allowAnonRootGuestCommands перенесены из .vmx в settings.ini
- сборка для ядра 2.6.18
- снимки теперь не содержат абсолютный путь к .vmdk, что позволяет переносить их
- можно запускать на двухпроцессорном компьютере, у которых 4 ядра на процессор
- исправлены права доступа к SSL-файлам
Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru