Mamy kilkadziesiąt serwerów Proxmox (Proxmox działa na Debianie), a mniej więcej raz w miesiącu jeden z nich będzie miał panikę jądra i blokuje się. Najgorsze w tych blokadach jest to, że gdy jest to serwer, który jest na innym przełączniku niż master klastra, wszystkie inne serwery Proxmox na tym przełączniku przestaną odpowiadać, dopóki nie znajdziemy serwera, który faktycznie się zawiesił i uruchomi się ponownie.
Gdy zgłosiliśmy ten problem na forum Proxmox, doradzono nam uaktualnienie do wersji Proxmox 3.1 i pracujemy nad tym od kilku miesięcy. Niestety, jeden z serwerów, które migrowaliśmy do Proxmox 3.1, został zamknięty w piątek z powodu paniki jądra, i znowu wszystkie serwery Proxmox, które były na tym samym przełączniku, były nieosiągalne przez sieć, dopóki nie zdołaliśmy zlokalizować uszkodzonego serwera i zrestartować go.
Cóż, prawie wszystkie serwery Proxmox na przełączniku ... Uważam za interesujące, że serwery Proxmox na tym samym przełączniku, które były jeszcze w wersji Proxmox 1.9, nie uległy zmianie.
Oto zrzut ekranu konsoli uszkodzonego serwera:
Po zablokowaniu serwera pozostałe serwery na tym samym przełączniku, na których działał także Proxmox 3.1, stały się nieosiągalne i wyrzucały następujące informacje:
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
...etc...
uname-wyjście zablokowanego serwera:
Linux ------ 2.6.32-23-pve #1 SMP Tue Aug 6 07:04:06 CEST 2013 x86_64 GNU/Linux
pveversion -v wyjście (w skrócie):
proxmox-ve-2.6.32: 3.1-109 (running kernel: 2.6.32-23-pve)
pve-manager: 3.1-3 (running version: 3.1-3/dc0e9b0e)
pve-kernel-2.6.32-23-pve: 2.6.32-109
Dwa pytania:
Jakieś wskazówki, co spowodowałoby panikę jądra (patrz obrazek powyżej)?
Dlaczego inne serwery na tym samym przełączniku i wersji Proxmox byłyby usuwane z sieci do momentu ponownego uruchomienia zablokowanego serwera? (Uwaga: na tym samym przełączniku były inne serwery, na których działała starsza wersja Proxmoxa w wersji 1.9, których to nie dotyczyło. Nie dotyczyło to również innych serwerów Proxmox w tym samym klastrze 3.1, które nie były na tym samym przełączniku.)
Z góry dziękuję za wszelkie porady.
źródło
Odpowiedzi:
Jestem prawie pewien, że twój problem nie jest spowodowany tylko jednym czynnikiem, ale raczej kombinacją czynników. To, czego te poszczególne czynniki nie są pewne, ale najprawdopodobniej jednym czynnikiem jest interfejs sieciowy lub sterownik, a inny czynnik znajduje się na samym przełączniku. Dlatego jest całkiem prawdopodobne, że problem można odtworzyć tylko w przypadku tej konkretnej marki przełącznika w połączeniu z tą konkretną marką interfejsu sieciowego.
Wydaje się, że przyczyną problemu jest coś, co dzieje się na pojedynczym serwerze, który następnie wywołuje panikę jądra, która ma efekty, które w jakiś sposób potrafią się rozprzestrzenić na przełączniku. Wydaje się to prawdopodobne, ale powiedziałbym, że spust jest gdzieś indziej.
Może się zdarzyć, że coś się dzieje na przełączniku lub interfejsie sieciowym, co jednocześnie powoduje panikę jądra i problemy z łączem na przełączniku. Innymi słowy, nawet jeśli jądro nie miało paniki w jądrze, wyzwalacz mógł równie dobrze obniżyć łączność na przełączniku.
Trzeba zapytać, co może się zdarzyć na pojedynczym serwerze, co może mieć taki wpływ na inne serwery. Nie powinno to być możliwe, więc wyjaśnienie musi zawierać usterkę gdzieś w systemie.
Jeśli było to tylko łącze między zawieszonym serwerem a przełącznikiem, które uległo awarii lub stało się niestabilne, nie powinno to mieć wpływu na stan łącza do innych serwerów. Jeśli tak się stanie, będzie to liczone jako wada przełącznika. Jeśli chodzi o ruch, pozostałe serwery powinny zobaczyć nieco mniejszy ruch, gdy serwer, który uległ awarii, utracił łączność, co nie może wyjaśnić, dlaczego widzą problem, który robią.
To prowadzi mnie do wniosku, że prawdopodobna jest wada projektowa przełącznika.
Jednak problem z łączem nie jest pierwszym wyjaśnieniem, którego należy szukać, próbując wyjaśnić, w jaki sposób problem na jednym serwerze może powodować problemy na innych serwerach w przełączniku. Burza telewizyjna byłaby bardziej oczywistym wyjaśnieniem. Ale czy może istnieć związek między serwerem z paniką jądra a burzą rozgłoszeniową?
Multiemisja i pakiety przeznaczone na nieznane adresy MAC są mniej więcej traktowane tak samo, jak rozgłaszanie, więc burza takich pakietów również się liczy. Czy spanikowany serwer może próbować wysłać zrzut awaryjny przez sieć na adres MAC nie rozpoznany przez przełącznik?
Jeśli to jest wyzwalacz, oznacza to, że coś działa nie tak na innych serwerach. Ponieważ burza pakietów nie powinna powodować tego rodzaju błędów w interfejsie sieciowym.
Reset adapter unexpectedly
nie brzmi jak burza pakietów (co powinno po prostu spowodować spadek wydajności, ale nie ma błędów jako takich) i nie brzmi jak problem z łączem (który powinien spowodować pojawienie się komunikatów o awarii łączy, ale nie o błędzie widzenie).Jest więc prawdopodobne, że w sprzęcie lub sterowniku sieci występuje pewna wada, która jest wywoływana przez przełącznik.
Kilka sugestii, które mogą dać dodatkowe wskazówki:
źródło
Brzmi dla mnie jak błąd w sterowniku Ethernet lub sprzęcie / oprogramowaniu sprzętowym, co oznacza czerwoną flagę:
Widziałem je wcześniej i może on spowodować wyłączenie serwera w trybie offline. Nie pamiętam dokładnie, czy było na kartach Intel Ethernet, ale wierzę w to. Może to być nawet związane z błędem w samych kartach Ethernet. Pamiętam, że czytałem coś o konkretnych kartach Intel Ethernet, które mają takie problemy. Ale zgubiłem link do artykułu.
Wyobrażam sobie, że wyzwalacz tego zależy częściowo od zastosowanego sterownika (wersji), fakt, że starsza wersja oprogramowania działa dobrze, wydaje się to potwierdzać. Mówisz, że sprzedawca używa własnego niestandardowego jądra, spróbuj zaktualizować moduł sterownika Ethernet, który jest używany dla twojego konkretnego sprzętu Ethernet. Albo jeden od twojego dostawcy, albo jeden z oficjalnego drzewa źródeł jądra.
Spójrz również na związanie sprzętu Ethernet, zwykle serwer miałby dwa porty Ethernet, na pokładzie i / lub dodawał karty. W ten sposób, jeśli jedna karta Ethernet ma ten problem, druga odbierze. Używam słowa „karta”, ale oczywiście odnosi się ono do każdego sprzętu Ethernet.
Również wymiana sprzętu Ethernet może to naprawić. Wymień lub dodaj nowszą (Intel) kartę Ethernet i użyj jej zamiast tego. Są szanse, że jeśli problem dotyczy sprzętu / oprogramowania układowego, nowsza karta ma poprawkę (lub starszą?).
źródło