IPCop-Forum.de

www.ipcop-forum.de


IPCop-Community
CL-Systems
Home Home   Doku Doku   Links Links   Downloads Downloads
UnIPCop Der (Un)IPCop   IFS IPCop-ForumSpy
CopTime CopTime   Galerie IPCop-Galerie   IPCop Userkarte Userkarte
Aktuelle Zeit: 27.05.2018, 09:40

Alle Zeiten sind UTC+02:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 01.12.2014, 14:56 
Offline
Constable
Themenstarter
Constable

Registriert: 27.03.2009
Beiträge: 39
Hallo,

es kommt in letzter Zeit gelegentlich vor, dass im Web-Proxy-Log (Protokolle->Systemprotokolle->Web-Proxy) folgende Einträge zu finden sind:
Code:
13:26:12   squid[9463]   WARNING! Your cache is running out of filedescriptors


Das hat zur Folge, dass der Squid extrem langsam wird bzw. der Eindruck entsteht, dass er nicht mehr arbeitet.
Scheinbar ist das Maximum der Filedescriptors auf 1024 eingestellt, zumindest steht das so unter Status-> Web-Proxy

Code:
File descriptor usage for squid:
   Maximum number of file descriptors:   1024


Hat jemand eine Idee an welchen Schrauben man drehen muss, damit erstens das Limit erhöht wird und zweitens das auch nach einem Reboot des gesamten COPs so bleibt?
(Der Cop ist auf dem aktuellen Stand 2.1.7, Squid Object Cache: Version 3.4.8)

Besten Dank und Gruß!


Nach oben
   
BeitragVerfasst: 01.12.2014, 15:32 
Offline
Sergeant
Sergeant
Benutzeravatar

Registriert: 29.07.2006
Beiträge: 55
Vulpes hat geschrieben:
Hallo,

es kommt in letzter Zeit gelegentlich vor, dass im Web-Proxy-Log (Protokolle->Systemprotokolle->Web-Proxy) folgende Einträge zu finden sind:
Code:
13:26:12   squid[9463]   WARNING! Your cache is running out of filedescriptors


Das hat zur Folge, dass der Squid extrem langsam wird bzw. der Eindruck entsteht, dass er nicht mehr arbeitet.
Scheinbar ist das Maximum der Filedescriptors auf 1024 eingestellt, zumindest steht das so unter Status-> Web-Proxy

Code:
File descriptor usage for squid:
   Maximum number of file descriptors:   1024


Hat jemand eine Idee an welchen Schrauben man drehen muss, damit erstens das Limit erhöht wird und zweitens das auch nach einem Reboot des gesamten COPs so bleibt?
(Der Cop ist auf dem aktuellen Stand 2.1.7, Squid Object Cache: Version 3.4.8)

Besten Dank und Gruß!


Hallo,
also in meinem Proxy (läuft unter SLES 11) habe ich folgende Einstellungen gemacht:
Code:
/etc/security/limits.conf
#       - Increase file descriptor limits for Squid
*               soft    nofile          65536
*               hard    nofile          65536
root            soft    nofile          65536
root            hard    nofile          65536


Code:
/etc/squid/squid.conf
max_filedesc 12000


Code:
/etc/init.d/squid
# nach den Kommentaren, bevor die Squid-Variablen kommen
ulimit -HSn 12000


Gruß
Andreas


Nach oben
   
BeitragVerfasst: 01.12.2014, 16:12 
Offline
Constable
Themenstarter
Constable

Registriert: 27.03.2009
Beiträge: 39
Erstmal vielen Dank für die Unterstützung!

Das Problem ist nur, dass es auf einem Cop kein /etc/security/limits.conf gibt.


Nach oben
   
BeitragVerfasst: 02.12.2014, 07:22 
Offline
Administrator
Administrator

Registriert: 01.03.2004
Beiträge: 22218
Vulpes hat geschrieben:
es kommt in letzter Zeit gelegentlich vor, dass im Web-Proxy-Log (Protokolle->Systemprotokolle->Web-Proxy) folgende Einträge zu finden sind:
Code:
13:26:12   squid[9463]   WARNING! Your cache is running out of filedescriptors

Poste Deine kompletten Proxy-Einstellungen und teile auch sonstige Besonderheiten/Gegebenheiten
seitens IPCop und des Umfeldes mit.

Die Ursache für das Problem liegt in der Regel nicht an der "Maximum Number of file descriptors".
Das "Vollaufen" ist meist nur das Symptom, dessen Ursache nicht durch Erhöhung zu beheben ist.
Siehe auch ältere Threads zu diesem Thema.


Nach oben
   
BeitragVerfasst: 02.12.2014, 09:25 
Offline
Constable
Themenstarter
Constable

Registriert: 27.03.2009
Beiträge: 39
wintermute hat geschrieben:
Vulpes hat geschrieben:
es kommt in letzter Zeit gelegentlich vor, dass im Web-Proxy-Log (Protokolle->Systemprotokolle->Web-Proxy) folgende Einträge zu finden sind:
Code:
13:26:12   squid[9463]   WARNING! Your cache is running out of filedescriptors

