Я только что унаследовал очень простую настройку виртуальной машины с парой кластерных серверов ESXi, и все в значительной степени подключено. Проблема в том, что у меня нет паролей root для серверов, и никто не знает, что они такое (пытались угадать пароль).
Насколько я понимаю, ESXi не имеет однопользовательского режима или чего-либо подобного. Какие у меня есть варианты, кроме резервного копирования виртуальных машин и уничтожения сайта?
Там являются методы сброса пароля root хоста ESXi при условии, что у вас есть физический или внеполосный доступ к серверу.
Что касается того, как это может случиться ... Плохая документация, злые администраторы, уволенные с работы, техник центра обработки данных, который не отключил CAPS-LOCK при создании серверов моя плохая память, и т.д, :)
Для ESXi, единственный поддерживаемый метод изменения пароля - переустановка.
Переустановка хоста ESXi - единственный поддерживаемый способ сбросить пароль на ESXi. Любой другой метод может привести к отказу хоста или неподдерживаемой конфигурации из-за сложной природы архитектуры ESXi. ESXi не имеет служебной консоли, и поэтому традиционные методы Linux для сброса пароля, такие как однопользовательский режим, не применяются.
Если у вас есть два хоста и у них есть ресурсы для его поддержки, вы можете vMotion (и / или хранилище vMotion) все серверы на одном хосте, удалить и перестроить пустой хост, добавить его обратно в кластер. Затем переместите всех гостей на восстановленный узел и удалите / восстановите оставшийся узел. Это позволит вам отремонтировать, не вызывая простоев у гостей. В зависимости от вашей инфраструктуры и количества виртуальных машин, которые необходимо переместить, восстановление двух хостов может занять меньше дня, если только у вас нет слишком большой или сложной конфигурации хоста.
Кроме того, если вы используете более старую версию ESXi, это также хорошее время, чтобы проверить ваше текущее оборудование на соответствие HCL и перейти на последнюю версию, если она поддерживается (конечно, после обновления вашего сервера vCenter).
Что касается неподдерживаемых методов, я упомяну, но не обязательно советую.
Пароль root ESXi зашифрован и хранится в файле с именем / ect / shadow. Как только Эта статья объясняет, что вы можете удалить пароль root, выполнив следующие действия:
Для ESXi 6 у меня работают:
# https://www.linkedin.com/pulse/reset-esxi-root-password-through-vcenter-esxcli-method-buschhaus
#First, setup $vmhosts. You can do this many ways.$vmhosts = Get-Cluster -Name ClusterWithUnknownPassword | Get-VMHost
# Just so it contains one or more VMHost objects.
# To reset all ESXi host passwords use
# $vmhosts = Get-VMHost
$NewCredential = Get-Credential -UserName "root" -Message "Enter an existing ESXi username (not vCenter), and what you want their password to be reset to."
Foreach ($vmhost in $vmhosts) {
$esxcli = get-esxcli -vmhost $vmhost -v2 #Gain access to ESXCLI on the host.
$esxcliargs = $esxcli.system.account.set.CreateArgs() #Get Parameter list (Arguments)
$esxcliargs.id = $NewCredential.UserName #Specify the user to reset
$esxcliargs.password = $NewCredential.GetNetworkCredential().Password #Specify the new password
$esxcliargs.passwordconfirmation = $NewCredential.GetNetworkCredential().Password
Write-Host ("Resetting password for: " + $vmhost) #Debug line so admin can see what's happening.
$esxcli.system.account.set.Invoke($esxcliargs) #Run command, if returns "true" it was successful.
}