Błąd „503 Usługa niedostępna” w vSphere Web Client: co należy zrobić?

VMware vCenter Server, scentralizowany punkt zarządzania w środowisku vSphere, służy do zarządzania hostami ESXi, klastrami, maszynami wirtualnymi i innymi komponentami w zwirtualizowanym centrum danych. Ten wpis na blogu dotyczy błędu 503 Service Unavailable , który może pojawić się w kliencie vSphere podczas próby połączenia się z vCenter. Zapoznaj się z tym wpisem, aby dowiedzieć się, jakie mogą być przyczyny tego błędu i jak go naprawić.

NAKIVO – tworzenie kopii zapasowej dla VMware vSphere

NAKIVO – tworzenie kopii zapasowej dla VMware vSphere

Kompleksowa ochrona danych dla maszyn wirtualnych VMware vSphere oraz opcje natychmiastowego odzyskiwania. Bezpieczne lokalizacje kopii zapasowych na miejscu, zdalnie oraz w chmurze. Funkcje ochrony przed oprogramowaniem wymuszającym okup.

Czym jest błąd „503 usługa niedostępna”?

503 Usługa niedostępna to jeden ze standardowych kodów statusu HTTP zwracanych przez serwer, gdy klient wysyła do niego żądanie. Klasa kodów statusu HTTP 5xx służy do informowania użytkowników o błędach serwera. W związku z tym 503 Usługa niedostępna to odpowiedź opisująca błąd po stronie serwera. Zazwyczaj błąd ten oznacza, że serwer nie jest w stanie obsłużyć żądania i należy poszukać przyczyny problemu na serwerze WWW, na którym hostowana jest aplikacja.

Oto pełny tekst tego błędu dla klienta VMware vSphere:

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x000055615a4d7a70] _serverNamespace = / action = Allow _pipeName =/var/run/vmware/vpxd-webserver-pipe)

W przypadku błędu vCenter 503 Service Unavailable przyczyną błędu mogą być różne czynniki:

  • Niektóre usługi nie zostały jeszcze załadowane i nie działają (jedną z typowych przyczyn jest awaria usługi odwrotnego proxy lub usługi klienta WWW vSphere).
  • Serwer vCenter jest w trakcie konserwacji
  • Serwer vCenter jest przeciążony
  • Wystąpiły problemy z dyskiem na serwerze vCenter
  • Wystąpiły problemy z bazą danych używaną przez vCenter
  • Nieprawidłowe ustawienia zapory sieciowej (dla vCenter zainstalowanego w systemie Windows) oraz problemy sieciowe

Należy zlokalizować i usunąć błąd na serwerze vCenter, a nie po stronie klienta.

Usługi nie zostały uruchomione

Jeśli właśnie uruchomiłeś instancję vCenter, a wszystkie wymagane usługi jeszcze się nie uruchomiły, odczekaj kilka minut i spróbuj ponownie.

  • Spróbuj połączyć się z vCenter z innego klienta.

Jeśli to nie pomoże, sprawdź, czy wszystkie wymagane usługi zostały uruchomione.

  1. Otwórz interfejs zarządzania urządzeniem (dla vCenter Server Appliance) w przeglądarce internetowej, wpisując adres IP lub pełną nazwę domeny (FQDN) vCenter oraz port 5480, na przykład:https://192.168.101.103:5480/ui/services
  2. Sprawdź stan usług vCenter w sekcji Services . Na przykład, jeśli usługa vSphere Web Client ma status Started, a usługa vCenter Server — Stopped, może wystąpić błąd VMware 503 Service Unavailable .Fixing the 503 Service Unavailable error – checking running services
  3. Stan usług vCenter można sprawdzić w konsoli oraz w interfejsie wiersza poleceń (CLI). Logowanie przez SSH, konsolę CLI oraz powłokę Bash należy włączyć w sekcji Access interfejsu zarządzania vCenter Appliance.SSH login and Bash Shell are enabled in VCSA management settings
  4. Alternatywnie można włączyć powłokę Bash i dostęp przez SSH w interfejsie DCUI (Direct Console User Interface) urządzenia vCenter Server Appliance (VCSA) w opcjach Troubleshooting Mode. Enabling SSH access in Troubleshooting Mode options in the DCUI of VCSA
  5. Upewnij się, że istnieje połączenie między komputerem a serwerem vCenter, uruchamiając na komputerze następujące polecenie (wprowadź nazwę hosta lub adres IP serwera vCenter):

    telnet vcenter_fqdn 9443

  6. Połącz się z vCenter przez SSH lub z konsolą VCSA (naciśnij Alt+F1 w interfejsie DCUI vCenter, zaloguj się, wpisz shell, i naciśnij Enter).
  7. Sprawdź stan usług vCenter, uruchamiając polecenie na komputerze, na którym działa vCenter:

    service-control --status --all
    Checking status of vCenter services to find a cause of the 503 Service Unavailable error

  8. Jeśli istnieje zewnętrzny kontroler usług platformy (PSC), sprawdź połączenie vCenter z PSC. Sprawdź również usługi na PSC.
  9. Jeśli niektóre usługi zostały zakończone, uruchom wszystkie usługi za pomocą polecenia:

    service-control --start --all

  10. Spróbuj zatrzymać i uruchomić usługę vSphere Client:

    service-control --stop vsphere-client
    service-control --start vsphere-client

  11. Odczekaj około 10–15 minut, aż usługa się uruchomi, a następnie spróbuj uzyskać dostęp do vCenter w vSphere Client.

