Русский
Русский
English
Статистика
Реклама

Vmware esxi

Перевод Играем в Doom в среде VMware ESXi на Raspberry Pi

01.11.2020 20:22:23 | Автор: admin

Недавно мы опубликовали статью о VMware ESXi на Raspberry Pi. В начале октября разработчики анонсировали техническое превью гипервизора VMware ESXi на архитектуре aarch64 под названием ESXi-Arm-Fling.

Повторять суть той статьи не будем, вспомним лучше основной вывод гипервизор на Raspberry Pi нужен для того, чтобы обкатать технологию работы ESXi на ARM-процессорах. Но еще можно развлечься. Если у вас есть свободное время, попробуйте тряхнуть стариной, поиграв в Doom в среде VMware ESXi на Raspberry Pi. Под катом подробности, как это сделать.

Главное, что нужно сделать, установить ESXi на вашей малинке. Процесс установки можно посмотреть на страничке Fling. Загрузить пакет по этой ссылке. Совет: даже если вы опытный пользователь/администратор vSphere, изучите подробности установки ESXi.


Как только все готово и у вас появился доступ к интерфейсу ESXi HTML5, можно установить виртуальную машину на базе ARM. Один из неплохих вариантов Ubuntu 20.04.1 LTS.

Загрузите .iso в Datastore. В качестве последнего можно использовать адаптер M.2-USB. Для того чтобы получить такую возможность, необходимо отключить USB Arbitrator.

~ # /etc/init.d/usbarbitrator stop
~ # chkconfig usbarbitrator off


После этого перезагрузите ESXi и создайте Datastore при помощи интерфейса HTML5. Если на этом этапе возникли какие-то проблемы, стоит ознакомиться с деталями установки вот здесь.

Теперь самое время создать виртуальную машину со следующими характеристиками:

  • OS: Ubuntu Linux (64-bit)
  • 2 vCPU
  • 2 GB ОЗУ
  • CD Drive: Datastore ISO File (ubuntu-20.04.1-live-server-arm64.iso)

Все остальное можно оставить по умолчанию. Кроме того, не стоит играться с настройками SCSI- или IDE-контроллеров, поскольку в один прекрасный момент виртуальная машина может просто перестать нормально работать. Просто оставьте то, что было по умолчанию, SATA.

После запуска виртуальной машины должна начаться установка Ubuntu. Проблем на этом этапе возникнуть не должно просто следуйте инструкции. После завершения установки залогиньтесь и установите дополнительные пакеты:

# sudo apt-get install libsdl-mixer1.2-dev libsdl-net1.2-dev gcc make unzip

Загружаем и компилируем Chocolate Doom:

# wget wget www.chocolate-doom.org/downloads/2.2.1/chocolate-doom-2.2.1.tar.gz
# tar xzf chocolate-doom-2.2.1.tar.gz
# cd chocolate-doom-2.2.1/
# ./configure make
# sudo make install


Ну а теперь момент откровения. Загружаем файл Doom WAD. Это оригинальная версия игры. Если нужны модифицированные версии, их можно поискать в сети, за прошедшее с момента выхода игры время чего только не придумали.

Модифицировать Doom не составляет особого труда звуковые файлы, текстуры и все прочие ресурсы хранятся в отдельных папках. В целом, Doom изначально задумывалась кастомизируемой игрой, которую могут с легкостью изменять игроки.

# wget www.doomworld.com/3ddownloads/ports/shareware_doom_iwad.zip
# unzip shareware_doom_iwad.zip


Самое время играть!

# chocolate-doom -iwad DOOM1.WAD



Да, не очень. Вот такая картинка получается, если играть по SSH. Лучше всего, конечно, использовать десктопную версию. У Ubuntu Server десктоп не установлен по умолчанию. Если он нужен, выбираем tasksel, запускаем и выбираем Ubuntu desktop.

# sudo apt-get install tasksel
# sudo tasksel




Установка займет какое-то время. После завершения перезагружаем систему для автоматической загрузки десктопной версии. Дальше все просто:

# cd chocolate-doom-2.2.1/
# chocolate-doom -iwad DOOM1.WAD




Подробнее..

Мониторинг дисковой подсистемы VMware через CIMZabbix

18.02.2021 18:15:13 | Автор: admin

В 2021 году уже известно, что Zabbix предлагает в качестве средства комплексного мониторинга инфраструктуры VMware набор шаблонов, использующих функционал Low Level Discovery (LLD) и элементы типа Host prototype, в которых создаются стандартные списочные сенсоры из известных vCenter'у. Однако отнюдь не все вендоры оборудования корректно публикуют сенсоры или счетчики своих устройств в доступном для vCenter виде. Здесь рассматривается в подробностях настройка мониторинга для всё ещё поддерживаемых, но не отображающих состояние в vCenter контроллерах дисковой подсистемы Adaptec SmartRAID. Способ получения данных может быть пригоден и для других вендоров.

