Skip to content

Mehr Platz, Igor!

Heute habe ich mich endlich dazu aufgerafft, meinem Datenelend ein Ende gemacht und zwei Platten zu je 3TB (mit internen 4K-Sektoren und externen LBAs mit 512 Bytes) gekauft.

Pro: Mehr Platz als, ich jemals in der für mich absehbaren näheren Zeit brauchen werde. Aber 640K Hauptspeicher waren ja auch schon immer genug für jeden.

Contra: 10 Stunden Sync-Zeit für das RAID1, dass ich daraus gebaut habe. (Ja, ich bin ein wenig Paranoid, was Festplatten angeht. Die meisten meiner Daten fallen jetzt nicht in die Kategorie "überlebenswichtig", aber ich fände es blöd, wenn ich z.B. meine CD-Sammlung wieder neu rippen müsste, weil dies dann doch einige Tage in Anspruch nehmen würde. Echte lebenswichtige Daten habe ich als Backup auf a) Band, b) verschlüsselt in der Dropbox und c) auf DVD oder CD [die ich einmal im Jahr prüfe, ob die Lesbarkeit noch gegeben ist]) Immerhin setzt Linux den Sync an der letzten Stelle fort und fängt nicht immer von vorne an.

Ein wenig abenteuerlich war auch die Partionierung. Eine normale MSDOS-Partitionstabelle reicht nicht mehr, es muss eine GPT (GUID Partition Table) sein. Und da die Platten intern Sektoren mit 4KB-Größe arbeitet, möchte man auch dafür sorgen, dass die Partitionen und damit die Dateisysteme innerhalb der Partitionen an eben diesen 4KB-Sektoren ausgerichtet (aligned) sind. Sonst wird man eine erstaunliche Verlangsamung von Schreibzugriffen bis zu Faktor 10 erleben.

In meinem Fall habe ich die korrekte Partionierung mit parted durchgeführt.

  1. Richtige Platte auswählen:
    > select /dev/sdX
  2. Partitionstabelle anzeigen lassen, ob man auch wirklich die richtige Platte hat:
    > print
  3. GPT erzeugen:
    > mklabel gpt
  4. BIOS Boot Partition erzeugen. Dies wird gebraucht, weil direkt in der GPT kein Platz für das core.img von GRUB ist. Das Alignment ist hier egal, da auf diese Partition eh nur während der Installation von GRUB geschrieben wird.
    > mkpart primary 34s 2047s
    > set 1 bios_grub on
    Die 33 Sektoren am Anfang werden von der GPT eingenommen und fallen daher weg. Will man von dieser Platte nicht booten, so kann man sich diese Partition theoretisch schenken. Aber da man für die korrekte Ausrichtung bei 4KB-Sektoren intern und externen 512 Byte LBAs als kleinsten nutzbaren Sektor bei 40s ist und man nie weiss, ob man nicht doch einmal GRUB auf die Platte installieren will oder muss, sollte man die BIOS Boot Partition gleich mit anlegen, später geht das nämlich nicht mehr.
    Es ist übrigens egal, wo man die BIOS Boot Partition anlegt, generell wird aber empfohlen, diese an den Anfang, mindestens aber unterhalb der magischen Grenze von 2^32-1 Sektoren (also 2TB) anzulegen.
  5. Dateisystem-Partition im kompletten restlichen Bereich anlegen und RAID-Flag setzen. Hierbei ist es wichtig, auf die Ausrichtung zu achten. Bei einem Verhältnis von internen zu externen Sektoren von 8 (also 4096B / 512B) muss der Start-Sektor also glatt durch 8 teilbar sein. 2048 erfüllt diese Kriterium. Für SSDs muss man ebenso rechnen, allerdings gilt es hier, die Größe des Flash-Erase-Blocks zu kennen, der meist 64KB oder 128KB ist. Bei einem Verhältnis von 131072/512 gilt also 256 als magischer Teiler. Präsentiert die SSD dagegen 4K-Sektoren nach aussen, so sinkt dieser Wert auf 32. Alles in allen würde 2048 diese Kriterien auch erfüllen, ist also ein guter über-den-Daumen Wert. (Wenngleich 2048 Sektoren bei 4K-Sektoren auch schon 8MB Verschnitt sind. Bei Plattengrößen von 256GB für SSDs oder 3TB für Magnetscheiben ist dies aber mehr als verschmerzbar, denke ich.)
    > mkpart primary 2048s -1s
    > set 2 raid on
  6. Und nun das ganze Procedere für die zweite Platte wiederholen.
