Как обновить 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. Ну, и еще как вариант, оцените целесообразность перехода на новую версию гипервизора.Если функционал текущей версии Вас устраивает, возможно, стоит остаться на ней.