PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Squid stürzt ständig ab



Biski
10.11.05, 14:35
Hallo ihr Leutz,

mein Proxy Server Squid stürzt einmal am Tag ab. Nachdem ich alle Einträge in den Log Dateien lösche, hält er zwei Tage ohne Absturz durch. Die Log Dateien sind aber nie besonders Groß. Und das Problem habe ich erst seit kurzen und der Squid läuft schon eine geraume Zeit. Habe eine Vermutung dass es mit der Größe meiner Swap Partition (128 MB Swap, 128 MB RAM) zusammen hängt. Bin mir jedoch nicht sicher und habe keine Möglichkeit die Partition noch zu vergrößern.

Im Anhang ist ein Teil meiner cache.log, als mein Squid um 13:26 Uhr abgestürzt ist! Ich habe jedoch nur zu wenig Ahnung um die Einträge zu interpretieren!

Was macht der Squid z.B an dieser Stelle:

"
Done reading /var/cache/squid swaplog (218 entries)
2005/11/07 18:15:59| Finished rebuilding storage from disk.
2005/11/07 18:15:59| 203 Entries scanned
2005/11/07 18:15:59| 0 Invalid entries.
2005/11/07 18:15:59| 0 With invalid flags.
2005/11/07 18:15:59| 188 Objects loaded.
2005/11/07 18:15:59| 0 Objects expired.
2005/11/07 18:15:59| 15 Objects cancelled.
2005/11/07 18:15:59| 0 Duplicate URLs purged.
2005/11/07 18:15:59| 0 Swapfile clashes avoided.
2005/11/07 18:15:59| Took 0.4 seconds ( 427.5 objects/sec).

"
Wäre auch dankbar über einen Link, wechler die Einträge der cache.log erklärt!!

In diesem Sinne

Biski

RichieX
10.11.05, 18:06
Cache-Partition voll? Der RAM + Swap ist wirklich nicht berauschend für eine Proxy der Cachen soll.

Mehr Output bekommst du, wenn du den Loglevel des Squid höher stellst. In der jetzigen cache.log ist nichts auffälliges. Auch die store.log enthält vielleicht etwas mehr Informationen.

Biski
11.11.05, 06:42
Hallo, wie meinst du das? Cache Partition voll? Redest du von der Swap??

Wo kann ich dann in der Squid.conf den Loglevel des Squid höher stellen?? Bei "cache_mem= 150MB"? Ist bei mir ausdokumentiert!

MFG

der B.

RichieX
11.11.05, 07:53
Hallo, wie meinst du das? Cache Partition voll? Redest du von der Swap??

Na die Partitioon wo der Squid seinen Cache schreibt.


Wo kann ich dann in der Squid.conf den Loglevel des Squid höher stellen??


debug_options ALL,9

Biski
14.11.05, 09:05
Hallo,

nochmal zur Info: Über den Squid gehen ca. 100 Clients ins I-net! Ich habe den Squid nicht selbst installiert u. konfiguriert! Die Angabe über Swap und RAM waren falsch, Arbeitsspeicher und Swap sind beide 1 GB groß. Am WE, wenn niemand Arbeitet (surft ;-)) kommt es eigentlich nie zu einem Ausfall! Nur unter der Woche! Die Partionsgröße des Suse Systems beträgt 15GB und /var belegt als eigene Partition 70GB.

Kann es sein dass der Squid zu viele Anfragen aus dem Cache bedienen muss und dadurch abschaltet??

Der Eintrag "cache_dir var/squid/cache 100 16 256" in der squid.conf ist auskommentiert! Wie groß ist der Cache wenn dieser Eintrag auskommentiert wurde? Oder wie groß sollte er in meinem Fall sein?

MFG

Biski

ml
14.11.05, 09:53
Das ändert nichts weil das eh die Standardwerte sind.


The first parameter '/var/squid/cache' is the path to the cache files. You
may change this to suit whatever you want too, but remember whatever path
you may mention out here make sure that those directories exist because
Squid will never create the directories on it's own. Also a point to be
noted is that the directories should be writable by the Squid process. If
you are a novice and all of this is sounding too geekish then I suggest
you stick to the default values.

The next value '100' is the amount of space in MegaBytes(MB) that Squid
can utilize to store the cache contents. Modify this to whatever you think
is appropriate to suit your needs.

The next value referred to as 'Level-1' is the number of sub-directories
that Squid can create under the current Cache directory. I suggest that
for starters leave this as it is.

The next option is referred to as 'Level-2' is the number of Second Level
directories that Squid can create under each 'Level-1' directory. The
default is fine for the moment.

