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

VMware vCenter Server, centralny 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 „ ” oraz komunikatu „503 Service Unavailable” ( ), które mogą pojawić się w kliencie vSphere Client 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 do tworzenia kopii zapasowej VMware vSphere

NAKIVO do tworzenia kopii zapasowej 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 Service Unavailable”?

503 Service Unavailable to jeden ze standardowych kodów statusu HTTP zwracanych przez serwer w odpowiedzi na żądanie wysłane przez klienta. Klasa kodów statusu HTTP 5xx służy do informowania użytkowników o błędach serwera. W związku z tym 503 Service Unavailable to odpowiedź opisująca błąd po stronie serwera. Zazwyczaj błąd ten oznacza, że serwer nie może 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 błąd może być spowodowany różnymi czynnikami:

  • Niektóre usługi nie zostały jeszcze załadowane i nie działają (jednym z typowych problemów 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) i problemy z siecią

Należy znaleźć i naprawić 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 potrzebne usługi jeszcze się nie uruchomiły, poczekaj 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 potrzebne 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 FQDN (w pełni kwalifikowaną nazwę domeny) dla 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 ma status Stopped, może wystąpić błąd VMware 503 Service Unavailable .Fixing the 503 Service Unavailable error – checking running services
  3. Można sprawdzić stan usług vCenter w konsoli i interfejsie wiersza poleceń (CLI). Włącz logowanie SSH, konsolę CLI i powłokę Bash 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 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 (w interfejsie DCUI vCenter naciśnij ` Alt+F1 `, 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. Poczekaj 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ące wolne zasoby sprzętowe

Niewystarczająca ilość miejsca na dysku nie powoduje samego błędu vCenter 503 Usługa niedostępna . Jednak niektóre usługi nie mogą się uruchomić, jeśli nie ma wolnego miejsca na dysku, co może powodować błąd 503 Usługa niedostępna . Przyczyną tego błędu może być również duże opóźnienie w magazynie dla vCenter. Począwszy od wersji VCSA 6.5, urządzenie jest wyposażone w 12 dysków wirtualnych (wcześniej w VCSA były 2 dyski wirtualne) i możliwe jest, że coś pójdzie nie tak z jednym z dysków wirtualnych. Jeśli 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 vCenter Server. Jeśli korzystasz z vCenter Server Urządzenia, uruchom to polecenie:
    df -h
  • W VCSA 6.7 partycja /storage/archive/ może być zapełniona, co jest oczekiwaną (normalną) sytuacją wynikającą z projektu vCenter 6.7 firmy VMware. Sprawdź wolną pamięć i zasoby procesora:
    top
  • Sprawdź system plików na komputerze, na którym działa vCenter. Użyj polecenia ` e2fsck `, aby sprawdzić system 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 naprawiania.

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ź Podgląd zdarzeń , aby wyświetlić dzienniki zdarzeń aplikacji.

Jest to błąd spowodowany zduplikowanymi wpisami w wbudowanej bazie danych Postgres, która jest używana 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 dla 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 zrestartować 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 zrestartuj vCenter. Być może konieczne będzie wielokrotne powtarzanie usuwania zduplikowanych wpisów i ponownego uruchamiania serwera vCenter Server, aż do rozwiązania problemu.

  • Czasami może być konieczne wykrycie 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 w 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 wymagane 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 vCenter Server 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 ustawiona poprawnie, a adres IP 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 serwera PSC musi być rozpoznany w obu kierunkach — wyszukiwania bezpośredniego i odwrotnego.

  1. Sprawdź nazwę hosta w pliku /etc/hosts na urządzeniu vCenter Server Appliance. Upewnij się, że w pliku tym znajduje 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. Możesz sprawdzić stan usługi vpxd za pomocą polecenia:
    vpxd status service vmware-vpxd status
  4. Na PSC uruchom te 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ż wszystkie potrzebne usługi zostaną uruchomione, a następnie spróbuj otworzyć VMware vSphere Client.
    Zaleca się korzystanie z modelu wdrażania vCenter z wbudowanym PSC, aby ograniczyć problemy z siecią. 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ć 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 VMware vSphere Client. Sprawdź, czy po ponownym uruchomieniu wszystko działa poprawnie.
  5. Spróbuj wyłączyć SMBv1 i włączyć zamiast tego SMBv2. Następnie uruchom ponownie vCenter Server i sprawdź, czy ta metoda pomogła.

Problemy z hasłem

Sprawdź, czy hasło administratora dla vCenter Server Appliance nie 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 urządzenia 503 Service Unavailable bez stosowania obejścia. Możesz ustawić okres ważności hasła administratora na 0 , jeśli chcesz, aby hasło nigdy nie wygasło.

  1. Ustawienia wygaśnięcia hasła administratora można edytować w interfejsie graficznym vCenter Server Appliance Management:
    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 działa na maszynie wirtualnej. To samo należy zrobić w przypadku zewnętrznego kontrolera usług platformy, 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 widzisz pusty znak, wygeneruj nowe hasło, wracając do poprzedniego kroku. Problem ten występuje, gdy hasło zawiera znaki specjalne, a są one wyświetlane jako brakujące (puste) znaki.
  9. Połącz się z vCenter Server przez 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ą 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, a przed edycją konfiguracji, aby umożliwić przywrócenie vCenter w razie wystąpienia problemów. Najlepszym podejściem jest tworzenie 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 zapasowych 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ł przywrócić działającą konfigurację w krótkim czasie. Wsparcie dla kopii przyrostowych i polityki retencji GFS pomaga w bardziej racjonalnym wykonywaniu kopii zapasowych VMware vCenter. Produkt obsługuje obcinanie dziennika SQL w celu oszczędzania miejsca na dysku i zmniejszenia prawdopodobieństwa błędów spowodowanych brakiem miejsca na dysku przy dużych logach baz danych.

Wypróbuj NAKIVO Backup & Replication

Wypróbuj NAKIVO Backup & Replication

Skorzystaj z bezpłatnej wersji próbnej, aby poznać wszystkie funkcje rozwiązania w zakresie ochrony danych. 15 dni za darmo. Bez żadnych ograniczeń dotyczących funkcji ani pojemności. Nie trzeba podawać danych karty kredytowej.

People also read