VMware
VMware Server - бесплатная и мощная платформа виртуализации для малого бизнеса.
Бесплатный продукт VMware Server является довольно мощной платформой виртуализации, которая может быть запущена на серверах под управлением хостовых операционных систем Windows и Linux. Основное предназначение VMware Server – поддержка малых и средних виртуальных инфраструктур небольших предприятий. В связи с небольшой сложностью его освоения и установки, VMware Server может быть развернут в кратчайшие сроки, как на серверах организаций, так и на компьютерах домашних пользователей.
Ранее этот продукт распространялся по коммерческой лицензии и носил название VMware GSX Server 3, однако, с ростом возможностей и продаж мощной платформы виртуализации VMware ESX Server, компания VMware не увидела перспектив в продажах платформы VMware Server, сделав в конечном итоге продукт бесплатным. Стоит отметить, что в отношении этого продукта VMware рассчитывает в основном на доходы от продаж Virtual Center for VMware Server, эффективного средства для управления виртуальной инфраструктурой на основе VMware Server, который обладает широкими возможностями по взаимодействию с виртуальными машинами и консолидации виртуальных серверов.
Вот основные варианты использования продукта VMware Server:
- поддержка нескольких виртуальных серверов на одном физическом в продакшене компании
- поддержка нескольких виртуальных серверов в целях тестирования «в связке» в виртуальной сети хоста при разработке и поддержке программного обеспечения
- запуск готовых к использованию виртуальных машин (Virtual Appliances), выполняющих определенную серверную функцию
- обеспечение высокой доступности виртуальных серверов (виртуальные машины могут легко переноситься между физическими серверами)
- создание удобных к восстановлению резервных копий виртуальных серверов за счет получения мгновенных снимков текущего состояния системы («снапшотов»).
VMware Server обладает широкими возможностями по работе с виртуальными машинами, включающими в себя:
- Поддержку любой стандартной архитектуры x86. У VMware Server нет особых требований к компонентам физического сервера – в отличие от VMware ESX Server, который накладывает весьма конкретные ограничения на оборудование сервера. Многоядерные процессоры также поддерживаются.
- Поддержку двунаправленного виртуального SMP (symmetric multi-processing). Если позволяет архитектура физического сервера, виртуальные машины, создаваемые в VMware Server, могут содержать два виртуальных процессора, что положительно сказывается на производительности гостевых систем.
- Поддержку большого числа хостовых и гостевых операционных систем, полный список которых всегда доступен на сайте VMware. Число хостовых операционных систем, на которых может быть установлен VMware Server, конечно же, меньше, чем число поддерживаемых гостевых систем. Между тем, в качестве гостевой может быть установлена практически любая известная операционная система. Даже если ее нет в списке поддерживаемых, это не значит, что ее нельзя установить.
- Поддержку 64-битных хостовых и гостевых операционных систем. В качестве хостовых 64-х битных систем могут использоваться 64-х битные ОС семейства Windows Server 2003, а также 64-х битные версии Linux-систем: Red Hat, SUSE, Mandriva и Хостинг VPS/VDS на Ubuntu. Список поддерживаемых гостевых ОС дополнен также еще и 64-х битными версиями Windows Vista, Sun Solaris и FreeBSD.
- Поддержку IntelVT (Intel Virtualization Technology)
VMDK
VMDK (Virtual Machine Disk) это формат файла разработанный VMware для использования в качестве образа диска в своих виртуальных машинах. VMDK схож по структуре и содержанию с жестким диском, является открытым и документированным.
Инсталляция
VMware Server на Fedora
Для виртуализации будет использоваться бесплатный vmware Server.
- VMware Server. Регистрируемся и скачиваем версию: VMware-server-2.0.2-203138.x86_64.tar.gz.
- На почту приходит письмо с просьбой подтвердить регистрацию. После подтверждения на сайте станут доступны два лицензионных ключа для Windows и FAQ Linux.
- Предварительные работы:
- создадим каталог для виртуальных машин /home/vmware
- в файле для красоты отображения /etc/services заменим описание 902 порта TCP и UDP. Должно выглядеть так
vmware-authd 902/tcp vmware-authd 902/udp
- Нужно установить зависимости для VMware Server
yum install kernel-devel-`uname -r` gcc gcc-c++
- Оригинальный инсталлятор VMware не поддерживает ядро 2.6.35. В сети существует скрипт дающий возможность использовать это ядро VMware Server on 2.6.31 kernels. Скачиваем скрипт
# wget --no-check-certificate http://codebin.cotescu.com/vmware/vmware-server-2.0.x-kernel-2.6.3x-install.sh # ls -l -rw-r--r-- 1 root root 8696 Янв 27 15:16 raducotescu-vmware-server-linux-2.6.3x-kernel-release-1.5-1-g71f8b66.tar.gz -rw-r--r--. 1 root root 474415801 Янв 24 15:30 VMware-server-2.0.2-203138.x86_64.tar.gz
Устанавливаем обновление, предварительно распаковав.
# tar xvfz raducotescu-vmware-server-linux-2.6.3x-kernel-release-1.5-1-g71f8b66.tar.gz # cp VMware-server-2.0.2-203138.x86_64.tar.gz raducotescu-vmware-server-linux-2.6.3x-kernel-71f8b66/ # cd raducotescu-vmware-server-linux-2.6.3x-kernel-71f8b66
Запускаем с правами root vmware-server-2.0.x-kernel-2.6.3x-install.sh. Он будет искать в текущей директории дистрибутив VMware Server, который мы туда предварительно скопировали.
# ./vmware-server-2.0.x-kernel-2.6.3x-install.sh ... Please specify a port for remote connections to use [902] Please specify a port for standard http connections to use [8222] Please specify a port for secure http (https) connections to use [8333] The current administrative user for VMware Server is ''. Would you like to specify a different administrator? [no] yes Please specify the user whom you wish to be the VMware Server administrator root Using root as the VMware Server administrator. In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines] /home/vmware Please enter your 20-character serial number. Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:
В случае успешного завершения установки VMware скрипт выведет:
The configuration of VMware Server 2.0.2 build-203138 for Linux for this running kernel completed successfully. On Fedora you must follow these steps in order to make VMware Server to work properly: 1. edit /etc/services and replace the entry located on TCP/902 port with vmware-authd 2. disable SELinux by editing the /etc/selinux/config file 3. reboot your system Housekeeping... Thank you for using the script! Patch provided by: Ramon de Carvalho Valle http://risesecurity.org Script author: Radu Cotescu http://radu.cotescu.com
VMware Server 2 управляется через WEB-интерфейс. Доступ к WEB-интерфейсу через HTTPS(https:<IP ADDRESS>:8333) или HTTP (http:<IP ADDRESS>:8222).
- В процессе установки могла возникнуть ошибка:
The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match your running kernel (version 2.6.35.10-74.fc14.x86_64). Even if the module were to compile successfully, it would not load into the running kernel.
Лечим ее созданием константы с версией в исходниках ядра. Добавляем #define UTS_RELEASE «версия ядра» в конец файла.
# nano /usr/src/kernels/2.6.35.10-74.fc14.x86_64/include/linux/version.h #define UTS_RELEASE "2.6.35.10-74.fc14.x86_64"
или перепишем эту константу из файла utsrelease.h
# cat /usr/src/kernels/2.6.35.10-74.fc14.x86_64/include/generated/utsrelease.h >> /usr/src/kernels/2.6.35.10-74.fc14.x86_64/include/linux/version.h или # cat /usr/src/kernels/$(uname -r)/include/generated/utsrelease.h >> /usr/src/kernels/$(uname -r)/include/linux/version.h
VMware Server на CentOS
# cat /etc/issue CentOS release 5.5 (Final) # uname -a Linux vm.net 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
Для виртуализации будет использоваться бесплатный VMware Server.
- VMware Server. Регистрируемся и скачиваем версию: VMware-server-2.0.2-203138.x86_64.tar.gz.
- На почту приходит письмо с просьбой подтвердить регистрацию. После подтверждения на сайте станут доступны два лицензионных ключа для Windows и FAQ Linux.
- Предварительные работы:
- создадим каталог для виртуальных машин /home/vmware
- в файле для красоты отображения /etc/services заменим описание 902 порта TCP и UDP. Должно выглядеть так
vmware-authd 902/tcp vmware-authd 902/udp
- Нужно установить зависимости для VMware Server
# yum install kernel-devel-`uname -r` gcc gcc-c++ # yum install xinetd
- Распаковываем и устанавливаем
# tar xvfz VMware-server-2.0.2-203138.x86_64.tar.gz # cd vmware-server-distrib # ./vmware-install.pl ... Please specify a port for remote connections to use [902] Please specify a port for standard http connections to use [8222] Please specify a port for secure http (https) connections to use [8333] The current administrative user for VMware Server is ''. Would you like to specify a different administrator? [no] yes Please specify the user whom you wish to be the VMware Server administrator root Using root as the VMware Server administrator. In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines] /home/vmware Please enter your 20-character serial number. Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel: ...
VMware Server 2 управляется через WEB-интерфейс. Доступ к WEB-интерфейсу через HTTPS(https:<IP ADDRESS>:8333) или HTTP (http:<IP ADDRESS>:8222).
- Настройка браузера Mozilla Firefox повседневные вопросы настройки
about:config security.enable_ssl2 = false -> true
Установить плагин для просмотра консоли().
VMware Server и USB
К USB нужно подключить выход от ATC и источника бесперебойного питания.
Инструкция ниже не позволила увидеть эти устройства в гостевой Win XP
Для того чтобы VMware Server 2.0.2 разрешил гостевым системам подключать usb устройства, нужно:
# nano /etc/fstab ... usbfs /proc/bus/usb usbfs 0 0
# chmod -R 777 /proc/bus/usb*
Snapshot снимок состояния VM
Источник официальный server_faq.pdf: How many snapshots can I take with Server 2 hosts?
Server 2 hosts support a single snapshot per virtual machine. In order to take a new snapshot, the previous snapshot needs to be overwritten.
Снапшот (Snapshot) - это снимок состояния виртуальной машины (содержимое памяти, настройки ВМ, содержимое дисков) в определенный момент времени. Возврат к снапшоту (revert to snapshot) восстанавливает текущее состояние виртуальной машины до сохраненного.
Снапшоты можно делать много раз, один за другим, причем можно создать достаточно развесистое дерево состояний, до 32 уровней вложенности. В линейном процессе снапшотов каждый снапшот имеет родительский и дочерний, за исключением последнего снапшота, не имеющего дочернего по понятным причинам. В дереве снапшотов сразу несколько дочерних имеют родительским один и тот же снапшот.
Выбирать точку для создания снапшота следует с осторожностью, и крайне желательно в момент, когда никакие процессы не ведут сетевой активности. Просто потому что если вы создадите снапшот в момент копирования файла по сети, то при откате до этого снапшота восстановится состояние виртуальной машины в момент копирования - и соотв. какие-то процессы могут упасть.
В силу существования снапшотов существуют различные режимы для работы виртуальных дисков. А именно существуют независимые диски (independent), на которые снапшоты никак не влияют. Независимые диски могут работать в persistent (все изменения немедленно записываются на диск, и не откатываются даже при возврате к snapshot) и nonpersistent (все изменения откатываются автоматически при выключении машины или возврате к снапшоту). Обращаю ваше внимание, что nonpersistent диск будет возвращен к тому состоянию, в котором находился, когда мы поставили соотв. галочку в свойствах диска, а не к состоянию на момент снапшота.
Работа с ВМ через интерфейс командной строки: vmrun
Утилита vmrun позволяет автоматизировать управление виртуальными машинами. Кроме управления питанием виртуальных машин, с помощью этой утилиты можно взаимодействовать с файловой системой гостевой ОС, а также организовывать обмен файлами посредством общих папок, либо копируя их напрямую. Синтаксис использования vmrun.exe следующий:
vmrun <команда> [<параметры>]
Утилита vmrun может использоваться не только для локального, но и для удаленного управления виртуальными машинами. Для этого в качестве дополнительных параметров необходимо указать следующие флаги аутентификации:
-h <имя удаленного компьютера> -P <порт удаленного компьютера> -u <имя пользователя в хостовой ОС> -p <пароль в хостовой ОС> -gu <имя пользователя в гостевой ОС> -gp <пароль в гостевой ОС>
- Список параметров утилиты vmrun:
Команда | Параметры | Описание |
---|---|---|
start | <путь к файлу *.vmx> | Запуск виртуальной машины или VM Team |
stop | <путь к файлу *.vmx> | [hard soft] Остановка виртуальной машины или VM Team (программная или аппаратная) |
reset | <путь к файлу *.vmx> | [hard soft] Перезагрузка виртуальной машины или VM Team(программная или аппаратная) |
suspend | <путь к файлу *.vmx> | [hard soft] Сохранение состояния виртуальной машины или VM Team (постановка на «паузу», программная или аппаратная) |
listSnapshots | <путь к файлу *.vmx> | Вывод списка снапшотов виртуальной машины |
snapshot | <путь к файлу *.vmx> <имя снапшота> | Создание снапшота виртуальной машины с заданным именем |
deleteSnapshot | <путь к файлу *.vmx> <имя снапшота> | Удаление снапшота с заданным именем |
revertToSnapshot | <путь к файлу *.vmx> <имя снапшота> | Откат виртуальной машины к заданному снапшоту |
Команды для операций в гостевой ОС:
runProgramInGuest | <путь к файлу *.vmx> <программа> [параметры] | |
fileExistsInGuest | <путь к файлу *.vmx> <путь к файлу в гостевой системе> | Проверка наличия заданного файла в гостевой системе |
setSharedFolderState | <путь к файлу *.vmx> <имя общей папки> <новый путь в хостовой системе> | Изменение пути к общей папке в хостовой системе |
addSharedFolder | <путь к файлу *.vmx> <имя общей папки> <новый путь в хостовой системе> | Добавление общей папки для виртуальной машины и хостовой системы |
removeSharedFolder | <путь к файлу *.vmx> <имя общей папки> | Удаление общей папки |
listProcessesInGuest | <путь к файлу *.vmx> | Получение списка процессов в гостевой ОС |
killProcessInGuest | <путь к файлу *.vmx> <PID процесса> | Завершение процесса в гостевой ОС с заданным идентификатором |
runScriptInGuest | <путь к файлу *.vmx> <путь к интерпретатору сценариев> <текст сценария> | Запуск сценария в гостевой ОС |
deleteFileInGuest | <путь к файлу *.vmx> <путь к файлу в гостевой ОС> | Удаление файла в гостевой ОС |
createDirectoryInGuest | <путь к файлу *.vmx> <путь к папке в гостевой ОС> | Создание папки в гостевой ОС |
deleteDirectoryInGuest | <путь к файлу *.vmx> <путь к папке в гостевой ОС> | Удаление папки в гостевой ОС |
listDirectoryInGuest | <путь к файлу *.vmx> <путь к папке в гостевой ОС> | Получение списка содержимого заданной папки в гостевой ОС |
copyFileFromHostToGuestOS | <путь к файлу *.vmx> <путь к файлу в хостовой ОС> <путь к файлу в гостевой ОС> | Копирование файла из хостовой в гостевую систему |
copyFileFromGuestToHostOS | <путь к файлу *.vmx> <путь к файлу в гостевой ОС> <путь к файлу в хостовой ОС> | Копирование файла из гостевой в хостовую систему |
renameFileInGuest | <путь к файлу *.vmx> <старое имя файла> <новое имя файла> | Переименование файла в гостевой ОС |
Общие команды
list | Получение списка всех запущенных виртуальных машин | |
upgradevm | <путь к файлу *.vmx> | Улучшение виртуальной машины (продвижение поколения аппаратного обеспечения) |
installtools | <путь к файлу *.vmx> | Установка VMware Tools в гостевой ОС |
Примеры использования.
- Получить список всех запущенных виртуальных машин:
# vmrun -T server -h https://localhost:8333/sdk -u root -p password list Total running VMs: 2 [standard] Debian6_MyWWW/Debian6_MyWWW.vmx [standard] Ubuntu1004LTS_GIT/Ubuntu1004LTS_GIT.vmx
Скрипт для запуска и остановки гостевых виртуальных машин на сервере VMware
#!/bin/bash # This script will start/stop/status VMware machine # # Written by Ez-Aton # http://www.tournament.org.il/run # # Modified for VMware server 2.0 by doka@wepoca.net # http://www.wepoca.net # # # Hardcoded. Change to match your own settings! # the VMware storage name VMSTORAGE="[standard]" # the VM guest to be started/stopped VMGUEST="YOUR_GUEST_VM/YOUR_GUEST_VM.vmx" # the URL of the VMware host HOST="https://URL_OF_VMWARE_HOST:8333/sdk" # admin user on VMware host HOST_USER="YOUR_ADMIN" HOST_PWD="ADMIN_PWD" # the VMware script VMRUN="/usr/bin/vmrun" TIMEOUT=60 function status () { # This function will return success if the VM is up $VMRUN -T server -h $HOST -u $HOST_USER -p $HOST_PWD list | grep "$VMGUEST" &>/dev/null if [[ "$?" -eq "0" ]] then echo "VM $VMGUEST is up" return 0 else echo "VM $VMGUEST is down" return 1 fi } function start () { # This function will start the VM $VMRUN -T server -h $HOST -u $HOST_USER -p $HOST_PWD start "$VMSTORAGE $VMGUEST" if [[ "$?" -eq "0" ]] then echo "VM $VMGUEST is starting" return 0 else echo "$VMGUEST VM failed" return 1 fi } function stop () { # This function will stop the VM $VMRUN -T server -h $HOST -u $HOST_USER -p $HOST_PWD suspend "$VMSTORAGE $VMGUEST" for i in `seq 1 $TIMEOUT` do if status then echo else echo "VM $VMGUEST Stopped" return 0 fi sleep 1 done # $VMRUN stop "$VMGUEST" soft $VMRUN -T server -h $HOST -u $HOST_USER -p $HOST_PWD stop "$VMSTORAGE $VMGUEST" soft } case "$1" in start) start ;; stop) stop ;; status) status ;; esac RET=$? exit $RET
Скрипт snapshot.sh остановки VM, моментального снимка, запуска
Script VM stop, snapshot, start.
# nano /scripts/vmware/snapshot.sh
#!/bin/bash # # This script snapshots VMware machine # VMSTORAGE="[standard]" # the URL of the VMware host HOST="https://localhost:8333/sdk" # admin user on VMware host HOST_USER="root" HOST_PWD="your password" # the VMware script VMRUN="/usr/bin/vmrun" #----------- VM VisiCAR Windows XP Pro SP3 + VMware tools # Stop. If install VMware tools $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD stop "[standard] WinXpSP3_visicar/WinXpSP3_visicar.vmx" soft # Delete snapshot #$VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD deleteSnapshot "[standard] WinXpSP3_visicar/WinXpSP3_visicar.vmx" # Create snapshot $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD snapshot "[standard] WinXpSP3_visicar/WinXpSP3_visicar.vmx" # Start $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD start "[standard] WinXpSP3_visicar/WinXpSP3_visicar.vmx" #----------- VM FreeBSD 6.2 NOT install VMware tools # Stop. If NOT install VMware tools $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD stop "[standard] FreeBSD_visicar/FreeBSD_visicar.vmx" # Create snapshot $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD snapshot "[standard] FreeBSD_visicar/FreeBSD_visicar.vmx" # Start $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD start "[standard] FreeBSD_visicar/FreeBSD_visicar.vmx" #----------- VM Ubuntu Ubuntu 10.04.2 LTS GIT # Stop. If NOT install VMware tools $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD stop "[standard] Ubuntu1004LTS_GIT/Ubuntu1004LTS_GIT.vmx" # Create snapshot $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD snapshot "[standard] Ubuntu1004LTS_GIT/Ubuntu1004LTS_GIT.vmx" # Start $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD start "[standard] Ubuntu1004LTS_GIT/Ubuntu1004LTS_GIT.vmx" #----------- VM Ubuntu Ubuntu 10.04.2 LTS Monitor # Stop. If NOT install VMware tools $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD stop "[standard] Ubuntu1004TLS_monitor/Ubuntu1004TLS_monitor.vmx" # Create snapshot $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD snapshot "[standard] Ubuntu1004TLS_monitor/Ubuntu1004TLS_monitor.vmx" # Start $VMRUN -T Server -h $HOST -u $HOST_USER -p $HOST_PWD start "[standard] Ubuntu1004TLS_monitor/Ubuntu1004TLS_monitor.vmx"
Подключение VM через vmware-vmrc
Для подключения к виртуальным машинам можно использовать vmware-vmrc. Синтаксис команды vmware-vmrc
Linux:
vmware-vmrc -h [<hostname>] [-u <username> -p <password>] [-M <vmid> | <datastore path>]
Windows:
vmware-vmrc.exe -h <hostname> [-u <username> -p <password>] -M <vmid> | <datastore path>
где <ip> ip адрес машины с VMware Server 2 и <vmid> идентификационный номер виртуальной машины. Значение vmid можно увидеть в файл vmInventory.xml на сервер VMware, в теге <objID>XXX</objID>.
VmWare: ошибка Failed to lock the file
Для устранения это ошибки нужно в директории виртуальной машины удалить все директории с расширением .lck.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах