Skip to content

mite wird erwachsen

mite, eine webbasierte Zeiterfassung im Web Zwonull Style, wird erwachsen. Die beiden Personen hinter mite kümmern sich nun in ihrem eigenem Unternehmen darum. Viel Glück auch von mir :-).

Ich habe es eine Weile genutzt und war ganz begeistert davon. Im Moment habe ich zwar keinen Bedarf mehr daran, das macht es aber für andere nicht schlechter :-).

Warum defekte Platten unter Linux nicht mit dd gesichert werden sollten

Was tun wenn die Festplatte lustige Geräusche macht oder bereits Daten verloren hat, weil die Harddisk defekte Sektoren hat?

Das allseits beliebte dd zum Erstellen von Festplattenimages tut bei funktionierenden Festplatten seinen Dienst, bei Platten mit defekten Sektoren jedoch führt dd zu unbrauchbaren images. Aber warum und was passiert dabei genau?

dd bs=4096 conv=noerror,sync if=/dev/hda of=/mnt/server/imagedatei.img

dd liest blockweise (4096 Bytes) die Daten von der Festplatte /dev/hda, macht auch weiter wenn es auf Fehler trifft, füllt den Block mit Nullbytes auf 4096 bytes auf, falls er kürzer ist, und schreibt diese Dateien gleichzeitig in 4096 Byte Blöcken nach /mnt/server/imagedatei.img. Fatal ist, wenn Blöcke nicht lesbar sind. In dem Falle bricht dd zwar nicht ab, weil conv=noerror angegeben wurde, aber es liest keine Daten ein und schreibt auch keine Daten in das Image.

Die Fehlerhaften Blöcke fehlen im Zielimage also komplett, weshalb die danach folgenden Sektoren nach vorne verschoben sind und das Filesystem somit Schwierigkeiten haben dürfte, die Daten richtig wieder zu finden.

Defekte Platten mit dd sichern funktioniert nicht.

Stattdessen sollte man für Festplatten mit defekten Sektoren GNU ddrescue nehmen (nicht zu verwechseln mit ddrescue). Je nach verwendeter Distribution ist GNU ddrescue direkt mit apt-get oder yum zu installieren. Bei Debian z.B. mit apt-get install gddrescue, bei anderen Distributionen auch als dd_rescue bezeichnet.

Auch GNU ddrescue erstellt ein Image von der Festplatte, geht dabei jedoch einen anderen Weg:

  • Es liest zunächst alle problemlos lesbaren Daten, um so viel wie möglich zu retten bevor die Festplatte möglicherweise stirbt
  • Danach liest es mehrfach die defekten Sektoren und versucht auch dort die Daten zu retten, sofern möglich
  • Leere Bereiche der Festplatte werden übersprungen. Das sorgt dabei für eine deutlich schnellere Erstellung des Zielimages
  • Das Zielimage ist hinterher vollständig, keine Sektoren fehlen. Sofern ein Sektor unlesbar war, fehlen an dieser Stelle jedoch die Originaldaten

Datenrettung in letzter Sekunde eben, aber wenn, dann wenigstens richtig. Aufschlußreich ist übrigens auch ein Interview mit dem Entwickler.

Kurztipp: Linux Festplattenimage über SSH sichern

(Alles in einer Zeile:)

server# dd bs=65536 if=/dev/hda | ssh -o Compression=yes user@host "cat > image.img"

  1. liest aus der shell von "server"
  2. mit 64k Blöcken
  3. den Festplatteninhalt von /dev/hda aus
  4. meldet sich dann als user bei host an
  5. und schickt das image via ssh komprimiert über die Leitung
  6. und legt das Image im Homedir des Benutzers user als image.img ab.
Ja, ich steh auf ssh :-).

Trac als Hilfsmittel zur Entwicklung

Python

Ich habe eben für einen Kunden Trac aufsetzen dürfen, der ein eigenes SVN Repository für's Versionskontrollmanagement betreibt. Ich mag SVN (Subversion) zur Versionsverwaltung sowieso schon sehr, aber in Verbindung mit Trac ist es ein echtes Dream Team und Entwicklungsbeschleuniger. Teamkommunikation bei der Entwicklung einfach gemacht.

Wer Trac noch nicht kennt, sollte unbedingt mal einen Blick drauf werfen.

Knackende Festplatten

Nachdem ich kürzlich eine fast neue Festplatte ausgetauscht hatte, war das Problem noch nicht behoben. Die Austauschplatte machte in meinem Laptop die gleichen Geräusche. Und auch eine dritte Festplatte des gleichen Herstellers und Typs gab exakt die gleichen, beunruhigenden Laute von sich. 

Gestern tauschte ich nun die Platte gegen die eines anderen Herstellers aus und seither (zumindest bis jetzt) habe ich Ruhe und alles läuft beruhigend leise vor sich hin.

Gegen solche Inkompatibilitäten ist man eben nicht gefeit. Gut, hab' ich jetzt eben 320GB im Laptop, die nebenbei dank zwei Scheiben noch etwas schneller ist.

tweetbackcheck cronjob