So ziemlich alle Linux Distributionen übersichtlich in einer Grafik:
http://futurist.se/gldt/, Via Sysadmins Life
Würde sich doch bestimmt gut bei uns im Hackerspace machen
So ziemlich alle Linux Distributionen übersichtlich in einer Grafik:
http://futurist.se/gldt/, Via Sysadmins Life
Würde sich doch bestimmt gut bei uns im Hackerspace machen
Ich wollte mal wieder mein Monitoring auf den neuesten Stand bringen und alle Altlasten löschen. Da ich ein Software Raid 1 mit mdadm laufen hab, liegt es nahe dieses auch mit Icinga zu überwachen.
Ein Plugin ist schnell gefunden, da Icinga von Nagios abstammt: check_md_raid.
Die Installation des Plugins ist, wenn man schonmal Plugins installiert hat, sehr einfach. Man sollte aber noch eine Kleinigkeit anpassen, dazu später mehr. Zuerst kopiert man das Plugin zu den anderen und macht es ausführbar, normalerweise hierhin:
/usr/local/icinga/libexec
Dann muß man es noch in die commands.cfg und in die entsprechende Serverdatei eintragen. Bei mir ist das localhost, also localhost.cfg. Beide Dateien befinden sich im etc/objects Verzeichnis von Icinga. Mein localhost.cfg Eintrag sieht so aus:
define service{
use local-service
host_name localhost
service_description Raid
check_command check_md_raid
}Das Skript benötigt keine Eingabeparameter. commands.cfg:
define command{
command_name check_md_raid
command_line $USER1$/sudo /usr/local/icinga/libexec/check_md_raid
}Es gibt allerdings viele Möglichkeiten wie das aussehen könnte. Da das Script Root-Rechte benötigt (resp. der Aufruf von mdadm), kann man sudo benutzen um das Problem zu lösen. Ich rufe dabei das gesamte Skript mit Root-rechten auf, so wie es auch gedacht ist. Werft mal einen Blick hinein.
Man könnte aber natürlich auch das Skript verändern und nur den Aufruf von mdadm selbst mit administrativen Privilegien gestatten. Ich habs mir aber einfach gemacht
. Natürlich braucht man dann auch einen Eintrag in der /etc/sudoers. Diesen kann man z.b. mit visudo hinzufügen. In meinem Fall:
icinga ALL = NOPASSWD: /usr/local/icinga/libexec/check_md_raid
Wenn man diesen Weg wählt muß man natürlich dafür sorgen dass check_md_raid nicht von normalen Usern (auch nicht von Icinga) verändert werden kann. Das wäre sonst ein riesiges Sicherheitsrisiko.
Funktioniert das soweit kann man Icinga neustarten und im Browser aufrufen. Der Status sollte bereits korrekt angezeigt werden, jedoch steht was in der Statuszeile was dort nicht hingehört:
mdadm: metadata format 00.90 unknown, ignored. mdadm: metadata format 00.90 unknown, ignored.
Es handelt sich hierbei um einen kleinen Bug, der auftritt da das Format in dem die Informationen über das Metadaten-Format geändert wurde. So zu sagen Meta-meta Daten
Eliminiert kriegt man diese Meldung indem man in der
/etc/mdadm/mdadm.conf
eine Kleinigkeit ändert. So wird
metadata=00.90
zu
metadata=0.90
Ihr solltet nun funktionierendes Raid-Monitoring haben:
Sitzt ihr auch manchmal sehr lange mit sehr vielen ssh Sessions auf noch mehr Servern? Ja? Dann ist es euch sicher auch mal passiert dass ihr einen reboot zum falschen Server gejagt habt.
Ich hatte das gestern, als ich den Testserver herunterfahren wollte. Erwischt hab ich den Mailserver. Ouch! Also hab ich mich auf die Suche nach Möglichkeiten gemacht sowas in Zukunft zu vermeiden. Gefunden habe ich Molly-Guard.
Ein Molly-Guard ist normalerweise ein Schutz vor dem Netzschalter eines Servers. Er schützt vor dem unbeabsichtigten ausschalten des selben. Dieses kleine Script macht das gleiche in Software. Bei Debian Lenny z.b. ist es in den Repositories.
1 | apt-get install molly-guard |
Wenn man dann versucht den Server neuzustarten oder herunterzufahren muss man den richtigen hostnamen eingeben. Wenn nicht, sieht das so aus:
1 2 3 4 5 6 | sapsop:~# shutdown -h now W: molly-guard: SSH session detected! Please type in hostname of the machine to shutdown: $someServer Good thing I asked; I won't shutdown sapsop ... W: aborting shutdown due to 30-query-hostname exiting with code 1. sapsop:~# |
Das Paket macht nichts anderes als einen Symlink für shutdown,halt,poweroff und reboot unter /usr/sbin/ anzulegen. Diese Zeigen auf das Molly-Script unter /usr/share/molly-guard/shutdown.
Natürlich sollte man weiterhin die Augen offen halten und sich nicht blind darauf verlassen dass molly-guard einem den Arsch rettet. Früher oder später stösst man auf einen Server der das nicht installiert hat und Zack hat man den Salat.
Gestern wollte ich mal wieder meinen Roundcube Webmail Client benutzen, aber da war nix mehr. Mit nix meine ich, daß das Teil einen komplett weißen Screen angezeigt hat. Im Konqueror zeigte mein Ipcop Proxy nur ein nettes “Zero sized Reply” an. Nanu?!
Da ich mein Webmail sowieso nicht oft benutze, und außerdem noch Horde habe ist das mir sehr lange nicht aufgefallen. Und ich wußte auch nicht mehr wirklich was ich geändert haben könnte.Backup-Roulette kam auch nicht in Frage
. Also flugs auf den Server gessh’d, und die Apache Logs durchwühlt. Segmentation fault. Eine gefürchtete, und noch unaussagekräftigere Fehlermeldung. Jedesmal wenn ich Roundcube öffnen wollte, ging ein Child über den Jordan.
Nach langem Testen und Suchen fand ich dann die “Lösung”: Ich hab einfach mal den eAccelerator Cache geleert, und hab mich gefreut. Es funktionierte. Ein mal. Argh.. Jetzt hab ich den eAccelerator bis auf weiteres deaktiviert. So als Workaround, bis ich den Auslöser al gefunden hab. Sollte ich mir doch jede Änderung am System notieren? So ne Art Changelog vielleicht?
Yay, nach langem warten ist Debian Lenny nun stable. So haben die nicht so sehr verliebten auch was zu feiern.
Danke an das Debian Team für diese grandiose Distribution.
Warum sollte man denn eigentlich IPv6 deaktivieren wenn man es nicht benötigt? Nun, es kann zu Problemen mit der Netzwerk/Internet-Verbindung kommen. So dauert die Host-Auflösung nicht selten bis zu 2 Minuten, da viele Programme darauf konfiguriert sind zuerst IPv6 zu versuchen. Das ist im Prinzip ja schön und gut da sich IPv6 sehr schleppend etabliert, allerdings unterstützen wenige Router und noch weniger ISPs dieses Protokoll. Also werden die meißten keine derartige Route zum Internet haben, und wenn doch dann weiß man das eigentlich. ![]()
Ob das entsprechende Modul geladen ist, kann man mit lsmod | grep ipv6 herausfinden. Wenn man einen 2.4er Kernel verwendet, muß man alias net-pf-10 in die /etc/modprobe.conf eintragen, oder die entsprechende Zeile abändern. Verwendet man einen 2.6er, so muß man alias net-pf-10 off in die /etc/modprobe.d/aliases eintragen.
Nach einem Neustart sollte IPv6 deaktiviert sein. Nachprüfen kann man das wiederrum mit lsmod | grep ipv6 oder auch mit ifconfig. Gibts dort einen inet6 addr: Eintrag, ist es noch aktiviert.
Ich hoffe dieser Eintrag wird mich immer daran erinnern IPv6 auszuschalten, wenn ich mit dem Laptop unterwegs bin
. Das vergesse ich nämlich regelmäßig, und dann wundere ich mich des öfteren darüber daß meine Verbindung nicht wirklich funktioniert. Ich hoffe daß sich dieses Protokoll so langsam verbreiten wird, eigentlich muß es das ja. Ich benutze es schon testweise in meinem Heimnetzwerk, und das wird wohl auch noch ein weilchen so bleiben..
Neulich wollte ich auf einem Server, auf dem VMWare Server 2 läuft, einem User Rechte für eine VM geben. – Und zwar mit diesem ziemlich zickigen Webinterface. Eigentlich keine große Sache und eine essentielle Aufgabe des Webinterfaces. Dachte ich jedenfalls.
Also schnell geklickt, und was sagt das Teil dazu? Folgendes:

Ein klick auf “Details” offenbart folgendes:
“RuntimeFault: Database temporarily unavailable or has network problems.”
Hä? Sonst hat das doch immer funktioniert, dachte ich. Nur war sonst auch nur ein Mal. Und dazu noch so eine unheimlich aussagekräftige Fehlermeldung. Juhu.
Bei der einen VM und dem einen Benutzer funktionierts, bei allen anderen nicht. Die Logs gaben auch nichts sehr aufschlußreiches. Nach kurzem Googlen fand ich allerdings eine sehr einfache und ebenso effektive Lösung für das Problem.
Zuerst stoppt man VMware Management.
1 | /etc/init.d/vmware-mgmt stop |
Dann editiert man die Datei /etc/vmware/hostd/authorization.xml als root.
Dort sucht man nach einer Stelle die so aussieht:
1 | <nextAceId>11</nextAceId> |
Wenn man die Stelle gefunden hat, inkrementiert man die 11 z.b. um 1. Man kann allerdings auch höhere Werte verwenden. Danach siehts z.b. so aus:
1 | <nextAceId>12</nextAceId> |
Das wars eigentlich schon. Ich hab außerdem <NextRoleId>11</NextRoleId> noch auskommentiert, da es anscheinend nirgendwo verwendet wird. Nun nur noch VMware Management wieder starten und sich freuen dass man Rechte vergeben kann. Warum das allerdings so ist kann ich nicht sagen. Vielleicht ein Bug?
Seit etwa zwei jahren hab ich ein Nintendo DS (lite) Thingy hier liegen. Ich hatte es damals ganz, ganz, außerordentlich billig bekommen. – Nur hatte ich kein einziges Spiel. Und ich war auch nicht gewillt mir eins zu kaufen.
Nach einiger zeit, als der Opera DS Browser rauskam, mußte ich doch zuschlagen. Wifi? – So billig mit Touchscreen? JA! Im Endeffekt hat mich das Teil 40 Euro gekostet, und ich hab es nur ein paar mal benutzt. Unter anderem um eine miese E-bay Transaktion durchzuführen, die etwa 200 Euro gekostet hat ![]()
Naja wie auch immer, ich hab mir von meiner Freundin zu Weihnachten ein CycloDS gewünscht. Eigentlich hatte ich es schon bestellt, und es geschickt als Weihnachtsgeschenk hingestellt.
Jetzt hab ichs, und bin vollends zufrieden! Meine erste Amtshandlung war natürlich Linux da drauf zu kriegen. Kein Problem, denn wie liest man so schön in den Foren: “Unix runs on pretty much everything!” Das kann ich vollends bestätigen. Und dass ich den Opera Browser gekauft hab, war dann doch nicht umsonst. Un Linux benutzbarer zu machen braucht man nämlich noch extra Ram. Der DS hat 4 mb eingebaut, und mit dem Browser kamen nochmal 8 mb.
Es gibt ein Projekt namens DSLinux, das das Ziel hat Linux auf die arm Prozessor-architektur zu portieren. …Und es auch ziemlich gut hingekriegt hat. Jetzt könnte ich natürlich ein fertiges DSLinux nehmen, doch ich wollte es selber kompilieren. Das ist einfach nerdiger. Sonst würde es ja gar keinen Spaß machen… Also flux mit Subversion ausgecheckt, Toolchain installiert und freudig drauf los kompiliert. – Heraus kam ein ziemlich geiles Linux für den DS! Leider wird das Projekt nicht mehr aktiv weiterentwickelt. Da kommt wohl noch ne Menge Arbeit auf mich zu. – Schöne Arbeit.
Ich kann das nur empfehlen, endlich einen Handheld wo Linux drauf läuft und mit dem man noch so nebenbei spielen kann! Übrigens finde ich es super dass ich sehr sehr viele Spiele auf einer Mikro-SD speichern kann (Mit Originalkopie of course!). Wenn ich die original Karten nehmen würde, müßte ich immer haufenweise Karten mitschleppen. Zumal die Roms ja im Verhältniss zur Kartengröße ziemlich klein sind.
Ich werde morgen noch ein paar Fotos und Screenshots machen, heute ist leider der Akku des Fototeils leer. Das passiert einem eben immer dann wenn man es nicht gebrauchen kann…
Heute, und nur heute gibts auf der Codeweavers Website einen kostenlosen Download der Crossover Software. So mit Seriennummer und allem und so.
Crossover ist so zu sagen ein verbessertes WINE, das vor allem beim Spielevolk Gebrauch findet. So kann man einige Spiele mit DirectX unter Linux ganz passabel spielen. Ich habe es selbst im Einsatz, und kann deshalb auf diesen Download verzichten. Aber vielleicht kennen es einige ja noch nicht.
Allerdings kommt mein Blogpost ziemlich spät, da die Frist ja gleich abläuft.
Vielleicht kanns ja noch der eine oder andere ergattern.
Seit über einer Woche wunderte ich mich über meine nicht wirklich funktionierende Internet-Verbindung. So war das Surfen langsamer als zu Zeiten von 56 kbit/s Modems. Eine SSH-Verbindung zu einem Server im Internet war nur in einem von zehn Fällen möglich. Kurz -> Scheiße!
Ich vermutete zuerst den ath5k Treiber, den ich seit meinem erneuten Umstieg auf Debian verwendet habe. Also flux Madwifi heruntergeladen, gebaut und eingebunden. – Keine Änderung. Dann schaute ich mir den DNS-Server, die /etc/resolv.conf und so weiter an. Alles in Ordnung. In den Logs meines Routers (IPCop) war auch nix zu finden. Dann habe ich meinen Provider angerufen, er solle doch mal die Leitung checken. Der Techniker hat übers Wochenende einen Test durchgeführt, und – ihr ahnt es – keinen Fehler gefunden. Alles O.K. Nix ist O.K.!
Auch diverse Linux Live-CDs brachten keine Besserung. Genausowenig wie etliche Neustarts des Modems, des Routers und des Access Points. ich war schon am Verzweifeln.
Heute habe ich endlich den Grund gefunden. Es war mein eigener Fehler! Ich hatte vor ein paar Tagen die Traffic Shaping-Konfiguration meines Routers geändert. Und zwar auf 2 kbit/s Upload anstelle von 200. SO kann das ja nun wirklich nicht funktionieren. Kleine Ursache große Wirkung. Ich hatte total vergessen daß ich da überhaupt was dran geändert hab.
Das erinnert mich an die Zeit in der ich noch Internet per CB-Funk hatte, mit der Soundkarte meines PCs. “Damals” hatte ich etwa 300-400 bit/s (!) Sogar das Surfen mit lynx war fast unerträglich. Allerdings ging es mir eher ums Proof of Concept. Auf der anderen Seite (ein paar km entfernt, bei meiner Oma auf’m Dachboden ;-P) war auch ein PC, der per Access Point mit dem W-Lan Netz einer Primärschule verbunden war. Das ganze dann auch per Soundkarte mit dem Funkgerät verbunden. Hach, man konnte das rauschen der Daten im Lautsprecher hören. – Musik in meinen Ohren. Jetzt kann ich diese Nostalgie mit einem Klick hervorrufen. – Jay!