Defunct fcgid/fastcgi processes in Debian Jessie apache2

Wenn ihr unter dem aktuellen stabilen Release von Debian GNU/Linux – Codename Jessie – den Webserver Apache2 zusammen mit fcgid oder fastcgi einsetzt und von (z.B.) PHP-Prozessen geplagt werdet, die nicht richtig beendet werden und stattdessen als Zombie mit dem Zusatz <defunct> weiter in der Prozessliste rumgammeln bis FcgidMaxProcesses oder FcgidMaxProcessesPerClass erreicht ist und Eure Seite dann nicht mehr erreichbar ist, habe ich hier die Lösung für Euch.

So sieht das Problem aus:

% ps f -o user,pid,nice,%cpu,%mem,cputime,etime,tty8,command ax
USER       PID  NI %CPU %MEM     TIME     ELAPSED TTY      COMMAND
root     11886   0  0.0  0.0 00:00:12    08:45:37 ?        /usr/sbin/apache2 -k start
www-data 26825   0  0.0  0.0 00:00:04    06:27:00 ?         \_ /usr/sbin/apache2 -k start
user4    26854   0  3.3  0.0 00:13:07    06:27:00 ?         |   \_ [php5] <defunct>
user4    26856   0  5.6  0.0 00:21:45    06:27:00 ?         |   \_ [php5] <defunct>
user3    26976   0  0.3  0.0 00:01:31    06:26:51 ?         |   \_ [php5] <defunct>
user4    27389   0  5.1  0.0 00:19:37    06:23:13 ?         |   \_ [php5] <defunct>
user2     7283   0  1.5  0.0 00:04:08    04:32:24 ?         |   \_ [php5] <defunct>
user1    12657   0  1.2  0.0 00:02:56    03:46:37 ?         |   \_ [php5] <defunct>
user1    12680   0  1.9  0.2 00:04:23    03:46:35 ?         |   \_ /usr/lib/cgi-bin/php5
user2    19589   0  0.9  0.0 00:01:36    02:47:44 ?         |   \_ [php5] <defunct>
user3    21574   0  0.6  0.0 00:00:56    02:31:46 ?         |   \_ [php5] <defunct>
user4    24239   0  1.4  0.0 00:01:56    02:11:06 ?         |   \_ [php5] <defunct>
user4    24241   0  2.3  0.0 00:03:07    02:11:06 ?         |   \_ [php5] <defunct>
user4    24252   0  2.1  0.0 00:02:47    02:11:06 ?         |   \_ [php5] <defunct>
user4    24253   0  1.7  0.0 00:02:15    02:11:06 ?         |   \_ [php5] <defunct>
user4    24254   0  5.6  0.2 00:07:24    02:11:06 ?         |   \_ /usr/lib/cgi-bin/php5
user2    28074   0  1.0  0.0 00:00:57    01:30:14 ?         |   \_ [php5] <defunct>
user2    28088   0  1.8  0.2 00:01:42    01:30:14 ?         |   \_ /usr/lib/cgi-bin/php5
user2    30171   0  1.9  0.2 00:01:31    01:16:54 ?         |   \_ /usr/lib/cgi-bin/php5
user4    30676   0  5.4  0.2 00:04:05    01:15:05 ?         |   \_ /usr/lib/cgi-bin/php5
user4    30678   0  4.7  0.2 00:03:34    01:15:05 ?         |   \_ /usr/lib/cgi-bin/php5
user4    31164   0  5.7  0.2 00:04:11    01:13:10 ?         |   \_ /usr/lib/cgi-bin/php5
user3    32378   0  1.8  0.2 00:01:07    01:02:07 ?         |   \_ /usr/lib/cgi-bin/php5
user3    32385   0  1.4  0.2 00:00:53    01:02:06 ?         |   \_ /usr/lib/cgi-bin/php5
user3    32395   0  1.3  0.2 00:00:48    01:02:06 ?         |   \_ /usr/lib/cgi-bin/php5
user3    32402   0  1.6  0.2 00:01:01    01:02:06 ?         |   \_ /usr/lib/cgi-bin/php5
user3    32410   0  1.1  0.2 00:00:44    01:02:05 ?         |   \_ /usr/lib/cgi-bin/php5
user1      418   0  1.4  0.2 00:00:52       59:03 ?         |   \_ /usr/lib/cgi-bin/php5
user1      433   0  2.1  0.2 00:01:15       59:02 ?         |   \_ /usr/lib/cgi-bin/php5
user1      436   0  2.5  0.2 00:01:30       59:02 ?         |   \_ /usr/lib/cgi-bin/php5
user4     1266   0  4.9  0.2 00:02:31       51:23 ?         |   \_ /usr/lib/cgi-bin/php5
user2     3231   0  3.3  0.2 00:01:14       36:57 ?         |   \_ /usr/lib/cgi-bin/php5
www-data  6830   0  1.1  0.1 00:00:07       10:42 ?         \_ /usr/sbin/apache2 -k start
www-data  7145   0  1.2  0.1 00:00:06       08:23 ?         \_ /usr/sbin/apache2 -k start
www-data  7183   0  1.0  0.1 00:00:04       08:11 ?         \_ /usr/sbin/apache2 -k start

Der Webserver läuft seit fast 9 Stunden und es gibt viele fcgid-Prozesse (in diesem Fall PHP), die nicht korrekt beendet wurden und stattdessen als Zombie weiterleben. Zombie-Prozesse sind in der Regel kein Problem, da sie keine Ressourcen verbrauchen. In diesem Fall führt es aber dazu, dass die Zombie-Prozesse weiterhin mitgezählt werden und irgendwann keine neuen php5-Prozesse mehr gestartet werden, weil ja bereits genügend laufen. Je nach Traffic des Webservers ist so bereits nach ein paar Stunden das Limit erreicht und die Webseite(n) werden unerreichbar. Wird viel Traffic über verschlüsseltes SSL/TLS abgewickelt, erhöht das die Chancen, von diesem Problem betroffen zu sein.

Gleichzeitig findet mal im error.log des Webservers folgende Einträge:

[mpm_worker:emerg] [pid 18908:tid 139812686178048] (35)Resource deadlock avoided: AH00273: apr_proc_mutex_lock failed. Attempting to shutdown process gracefully.
[ssl:warn] [pid 31524:tid 140433418090240] (35)Resource deadlock avoided: AH02026: Failed to acquire SSL session cache lock

Die Lösung: in /etc/apache2/apache2.conf die folgende Zeile auskommentieren:

Mutex file:${APACHE_LOCK_DIR} default

Quellen:

Siehe auch Changelog zu apache2-2.4.20-1:

apache2 (2.4.20-1) unstable; urgency=medium

  • New upstream release – mostly bugfixes and HTTP/2 improvements
  • Build against lua 5.2 instead of 5.1. Closes: #820243
  • Correct systemd-sysv-generator behavior by customizing some parameters. This fixes ‘systemctl status’ returning incorrect results. Thanks to Pierre-André MOREY for the patch. LP: #1488962
  • On Linux, use pthread mutexes. On kfreebsd/hurd, continue using fctnl because they lack robust pthred mutexes. LP: #1565744, #1527044

— Stefan Fritsch <sf@debian.org>  Sun, 10 Apr 2016 14:03:41 +0200

Helo command rejected: Host not found

Aus dem Logfile unseres Firmen-MTAs:

reject: RCPT from gw01.zanox.com[217.110.111.101]: 554 <z-de-dom02.zanox.com>: Helo command rejected: Host not found; from=<XXXXXX@zanox.com> to=<YYYYYYY>

Schon erstaunlich wie sich solch große Firmen wie Zanox solche Anfängerfehler Schnitzer leisten.

Wie liefern die überhaupt irgendwo Emails ein?

Sysadminday

Einen schönen Guten Morgen und Happy Sysadminday zu all den Kollegen da draußen!

Kaum am Arbeitsplatz angekommen, versammelten sich auch schon alle Arbeitskollegen und Cheffe hielt eine kurze Rede.

Anschließend wurde feierlich ein Marmorkuchen (das hatte ich kürzlich dezent in ein Gespräch eingepflegt, dass ein Stück Marmorkuchen zum Sysadminday ja recht schick wäre) und ein Präsent, in Geschenkpapier gehüllt, überreicht.

Sysadmin-Kuchen, überreicht von den Arbeitskollegen

Bei dem Geschenk handelte es sich um ein hochwertiges Polohemd (auch noch in der richtigen Größe!) mit Stickerei am Kragen – wie man es von den Fussballmanagern aus dem TV gewohnt ist.

Sehr sehr nice, muss ich da mal sagen. Vielen lieben Dank an meine netten Arbeitskollegen und Chefs.

Der Kuchen wird natürlich geteilt – das Polohemd allerdings nicht :-)

Netzabdeckung O2 in Herford

Inzwischen habe ich meine neue Wohnung bezogen, Internetzugang funktioniert (das wird noch ein extra Beitrag), Möbel sind bestellt und so langsam lebt man sich ein.

Den O2-Mobilfunkempfang in der neuen Wohnung kann man allerdings getrost als Katastrophe bezeichnen.

Empfang hat man, wenn überhaupt, nur in der Nähe der Fenster. Während eines Telefonats durch die Wohnung laufen sollte ich nicht – die Gefahr des Verbindungsabbruchs ist nicht zu verachten.

In der Vergangenheit hatte ich, wenn ich unterwegs war, meist ProfiMail mit IMAP-IDLE über das O2-Netz laufen. Wenn ich in meiner alten Wohnung war, hatte sich der Mail-Client via WLAN den Onlinezugang verschafft.

Mit dieser Kombination kam das Nokia E90 mit vollem Akku auf ca. 2-3 Tage Laufzeit.

In meiner neuen Wohnung reichte eine volle Akkuladung gerade mal ca. 12 Stunden. Zuerst hatte ich den Akku in Verdacht – der hat schon rund 2 Jahre auf dem Buckel. Also einen neuen Originalakku BP-4L besorgt und gestern Abend aufgeladen.

Handy gegen 21 Uhr vom Ladegerät getrennt und heute morgen gegen 9 signalisierte das Handy bereits “Akku fast leer”.

Tja, da hätte ich mir den Kauf des neuen Akkus wohl schenken können: Das Handy sendet offenbar mit erhöhter Leistung, um die Verbindung zum Mobilfunknetz halten zu können.

Ich werde die Tage noch ein bisschen Testen um herauszufinden ob es wirklich daran liegt und falls sich dies bestätigt wird wohl nur der Wechsel zu T-Mobile oder Vodafone übrigbleiben – sonst könnten wir uns das Monitoring mit Nagios auch gleich schenken…

Hat jemand ähnliche Erfahrungen gemacht? Akku schnell leer wenn schlechter Empfang?

PROBLEM: anakin is DOWN

Um genau 4 Minuten vor Mitternacht macht sich der Emailclient auf dem E90 lautstark bemerkbar:

PROBLEM: anakin is DOWN

kann man in großen Lettern lesen. Absender: Nagios.

Per Remote-Management kann man sich das Logfile des Servers anschauen, welches um 23:55 Uhr lapidar verzeichnet:

Server power removed

Leider ist ein Grund für diese nächtliche Unterbrechung nicht verzeichnet.

Der Versuch, den Server aus der Ferne zu Starten ist leider nicht von Erfolg gekrönt, auch wenn das Logfile etwas anderes vermuten lässt:

Host server powered ON by: pinky.

Es bleibt leider bei einem alles andere als befriedigenden Ergebnis:

power: server power is currently: Off

Da vom Ausfall des Servers keine vitalen Services betroffen sind, entscheide ich mich für

Acknowledge this host problem

und wende mich wieder meinem abendfüllenden Film mit Will Smith in der Hauptrolle zu.

Gute Nacht.

Ärger mit UTF-8 in MySQL…

Kris hatte hier und hier 2006 die Grundlagen von Encodings/Charsets und Collations in MySQL erklärt.

Viele Artikel und Howtos im Netz beschäftigen sich damit, wie man Daten im latin1-Format aus MySQL 4.0 Datenbanken in 4.1 oder 5.x DBs konvertiert und gleichzeitig den Umstieg auf UTF-8 vollzieht.

Was jedoch meist nicht zur Sprache kommt ist die Problematik, dass unter bestimmten Umständen für MySQL bei Verwendung von UTF-8 der String “A” identisch ist mit “a”, bzw. “hatte” mit “hätte”.

Einfach ausgedrückt: Groß-/Kleinschreibung und Sonderzeichen wie deutsche Umlaute.

Wir migrieren z.B. gerade Daten aus pre-MySQL-4.1-Zeiten (latin1) auf MySQL 5.0.54 (utf-8). Der Datenbank-Server läuft komplett auf UTF-8, genauso wie die Entwickler-Maschinen:

SELECT VERSION(); SHOW GLOBAL VARIABLES LIKE ‘character%’; SHOW GLOBAL VARIABLES LIKE ‘collation%’;
+————+
| VERSION()  |
+————+
| 5.0.54-log |
+————+

+————————–+—————————-+
| Variable_name            | Value                      |
+————————–+—————————-+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+————————–+—————————-+

+———————-+—————–+
| Variable_name        | Value           |
+———————-+—————–+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+———————-+—————–+

CREATE DATABASE test2 DEFAULT CHARACTER SET utf8;
USE test2;
CREATE TABLE foo(user VARCHAR(20));
INSERT INTO foo (user) VALUES(‘a’),(‘A’),(‘ä’),(‘Ä’);
SELECT user, LENGTH(user), CHAR_LENGTH(user) FROM foo where user=’a’;
+——+————–+——————-+
| user | LENGTH(user) | CHAR_LENGTH(user) |
+——+————–+——————-+
| a    |            1 |                 1 |
| A    |            1 |                 1 |
| ä    |            2 |                 1 |
| Ä    |            2 |                 1 |
+——+————–+——————-+

Die einzige Möglichkeit, MySQL dieses Verhalten auszutreiben und gleichzeitig bei UTF-8 zu bleiben, ist offenbar VARBINARY anstatt VARCHAR zu verwenden:

ALTER TABLE foo MODIFY user VARBINARY(20);
SELECT user, LENGTH(user), CHAR_LENGTH(user) FROM foo where user=’a’;
+——+————–+——————-+
| user | LENGTH(user) | CHAR_LENGTH(user) |
+——+————–+——————-+
| a    |            1 |                 1 |
+——+————–+——————-+

Allerdings gibt die 20 bei VARBINARY(20) nicht die Anzahl der maximal zulässigen Zeichen an (im Gegensatz zu VARCHAR), sondern die Bytes. Dies hat Zur Folge, dass man bei VARBINARY nun nicht mehr die maximale “Länge” (im Sinne von Zeichen) festlegen kann, weil Strings mit Sonderzeichen mehr Bytes belegen und damit von MySQL abgeschnitten werden:

INSERT INTO foo SET user=’Maximale-Laenge-betraegt-20-Bytes’;
INSERT INTO foo SET user=’öäüÖÄÜ Sonderzeichen mit dabei’;
SELECT user, LENGTH(user), CHAR_LENGTH(user) FROM foo;
+———————-+————–+——————-+
| user                 | LENGTH(user) | CHAR_LENGTH(user) |
+———————-+————–+——————-+
| Maximale-Laenge-betr |           20 |                20 |
| öäüÖÄÜ Sonderz       |           20 |                20 |
+———————-+————–+——————-+

(Wieso sagt hier MySQL beim 2. String CHAR_LENGTH(user) sei 20?)

VARBINARY scheidet also aus.

Muss man sich jetzt seine eigene Kollation bauen oder gibts es andere Möglichkeiten, dass MySQL so arbeitet wie man es eigentlich erwarten kann?

MySQL beschreibt unter Examples of the Effect of Collation genau dieses Problem, gibt aber für UTF-8 keine Lösung.

Wie handhabt Ihr das? Umstieg auf UTF-8 abblasen und weiterhin latin verwenden?

Update: Mit Kollation utf8_bin scheint sich das Problem in Luft aufzulösen. Morgen mal damit experimentieren.

Supported ports: [ FIBRE ]

Kämpfe gerade auf Arbeit mit einem Dell Vostro 410 mit integrierter Realtek Gigabit-NIC RTL8111/8168B, die laut ethtool nur einen Fibre-Port, keinen RJ45-Port hat …

Supported ports: [ FIBRE ]
Supported link modes: 1000baseT/Full
Speed: 1000Mb/s
Duplex:Full
Port: FIBRE
[..]
Link detected: no

*nerv*

Update: Nach entsprechender Recherche und Lektüre im Netz der Netze war dann die Lösung, einmal den herstellereigenen Kernel-Treiber r8168 zu laden.

Anschließend lässt sich die NIC auch mit dem r8169-Modul betreiben. Grund ist wohl, dass r8169 nicht weiß, wie man die NIC aktiviert.

Adobe suxx big time (Nachtrag)

Wie bereits berichtet, hatte mein Arbeitgeber eine Menge Stress mit Adobe.

Am 30.05.2008 bekamen wir ja dann endlich die bestellten Software-Pakete per UPS geliefert und gestern, knapp 3 Wochen später, bekommen wir diese Email von Adobe (unnötig zu erwähnen, daß das völlig merkbefreit als PDF verschickt wurde):

Bestätigungs-Email von Adobe

Laut Header war die Email nicht 3 Wochen unterwegs sondern ist ernsthaft gestern verschickt worden…

–with-debug=full

Falls Ihr mal Ursachenforschung betreiben müsst, warum auf einem Produktivsystem mit nur wenigen hundert Besuchern am Tag die MySQL-Performance absolut unterirdisch ist:

Bevor Ihr nach nicht optmierten Queries Ausschau haltet, einfach mal checken, ob MySQL mit

–with-debug(=full)

kompiliert wurde.

Ein halber Tag ging dabei drauf, diese dämliche Ursache für die fast durchgängige 100%-CPU-Usage des mysqld und dessen grottige Performance zu lokalisieren…

Zweitaktrasenmäherhilfsmotor

Gestern Morgen auf dem Weg zur Arbeit hat mir doch glatt ein Opa auf seinem Fahrrad mit Zweitaktrasenmäherhilfsmotor die Vorfahrt genommen – dabei grinste er mich blöde an als wollte er sagen “Muss mich sputen, sonst fängt die Krankengymnastik im Freibad ohne mich an”.

Wie sah Euer Start in die Woche aus?

Adobe suxx big time

Im Jahre 2004 hat die Firma, bei der ich arbeite, über eBay 10 mal “Adobe Photoshop 6.0 OEM” gekauft und auch genutzt.

Letztes Jahr sind wir von Ebay kontaktiert worden mit dem Hinweis, dass es sich bei der seinerzeit gekauften Software möglicherweise um Fälschungen handelt.

Nachdem der Kontakt zu Adobe hergestellt war, einigte man sich darauf, die Produkte zu Adobe einzuschicken.

Nach 8 Monaten (!) kam dann auch “prompt” eine Rückmeldung seitens Adobe: Die 10 Produkte waren extem gut gemachte Fälschungen, die eingezogen und vernichtet werden.

Um uns etwas entgegenzukommen, unterbreitete man uns das Angebot, Adobe Photoshop CS3 zu einem vergünstigten Preis zu kaufen.

Davon machte Cheffe Gebrauch und bestellte vor 6 Wochen per Fax 9x Photoshop CS3 direkt bei Adobe.

So weit so gut – weiter nach dem Klick.

Dortmund vs. Wolfsburg

Am 17.05.2008, dem 34. und letzten Spieltag der 1. Bundesliga in diesem Jahr, empfängt Borussia Dortmund den VfL Wolfsburg auf eigenem Rasen.

Ich habe heute erfahren, daß unser Geschäftspartner DTS Systeme aus Herford meinen Chef und mich an eben jenem Tag in deren Lounge eingeladen hat.

Da Cheffe an diesem Tag leider terminlich verhindert ist, werde ich den Nachmittag zusammen mit einem Arbeitskollegen wahrscheinlich im Dortmunder Westfalenstadion verbringen – bei hoffentlich gutem Wetter.

Das beste aber ist: Ich bin weder Dortmund- noch Wolfsburg-Fan. Egal wie das Spiel also ausgehen wird, es gibt ganz sicher keine schlechte Laune :-)

Vielen Dank an dieser Stelle an unseren langjährigen, sehr geschätzten Geschäftspartner DTS Systeme!

Edit: Dortmund hat zwar verloren, aber das Spiel war alles andere als langweilig – die Stimmung war gigantisch.

Das Drumherum (Buffet, Lounge, Service) war ebenfalls erstklassig – summa summarum war das ein sehr sehr netter Samstag.

fuck.ext3

Note to myself: Das Vertauschen von fsck.ext3 und mkfs.ext3 ist … suboptimal.

Text während der Eingabe ersetzen unter Linux

Cheffe möchte unter Linux gerne Textbausteine wie “MfG” automatisch während der Eingabe durch “Mit freundlichen Grüßen” ersetzen lassen, so wie es z.B. RapidKey Autotext unter Windows ermöglicht.

Mit Khotkeys von KDE ist es leider nur möglich, Text nach einer Mausgeste oder einer Tastenkombination einzufügen, nicht jedoch direkt während der Eingabe eines Schlüsselworts.

Kennt jemand ein Tool, welches die gesuchte Funktionalität unter Linux bereitstellt?

Power-On-Passwort im Thinkpad z60m zurücksetzen

Das hat man davon:

Vor langer Zeit im BIOS des Thinkpads ein Power-On-Passwort definiert, zusätzlich aber auch ein Supervisor-Passwort.

Immer nur das Supervisor-Passwort benutzt.

Vergessen, dass ein Power-On-Passwort gesetzt ist.

Vor der Übergabe des Thinkpads das “BIOS-Passwort” entfernen wollen.

Sich beim anschließenden Booten wundern, dass immer noch ein Passwort verlangt wird.

Leichte Panik, weil das ehemalige Supervisor-Passwort (logischerweise) nicht funktioniert.

Große Panik, weil man irgendwann im Netz mal gelesen hat, dass man BIOS-Passwörter bei Thinkpads nur duch den Austausch eines Bausteins auf dem Mainboard resetten könne.

Erleichterung, nachdem man im Netz das Dokument Lost or forgotten password gefunden hat und erfährt, dass das Power-On-Passwort anders als das Supervisor-Passwort _nicht_ im Security-Chip gespeichert wird.

Freude darüber, mit dem Kauf eines Thinkpads die richtige Entscheidung getroffen zu haben, nachdem man im 164 Seiten umfassenden ThinkPad Z60m Hardware Maintenance Manual detailliert nachgelesen hat wie man das Gerät zerlegen muss, um die BIOS-Batterie abzuklemmen.

Sich wie ein Honigkuchenpferd über die Warnmeldung freuen, die BIOS-Einstellungen seien auf die Standard-Werte zurückgesetzt worden.

:)

Tausche Lenovo Thinkpad gegen IBM Thinkpad

Zwei sehr nette Arbeitskolleginnen von mir arbeiten derzeit jeweils an einem Fujitsu Siemens Amilo L1300.

Bei Beiden ist der Akku inzwischen tot, bei einem der Notebooks die linke STRG-Taste durchgescheuert (!) und der Lüfter so schwach, daß das Notebook ohne Extra-Kühlung nicht mehr auskommt.

Zeit für was neues.

Cheffe hatte mit gebrauchten Thinkpads von Lapstore gute Erfahrungen gemacht und so kamen dann letzte Woche auch 2 Thinkpad T43 (ja, die ohne Windows-Tasten!) in der Firma an.

Beide Geräte haben 2GB RAM, 54Mbit WLAN, Auflösung von 1400×1050 bei 15 Zoll und eine 60GB HDD – nicht das neueste vom Neuen, aber robuste Arbeitsgeräte.

Da mir mein Thinkpad z60m auf Dauer doch zu schwer und unhandlich ist, tausche ich dieses nun gegen eines der T43.

Die Arbeitskollegin freut sich über ein gepflegtes, fast neuwertiges z60m und ich über ein handlicheres T43 – Win-Win :)

“We’re sorry…”

Heute haben wir in der Firma ein seltsames Phänomen beobachtet:

Ab etwa 13:30 Uhr wurden viele unserer Mitarbeiter bei harmlosen Google-Suchanfragen auf Googles “Sorry, Sie haben einen Virus oder Trojaner”-Seite weitergeleitet.

Trotz Firmenproxy und mehr als 20 Mitarbeitern trat dieses Problem bisher nie auf, was mich etwas stutzig machte.

Das erste Analysieren des Proxy-Logfiles bestätigte eine eher geringe Zugriffsfrequenz auf google.de, was ein Blocken seitens Google aufgrund zu vieler Abfragen unwahrscheinlich erscheinen ließ.

Ebenfalls waren die Suchanfragen an sich selbst harmlos, keine Queries die man als “hier sucht jemand nach verwundbaren Webapplikationen” falschverstehen könnte.

Mit dem folgenden Einzeiler habe ich einmal die Anzahl unserer Suchanfragen an www.google.de innerhalb der letzten 30 Tage nach Stunden aggregiert:

egrep -h ‘GET http://www.google.de/.*search.*q=’ access.log* | cut -d. -f 1 | while read timestamp ; do date ‘+%d.%m.%Y um %H Uhr’ -d @$timestamp ; done | sort | uniq -c | sort -r -n -k 1 | head

Heraus kam folgendes:

146 04.02.2008 um 10 Uhr
129 06.02.2008 um 15 Uhr
122 07.02.2008 um 15 Uhr
115 23.01.2008 um 11 Uhr
105 07.02.2008 um 10 Uhr
99 03.01.2008 um 14 Uhr
95 07.02.2008 um 13 Uhr
94 15.01.2008 um 10 Uhr
83 29.01.2008 um 09 Uhr
83 28.12.2007 um 11 Uhr

Am Montag (04.02.) zwischen 10 und 11 Uhr hatte Google.de also 146 Suchanfragen von uns zu bearbeiten, heute (07.02.) in der Spitze nur 122 zwischen 15 und 16 Uhr (wovon natürlich auch ein nicht unerheblicher Teil Test-Suchanfragen aufgrund des Blocks gewesen ist).

Zum Vergleich hier die Anzahl Suchanfragen von heute Vormittag:

5 07.02.2008 um 08 Uhr
72 07.02.2008 um 09 Uhr
105 07.02.2008 um 10 Uhr
19 07.02.2008 um 11 Uhr
17 07.02.2008 um 12 Uhr
95 07.02.2008 um 13 Uhr

Laut IRC haben Leute diese Meldung von Google bisher oft beim Benutzen von Tor oder Internetzugang über Handy zu Gesicht bekommen, was ja aufgrund der Masse an Suchanfragen von nur wenigen IP-Adressen aus verständlich ist – aber bei nur ca. 2,5 Suchanfragen pro Minute wie in unserem Fall?

Hat von Euch jemand Ähnliches beobachtet oder vielleicht andersweitig einen Tipp?

Edit: Wir scheinen nicht die einzigen zu sein: Google’s “Sorry” Service, Oliver, Google says We’re sorry, (Guatemala) Google is sorry, Goggle Sorry Page, Google CAPTCHA sorry page, Will Google Captcha themeselves out of buiness?

Pünktlich zum Wochenende

Pünktlich zum Wochenende um 18:30 Uhr hat sich unsere Firewall-Appliance (Zyxel Zywall 70) im Büro zerlegt – die gelben Link-LEDs aller Ports blinken im Takt und die rote PWR-LED lässt sich auch nicht lumpen.
Dazu gesellt sich ein helles, im Takt der LEDs klickerndes Klick-Klack, vermutlich das eines Relais.

Das Gerät lief seit August 2004 im Dauerbetrieb und nun hat sich offenbar das Netzteil verabschiedet … Ruhe sanft im Technik-Himmel :)

Nachtrag: Laut Handbuch bedeutet eine rot leuchtende PWR-LED “The Power to the Zywall is too low” – Blinken wird nicht erwähnt.

Da im Zuge der Migration auf Gigabit das Routing im LAN sowieso schon auf ein seperates Gerät umgezogen wurde, schmerzt der Ausfall nicht sonderlich stark:

Am Sonntag werden ein paar IP-Adressen und das Firewallingskript geändert sowie ein Netzwerkkabel umgesteckt und dann sollten wir wieder online sein.

Nachtrag: Sind nun wieder online :)

Samstag geht leider nicht – da muss der Sysadmin einem Kollegen beim Umzug helfen oO(hoffentlich ist gutes Wetter)Oo

(Vermeintlich) verseuchte Windows-Kisten

Gerade eben aus aktuellem Anlass mal das error_log eines unserer Webserver näher angeschaut und was sieht man da:

[..]
[Tue Jan 15 10:21:00 2008] [error] [client *.*.*.*] File does not exist: /home/foobar/html/_vti_bin
[Tue Jan 15 10:21:00 2008] [error] [client *.*.*.*] File does not exist: /home/foobar/html/MSOffice
[Tue Jan 15 10:21:41 2008] [error] [client *.*.*.*] File does not exist: /home/foobar/html/_vti_bin
[Tue Jan 15 10:21:41 2008] [error] [client *.*.*.*] File does not exist: /home/foobar/html/MSOffice
[Tue Jan 15 10:24:45 2008] [error] [client *.*.*.*] File does not exist: /home/foobar/html/_vti_bin
[Tue Jan 15 10:24:45 2008] [error] [client *.*.*.*] File does not exist: /home/foobar/html/MSOffice
[..]

Normalerweise ignoriert man sowas ja, da das zum normalen Hintergrundrauschen im Internet gehört.

Aber neugierig ist man manchmal ja doch:

$ whois *.*.*.*
inetnum: *******
netname: *******
descr: *******

Noch Fragen?

Edit:

Laut http://lists.jammed.com ruft anscheinend auch der IE mit einer gewissen Erweiterung diese URLs auf, um bestimmte Fähigkeiten des vermeintlichen IIS-Webservers abzufragen.

Es gibt also scheinbar neben Nimda & Co. doch noch legitime Requests für solche URLs.

Deshalb auch IP-Adresse und Netblock-Owner unkenntlich gemacht.

ERROR: Invalid Name

Ich habe die Tage bei Ebay etwas von einem Händler gekauft und soeben die Rechnung als PDF-Datei per Email erhalten.

Als Lieferadresse hatte ich die Firmenadresse angegeben. Auf der Rechnung liest sich das allerdings so:

Vorname Nachname, [ERROR: Invalid Name], Straße, PLZ Ort, Deutschland

Nun bin ich wirklich gespannt, ob die Ware nächste Woche auch wirklich in der Firma ankommt :)

OS error code 124: Wrong medium type

Hallo, da bin ich wieder.

Eigentlich ist mir im Moment garnicht zu Spaßen zu Mute … ich habe mir bei einem Arbeitskollegen eine fiese Erkältung eingefangen und werde nun die Woche über hier zu Hause versuchen, mich standhaft gegen den fürchterlichen Husten und Schnupfen zu wehren. Gleich gibt es erstmal eine Tasse Erkältungstee.

Letzte Woche habe ich auf Arbeit u.a. eine Datenbank von MySQL 4.1 auf 5.0 migriert, weil ein Arbeitskollege aus performancetechnischen Gründen MERGE-Tables ausprobieren will, die scheinbar erst mit MySQL 5 brauchbar laufen.

Wobei “brauchbar” ein sehr dehnbarer Begriff zu sein scheint, findet sich doch im Error-Log des MySQL-Servers die Fehlermeldung

[ERROR] Got error 124 when reading table ‘./foo/bar’

Wer sich jetzt fragt, was ein Error 124 ist, der befragt perror:

# perror 124
OS error code 124: Wrong medium type

Vielleicht muss ich /var/lib/mysql von CD-ROM oder einem USB-Stick mounten, damit das geht… :)

SysAdminDay

Heute ist der Tag, wo man als SysAdmin mit rausgestreckter Brust durch die Firma stolzieren und sich auf die Schulter klopfen lassen würde – und ich habe Urlaub… *sniff* :)

Schönen Gruss an den Rackblogger, Matthias, Sébastien, Oliver, Markus, Timo und alle Anderen da draussen, die täglich die Hardware, Software und teilweise auch die User unter Kontrolle halten.

nomachine NX

Hat von Euch schon mal jemand mit nomachine NX gearbeitet?

Ich habe heute auf unserem Linux-Terminalserver, zu dem sich die Clients bisher via XDMCP verbinden, den nxserver-freenx installiert.

Der 1. Eindruck: Mit dem Windows-Client ist der Bildaufbau unter KDE zwar nicht wirklich lahmarschig, aber auf jeden Fall langsamer als bei XDMCP-Verbindungen unserer schon relativ schwachbrüstigen Thinclients (VIA C3).

Bin gespannt wie das Ganze aussieht, wenn Linux als Client zum Einsatz kommt. Das werde ich morgen einmal ausgiebig testen.

EDIT: Hatte vergessen zu erwähnen, dass ich es eben von zu Hause aus per DSL 3000 ausprobiert habe und es dort wirklich flott war. Nur im LAN mit Windows-Client kam kein richtiges “Das ist jetzt richtig schnell”-Feeling auf.

Feierabend

Wenn man im Datacenter Hardware tauschen muss weil es auf einem Link Fehler hagelt und man anschliessend in der Firma einen Springbrunnen in der Toilette beobachten kann während es draussen wie aus Kübeln schüttet – dann … ja dann ist es Zeit Feierabend zu machen :)

Ende gut, alles gut

Seit etwa 11 Uhr ist der Adminblogger kein Azubi mehr :) *yippee*

Mit 2 als IHK-Note hat man mich nach etwa 30 Minuten ins hektische Berufsleben entlassen.

Ab morgen gehts dann als Festangestellter im ehemaligen Ausbildungsbetrieb weiter – ich freue mich schon auf neue Herausforderungen.

Bis die Tage, Euer Fachinformatiker Fachrichtung Anwendungsentwicklung alias Sysadmin Adminblogger ;)

IHK Abschlussprojekt

Die letzten Tage waren etwas stressig, da das Abschlussprojekt fertig werden musste.

Gestern mittag 12 Uhr war Deadline und wir haben es rechtzeitig geschafft :)

Für den heutigen Tag habe ich kurzfristig Urlaub eingereicht (der auch genehmigt wurde), um etwas Schlaf nachzuholen.

Als nächstes folgt in ca. 4 Wochen die schriftliche Prüfung und ein paar Wochen später dann die Präsentation der Projektarbeit vor dem Prüfungsausschuss.

Wenn alles klappt, bin ich dann ausgelernter Fachinformatiker Fachrichtung Anwendungsentwicklung, obwohl ich langfristig als Anwendungsentwickler wohl weniger zu tun habe bzw. zu tun haben möchte, sondern mich weiterhin als Sysadmin betätigen werde.

Wünsche Euch ein schönes Wochenende.

Windows-Rechner mit MAC-Adresse 00-00-00-00-00-00

Ein Arbeitskollege hatte heute einen Laptop mit WinXP dabei, der keine IP per DHCP bekam. Auch nach dem Konfigurieren einer festen IP konnte noch nicht einmal der Router gepingt werden.

Nur durch Zufall sah ich dann in den Eigenschaften der SiS Netzwerkkarte die MAC-Adresse 00:00:00:00:00:00.

Im Netzwerkkartentreiber gab es die Option, eine beliebige MAC-Adresse einzutragen, testweise mit 00:00:00:11:22:33 ausgefüllt funktionierte alles tadellos.

Nach dem Booten von grml von CD konnte sich der Kollege dann die richtige MAC-Adresse notieren, die wir anschließend unter Windows im Treiber hinterlegt haben.

Eine Option “Hardwareseitige Standard-MAC-Adresse nutzen” bot der Treiber leider nicht.

Schlechte Erreichbarkeit

Gestern Abend gab es scheinbar ein Problem im Netz unseres Datacenters, so daß die Erreichbarkeit unserer Seiten dementsprechend schlecht war. Bisher gibt es noch kein offizielles Statement vom Datacenter zu dem Vorfall, aber das wird sicher noch kommen.

In Cacti sah man die Traffic-Einbrüche mehr als deutlich :-(

Traffic am 26.03.2007

Update

Inzwischen ist bei mir auch ein offizielles Statement eingetrudelt – so hat es am Montag wohl einen Hardwaredefekt gegeben, der die Probleme verursacht hat.

Kaputte Netzwerkkabel

Wenn man im Switch Logeinträge wie

MAR 19 14:12:43 dot3ad_lac.c(916) %% Adding 1.0.24 to 1.1.2
MAR 19 14:12:39 dot3ad_lac.c(784) %% Removing 1.0.24 from 1.1.2
MAR 19 13:23:54 dot3ad_lac.c(916) %% Adding 1.0.24 to 1.1.2
MAR 19 13:23:50 dot3ad_lac.c(784) %% Removing 1.0.24 from 1.1.2
MAR 19 13:22:48 dot3ad_lac.c(916) %% Adding 1.0.24 to 1.1.2
MAR 19 13:22:44 dot3ad_lac.c(784) %% Removing 1.0.24 from 1.1.2

findet (Port 24 wird alle paar Minuten aus dem LAG/Port Trunk entfernt und wieder hinzugefügt), sollte man neben der Konfiguration der beteiligten Switches vielleicht auch einmal die Verkabelung überprüfen. Nach vielen vergeblichen Versuchen, die Ursache einzugrenzen, fand ich dann endlich die Wurzel allen Übels:

Schlecht verarbeitetes Netzwerkkabel2

Schlecht verarbeitetes Netzwerkkabel1

Schlecht verarbeitetes Netzwerkkabel3
(Anklicken für Großansicht)

Das sind übrigens nur 3 Fotos von sehr vielen so ähnlich aussehenden Cat6 Patchkabeln, allesamt vor einer Woche bei Reichelt gekauft als Ersatz für die bisherigen Cat5 Patchkabel – die, die nun temporär wieder im Einsatz sind und keine Probleme machen…

Hier noch 2 Bilder vom Netgear GSM7224 mit der neuen Verkabelung:

Neuer Switch mit neuer Verkabelung im Rack

Neue Verkabelung im Rack

NC7170 Gigabit Server Adapter II

Die Netzwerkkarte ist inzwischen im Router verbaut und funktioniert auch problemlos mit dem e1000 Modul:

e1000: 0000:07:01.0: e1000_probe: (PCI-X:133MHz:64-bit) 00:11:0a:XX:XX:XX
e1000: eth2: e1000_probe: Intel(R) PRO/1000 Network Connection
ACPI: PCI Interrupt 0000:07:01.1[B] -> GSI 49 (level, low) -> IRQ 21
e1000: 0000:07:01.1: e1000_probe: (PCI-X:133MHz:64-bit) 00:11:0a:XX:XX:XX
e1000: eth3: e1000_probe: Intel(R) PRO/1000 Network Connection

lspci:

0000:07:01.0 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 01)
0000:07:01.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 01)

0000:07:01.0 Class 0200: 8086:1010 (rev 01)
0000:07:01.1 Class 0200: 8086:1010 (rev 01)

0000:07:01.0 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 01)
Subsystem: Compaq Computer Corporation: Unknown device 00db
Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 20
Memory at fdfe0000 (64-bit, non-prefetchable) [size=1280M]
Memory at fdf80000 (64-bit, non-prefetchable) [size=256K]
I/O ports at 5000 [size=64]
Expansion ROM at 00040000 [disabled]
Capabilities: [dc] Power Management version 2
Capabilities: [e4] Capabilities: [f0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-

0000:07:01.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 01)
Subsystem: Compaq Computer Corporation: Unknown device 00db
Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 21
Memory at fdf60000 (64-bit, non-prefetchable)
I/O ports at 5040 [size=64]
Capabilities: [dc] Power Management version 2
Capabilities: [e4] Capabilities: [f0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-

Morgenstund hat Gold im Mund

… oder auch nicht.

Heute war ich ausnahmsweise mal recht zeitig auf Arbeit wegen dem Klimafritzen, der eigentlich $ganzfrühmorgens auftauchen sollte.

Er kam zwar etwa 7 Stunden zu spät (kam wohl eine ausgefallene Klimaanlage dazwischen), kümmerte sich dann aber gleich um das gute Gerät. Durch den Dauereinsatz ist die Verbindung zwischen den Luftführungslamellen und dem Antriebsmotor etwas abgenutzt, so daß die Lamellen ausgetauscht werden müssen. Ende der Woche wird er dann noch einmal mit den Ersatzteilen vorbeikommen und gleich das Kondenswasserauffangbehältnis und den Außenradiator warten.

Der Elektriker stand mit seinem 6500 Euro teuren Fluke Networks Netzwerkkabeltestgerät und 2 Kollegen im Schlepptau ein paar Minuten vorher bereits auf der Matte.

Zu meiner Verwunderung stellte sich dann heraus, daß die Firma die Netzwerkkabel garnicht verlegt hatte. Da hab ich mich scheinbar kräftig geirrt, denn diese Firma hatte zwar andere Arbeiten für uns in den Büros erledigt, aber scheinbar eben diese Kabel nicht verlegt. Naja, wo die 3 schon mal da waren, hab ich sie dann auch alle Kabel durchmessen lassen und schlussendlich mussten an beiden Patchpanels Fehler behoben werden. Abschirmung, die Kontakt zu anderen Adern hatte oder einfach nur vertauschte Adern … es war von allem was dabei.

Bei der Gelegenheit hab ich auch gleich noch 4 bisher nicht genutzte Patchpanel-zu-Dosen-Verbindungen durchmessen lassen und siehe da, das Messgerät meckerte über einen Knick in allen 4 Kabeln in unmittelbarer Nähe der Netzwerkdosen.

Die darf der Elektriker dann Ende der Woche “entknicken” – heute war dafür keine Zeit mehr.

Pfusch am Bau?

Wir haben hier vor rund 6 Monaten ein paar Cat.7 Kabel verlegen lassen, die bisher noch nicht genutzt wurden. Im Zuge der Migration des Firmennetzwerks soll sich dies aber ändern.

Vor einigen Tagen habe ich die entsprechenden Patch-Panels und Dosen beschriften wollen, musste dann aber relativ schnell feststellen, daß über einige der verlegten Kabel kein Link möglich war.

Ende vom Lied: Der Elektriker wird morgen hier aufkreuzen und hoffentlich das Problem beheben können.

Wartung der Klimaanlage

Morgen wird unser Splitklimagerät im Serverraum gewartet.

Das letzte Mal stand der Techniker schon um 7:30 Uhr in der Tür und hatte Glück, daß schon ein Kollege um die Uhrzeit in der Firma war. Der musste ihn dann auch in den Serverraum begleiten und durfte ihn nicht unbeobachtet allein lassen.

Am Telefon habe ich heute ausdrücklich erwähnt, der Typ solle nicht vor 8 Uhr auf der Matte stehen. Hoffentlich verschlafe ich morgen nicht…

NC7170 Gigabit Server Adapter

Für die Migration unseres Firmennetzwerks bauche ich für unseren zukünftigen Linux-Router (HP Proliant DL360 G4 mit 2x GBit-NICs onBoard) noch eine weitere Netzwerkkarte.

Unser lokaler Hardware-Dealer hatte leider keine PCI-X 64bit Netzwerkkarten vorrätig, weshalb ich mich kurz entschlossen an den Support des Datacenters gewandt habe.

Nach ein paar Telefonaten war klar, daß der Vertrieb zwar auch keine Netzwerkkarten vorrätig hat (Stichwort Just in time), aber eine Karte bis zum nächsten, spätestens übernächsten Werktag bestellen könnten.

Zur Wahl standen eine HP NC7771 (Single-Port, Kupfer, Broadcom 5703) und eine HP NC7170 (Dual-Port, Kupfer, Intel 82546EB).

Nach ein wenig Recherche im Netz fand sich die PCI-ID der NC7170, nach denen man dann in den Kernel-Sourcen greppen kann – und siehe da, die NC7170 mit dem Intel 82546EB Chip wird scheinbar vom e1000 Modul unterstützt:

# grep 0x1010 e1000*
e1000_hw.h:#define E1000_DEV_ID_82546EB_COPPER 0x1010
e1000_main.c: INTEL_E1000_ETHERNET_DEVICE(0x1010),

Nach der NC7771 mit Single-Port habe ich garnicht weiter geschaut, da die Preisdifferenz nur 30 Euro betrug und man in einem Router eh nie genug Netzwerk-Ports haben kann.

Migration Infrastruktur

Die letzten 2 Wochen war ich auf Arbeit damit beschäftigt, die Migration unseres Firmennetzwerks vorzubereiten.

Bis gestern hatten wir stinknormale 100MBit-noname-Switches in Benutzung und haben darüber 3 verschiedene Subnetze gefahren. Da das nicht wirklich schön ist und die Bandbreite oft zu wünschen übrig ließ, fiel die Entscheidung, auf Gigabit umzurüsten.

In Zuge dessen werden wir die Switches dank VLANs in mehrere logische Switches unterteilen, so daß die verschiedenen Subnetze dann auch wirklich “physisch” getrennt sind.

Angefangen hat alles mit der Auswahl der passenden Switches – für die dafür notwendigen Switches von HP habe ich leider keine Erlaubnis von Cheffe bekommen, da die zu anderen Alternativen doch recht hochpreisig sind. Letztenendlich fiel die Entscheidung auf Netgear.

Ja ja, ich kann das Geschrei schon hören – im Datacenter wird auch weiterhin nur HP verbaut, in der Firma musste es leider kostengünstiger sein.

Die Entscheidung viel auf einen Netgear GSM7224 mit insgesamt 24 Gigabit-Kupfer-Ports, wovon 4 auch per Fiber genutzt werden können

Netgear GSM7224 Managed Switch
Netgear GSM7224

und zwei Netgear FSM726 mit je 24 100MBit-Ports und 2 Gigabit-Ports, die wahlweise per Kupfer oder Fiber genutzt werden können.

Netgear FSM726 Managed Switch
Netgear FSM726

Die Verbindung vom GSM7224 zu den beiden FSM726 wird dann über je 2x Gigabit Kupfer geschehen, die jeweils zu einem Channel (Link aggregation, Trunking) zusammengefasst werden, um Bandbreite und Ausfallsicherheit zu erhöhen.

Geige spielen

Für den 1. März war eigentlich ein Termin mit einem potentiellen Partner geplant, der jedoch ein paar Tage vorher telefonisch absagte.

Seine Mutter Oma wäre gestorben und seine Geschwister hätten ihn gebeten, auf der Beerdigung etwas auf der Geige zu spielen. Nun müsse er bis zur Beerdigung noch etwas üben und bat deshalb darum, den Termin um 2 Wochen zu verschieben.

Mein Kollege, der den Herrn am Telefon hatte, konnte sich während des Telefonats nur mit großer Anstrengung ein Lachen verkneifen :).

Mein Beileid für seine Mutter Oma, aber die Story ist einfach zu witzig.

Testbericht: IBM Thinkpad z60m

Nachdem ich hier vor kurzem bereits über mein neues Firmen-Notebook kurz berichtet habe, wollte ich nach nun fast 4 Wochen doch etwas detailierter meine Erfahrungen mit dem Thinkpad z60m niederschreiben.

Allgemeines

Das von mit verwendete Gerät ist ein IBM/Lenovo Thinkpad z60m (2529) mit Pentium M 760 (Dothan) 2,0 GHz auf Centrino-Basis, 1GB RAM, 100GB SATA-Platte, ATI Mobility Radeon X600 mit 128MB eigenem Speicher, WLAN (a/b/g) und dem ganzen anderen Krempel, der halt bei einem Notebook heutzutage so dabei ist (Sound, Bluetooth, DVD-Brenner, Speicherkartenleser, …).

Verarbeitung

Das Gehäuse ist rundum solide verarbeitet und entgegen Erfahrungen mit anderen elektronischen Geräten sehr verwindungssteif: Es quietscht oder knarzt absolut nichts.

Tastatur

Die Tastatur ist eine der ersten, die nach dem Verkauf der PC-Sparte von IBM an Lenovo diese beschissenen Windows-Tasten verpasst bekommen hat.

Damit muss man leider leben. Ansonsten sind die Tasten aber schön groß und im Vergleich zum JVC-Notebook macht damit auch das Arbeiten auf der Konsole Spaß.

Touchpad/Trackpoint

Das Thinkpad z60m wird mit Touchpad und dem genialen Trackpoint geliefert – ich liebe diesen Knubbel :-).

Das Touchpad funktioniert so wie es soll, das war es dann aber auch schon (bei mir). Als erste Amtshandlung wurde das Touchpad von mir im BIOS deaktiviert, da man mit dem “Knubbel” eh besser arbeiten kann und versehentliche Betätigungen des Touchpads durch Handballen einfach nerven (Linuxer können davon ein Lied singen).

Das z60m hat unter (vor?) dem Touchpad 2 Maustasten, für den Trackpoint über (hinter) dem Touchpad sogar 3. Damit muss man sich unter Linux nicht mit Emulate3Button und dem gleichzeitigen Drücken der linken und rechten Maustaste zur Simulation eines Klicks auf die mittlere herumschlagen.

Erwähnenswert ist noch, daß 3 verschiedene Aufsätze, allesamt rot, für den Knubbel mitgeliefert werden. Wer wie ich, den werksseitig installierten Trackpoint-Aufsatz nicht mag, wird sich vielleicht mit einem der 2 anderen anfreunden können.

Notebooktasche oder -rucksack für Thinkpad z60m gesucht

Nach mehrmaliger Verschiebung des Liefertermins konnte ich nun heute endlich mein neues Notebook in Empfang nehmen.

Es ist, wie bereits von einigen Lesern erraten wurde, ein IBM/Lenovo Gerät – allerdings nicht aus der T- sondern Z-Serie:

Durch das Breitbild-Display passt das Notebook nun leider nicht mehr in meine alte Notebooktasche, so daß ich derzeit schnellstens einen passenden Ersatz suche.

Kann mir von Euch jemand eine brauchbare Notebooktasche oder besser noch einen Notebookrucksack empfehlen?

Update: Die Abmessungen von dem Noti betragen: 35,5cm x 4cm x 26cm (BxHxT)

Neues Notebook

Im Moment nutze ich ein von meinem Arbeitgeber gestelltes JVC MP-XP7250DE Subnotebook:

JVC MP-XP7250DE Subnotebook

Da sich nach nun ca. 4 Jahren, die das Gerät schon auf dem Buckel hat, langsam aber sicher der CPU-Lüfter verabschiedet, wurde bzw. wird es Zeit für ein neues Notebook.

Vorallem im Datacenter geht es oft nicht ohne Notebook, die Telefonanlage will auch irgendwie programmiert werden und wenn ich mal in der Pampa sitze und die Server rumzicken ist der laggy SSH-Client im Sidekick auch nicht der Weisheit letzter Schluss.

Cheffe hat mir freundlicherweise die Wahl der Qual überlassen, so daß ich mich nicht beklagen kann, wenn anschließend irgendetwas wichtiges (unter Linux) nicht läuft. :D

Entscheidungskriterien für mich waren u.a.

  • robustes, verwindungssteifes Gehäuse
  • Mobile-CPU
  • mindestens 1GB RAM
  • kein ständig laufender/lärmender CPU-Lüfter
  • gute Linux-Unterstützung, besonders WLAN
  • (annähernd) fehlerfreies ACPI-BIOS (lebensnotwendig für u.a. Suspend2Disk unter Linux)
  • auch nach Jahren noch Ersatzteile zu moderaten Preisen verfügbar

Na, kann sich jemand denken, für welche Modellreihe welches Herstellers ich mich entschieden habe? Sollte nicht allzu schwer sein. ;)

Access-Point mit WPA im Wireless Distribution Mode (WDS) gesucht

Habe heute im Auftrag von Cheffe nach Access-Points Ausschau gehalten, die den Traffic auch im WDS-Modus (Bridging) mit WPA(2) verschlüsseln können.

Alle “billigen” Consumer-Geräte können durch die Bank weg nur maximal WEP, was die Sache ziemlich witzlos macht.

Erschwerend kommt hinzu, daß die Hersteller natürlich nicht in ihren Datenblättern erwähnen, daß im WDS-Modus nur maximal WEP funktioniert – das findest man meist nur im Handbuch.

Auf der Verpackung und den Webseiten stehen hingegen die Buzzwords WEP, WPA, WPA2, Client-Mode, AP, WDS (Bridging) und WDS (Repeater) meist recht nah zusammen.

Also kurz eine Email verfasst und einige Hersteller angeschrieben:

Sehr geehrte Damen und Herren,

wir würden uns freuen wenn Sie uns mitteilen könnten, ob Sie ein
Gerät im Programm haben, welches folgende Kriterien erfüllt:

-WDS (Wireless Distribution System) im Bridge-Modus
-WPA Verschlüsselung im Bridge-Modus
-SMA-Antennenanschluss für externe Antenne

Unsicheres WEP im Bridge-Modus ist für uns keine Alternative.

Mit freundlichen Grüßen,
xxx yyy.

Neben einigen vielversprechenden Antworten kam u.a. auch diese Antwort per Email:

Sehr geehrter Herr yyy,

vielen Dank für Ihre Anfrage. Sie finden in Ihrem Text meine Antworten.

Für weitere Fragen stehe ich Ihnen gerne zur Verfügung.

Mit freundlichen Grüßen

i.A. … …

[..]

Sehr geehrte Damen und Herren,

wir würden uns freuen wenn Sie uns mitteilen könnten, ob Sie ein
Gerät im Programm haben, welches folgende Kriterien erfüllt:

-WDS (Wireless Distribution System) im Bridge-Modus (WG602, WG102, WAG102, WG302, WAG302)
-WPA Verschlüsselung im Bridge-Modus (keine Unterstützung)
-SMA-Antennenanschluss für externe Antenne (WG602, WG102, WAG102, WG302, WAG302)
-WEP im Bridge-Modus (WG602, WG102, WAG102, WG302, WAG302)

Mit freundlichen Grüßen,
xxx yyy.

“Thema verfehlt, 6, setzen!” fällt mir dazu nur ein.

Naja, mal gucken was aus den anderen Emails wird. Einige Produkte sehen in technischer Hinsicht schon recht lecker aus, kosten aber auch ein klein wenig mehr als ‘nen Appel und ein Ei.

Nachtrag:

Wir suchen 2 Geräte, die als Bridge fungieren, nicht als Repeater. Damit sollte das in den Kommentaren beschriebene Problem mit der geringen Bandbreite nicht auftreten. Auch sollen die 2 Bridges keine Wireless-Clients bedienen sondern ausschließlich 2 Netzwerksegmente verbinden.

Da die Geräte eventuell auch von nicht-Geeks konfiguriert werden müssen, fallen Konsolen-only Distributionen wie OpenWrt leider aus. Momentan schaue ich mir DD-WRT an, das wird wohl in Verbindung mit 2 Linksys Geräten die günstigste Wahl sein.

Alternativ könnte man auch rund 2x 280 Euro für 3com oder Zyxel ausgeben.

Ich werde Euch auf dem Laufenden halten.

Migration von MySQL 4.0 auf MySQL 4.1 ohne Downtime

Heute haben wir auf Arbeit eine Frontend- (MySQL-Slave) und eine Backend-Datenbank (MySQL-Master) jeweis von Version 4.0.x auf 4.1 migriert. Ebenfalls nötig war die Auslagerung des Master-MySQL-Servers auf einen eigenen physischen Server, da sich unser Backend und die Backend-Datenbank in letzter Zeit spürbar gegenseitig behinderten.

Das ich mir letzte Woche viel Zeit genommen hatte, um die Migration bis ins kleinste Detail zu planen, zahlte sich heute aus: Die Migration lief perfekt, ohne größere Komplikationen und die für die Öffentlichkeit sichtbare Downtime der Frontend-Datenbank beschränkte sich auf ein paar Sekunden.
Zuerst wurde die Replikation auf dem Slave, auf den unser Webserver-Cluster zugreift, ausgeschaltet. Anschließend wurde vom alten Backend-Server ein 9.6 GB großer SQL-Dump über das Netzwerk auf den neuen Server gespielt, importiert und getestet.

Der komplette Frontend-DB-Server wurde geklont, das Netzwerk-Interface des “Originals” heruntergefahren & das Interface des “Klons” mit der selben IP hochgefahren. Somit konnten die Webserver weiterhin auf den Datenbank-Klon zugreifen, ohne in unzähligen Scripten auf den Webservern die IP des Datenbank-Servers ändern zu müssen.

Nun noch MySQL 4.1 in Ruhe auf den Original-Server (Slave) aufspielen, einmal den Master anhalten um die benötigten Files aus /var/lib/mysql auf den Slave zu kopieren, testen ob alles funktioniert und anschliessend wieder das Spielchen mit den Netzwerk-Interfaces.

Dann noch kurz ein slave start auf der Frontend-DB und die Sache war geritzt.

Your domain does not have any MX records

Für unsere Berufsschulklasse betreibe ich u.a. eine Mailingliste, die gestern mal wieder ausgiebig genutzt wurde. Dummerweise hagelte es dann für jedes Posting auf der Liste einen Bounce, da der zuständige Mailserver für einen der Empfänger mein Postfix mit

550 Your domain does not have any MX records. (in reply to MAIL FROM command)

abspeiste. Nach etwas Recherche ergab sich folgendes Bild:

  • für die Ziel-Domain waren 3 MX Records eingetragen
  • der Mailserver mit der kleinsten Priorität (primärer Mailserver) war auf Port 25 nicht erreichbar
  • der nächste Server entsprechend der Priorität wies die Mails mit obiger Fehlermeldung zurück

Also habe ich kurzerhand ein Whois auf die IP gemacht und versucht, den zuständigen Administrator telefonisch zu erreichen.

Antwort aus dem Telefon:

Diese Nummer ist uns leider nicht bekannt.

Super, falsche Telefonnummer im RIPE-Handle … ganz großes Kino.

Auf der Webseite der Firma stand im Impressum die selbe Rufnummer, allerdings mit anderer Vorwahl. Nochmals der Griff zum Telefon, diesmal ging auch jemand ans Telefon:

Person1: Vorname Name, Firma XYZ, wie kann ich Ihnen helfen?

Ich: Einen schönen guten Tag. Meine Name ist … hätte gerne den Administrator Ihres Mailservers gesprochen.

Person1: Der wartet gerade den Mailserver – worum geht es denn?

Ich: … weist Emails zurück … Mailingliste … viele Bounces …

Person1: Wenn Sie kurz dran bleiben wollen, dann hole ich kurz den Administrator ans Telefon.

Ich: Ok.

*20 Sekunden später*

Admin: Vorname Name, guten Tag.

Ich: … weist Emails zurück … Mailingliste … viele Bounces …

Admin: Ich warte gerade den Mailserver und deshalb ist der nicht erreichbar, aber eigentlich sollte der 2. Mailserver die Emails entgegennehmen.

Ich: Ja, das hatte ich auch schon gemerkt – da Ihr primärer MX down ist werden die Emails bei mail2.firma.de eingeliefert, allerdings rejected der valide Emails.

Admin: *kurzes grübeln* … Warten Sie, ich glaube ich weiß, woran es liegt. Unser primärer Mailserver ist auch gleichzeitig der DNS-Server – da kann ja der mail2 garnichts auflösen.

Ich: Aha (ich glaube, der Admin am anderen Ende konnte meinen Kopf auf die Tischplatte aufschlagen hören ;-))

Ich: Außerdem wollte ich Sie noch darauf hinweisen, daß die Telefonnummer in Ihrem RIPE-Handle falsch angegeben ist – die Vorwahl stimmt nicht.

Admin: Sie meinen bei unserer Domain?

Ich: Nein, im RIPE-Handle.

Admin: Aber die öffentlichen IP-Adressen haben wir doch von der Telekom, das müssen die doch machen.

Ich: (was für ne Granate als Admin ist das denn?) Ja, aber Sie müssten das ja in Auftrag geben, daß das geändert wird.

Admin: Ja, ok. Vielen Dank für alles.

Ich: Keine Ursache. Einen schönen Tag noch, auf wiederhören.

Umzug III

Nachdem ich nun letzte Woche Sonntag mein letztes Hab & Gut aus Paderborn in die neue Wohnung transportiert hatte, ist der Wohnungswechsel offiziell überstanden :).

Die Wohnung ist zwar noch nicht komplett fertig, aber das Gröbste ist erledigt und man kann drin wohnen. Gestern hätte z.B. der Elektriker kommen sollen um den Einbau-Herd anzuschließen – kam wohl was dazwischen :(.

Seit 2 Tagen funktioniert nun auch der Telefonanschluß und DSL hier in der Wohnung, so daß ich wieder online bin. An dieser Stelle möchte ich ausnahmsweise mal den Service von der Telekom T-Com loben:

Der neue Telefonanschluß inklusive DSL war auch wirklich an dem Tag benutzbar, den man mir beim Umzugsservice am Telefon genannt hatte. Insgeheim hatte ich allerdings damit gerechnet, daß es länger dauert, DSL nicht geschaltet wird oder irgendetwas anderes schief geht – sowas sind viele (Privatkunden?) von dem Laden ja leider gewohnt.

Es ist wirklich sehr angenehm, nach der Arbeit nur noch etwa 600m bis zur Wohnung gehen zu müssen, anstatt über eine Stunde mit dem Zug zu fahren. *YIPPEE* :D

32°C im Serverraum ist zu viel des Guten

Die Woche fing gerade erst an (es war wohl so so gegen halb 10), ich hatte noch nicht einmal die morgendliche Koffein-Dosis intus, da bekundete ein Mitarbeiter mir gegenüber, daß sein Thunderbird immer in einen Timeout laufe und er auf sein IMAP-Postfach nicht zugreifen könne.

Kurz mal einen Ping abgesetzt und Tatsache – der Server war entweder mit einer ordentlichen Kernel-Panic abgeraucht oder das Kabel/der Switchport oder die NIC waren im Ar^Wkaputt. Keine 2 Minuten später erreichte mich die Nachricht, daß ein weiterer Produktiv-Server ausgefallen sei – nun wurde ich langsam leicht nervös.

Eine Maschine: kann mal passieren.
Zwei Maschinen, gleichzeitig tot: Zufall? Nicht mit mir.

Also Laptop-Tasche mit all den kleinen nützlichen Utensilien geschnappt, ins Auto geschwungen und bei geöffnetem Fahrer- und Beifahrerfenster (es war sonnig und für die Tageszeit schon sehr warm) und lauter Mukke zum Datacenter gedüst.

Kaum angekommen und einem der Datacenter-Mitarbeiter erzählt, wir hätten da Probleme mit 2 Maschinen … Antwort: “Ja, wissen wir.”

Dabei denkt man sich noch nichts – schließlich sind das dort alles Profis und gucken laut SLA auch regelmäßig an unseren Racks vorbei um uns zu informieren, wenn Server mit ihren LEDs um Aufmerksamkeit betteln. Im weiteren Gespräche wurde allerdings schnell klar, daß die Sache etwas heikler war als ich ursprünglich dachte:

Umzug

Der Marcel wird demnächst umziehen – näher zum Arbeitsplatz.

Damit entfallen die täglichen zwei 40-Minuten-Fahrten mit dem Auto und der damit verbunde Stress auf der Autobahn (ich hasse Leute, die bei 100 auf der rechten Spur ohne in den Rückspiegel zu gucken nach links rüberziehen, während man gerade mit 170 an ihnen vorbeifahren will…)

Freue mich schon … ausschlafen bis kurz vor 9 und dann in 5 Minuten zu Fuß auf Arbeit ;-)

head2desk

Kollege: locate geht auf meinem Development Server nicht. emerge locate klappt auch nicht.

Ich: emerge slocate

Kollege: Wie aktualisiere ich die Datenbank?

Ich: updatedb

Kollege: Wie startet man den Apache?

Ich: /etc/init.d/apache2 start

Kollege: Geht nicht.

Gehe zu seinem Rechner und sehe auf seiner Konsole:

root@foobar:/etc/init.d>apache2 start
Usage: apache2 [-D name] [-d directory] [-f file]
[-C “directive”] [-c “directive”]

Nach dem Hinweis, daß man in solchen Fällen ./ voranstellt und der Erläuterung der Hintergründe dieser Notwendigkeit, frage ich ihn eben noch, wozu er eigentlich locate brauche.

Antwort: Um /etc/init.d zu finden

*kreisch*

3 kleine Telekomiker

Ich war gerade im Rechenzentrum mit einem unserer HP-Server beschäftigt, als 3 Leute, die ich vorher noch nie dort gesehen hatte, den Serverraum betraten. Einer der Drei hatte ein kleines Päckchen unter dem Arm – im ersten Moment dachte ich, der Packetblogger würde vorbeischauen ;)

Als die Drei dann an mir vorbeistiefelten verblitzte ich mir beinahe meine Augen an dem rosaroten Panther Logo auf der Rückseite der Jacke des Päckchenträgers.

Kurze Zeit später kam einer der RZ-Mitarbeiter mit einem breiten Grinsen auf den Lippen vorbei und meinte, während er eine unauffällige Kopfbewegung in Richtung Päckchen erkennen ließ:

“Die Drei sind von der Telekom und bauen einen DSL Router für einen Kunden ein. Drei: Einer packt aus, der Zweite gibt Anweisungen und der Dritte dübelt das Ding ins Rack.”

Der Mitarbeiter war sichtlich amüsiert über solche Überkapazitäten Fachkräfte bei der Telekom.

Glauben

Für viele unserer Kunden holen wir Dateien zur Weiterverarbeitung entweder via FTP oder HTTP von deren Servern ab.

Eine Mitarbeiterin sprach mich an, da in unserem Backend die Daten einer CSV Datei eines neuen Kunden nicht auftauchten, obwohl die Mitarbeiterin die URL des Kunden korrekt im Backend eingepflegt hatte.

Naja, wenn eine Mitarbeiterin schon mal in die Technik kommt und nett fragt, dann guckt man da natürlich auch gleich mal nach ;)

Also auf unserem Server, der die CSV Datei abholen soll, eingeloggt und lftp im debug Modus angeschmissen. Einloggen ging wunderbar, aber ein Directory Listing blieb scheinbar hängen.

Nach genauerem Hinsehen bemerkte ich, daß der FTP Server des Kunden als die zu kontaktierende IP 192.168.x.y an den Client übermittelte – klarer Fall von NAT, wenn der Paketfilter die IP-Adresse in den FTP-Paketen nicht maskiert. Also Kunden angerufen und Problem geschildert.

Antwort: “Glauben Sie mir, unsere Firewalls machen alle richtiges NAT. Sie sind der Erste mit diesem Problem.”

Ja ne, is klar – deshalb sehe ich auch die private IP Deiner FTP-Kiste.

Ich habe dann noch versucht ihm zu erklären, daß es da für iptables ein Modul gibt, das das erledigt … aber nachdem ich mehrmals gehört habe, wie er hastig auf seiner Maus herumklickte und scheinbar seine “Firewall” konfigurierte, hab ich ihm dann angeboten, einen Account auf unserem FTP Server anzulegen, wo er die Daten dann regelmäßig hochladen kann.