Итак, задача. Есть несколько хостов ESXi, купленных порознь у разных вендоров, с разным наполнением, и есть охота заиметь под них одинаковый мониторинг. Часть хостов выдает информацию в vSphere web client, но неструктурировано - никаких красивых группировок сенсоров по слову "storage" и близко нет, другая часть вообще ничего не выдает. При этом необходимое ПО установлено! Пример:

[root@esxi-8:~] esxcli software vib list
<snip>
scsi-aacraid 6.0.6.2.1.59002-1OEM.600.0.0.2494585 Adaptec_Inc VMwareCertified 2020-08-14
arc-cim-provider 3.07-23850 Adaptec VMwareAccepted 2021-02-15
arcconf 3.07-23850 Adaptec VMwareAccepted 2021-02-15

Как видим, в списке есть и драйвер для контроллера (здесь Adaptec RAID 8805), и утилита управления arcconf, и "родной" провайдер данных для внешних служб (далее "CIM провайдер") arc-cim-provider, все последних версий. Версия VMware на хосте 6.7U3, и сенсоров состояния подсистемы хранения в ней нет. Однако, если есть провайдер, то как-то можно получить от него данные - этим и займемся.

Во-первых, как получать эти данные. В документации на VMware, помимо всего прочего, сказано, что есть сервис sfcb, который запускается при установке стороннего CIM-провайдера, и сервис openwsman, представляющий собой сервер WS-Management, к тому же, умеющий работать с более примитивными запросами CIM или WBEM. А для работы с данными протоколами есть вполне серьезный клиент pywbem, возвращающий данные в любом удобном виде. Для своей реализации мониторинга я взял более привычную мне среду программирования bash и wbemcli в качестве средства обращения к хосту ESXi.

Чтобы получить данные от хоста, необходимо на нем авторизоваться, но локального root, естественно, заббиксу никто давать не будет. Поэтому на каждом хосте, подлежащем отслеживанию, нужно создать пользователя с ограниченным доступом, но в то же время имеющего доступ к подсистеме CIM, которая в VMware ограничена дополнительно. m4ce, создавший свой вариант шаблона для ESXi-хоста, выложил инструкцию, как правильно создать пользователя для Zabbix на ESXi-хосте версий 6.х (для более ранних необходимы слегка другие команды):

/usr/lib/vmware/auth/bin/adduser -s /sbin/nologin -D -H zabbix -G rootecho "secure_zabbix_password" | /usr/lib/vmware/auth/bin/passwd --stdin zabbixvim-cmd vimsvc/auth/role_add CIM_ReadOnly Host.Cim.CimInteraction System.Anonymousvim-cmd vimsvc/auth/entity_permission_add vim.Folder:ha-folder-root 'zabbix' false CIM_ReadOnly true

Инструкция слегка избыточна, так как, если когда-то мониторинг по CIM/WBEM/WS-Man уже настраивался, роль пользователя, подобная CIM_ReadOnly, может существовать, но на чистой системе подобных ролей не найдено.

Далее самое интересное. Дело в том, что сенсоры, которые собирает VMware vCenter, находятся в пространстве имен WBEM "по умолчанию", оно же "root/cimv2", а так как информации о дисках там нет, либо она в кривом виде, нужно найти правильное пространство имен, где эти данные есть, и правильные имена классов устройств, которые нужно отслеживать. Вторая часть несколько проще - беглым поиском находятся имена классов CIM_DiskDrive, CIM_StorageVolume, CIM_Controller, от которых можно отталкиваться в поисках фактических элементов. А с первой поможет вот этот документ от VMware (PDF), содержащий ссылки на ужасно обрезанную документацию по вендорским провайдерам. Но она есть, и вуаля - для Adaptec CIM Provider найдено пространство имен "root/pmc/arc/smi_15". Из того же документа можно узнать пространства имен и для других вендоров, пусть иногда и не напрямую - например, для Emulex пространство имен "root/emulex".

Небольшой офф-топик

Если в одной строке появляются несколько символов подчеркивания, визуальный редактор их сжирает, думая, что это элемент форматирования. Как это отрубить?

Теперь у нас есть вся необходимая информация, чтобы начать собирать какие-то данные с хоста. Но данные из wbemcli возвращаются в очень громоздком и нечитаемом виде, мало того, адресуются элементы в командной строке не очень легко, к тому же, в Zabbix нужно суметь передать структуру обнаруженных данных через тот же механизм LLD. Для этого я написал скрипт, который умеет две вещи - отдавать найденные инстансы некоего класса из определенного пространства имен в Zabbix, и отдавать необработанные данные wbemcli при запросе конкретного инстанса. Скрипт представляет собой обертку над вызовами wbemcli einи wbemcli gi, с форматированием данных в режиме обнаружения в формат, приемлемый для Zabbix'a. Шаблон для его использования находится там же, в нем настроены некоторые основные параметры отслеживаемых физических и логических дисков - для физических это состояние, температура (два варианта - один для сервера с HDD, второй для сервера с SSD, они заполняют разные параметры!), флаг состояния SMART (тоже два), счетчик оставшегося ресурса SSD и счетчики аппаратных ошибок, для логических - только состояние, и некоторые базовые триггеры на их основе. Дополнения и тесты на не-Adaptec системах приветствуются.

Напоследок: Если вы не сумели найти правильное пространство имен, в поисках поможет то, что "пространство имен" - это тоже класс, с именем __namespace, перечисление экземпляров которого можно начать с пространства "root".

Подробнее..

VMware ESXi на Raspberry Pi

13.10.2020 18:18:35 | Автор: admin

Ранее мы рассказывали, что VMware ESXi стала доступна для Raspberry Pi. В данной статье мы рассмотрим установку гипервизора и запуск гостевой ОС на Raspberry PI 4 Model B.

Подготовка рабочего места


Прежде чем приступать к установке, необходимо подготовить рабочее место. Вот что использовалось при написании инструкции:

  • Raspberry Pi 4 Model B 4GB RAM;
  • источник питания Qualcomm GA-QC810;
  • кабель USB A to USB type C;
  • карта MicroSD 16GB;
  • адаптер MicroSD to USB;
  • USB флешка 32GB;
  • USB флешка 16GB;
  • кабель HDMI-mini to HDMI;
  • комплект клавиатура+мышь с беспроводным адаптером;
  • ноутбук с Ubuntu 20.04;
  • кабель RJ-45;
  • монитор.

Уделите особое внимание источнику питания, так как нехватка тока может привести к разным ошибкам в процессе установки гипервизора. Используемый нами Qualcomm GA-QC810 дает 3А при напряжении 5В, что идеально подходит для нашей малинки. Также рекомендуем использовать активное охлаждение Raspberry PI вместо пассивного.

При установке рекомендуется использовать монитор и клавиатуру. Способ с использованием последовательного порта поддерживается, но ограничен по функциональности.

Обратите внимание, что на момент написания статьи VMWare ESXi не поддерживает модуль Wi-Fi, для подключения к сети используется только проводной интерфейс.

Теперь, когда известны все ограничения текущей версии, можно приступать к подготовке нашего одноплатного компьютера.

Обновление EEPROM


Первым делом обновите EEPROM малинки. Эта процедура выполняется в Raspberry PI OS. Эта ОС должна быть предустановлена на Raspberry PI, но, если вы уже устанавливали другую ОС, это не проблема.

Скачиваем Raspberry Pi Imager с официального сайта. Для Ubuntu программа распространяется в виде deb-пакета. Далее в терминале переходим в каталог со скачанным пакетом и устанавливаем его:

sudo dpkg -i imager_1.4_amd64.deb

Могут возникнуть ошибки, связанные с неразрешенными зависимостями. Необходимые зависимости устанавливаются с помощью команды apt:

sudo apt --fix-broken install

Если зависимости и Imager успешно установились, можно приступать к установке Raspberry Pi OS.

Окно Raspberry Pi Imager v1.4 с выбранными ОС и накопителем
Подключаем MicroSD-карту к ноутбуку и запускаем утилиту. В качестве ОС выбираем Raspberry Pi OS (32-bit), а в качестве SD Card подключенную MicroSD-карту. Убедитесь, что выбрали правильное устройство, так как нажатие кнопки write сотрет все данные на устройстве и запишет туда файлы выбранной ОС.

Запись Raspberry Pi OS на MicroSD-карту
После завершения записи утилита дополнительно проверит корректность записанных данных. Если все хорошо, то устанавливаем MicroSD-карту в Raspberry Pi и запускаем. После загрузки ОС нас приветствует первоначальная настройка ОС. Отвечаем на ее вопросы и ближе к концу соглашаемся обновить ПО.

Обновлений EEPROM не найдено
После обновления ПО можно приступать к обновлению EEPROM. Сначала проверим наличие обновлений:

sudo rpi-eeprom-update

У нас установлена актуальная версия, поэтому необходимости выполнять обновление нет. Однако если версия CURRENT все же отличается от LATEST, то обновляемся:

sudo rpi-eeprom-update -asudo reboot

Теперь, когда EEPROM обновлен, приступаем к установке образа UEFI.

Установка UEFI


Для загрузки VMWare ESXi необходим UEFI, которого по умолчанию нет на Raspberry Pi. Это легко исправить. Выключаем малинку, извлекаем MicroSD-карту и подключаем ее к ноутбуку.

Карточку необходимо отформатировать в FAT32 и примонтировать в удобное место:

sudo mkfs.fat -I /dev/sdXsudo mount /dev/sdX /mnt

Обратите внимание, что мы создаем файловую систему прямо на накопителе без использования таблицы разделов. Далее скачиваем и распаковываем архив с содержимым репозитория raspberrypi/firmware.

cd /tmpwget 'https://github.com/raspberrypi/firmware/archive/master.zip'unzip master.zip

В репозитории нас интересует содержимое каталога boot, кроме файлов с расширением .img, которые представляют собой образы с ядром ОС Linux. Избавляемся от img-файлов и копируем содержимое каталога на MicroSD-карту:

cd firmware-master/bootrm -f *.imgsudo cp -r * /mnt

Так как это оригинальные файлы прошивки, в них нет UEFI. Скачиваем модули с UEFI отдельно на странице релизов:

cd /tmpmkdir ueficd uefiwget 'https://github.com/pftf/RPi4/releases/download/v1.20/RPi4_UEFI_Firmware_v1.20.zip'unzip RPi4_UEFI_Firmware_v1.20.ziprm RPi4_UEFI_Firmware_v1.20.zip

Если вы используете Raspberry Pi с 4 ГБ оперативной памяти, то в config.txt необходимо добавить строчку gpu_mem=16:

echo "gpu_mem=16" >> config.txt

После этого добавляем файлы на MicroSD-карту:

sudo cp -r * /mnt

Далее отмонтируем карту, устанавливаем ее в Raspberry Pi и запускаем.

Экран выбора загрузки
Если все сделано корректно, то UEFI быстро загрузится и малинка предложит зайти в настройки или продолжить загружаться.

UEFI Setup Utility на Raspberry Pi
Заходим в Setup и видим достаточно привычную для серверов картину. Однако глаз цепляется за строку 3072 MB RAM. Объяснение этому достаточно простое. По умолчанию оперативная память ограничивается до 3 ГБ для совместимости с другими ОС.

Отключение искусственного ограничения оперативной памяти
Так как нам нужна вся доступная на малинке оперативная память, то находим пункт Limit RAM to 3 GB по пути Device Manager Raspberry PI Configuration Advanced Configuration и устанавливаем в Disabled. После этого сохраняем настройки нажатием клавиши F10 и выходим из Setup Utility. Для применения настроек необходимо выполнить перезагрузку, о чем нас и попросят. Соглашаемся на перезагрузку, и наш Raspberry Pi готов к установке гипервизора.

Подготовка установочной флешки


Заходим на страничку ESXi Arm Edition, выбираем ESXi-Arm-ISO, соглашаемся с лицензией Technical Preview и принимаем факт, что Flings это экспериментальное ПО и его стоит использовать только для тестовых целей.

Скачать образ без существующего аккаунта VMware не получится. Необходимо зарегистрироваться или войти со своей учетной записи. На странице загрузок выбираем ESXi for Arm ISO image (no VMware Tools). После скачивания разворачиваем ISO-образ на меньшую из флешек:

sudo dd if=VMware-VMvisor-Installer-7.0.0-16966451.aarch64.iso of=/dev/sdX bs=1M

Подключаем в Raspberry Pi флешку с образом и чистую флешку, которая будет выполнять роль системного диска, и включаем малинку.

Назначение порядка загрузки
По умолчанию порядок загрузки UEFI начинается с попыток загрузиться по сети. Так как мы работаем с флешками, то заходим в Setup Utility и меняем порядок в следующем пункте настроек: Boot Maintenance Manager Boot Options Change Boot Order Change the order. Записи меняют приоритет по нажатию кнопок . Устанавливаем флешки первыми.

После установки приоритета необходимо нажать Enter для сохранения нового порядка, а затем сохранить изменения в конфигурации с помощью F10. Перезагружаем Raspberry Pi и наконец попадаем в установщик VMware ESXi.

Установка VMware ESXi


Дополнительные параметры для установщика
Ранее мы говорили, что предпочтительным способом общения с установщиком является использование монитора и клавиатуры, а не консоли. Эта рекомендация имеет наибольшую силу во время начала установки. При использовании клавиатуры можно нажать Shift + O и задать параметры для установщика, в то время как в консольном режиме это невозможно.

Мы как раз воспользуемся этим для ограничения раздела VMFS-L до 1 ГБ. Нажимаем Shift + O и прописываем autoPartitionOSDataSize=1024. Так у нас останется место на Datastore для виртуальных машин. К сожалению, нам не удалось заставить ESXi видеть другие USB-накопители и iSCSI-устройства, поэтому ограничение раздела VMFS-L это пока единственный способ выделить место для хранилища ВМ.

Отвечаем на вопросы установщика, и спустя 10 минут VMware ESXi установлена. Обратим внимание, что установщик не задает вопросы про сетевые интерфейсы. Проводной интерфейс настроен получать адрес по DHCP, а беспроводной игнорируется системой.

Главная страница веб-интерфейса VMware ESXi
Если установка прошла успешно, то перезагружаем Raspberry Pi, извлекаем установочную флешку и дожидаемся загрузки гипервизора. Операционная система попытается получить адрес по DHCP на проводном интерфейсе, и если ей это удастся, то этап установки завершен.

Запуск виртуальной машины


Во время установки гипервизора мы ограничили размер VMFS-L раздела до 1 ГБ, что позволило оставить 20 ГБ под datastore место, где виртуальные машины хранят свои данные. Мы бы очень хотели воспользоваться возможностью загрузки готовых OVA-образов, но, к сожалению, под архитектуру ARM64 такие образы не находятся.

Установка Debian 10 из ISO-образа
Так как легким путем пойти не удалось, придется искать образы CD с ОС под архитектуру ARM64. Мы выбрали Debian 10 и скачали netinstall-версию с cdimage.debian.org.