Sprawdź pliki dziennika

Sprawdzenie plików dziennika może pomóc w znalezieniu przyczyny błędów, w tym błędu vCenter 503 Service Unavailable .

Najpierw sprawdź plik vsphere_client_virgo.log .

  • W przypadku wersji vCenter Server dla systemu Windows dzienniki są przechowywane w:
    C:ProgamDataVMwarevCenterServerlogsvsphere-clientlogs
  • W przypadku vCenter Server Appliance dzienniki vCenter są przechowywane w:
    /var/log/vmware/vsphere-client/logs/

Sprawdź również plik vpxd.log .

  • W przypadku vCenter działającego w systemie Windows plik vpxd.log jest przechowywany w:
    C:ProgramDataVMwarevCenterServerlogsvmware-vpx
  • W przypadku vCenter Server Urządzenia plik vpxd.log jest przechowywany w:
    /var/log/vmware/vpxd/

Niewystarczająca ilość wolnych zasobów sprzętowych

Niewystarczająca ilość miejsca na dysku sama w sobie nie powoduje błędu vCenter 503 Usługa niedostępna . Jednak niektóre usługi nie mogą się uruchomić, jeśli brakuje wolnego miejsca na dysku, co może spowodować błąd 503 Usługa niedostępna . Przyczyną tego błędu może być również duże opóźnienie pamięci masowej dla vCenter. Począwszy od wersji VCSA 6.5, urządzenie jest wyposażone w 12 dysków wirtualnych (wcześniej w przypadku VCSA były to 2 dyski wirtualne) i możliwe jest, że z jednym z dysków wirtualnych może wystąpić problem. Jeśli serwer vCenter Server jest przeciążony, zajęty serwer nie może obsłużyć Twojego żądania.

  • Sprawdź wolne miejsce na dysku i uruchom polecenie po stronie serwera vCenter Server. Jeśli korzystasz z urządzenia vCenter Server, uruchom to polecenie:
    df -h
  • W VCSA 6.7 partycja /storage/archive/ może być zapełniona, co jest sytuacją oczekiwaną (normalną) wynikającą z projektu vCenter 6.7 firmy VMware. Sprawdź ilość wolnej pamięci i zasoby procesora:
    top
  • Sprawdź system plików na komputerze, na którym działa vCenter. Użyj polecenia e2fsck do sprawdzenia systemu plików na serwerze VCSA, a następnie uruchom polecenie e2fsck -y filesystem, na przykład:
    e2fsck -y /dev/sda1
  • Jeśli wykryto i usunięto błędy, uruchom ponownie serwer vCenter:
    reboot

Problemy z bazą danych vCenter

Baza danych jest ważnym elementem niezbędnym do prawidłowego działania serwera vCenter. Jeśli baza danych nie działa, mogą wystąpić błędy vCenter, w tym „ vCenter 503 Usługa niedostępna ”. Przyjrzyjmy się możliwym problemom z bazą danych i sposobom ich naprawy.

