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

esxi-customizer

Установка

 Если посетить сайт 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 -------------------------------------------------------------

Установка машины  ESXi 6.X ----------------------------------------------

Установка ESXi 7.X  ------------------------------------------------------------

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 вроде как нет..????)

Сеть 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  ------------------------------------------------------------------------------------