Danach dann wie gewohnt mit mdadm -C das RAID erzeugen, Dateisystem oder LVM drauf packen, fertig.

Es reicht!

Manchmal. Ja, manchmal reicht es einfach.

Zu Hause:

  • Hardware-Probleme
  • Software-Probleme
  • unveröffentlichbare Probleme

An der Arbeit:

  • defekte neue Hardware
  • defekte ältere Hardware
  • Komische (im Sinne von "Warum zum Geier macht das Zeug das jetzt?!") Software-Probleme
  • Merkwürdiges Netzwerk-Verhalten
  • widerspenstige User
  • Lizenz-Gemuckel in vier Dimensionen (Wer sich das auch immer ausgedacht hat: An die Wand stellen, drauf halten, trifft keinen Falschen ...)
  • zwei kritische Upgrade-Termine innerhalb von 7 Tagen

Wenn ich nicht meinen Rest-Urlaub mit ins nächste Jahr nehmen wollen würde, dann würde ich mich ab Mitte November einfach für drei Wochen verabschieden, mich in meinem Schlafzimmer einschließen und dann könnte mich die Welt man ganz gepflegt ...

Datenkorruption, schleichende

Interessante Zeiten. Sehr interessante Zeiten.

Datenkorruption ist ja schon schlecht. Besonders schlecht ist es, wenn man es nicht merkt, sondern erst, wenn sich z.B. im Dateisystem Fehler (Dateien mit "komischen" Größen oder Rechte-Flags, Dateien, die sich nicht löschen lassen, etc.) zeigen.

Und ganz besonders doof ist es, wenn man nicht weiss, warum das Problem plötzlich auftritt oder erst gar nicht erahnen kann, seit wann das Problem aufgetreten sein könnte.

Hrmbl.

SAN?

Stichwort SAN-Technik: Was nimmt man da im professionellen Umfeld, vor allem, wenn man flexibel sein will?

FibreChannel? Recht großer Investitions-Aufwand, mindestens 800€ pro Server für den FC-HBA, dann noch die Verkabelung, evtl. sind neue Fasern nötig, die FC-Switche sind auch nicht billig und die Kosten pro Port liegen irgendwie zwischen 400€ und 800€, je nach Leitungslänge und Anbieter. Überhaupt scheint jedes Fitzel an Feature mit einer Extra-Lizenz belegt zu sein.

Oder doch lieber iSCSI? Läßt sich mit normalen Ethernet-Switchen verteilen, bei Servern ohne große Last reicht ein Software-Initiator, ist im Zweifelsfalle "überall" im Netz verfügbar, notfalls gibt es aber auch Hardware-Initiatoren zu kaufen. Dafür wird iSCSI nachgesagt, langsam zu sein und nicht den benötigten Durchsatz zu liefern, einen großen Overhead zu haben.

Wem soll man glauben? Und was soll man kaufen? Netapp? Hitachi? EMC? EqualLogic?

Fragen, Fragen, Fragen...

Flimmerkasten

Das folgende Bild stellt keine moderne Kunst dar, sondern mein Fernsehbild. Und ich habe auch keinen verschlüsselten Sender eingestellt, sondern in diesem Falle die ARD. Auch wenn das Bild an das uralte analoge Premiere erinnert:

Scheinbar ist die vertikale Ablenkung kaputt, denn teilweiese fällt das Bild auf eine einzige horizontale Linie zusammen und der Fernseher geht automatisch aus. Je länger das Gerät aber läuft, um so stabiler wird das Bild, bis das Problem nicht mehr auftritt, also vermutlich ein thermisches Problem.

Ich sehe schon, das wird wieder teuer. Oder ich verzichte auf den Fernseher (den ich eh nur vielleicht 1 Stunde pro Tag nutze) und baue die Fernsehkarte wieder in meinen Arbeits-PC ein.

Insgesamt aber eine eher unbefriedigende Lösung, vor allem, was die Bequemlichkeit des Sich-Berieseln-Lassens angeht.

Bestanden!

Nachdem ich ja gestern über meine Erfahrungen mit der AU meines Wagens berichtete, kann ich heute vermelden: Bestanden!

Die Lösung kam durch Auslesen und Löschen des Fehlerspeichers, da der Zündfehler nur sporadisch (der Zähler stand auf "1") auftritt hatte der Techniker auch keine weiteren Bedenken bei dem Vorgehen. Sollte das Fehlerbild sich aber häufen, so müßte man wohl an einen Austausch der Zündspulen denken. Solange die Häufigkeit aber bei ein Mal pro Jahr liegt, gibt es keinen Grund zur Veranlassung.

Alles in allem komme ich somit auf 115€ Kosten für HU und AU sowie Nachtest und Fehlerbehebung. Ich hatte mir schon wieder in meinen schlimmsten Träumen ein Vielfaches davon ausgerechnet.

P0300

Heute, HU- und AU-Termin beim TÜH gehabt. Alles ohne größeren Befund, also Bremsen OK, Lichter OK, optischer Eindruck OK, winziger Ölverlust an der Antriebswelle zum linken vorderen Rad, alles klar.

Aber dann: Mein Auto ist eines mit OBD (On Board Diagnostics) und die wird für die AU herangezogen. Das Messgerät spuckt den Fehler "P0300" aus, welcher heißt, dass der Board-Computer Zündausetzer in mehreren Zylindern festgestellt hat. Und ich kann mir auch denken, wann das war, nämlich letzten Donnerstag auf der Autobahn-Fahrt von Kassel nach Gießen, als ich mich einmal vom 5. in den 2. Gang verschaltet habe. Dort leuchetet für nicht mal 2 Sekunden die Motor-Kontroll-LED auf, verlöschte dann aber sofort wieder. Einen Aussetzer o.ä. hatte ich auch nicht gespürt, mir also nichts dabei gedacht.

Leider ist dieser Code so unspezifisch, dass er eigentlich alles bedeuten könnte. Aber ich weiss, dass ich diese Code schon einmal hatte und nach dem Reset des Fehler-Logs trat er (bis jetzt) auch nie wieder auf.

Also werde ich morgen mit dem Wisch und dem Auto zu einer Vertrags-Werkstatt tigern und schauen, was die meinen.

Die AU und damit die HU habe ich so aber nicht bestanden und darf jetzt wieder antanzen. 51€ durfte ich aber dennoch berappen. Wenigstens der Nachtest wird dann billiger.

Blechschaden im 19"-Rack

Nein, Asus, billige, aus einfachem Blech scharfkantig ausgestanzte und kaum entgratete L-Schienen sind kein Ersatz für eine richtige Montage-Schiene für 19"-Geräte, vor allem nicht, wenn man das Gerät auch einmal alleine aus dem Rack ziehen will, ohne das es einem auf die Füße fällt.

Und genau das funktioniert mit den Alibi-Schienen von Asus nicht, da das Gerät leicht abkippen kann, weil es eben nur aufliegt und nicht von oben gestützt wird. Dazu kommt noch, dass man ein Gerät nur sehr schwer einbringen kann, da es schnell verkantet.

Desweiteren hinterlassen die Schienen keinen sonderlich stabilen Eindruck, da sie sich schon bei einem leichten 1HE-Gerät deutlich verwinden. Ich möchte nicht wissen, was passiert, wenn man einmal größere und schwerere Geräte mit diesem System montieren soll.

Die Frechheit schlechthin ist aber die Scharfkantigkeit dieser Teile und der Fakt, dass ich erst mit Hammer und Zange anrücken musste, um die Teile in eine montagefähige Version zu dengeln.

Ein positives Beispiel dagegen waren immer die Schienen bei SuperMicro-Geräten. Die waren stabil, einfach anzubringen, leichtgängig und dennoch sicher.

Nur leider hat unser Haus-Lieferant bei den Rack-Servern den Anbieter gewechselt und bezieht seine Barebones jetzt von Asus. Feedback bzgl. der inakzeptablen Schienen hat es von uns schon gegeben, mal schauen, was sich ergibt.

Bildbeweis:

Oben die SuperMicro-Schiene (ohne das am Server zu befestigende Innen-Teil), unten die beiden Asus-Schienen, bei denen es nichts gibt, was am Server montiert wird, dieser liegt einfach nur lose auf und ist damit stark kippgefährdet beim Herausziehen.

Wärmestau unter'm Kühler

Das alle Jahre bei einem Auto ein Ölwechsel fällig ist, dürfte der überwiegenden Mehrheit ja bekannt sein.

Aber das auch bei PCs ab und zu ein Erneuern der Wärmeleitpaste zwischen CPU und Kühlkörper sinnvoll ist, dürfte neu sein.

Aber genau das habe ich heute gemacht, denn nachdem die CPU (AMD64 3200+) bei knapp 68°C im Leerlauf und bis zu 82°C unter Vollast vor sich hin brutzelte und mein BIOS mir akustisch zu verstehen gab, dass es das so nicht gutheissen kann, musste ich aktiv werden.

Da der Kühler (ein leiser von Arctic Cooling, aber keiner der meiner-ist-größer-als-deiner Varianten) früher die CPU nie wärmer als ca. 55°C unter Last hat werden lassen, musste sich etwas verändert haben.

Den Staub hatte ich immer mal wieder entfernt und so warm wurde der Kühler auch gar nicht. Daraus schloss ich, das irgendwie die Abwärme der CPU nicht korrekt bzw. vollständig auf den Kühlkörper übergeht.

Also habe ich ihn abmontiert und die alte und mittlerwiele ausgehärtete Wärmeleitpaste entfernt (geht sehr gut mit einer alten Konto-Karte) und neue dünn aufgetragen (ebenfalls mit der altem Konto-Karte).

Und siehe da: nach dem Wiederaufsetzen war wieder der alte Zustand erreicht, knapp 38°C im Leerlauf, 55°C unter Last.

Also Leute, es muss nicht immer gleich ein 80€-600g-Kühler aus gefrästem Kupferblock sein, ein einfacher Alu-Kühler für 15€ mit geregeltem großem Lüfter reicht auch, um die 90W der CPU abzuführen.

Die SATA-Experience II

Was bisher geschah: Platten gekauft, angeschlossen, geht nicht.

Jetzt der zweite Teil: Da ja der On-Board-VIA-SATA-Kontroller einfach nur grottig ist (ja, ich habe die Platten auch Testweise auf 1,5GBps gejumpert gehabt), habe ich mir heute dann einen Promise TX4 gekauft, um Ruhe zu haben.

Also flugs eingebaut, Platten angeschlossen, mein normales System (Debian Sid) gestartet und schon einmal das neue RAID zusammengestellt.

LVM drauf, Dateisysteme drauf, zusammenmounten und rsync von alt nach neu anstossen, das komplette restliche Synchronisieren erfolgt dann später via GRML.

Da das ja eine Zeit dauert, bleibt noch Muße für einen netten Spieleabend mit Komilitonen und Freunden.

Die SATA-Experience

Nachdem, wie schon beschrieben, mal wieder die Windows-Platte in meinem Rechner den Geist aufgegeben hatte, wollte ich endlich den schon früher vorgenommenen Umbau von vier PATA-Platten auf zwei SATA-Platten (je RAID1) vornehmen, um dann eine der freiwerdenden Platten für Windows nutzen zu können.

Gesagt, getan, zwei 500GB SATA-Platten ausgesucht, sicherheitshalber noch zwei SATA-Kabel dazu gekauft und mit dem Umbau begonnen.

Erster Fallstrick: Die On-Board-SATA-Anschlüsse liegen exakt unter dem Kühler meiner Grafikkarte, so dass ich nur mit millimeter-genauer Bastelei beide Anschlüsse nutzen kann, ohne das dabei Spannungen und Verbiegungen auftreten.

Zweiter Fallstrick: Der On-Board-VIA-SATA-Controller ist einfach scheisse. Die Platten werden nicht sicher erkannt und wenn sie mal erkannt werden, dann reicht allein schon ein simples mke2fs, dass der Chip nach kurzer Zeit meint, dass die Platten defekt wären und aussteigt.

Super.

Also doch einen externen SATA-Kontroller kaufen.

Morgen.

Plattensterben (mal wieder)

Mal wieder:

hdb: status error: status=0x7f { DriveReady DeviceFault SeekComplete DataRequest CorrectedError Index Error }
hdb: status error: error=0x7f { DriveStatusError UncorrectableError SectorIdNotFound TrackZeroNotFound AddrMarkNotFound }, LBAsect=260013951, sector=0
ide: failed opcode was: 0xec

drive not ready for command

Danach wurde die Platte von keinem sich in meinem Besitz befindlichen IDE-Kontroller mehr erkannt.

Es war zwar (wieder) nur die Windows-Platte, daher kein zu großer Verlust, aber die Reinstallation des ganzen Geraffels inkl. aller mittlerweile von Microsoft herausgegebenen Patches und Hotfixes wird wieder den besseren Teil meines Tages aufbrauchen.

MistTM!

Immerhin habe ich noch Garantie, die Platte war ja gerade mal 9 Monate alt.

... und dann war sie weg!

Zuerst machten sich ein paar pending_sectors in der S.M.A.R.T.-Ausgabe bemerkbar, nach dem Anstossen des RAID-Resyncs war die Platte dann aber plötzlich komplett verschwunden, übrig blieben nur die folgenden Meldungen:

[ 8980.171000] end_request: I/O error, dev hdf, sector 390716729
[ 8980.171000] printk: 515 messages suppressed.
[ 8980.171000] Buffer I/O error on device hdf2, logical block 48339568
[ 8980.171000] end_request: I/O error, dev hdf, sector 390716729
[ 8980.171000] Buffer I/O error on device hdf2, logical block 48339568
[ 8980.553000] end_request: I/O error, dev hdf, sector 390716737
[ 8980.553000] end_request: I/O error, dev hdf, sector 390716729
[ 8980.553000] Buffer I/O error on device hdf2, logical block 48339568
[ 8980.553000] lost page write due to I/O error on hdf2

Ah, MistTM!

Wie es scheint, muss ich meinen Plan, das 2+2 RAID1-Setup durch einen einfachen Spiegel auf zwei größeren SATA-Platten zu ersetzen, schneller in die Tat umsetzen, denn zu lange möchte ich nicht mit einem halben RAID1 herumlaufen.

Hardware-Blues

Manchmal (eigentlich immer öfter) geht mir Hardware mächtig auf den Senkel. (Mithin ein Grund, warum ich sämtliche Arten von Server-Virtualisierung sehr begrüße.)

So machte sich eine der beiden CPUs von Server A mit massiven MCEs [Maschine Check Exceptions, Hardware-Fehlermeldungen bei Störungen] auch bei Leerlaufbetrieb unbeliebt:

MCE 0
HARDWARE ERROR. This is NOT a software problem!
Please contact your hardware vendor
CPU 1 0 data cache TSC 78eecbdc9911
ADDR 27ed8b000
Data cache ECC error (syndrome 6b)
bit46 = corrected ecc error
bit62 = error overflow (multiple errors)
bus error 'local node origin, request didn't time out
data read mem transaction
memory access, level generic'

STATUS d435c00000000833 MCGSTATUS 0
[...]

Super.

Server B lief zuerst so, wie ich mir das erwarten würde, dann meckerte der RAID-Kontroller aber herum:

20060821141129 WARNING (0x04:0x0039): Buffer ECC error corrected: address=0x1BD5200
20060821141129 WARNING (0x04:0x0039): Buffer ECC error corrected: address=0x1A76400
20060821141129 WARNING (0x04:0x0039): Buffer ECC error corrected: address=0x1BE6A00
20060821141129 WARNING (0x04:0x0039): Buffer ECC error corrected: address=0x1ACEA00
20060821141129 WARNING (0x04:0x0039): Buffer ECC error corrected: address=0x1ABD200
[...]

Das sich meine Begeisterung dadurch im freien Fall befand, kann man sich sicherlich leicht vorstellen.

Diese Schmerzen.

Bitte, bitte, $DEITY, lass den Schmerz vergehen.

Warum werde ich gleichzeitig mit

  1. einem uralten und halbkaputten Solaris 2.6
  2. 35GB zu tranferierneden Daten auf einer Sun Enterprise 150
  3. Cisco IOS 12.3(T)
  4. Kernel 2.6.17
  5. und den daraus resultierenden bekannten "Interessantheiten" im Bezug auf Window Scaling

geschlagen?

Es macht wirklich keine Freude, wenn man mit 50KB/s diese Datenmengen transferieren muss und einem dabei immer wieder der Transfer-Prozess auf der Datenquelle "abhanden" kommt.