Samsung Spinpoint F1

Gerade eben ist wieder eine Samsung Spinpoint F1 in meinem Desktop-Rechner gestorben … das ist jetzt die vierte (!) Platte innerhalb von nur 8,5 Monaten.

  1. 12.02.2010 Samsung Spinpoint F1 HD103UJ SMART Self-test: Read failure
  2. 07.07.2010 Samsung Spinpoint F1 HD103UJ FAILED SMART self-check. BACK UP DATA NOW!
  3. 03.09.2010 Samsung Spinpoint F1 HD103UJ SError: { UnrecovData Handshk }, ES-Tool: RAM-Error
  4. 05.03.2011 Samsung Spinpoint F1 HD103UJ SError: { UnrecovData Handshk }, ES-Tool: RAM-Error
  5. 24.03.2011 Samsung Spinpoint F1 HD103SJ ES-Tool: AJ36 Bad Sector, SMART Extended offline Completed: read failure

Bisher wurde von Samsung zwar jede von mir eingeschickte Platte anstandslos getauscht … aber ich hätte doch gerne eine die länger als ein paar Monate durchhält.

Weiß jemand, ob diese Serie besonders oft von Ausfällen betroffen ist?

Load_Cycle_Count / WD Caviar Green

Wie von Nicolai in den Kommentaren zu Wir haben ein Monster geschaffen! angemerkt, sind die SMART-Werte für Load_Cycle_Count bei den Western Digital WD15EARS-Platten bedenklich:

Um Strom zu sparen, wird der Schreib-/Lesekopf nach 8 Sekunden Inaktivität in die Parkposition gefahren (WD nennt das ItelliPark) – er liegt somit nicht mehr flach auf den Datenscheiben (Platter) auf, verringert dadurch den Luftwiderstand und hilft so Strom sparen.

Western Digital gibt in der Dokumentation zu den WD Caviar Green-Platten (PDF) 300.000 Load/unload cycles an. Bei 23.771 Cycles nach gerade einmal 300 Betriebsstunden würde das bedeuten, dass wir die spezifizierten 300.000 Cycles bereits nach 5,3 Monaten erreicht hätten.

Füttert man Google mit den passenden Parametern, so findet man nach etwas Recherche das Tool wdidle3 in Version 1.0.3. Gebootet vom USB-Stick via emulierter MS-DOS-Diskette (ein Hoch auf memdisk), verrät einem schließlich das Kommando wdidle3 /r die aktuelle Einstellung der erkannten Platten.

Mit wdidle3 /? bekommt man eine Auflistung der möglichen Parameter, wdidle3 /d “deaktiviert” das lästige Feature; durch ein proprietäres Kommando an die Firmware der Festplatte wird damit das IntelliPark-Intervall auf 3720 Sekunden (62 Minuten) gesetzt.

Hier die gekürzte SMART-Ausgabe für die Load_Cycle_Count-Werte um 18 Uhr:

23621
23771
748
1403
1371
1274
1555
1502
1538

Drei Stunden später (ohne smartdaemon) sieht die Ausgabe so aus:

23621
23771
749
1404
1372
1275
1556
1503
1539

Ich werde über die nächsten Tage per Cronjob die Werte täglich einmal auslesen und dann später berichten, wie sich die Werte bei aktiviertem und deaktiviertem smartdaemon verhalten.

Wir haben ein Monster geschaffen!

Inspiriert durch Isotopps Artikel Ich habe ein Monster geschaffen! gibt es hier auch mal wieder einen techniklastigen Artikel von mir.

Unser bisheriger Backup-Server im Datacenter war ein betagter Proliant DL380 G3 und sollte durch etwas aktuelleres ersetzt werden, vorzugsweise mit mehr Plattenplatz als nur 6x 300GB im RAID10.

Aus wirtschaftlichen Gründen (es ist “nur” ein Backupserver) haben wir uns gegen einen Server von HP entschieden, nicht zuletzt weil die 1TB SATA-Platten von HP mit 299€/Stück einfach jenseits von gut und böse liegen im Vergleich zu aktuellen Preisen für nicht-HP SATA-Platten im regulären Handel.

Bei der Wahl des Chassis hatten sich mein Azubi und ich relativ schnell für das Chieftec UNC-410F-B entschieden – 4U, 10 5,25″-Einschübe und damit genug Platz für Platten. Außen an das Gehäuse kommt eine Schiene RSR-260 zwecks Rackmontage und fertig ist das Chassis.

Den Saft für den Server liefert das redundant ausgelegte 500W-Netzteil MRG-6500P, das mit seinen 8 Molex- und 2 SATA-Steckern vorläufig genug Anschlüsse liefert.

Beim Mainboard haben wir uns an das von Kris verbaute Asus P5Q Premium gehalten, mussten aber leider während der Testphase feststellen, dass von den 10 SATA-Ports nur 8 sinnvoll nutzbar sind und haben deshalb auch noch eine Adaptec 1430SA nachgekauft.