Poste Deine kompletten Proxy-Einstellungen und teile auch sonstige Besonderheiten/Gegebenheiten
seitens IPCop und des Umfeldes mit.

Die Ursache für das Problem liegt in der Regel nicht an der "Maximum Number of file descriptors".
Das "Vollaufen" ist meist nur das Symptom, dessen Ursache nicht durch Erhöhung zu beheben ist.
Siehe auch ältere Threads zu diesem Thema.


Hier ist die Squid.conf

Code:
# Do not modify '/var/ipcop/proxy/squid.conf' directly since any changes
# you make will be overwritten whenever you resave proxy settings using the
# web interface!
#
# Instead, modify the file '/var/ipcop/proxy/acls/include.acl' and
# then restart the proxy service using the web interface. Changes made to the
# 'include.acl' file will propagate to the 'squid.conf' file at that time.

shutdown_lifetime 5 seconds
icp_port 0

http_port 127.0.0.1:82
http_port 192.168.72.201:8080

cache_effective_user squid
cache_effective_group squid
umask 022

pid_filename /var/run/squid.pid

cache_mem 0 MB
error_directory /usr/lib/squid/errors.ipcop/de

access_log stdio:/var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none

log_mime_hdrs off
logfile_rotate 0
forwarded_for off
via off

auth_param basic program /usr/lib/squid/basic_ldap_auth -b "ou=xxx,dc=xxx,dc=xxx" -D "cn=COPBINDUSER,cn=xxx,dc=xxx,dc=xxx" -w xxxxx -f "(&(&(objectClass=person)(sAMAccountName=%s))(memberOf=cn=xxx,ou=xxx,ou=xxx,dc=xxx,dc=xx))" -u sAMAccountName -P 10.x.x.x:389
auth_param basic children 60
auth_param basic realm Internet
auth_param basic credentialsttl 1 minutes

acl for_inetusers proxy_auth REQUIRED

acl to_ipaddr_without_auth dst "/var/ipcop/proxy/acls/dst_noauth_net.acl"
acl to_domains_without_auth dstdomain "/var/ipcop/proxy/acls/dst_noauth_dom.acl"
acl to_hosts_without_auth url_regex -i "/var/ipcop/proxy/acls/dst_noauth_url.acl"

acl within_timeframe time MTWHFAS 00:00-24:00

acl manager url_regex -i ^cache_object:// /squid-internal-mgr/
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 # https
acl SSL_ports port 8443 # alternative https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 1025-65535 # unprivileged ports
acl Safe_ports port 8080 # Squids port (for icons)

acl IPCop_http  port 81
acl IPCop_https port 8443
acl IPCop_ips              dst 192.168.72.201
acl IPCop_networks         src "/var/ipcop/proxy/acls/src_networks.acl"
acl IPCop_servers          dst "/var/ipcop/proxy/acls/src_subnets.acl"
acl IPCop_green_network    src 192.168.72.0/24
acl IPCop_green_servers    dst 192.168.72.0/24
acl IPCop_unrestricted_ips src "/var/ipcop/proxy/acls/src_unrestricted_ip.acl"
acl CONNECT method CONNECT

#Start of custom includes

#Ist ein anderer Proxy bei uns
cache_peer 192.168.200.22 parent 80 0 proxy-only login=xxx:yyy
cache_peer_domain 192.168.200.22 www2.somedomain.de .anotherdomain.de

#End of custom includes

#Access to squid manager from localhost:
http_access allow         localhost manager
http_access deny          manager
#local machine, no restriction
http_access allow         localhost

#GUI admin if local machine connects
http_access allow         IPCop_ips IPCop_networks IPCop_http
http_access allow CONNECT IPCop_ips IPCop_networks IPCop_https

#Deny not web services
http_access deny          !Safe_ports
http_access deny  CONNECT !SSL_ports

#Set custom configured ACLs
http_access allow IPCop_unrestricted_ips to_ipaddr_without_auth
http_access allow IPCop_unrestricted_ips to_domains_without_auth
http_access allow IPCop_unrestricted_ips to_hosts_without_auth
http_access allow IPCop_networks within_timeframe to_ipaddr_without_auth
http_access allow IPCop_networks within_timeframe to_domains_without_auth
http_access allow IPCop_networks within_timeframe to_hosts_without_auth
http_access allow IPCop_unrestricted_ips
http_access allow IPCop_networks for_inetusers within_timeframe
http_access deny  all

#Strip HTTP Header
request_header_access X-Forwarded-For deny all
request_header_access Via deny all

httpd_suppress_version_string on

cache deny all

request_body_max_size 2048 KB
reply_body_max_size none all

visible_hostname fw-01.xxx.xx

cache_mgr me@somedomain.de

url_rewrite_program /usr/local/bin/redirectwrapper
url_rewrite_children 60 startup=1 idle=1 concurrency=0
url_rewrite_access deny manager
url_rewrite_access allow all

