RedHat 7.2 - zuerst komisch, dann tot

Liebe Leute!

Ich arbeite hier mit einem HP NetServer, der auf RedHat 7.2 nun ein gutes Jahr klaglos seinen Dienst versehen hat. Doch nun mag Linux nicht mehr…

  • Anfangs kamen über Telnet Meldungen, wonach syslogd die letzten Meldungen 2-4 mal wiederholt hatte. Dieses Problem verschwand nach einem Neustart verschiedener Dienste (Samba, Squid)

  • Danach wurde es gestern richtig seltsam: weder direkt auf tty noch über telnet war ein Einloggen möglich - auf Eingabe eines Loginnamens reagierte das System, indem es gleich noch einmal darum bat, als wäre nichts geschehen. Über telnet erschien überhaupt nur der String „Red Hat Linux“ usw., von irgendeiner Eingabe keine Spur. Einzige Zugriffsmöglichkeit über ssh.

  • Als mir das auffiel, startete ich das ganze System neu, was auch nichts brachte.

  • Heute - nach einem aktuellen Backup - machte ich mich an die Arbeit, mittels Installationscd der Sache auf den Grund zu gehen („linux rescue“). Da beim Start gemeldet worden war, ein Eintrag „xd“ in der /etc/inittab sei doppelt, eliminierte ich diese (laut Kommentar zum Windowmanager gehoerend, aber der wird ohnehin nicht verwendet) und brachte die Datei somit auf den selben Stand wie ein frisch installiertes System.

  • Nun war es auch, die inittab wurde nicht mehr akzeptiert, ich kopierte sie von einer Diskette wieder hin, nichts… Das System meldet - gleich nach den SCSI-Treibern, dass die inittab nicht passen würde, daraufhin werde ich nach dem gewünschten Runlevel gefragt, was aber kein Ergebnis hat.

Um es kurz zu sagen: ich stehe vollkommen verloren da. Natürlich könnte ich neu installieren, aber da hindert mich irgendwie der Linux-Stolz daran. Und ausserdem bin ich neugierig und will nicht, dass sich die Sache wiederholt…

1000 Dank für Eure Aufmerksamkeit,

Michael

PS: Ich weiss, dass ich in den letzten Monaten in w-w-w nicht wirklich aktiv war und mich auch bei meiner letzten Hilfesuche nicht gebührend bedankt habe, ich kann während der Arbeitszeit nur schwer ins Internet und in der Freizeit gar nicht. Ich verspreche aber hoch und heilig Besserung, wenn ich im Sommer wieder in Europa bin!

Technische Details
Da hab ich vor lauter Hilfe-Schreien glatt auf ein paar Details vergessen:

Hardware:

HP NetServer
Pentium III 1000 Mhz
256 MB-RAM (lt. Testprogramm fehlerfrei)
2 SCSI-Festplatten (max. Belegung 75% in einer Partition)
2 Netzwerkkarten

Software:

RedHat Linux 7.2
Dienste: ssh, telnet, samba, squid, apache, rsync
Macht über iptables Internetzugang für das private Netzwerk, hat eine fixe öffentliche IP

Ich arbeite hier mit einem HP NetServer, der auf RedHat 7.2
nun ein gutes Jahr klaglos seinen Dienst versehen hat.

Eieiei!

  • Anfangs kamen über Telnet

?

Meldungen, wonach syslogd die
letzten Meldungen 2-4 mal wiederholt hatte.

Dies und vor allem die Meldung davor wäre interessant gewesen…

Dieses Problem
verschwand nach einem Neustart verschiedener Dienste (Samba,
Squid)

Hm.

  • Danach wurde es gestern richtig seltsam: weder direkt auf
    tty noch über telnet war ein Einloggen möglich - auf Eingabe
    eines Loginnamens reagierte das System, indem es gleich noch
    einmal darum bat, als wäre nichts geschehen. Über telnet
    erschien überhaupt nur der String „Red Hat Linux“ usw., von
    irgendeiner Eingabe keine Spur. Einzige Zugriffsmöglichkeit
    über ssh.

Da wäre ich mir bei der Kiste nicht mehr sicher.

  • Als mir das auffiel, startete ich das ganze System neu, was
    auch nichts brachte.

  • Heute - nach einem aktuellen Backup - machte ich mich an die
    Arbeit, mittels Installationscd der Sache auf den Grund zu
    gehen („linux rescue“). Da beim Start gemeldet worden war, ein
    Eintrag „xd“ in der /etc/inittab sei doppelt,

Ooopsi: dieser Eintrag wäre interessant gewesen zu sehen…

eliminierte ich
diese (laut Kommentar zum Windowmanager gehoerend, aber der
wird ohnehin nicht verwendet) und brachte die Datei somit auf
den selben Stand wie ein frisch installiertes System.

  • Nun war es auch, die inittab wurde nicht mehr akzeptiert,
    ich kopierte sie von einer Diskette wieder hin, nichts… Das
    System meldet - gleich nach den SCSI-Treibern, dass die
    inittab nicht passen würde, daraufhin werde ich nach dem
    gewünschten Runlevel gefragt, was aber kein Ergebnis hat.

