Я пытался сделать интерактивное обновление VMware ESXi 5.0.0 update 1 до 5.0.0 update 2 через образ установщика, записанный на DVD.
Когда я впервые запустил обновление, все сначала казалось, что все идет хорошо. Я выбрал вариант «Обновить ESXi, сохранить хранилище данных VMFS».
Однако программа установки завершила работу с «неожиданной ошибкой»: «OSError: [Errno 39] Directory not empty». Он ссылался на каталог $ RECYCLE.BIN в корне тома VMFS, который в противном случае содержал только imgdb.tgz. Используя консоль обслуживания, я также обнаружил, что каталог $ RECYCLE.BIN содержит только файл DESKTOP.INI, содержимое которого согласовано с расширениями оболочки Windows.
Я подозреваю, что этому файлу удалось случайно попасть туда, когда я использовал инструменты на базе Windows (загружаемые отдельно) для проверки и управления томами RAID, на которые установлен хост. В любом случае файл не выглядел так, как будто он принадлежал и действительно мешал обновлению, поэтому я просто удалил его через консоль управления.
Затем я попытался выполнить обновление еще раз, но на этот раз установщик не предоставил параметр «Обновить ESXi, сохранить хранилище данных VMFS». Теперь установщик указывает для привода:
ESX (i) Найдено: Нет
(Он сказал «Да» до того, как установщик вылетел.)
Это позволило бы мне переустановить ESXi с нуля, сохранив хранилище данных, но в прошлом у меня были проблемы с такими вещами, как изменение MAC-адресов при повторном импорте виртуальных машин, поэтому я не хотел идти по этому пути.
Я также попытался удалить сам каталог $ RECYCLE.BIN, но это ничего не изменило.
Хост по-прежнему работает нормально, но мне нужно установить обновление 2 для поддержки Solaris 11.1.
Любая информация или предложения будут оценены!
Спасибо, Кевин
Я тоже столкнулся с этой проблемой, и я смог найти решение.
Некоторое объяснение для начала. Эта проблема вызвана загрузкой Windows, у которой есть доступ к дискам хранилища данных, в каждом разделе, который Windows видит, он создает папку $ RECYCLE: BIN, но символ $ создает проблемы с Linux, поэтому нам нужно удалить его. Поэтому, если вам когда-либо приходилось загружаться в Windows, я рекомендую очистить их перед обновлением или, что еще лучше, после загрузки в Windows.
Первый шаг - очистить папки $ RECYCLING.BIN.
cd /vmfs/volumes/
ls -allh
это перечислит все ваши томаls -allh [volume id]
(замените [идентификатор тома] каждым томом, указанным ранее)Теперь, когда мы определили, на каких томах есть папки, нам нужно их очистить.
cd [volume id]
mv '$RECYCLING.BIN' REC
(включая одинарные кавычки) (я не думаю, что это требуется, но я все равно это сделал)rm -rf REC
Папка должна исчезнуть, я снова запустил ls, чтобы убедиться, что папка исчезла, но это необязательно, я также запустил ls REC/
чтобы убедиться, что перед удалением в каталоге больше ничего не было.
Теперь мы займемся фактическим завершением обновления. Поскольку мы, по сути, «сожгли» вариант обновления с DVD, нам нужен другой способ, к счастью, есть несколько способов обновления.
esxcli network firewall ruleset set -e true -r httpClient
Что касается фактического обновления, есть два способа сделать это: а. позволить хосту загрузить необходимые файлы или b. загрузите архив обновления с сайта VMWare и загрузите его на хост (для этого требуется соответствующая лицензия в вашей учетной записи MyVMWare).
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.5.0-4564106-standard
В этой команде я обновляюсь до 6.5, если вы обновляетесь до более новой версии, вам нужно будет знать имя профиля, к счастью, вы можете получить его с сайта VMWare или образа iso, в корне диска есть XML файл под названием PROFILE.XML, если вы откроете его, вы увидите <name>
тег, это версия на диске, замените это в последней части команды.
Если вы обновляетесь с ZIP, вы будете использовать команду esxcli software vib update -d /vmfs/volumes/DATASTORE/VMware-ESXi-6.0.0-2494585-depot.zip
esxcli network firewall ruleset set -e false -r httpClient
, выйдите из режима обслуживания и не забудьте отключить SSHЯ знаю, что ему 4 года, но это по-прежнему один из лучших результатов в Google, а также есть только один соответствующий результат, так что это для всех, кто приходит.