Hier noch ein paar Subnetze (stehen in der /var/ipcop/proxy/acls/src_subnets.acl)
Code:
10.0.0.0/8
192.168.61.0/24
192.168.62.0/24
192.168.63.0/24
192.168.64.0/24
192.168.65.0/24
192.168.66.0/24
192.168.67.0/24
192.168.68.0/24
192.168.69.0/24
192.168.70.0/24
192.168.72.0/24
192.168.73.0/24
192.168.74.0/24
192.168.75.0/24
192.168.76.0/24
192.168.78.0/24
192.168.87.0/24
192.168.88.0/24
192.168.89.0/24
192.168.151.0/24


Ansonsten gibt es m.E. keine wirklichen Besonderheiten.
Ich hoffe du findest was, ansonsten wäre die Möglichkeit die File Descriptors zu erhöhen ggf. eine Lösung. Finde 1024 auch relativ gering.


Zuletzt geändert von Vulpes am 02.12.2014, 12:19, insgesamt 1-mal geändert.

Nach oben
   
BeitragVerfasst: 02.12.2014, 10:38 
Offline
Administrator
Administrator

Registriert: 01.03.2004
Beiträge: 22218
Mein Verdacht hat sich bestätigt:
Du benutzt einen vorgelagerten Proxy (warum auch immer via include.acl eingebunden).

Lies Dir das mal durch: :arrow: viewtopic.php?p=158981#p158981

Vulpes hat geschrieben:
(...) ansonsten wäre die Möglichkeit die File Descriptors zu erhöhen ggf. eine Lösung.

Nein, definitiv nicht.


Nach oben
   
BeitragVerfasst: 02.12.2014, 11:17 
Offline
Constable
Themenstarter
Constable

Registriert: 27.03.2009
Beiträge: 39
wintermute hat geschrieben:
Mein Verdacht hat sich bestätigt:
Du benutzt einen vorgelagerten Proxy (warum auch immer via include.acl eingebunden).

Der Proxy ist über die Include.acl eingebunden, damit die Konfiguration einen Reboot bzw. Update überlebt. Der COP leitet nur Anfragen zu zwei bestimmte Domains (cache_peer_domain) zu dem vorgelagerten Proxy, der Rest geht direkt Richtung Internet. Wüsste nicht, wie ich das mit den Standardkonfigurationsmöglichkeiten anders realisieren könnte!?

Vulpes hat geschrieben:
(...) ansonsten wäre die Möglichkeit die File Descriptors zu erhöhen ggf. eine Lösung.
Nein, definitiv nicht.

Schade eigentlich.


Nach oben
   
BeitragVerfasst: 02.12.2014, 15:35 
Offline
Administrator
Administrator

Registriert: 01.03.2004
Beiträge: 22218
Das passt schon. Mit "warum auch immer" war nicht die technische Umsetzung gemeint.
Ich wollte damit nur deutlich machen, dass ich über die (nicht-technischen) Hintergründe,
warum man so etwas macht/machen muss, gar nichts wissen möchte.


Nach oben
   
BeitragVerfasst: 27.08.2015, 14:52 
Offline
Administrator
Administrator

Registriert: 01.03.2004
Beiträge: 22218
wintermute hat geschrieben:
Vulpes hat geschrieben:
(...) ansonsten wäre die Möglichkeit die File Descriptors zu erhöhen ggf. eine Lösung.

Nein, definitiv nicht.

Stand heute möchte ich meine Aussage von damals revidieren, da ich heute erstmalig einen
(vernünftig eingestellten™) IPCop v2 mit eben solch einem Proxy-Problem (cache is running
out of filedescriptors) in den Händen hatte.

Die "Maximum number of file descriptors" auf IPCop v2 zu erhöhen ist problemlos mittels einer
Direktive möglich. Details, Ursache und Wirkung müssen ggf. im Einzelfall geprüft werden.

Code:
File descriptor usage for squid:
   Maximum number of file descriptors:   4096


Nach oben
   
BeitragVerfasst: 01.09.2015, 09:56 
Offline
Administrator
Administrator

Registriert: 01.03.2004
Beiträge: 22218
Nachtrag:

Interessanterweise war der Verursacher der vorgelagerte Proxy (genauer: der Provider).
Hierdurch wurden innerhalb kurzer Zeit massenhaft offene Dateien mit Status CLOSE_WAIT
erzeugt, welche die "file descriptors" schnell zum Überlauf gebracht haben.

Zwischenzeitlich wurde, nach Behebung der (vorgelagerten) Probleme, wieder der Default
für die "Maximum Number of file descriptors" (1024) eingestellt und der Proxy läuft auch damit
wieder problemfrei (bei im Schnitt ~250 verwendeten "file descriptors" und ~250 offenen
Dateien mit Status ESTABLISHED):
Code:
lsof|grep ESTABLISHED|wc -l

Hilfreich bei der Analyse im Problemfall waren ...
Code:
lsof|grep http-alt|wc -l

... und insbesondere ...
Code:
lsof|grep CLOSE_WAIT|wc -l

... sowie:
Code:
while true;do lsof|grep CLOSE_WAIT|wc -l;sleep 10;done


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC+02:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu Forum:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de