Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
mam bardzo leciwy serwer z ovh, wydzierżawiony ładnych kilka lat temu. Z racji tego, że zużyty atom do wielu rzeczy się nie przyda, na serwerze trzymam napisany przeze mnie monitor innych serwerów.
Skrypt działa bardzo prosto, perlowe lwp we while(1) i sleep 15.
Problem polega na tym, że serwer zawiesza się czasami, ostatni raz zawiesił się ponad 3 mc temu, a od prawie 30 dni nie był nawet resetowany (aż do dziś ^^;). Gdy się zawiesza zrywa połączenie ssh, część monitorów przestaje działać (wiem, bo zapisuję w logach ich działania i widzę, że część przestała działać, a reszta mozolnie dalej pracuje), serwer można cały czas pingować, jednak gdy próbuję zalogować się przez ssh połączenie jest jakby w próżni (nie wyskakuje komunikat wpisania hasła).
Jest mi bardzo ciężko zdiagnozować problem, serwer o ile mnie pamięć nie myli zawiesza się tylko gdy jestem zalogowany na ssh. Load stabilnie utrzymuje się na 0.04, a iotop nie pokazuje nadmiernego obciążenia dysku.
Offline
dmesg + syslog i powinno być widać co pacjenta boli.
Offline
syslog
Feb 22 12:25:19 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:19 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:23 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:26 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:26 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:31 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:33 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:33 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:40 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:43 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:46 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:48 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:25:55 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:26:07 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:26:08 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:26:08 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:26:41 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:26:45 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:26:58 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:27:14 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:27:21 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:27:47 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:27:49 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:27:55 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:28:13 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:28:24 backup smartd[609]: Device: /dev/sda [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 250 to 240 Feb 22 12:28:27 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:28:29 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:28:48 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:28:59 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:29:08 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:29:18 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:29:30 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:29:41 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:29:56 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:30:30 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:30:46 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:31:53 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:32:00 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:32:10 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:33:12 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:33:13 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:33:29 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:34:14 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:14247] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:34:21 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19023] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0 Feb 22 12:35:15 backup kernel: grsec: failed fork with errno ENOMEM by /usr/bin/perl[perl:19027] uid/euid:1000/1000 gid/egid:1000/1000, parent /lib/systemd/systemd[systemd:1] uid/euid:0/0 gid/egid:0/0
Crash był o 12:35 w/g mrtg, te errory nie występują po resecie. I nie wykonuję żadnych poleceń perlowych z poziomu root-a.
Ostatnio edytowany przez cham1337 (2016-02-22 22:23:05)
Offline
dmesg
Ostatnio edytowany przez cham1337 (2016-02-22 23:16:39)
Offline
Jak próbujesz używać SystemD pod Grseciem, to poszukaj lepiej dobrego psychoanalityka. :D.
SystemD jest skrajnie niezgodny z Grsec, ja po wgraniu jajka grsec do Debiana Stretch w ogóle musiałem przez chroota wiać na Sysvinit, bo SystemD w ogóle nie potrafił podnieść systemu pod restrykcjami Grseca.
Ostatnio edytowany przez Jacekalex (2016-02-22 22:33:26)
Offline
Zgodny, niezgodny, kernel z grsec mam od miesiąca, a wcześniej też się zawieszał.
Ostatnio edytowany przez cham1337 (2016-02-22 22:49:40)
Offline
2768
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:35:38)
Offline
cham1337 napisał(-a):
Zgodny, niezgodny, kernel z grsec mam od miesiąca, a wcześniej też się zawieszał.
Jeżeli do systemu, który się wiesza, dorzucasz jeszcze grseca, to musi być cholernie dobry psychoanalityk. :D
Ja bym raczej zaorał ten system, i zobaczył na świeżym, czystym systemie, wtedy przynajmniej byłoby jasne, czy to sprzęt, czy jakiś błędy softu, np wycieki pamięci.
Grsec z niejednego systemu potrafi zrobić praktycznie mielonkę, dlatego z pewnością nie nadaje się do eliminacji "wieszania się systemu".
Offline
uzytkownikubunt napisał(-a):
W jądrze jest napisane:
Kod:
#define ENOMEM 12 /* Out of memory */Tutaj też coś o pamięci pisali: http://www.nntp.perl.org/group/perl.perl5.porters/2 … sg209299.html
Czyli być może coś zżera na tyle dużo RAM, że perl nie może stworzyć nowego procesu (fork), a SSH się zawiesza, albo z jakiegoś innego powodu nie jest przydzielana świeża pamięć procesom, gdy o to proszą.
Właśnie też do takich wniosków doszedłem " errno ENOMEM - Cannot allocate memory", wygląda na to, że systemowi brakuje RAM-u po 3 miesiącach, siedziałem cicho bo liczyłem na jeszcze inne pomysły. W sumie by pasowało, o 12:35 zawiesił się tylko skrypt wykorzystujący lwp, reszta skryptów (parsery) działała aż do rebootu o 12:37.
Ostatnio edytowany przez cham1337 (2016-02-22 23:27:02)
Offline
Jacekalex napisał(-a):
Jak próbujesz używać SystemD pod Grseciem, to poszukaj lepiej dobrego psychoanalityka. :D.
SystemD jest skrajnie niezgodny z Grsec, ja po wgraniu jajka grsec do Debiana Stretch w ogóle musiałem przez chroota wiać na Sysvinit, bo SystemD w ogóle nie potrafił podnieść systemu pod restrykcjami Grseca.
Chciałbym zdementować plotki na temat nieuruchamiania się systemd pod grsec. xD System się odpala, a środowisko graficzne się ładuje. W prawdzie thunderbird zaliczył crash i coś nie działa ustawianie parametrów sysctl, w efekcie czego usługa za to odpowiedzialna zdechła. Jest też jakiś problem z załadowaniem modułów chyba. Jakiś błąd z Xorg jest i virtualbox. No i lightdm chce zmienić trochę limitów i też grsec mu nie zezwala. Conky się nie uruchamia, bo "grsec: denied untrusted exec". xD No i jest problem ze zmianą priorytetu demona dźwięku via rtkit-daemon ale tego się spodziewałem akurat, w efekcie też chyba i dźwięk nie działa. xD Także jak widać systemd jako tako działa, tylko nie ma możliwości ustawienia parametrów sysctl podczas boot i tylko ta z jego usług się wykrzacza. To ja nie wiem po co ktoś dał plik /etc/sysctl.d/grsec.conf .
Offline
SystemD jest skrajnie niezgodny z Grsec
Raczej na odwrót.
W Debianie systemd jest standardem, a Grsec dodatkiem, który powinien współpracować z resztą systemu.
Offline
yossarian napisał(-a):
SystemD jest skrajnie niezgodny z Grsec
Raczej na odwrót.
W Debianie systemd jest standardem, a Grsec dodatkiem, który powinien współpracować z resztą systemu.
Miałbyś rację, gdyby developerzy SystemD poprawiali błędy zgłaszane przez ekipę grsec/paxa.
Niestety, nigdy tego nie zrobili, podobnie, jak mieli kiedyś w doopie uwagi L.T.
Systemd nie dlatego jest niezgodny z Grsec, że tak zdecydowali ludzie z teamu Grsec, tylko dlatego, że w Systemd mają głębiej niż ustawa przewiduje jakość kodu, dokładnie tak samo, jak kiedyś w Pulse.
Jakoś OpenRC, Sysvinit czy nawet Upstart chodzą pod Grsec bez problemu.
Tylko z Systemd jest problem.
W dodatku initów w Linuxie masz co najmniej pięć, a łatka grsec jest tylko jedna, więc nie czaję, kto tutaj do kogo powinien się dopasowywać.
Developerzy Systemd nie trzymają się żadnych standardów Linuxa, wolą tworzyć własne, i w tym jest problem.
Pozdro
Offline
Przecie sam linux nie jest zgodny z grsec, nie pamiętacie tych problemów L.T. vs grsec i nazywania ludzi od bezpieczeństwa bezkompromisowymi szaleńcami, z którymi się w ogóle nie idzie dogadać, bo ci nic tylko bezpieczeństwo i bezpieczeństwo? xD Przecie ci z grsec też coś tam gadali by L.T. coś poprawił i wprowadził, a ten ich olał, także taki brak współpracy to chyba norma w obecnych czasach. xD
Jakoś OpenRC, Sysvinit czy nawet Upstart chodzą pod Grsec bez problemu.
Tylko z Systemd jest problem.
Przecie ci napisałem, że działa. Sam sprawdzałem na tym jaju debianowym z grsec co jest w repo. xD
Developerzy Systemd nie trzymają się żadnych standardów Linuxa, wolą tworzyć własne, i w tym jest problem.
No w sumie ciężko się trzymać standardy próbując ustandaryzować linuxa, bo przecie, do konfiguracji samego hostname trzeba 100 narzędzi i miljard plików, które różnią się jedynie nazwą i lokalizacją. xD
Ostatnio edytowany przez morfik (2016-02-23 18:05:14)
Offline