Um es kurz zu sagen: ich stehe vollkommen verloren da.
Natürlich könnte ich neu installieren,

Ohne die Details zu kennen: kann es sein, daß Du Teile der Software nicht aktualisiert hat? Welcher Stand hat z. B. SSH? Ich könte mir vorstellen, da administriert jemand unbekanntes ausßer Dir die Kiste.

Hast Du sowas wie tripwire installiert?

Ich würde – wenn sich der Verdacht bestätigt – alles neu installieren und die Sicherheitsupdates machen, bevor die Kiste ans Netz geht.

Und telnetd gehört deaktiviert.

Sebastian

  • Anfangs kamen über Telnet Meldungen, wonach syslogd die
    letzten Meldungen 2-4 mal wiederholt hatte. Dieses Problem
    verschwand nach einem Neustart verschiedener Dienste (Samba,
    Squid)

Klingt so, als sei der squid übergelaufen.

Entweder ist Deine Platte voll oder die verfügbaren inodes sind am Ende

  • Heute - nach einem aktuellen Backup - machte ich mich an die
    Arbeit, mittels Installationscd der Sache auf den Grund zu
    gehen („linux rescue“). Da beim Start gemeldet worden war, ein
    Eintrag „xd“ in der /etc/inittab sei doppelt, eliminierte ich
    diese (laut Kommentar zum Windowmanager gehoerend, aber der
    wird ohnehin nicht verwendet) und brachte die Datei somit auf
    den selben Stand wie ein frisch installiertes System.

„…eliminierte ich diese…“

‚diese‘ (Datei) oder ‚diesen‘ (Eintrag)

‚Diese Datei‘ wäre der ungünstigere Fall, sowas macht man nicht. Linux braucht die, deswegen heißt sie ‚init…‘

„laut Kommentar zum Windowmanager gehoerend“
Wer sagt denn sowas?

/etc/inittab

This is the main configuration file of /etc/init, which

is executed by the kernel on startup. It describes what

scripts are used for the different run-levels.

Um es kurz zu sagen: ich stehe vollkommen verloren da.
Natürlich könnte ich neu installieren, aber da hindert mich
irgendwie der Linux-Stolz daran. Und ausserdem bin ich
neugierig und will nicht, dass sich die Sache wiederholt…

Da wird Dir nur Dein vorhandenes? Backup helfen können. Die Einträge manuell zu restaurieren dürfte sehr müßig sein.

…und alles nur, weil die Platte voll war :wink:

gruss
-:-
Axel

Entweder ist Deine Platte voll oder die verfügbaren inodes
sind am Ende

Das interessiert mich - die Platte voll sicher nicht (hab ich nachgeschaut), das von den inodes wusste ich ehrlich gesagt nicht, ich werde in Zukunft ein Auge drauf werfen (df -i, oder?).

  • Heute - nach einem aktuellen Backup - machte ich mich an die
    Arbeit, mittels Installationscd der Sache auf den Grund zu
    gehen („linux rescue“). Da beim Start gemeldet worden war, ein
    Eintrag „xd“ in der /etc/inittab sei doppelt, eliminierte ich
    diese (laut Kommentar zum Windowmanager gehoerend, aber der
    wird ohnehin nicht verwendet) und brachte die Datei somit auf
    den selben Stand wie ein frisch installiertes System.

„…eliminierte ich diese…“

‚diese‘ (Datei) oder ‚diesen‘ (Eintrag)

‚Diese Datei‘ wäre der ungünstigere Fall, sowas macht man
nicht. Linux braucht die, deswegen heißt sie ‚init…‘

Nein, lediglich die beiden Zeilen zum xdm, die auf der anderen Maschine nicht zu sehen waren.

„laut Kommentar zum Windowmanager gehoerend“
Wer sagt denn sowas?

Run xdm in runlevel 5

xdm is now a separate service

Um es kurz zu sagen: ich stehe vollkommen verloren da.
Natürlich könnte ich neu installieren, aber da hindert mich
irgendwie der Linux-Stolz daran. Und ausserdem bin ich
neugierig und will nicht, dass sich die Sache wiederholt…

Da wird Dir nur Dein vorhandenes? Backup helfen können. Die
Einträge manuell zu restaurieren dürfte sehr müßig sein.

Das Backup war zum Glueck da (das nennt man wohl weise Voraussicht :wink:), und jetzt laeuft das Werkl wieder ganz fein. Allerdings mit vorgeschalteter Firewall, die vorige duerfte nicht gut genug gewesen sein…

Danke!

Michael

Entweder ist Deine Platte voll oder die verfügbaren inodes
sind am Ende

