Re: Festplatte kopieren

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 20 Apr 2004 12:28:51 +0200 (CEST)

Stefan Jahn <stefan.jahn(at)nemesis-sektor.de> wrote:
> wie ist der schnellste Weg eine Festplatte (IDE) zu kopieren?

Ziemlich klar Antwort: cpdup (aus den Ports).

Zunächst die neue Platte slicen und disklabeln. Die neuen
Partitionen sollten natürlich mindestens ebenso groß sein
wie die alten (oder größer) -- Da Du von 60 auf 160 Gbyte
gehst, sollte das wohl der Fall sein. Dann die neuen Par-
titionen newfs'en.

Dann mountest Du Dir die neuen Partitionen irgendwo hin
(z.B. nach /mnt) und kopierst dann eine nach der anderen:
# cpdup $MOUNT_ALT $MOUNT_NEU

Es geht auch mit Bordmitteln, indem Du find+cpio nimmst.
Das ist nur geringfügig langsamer als cpdup:
# cd $MOUNT_ALT; find . | cpio -dump $MOUNT_NEU

Wesentlicher Unterschied ist, daß find+cpio immer alles
kopiert, wohingegen cpdup nur die Sachen rüberschaufelt,
die im neuen Verzeichnisbaum noch fehlen (daher wird es
häufig zur Synchronisation von Verzeichnissen verwendet).
Wenn Du das Kopieren aus irgendeinem Grund abbrichst und
nicht wieder ganz von vorn beginnen möchtest, solltest
Du also eher cpdup nehmen.

Die sonst üblichen Methoden (dump+restore, tar+tar o.ä.)
sind allesamt langsamer als cpdup oder find+cpio. tar
hat darüberhinaus noch das Problem, daß es nicht unbedingt
alle Device-nodes richtig kopiert, und ob es mit FreeBSD-
spezifischen Dingen (File-flags) klarkommt, halte ich auch
für zweifelhaft -- damit fällt es eh aus.

Am allerlangsamsten ist i.allg. natürlich dd, und außerdem
ist da die Wahrscheinlichkeit am größten, daß etwas schief-
geht. Unflexibel ist es auch, weil die Zielpartition exakt
die gleiche Größe hat. _Und_ es hat den Nachteil, daß Du
Dir auch die existierende Fragmentierung eins-zu-eins ko-
pierst. ;-) Eine Kopie auf Datei-Ebene dagegen dürfte
sich i.allg. positiv auf die Performance der neuen Parti-
tion auswirken.

> Und wie kann ich sicher gehen das diese 2. Platte dann auch
> bootfähig ist.

Indem Du den Bootstrap draufschreibst. In der manpage
disklabel(8) ist das Standard-Prozedere aufgeführt; lies
dort einfach mal den Abschnitt »Initializing/Formatting a
bootable disk from scratch«. Dort findest Du auch direkt
ein Beispiel (für Disk »da0«):

     fdisk -BI da0
     disklabel -w -B da0s1 auto
     disklabel -e da0s1

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"One of the main causes of the fall of the Roman Empire was that,
lacking zero, they had no way to indicate successful termination
of their C programs."
        -- Robert Firth
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 20 Apr 2004 - 12:29:25 CEST

search this site