Banner

Festplatten klonen – zwei Musterabläufe

Wie du vielleicht schon mitbekommen hast, kam es heute "Morgen" zu einer längeren Downtime. Der Grund war, dass die Systemplatte des Hauptservers auf eine neue Platte geklont wurde. Die Partition wurden anschließend noch vergrößert. Bereits letzte Woche wurde die gleiche Prozedur mit der Backupplatte durchgeführt. Im folgenden Post werde ich erläutern, wie ich vorgegangen bin. Dieser Post kann las Vorlage für ähnliche Vorhaben genutzt werden.

Im Wesentlichen kamen dd und (G)Parted zum Einsatz. Mit dd kann man unter anderem Festplatten 1:1 klonen. Da die alten Platten jeweils auf größere überspielt wurden, habe ich nach dem Klonen die Partitionen noch mit parted bzw. GParted vergrößert und verschoben.

 

Gründe

Nicht genügend Platz

Ein Grund, wenn Festplatten geklont werden, kann sein, dass auf der alten einfach nicht mehr genug Speicherplatz vorhanden ist. Dies war bei der Backupplatte der Fall. Dazu kam es aufgrund der vielen System, die auf diese Platte Backups schreiben.
Zudem wollte ich damit beginnen fertige Images der meisten Systeme zu erstellen, sodass ich im Ernstfall bereits eine Basis hätte, auf die ich nur noch aktuelle Backups kopieren müsste.

Der einzige Ausweg bestand für mich darin, die Festplatte durch eine größere zu ersetzen.

 

Hoher "Load Cycle Count"

Die Systemplatte hatte einen Load Cycle Count von über 300.000:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
9 Power_On_Hours 0x0032 082 082 000 Old_age Always - 13753
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 801
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 132
193 Load_Cycle_Count 0x0032 069 069 000 Old_age Always - 393058

...das bedeutet, dass dieses Laufwerk schon mehr Parkvorgange der Leseköpfe hinter sich hatte, als vom Hersteller vorgesehen. Hinweis: WD gibt 300.000 Parkvorgänge als Obergrenze an, die S.M.A.R.T Werte sehen aber 600.000 vor.

Ich hatte dies leider zu spät bemerkt und folglich zu spät WD IntelliPark deaktiviert. Im Zuge der Spiegelung der Backupplatte habe ich dieses Sicherheitsrisiko gleich auch aus dem Weg geschafft.

 

Vorbereitungen

Bitte folgendes beachten:

  • Bei der Arbeit an Festplatten mit dd und (G)Parted kann immer etwas schief laufen, deshalb zur Vorsorge immer Backups durchführen!
  • Jeden Schritt extra kontrollieren!
  • Die neue Platte, auf die die alten geklont wird, muss entweder die gleicher oder eine größere Speicherkapazität besitzen!

Um möglichst hohe Transferraten zu erreichen habe ich mir einen Desktop-Rechner mit S-ATA II (sollte eigentlich selbstverständlich sein), idealen Standplatz (Klonprozess dauert laaaange) und relativ guter Leistung ausgesucht.
Da das dort installiert Ubuntu leicht "verkonfiguriert" (...oder auch "vermurkst") war, habe ich von einem Live-Stick gebooted und sämtliche anderen Festplatten abgehängt (um eine Verwechslung zu vermeiden).

 

Durchführung

Nachdem ich die Festplatten in den Rechner eingebaut hatte und den Livestick gebooted hatte, bin ich wie folgt vorgegangen:

1. Richtige Festplatten aussuchen

Dieser Schritt dürfte eigentlich nicht schwierig sein. Du musst herausfinden, welche Bezeichnung (/dev/sdX) die alte und die neue Platte besitzen. Mit

user@system:~$ cat /proc/partitions

habe ich mir die Partitionen ausgeben lassen. Um zusätzliche Sicherheit zu gewinnen, kann man sich noch die erkannten Festplatten und UUIDs der Partitionen anzeigen lassen:

user@system:~$ ls /dev/sd*      #Festplatten anzeigen
user@system:~$ sudo blkid #UUIDs ausgeben

Wer komplett auf Nummer sicher gehen will, kann die Festplatten noch mit GParted durchsuchen lassen. Dieser Partitionierungs-Tool findet sich in Gnome 2 unter SystemSystemverwaltungGParted.

 

2. Klonen mit dd

Nun habe ich mich in einem Terminal als root eingeloggt:

root@system:~# sudo -s

und den dd Befehl gestartet. dd wird wie folgt verwendet:

root@system:~# dd if=[alte Platte] of=[neue Platte]               #Syntax
root@system:~# dd if=/dev/sda of=/dev/sdb #Beispiel

Anschließend habe ich mich in einem zweiten Terminal ebenfalls als root eingeloggt:

user@system:~$ sudo -s

und mit top die Prozess-ID (PID) des dd-Prozesses bestimmt:

root@system:~# top

Nun habe ich die PID in der Variable $ddpid gespeichert:

root@system:~# ddpid=[Prozess-ID]         #Syntax
root@system:~# ddpid=1256 #Beispiel

...und folgenden Befehl ausgeführt

root@system:~# while [ "`ps -a | grep $ddpid`" ]; do sudo kill -SIGUSR1 $ddpid; sleep 10; done 