При создании виртуальной машины нужно уделить особое внимание количеству оперативной памяти и размеру диска гостевой ОС. Во-первых, диск гостевой ОС должен быть от 16 ГБ, чтобы установщику было где развернуться. Во-вторых, количество свободного места на VMFS-разделе должно превышать количество выделенной оперативной памяти для ВМ.

Таким образом, при наличии 20 ГБ свободного места на VMFS получилось создать виртуальную машину с 2 ГБ оперативной памяти и 18 ГБ постоянной памяти. При нарушении этого условия виртуальная машина откажется запускаться, и одной из причин будет No space left on device.

Гостевая Debian 10 Buster и характеристики виртуальной машины
После множества попыток нам удалось установить Debian 10 на виртуальной машине в следующей конфигурации:

  • 2 vCPU;
  • 1 ГБ RAM;
  • 17 ГБ диск.

Со стороны операционной системы важными являются следующие настройки:

  • один раздел для всего на 17 ГБ;
  • не использовать swap;
  • из компонентов на выбор поставить только SSH Server.

Конечно, успех был достигнут не с первой попытки.

Рекомендации по решению проблем


При установке гостевой ОС необходимо помнить, что работа гипервизора и гостевой ОС производится в условиях жесткой нехватки аппаратных ресурсов. Для решения части проблем необходимо просто набраться терпения и подождать.

Но не все проблемы решаются бездействием. Так, например, нам не удалось установить Debian с первого раза, поскольку виртуальная машина зависла на этапе разбиения диска, а следом завис и гипервизор.

Жесткая перезагрузка помогла продвинуть установку Debian дальше, но на этапе установки ядра ВМ опять зависала, потребление CPU снижалось до минимума, как и обращение к дискам. Гипервизор был неспособен перезагрузить ВМ, а datastore browser отображал бесконечную загрузку. Подозрения пали на флешку с гипервизором.

Задержка при обращении к диску до 150 секунд
Просто заменить флешку было невозможно, так как внешних накопителей подобного объема в ближайшем доступе не было. Графики мониторинга гипервизора говорили о больших задержках при обращениях к диску. Мы проверили установку Ubuntu 20.04 и CentOS 7, и каждая из ОС выдавала схожие симптомы, а проблема воспроизводилась в конкретные этапы установки.

Предположили, что установщику не хватает места. Мы сократили раздел VMFS-L до 1ГБ и выделили виртуальной машине 16 ГБ. Это сместило зависание виртуальной машины на самый конец установки и подтвердило догадку. Опытным путем было установлено, что для минимальной установки Debian 10 требуется диск на 17 ГБ.

В нашей сборке бутылочным горлышком было пространство на флешке, которого не хватало. Эту проблему можно решить использованием внешнего жесткого диска, однако в этом случае рекомендуем убедиться, что питания Raspberry Pi хватит для работы этого диска.

Заключение


Мы добились желаемого и не просто поставили гипервизор на Raspberry Pi, но и установили гостевую ОС, которая корректно работает. Хочется отметить, что запуск VMware ESXi на малинке был увлекательной и местами нетривиальной задачей.

Несмотря на малую вычислительную мощность Raspberry Pi, вероятно в будущем, ее можно применить в качестве бюджетного хоста-свидетеля (witness) для программно-определяемого хранилища VMware vSAN.

Подробнее..

Первые шаги VMware GSX Server и ESX Server

11.12.2020 20:11:43 | Автор: admin

Этой небольшой статьей-заметкой мы хотели бы завершить серию публикаций, посвященных истории виртуализации в Enterprise-сегменте рынка. Сегодня поговорим о VMware, компании, которая на сегодняшний день является фактическим законодателем в мире виртуализации. Давайте посмотрим, как выглядели одни из самых ранних продуктов VMware: GSX и ESX.

VMware была основана в 1998 году. Её первым коммерчески успешным продуктом считается VMware Workstation, выпущенный в 1999 году и предназначенный для работы на клиентском железе.

Для серверных рабочих нагрузок в следующие 2 года был с нуля разработан продукт VMware GSX Server. Его название это сокращение от более длинного рабочего имени Ground Storm X. Первая коммерческая версия 1.0 датируется 2001-м годом. Устанавливалась она поверх Windows Server или SUSE Linux, что характеризует ее как гипервизор 2-го типа.

Усовершенствованная версия GSX Server 2.0 увидела свет через год, летом 2002-го. Под своим оригинальным именем продукт просуществовал вплоть до декабря 2005-го, когда была выпущена последняя коммерческая версия 3.2.1.

Гипервизор завоевал популярность благодаря широкому списку поддерживаемого оборудования (от сервера до обыкновенного десктопа) и простоте установки и первичной настройки. Кроме того в GSX наличествовали встроенные NAT и DHCP-сервер, что существенно облегчало процесс настройки сети.

Затем GSX Server был переименован в VMware Server и стал распространяться совершенно бесплатно. В списке поддерживаемых гостевых систем появились и 64-битные ОС, а гипервизор получил возможность выделять машинам несколько vCPU. VMware Server появилась 12 июля 2006-го и официально поддерживалась вплоть до 2011-го.

Сладкий плод виртуализации понравился инженерами VMware. Гипервизоры 2-го типа это хорошо, но 1-й тип способен дать гораздо больше возможностей!

