hier die Grunddaten zu meinem System:
Code: Alles auswählen
Distributor ID: Debian
Description: Debian GNU/Linux 7.11 (wheezy)
Release: 7.11
Codename: wheezy
Filesystem Size Used Avail Use% Mounted on
/dev/ploop20076p1 985G 561G 375G 60% /
total used free shared buffers cached
Mem: 12288 3243 9044 0 0 1421
-/+ buffers/cache: 1822 10465
Swap:
Nun zu meinem Problem:
Ich betreibe dieses System als meinen Hauptserver für Web und eMail.
Es laufen ca. 30 Domains mit ca. 100 eMailkonten auf dem Server + einige Webseiten.
Bisher lief die Kiste seit Jahren problemlos.
Gestern Abend konnte ich allerdings keine eMails mehr abrufen/verschicken, was mich etwas stutzig mache.
Nach kurzer Recherce über das iPhone auf dem System stelle ich fest, dass der bind9-Dienst dieses Mal nicht der Fehler war.
Stattdessen tauchten in der Konsole immer folgende Meldunden auf (bzw. auch im syslog):
Code: Alles auswählen
ep 16 09:49:11 server2 apache2: libnss-mysql: Connection to server '127.0.0.1' failed: Can't connect to MySQL server on '127.0.0.1' (111)
Code: Alles auswählen
Sep 16 10:04:21 server2 mysqld[2814]: warning: cannot open /etc/hosts.allow: Too many open files
Sep 16 10:04:21 server2 mysqld[2814]: warning: cannot open /etc/hosts.deny: Too many open files
Sep 16 10:04:21 server2 mysqld[2814]: refused connect from 127.0.0.1
Trotz vielfacher Recherche im Netz konnte ich die Limits nicht anpassen.
Meine /etc/security/limits.conf hat u.a. folgende Werte:
Code: Alles auswählen
* hard nofile 900000
* soft nofile 900000
root hard nofile 900000
root soft nofile 900000
Code: Alles auswählen
fs.file-max = 2097152
Mittlerweile läuft der Server nach einem Reboot wieder.
Wie genau kann ich diese Werte erhöhen`?
Ein ulimit -Hn bringt folgendes Ergebnis:
Code: Alles auswählen
root@server2:/var/log# ulimit -Hn
4096
Ich arbeite schon wirklich lange mit Linux, besonders Debian und setze es auch im Beruf sehr häufig ein.
Aber DAS ist mir echt noch nie passiert...
Ich könnte mir vorstellen, dass es damit zusammen hängt, dass ich vor einigen Monaten aus Performancegründen die Datenbanken auf "file-per-table" (MySQL) umgestellt habe und bei einem Check eben recht viele Datenbanken bzw. Dateien der Datenbanken im Zugriff waren.
Aber ich kann ja nicht ständig Datenbanken löschen, nur damit ich das max_open_files_limit nicht erreiche

Danke für eure Hilfe,
ein etwas ratloser Timo
