Ein kurzer Tipp zwischendurch: Wenn eine Partition unter Linux voll ist und man herausfinden möchte, wo der Speicherplatz geblieben ist, hilft diese Kommandozeile. Sie gibt für alle Unterverzeichnisse des aktuellen Verzeichnisses, wie viel Platz sie belegen — aufsteigend sortiert:
du -s * .??* | sort -n | cut -f 2 | xargs du -sh
Archive for the ‘tech’ Category
Speicherverbrauch per Linux-Kommandozeile
Sonntag, April 22nd, 2012Wartungsarbeiten
Donnerstag, Dezember 29th, 2011Manchmal haben wir als Webhoster die Diskussion, ob und wann Wartungsarbeiten akzeptabel sind. Da es hier oft unterschiedliche Ansichten gibt habe ich mittlerweile eine kleine Sammlung von Wartungsseiten, um zu zeigen dass es keine Schande ist, ab und zu seine Seite offline zu schalten um in Ruhe Änderungen vorzunehmen.
RIPE:
Dear colleagues, To allow us to update the software behind the RIPE NCC website and RIPE Labs, functionality on these sites will be reduced between 15:00 and 19:00 (UTC) today, 28 June 2011. During this time, the sites will remain available. However, they will be in "read only" mode. Search functionality will be unavailable, and it will not be possible to comment on articles or join in discussions. We apologise in advance for any inconvenience this might cause. If you have any questions about this maintenance work, please contact webmaster@ripe.net.
USB-Ladeschaltung für den Fahrrad-Nabendynamo
Dienstag, Oktober 11th, 2011Seit ich dieses Jahr mein neues Fahrrad mit Nabendynamo besitze und die Planung auf einen Fahrradurlaub hinauslief habe ich meine gesammelten Notizen zusammengesucht, weil ich mir eine Ladeschaltung zulegen wollte. Ziel war es, mit meinem Garmin GPSMap möglichst wenige Akkus zu verbrauchen, sowie gelegentlich mein iPhone unterwegs aufzuladen.
Neben einer komplett selbstgebauten Schaltung habe ich mir einige fertige Geräte angesehen. Zu allererst fand ich das E-Werk von Busch & Müller. Allerdings empfand ich es zum einen als zu groß und klobig, zum Anderen hat es mich gestört, dass ich dort Spannung und Stromstärke hätte einstellen können. Da ich aber nur USB-Geräte betreiben möchte war mir das Risiko zu groß, mal versehentlich durch eine falsche Einstellung ein Gerät zu beschädigen. Auch die vielen Adapterkabel fand ich eher hinderlich.
Durch Zufall stieß ich dann auf das ReeCharge Power Pack von ThinkBiologic. Dieses Gerät besteht aus einem kleinen Spannungsregulator, der parallel zur Lichtanlage am Nabendynamo angeschlossen und mit Kabelbindern an der Vorderradgabel befestigt wird. Die eigentliche Ladeschaltung mit integriertem Pufferakku wird mit einer Gummilasche am Rahmen befestigt und ist leicht abnehmbar. Dadurch kann z.B. das iPhone tagsüber in der Hosentasche bleiben, und abends wird im Zelt die Ladung vom Pufferakku ins iPhone übertragen.
Als kleine Zusatzfunktion kann man die Ladekontroll-Leuchten auch als Taschenlampe benutzen, weil die drei weißen LEDs sehr leuchtstark sind. Praktisch ist, dass man am Gerät sowohl einstellen kann, ob es überhaupt Strom vom Nabendynamo bezieht, als auch ob es eine Ladespannung zur Verfügung stellt. Hierdurch kann man bei Einbruch der Dämmerung die ganze Dynamoleistung dem Licht zukommen lassen, um StVo-Konform zu bleiben. Etwas problematisch ist allerdings die Lage und Helligkeit dieser beiden LEDs. Am Ende habe ich den ReeCharge seitlich am Rahmen befestigt, um diese beiden Anzeigen bei Bedarf mit der Hand abschatten zu können, um im Sonnenschein überhaupt etwas erkennen zu können.
Insgesamt bin ich mit dem ReeCharge sehr zufrieden und kann das Gerät wärmstens empfehlen. Es hat meinen Garmin auf dem Elberadweg von Hamburg bis Dresden zuverlässig mit Strom versorgt, und konnte zusätzlich ohne Probleme alle paar Tage mein iPhone wieder auffüllen.
Ergänzung zum Thema Wartungsarbeiten-Seite
Dienstag, Oktober 4th, 2011Ich las kürzlich von jemandem, der aufgrund von Problemen auf einer Webseite eine Umleitung auf eine Fehlerseite bekommen hatte. Ist so eine Umleitung einmal erfolgt, kann man im Browser so oft die Seite aktualisieren, man bekommt trotzdem immer wieder die Fehler- oder Wartungsseite.
Dabei fiel mir mein Posting zum Thema Wartungsseite mit mod_rewrite wieder ein, das in der Hinsicht auch nicht besser war. Daher hier meine Ergänzung zur rewrite-Regel für eine Wartungsseite, bei der man nach erfolgter Wartung von der Wartungsseite auf die Startseite zurückleitet. Auch hier dienen die Bedingungen dazu, dass man von seiner festen IP-Adresse jederzeit die Wartungsseite testen kann:
RewriteEngine On RewriteCond %{REMOTE_ADDR} !^192.168.28.17$ [NC] RewriteCond %{REMOTE_ADDR} !^fe80:$ [NC] RewriteRule ^wartung.html$ / [NC,L]
Die Zeit veröffentlicht iPad-App
Samstag, September 24th, 2011Seit ich mein iPad habe nutze ich es wann immer möglich zum elektronischen Konsum diverser Medien. Neben den Zeitschriften, die ich schon lange im Abonnement lese wie dem c’t-Magazin oder der iX ist z.B. das rein elektronische Abonnement der US-Amerikanischen Technologiezeitschrift WIRED dazugekommen, deren App von vornherein vorbildlich auf das iPad angepasst war.
Leider fehlte in meinem elektronischen Zeitungsladen noch Die Zeit, die ich ebenfalls seit langem jeden Donnerstag im Briefkasten finde. Der Erste Versuch der Zeit kann nur als Missglückt bezeichnet werden. Es war im Endeffekt eine PDF-Version der gedruckten Zeitung, was bei dem verwendeten “Nordischen Format” entweder unlesbar kleine Schrift oder ständiges hin-und-her-scrollen bedeutete. Besonders das mehrseitige Dossier mit eingeschobenen Begleitartikeln war in dem Format unlesbar.
So habe ich mich sehr gefreut als ich kürzlich auf die neue Version der Zeit-App aufmerksam gemacht wurde. Um einen umfassenden Eindruck zu gewinnen habe ich eine Ausgabe bisher ausschließlich auf dem iPad gelesen. Die Print-Ausgabe werde ich wohl nur nochmal durchgucken, um einzelne Artikel als Lese-Empfehlung weiterzugeben. Dies ist im elektronischen Format nämlich nicht so gut möglich.
Alles in allem habe ich nur zwei Kritikpunkte: Die Lesezeichenfunktion ist komplett nutzlos. Sie funktioniert unintuitiv, man muss sein Lesezeichen durch blättern suchen. Leider braucht man die Lesezeichen, denn mein zweite Anmerkung ist, dass es klasse wäre wenn man beim öffnen der App immer wieder auf den zuletzt geöffneten Artikel käme. Das ist nämlich leider nur dann der Fall, wenn sie per Multitasking weiterlaufen konnte. Wird die App vom iOS aus dem Speicher geworfen muss man mühsam die Stelle wiederfinden, an der man gewesen ist.
Aber macht euch doch einfach selber ein Bild, hierzu habe ich ein paar Screenshots eingefügt.
Photo-Tisch für Detailaufnahmen
Dienstag, Mai 24th, 2011Ich habe vor kurzem ein paar Detailaufnahmen von Gewürzgläsern gemacht. Um sie vor einem neutralen, aber nicht flächigen Hintergrund photographieren zu können, habe ich mir einen Photo-Tisch improvisiert.
Er bestand aus zwei Balkonstühlen und einem Balkontisch. Der Tisch steht so auf den Stühlen, dass die Tischplatte über der Balustrade ist, und somit nicht im Schatten liegt. Die Sonne kommt in den Morgenstunden von rechts, und ist somit optimal. Es fehlt nur noch ein wenig Füll-Licht von links, das ich in der nächsten Auflage eventuell noch ergänzen werde.
SNMP-Traps per EEM generieren
Donnerstag, Mai 19th, 2011Kürzlich habe ich darüber geschrieben, wie man die Alarm-Kontakte an einem Cisco Metro Ethernet Switch, z.B. dem Modell ME 3400EG-2CS-A, nutzen kann. Allerdings hat offenbar Cisco — mal wieder — das nützlichste Feature vergessen, nämlich die Möglichkeit, SNMP-Traps hierzu zu generieren.
Alles, was man bekommt, sind Log-Meldungen, die z.B. so aussehen:
%PLATFORM_ENV-1-EXTERNAL_ALARM_CONTACT_ASSERT:
Alarm asserted: Door
%PLATFORM_ENV-1-EXTERNAL_ALARM_CONTACT_CLEAR:
Alarm cleared: Door
Zum Glück hat man aber heutzutage den Embedded Event Manager zur Verfügung. Hiermit kann man aus den Logmeldungen auch SNMP-Traps generieren:
event manager applet DoorOpen event syslog occurs 1 pattern "%PLATFORM_ENV-1-EXTERNAL_ALARM_CONTACT_ASSERT:" action 1.0 snmp-trap intdata1 1 intdata2 2 strdata "Door Opened" event manager applet DoorClose event syslog occurs 1 pattern "%PLATFORM_ENV-1-EXTERNAL_ALARM_CONTACT_CLEAR:" action 1.0 snmp-trap intdata1 1 intdata2 0 strdata "Door Closed"
Hierbei wird in den Trap-Parametern die Sensor-Nummer 1 sowie der Status als entsprechender Code für das auswertende Nagios-Plugin übermittelt. Der Trap enthält somit diese Daten:
SNMPv2-SMI::enterprises.9.10.91.1.2.3.1.9.11 = INTEGER: 1#011
SNMPv2-SMI::enterprises.9.10.91.1.2.3.1.10.11 = INTEGER: 2#011
SNMPv2-SMI::enterprises.9.10.91.1.2.3.1.11.11 = STRING: “Door Closed”#011
Alarm-Kontakt Cisco ME 3400EG-2CS-A
Donnerstag, Mai 12th, 2011Bei einigen Cisco-Switches der Metro Ethernet Serie ist ein praktischer Alarm-Port eingebaut. Diesen kann man z.B. verwenden, um einen verschlossenen Verteilerkasten beim Kunden zu überwachen. Leider findet man bei Cisco hierzu nur eine kurze Notiz im Installation Guide:
Alarm Input Port
The switch supports four alarm inputs. The alarm input is a dry-contact alarm port. Use the CLI to define each alarm input to respond to a normally open or closed dry-contact closure and to define the alarm severity as minor, major, or critical. When a condition triggers an alarm, the console displays an alarm message, and the corresponding Alarm LED responds (see the “Alarm LEDs” section).
Welche Pins hierfür benutzt werden müssen geht hieraus leider nicht hervor. Durch Tests habe ich allerdings an unserem Cisco ME 3400EG-12CS-M folgende Belegung ermitteln können:
Pin | Signal | Farbe (T568A) |
---|---|---|
1 | Alarm1 | weiß/grün |
2 | Alarm2 | grün |
3 | – | weiß/orange |
4 | Alarm3 | blau |
5 | Alarm4 | weiß/blau |
6 | – | orange |
7 | – | weiß/braun |
8 | Masse | braun |
Die Konfiguration im IOS ist dann entsprechend der Dokumentation schnell erledigt, z.B. wenn an Port 1 der Normalzustand “Geschlossen” ist:
alarm-contact 1 description door
alarm-contact 1 severity critical
alarm-contact 1 trigger open
Update: In der Zwischenzeit ist auch die Dokumentation Configuring Switch Alarms bei Cisco verfügbar geworden
Lesbares dmesg time Format unter Linux
Donnerstag, Mai 5th, 2011Linux hat leider die unangenehme Angewohnheit, im dmesg nur relative Zeitangaben zu speichern. Diese beziehen sich auf den Systemstart, also die Uptime. Wenn man also folgendes im dmesg findet, weiss man nicht, wann das Ereignis aufgetreten ist:
[6509063.707779] md: data-check of RAID array md0 [6509063.707784] md: minimum _guaranteed_ speed: 1000 KB/sec/disk. [6509063.707787] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check. [6509063.707794] md: using 128k window, over a total of 20482752 blocks. [6509063.708619] md: md0: data-check done.
Um diese Angaben in absolute Datumswerte zu überführen, habe ich folgendes Skript gefunden:
#!/usr/bin/perl -w use strict; chomp (my $uptime = `cat /proc/uptime`); $uptime =~ s/^([\d\.]+)\s+.*/$1/; my $time = time; open(CMD,"dmesg|") || die "$!\n"; while(<CMD>) { if (/^\[\s*(\d+)\.\d+\s*\]\s+(.*$)/) { my $event = $time -($uptime - $1); $event = scalar(localtime($event)); print "$event: $2\n"; } else { print; } } close;
Das Ergebnis sind folgende, deutlich lesbarere Zeilen:
Sun May 1 00:57:00 2011: md: data-check of RAID array md0 Sun May 1 00:57:00 2011: md: minimum _guaranteed_ speed: 1000 KB/sec/disk. Sun May 1 00:57:00 2011: md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check. Sun May 1 00:57:00 2011: md: using 128k window, over a total of 20482752 blocks. Sun May 1 00:57:00 2011: md: md0: data-check done.
Netzwerk-Kabel-Automat
Freitag, April 1st, 2011Als Netzwerktechniker ist man im Rechenzentrum manchmal ein wenig aufgeschmissen. Man hat alle Geräte dabei, die eingebaut werden sollen, die Schränke sind vorbereitet und der Strom ist gelegt. Aber dann fehlen einem Kleinteile im Wert von wenigen Cent, die einen Strich durch die Rechnung und die Zeitplanung machen.
Die Kollegen von FlexOptix haben kürzlich auf der CeBit den Gearomat vorgestellt. Ein ähnliches Produkt haben wir, ebenfalls unter größter Geheimhaltung, für unser Rechenzentrum entwickelt. Den Automatic Cable Dispenser können Sie demnächst in unseren Rechenzentren finden und benutzen. Nach der Testphase unserer Prototypen werden wir sie auch anderen Interessenten anbieten.
Am Automatic Cable Dispenser können Sie eingeben, welche Länge das gewünschte Netzwerkkabel haben soll, von welchem Typ und mit welchen Steckern es ausgestattet sein soll. Je nach Kabeltyp haben Sie ausserdem die Wahl zwischen verschiedenen Farben. Nach Eingabe dieser Parameter wird das Kabel in gewünschter Länge ausgegeben. Ein zweiter Ausgabeschacht liefert den benötigten Stecker und eventuelles Zubehör aus.
Mit Hilfe der am Automaten befestigten Crimpzange können Sie dann den oder die Stecker montieren. Hierbei wird auf dem Mehrfarbdisplay eine bebilderte Anleitung angezeigt. Ausserdem bietet der Automatic Cable Dispenser Testanschlüsse für alle angebotenen Stecker- und Kabeltypen. Das Ergebnis dieser Kabelmessung wird gespeichert und auf Wunsch auf Thermopapier ausgedruckt.
Die Zahlung erfolgt Bargeldlos, entweder per Kredit- oder Geldkarte, oder mit der Rechenzentrums-Zugangskarte über die nächste Rechnung.