Als Folge erhält man alle 10 Sekunden den Fortschritt des dd-Prozesses in dem zuerst geöffneten Terminal (das mit dd) angezeigt. Hierfür gibt es natürlich auch noch andere (einfachere) Möglichkeiten, diese erschien mir aber am sichersten.

 

3. Vergrößern mit (G)parted

Dieser Schriit ist nur dann möglich, wenn die neue Platte größer als die alte ist! Nachdem Klonen der Festplatte habe ich dem System einen Reboot gegönnt (bei USB-Boot: Stick kurz herausziehen), bevor ich bei den einzelnen Platten unterschiedlich fortgefahren bin:

 

3.1 Datenplatte (eine Partition)

Hier habe ich die neue Platte zuerst mit parted geöffnet, um die GPT-Tabelle zu verschieben:

user@system:~$ sudo parted /dev/sdX print                          #/dev/sdX an neue Platte anpassen!!
Fehler: Die Sicherung der GPT-Tabelle ist nicht am Ende der Festplatte, wo sie
normalerweise sein sollte. Das kann bedeuten, dass ein anderes Betriebssystem
glaubt, die Festplatte sei kleiner. Soll das durch Verschieben der Sicherung zum
Ende (und löschen der alten Sicherung) korrigiert werden?
Fix/Ignorieren/Ignore/Abbrechen/Cancel? F
Warnung: Nicht der gesamte verfügbare Platz von /dev/sdb scheint verwendet. Sie
können die GPT reparieren, damit der gesamte Platz verwendet wird (zusätzlich
1953504000 Blöcke) oder Sie können mit den aktuellen Einstellungen fortfahren.
Fix/Ignorieren/Ignore? F
(...)

Die Fragen müssen zweimal mit F bestätigt werden. Nun konnte ich die Platte mit GParted (SystemSystemverwaltungGParted) öffnen und die Partition vergrößern. Fertig!

 

3.2 Systemplatte (zwei bzw. drei Partitionen)

Auch hier habe ich zuerst die Platte mit parted geöffnet:

user@system:~$ sudo parted /dev/sdX print                          #/dev/sdX an neue Platte anpassen!!                                           
(...)

Da diese Platte eine MBR Partitionstabelle hatte (die andere hatte eine GPT), musste hier die GPT-Tabelle nicht verschoben werden, dies kann bei dir natürlich anders sein! Anschließend habe ich die Platte wieder mit GParted (SystemSystemverwaltungGParted) geöffnet und die Partitionen analysiert.

  • /dev/sdb1 → logische Partition (Systempartition)
  • /dev/sdb2 → erweiterte Partition
  • /dev/sdb5 → logische Partition (Swap)

Nun musst du dafür sorgen, dass du die Systemparttion vergrößern kannst, dafür muss (in meinem Fall) die erweiterte Partition an das Ende der Platte verschoben werden. Hierfür gibt es natürlich mehrere Möglichkeiten. Ich erläutere dir mein (etwas umständliches) Vorgehen mit GParted:

  1. In GParted habe ich /dev/sdb5 gelöscht
  2. ....dann habe ich /dev/sdb2 ans Ende der Platte verschoben ("Anschließend freier Speicherplatz" auf 0 setzen)
  3. ....und darin wieder /dev/sdb5 angelegt.
  4. Zu guter Letzt /dev/sdb1 vergrößert und GParted die Anweisung zum Starten gegeben.
  5. Nun habe ich, weil ich in der fstab nicht unbedingt die UUID der Swap-Partition ändern wollte die alte Swap-Partition über die neue geschrieben:
    user@system:~$ sudo dd if=/dev/sda5 of=/dev/sdb5           #die alte Platte wurde hier als /dev/sda erkannt

Danach war die Platte geklont und vergrößert. Ich möchte nochmals darauf hinweisen, dass mein Vorgehen die Platte zu vergrößern, mit Sicherheit nicht das Beste war! Wenn du eine bessere Methode kennst, würde ich mir sehr über einen Kommentar freuen.

 

Fazit

Am Besten sorgt man dafür, dass man nie Festplatten klonen muss. Dies kann vor allem durch richtige Auswahl und Überwachung der Hardware vermieden werden. Hier zeigen sich auch wieder von Atom-Boards mit nur 2 S-ATA Steckplätzen. Also hier zu Boards mit mindestens 3 Slots greifen, so kann später der Speicher einfacher erweitert werden.

Wenn dann mal eine Festplatte geklont werden ist das Dank den Tools dd und GParted wirklich einfach, aber bei großen Speicherkapazitäten sehr Zeitaufwändig.

Dieser Musterablauf soll nur als Orientierung dienen und ist mit Sicherheit verbesserungswürdig. Wenn du der Meinung bist, hier stimme etwas nicht oder das Ganze ginge viel einfacher, dann hinterlasse doch bitte einen Kommentar.



RSSfeed

Hat dir dieser Artikel weiter geholfen? Abonniere neue Beiträge dieses Blogs per RSS-Feed.

Bist du an der Entwicklung dieses Projektes interessiert? Dann folge uns doch auf Twitter!

Der Autor dieses Beitrags würde sich sehr freuen, wenn du ihm einen Kommentar hinterlassen würdest.

Kommentar schreiben


Sicherheitscode
Aktualisieren

Anmelden

Suche

Neuste Kommentare

RSS
Copyright © 2009-2016 mein.homelinux.com

Creative Commons License