VMware ESXi
Created Sunday 13 December 2015
vSphere Hypervisor или ESXi
VMware ESX Server — программный продукт для виртуализации уровня предприятия, предлагаемый компанией VMware в качестве компонента VMware vSphere (ранее VMware Infrastructure). Начиная с версии 5.0 ESX замещен продуктом ESXi (Elastic Sky X Integrated), дальнейшая разработка ESX прекращена на версии 4.1 . ESX и ESXi являются автономными гипервизорами со встроенными драйверами устройств и ставятся непосредственно «на железо», то есть при установке не требуют наличия на машине установленной операционной системы.
ESXi состоит из двух основных компонентов - гипервизора и базовой OS Linux.
Гипервизор , или платформа виртуализации ( http://www.ibm.com/cl-hypervisorcompare) - это(..в случае ESXi) програмный продукт VMware, который не посредственно и создает виртуальные машины, реализуя (создавая) уровень виртуализации и разделяя системные ресурсы (процессоры, память, платы ввода\вывода) на несколько виртуальных машин. Linux - это Red Hat Enterprise Linux 3, который используется для получения локального интерфейса командной строки, и для возможности запуска в нем базовых приложений и утилит.
ESXi позволяет разделить физический компьютер на логические разделы, называемые виртуальными машинами. Включает в себя средства управления виртуальными ресурсами , web-client (vmware vsphere client). Набор требований к аппаратному обеспечению — является обязательным наличие поддержки виртуализации со стороны процессора.
ESXi для своей установки требует не менее 4 ГБ (для версии 5.0 и выше достаточно 2Гб) оперативной памяти, если устанавливать на VMware Workstation 12 Pro в качестве тестовой лаборатории (например), то менее чем с 4 ГБ не ставится. Сравнение виртуальных машин.
VMware ESXi является автономным гипервизором нового поколения как и Citrix XenServer.
http://www.vmware.com/ru/products/vsphere-hypervisor/
Технический проспект VMware vSphere <------PDF
Михеев М. - Администрирование VMware vSphere 4.1 <------PDF
Михеев М. - Администрирование VMware vSphere 5 <------PDF
VDI-Руководство по развертыванию <------PDF
http://www.ibm.com/developerworks/ru/library/cl-hypervisorcompare-vmwareesx/
Лицензирование
Тема лицензирования в VMware vSphere не так проста как казалась-бы, vSphere лицензируется по процессорным сокетам и физическим хостам виртуализации (в зависимости от редакции). VMware vSphere Hypervisor (ESXi) — это бесплатный аппаратный гипервизор, который используется для виртуализации серверов и консолидации приложений на меньшем объеме оборудования. Бесплатная платформа VMware vSphere Hypervisor может быть использована для любого количества серверов в вашей организации, производственной среде. При этом: Централизованно управлять хост-серверами ESXi вы не сможете - придется заходить на каждый сервер с помощью vSphere Client.
vSphere Hypervisor 6 в отличии от vSphere Hypervisor 5, который ограничивал общий объем сконфигурированной оперативной памяти всех включенных виртуальных машин (vRAM) и не мог превышать 32 ГБ на одном сервере, в vSphere Hypervisor 6 подобных ограничений нет:
There are no restrictions on the number of cores per physical CPU, on the number of physical CPUs per host and on the amount of RAM per server/ host. The maximum vCPUs pervirtual machine is eight.
...но при этом ограничивает в числе процессоров на виртуальных машинах, до 8.
VMware vSphere Hypervisor (ESXi) устанавливается и запускается в Evaluation режиме с полным функционалом, c ограничением по времени в 60 дней (без активации), при загрузке VMware даст ключ на бесплатную версию, которую надо активировать. Вообще лицензии делятся на платные и бесплатные, разница в возможности использования различных модулей и ограничению по количеству памяти, виртуальных процессоров в гостевой системе и т.д. Если требуются возможности по миграции и отказоустойчивости, а так же по централизованному управлению, то бесплатной версии будет уже недостаточно, и придется выбирать более расширенную платную версию:
VMware vSphere Standard Консолидация серверов и предотвращение плановых простоев
VMware vSphere Enterprise Эффективное управление ресурсами
VMware vSphere Enterprise Plus Автоматизация ЦОД на основе политик ..и тд, обзоры возможностей и различия платных версий тут.
Licensing, Pricing and Packaging
Ну и конечно существует более разумное решение - забыть про VMware и перейти на Proxmox, ....., но это очень лично......
http://www.vmware.com/ru/products/vsphere/upgrade-center
http://www.vmware.com/ru/products/vsphere/pricing
http://habrahabr.ru/post/226231/
Оборудование
http://www.vmware.com/resources/compatibility/search.php
Неприятным сюрпризом при посещении выше указанной страницы, возможно будет ситуация когда оборудование будет значиться поддерживаемым, но на деле его драйвера не включены в стандартную сборку, подобный прикол и способы его обойти подробно описан здесь:
https://smurfyadmin.wordpress.com/2014
ESXi: интеграция драйверов в образы
Как добавить драйверы в ISO-образ VMware ESXi
Установка
Если посетить сайт VMWare: http://www.vmware.com/ru/products/vsphere-hypervisor/ , то можно найти исчерпывающее видео по установке гипервизора, как и богатую документацию по оному, но поскольку перед постановкой на сервер желательно воотчую протестить сеё чудо, то существует вариант постановки его на виртуальную машину..(виртуальную машину на виртуальную машину..??, пора к псиатору..вложенные ВМ) представленный ниже, ....фактом является многочисленный и позитивный опыт установки не только ESXi, но и Citrix Xen на VMware Workstation, с VirtualBox так-же не возникало вопросов, однако с версии 5.0.10 ... выдает ошибку о не совместимости (..у меня ???, версия 5.1.26 все в порядке). Сама установка проста и не замысловата и не может вызвать ни каких проблем, за исключением проблем связанных с совместимостью оборудования и наличием драйверов, способы приведенные выше, возможно помогут их решить.
$ vmware-installer -l
Product Name Product Version
==================== ====================
vmware-workstation 16.0.0.168942
$ cd vmware-host-modules
$ sudo git checkout workstation-16.0.0
$ sudo make
4. Создаём файл зависимостей для ядра и делаем рестарт service vmware
$ sudo cp vmmon.o /lib/modules/`uname -r`/kernel/drivers/misc/vmmon.ko
$ sudo cp vmnet.o /lib/modules/`uname -r`/kernel/drivers/misc/vmnet.ko
$ sudo depmod -a
$ sudo service vmware restart
sudo vmware-installer -u vmware-workstation удалить
Debian bullseye, kernel 5.10.
Что было сделано:
1. Установка VMware Workstation 16
sudo chmod +x /путь/VMware-Workstation-Full-16.0.0-16894299.x86_64.bundle
sudo /путь/./VMware-Workstation-Full-16.0.0-16894299.x86_64.bundle
2. Установка пакета linux-headers-5.10.0-3-amd64 с зависимостями
https://packages.debian.org/sid/linux-headers-5.10.0-3-amd64
(или "Header files for Linux 5.10.0-5-amd64" два пакета: linux-headers и common_5.10.26-1.deb)
3. Установка патча VMware – 16.1.0 Released – New Patch Fixes Kernel 5.10
sudo git clone https://github.com/mkubecek/vmware-host-modules.git
$ cd vmware-host-modules
$ sudo git checkout workstation-16.0.0
$ sudo make
http://rglinuxtech.com/?p=2859
4. Создаём файл зависимостей для ядра и делаем рестарт service vmware
$ sudo cp vmmon.o /lib/modules/`uname -r`/kernel/drivers/misc/vmmon.ko
$ sudo cp vmnet.o /lib/modules/`uname -r`/kernel/drivers/misc/vmnet.ko
$ sudo depmod -a
$ sudo service vmware restart
https://wiki.debian.org/VMware#GCC
$ type vmware
vmware is /usr/bin/vmware
$ vmware
...start
****** После переустановки ядра и заголовков ядра вновь переделать;
https://customerconnect.vmware.com/downloads
VMware-WSX-1.0.2-928297.x86_64.bundle <----- for Linux
VMware-WSX-Server-1.0.2-928297.msi <----- for Windows
VMware Workstation 16 Pro <----- vmware.com/products/workstation-pro/
Vmware WorkStation Pro 16.0:
AZ3E8-DCD8J-0842Z-N6NZE-XPKYF
ZF3R0-FHED2-M80TY-8QYGC-NPKYF
YF390-0HF8P-M81RQ-2DXQE-M2UT6
ZF71R-DMX85-08DQY-8YMNC-PPHV8
Vmware WorkStation Pro 17.0:
MC60H-DWHD5-H80U9-6V85M-8280D
............................ Uninstallation was successful.
Ошибка; You have an incorrect version of the `vmmon' kernel module.
Сделал так:
$ sudo rm -rf /System/Library/Extensions/vmmon.kext
и так навсякий случай:
$ sudo rm vmmon.o /lib/modules/`uname -r`/kernel/drivers/misc/vmmon.k
$ sudo rm vmnet.o /lib/modules/`uname -r`/kernel/drivers/misc/vmmon.ko
и потом так:
$ sudo depmod -a
$ sudo service vmware restart
....все решилось
Каждый раз после обновления ядра, одна и та же проблема с VMware, проблема в том, что он хер запустится, выхода два: первый ждать пока VMware обновит модули ядра, что естественно бесполезно и глупо(VMware скорее выпустит новую версию, чем будет заниматься патчами для очередного ядра Linux), выход второй исправить модули самостоятельно, дело в том, что по каким то загадочным причинам комрады репозитория "mkubecek/vmware-host-modules" на GitHub отслеживают и добавляют исправления, необходимые для сборки хост-модулей VMware (Player и Workstation) для последних ядер, поэтому самый простой способ исправить неработающую установку VMware после обновления ядра — это клонировать, скомпилировать и установить файлы, представленные в этом репозитории. Для этого; надо зайти на страницу GitHub, чтобы выбрать нужный пакет(при условии, что "парни" подсуетились) для установленной версии VMware и получить его URL-адрес для клонирования репозитория.
На странице в левом верхнем углу мы увидим кнопку "master", нажимаем и видим список доступных исправлений. Доступны исправления для нескольких различных версий пакетов VMware Workstation и VMware Player, выбираем нужное.
Далее нажимаем зеленую кнопку «Код» . Появится окно с URL-адресом, необходимым для клонирования версии выбранного вами патча, копируем URL-адрес и возвращаемся к терминалу, дописываем впереди: git clone, например вот так:
$ git clone https://github.com/mkubecek/vmware-host-modules.git
Cloning into 'vmware-host-modules'...
remote: Enumerating objects: 3601, done.
remote: Counting objects: 100% (779/779), done.
remote: Compressing objects: 100% (54/54), done.
remote: Total 3601 (delta 754), reused 725 (delta 725), pack-reused 2822
Receiving objects: 100% (3601/3601), 1.42 MiB | 821.00 KiB/s, done.
Resolving deltas: 100% (2665/2665), done.
$
В результате создается папка:"vmware-host-modules" в которую надо перейти, проверить пакет и запустить компилятор:
$ cd vmware-host-modules
$ sudo git checkout workstation-16.2.3
$ sudo make
Если все успешно, следующий шаг "пересобрать" модули ядра, создать файл зависимостей ядра, и сделать рестарт "service vmware"
(https://losst.ru/moduli-linux https://habr.com/ru/post )
$ sudo cp vmmon.o /lib/modules/`uname -r`/kernel/drivers/misc/vmmon.ko
$ sudo cp vmnet.o /lib/modules/`uname -r`/kernel/drivers/misc/vmnet.ko
$ sudo depmod -a
$ sudo service vmware restart
$ vmware
...start
PS: Все это делается после установки самого VMware-Workstation:
$ chmod +x VMware-Workstation-Full-16.2.3-19376536.x86_64.bundle
$ sudo ./VMware-Workstation-Full-16.2.3-19376536.x86_64.bundle*
Extracting VMware Installer...done.
Installing VMware Workstation 16.2.3
Configuring...
[######################################################################] 100%
Installation was successful.
$ vmware-installer -l
Product Name Product Version
==================== ====================
vmware-workstation 16.2.3.19376536
$ ...только свежие програмные продукты
$ vmware-installer -l
Product Name Product Version
==================== ====================
vmware-workstation 17.0.0.20800274
$
Поддержка: DirectX 11, OpenGL 4.3, 3D Accelerated Graphics, Windows 11
Интерфейс командной строки vctl для запуска и создания контейнеров и кластеров Kubernetes,
добавлена поддержка последней версии Windows, операционные системы Linux и многое другое.
PS:
$ sudo vmware-installer --uninstall-product vmware-workstation
Uninstalling VMware Installer 3.1.0
Deconfiguring...
[######################################################################] 100%
Uninstallation was successful.
$ sudo vmware-installer --uninstall-product vmware-player
PS: Все это при условии, что заголовки ядра уже стоят ..!
https://www.makeuseof.com/fix-vmware-errors-after-linux-kernel-upgrade/
install linux-headers
Зачем нужны заголовки ядра вопрос почти филосовский, то есть кому то они нужны а кому то на фиг не нужны, мы можем собрать ядро с разными заголовками не обязательно включающими в себя заголовки собираемого ядра, хороший пример обновление ядра без обновления заголовков, однако для сборки модулей ядра как и многих пакетов системы, требуются заголовочные файлы ядра (изменение этих файлов требует пересборку glibc), в том числе потому что Linux это "ядра", а не операционная система, показательным примером является VMware который после обновления ядра системы на новое (ему не извесное) потребует заголовочные файлы ядра соответствующие uname -r. https://www.kernel.html http://www.gentoo.ru/ PS: ....очень!, очень умные люди еще не пришли к согласию, что такое вообще "Операционная система"..., Linux уж точно ей не является, Linux это инопланетный разум который периодически транслирует нам свой образ, то есть шлет ядра, повышая энтропию нашего больного сознания.
PS: И тут конечно найдутся не в меру эрудированные пользователи прочитавшие "Стандарт ISO/IEC 2382-1:1993." ..и процетируют что:
01.04.08. Операционная система (ОС): "Software (01.01.08) that controls the Execution (10) of Programs (01.05.01),and that provide services such as Resource allocation (10), Scheduling (10), Input-output (06) control, and Data management(01.08.02)." ...Люди, правда заключается в том что стандарты ISO, это давно повод для издевательств и насмешек со стороны людей не посредственно занимающихся вычислительными системами и сетями, а самое главное абсолютно ни к чему не обязывающие. Комитеты OSI, вопреки очевидной необходимости своего существования, это клуб "ботаников" собирающихся с целью приятно провести время в кругу людей объединенных едиными образом мысли и знаний, как побочный эфект этих
сессий, можно даже сказать эфект "акцидентальный", является написание стандартов, как новых, так и исправление старых ....вот как-то так, ни чего удивительного парадигма диктует поведение.
Но куда больше "настораживает" ГОСТ 15971-90 (16) Операционная система "Совокупность системных программ, предназначенная для обеспечения определенного уровня эффективности системы обработки информации ......"
Заголовки: Пакет исходного кода: linux-signed-amd64 (5.10.26+1) - Debian https://http.kali.org/kali/pool/main/l/linux/ - Kali
$ sudo dpkg -i linux-headers-x.x.x-kali2-all-amd64_x.x.x-1kali1_amd64.deb
Или так; (везде не забывая перед установкой заголовков обновить систему)
https://unix.stackexchange.com/questions/328655/cant-install-linux-headers-kali-linux update your /etc/apt/sources.list : see Kali sources.list Repositories
$ vmware-installer -l
Product Name Product Version
================= ====================
vmware-workstation 15.5.2.15785246
$ uname -r
5.10.0-kali3-amd64
$ cd /usr/src
/usr/src$ ls
linux-headers-5.7.0-kali1-amd64/ linux-kbuild-5.4@ linux-kbuild-5.7@
linux-headers-5.7.0-kali1-common/ linux-kbuild-5.6@ volatility-tools/
List the available linux-headers and linux-image through apt-cache search :
apt update
apt-cache search linux-headers
Then install the correct package e,g ( this is an example , it depends on the previous output command) :
apt-get install linux-headers-XXX-XXX-amd64
also run;
apt-cache search linux-image
install it:
apt-get install linux-image-XXX-kali1-amd64
Reboot your system. Or you can use the following command to upgrade you kernel to the latest available version and install the appropriate kernel headers:
apt update
apt dist-upgrade
=============================================
reboot
apt install linux-headers-$(uname -r)
Посмотреть наличные ядра:
$ ls /usr/src
$ ncdu /usr/src/
$ dpkg --list | grep linux-image
$ dpkg -l | grep linux-image | awk '{print$2}'
$ apt remove --purge linux-image-XXXXXXX #удалить если надо
Удаление старого ядра может стать не простой задачей и выше упомянотй команды будет недостаточно ниже ссылка на форум Debian, возможно это будет полезно: https://forums.debian.net/viewtopic реч идет о "Kernel 6.1.0-XX-amd64" Ошибка:
dpkg: error processing package linux-image-6.1.0-9-amd64 (--remove):
installed linux-image-6.1.0-9-amd64 package post-removal script subprocess returned error exit status 1
решается удалением raspi-firmware примерно так:
$ sudo apt purge raspi-firmware
$ sudo dpkg -S raspi-firmware
$ sudo dpkg --remove --force-remove-reinstreq raspi-firmware
$ sudo dpkg --purge raspi-firmware
$ sudo apt update
$ sudo apt dist-upgrade
$ uname -sr
Linux 6.1.0-12-amd64
$ dpkg -l | grep linux-image | awk '{print$2}'
linux-image-6.1.0-12-amd64
linux-image-6.1.0-13-amd64
linux-image-6.1.0-9-amd64
linux-image-amd64
$ sudo apt remove --purge linux-image-6.1.0-9-amd64
$ dpkg -l | grep linux-image | awk '{print$2}'
linux-image-6.1.0-12-amd64
linux-image-6.1.0-13-amd64
linux-image-amd64
PS: Что такое raspi-firmware, зачем нужен?, нам не нужен! (удаляем смело) им пользуются гуманоиды с сопредельных галактик использующие Raspberry Pi.
При установке vmware tools, поля установить/переустановить могут быть не активными ..... и возможно это от того, что в настройках не размонтированы CD/DVD и Floppy (в моем случае) и по этой причине образ: /usr/lib/vmware/isoimages/linux.iso не может быть смонтирован, поэтому все в: "use a physical drive", Device > Auto detect https://zbud.ru/ne-ustanavlivaetsya-vmware-tools .....и далее: https://www.dmosk.ru/vmware-tools-linux
Есть извесные проблемы с общими папками Vmware в Linux, решаются <здесь><здесь>
Кратко так: Узнать название общей папки: $ vmware-hgfsclient my-shared-folder
Подключить: $ sudo vmhgfs-fuse .host:/my-shared-folder /mnt/hgfs/ -o allow_other -o uid=1000
Чтобы все работало при запуске добавить в:
$ vim /etc/fstab .host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0
Установка ESXi 6.X -------------------------------------------------------------
![](https://www.google.com/images/icons/product/drive-32.png)
Установка машины ESXi 6.X ----------------------------------------------
![](https://www.google.com/images/icons/product/drive-32.png)
Установка ESXi 7.X ------------------------------------------------------------
![](https://www.google.com/images/icons/product/drive-32.png)
ESXi-Citrix Xen, добавление локального хранилища --------------------------
Для начала добавить диск, далее:
1. fdisk -l
2. Creat physical volume: pvcreate /dev/sdb
3. Creat logical volume:
xe sr-create type=lvm content-type=user device-config:device=/dev/sdb name-label=LocalStorage02
----sources.list-----
/etc/apt/sources.list
https://repogen.simplylinux.ch/ <------ UBUNTU
http://debgen.simplylinux.ch/ <------ DEBIAN
---------------------
apt-get install sudo
groups [имя пользователя]
gpasswd -a [имя пользователя] [имя группы]
---------------------
isolation.tools.copy.disable false
isolation.tools.paste.disable false
http://swasher.pp.ua/esxi-kak-vkliuchit-copy-paste
(Если ESXi поставлен в VM VirtualBox, то это работает, в VMware Workstation вроде как нет..????)
---------------------
sudo service ssh stop .../start .../restart ...
---------------------
http://www.gotoadm.ru/commands-to-console-esxi/
http://sysadminblog.ru/vmware/2012/10/08/arhivaciya
http://www.vmgu.ru/news/vmware-vsphere-5-snapshot-files
http://www.vmware.com/ru/support/vsphere.html
http://www.vmgu.ru/articles/vmware-data-recovery-vsphere-overview
Сеть VMware ESXi
vSwitch - виртуальный L2 коммутатор (Layer2 или L2)
pSwitch - физический L2 коммутатор
vSwitch - Ключевой компонент виртуальной сетевой инфраструктуры, виртуальный коммутатор устройство передающее данные между виртуальными машинами посредством виртуальных компьютерных сетей. vSwitch бывает двух типов - простые - Standard Switches и распределенные - Distributed Switches. Простой виртуальный коммутатор логически располагается внутри физического сервера, в то время, как распределенный может быть распространен на несколько физических серверов. vSwitch работает под управлением гипервизора (vmkernel) и отвечает за все сетевые операции хоста, в том числе он обеспечивает прохождение управляющего трафика. Все сетевые компоненты ESX(i) хоста подключаются к vSwitch через Port group - портгруппы.
Важным замечанием является то, что vSwitch - сетевое устройство, работающее на L2, канальном уровне сетевой модели OSI. Как любое устройство второго уровня, vSwitch отвечает за доставку пакетов соседним устройствам и не может осуществлять маршрутизацию. Поэтому если возникает необходимость доставки пакета в сегмент сети, напрямую не подключенный к vSwitch, то требуется наличие дополнительного маршрутизирующего устройства (физического или виртуального), по этому ВМ, подключенные к разным vSwitch на одном хосте, будут общаться через внешнюю сеть (по средствам своих сетевых адаптеров vmnic0, vmnic1, vmnic2 ....и тд). Прямое соединение vSwitch между собой невозможно. Поэтому невозможно и образование петель.
Port group - виртуальная сеть объединяет виртуальные сетевые адаптеры виртуальных машин в виртуальную компьютерную сеть и определяется уникальной меткой. Могут быть:
VMkernel Port - служебные (The VMkernel TCP/IP stack handles traffic for the following ESXi services:
vSphere vMotion,iSCSI,NFS, and host management). http://vmblog.ru/port-vmkernel
Служебные виртуальные сети - предназначены для управления виртуальной средой и/или передачи служебных данных. Без VMkernel Port службы: vSphere vMotion,iSCSI,NFS не будут работать на сервере ESX/ESXi.
Virtual Machine Port group - общего назначения, Virtual machine port group создается автоматически при установке гипервизора ESXi на сервер, как и VMkernel Port Menagement Network
Виртуальные сети общего назначения - используются для передачи данных между виртуальными машинами, виртуальными машинами и внешней средой.
Порт группы добавляются на вкладке Configuration/Networking/Add Networking. В окне Connection type выбирается либо Virtual Machine Port group - Virtual Machine, либо VMkernel - VMkernel, с возможностью их подсоединения к любым vSwitch. vmnic0, vmnic1, vmnic2 ....и тд обозначение физических сетевых адаптеров (NIC)
vmk0 - порт управления, после установки гипервизора ESXi, мы видим на экране, что для управления нужно подключиться к ip адресу xxx.xxx.xxx.xxx, этот адрес присвоенный порту vmk0, который подключен к виртуальному свитчу vSwitch0, к нему же подключена физическая сетевая карта vmnic0. В vSphere client отображается в группе VMkernel Port - Menagement Network.
E1000 — это эмулируемый сетевой гигабитный контролер Intel 82545EM.
VMXNET3 — виртуальная сетевая карта 10Gb.
http://vmind.ru/e1000-vs-vmxnet3/
http://www.vmgu.ru/news/vmware-vsphere-vnic-for-esxi-vm
http://www.vmgu.ru/vmware-vsphere-vnic-esx
---------------------------------------------------------
Хорошая статья: http://www.stseprounof.org/install-esxi-part3/ ..как и part1, part2
http://blog.vadmin.ru/2010/10/standard-vswitch-1.html
http://www.vmstart.ru/tso-kalkulyator/312-vmware-set
---------------------------------------------------------
ESXi-pfSense ------------------------------------------------------------------------------------
![](https://www.google.com/images/icons/product/drive-32.png)