Sziasztok!
Egy CentOS 5.2-es tűzfalat használok, ami egy kollégiumot(is) szolgál ki. Régebben Fedorat használtam, nem volt vele semmi gond, csak gyorsan változtak a verziók, meghát erre csak jobb a CentOS. Most, hogy kezdődik az év/nagyüzem rendszeresen kiakad a squid. A log-okban nincs semmi gyanús, csak megáll mint a szög, és 100%-ra terheli az egyik procit. Minden más megy rendesen. A "service squid stop" paranccsal le sem lehet állítani, a "killall squid" és "service squid start" újraindúl, de félnap, vagy max egy héten bellül újra lefagy. A google-n sem találtam semmit.
- 1521 megtekintés
Hozzászólások
Memória nem fogy el?
- A hozzászóláshoz be kell jelentkezni
Nem fogy el a memória, nem fogy el a diszk.
A SWAP-et nem is használja, van 2 GByte (1GByte memóriához), az installálás óta (kb 2 hónapja) 92kByte-nál még többet nem használt belőle.
A log fájlok mérete 300MByte alatt, gondolom ez sem határérték.
- A hozzászóláshoz be kell jelentkezni
A probléma nem oldódott meg.
Annyi hibát találtam, hogy a transzparens proxy beállításánál a HTTPS portot is a proxyba irányítottam, mert annó még azt hittem, hogy az is megy transzparensen, aztán úgy maradt. Ezt eltávolítottam, sajnos ugyanúgy lefagy.
Viszont találtam néhány core.* fájlt a /var/spool/squid könyvtárban, amik szépen szaporodnak, és eszerint (gdb):
...
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `(squid) -D'.
Program terminated with signal 6, Aborted.
#0 0x00810402 in __kernel_vsyscall ()
...
Vagyis abortal elszáll. Ha hardver hiba, annak más jele nincsen.
Vagy sérült valamelyik csomag? Esetleg egy bug?
- A hozzászóláshoz be kell jelentkezni
Cache alatt milyen filerendszer van, hogyan mountolva? Ha valami extra, legyen alapértelmezett ext3.
Esetleg megpróbálni cache nélkül:
cache_dir null /null
- A hozzászóláshoz be kell jelentkezni
A cache alatt ext3 van, nam csináltam neki külön particiót, csak a /var -nak van saját partíciója. A /var -hoz tartozó fstab sor:
/dev/VolGroup00/LogVol01 /var ext3 defaults 1 2
A volgrup egy szoftveres RAID1-en van.
Megtaláltam a /var/log/messages -ben a elszálásokhoz tartozó üzeneteket:
...
... squid[4675]: Squid Parent: child process 16693 exited due to signal 6
...
... squid[4675]: Squid Parent: child process 18089 started
...
Amikor ezek az üzenetek jönnek, és a core fájlok keletkeznek, a squid müködik tovább rendesen. Amikor viszont lefagyás van, akkor nincs ilyen üzenet.
Ha megpróbálom cache nélkül és megy, akkor abból mire lehet következtetni, és ha nem megy abból mire?
- A hozzászóláshoz be kell jelentkezni
Azért gondoltam erre, mert legutóbb nálam fájlrendszer probléma okozott squid leállást, szintén CentOS alatt.
Viszont Google szerint a /var/log/squid/cache.log-ban lennie kellene valami hibaüzenetnek signal 6 esetén. Nincs ott semmi?
- A hozzászóláshoz be kell jelentkezni
Tulajdonképpen látszik, az abort az nem, de az új process indítása igen, vagyis semmilyen hibaüzenetet nem loggol, ami ezzel összefüggésbe hozható.
Rengeteg "Unsupported method" meg "Requestheader contains NULL characters" üzenet van, mivel a kollégisták gépei hemzsegnek a virusoktól/férgektől, de ettől nem kéne kiakadni.
Azonkívül a lefagyás, és a corredump-ok akár két független jelenség is lehetnek. A lefagyáskor megáll a log, a lefagyással összefüggésbe hozható üzenet nincs, és cordump fájl sincs, mert a squid processz éppen egy végtelen ciklussal lehet elfoglalva.
A core fájlt egy kicsit jobban megnéztem, egy bt (gdb) parancsra kiírta az abort-kori stack-et (már amit tudott):
(gdb) bt
#0 0x00110402 in __kernel_vsyscall ()
#1 0x006a5d20 in raise () from /lib/libc.so.6
#2 0x006a7631 in abort () from /lib/libc.so.6
#3 0x0069f16b in __assert_fail () from /lib/libc.so.6
#4 0x080e36d5 in hash_string ()
#5 0x08076c29 in snmp_netIdnsFn ()
#6 0x08077d6b in snmp_netIdnsFn ()
#7 0x080979c9 in snmp_netIpFn ()
#8 0x0807246f in geteuid@plt ()
#9 0x0e025e90 in ?? ()
#10 0x08072ca1 in geteuid@plt ()
#11 0x0ea45900 in ?? ()
#12 0x080716ea in geteuid@plt ()
#13 0x0e026008 in ?? ()
#14 0x0e027d78 in ?? ()
#15 0x080723d3 in geteuid@plt ()
#16 0x08111b30 in ?? ()
#17 0x00000048 in ?? ()
#18 0x0e027d78 in ?? ()
#19 0xbff3e7e8 in ?? ()
#20 0x0807ec2b in fwdCheckDeferRead ()
#21 0x0807ec2b in fwdCheckDeferRead ()
#22 0x080a3933 in netdbExchangeStart ()
#23 0x0807e68d in fwdCheckDeferRead ()
#24 0x0806e664 in geteuid@plt ()
#25 0x00000040 in ?? ()
#26 0x0a1d09a0 in ?? ()
#27 0x0e025e08 in ?? ()
#28 0x08247ae0 in Config2 ()
#29 0xbff3e9d0 in ?? ()
#30 0x10030088 in ?? ()
#31 0x0e025e08 in ?? ()
#32 0x08111b30 in ?? ()
#33 0x0e025e08 in ?? ()
Ez alapján keresgéltem a bugzilla-ban de vagy nagyon ügyetlenül, vagy ezt a hibát én találtam, vagy valami sérült és azért vacakol.
- A hozzászóláshoz be kell jelentkezni