Параллельно с GSX Server шла разработка нового гипервизора типа 1. В отличие от предшественника, его уже можно было установить на голое серверное железо без ОС-посредника.

Продукт получил рабочее название VMware Scalable Server. В настоящее время он известен уже под именем ESXi. Ниже приводим скриншот, приблизительно датированный 1999-2000 годом.

Уже совсем скоро, к 2000-му, проект получил новое название: VMware Workgroup Server. А в марте 2001-го компания официально выпустила VMware ESX 1.0 Server. ESX это аббревиатура от Elastic Sky X. Забавно, но придумали его вне стен VMware. Сотрудники компании прекрасно разбирались в компьютерах, но ничего не смыслили в рекламе и маркетинге. Специально нанятое агентство предложила лаконичный вариант Elastic Sky. Инженеры взбунтовались: как это, новый коммерческий продукт, в названии которого нет ни малейшей технарской изюминки?!

И добавили в конце загадочный X. Почему? Вероятно, чтоб никто не догадался!. Да и звучит более круто. Забавно, как точно это имя попало в цель: вряд ли в далеком 2001-м кто-то придумывал его с оглядкой на облачные вычисления.

Впоследствии вокруг нового продукта сформировался целый отдел, самым известным сотрудником которого был Джон Аррасджид, один из авторов и ведущий архитектор vCloud Architecture Toolkit (vCAT).

VMware ESX Server стал первым на рынке гипервизором 1-го типа для Intel x86. В нем были впервые реализованы многие функции, ставшие едва ли не стандартом: живая миграция виртуальных машин, High Availability, автоматический балансировщик нагрузки, инструменты управление питанием и т.п.

В течение нескольких лет ESX и GSX были одновременно доступны широкой аудитории. GSX целился в более приземленную аудиторию: малый бизнес, небольшие государственные учреждения, в то время как ESX стал флагманским продуктом для Enterprise-сектора. Однако по-настоящему серьезно ESX начал использоваться лишь к 2006 году.

Среди прочего ESX имел сервисную консоль. Ее роль выполняла виртуальная машина на Linux, через которую можно было управлять хостом и другими ВМ. Для установки дополнительно программного обеспечения сторонних производителей (например, сервисов резервного копирования) предполагалось использовать программы-агенты.

Еще до того, как ESX начал серьезное распространение в бизнес-среде, началась разработка его преемника, уже без сервисной консоли. К сентябрю 2004-го внутри компании состоялась презентация первой полнофункциональной версии продукта под названием VMvisor (VMware Hypervisor). Через 3 года этот продукт появится на рынке под общеизвестным именем ESXi.

На выставке VMworld 2007 компания представила VMware ESXi версии 3.5. Прошлые версии программы существовали только в недрах VMware и не демонстрировались широкой публике.

ESXi занимает гораздо меньше места, чем ESX, и может быть установлен во флэш-память. Фактически, его уже можно рассматривать как часть сервера на это намекает буква i в его названии. Она означает Integrated, интегрированный.

Вплоть до выхода vSphere 4.1 VMware предлагала клиентам два варианта: VMware ESX с Linux-консолью и ESXi с меню настройки сервера. Поддержка ESX официально завершилась с выпуском vSphere 5.

Программное обеспечение, как и гипервизор, несколько раз меняло названия. Например, VMware VMcenter настолько редко и давно использовалось, что по нему даже толком ничего не гуглится. Разумно предположить, что это одно из внутренних наименований продукта. Оно фигурирует, например, на этом скриншоте:

Весь дальнейший путь VMware хорошо известен всякому пользователю или системному администратору, который хотя бы раз сталкивался с виртуализацией. Пул решений компании велик и разнообразен, а перспективные разработки, такие как Tanzu, не так давно начали появляться вне тестовых стендов.

Подробнее..

Как победить фиолетовый экран смерти VMware?

29.09.2020 14:15:47 | Автор: admin

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

Что такое PSOD?

PSOD расшифровывается, как Purple Screen of Diagnostics, часто называемый Purple Screen of Death от более известного Blue Screen of Death, встречающегося в Microsoft Windows.

Это диагностический экран, отображаемый VMware ESXi, когда ядро обнаруживает фатальную ошибку, при которой оно либо не может безопасно восстановиться, либо не может продолжать работу.

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

Данный экран отображается в консоли сервера. Чтобы увидеть его, вам нужно будет либо находиться в центре обработки данных и подключить монитор, либо подключиться удаленно с помощью внеполосного управления сервером (iLO, iDRAC, IMM и т.д. в зависимости от вашего вендора).

Рисунок 1 Рисунок 1

Почему появляется PSOD?

PSOD- этосбой в ядре. Все мы знаем, что ESXi не основан на UNIX, но механика сбоя соответствует определению UNIX. Ядро ESXi (vmkernel) запускает эту меру безопасности в ответ на события или ошибки, которые невозможно исправить, это будет означать, что продолжение работы может создать высокий риск для служб и виртуальных машин. Проще говоря: когда хосты ESXi чувствуют, что они повреждены, они совершают харакири и, истекая пурпурной кровью, пишут предсмертную записку с подробным описанием причин, по которым они это сделали!