Czasami w pliku dziennika vpxd wyświetlane są następujące błędy:

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

  • Jeśli vCenter jest zainstalowany w systemie Windows, sprawdź Przeglądarkę zdarzeń w celu przejrzenia dzienników zdarzeń aplikacji.

Jest to błąd spowodowany zduplikowanymi wpisami w osadzonej bazie danych Postgres, która służy do prawidłowego działania vCenter.

  1. Otwórz interfejs wiersza poleceń vCenter Server Urządzenie i, na przykład, połącz się z serwerem przez SSH.
  2. Przejdź do katalogu logów Postgres:
    cd /var/log/vmware/vpostgres
  3. Sprawdź pliki logów. Pliki logów mają nazwy w formacie postgresql-“dayofmonth”.log . Na przykład plik logu z trzeciego dnia miesiąca nosi nazwę „postgresql-03.log”. Jeśli dzisiaj jest 3 maja, sprawdź zawartość odpowiedniego pliku logu: 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.
  4. Zapamiętaj wartości ID i DEVICE_KEY. W tym przykładzie wartości te wynoszą odpowiednio 8101 i 4002.
  5. Połącz się z wbudowaną bazą danych Postgres używaną przez vCenter:
    /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres
  6. Usuń zduplikowany wpis:
    DELETE FROM vc.vpx_vm_virtual_device where id=’8101′ and device_key=’4002′;
    "DELETE 1" w wynikach oznacza, że wszystko jest w porządku.
  7. Wyjdź z interfejsu CLI bazy danych:
    q
  8. Wpisz reboot , aby ponownie uruchomić serwer vCenter. Poczekaj, aż serwer vCenter i usługi zostaną uruchomione, a następnie spróbuj otworzyć vSphere Client.

Po ponownym uruchomieniu może pojawić się ten sam błąd. Sprawdź ponownie logi bazy danych. Jeśli zduplikowane wpisy zostały utworzone ponownie, usuń je i ponownie uruchom vCenter. Być może konieczne będzie wielokrotne powtarzanie usuwania zduplikowanych wpisów i ponownego uruchamiania serwera vCenter, aż do rozwiązania problemu.

  • Czasami może być konieczne zidentyfikowanie maszyny wirtualnej, której dotyczy problem, usunięcie jej z zasobów, a następnie ponowna rejestracja (dodanie) tej maszyny do zasobów.
  • Jeśli ta metoda nie pomoże trwale rozwiązać problemu, spróbuj zaktualizować vCenter do wersji 6.7 lub nowszej.
  • Jeśli korzystasz z bazy danych SQL, sprawdź, czy masz wolne miejsce na dysku do przechowywania logów bazy danych SQL. Jeśli na systemie plików dzienników bazy danych SQL nie ma wolnego miejsca, może pojawić się błąd.

Problemy z uprawnieniami

Jeśli vCenter jest zainstalowany na serwerze Windows Server, czasami mogą wystąpić problemy z uprawnieniami kont.

Sprawdź zasadę „ Log on as a batch task ” w edytorze zasad grupy i upewnij się, że wszystkie potrzebne konta są uwzględnione. Brak uprawnień na serwerze Windows Server, na którym zainstalowano vCenter, może spowodować błąd vSphere 503 Service Unavailable .

  1. Otwórz lokalny edytor zasad grupy w systemie Windows (Start > Run > gpedit.msc).
  2. W edytorze zasad grupy przejdź do Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment > Log on as a batch job.
  3. Dodaj te konta użytkowników do tej zasady, jeśli ich brakuje:
    cm
    content-library
    eam
    imagebuilder
    mbcs
    netdumper
    perfcharts
    rbd
    vapiEndpoint
    vmware-vpostgres
    vsan-health
    vsm
    vsphere-client
    vsphere-ui
  4. Kliknij Add User or Group , aby dodać konta.Editing permissions in the group policy editor
  5. Zatrzymaj i uruchom usługę vSphere Client za pomocą następujących poleceń:
    service-control --stop vsphere-client
    service-control --start vsphere-client
  6. Uruchom usługę interfejsu użytkownika vSphere:
    service-control --start vsphere-ui
  7. Poczekaj, aż usługa zostanie uruchomiona.
  8. Uruchom ponownie serwer vCenter i sprawdź, czy vCenter działa poprawnie.