Jedefalls heißt dass im Moment der Squid-Cache nur 100MB groß ist.
Würde ich auf jeden Fall auf mind. 10GB erhöhen!

Diese Option ist auch wichtig:


#cache_mem 8 MB

This option sets a limit on the amount of memory that squid may make use
of to store it's transient and cached objects temporarily in memory. This
limit that you may impose on squid is the soft limit and at any given
point of time Squid may double or triple the size of occupied memory all
depending on the size and the requirement of in-transient cached objects.
Uncomment this line and change the size of your Memory cache from 8 MB to
what ever size you want it too be. Keep in mind the amount of RAM that you
have on your machine when you allocate memory to SQUID. But for your
knowledge this occupancy of the specified Memory Limit is dynamic

Wahrscheinlich hast du den Standardwert für "cache_mem" auch noch nicht geändert.
Würde ich bei einem GB Ram jedenfalls auf sagen wir mind. 300MB erhöhen.

Biski
14.11.05, 10:45
Hallo, das mit den Standardwerten habe ich wohl in der Squid.conf überlesen :o

Auf meinem Server läuft noch zusätzlich ein Open Exchange Server, spielt das bei deiner genannten Größenverteilung eine Rolle?!??

Und nochmal zur Verständnis;

ist meine Vermutung das der Squid zu viele Anfragen aus dem Cache bedienen muss und dadurch abschaltet richtig oder spielen da noch weitere Gründe ein Rolle?? Wenn ja, warum läuft der Squid über ein jahr stabil und auf einmal diese Probleme?!?

Ich werde dann mal die Einträg in der Squid.conf entsprechend ändern.

ml
14.11.05, 12:27
Schau dir halt mal die RAM-Nutzung der einzelnen Dienste, z.b. mit top, an!
Pauschal kann man das nicht sagen!
Vielleicht hilft es auch mal den Cache zu löschen!

Biski
14.11.05, 13:42
so, habe jetzt mal die Standardwerte raus genommen und sie mal entsprechend angepasst! Ich bin gespannt!

Werde mein Ergebnis nochmal posten!

Schonmal vielen Dank!

Biski
17.11.05, 07:42
also, ich habe den Cache gelöscht und neuaufgebaut, den Squid-Cache auf 10 GB und cache_mem auf 300 Mb erhöht!

Alles ohne Erfolg, squid ist wieder abgestürzt!

Habe den Loglevel auf 9 erhöht, im Anhang befindet sich ein kurzer Ausschnitt der cache.log zum Absturz Zeitpunkt! :confused:

Hoffe auf Eure Hilfe.....

ml
17.11.05, 11:25
Welche Version hast du installiert?

Falls es nicht die neueste ist würde ich ein update machen.

In der logdatei sehe ich nichts Außergewöhnliches!

Biski
18.11.05, 08:38
Die Version ist 2.4 Stable!

Muss es unbedingt ein Update sein? Weil erstens weiß ich nicht wie es geht! Und wenn es schief laufen würde, wäre dies katastrophal da auf dem Squid das Haus auf keinen Fall verzichten kann. Das Teil muss laufen!

Was kann ich noch machen??

RichieX
18.11.05, 12:47
Woran machst du eigentlich fest, dass der Squid abgestürzt ist. Ich bin ganz ehrlich, ich habe squid noch nie zum "abstürzen" gebracht, auch nicht bei 300 Clients - die dementsprechende Hardware vorrausgesetzt.

Stirbt dir der Prozess weg, läuft er als Zombie, oder läuft er noch, reagiert aber nicht mehr?

Biski
21.11.05, 07:47
Beim Surfen erscheint ein Kasten in dem steht das keine Verbindung zum Proxyserver besteht! Dann melde ich mich über Webmin am Server an, dort kann ich den Squid dann über einen Link starten lassen! Der Squid wird als nicht gestartet dargestellt!

psy
21.11.05, 07:54
wenn das mal wieder der fall ist, dann schau dir mal per top oder ps an was mit dem squid-prozess passiert ist.

poste ggf. mal die ausgabe.

Columbo0815
21.11.05, 08:46
Vor kurzem gab es einen Fehler in Squid. IIRC ist dieser noch nicht behoben. Jedesmal wenn von einer bestimmten Seite "Werbung" geholt werden soll (so ählich wie die oben rechts), stürzt Squid ab.

Prüfe die access.log direkt nachdem Squid abgestürzt ist. Eventuell ist es der genannte Fehler. Diesen kannst du dann umgehen, indem du einfach den Zugriff auf diese Seite unterbindest.

Gruß

Biski
21.11.05, 10:37
Kann leider noch keine Angaben machen, da Squid bisher noch durchgehalten hat! Das mit der Werbung ist das dein ernst?? Das kann ich mir irgendwie gar net vorstellen wie so was gehn soll?!?! Aber ich werde nach schauen!