Наиболее частые причины PSOD:

1. Аппаратные сбои, в основном связанные с RAM или CPU. Обычно они выдают ошибку MCE или NMI.

MCE исключение проверки компьютера, которое представляет собой механизм в ЦП для обнаружения и сообщения о проблемах с оборудованием. В кодах, отображаемых на фиолетовом экране, есть важные детали для определения основной причины проблемы.

NMI немаскируемое прерывание, то есть аппаратное прерывание, которое не может игнорироваться процессором. Поскольку NMI является очень важным сообщением об отказе HW, ответ по умолчанию, начиная с ESXi 5.0 и более поздних версий, должен запускать PSOD. Более ранние версии просто регистрировали ошибку и продолжали. Как и в случае с MCE, фиолетовый экран, вызванный NMI, предоставляетважные коды, которые имеют решающее значение для устранения неполадок.

2. Программные ошибки

неверное взаимодействие между компонентами ESXi SW (см.KB2105711)

условия гонки (см.KB2136430)

из ресурсов: память, динамическая область памяти, буфер (см.KB2034111,KB2150280)

бесконечный цикл + переполнение стека (см.KB2105522)

неверные или неподдерживаемые параметры конфигурации (см.KB2012125,KB2127997)

3. Некорректно функционирующие драйвера;ошибки в драйверах, которые пытаются получить доступ к некорректному индексу или несуществующему методу (см.KB2146526,KB2148123)

Какое влияние оказывает PSOD?

Когда возникает сбой, хост выходит из строя изавершает работу всех служб, работающих на нем, вместе со всеми размещенными виртуальными машинами. Виртуальные машины отключаются резко ине завершаютсвою работу корректно. Если хост является частью кластера и вы настроили HA, эти виртуальные машины будут запущены на других хостах в кластере. Помимо простоя и недоступности виртуальных машин во время их простоя, грязное завершение может повлиять на некоторые критически важные приложения, такие как серверы баз данных, очереди сообщений или задания резервного копирования.

Кроме того, все другие службы, предоставляемые хостом, будут прекращены, поэтому, если ваш хост является частью кластера VSAN, PSOD также повлияет на vSAN.

Что делать?

1. Проанализируйте сообщение на фиолетовом экране.

Одна из самых важных вещей, которые нужно сделать при появлении фиолетового экрана - это сделать снимок экрана. Если вы подключаетесь к консоли удаленно (IMM, iLO, iDRAC, ), будет легко сделать снимок экрана, если нет такой возможности, хотя сфотографируйте экран на телефон. На этом экране много полезной информации о причине сбоя.

Рисунок 2 Рисунок 2

2. Обратитесь в службу поддержки VMware.

Прежде чем приступить к дальнейшему исследованию и устранению неполадок, рекомендуется обратиться в службу поддержки VMware, если у вас есть контракт на поддержку. Параллельно с вашим расследованием они смогут помочь вам в проведении корневого анализа причин (RCA).

3. Перезагрузите затронутый хост ESXi.

Чтобы восстановить сервер, вам необходимо перезагрузить его. Я бы также посоветовал оставить его в режиме обслуживания, пока вы не выполните полный анализ RCA, пока не будет определена и исправлена ошибка. Если вы не можете позволить себе держать его в режиме обслуживания, по крайней мере, точно настройте свои правила DRS, чтобы на нем работали только второстепенные виртуальные машины, чтобы в случае возникновения другого PSOD влияние было минимальным.

4. Получите coredump

После загрузки сервера вы должны собрать дамп ядра -coredump. Coredump, также называемый vmkernel-zdump, представляет собой файл, содержащий журналы с более подробной информацией, чем та, что отображается на фиолетовом экране диагностики, и будет использоваться при дальнейшем устранении неполадок. Даже если причина сбоя может показаться очевидной из сообщения PSOD, которое вы проанализировали на шаге 1, рекомендуется подтвердить ее, просмотрев журналы из coredump.

В зависимости от вашей конфигурации у вас может быть дамп ядра в одной из следующих форм:

а. Во временномразделе

b. В виде файла.dumpв одном из хранилищ данных хоста

c. В виде файла.dumpна vCenter через службу netdump

Coredump становится особенно важным, если конфигурация хоста должна автоматически сбрасываться после PSOD , и в этом случае вы не увидите сообщение на экране. Вы можете скопировать файл дампа с хоста ESXi с помощью SCP, а затем открыть его с помощью текстового редактора (например, Notepad ++). Он будет вмещать содержимое памяти на момент сбоя, и первые его части будут содержать сообщения, которые вы видели на фиолетовом экране. Служба поддержки VMware может запросить весь файл, но у вас лишь будет возможность извлечь только журнал vmkernel, который более нагляден:

Рисунок 3Рисунок 3

5. Расшифруйте ошибку.

Устранение неполадок и анализ причин позволяют почувствовать себя Шерлоком Холмсом. Самый важный симптом, с которого вам следует начать, - это сообщение об ошибке, создаваемое фиолетовым экраном.К счастью, количество выдаваемых сообщений об ошибках ограничено:

Exception Type 0 #DE: Divide Error
Exception Type 1 #DB: Debug Exception
Exception Type 2 NMI: Non-Maskable Interrupt
Exception Type 3 #BP: Breakpoint Exception
Exception Type 4 #OF: Overflow (INTO instruction)
Exception Type 5 #BR: Bounds check (BOUND instruction)
Exception Type 6 #UD: Invalid Opcode
Exception Type 7 #NM: Coprocessor not available
Exception Type 8 #DF: Double Fault
Exception Type 10 #TS: Invalid TSS
Exception Type 11 #NP: Segment Not Present
Exception Type 12 #SS: Stack Segment Fault
Exception Type 13 #GP: General Protection Fault
Exception Type 14 #PF: Page Fault
Exception Type 16 #MF: Coprocessor error
Exception Type 17 #AC: Alignment Check
Exception Type 18 #MC: Machine Check Exception
Exception Type 19 #XF: SIMD Floating-Point Exception
Exception Type 20-31: Reserved
Exception Type 32-255: User-defined (clock scheduler)

Поскольку сбой в ядре обрабатывается процессором, для получения дополнительной информации об этих исключениях см. Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32, том 1: Базовая архитектура иРуководство разработчика программного обеспечения для архитектур Intel 64 и IA-32, том 3A.

Наиболее распространенные случаи описаны в отдельных статьях базы знаний VMware. Поэтому используйте эту таблицу в качестве индекса для ошибок PSOD:

Пример ошибки

Подробная статья в базе знаний

LINT1/NMI (motherboard nonmaskable interrupt), undiagnosed

Использование аппаратных средств NMI для диагностики не отвечающих хостов (1014767)

Panic requested by one or more 3rd party NMI handlers

COS Error: Oops

Что такое фиолетовый диагностический экран Упс (1006802)

Lost Heartbeat

Что такое фиолетовый диагностический экран Потерянное сердцебиение (1009525)

ASSERT bora/vmkernel/main/pframe_int.h:527

Понимание фиолетовых диагностических экранов ASSERT и NOT_IMPLEMENTED (1019956)

NOT_IMPLEMENTED /build/mts/release/bora-84374/bora/vmkernel/main/util.c:83

Понимание фиолетовых диагностических экранов ASSERT и NOT_IMPLEMENTED (1019956)

Spin count exceeded (iplLock) possible deadlock

Что такое фиолетовый диагностический экран Превышено количество отжимов (1020105)

PCPU 1 locked up. Failed to ack TLB invalidate

Что такое ошибка подтверждения TLB, аннулирующая фиолетовый диагностический экран (1020214)

#GP Exception(13) in world 4130:helper13-0 @ 0x41803399e303

Общие сведения о событиях фиолетового экрана диагностики исключения 13 и исключения 14 (1020181)

#PF Exception type 14 in world 136:helper0-0 @ 0x4a8e6e

Machine Check Exception: Unable to continueHardware (Machine) Error

Вывод исключения проверки машины декодирования (MCE) после ошибки фиолетового экрана (1005184)

Hardware (Machine) Error

PCPU: 1 hardware errors seen since boot (1 corrected by hardware)

6. Проверьте журналы

Может случиться так, что причина не очень очевидна при просмотре фиолетового сообщения на экране или журнала дампа ядра, поэтому следующее место, где искать подсказки, - это журналы хоста, особенно во временном интервале, непосредственно предшествующем PSOD.Даже если вы чувствуете, что нашли причину, все же рекомендуется подтвердить ее, просмотрев журналы.

Если вы администрируете корпоративную среду, вероятно, у вас под рукой есть специализированное решение для управленияжурналами(например,VMware Log Insight или SolarWinds LEM), поэтому их будет легко просматривать, но если у вас нет управления журналами, вы можете легкоэкспортировать их.

Наиболее интересные файлы журналов для изучения:

Компоненты

Место расположения

Что это такое

Системные сообщения

/var/log/syslog.log

Содержит все общие сообщения журнала и может использоваться для устранения неполадок.

VMkernel

/var/log/vmkernel.log

Записывает действия, связанные с виртуальными машинами и ESXi.Большинство записей, относящихся к PSOD, будет в этом журнале, поэтому обратите на него особое внимание.

Журнал агента хоста ESXi

/var/log/hostd.log

Содержит информацию об агенте, который управляет и настраивает хост ESXi и о его виртуальных машинах.

Предупреждения VMkernel

/var/log/vmkwarning.log

Записывает действия, связанные с виртуальными машинами.Следит за записями журнала, связанными с истощение динамической области памяти (Heap WorkHeap).

Журнал агента vCenter

/var/log/vpxa.log

Содержит информацию об агенте, который обменивается данными с vCenter, поэтому вы можете использовать его для обнаружения задач, запускаемых vCenter и могущих вызвать PSOD.

Журнал shell

/var/log/shell.log

Содержит запись всех набранных команд, так что вы можете соотнести PSOD с выполненной командой.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru