Пошаговое руководство по резервированию конфигурации VMWare ESXi
А так же переносу ее на новую инсталляцию ESXi.
Небольшое вступление:)
С VMWare я познакомился на практике не так давно, это была версия 5.5.
До этого задач для ее использования у меня не было, да и железо делить смысла особого не было.
Количество железа росло ежегодно, по случаю вернулись с colocation пару серверов Dell, решил попробовать ESXi.
Понравилось, кроме 1С — удалось виртуализовать, но скорость работы что SQL версии, что файловой была очень медленной.
В результате появился новый сервер и VMWare версии 6.7 установленная на USB flash.
Несколько слов про установку на USB носитель ESXi
Такой вариант имеет плюс и толстый минус:
- + Вы физически отделяете хранилище от системы
при условии, что не используете отдельную СХД - — Низкая надежность потребительских USB flash
На днях я заметил, что в устройствах хранения USB носитель выдает ошибку:
Было принято решение развернуть новую инсталляцию на новую флешку.
Кроме того нужно будет восстановить конфигурацию.
Успешность операции будет выше при использовании точного такой же версии VMWare ESXi.
Так же будет плюсом наличии резервной копии, которая была сделана до момента выхода из строя флешки.
Для реализации нашей задумки должен быть включен доступ к VMWare по ssh.
Все операции будут производится в консоли ssh.
Делаем бекап конфигурации:
Конфигурация сохраняется каждый час, для актуализации запускаем команду:
vim-cmd hostsvc/firmware/sync_config
Сохраняем конфигурацию в архив:
vim-cmd hostsvc/firmware/backup_config Bundle can be downloaded at : http://*/downloads/528e6ed1-228d-8f9d-8b6a-8858c40d1ef4/
В файловой системе полученный архив хранится по адресу (будет доступен несколько минут):
/scratch/downloads/528e6ed1-228d-8f9d-8b6a-8858c40d1ef4/configBundle-localhost.tgz
Директория /528e6ed1-228d-8f9d-8b6a-8858c40d1ef4 у вас будет другая
Скачиваем получившийся архив по вышеуказанной ссылке, подставив ваше значение IP адреса:
- С помощью браузера
- Клиентом SFTP (Far, TC, etc..)
- scp предварительно подключив правило FireWall:
esxcli network firewall ruleset set --allowed-all false --ruleset-id=sshClient
Или через веб-интерфейс в разделе «Networking»
scp /scratch/downloads/528e6ed1-228d-8f9d-8b6a-8858c40d1ef4/configBundle-localhost.tgz username@192.168.0.55:
Переименовываем архив (иначе при восстановлении получим ошибку):
mv configBundle-localhost.tgz configBundle.tgz
Архив получен, поэтому гасим ESXi хост.
Меняем старую флешку на новую и устанавливаем систему.
Во-первых — обратите внимание, чтобы систему установить именно на флешку:)
Во-вторых — после установки задаем IP адрес, или получаем по DHCP.
В-третьих — разрешаем доступ по SSH.
Копируем полученный архив на новый хост:
В директорию /tmp
Включаем режим обслуживания:
vim-cmd hostsvc / maintenance_mode_enter
Команда восстановления:
vim-cmd hostsvc / firmware / restore_config /tmp/configBundle.tgz
Хост после выполнения команды перезагрузится.
Режим обслуживания после перезагрузки у мена отключился сам.
Тем не менее команда отключения режима обслуживания:
vim-cmd hostsvc / maintenance_mode_exit
На этом все, конфигурация восстановлена.
На самом деле все это работает, если флешка еще исправна.
Я получил на архив в формате tar и при попытке восстановления получал ошибку:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundlel.tar
(vim.fault.FileNotFound) {
faultCause = (vmodl.MethodFault) null,
faultMessage = ,
file = «/tmp/configBundle.tgz»
msg = «Received SOAP response fault from []: restoreConfiguration
File /tmp/configBundle.tgz was not found»
Из вывода видно что требуется файл именно с именем configBundle.tgz.
Поэтому мы с вами переименовывали файл.
Я решил данную проблему тупо поменяв расширение на tgz.
Вывод:)
Не лениться и делать после любой смены конфигурации именованный архив конфигурации.
Можно конечно автоматизировать, но я так редко что-то меняю в конфигурации.