Zazwyczaj wymagane konta powinny zostać dodane automatycznie przez instalator vCenter, dopóki ta zasada nie zostanie ustawiona ręcznie w edytorze zasad grupy.

Problemy z siecią i DNS

Upewnij się, że nazwa DNS vCenter jest poprawnie ustawiona, a adres IP serwera vCenter Server jest rozpoznawany. Jeśli w DNS znajduje się nieprawidłowy wpis, może pojawić się błąd 503 Service Unavailable . Podczas instalacji vCenter ustaw nazwę DNS w konfiguracji w kroku 7 (Konfiguracja ustawień sieciowych) etapu 1.

Set the FQDN when you install vCenter to avoid 503 service unavailable (failed to connect to endpoint

Jeśli korzystasz z zewnętrznego serwera PSC, adres IP tego serwera musi być rozpoznawany w obu kierunkach — zarówno podczas wyszukiwania bezpośredniego, jak i odwrotnego.

  1. Sprawdź nazwę hosta w pliku /etc/hosts na urządzeniu vCenter Server Appliance. Upewnij się, że w pliku tym znajdują się w pełni kwalifikowana nazwa domeny (FQDN) oraz nazwa skrócona w następującym formacie:
    vCenter_IP vCenter Server Appliance FQDN vcenter short name
    Na przykład:
    192.168.101.103 vCenter6-7.vsphere.local vCenter6-7
  2. Po zmianie konfiguracji DNS uruchom ponownie usługę vpxd :
    service vmware-vpxd restart
  3. Stan usługi vpxd można sprawdzić za pomocą polecenia:
    vpxd status service vmware-vpxd status
  4. Na serwerze PSC uruchom następujące polecenia, aby ponownie uruchomić powiązane usługi:
    /etc/init.d/vmware-stsd restart
    /etc/init.d/vmware-sts-idmd restart
    service vmware-cm restart
  5. Uruchom ponownie usługę vpxd na komputerze, na którym zainstalowano vCenter:
    service vmware-vpxd restart
  6. Poczekaj, aż uruchomią się wszystkie wymagane usługi, a następnie spróbuj otworzyć VMware vSphere Client.
    Zaleca się stosowanie modelu wdrażania vCenter z wbudowanym serwerem PSC, aby ograniczyć liczbę problemów sieciowych. Najnowsze wersje vCenter, takie jak vCenter 7.0, obsługują wyłącznie instalację z wbudowanym serwerem PSC.

Jeśli nadal pojawia się błąd vCenter 503 Service Unavailable , wypróbuj kolejną metodę.

  1. Spróbuj włączyć lub wyłączyć protokół IPv6. Otwórz /etc/sysctl.conf i zmień wartość net.ipv6.conf.eth0.disable_ipv6 z 1 na 0 , aby włączyć IPv6:
    #Disabling SLAAC/Link Local addresses
    net.ipv6.conf.eth0.disable_ipv6=0
  2. Podobnie, ustaw wartość 1, aby wyłączyć IPv6.
  3. Po zapisaniu ustawień uruchom polecenia:
    sysctl -a
    sysctl -p
  4. Otwórz teraz program VMware vSphere Client. Sprawdź, czy po ponownym uruchomieniu wszystko działa poprawnie.
  5. Spróbuj wyłączyć protokół SMBv1 i zamiast tego włączyć SMBv2. Następnie uruchom ponownie vCenter Server i sprawdź, czy ta metoda pomogła.

Problemy z hasłem

Sprawdź, czy hasło użytkownika root dla vCenter Server Appliance wygasło. Jeśli wygasło, nie będziesz w stanie zalogować się do vCenter w celu edycji konfiguracji i naprawienia błędów, w tym błędu vCenter Appliance 503 Service Unavailable bez zastosowania obejścia. Możesz ustawić okres ważności hasła użytkownika root na 0 , jeśli chcesz, aby hasło nigdy nie straciło ważności.

  1. Ustawienia dotyczące wygaśnięcia hasła użytkownika root można edytować w interfejsie graficznym narzędzia do zarządzania vCenter Server Appliance:
    https://your_vCenter_IP:5480/ui/administrationThe root password expiration settings in vCenter Server Appliance Management configuration
  2. Jeśli występuje niezgodność hasła w vmdird dla konta określonego w vmdird-syslog.log, może to być przyczyną pojawienia się następującego błędu:

    503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f3d084a60c0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)"

  3. Sprawdź plik /var/log/vmware/vmdird/vmdird-syslog.log , aby zidentyfikować, które hasło konta jest nieprawidłowe i wymaga zresetowania.
    Uwaga: Przed edycją konfiguracji należy wykonać kopię zapasową vCenter lub przynajmniej utworzyć migawkę, jeśli serwer vCenter Server działa na maszynie wirtualnej. To samo należy zrobić w przypadku zewnętrznego kontrolera Platform Service Controller, jeśli jest używany.
  4. Zaloguj się do vCenter Server Urządzenia jako root przez SSH. Wpisz shell.set --enabled true i Shell , aby uzyskać dostęp do konsoli Bash.
  5. Otwórz narzędzie vdcadmintool , uruchamiając polecenie:
    /usr/lib/vmware-vmdir/bin/vdcadmintool
  6. Wybierz trzecią opcję:
    Reset account password
  7. Wprowadź nazwę konta, którego hasło chcesz zresetować, zgodnie z informacjami zawartymi w pliku vmdird-syslog.log .
  8. Nowe hasło zostanie wygenerowane automatycznie. Skopiuj i zapisz to hasło.
    Uwaga: Jeśli w haśle widoczna jest pusta spacja, wygeneruj nowe hasło, przechodząc do poprzedniego kroku. Problem ten występuje, gdy hasło zawiera znaki specjalne, które są wyświetlane jako brakujące (puste) znaki.
  9. Połącz się z vCenter Server za pomocą SSH zgodnie z powyższym opisem (jeśli korzystasz z zewnętrznego PSC). Jeśli korzystasz z wbudowanego modułu PSC, przejdź do następnego kroku.
  10. Uruchom polecenie, aby zaktualizować nowe hasło:
    /opt/likewise/bin/lwregshell
    cd HKEY_THIS_MACHINEservicesvmdir
    set_value dcAccountPassword "new password"
    quit
  11. Uruchom ponownie usługi vCenter Server Appliance za pomocą następujących poleceń:
    service-control --stop --all
    service-control --start --all

