Как обновить ESXi
Вопрос, как обновить ESXi, довольно просто решается, если в вашей инфраструктуре есть VCenter. Там обновление хостов и виртуальных машин осуществляется с помощью VUM(vsphere update manager). Однако, в небогатых небольших организациях или в тестовом окружении, VCenter, как правило отсутствует. Давайте рассмотрим, как в таком случае обновить хост(ы) ESXi.
Сейчас мой хост имеет следующую версию(посмотреть ее можно в клиенте на вкладке Help->About):
Как обновить ESXi
Для обновления хостов нам потребуется подключиться к хосту по SSH и воспользоваться командной строкой esxcli.
Сначала, выключите или переместите виртуальные машины с обновляемого хоста(не помешает сделать бэкап). Потом переведите хост в режим обслуживания, выполнив команду:
1 |
vim-cmd hostsvc/maintenance_mode_enter |
Мы будем рассматривать обновление из репозитория VMware, поэтому нам понадобится доступ в интернет и разрешающее правило файрвола:
1 |
esxcli network firewall ruleset set -e true -r httpClient |
Теперь давайте посмотрим список доступных образов ESXi, выполнив команду:
1 |
esxcli software sources profile list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml |
Чтобы осуществить поиск только определенной версии нужно дописать в конце | grep -i ESXi-6.5
Через некоторое время команда выведет список доступных образов:
Выбираем нужный образ и выполняем команду обновления с параметром —dry-run. Этот параметр позволяет посмотреть какие пакеты будут установлены, а какие удалены. Если в списке удаляемых есть необходимые вам пакеты, будьте готовы их потом поставить вручную.
1 |
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.5.0-20190104001-standard --dry-run |
После этого запускаем непосредственно обновление:
1 |
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.5.0-20190104001-standard |
Через несколько минут, в случае удачного обновления вы должны увидеть следующее:
Вводим команду reboot и перезагружаемся.
После перезагрузки выводим хост из режима обслуживания:
1 |
vim-cmd hostsvc/maintenance_mode_exit |
Проверяем версию ESXi:
И видим, что мы справились с задачей обновления хоста ESXi.
Установить апдейты можно и, скачав их на локальное хранилище хоста, командой типа:
1 |
esxcli software vib update -d "/vmfs/volumes/datastore1/patch-directory/ESXi500-201111001.zip" |
Вместо команды update можно использовать команду install, но учтите, что она перезаписывает все пакеты, установленные в системе, в то время как update заменяет только более старые версии пакетов, а те, которые новее, чем содержащиеся в патче, оставляет без изменений.
Источники:
https://tinkertry.com/easy-update-to-esxi-67
https://kb.vmware.com/s/article/2008939
http://www.virtubytes.com/2017/05/04/patch-esxi-using-esxcli-commands/
При попытке обновления выдает такую ошибку, места не хватает…
VIBs Skipped:
[root@localhost:~] esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.7.0-20200403001-standard
[InstallationError]
[Errno 28] No space left on device
vibs = VMware_locker_tools-light_11.0.1.14773994-15160134
Please refer to the log file for more details.
Проверьте свободное место на дисках. Если его достаточно, попробуйте сделать, как описано в статье:
https://fun-admin.ru/virtualizaciya/vmware/oshibka-errno-28-no-space-left-on-device/
или
https://www.vmgu.ru/news/vmware-esxi-update-esxcli-no-free-space-left-on-device
после полученной ошибки решил ставить версию no-tools, однако тут тоже не все так просто…
Что посоветуете? пока пойду логи поищу и почитаю…
VIBs Skipped:
[root@localhost:~] esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.7.0-20191201001s-no-tools
[InstallationError]
Failed updating the bootloader: Execution of command /usr/lib/vmware/bootloader-installer/install-bootloader failed: non-zero code returned
return code: 1
output: ERROR: ld.so: object ‘/lib/libMallocArenaFix.so’ from LD_PRELOAD cannot be preloaded: ignored.
Traceback (most recent call last):
File «/usr/lib/vmware/bootloader-installer/install-bootloader», line 31, in
import vmkctl
MemoryError
vibs = VMware_bootbank_esx-base_6.7.0-3.85.15160134
Please refer to the log file for more details.
точно свап не был прописан. Прописал и дальше нормально пошло обновление.
Спасибо!!!
Если всё, что написано по ссылкам, которые я скидывал, Вы уже сделали, попробуйте отключить USB драйвер на время обновления, как пишут:
[root@host:~] esxcli system module set -m=vmkusb -e=FALSE
Добавить после обновления:
[root@host:~] esxcli system module set -m=vmkusb -e=TRUE
Не забудьте написать, как решили проблему. Удачи!
Рад, что помогло!)
как быть в такой ситуации???
[root@2esxi:/tmp] vmware -lv
VMware ESXi 6.5.0 build-5969303
VMware ESXi 6.5.0 Update 1
[root@2esxi:/tmp] esxcli network firewall ruleset set -e true -r httpClient
[root@2esxi:/tmp] esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | sort -r
[MetadataDownloadError]
Please refer to the log file for more details.
Could not download from depot at https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml, skipping ((‘https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml’, », ‘file not found’))
url = https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
[root@2esxi:/tmp]
Проверьте настройку ДНС, наличие интернета на хосте, находится ли хост в maintenance mode. Поищите описание подобных ошибок, например здесь.
[InstallationError]
[Errno 28] No space left on device
включение свап / перезапуск хоста не помог ((
Роман, посмотрите решения, описанные здесь и здесь.
а после установки «глобального» обновления патчи ставить все по очередности или достаточно последнего?
Ставьте последний патч, если хотите иметь самую свежую версию. Этого достаточно.
Здравствуйте!
Хочу обновиться с версии 6.7 до 7.0U2
В 6.7 были интегрированы драйверы Realtek, т.к без них ESXi просто не вставал на хост.
Сейчас при выполнении команды
[root@localhost:~] esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-7.0U2a-17867351-standard —dry-run
выдаёт следующее
[DependencyError]
VIB Realtek_bootbank_net55-r8168_8.045a-napi requires vmkapi_2_2_0_0, but the requirement cannot be satisfied within the ImageProfile.
VIB Realtek_bootbank_net55-r8168_8.045a-napi requires com.vmware.driverAPI-9.2.2.0, but the requirement cannot be satisfied within the ImageProfile.
Please refer to the log file for more details.
Выходит что драйверы Realtek, интегрированные в 6.7 не подходят для 7.0?
Как быть?
Здравствуйте!
Думаю, нужно попробовать поискать драйвера, которые требуются для удовлетворения зависимостей и установить их. Можно также попробовать создать кастомный образ esxi.
Вообще, думаю, большая удача, что Ваш Realtek работал в версии 6.7. Ну, и еще как вариант, оцените целесообразность перехода на новую версию гипервизора.Если функционал текущей версии Вас устраивает, возможно, стоит остаться на ней.
Здравствуйте. Обновляю патчами ESXi 5.5.0 и столкнулся с такой проблемкой. После обновления и перезагрузки не появляется режим Recovery Mode (он же shift+r) почему так? Может секрет в команде esxcli software profile update?
И еще вопрос к знатокам, на сервере вышла из строя родная usb флешка от HP на 2гига, поставил первую попавшуюся на 4гига, восстановил на нее бекап .img предыдущего диска(и новую установку пробовал тоже), сервер грузится только со второй попытки с флешки стабильно после каждого reboot в консоли. Если делать poweroff то грузится нормально всегда. Это вина самой флешки или материнская блата дохнет?
Александр, здравствуйте. По поводу Recovery Mode, возможно, поможет вот эта статья. По поводу загрузки с флешки — не сталкивался с такой проблемой. Посмотрите порядок загрузки в БИОС, ну или, может быть, кто-то из читателей сайта что-нибудь подскажет. В любом случае, если решите проблему, поделитесь решением, если не трудно. Возможно, оно кому-то поможет.