Esxi
Содержание
Запуск внутри PVE
Включить возможость использования виртуальными машинами вложенной виртуализации
Это когда сам esxi запущен внутри виртуальной машины, гипервизор для которой представляет вложенную виртуализацию
Надо добавить к каждому конфигу виртмашины параметр
vmx.allowNested = "TRUE"
Вернуть хранилище, которое отвалилось
Смотрим какие доступны:
esxcli storage vmfs snapshot list
в ответе будет идентификатор
Монтируем хранилище на место
esxcfg-volume -M 5d35b757-601d4e84-bd89-0050569254dc
Идентификатор в этом контексте -- это 5d35b757-601d4e84-bd89-0050569254dc
Важно! Нужно после возвращения хранилища на место корректно выключить и включить операционную систему, чтобы убедиться, что при повторном включении хранилище сразу на месте
Оригинал стати с проблемой и решением: https://communities.vmware.com/t5/ESXi-Discussions/Need-to-add-an-existing-local-datastore-from-before-a-re-install/m-p/490383
Заставить всегда при запуске виртмашины автоматически отвечать на вопросы
В файле
/etc/vmware/config
Убрать строчку
vhv.enable="TRUE"
Оригинал стати с проблемой и решением: https://communities.vmware.com/t5/ESXi-Discussions/Confirmation-on-launching-without-VT-x-EPT/m-p/934986#M80220
Проблемы
Разрвернули OVA образ в VirtualBox, а он не работает. Висит на проверке модулей
Нужно переключить архитектуру виртуальной машины на 64-разрядную
Говорит, что нет сетевого адаптера (в VirtualBox)
Нужно переключить сетевой адаптер в режим работы
Intel/PRO 1000 T Server
Диски (в VirtualBox)
Диски нужно вешать на шину
AHCI (SATA)
MAC адреса
Сбросить MAC адрес на железный
Положить внутрь этот скрипт
cat fix.sh #!/bin/sh newmac=$(esxcfg-nics -l | grep vmnic0 | awk {'print $7'}) oldmac=$(cat /etc/vmware/esx.conf | grep 'vmkernelnic' | grep -o '..:..:..:..:..:..') sed -i "s/$oldmac/$newmac/g" /etc/vmware/esx.conf; echo "test new mac $newmac" cat /etc/vmware/esx.conf | grep $newmac echo "please type command: reboot"
Сделать его исполняемым
chmod +x fix.sh
Запустить
./fix.sh
Перезагрузиться
reboot
Заменить вручную
При клонировании виртмашин с esxi вместе с ними клонируются и MAC адреса, которые настраиваются хост-машиной esxi как те, которые используются для работы в сети. Следовательно запуск больше одного экземпляра в одной сети приводит к тому, что глючит веб интерфейс всех запущенных машин (ещё бы, с одного и того же мак-адреса то в одном сегменте сети!)
Лечится так: заходим по SSH и меняем в конфиге машины стандартные маки на новые -- уникальные.
Для ленивых -- команда
MAC=96:6B:90:F6:35:77;sed -i "s/00:50:56:78:68:2f/$MAC/g" /etc/vmware/esx.conf;sed -i "s/00:50:56:92:54:dc/$MAC/g" /etc/vmware/esx.conf;sed -i "s/00:50:56:6d:bf:61/$MAC/g" /etc/vmware/esx.conf
, где
MAC=96:6B:90:F6:35:77
это переменная для работы последующих вызовов команды sed. Это новый мак адрес.
00:50:56:78:68:2f 00:50:56:92:54:dc 00:50:56:6d:bf:61
мак-адреса в конкретном конфиге (исторически сформированные кем-то там, кто делал саму сборку esxi и паковал её)
Т.е. зайдя на esxi хост по SSH нужно выполнить эту команду, подставив в переменную окружения желаемый мак адрес и заменив старые мак-адреса конкретной конфигурации.
Проверить себя можно так:
cat /etc/vmware/esx.conf | grep 2E:0E:65:1D:53:90
Должно выдать что-то типа этого:
/net/pnic/child[0000]/virtualMac = "2E:0E:65:1D:53:90" /net/pnic/child[0000]/mac = "2E:0E:65:1D:53:90"
Сменить порт веб интерфейса
Зачем?
Веб интерфейс прекрасно работает на портах, отличающихся от 443 (когда веб интерфейс нужен из-за файрвола и порт на файрволе отличается от родного порта esxi) до момента, пока не будет нужно подключаться к виртуальному дисплею виртмашины.
Еси в момент ошибки посмотреть в отладочную консоль браузера, то будет видно, что при подключении по
wss://
порт у хоста не меняется (т.е. остаётся 443).
Поэтому, необходимо глобально на уровне esxi менять веб порт и забрасывать снаружи точно такой же
Как?
Два этапа
Этап 1
Входим по ssh и выполняем команды
export OLDPORT=443 export NEWPORT=8516 sed -i "s/$OLDPORT/$NEWPORT/g" /etc/vmware/rhttpproxy/config.xml
Перезагружаемся командой
reboot
Этап 2
Опять входим через ssh (не расстраиваемся, если увидим на дисплее виртмашины картину, которая отличается от привычной. Доступ по ssh сохранится)
Выполняем внутри команды
export NEWPORT=8503 cat << EOF > /etc/vmware/firewall/changedport.xml <ConfigRoot> <service> <id>changedport</id> <rule id='0000'> <direction>outbound</direction> <protocol>tcp</protocol> <porttype>dst</porttype> <port>$NEWPORT</port> </rule> <rule id='0001'> <direction>inbound</direction> <protocol>tcp</protocol> <porttype>dst</porttype> <port>$NEWPORT</port> </rule> <enabled>true</enabled> <required>false</required> </service> </ConfigRoot> EOF
Тут жмём Enter, чтобы завершить формирование файла посредством heredoc синтаксиса
Обновляем настройки файрвола командой:
esxcli network firewall refresh
Поможет? (нет!)
НЕТ!
Если вы надеетесь, что смена порта поможет использовать встроенный плагин, открывающий виртуальный дисплей машины в браузере на порту, отличном от 443, то... Нет, не поможет.
Этот плагин как подключался к wss://host/чтототам (т.е. стандартный 443 порт), так и будет продолжать. Т.е. веб интерфейс будет работать на другом порту, а веб консоль - нет.
Выход один -- проксировать через nginx. Ну или через другой вебсервер.