Wykonaj kopię zapasową vCenter

Zasadniczo zaleca się wykonanie kopii zapasowej vCenter po zakończeniu konfiguracji. Należy to zrobić po upewnieniu się, że vCenter działa poprawnie, oraz przed edycją konfiguracji, aby umożliwić przywrócenie vCenter w razie wystąpienia problemów. Najlepszym podejściem jest wykonywanie regularnych kopii zapasowych vCenter, ponieważ konfiguracja vCenter może ulec zmianie podczas działania, a do zasobów vCenter mogą zostać dodane nowe elementy. Nie da się przewidzieć, kiedy wystąpi awaria.

NAKIVO Backup & Replication to uniwersalne rozwiązanie do ochrony danych, które umożliwia wykonywanie kopii zapasowej maszyn wirtualnych VMware vSphere oraz maszyn fizycznych z systemami Windows i Linux, w tym baz danych SQL. Zabezpiecz swoje maszyny vCenter Server za pomocą NAKIVO Backup & Replication, a jeśli coś pójdzie nie tak z vCenter, będziesz mógł w krótkim czasie przywrócić działającą konfigurację. Wsparcie dla kopii przyrostowych oraz polityka retencji GFS pomaga w bardziej racjonalnym przeprowadzaniu kopii zapasowych VMware vCenter. Produkt obsługuje obcinanie dziennika SQL w celu oszczędzania miejsca na dysku oraz zmniejszenia prawdopodobieństwa błędów spowodowanych brakiem miejsca na dysku w przypadku dużych logów baz danych.

Wypróbuj NAKIVO Backup & Replication

Wypróbuj NAKIVO Backup & Replication

Skorzystaj z bezpłatnej wersji próbnej, aby zapoznać się ze wszystkimi funkcjami rozwiązania w zakresie ochrony danych. 15 dni za darmo. Bez żadnych ograniczeń dotyczących funkcji ani pojemności. Nie jest wymagana karta kredytowa.

People also read