Was mir noch aufgefallen ist.... Mit "top" erhalte ich folgende Angabe über den Squid:

24151 squid 15 0 9340 9328 1192 S 0.3 0.9 0:02.87 squid

Kann es sein dass ich was falsch gemacht habe bei der Zuweisung von cache_mem?? Habe es auf 300 MB erhöht, aber hier werden doch laut Ausgabe immer noch die 8 MB benutzt!?!??? Habe die Squid.conf dementsprechend geändert und den Squid neu gestartet!

Biski
21.11.05, 15:10
....... nochmal ich

ALSO, squid ist abgestürzt! "Top" ausgeführt, kein squid Prozess mehr vorhanden, Squid ist also tot! Habe auch noch mal eine .txt im Anhang der "ps -A" Ausgabe! Habe den Squid über über Konsole....... /squid restart wieder gestartet.

Es kam jedoch folgende Meldung: "Warning: /var/run/squid.pid exist"

Mir ist aufgefallen dass zum Zeitpunkt des Absturzes sehr viele Benutzer Seiten mit Bildern aufgerufen haben, also hohes Datenaufkommen!

Was ist mit meiner Vermutung im oberen Beitrag?? Möglich??

Was haltet ihr vom folgendem artikel??

Bei Squid handelt es sich um einen weit verbreiteten Proxy. Er unterstützt das von Cisco entwickelte Web Cache Communication Protocol (WCCP), das die Verteilung der Datenströme auf unterschiedliche Router unterstützt. Der Call recvfrom() des WCPP akzeptiert mehr Daten als in den hierfür vorgesehenen Puffer passen. Daher kann ein Angreifer über das Netzwerk mit Hile übergroßer WCCP-Nachrichten einen Pufferüberlauf erreichen und Squid zum Absturz bringen. Dieser Denial-of-Service ist nur möglich, wenn das WCCP konfiguriert ist und genutzt wird. Ein Patch zur Behebung dieser Schwachstelle steht jetzt zur Verfügung.

ml
21.11.05, 16:08
Mach einfach mal ein Update auf die aktuelleste Version!
Vorher die squid.conf sichern dann kann nicht schiefgehen!


Es kam jedoch folgende Meldung: "Warning: /var/run/squid.pid exist"

Das kommt daher dass squid nicht sauber gestoppt wurde, daher wurde die pid-Datei auch nicht gelöscht.

Ob dein Proxy von unten beschriebener Schwachstelle betroffen ist kommt darauf an ob es diesen Bug in deiner Version gibt.

Also mach einfach mal ein Update!

Biski
23.11.05, 07:11
Wie soll ich dann bei dem Update vorgehen?

Reicht das wenn ich "rpm -U --oldpackage squid-2.5.STABLE1-110.i586.rpm" in der Konsole eingebe! Oder über Yast? Wäre nett wenn du mir dabei helfen könntest!

Nochmal meine Frage: Warum nutzt der Squid nur 8 MB im Arbeitsspeicher, obwohl ich ihn über cache_mem 300 MB zugewiesen habe? Oder sehe ich das was falsch??

ml
23.11.05, 10:24
Mit dem rpm-Befehl sollte es klappen, vorher aber die squid.conf sichern und ggfs. zurückkopieren falls sie beim Update überschrieben wurde.
Danach squid natürlich neustarten!

Wieso squid nur 8MB RAM belegt weiß ich auch nicht.
Poste eventuell mal deine squid.conf.
Wenn bei bei cache_mem 300MB angibst heißt das ja nicht dass er die 300MB auch komplett ausnutzt, vielleicht genügen ihm die 8MB oder es liegt an der squid.conf!

Biski
23.11.05, 13:28
Ich habe gelesen dass es mit einem einfachen Update net getan ist! Man muss angeblich noch einiges abändern weil sich der Syntax von Version zu Version ändert! Ist das von 2.4 auf 2.5 nicht der Fall? Brauch ich dann wirklich nur die alte squid.conf zurück kopieren???

Columbo0815
23.11.05, 14:50
Vor kurzem gab es einen Fehler in Squid. IIRC ist dieser noch nicht behoben. Jedesmal wenn von einer bestimmten Seite "Werbung" geholt werden soll (so ählich wie die oben rechts), stürzt Squid ab.

Prüfe die access.log direkt nachdem Squid abgestürzt ist. Eventuell ist es der genannte Fehler. Diesen kannst du dann umgehen, indem du einfach den Zugriff auf diese Seite unterbindest.

Gruß
10-Zeichen-prüf-das-jetzt-endlich-mal