Auf dem Mainboard findet anschließend eine Intel Core2Quad Q9550 Boxed (C1) CPU, 4x 2GB RAM und eine beliebige Grafikkarte Platz.

Bei der Suche nach passenden Backplanes wurden wir bereits auf der Zubehörseite des Chassis fündig: 3 Backplanes SST-2131SAS verstauen insgesamt 9 Western Digital Caviar WD15EARS.

2 Backplanes bilden mit ihren je 3 Platten ein Software-RAID5 auf dem dann LVM mit einem striped Logical Volume aufsetzt – quasi ein RAID50, durch LVM aber komfortabler zu managen.

Debian Lenny 64-bit ist per PXE-Boot, USB-Stick oder USB-CDROM innerhalb von 10 Minuten installiert, anschließend installieren wir BackupPC und übernehmen die Config-Files vom alten Server.

Beim Partitionieren der Platten sollte man die Sektorgröße von 4kB beachten – “normales” Partitionieren, so wie es der Linux-Sysadmin gewohnt ist, lässt die Schreibperformance auf diese Partitionen auf wenige MByte/s einbrechen.

Wie man es richtig macht findet man im Wiki von brain4free: WD “Advanced Format” HD mit LINUX.

Mittels pvs -o+pe_start stellt man sicher, dass die Nutzdaten des LVM-Layers auf einem Vielfachen der Chunksize des RAID5 beginnen:

PV         VG     Fmt  Attr PSize PFree 1st PE
/dev/md1   debian lvm2 a-   1.36T 1.36T 192.00K
/dev/md2   data   lvm2 a-   2.73T    0  192.00K
/dev/md3   data   lvm2 a-   2.73T    0  192.00K

Da meine Chunksize 64kB beträgt, passt der Beginn der Daten an Stelle 192kB also:

md2 : active raid5 sdd1[0] sdf1[2] sde1[1]
2930152704 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md3 : active raid5 sdg1[0] sdi1[2] sdh1[1]
2930152704 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

lvs -o+stripes,stripesize,devices

LV       VG     Attr   LSize #Str Stripe Devices
backuppc data   -wi-ao 5.46T    2 64.00K /dev/md2(0),/dev/md3(0)

Wer an dieser Stelle stutzig wird, hat offenbar schon mehrfach mit Software-RAID zu tun gehabt:

Bei einem RAID5 aus 3 Platten mit einer Chunksize von 64kB müsste die optimale Stripesize für das darüberliegende Logical Volume 128kB sein. Verschiedene Benchmarks haben aber zu meiner Verwunderung ergeben, dass die Write-Performance mit der 64kB Stripesize um 10-15 MByte/s höher lag als bei der rechnerisch optimalen Stripesize von 128kB.

Das auf dem LV liegende ext3 FS sollte ebenfalls passend angelegt werden: Mit dem mkfs.ext3 RAID stride calculator ergibt sich bei einem RAID0 über 2 “Platten” mit einer Stripesize von 64kB und einer FS-Blocksize von 4kB folgendes mkfs-Command:

mkfs.ext3 -b 4096 -E stride=16,stripe-width=32 /dev/data/backuppc

Damit erfolgen Schreiboperationen auf das Dateisystem nun in optimaler Weise.

Weitere Stellschrauben:

Das Optimieren der stripe-cache-size der 2 RAID5-Bricks von default 256kB auf 4096kB hat bei uns die lineare Writeperformance auf das LV von 180 MByte/s auf 300 MByte/s gesteigert; recht beachtlich, wie ich finde.

Update: ext3- und xfs-Benchmarks mit bonnie++ auf dem LV.

Update: Smart-Werte (sda+sdb = System, sdc = Spare, sdd-sdi = Daten)

Server-Admin gesucht

Hallo allerseits und noch ein frohes neues Jahr!

Die IntelliAd Media GmbH sucht kurzfristig einen Server-Admin für ein Projekt im Raum München. Da dies für mich aktuell nicht in Frage kommt, dumpe ich hier nach Rücksprache deren Anfrage:

Für das Setup einer redundanten hochverfügbaren Serveraufstellung für ein Tracking System
suchen wir aktuell kurzfristig einen Experten, ggf. wäre das ja etwas für Sie?

Einsatzort München und remote
Einsatzzeit kurzfristig 3-5 Tage Vorort
langfristig 5-6 Tage Wartung / Monat remote

Erfahrungen in mehreren der folgenden Bereiche sollte vorhanden sein:
Storage (Dell equallogic),
Linux (debian/ubuntu),
Hochverfügbarkeit,
MySQL Replikation,
Load Balancing.

Interessenten wenden sich bitte per Email direkt an Herrn Rürup (mruerup[at]intelliad[dot]de) von IntelliAd.