У меня есть сервер VMware ESXi, который работает почти 200 дней. Последние несколько дней, когда я пытаюсь подключиться к нему с помощью клиента VMware vSphere, я не могу подключиться. После ввода моего имени пользователя и пароля я вижу маленькое вращающееся колесо и строку состояния с надписью «Соединение…», а затем «Загрузка инвентаря…», и затем я получаю сообщение об ошибке:
Сервер «my.host.name» не может интерпретировать запрос клиента.
(Удаленный сервер возвратил ошибку: (503) Сервер недоступенВызвать «ServiceInstance.RetrieveContent» для объекта «ServiceInstance» на сервере «my.host.name» не удалось.
Я могу подключиться к серверу VMware ESXi по SSH. Все виртуальные машины работают нормально, поэтому я хочу заранее узнать, нужно ли их отключать для технического обслуживания!!! Если методы, предложенные в вашем ответе, будут мешать работе виртуальных машин, пожалуйста, четко укажите это, чтобы я знал, как подготовиться к простоям. Спасибо!
Как я могу устранить эту ошибку на VMware ESXi?
(Я бы опубликовал номер версии, но я не знаю, как получить его без консоли vSphere!)
РЕДАКТИРОВАТЬ: Примерно через месяц после того, как я задал этот вопрос, сервер необъяснимым образом перезагрузил себя. Я не знаю, запаниковало ли это или что случилось… но после перезагрузки эта проблема исчезла. Поэтому я не могу проверить / подтвердить какой-либо ответ, пока проблема не появится снова (а я надеюсь, что нет!)
2011-09-25 14:55
9
ответов
Вам необходимо перезапустить службы управления VMware. К счастью, это легко (поскольку у вас есть доступ по SSH) и не влияет на виртуальные машины.
В двух словах, SSH к рамке esx как root
и затем выполните одну из двух следующих команд (в зависимости от того, является ли это esx/i):
Для ESX:
service mgmt-vmware restart
Для ESXi:
/sbin/services.sh restart
Смотрите эту статью для более подробной информации
cixelsyd
03 ноя ’11 в 03:03
2011-11-03 03:03
2011-11-03 03:03
Я решил проблему, удалив WideCap ServiceInstance.RetrieveContent Ошибка
Firnaz
27 июн ’12 в 10:26
2012-06-27 10:26
2012-06-27 10:26
Эта статья VMware KB, кажется, соответствует вашему описанному симптому. Убедитесь, что ваш DNS работает и работает с точки зрения сервера ESXi.
Вариант 2. Можете ли вы проверить, что ваш vCenter Server работает и служба запущена?
2011-09-25 15:13
На моем устройстве vCenter 6.5 vpxd
Сервисное ядро сбрасывает и пропускает эту ошибку.
Пока только обходной путь / решение: блокируйте доступ к хосту ESX, пока все службы vCenter не будут запущены.
Теперь модуль сценария оболочки / systemd в vCenter создает правила брандмауэра iptables / правила фильтрации пакетов при загрузке. Когда службы vCenter запущены и средняя загрузка падает ниже 0,5, скрипт удаляет правила iptables. Только теперь vCenter может «видеть» хосты ESX и на некоторое время счастлив. Если проблема появляется снова, я перезапускаю vCenter.
Сценарий оболочки:
#!/bin/bash
# /usr/local/bin/block-esx-access-on-boot.sh
export ESX_HOSTS="ESX1-IP,ESX2-DNS,ESX3-IP"
export LOAD_THRESHOLD="0.5"
sleep 5
LOAD="$(cut -d' ' -f1 /proc/loadavg)"
echo "Waiting for 1min loadavg ${LOAD} > ${LOAD_THRESHOLD} ..."
while [ "$(echo "${LOAD} > ${LOAD_THRESHOLD}" | bc)" == "0" ] ; do
echo "Waiting for 1min loadavg ${LOAD} > ${LOAD_THRESHOLD} ..."
sleep 3
LOAD="$(cut -d' ' -f1 /proc/loadavg)"
done
echo "Blocking outgoing transfers to ${ESX_HOSTS}"
iptables -A OUTPUT -d ${ESX_HOSTS} -j DROP
iptables -L OUTPUT
while [ "$(echo "${LOAD} < ${LOAD_THRESHOLD}" | bc)" == "0" ] ; do
echo "Waiting for 1min loadavg ${LOAD} < ${LOAD_THRESHOLD} ..."
sleep 60
LOAD="$(cut -d' ' -f1 /proc/loadavg)"
done
echo "Allowing outgoing transfers to ${ESX_HOSTS}"
iptables -D OUTPUT -d ${ESX_HOSTS} -j DROP
iptables -L OUTPUT
Системный блок:
# /etc/systemd/system/block-esx-access-on-boot.service
[Unit]
Description=Block ESX Access on Boot
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/block-esx-access-on-boot.sh
[Install]
WantedBy=multi-user.target
https://gist.github.com/quatauta/a1ac390633006996fbc547da9bd01ef9
2017-06-14 09:09
У нас возникла похожая проблема, и это привело к отказу SAN LUN, которые были напрямую подключены через адаптеры Fibre Channel. по-видимому, у одного из двух файловых файлов было событие аварийного переключения, но оно не было полностью перенесено, поэтому хост ESXi не мог объявить эти пути неработоспособными и имел прилив проблем с блоком уровня LUN, когда команды HBA занятости, шины заняты, прерывания были засорены в vmkernel. журнал.
Поддержка VMware смогла помочь нам разобраться в проблемах после того, как кластеры заголовков файлов SAN были восстановлены в активное / активное состояние (NetApp). В шестнадцатеричных ошибках «cat /var/log/vmkernel.log | grep sense | less» обнаружены многочисленные проблемы с уровнем LUN (D:0x2), занятость шины (H:0x2), занят HBA (D:0x8), команды сброса (H:0x5) из тайм-аутов, который указывает на то, что файл-файл SAN не был должным образом восстановлен при сбое и все еще сообщает о себе как доступный
После восстановления файла SAN для путей /LUN мы выполнили команду » /sbin/services.sh restart», которая завершилась, и мы снова смогли vClient подключиться к хосту, сети и присоединиться к существующему кластеру, чтобы очистить » сиротские «неназванные» виртуальные машины, которые были остаточными остатками.
2017-03-17 15:40
Я получил эту ошибку сразу после успешного обновления vcenter 5.0 до 5.1. Я заметил несколько предупреждений (в разделе СОБЫТИЯ (задачи и события)) внутри vcenter от учетных записей служб, которые я настраивал в прошлом для различных элементов (учетных записей kaspersky vsheild и orion syslog svc), которые отображали отказ в доступе. Я добавил эти учетные записи в группу локальных администраторов на vcenter, и мои проблемы исчезли.
Однако прежде чем я обнаружил это, чтобы обеспечить себя обходным путем, я просто перезапустил службу сервера vmware, а затем смог без проблем войти в систему и получить доступ к консолям vm. Примерно через 5 минут консоли станут черными, и я больше не смог получить к ним доступ. Если я выйду из системы и попытаюсь вернуться в vcenter, я получу эту ошибку:
Вызвать «ServiceInstance.RetrieveContent» для объекта «ServiceInstance» на сервере «my.host.name» не удалось.
Так что правило таково: если вы можете войти в vcenter, то проверьте журналы EVENT и посмотрите, есть ли какие-либо предупреждения об отказе в доступе. Если есть, добавьте эти учетные записи в локальную группу администраторов на vCenter.
2013-03-26 21:16
Перезагрузка нашего сервера vCenter помогла решить эту проблему для нас.
мы не могли vMotion или создавать шаблоны без получения ошибки 503. Я также видел это в прошлом, когда перезагрузка vCenter не помогает, и нам нужно было перезагрузить хост. что означает, что виртуальные машины на этом хосте тоже отключились.
Kevin
27 июн ’17 в 15:58
2017-06-27 15:58
2017-06-27 15:58
Мы столкнулись с той же проблемой. Служба поддержки VMWare заявляет, что vCenter не синхронизирован с системой единого входа (SSO). Простые перезагрузки сервера единого входа при отключенном сервере vCenter должны решить проблему:
Вот последовательность:
-
выключите сервер vCenter.
-
затем перезагрузите окно единого входа и подождите, пока все службы VMWare вернутся на этот ящик
-
включить сервер vCenter
-
перезапустил службы сервера vcenter в правильной последовательности (каталог, kdc, служба сертификатов, idm, sts, служба inv и затем служба vc
Tom L.
02 мар ’15 в 21:17
2015-03-02 21:17
2015-03-02 21:17
Ошибка 503 Service Unavailable — это код состояния HTTP-ответа, который указывает, что сервер временно не может обработать ваш запрос. Эта проблема может возникнуть по многим причинам.
Чтобы решить эту проблему, следуйте базе знаний VMware, в которой объясняется, что служба 503 недоступна.
21 фев ’20 в 10:19
2020-02-21 10:19
2020-02-21 10:19
Недавно столкнулся с ситуацией, что перестал работать VCenter (в моём случае версия 6.5 – VCSA, но подобное может быть с любой версией не зависимо от платформы).
При попытке зайти как под доменной учёткой, так и под локальным админом – не проходила проверка подлинности – постоянно писало – сперва, что неправильные имя пользователя или пароль, а затем и вовсе, что требуется ввести имя пользователя и пароль, хотя они само собой были введены.
После попытки перезагрузить сервер или все службы командами service-control —stop —all и service-control —start —all добрая половина служб не запускалась, при этом на главной странице vcenter – выскакивала ошибка 503
При переходе по адресу vcenter/ui – появлялась ошибка
[400] An error occurred while sending an authentication request to the vCenter Single Sign-On server. An error occurred when processing the metadata during vCenter Single Sign-on setup – null.
В моём случае проблема оказалась в протухшем STS сертификате. Далее я пишу для своего случая, именно для VCSA, если у вас vCenter на винде, то читайте KBшки, ссылки на которые указаны, там есть описания, что делать для виндовых случаев.
Чтобы посмотреть срок действия STS сертификатов нужно скачать скрипт из KB VMWare. На всякий случай скопировал его.
Скачать можно при помощи wget, ну или закинуть на сервере через WinSCP, ну или просто скопировать текст скрипта и вставить в файл на сервере.
Запускается он командой:
python checksts.py
После выполнения будут отображены действительные и просроченные STS сертификаты. Если найдется просроченный сертификат, то внизу будет подсказка на какую KB стоит посмотреть.
В этой KB имеется скрипт, на всякий случай – копия, для обновления просроченных STS сертификатов, конечно как водится, перед запуском чего-бы то ни было – рекомендуется сделать бэкапы, снапшоты и т.д и т.п. Также обратите внимание, что если у вас в одном SSO домене находится несколько vCenter серверов – то запускать скрипт нужно только на одном.
В общем качаем скрипт, делаем его исполняемым и запускаем:
chmod +x fixsts.sh ./fixsts.sh
Если всё пройдет без ошибок – можно пробовать перезапустить все службы:
service-control --stop --all service-control --start --all
Если окажется, что есть еще какие-нибудь протухшие сертификаты, то службы всё равно могут не стартануть. Найти все просроченные сертификаты поможет команда:
for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done
Соответственно нужно будет такие сертификаты обновить и снова попробовать перезапустить все службы. Либо, можно пойти простым и топорным путём, и перевыпустить вообще все сертификаты:
/usr/lib/vmware-vmca/bin/certificate-manager
Тут нужно будет выбрать 8й пункт, и далее следовать инструкциям на экране. Но используйте эту команду на свой страх и риск, если используются сторонние сервисы/плагины/кастомизированные шаблоны то это дело скорее всего нужно будет перенастраивать.
После описанных выше действий у меня vCenter починился, и работает нормально. Вообще какое-то странное решение у VMWare с этим ультраважным сертификатом. Возникает вопрос – почему нельзя было сделать, что б он автоматически перевыпускался, когда походит к концу срок его действия?
VMware vCenter Server, the centralized management point in vSphere, is used for managing ESXi hosts, clusters, VMs, and other components in your virtualized data center. This blog post addresses the 503 Service Unavailable that you may get in vSphere Client when you try to connect to vCenter. Read to learn about the potential causes of this error and how to fix it.
503 Service Unavailable is one of the standard HTTP status codes that are returned by a server when a client sends a request to the server. The 5xx class of HTTP status codes is used to notify users about server errors. Based on this, 503 Service Unavailable is a response that describes a server-side error. Usually this error indicates that a server cannot handle a request and you should look for the issue on the web server hosting an application.
Here’s the full text of this error for VMware vSphere Client:
503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x000055615a4d7a70] _serverNamespace = / action = Allow _pipeName =/var/run/vmware/vpxd-webserver-pipe)
In the case of the vCenter 503 Service Unavailable error, the error can be caused by different factors:
- Some services have not loaded yet and are not running (one of the common issues is that the reverse Proxy service or the vSphere web client service is down).
- vCenter Server is on maintenance
- vCenter Server is overloaded
- Disk issues occurred on vCenter Server
- There are issues with a database used by vCenter
- Incorrect firewall settings (for vCenter installed on Windows) and network issues
You should find and fix the error on the vCenter server and not on the client side.
Services Have Not Started
If you have just started a vCenter instance, and all the needed services have not started yet, wait for a few minutes and try again.
- Try connecting to vCenter from another client.
If this doesn’t help, check whether all needed services have started.
- Open the Appliance Management Interface (for vCenter Server Appliance) in a web browser by entering the IP address or the FQDN (a Fully Qualified Domain Name) for vCenter and port 5480, for example:
https://192.168.101.103:5480/ui/services
- Check the status of vCenter services in the Services section. For example, if the vSphere Web Client service is Started, and the vCenter Server service is Stopped, the VMware 503 Service Unavailable error can occur.
- You can check the status of vCenter services in the console and the command line interface (CLI). Enable SSH login, console CLI, and Bash Shell in the Access section of the vCenter Appliance Management Interface.
- As an alternative, you can enable Bash Shell and SSH access in the DCUI (Direct Console User Interface) of vCenter Server Appliance (VCSA) in the Troubleshooting Mode options.
-
Ensure that there is a connection between your computer and vCenter server by running the command from your computer (enter the host name or IP address of your vCenter):
telnet vcenter_fqdn 9443
- Connect to vCenter via SSH, or connect to the VCSA console (Press Alt+F1 in the DCUI of vCenter, log in, type shell, and press Enter).
-
Check the status of vCenter services by running the command on the machine running vCenter:
service-control --status --all
- If there is an external Platform Service Controller (PSC), check vCenter connection to the PSC. Check services on the PSC as well.
-
If some services have been terminated, run all services with the command:
service-control --start --all
-
Try to stop and start the vSphere Client service:
service-control --stop vsphere-client
service-control --start vsphere-client
- Wait about 10–15 minutes until the service starts, and then try to access vCenter in vSphere Client.
Check Log Files
Checking log files can help you find the cause of errors including the vCenter 503 Service Unavailable error.
First, investigate the vsphere_client_virgo.log file.
- For the Windows version of vCenter Server, logs are stored in:
C:ProgamDataVMwarevCenterServerlogsvsphere-clientlogs - For vCenter Server Appliance, vCenter logs are stored in:
/var/log/vmware/vsphere-client/logs/
Also check the vpxd.log file.
- On vCenter running on Windows, vpxd.log is stored in:
C:ProgramDataVMwarevCenterServerlogsvmware-vpx - On vCenter Server Appliance, vpxd.log is stored in:
/var/log/vmware/vpxd/
Not Enough Free Hardware Resources
Insufficient disk space doesn’t cause the vCenter 503 Service Unavailable error itself. However, some services cannot start if there is no free disk space, and this may cause the 503 Service Unavailable error. High storage latency for vCenter may also be a reason of this error. Beginning from VCSA 6.5, the appliance is provided with 12 virtual disks (there were 2 virtual disks for VCSA before), and it’s possible that something may go wrong with one of the virtual disks. If vCenter Server is overloaded, the busy server cannot handle your request.
- Check free disk space, and run the command on the vCenter Server side. If you use vCenter Server Appliance, run this command:
df -h - The /storage/archive/ partition can be full in VCSA 6.7, and this is an expected (normal) situation based on VMware’s design of vCenter 6.7. Check free memory and processor resources:
top - Check the file system on the machine running vCenter. Use e2fsck to check the file system on VCSA, and run the command e2fsck -y filesystem, for example:
e2fsck -y /dev/sda1 - If errors are found and fixed, reboot the vCenter Server:
reboot
Issues with a vCenter Database
A database is an important component required for the proper operation of vCenter Server. If a database is not working, vCenter errors, including “vCenter 503 Service Unavailable”, may occur. Let’s explore possible database issues and methods of fixing them.
Sometimes the following errors are displayed in the vpxd log file:
An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) “ODBC error: (23505) – ERROR: duplicate key value violates unique constraint “pk_vpx_vm_virtual_device”;
Error while executing the query” is returned when executing SQL statement “INSERT INTO VPX_VM_VIRTUAL_DEVICE
- If your vCenter is installed on Windows, check the Event viewer to see application event logs.
This is a bug due to duplicated entries in the embedded Postgres database that is used for the proper operation of vCenter.
- Open the command line interface of vCenter Server Appliance, and, for example, connect to the server via SSH.
- Go to the Postgres log directory:
cd /var/log/vmware/vpostgres - Check the log files. Log files are named in the postgresql-“dayofmonth”.log format. For example, the log file for the third day of the month is named “postgresql-03.log”. If today is the May 3, check the contents of the appropriate log file:
cat postgresql-03.log
2020-05-03 16:05:12.749 UTC 38a12db9.5481 1008636 VCDB vc ERROR: duplicate key value violates unique constraint “pk_vpx_vm_virtual_device”
2020-05-03 16:05:12.749 UTC 38a12db9.5481 1008636 VCDB vc DETAIL: Key (id, device_key)=(8101, 4002) already exists. - Remember the ID and DEVICE_KEY. In this example, these values are 8101 and 4002 respectively.
- Connect to the embedded Postgres database used by vCenter:
/opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres - Delete the duplicated entry:
DELETE FROM vc.vpx_vm_virtual_device where id=’8101′ and device_key=’4002′;“DELETE 1” in the output means that everything is OK.
- Exit the database CLI:
q - Type reboot to reboot your vCenter Server. Wait until the vCenter Server and services have started, and try to open vSphere Client.
You may get the same error again after reboot. Check database logs again. If the duplicate entries were created again, delete them and reboot vCenter. You may need to repeat deleting duplicate entries and rebooting vCenter Server multiple times until the issue is resolved.
- Sometimes you may need to detect the affected VM, remove the affected VM from the inventory, then re-register (add) the VM to the inventory.
- If this method doesn’t help fix the issue permanently, try to upgrade your vCenter to vCenter 6.7 or newer.
- If you use the SQL database, check whether you have free disk space to store SQL database logs. If there is no free space on the SQL database logs filesystem, you may get the error.
Issues with Permissions
If your vCenter is installed on Windows Server, sometimes issues with account permissions may occur.
Check the “Log on as a batch job” policy in a group policy editor, and make sure that all needed accounts are present. Lack of permissions on Windows Server where vCenter is installed may cause the vSphere 503 Service Unavailable error.
- Open the local group policy editor in Windows (Start > Run > gpedit.msc).
- In the group policy editor go to Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment > Log on as a batch job.
- Add these user accounts to this policy if they are missing:
cm
content-library
eam
imagebuilder
mbcs
netdumper
perfcharts
rbd
vapiEndpoint
vmware-vpostgres
vsan-health
vsm
vsphere-client
vsphere-ui - Click Add User or Group to add accounts.
- Stop and start the vSphere Client service by using these commands:
service-control –stop vsphere-client
service-control –start vsphere-client - Start the vSphere user interface service:
service-control –start vsphere-ui - Wait until the service is started.
- Reboot vCenter Server, and check whether vCenter is working correctly.
Usually the needed accounts should be added by the installer of vCenter automatically until this policy is set manually in a group policy editor.
Network and DNS Issues
Make sure that a DNS name of vCenter is set correctly and the IP address of vCenter Server is resolved. If DNS has a wrong entry, you may get the 503 Service Unavailable error. When you install vCenter, set the DNS name in the configuration at step 7 (Configure network settings) of stage 1.
If you are using an external PSC, the PSC IP address must be resolved in both directions – forward lookup and reverse lookup.
- Check the hostname in /etc/hosts on the vCenter Server Appliance. Make sure that a Fully Qualified Domain Name (FQDN) and a short name are present in this file in the following format:
vCenter_IP vCenter Server Appliance FQDN vcenter short name
For example:
192.168.101.103 vCenter6-7.vsphere.local vCenter6-7 - After changing the DNS configuration, restart the vpxd service:
service vmware-vpxd restart - You can check the status of the vpxd service with the command:
vpxd status service vmware-vpxd status - On the PSC run these commands to restart related services:
/etc/init.d/vmware-stsd restart
/etc/init.d/vmware-sts-idmd restart
service vmware-cm restart - Restart the vpxd service on the machine where vCenter is installed:
service vmware-vpxd restart - Wait until all needed services have started, and try to open VMware vSphere Client.
It is recommended that you use a vCenter deployment model with an embedded PSC to have less network issues. The latest versions of vCenter, like vCenter 7.0, only support installation with an embedded PSC.
If you still get the vCenter 503 Service Unavailable error, try the next method.
- Try to enable or disable IPv6. Open /etc/sysctl.conf and change the net.ipv6.conf.eth0.disable_ipv6 from 1 to 0 to enable IPv6:
#Disabling SLAAC/Link Local addresses
net.ipv6.conf.eth0.disable_ipv6=0 - Similarly, set 1 to disable IPv6.
- Once you save settings, run the commands:
sysctl -a
sysctl -p - Open VMware vSphere Client now. Check whether everything is working properly after reboot.
- Try to disable SMBv1 and enable SMBv2 instead. Then restart vCenter Server and check whether this method has helped.
Password Issues
Check whether your root password for vCenter Server Appliance has expired. If it’s expired, you won’t be able to log in to vCenter to edit configuration and fix errors including the vCenter appliance 503 Service Unavailable error without a workaround. You can set the root password expiration period to 0 if you want a password to never expire.
- You can edit the root password expiration settings in the GUI of vCenter Server Appliance Management:
https://your_vCenter_IP:5480/ui/administration - If there is password mismatch in vmdird for the account specified in vmdird-syslog.log, this factor may be a reason of getting the following error:
503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f3d084a60c0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)”
- Check the /var/log/vmware/vmdird/vmdird-syslog.log file to identify which account password is invalid and must be reset.
Note: Back up your vCenter before editing configuration or at least take a snapshot if your vCenter Server is running on a virtual machine. Do the same for the external Platform Service Controller if you are using one. - Log into vCenter Server Appliance as root via SSH. Type shell.set –enabled true and type Shell to access the Bash console.
- Open the vdcadmintool tool by running the command:
/usr/lib/vmware-vmdir/bin/vdcadmintool - Select the third option:
Reset account password - Enter the name of the account, the password of which you want to reset, according to the information in the vmdird-syslog.log file.
- A new password is generated automatically. Copy and note this password.
Note: If you see a blank character in the password, generate a new password by going back to the previous step. This issue occurs if a password contains special characters, and they are displayed as missing (blank) characters. - Connect to vCenter Server via SSH as explained above (if you are using an external PSC). If you are using the embedded PSC, go to the next step.
- Run the command to update the new password:
/opt/likewise/bin/lwregshell
cd HKEY_THIS_MACHINEservicesvmdir
set_value dcAccountPassword “new password”
quit - Restart the vCenter Server Appliance services by using the commands:
service-control –stop –all
service-control –start –all
Perform vCenter Backup
It is generally recommended that you back up vCenter after finishing configuration. You should do that after ensuring that vCenter is working correctly and before editing configuration to make it possible to restore vCenter if something goes wrong. The best approach is creating regular vCenter backups because vCenter configuration may change during operation and some items may be added to the vCenter inventory. You cannot predict when a failure will happen.
NAKIVO Backup & Replication is a universal data protection solution that can back up VMware vSphere VMs and physical machines running Windows and Linux, including SQL databases. Protect your vCenter Server machines with NAKIVO Backup & Replication, and, if something goes wrong with your vCenter, you can restore the working configuration in a short time. Support of incremental backup and the GFS retention policy helps perform VMware vCenter backup more rationally. The product supports SQL log truncation to save storage space and reduce the probability of errors caused by insufficient disk space with large database logs.
Завис хост, подключенный к vCenter. Виртуалки работают, а хост не управляется. После перезагрузки сервисов зайти на гипервизор не получается: ошибка «503 service unavailable».
Сразу скажу, пичина ошибки — переполнение директории /tmp. Вызывает ошибку тат же сервис amsd от Hewlett Packard, что описан здесь:
Ошибка «The ramdisk ‘tmp’ is full» на серверах HPE ProLiant с кастомным образом ESXi
Из-за переполнения /tmp даже ошибка «The ramdisk is full» не отображается. При этом виртуальные машины продолжают, к счастью, работать.
Проверяем статус службы hostd.
/etc/init.d/hostd status
Служба не запущена, пробуем запустить:
/etc/init.d/hostd start
Служба запускается, но через некоторое время она останавливается снова.
Выводим список ошибок из лога hostd:
cat /var/log/hostd.log | grep error
Читаем ошибку:
2020-04-08T07:51:56.935Z error hostd[FFC54B20] [Originator@6876 sub=Hostsvc] Dvs manager not found
2020-04-08T07:51:57.842Z error hostd[FFC96B70] [Originator@6876 sub=VsanPluginMgr] Mount diskgroup failed with exception Failed to get VSAN disk operation lock, a disk management operation is currently in progress(locked pid: 0), Error interacting with configuration file /tmp/.vsanDiskOpLock.lock: Filesystem reported Full while trying to lock /tmp/.vsanDiskOpLock.lock Please clear disk space and try again..
2020-04-08T07:52:05.406Z panic hostd[FFC54B20] [Originator@6876 sub=Default] error: N7Hostsvc21HaPlatformConfigFault9ExceptionE(vim.fault.PlatformConfigFault)
Самое важное, это «Filesystem reported Full». Делаем вывод, что не удаётся создать файл в директории /tmp. А не закончилось ли там место?
vdf
Действительно, /tmp забит на 100%. Вычислим, что занимает больше всего места:
cd /tmp
ls -FlS
Файл ams-bbUsg.txt занял всё место. Ошибка в пакете HPE Agentless Management (AMS) версии 11.4.0:
Advisory: VMware — VMware AMS Data File Filling Up Tmp May Cause VUM Updates to Fail On HPE Servers Running VMware ESXi 6.0/6.5/6.7 with AMS Version 11.4.0
Команда esxcli не будет выполняться (localcli может при этом работать), например:
Просто ничего не выводится.
Для начала освободим место:
cd /tmp
rm ams-bbUsg.txt
Запустим hostd:
/etc/init.d/hostd start
Служба запускается. Ура, vCenter увидел хост и всё починилось. На некоторое время. Проверим текущую версию AMS:
esxcli software vib list | grep HPE
Для полного решения проблемы нужно обновить VIB пакет AMS. В статье выше я решил проблему обновлением ESXi до более новой версии. Вот только там у меня ESXi 6.7. А сейчас ESXi 6.0 последней версии от HPE, и там нет нужного пакета. Обновим VIB вручную.
Находим нужный пакет здесь, даю три ссылки для ESXi 6.0, ESXi 6.5 и ESXi 6.7:
http://vibsdepot.hpe.com/hpe/may2019/esxi-600-vibs/ams/
http://vibsdepot.hpe.com/hpe/may2019/esxi-650-vibs/ams/
http://vibsdepot.hpe.com/hpe/may2019/esxi-670-vibs/ams/
Ссылка на пакет для ESXi 6.0:
http://vibsdepot.hpe.com/hpe/may2019/esxi-600-vibs/ams/amsd-600.11.4.2-4.2494585.vib
Можно попытаться обновить пакет так:
esxcli software vib install -v "http://vibsdepot.hpe.com/hpe/may2019/esxi-600-vibs/ams/amsd-600.11.4.2-4.2494585.vib"
Если получилось, то вам повезло. У меня же все доступы перекрыты, поэтому просто скачиваю пакет и заливаю на хост в папку /tmp с помощью WinSCP:
Устанавливаю пакет:
esxcli software vib install -v "/tmp/amsd-600.11.4.2-4.2494585.vib"
Старый пакет удалился, новый пакет установился. Для полного счастья, судя по сообщению, необходимо перезагрузить хост.
1. You have just updated vCenter (in my case, VCenter Appliance with PSC 6.0 to 6.0U2)
2. You have restarted vCenter, waited for ~ 10 minutes and trying to open web sphere client
3. Unfortunately,error appears:
503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7fb16c058ad0]
_serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)
OR Information message:
The vSphere Client web server is initializing
4. To fix it go to VAMI (https://<vcenter fqdn>:5480) and check overall health status.
5. To check services manually, enable SSH and BASH from html client
6. Or login to direct console (DCUI) and enable SSH/BASH from there
7. Open Putty and connect to vCenter Appliance, type root password and shell
8. Check status of services again
9. Check vSphere web client service status
service vsphere-client status
10. Try to restart or start service and check status after manipulations
To restart: service vsphere-client restart To stop and start manually: service vsphere-client stop service vsphere-client start
11. vSphere Web Service should be running and overall health indicator status is green or, at least, yellow
12. Try to open vSphere Web Client
Note: you also need to make sure that there are no issues with DNS and IP allocations in your network (DNS is available, there are no IP duplicates, firewall deny rules and etc.)
References:
-
Stopping, starting, or restarting vCenter Server Appliance services (2054085)
-
Replacing VMware vCenter Server Certificates with SSL Certificate Automation Tool: Error HTTP status 503 (2128353)
-
VMware Virtual Infrastructure Web Access displays a 503 Service Unavailable error (1009291)