Das interessiert mich - die Platte voll sicher nicht (hab ich
nachgeschaut), das von den inodes wusste ich ehrlich gesagt
nicht, ich werde in Zukunft ein Auge drauf werfen (df -i,
oder?).

server:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 1.4G 1.2G 199M 86% /usr 
Inode-Dichte, Dateianzahl und Dateigrößen stehen in unmittelbarem Zusammenhang. Im obigen Beispiel /usr könnte das Verhältnis (2:1) etwas besser sein, ist aber ok und hat Reserven. Bei halber inode Dichte wäre es optimaler (also größere blocks per inode), denn es sind derzeit mehr inodes frei als physikalischer Platz für diese Partition. Also ist die Platte eher physikalisch als logisch voll und somit zumindest ausgereizt, wenn die Art der Files, die dort liegen, beibehalten wird. Auf den Nachteil vieler brachliegender inodes will ich nicht weiter eingehen.
Im Übrigen würde es sowieso nicht zwingend besser werden, denn Blockgrößen sind immer ein Vielfaches von 1.024. Die Blockgröße oben beträgt 4.096.

Drastisch gesagt:
Kommen jetzt 105.289 Files hinzu, die nur je 1 Byte groß sind, dann ist die Platte logisch voll, obwohl die Datenmenge nur 0,09766 MB beträgt, denn es sind keine inodes mehr verfügbar. Sie könnten auch je 0 Bytes groß sein und 0 MB verbraten :wink:

Oder andersrum:
Kommt jetzt 1 File hinzu mit der Größe des restliches Platzes in MB, wird genau die Anzahl inodes verbraucht, wie Blöcke belegt werden, also (Größe der Datei) DIV (Blocksize 4.096 Bytes) = ca. 51.000 inodes.
Es lägen dann die restlichen (ungenutzten) 54.000 inodes brach im System und müssten verwaltet werden, was natürlich auch nicht das Ziel sein kann.

Auf dem Beispiel-System oben ist das nicht tragisch, da sind hin und her genug Reserven und kaum Dateibewegungen.
Aber eine geringe inode Dichte (zu große Blocksize) und mächtig viele kleine Dateien (und Verzeichnisse) auf einem Proxy zusammen mit Systempartitionen können das System abwürgen. Deswegen sollte man squid auch lieber eine eigene Partition spendieren, dann stirbt im Ernstfall nur dieser ab bzw. produziert Fehler.




> > "laut Kommentar zum Windowmanager gehoerend"  
> > Wer sagt denn sowas?
> 
>   
> # Run xdm in runlevel 5  
> # xdm is now a separate service


Auf einem Server läuft default runlevel 3, normally.
Und außerdem hast Du gesagt, dass Du den WM sowieso nicht brauchst, also wech und aus 5 mach 3 (in der inittab) dann '# init 3' und ferddich.




> Das Backup war zum Glueck da (das nennt man wohl weise  
> Voraussicht :wink:)


...oder Verantwortungsbewußtsein



> , und jetzt laeuft das Werkl wieder ganz fein.  
> Allerdings mit vorgeschalteter Firewall, die vorige duerfte  
> nicht gut genug gewesen sein...


Ooops, da war wohl ein zweiter Admin zu Besuch, wie Sebastian schon vermutete?
Das wäre nun wieder verantwortungslos, oder Pech.

Shit happens :stuck\_out\_tongue:

gruss
-:-
Axel
1 Like

Im Übrigen würde es sowieso nicht zwingend besser werden, denn
Blockgrößen sind immer ein Vielfaches von 1.024.

Quatsch. Nicht ein Vielfaches, sondern ein - wie sagt man, hmm?
Eine Reihe von Verdoppelungen, egal, ist schon spät. Na jedenfalls eben:

1.024 … 2.048 … 4.096 … 8.192

sorry.

PS: Wieso kann man hier seinen Artikel nicht mehr editieren. Ich pfeife auf das neue Layout.

[inodes]

Herzlichsten Dank für die ausführliche Auskunft, ich bin ein bisserl gscheiter geworden und werde mich meinem lieben Freund squid gegenüber etwas grosszügiger zeigen.

, und jetzt laeuft das Werkl wieder ganz fein.
Allerdings mit vorgeschalteter Firewall, die vorige duerfte
nicht gut genug gewesen sein…

Ooops, da war wohl ein zweiter Admin zu Besuch, wie Sebastian
schon vermutete?
Das wäre nun wieder verantwortungslos, oder Pech.

Geht Richtung verantwortungslos, glaub ich. „Der Server ist ja eh nicht sooo wichtig, und sooo geheime Daten sind auch nicht oben, und überhaupt hab ich soooo viel andere Sachen zu tun…“ :wink: Naja, jetzt bin ich halt klüger. Und besser, „es“ passiert da als woanders.

Shit happens :stuck_out_tongue:

Allerdings.
Nochmals herzlichen Dank und gute Nacht!

Michael