tux

L i n u x - S c h u l e
Festplatten Klonen

  Homepage | Server | Linux-Clients | Win9x-Clients | WinNT-Clients | Win3.11-Clients | Dos-Clients | Utilities  

  1. Große Festplatte im c´t ODS Server
  2. Partitionen klonen mit gnuzip
  3. Dos/Windows Partitionen klonen mit tar

Große Festplatte im c´t ODS Server

Diese Anleitung stammt ursprünglich von Thomas Pinz (tom_p@gmx.de).

Die folgende Anleitung geht davon aus, daß eine Installation von einer IDE Platte (/dev/hda) auf eine SCSI Platte (/dev/sda) übertragen wird.

Vorgehensweise:

1.
Normale Installation auf die "kleine" IDE Platte.

2.
Eine DOS Startdiskette anlegen, auf der loadlin installiert wird. Loadlin gibt es hier zum Download. Dieser Schritt ist wichtig, weil es sonst sein kann, daß man gar nichts mehr starten kann. Unbedingt vorher ausprobieren, ob ein Start per Diskette möglich ist. Für die IDE Platte lautet die Befehlszeile: "loadlin zimage root=/dev/hda1 ro"

3.
Jetzt "fdisk /dev/sda" aufrufen (sda ist erste SCSI Platte) und darauf 4 Partitionen erstellen (bei einer 4,3 GB Platte z.B. mit 200MB, 64MB, 2000MB und 2036MB). Partition 1 noch mit "a" und "1" auf aktiv setzen. Bei Partition 2 muß noch der Partitiontyp von "Linux native" (Typ 82) auf "Linux swap" (Typ 83) geändert werden. Mit "w" abspeichern und neu booten.

4.
Jetzt muessen die Filesysteme eingerichtet werden. Dazu "mke2fs -c /dev/sda1", "mke2fs -c /dev/sda3" und "mke2fs -c /dev/sda4". (Das -c ist nur zum Prüfen der Platte auf bad blocks und evtl. nicht nötig; die 3 Befehle können auch mit einem && (ja, 2 mal &) auf der Kommandozeile verbunden werden, dann hat man wirklich zwischendurch viel Zeit ...)
Dann die Swap-Partition einrichten:
Dazu erstmal nochmal fdisk starten und mit "p" die Struktur anzeigen. Den Wert von dev/sda2 bei "Blocks" aufschreiben und mir "q" wieder beenden. Jetzt "mkswap /dev/sda2 [Zahl, die von Blocks aufgeschrieben wurde]" ausführen.

5.
Und jetzts gehts mit dem kopieren erst richtig los :-)
Erstmal 3 Mount-Verzeichnisse erstellen: "mkdir /sda1", "mkdir /sda3" und "mkdir /sda4".
Und die drei Zielpartitionen mounten:
"mount /dev/sda1 /sda1"
"mount /dev/sda3 /sda3"
"mount /dev/sda4 /sda4"
Zum kopieren nehmen wir den Midnight Commander. Also einfach "cd /" und "mc" eingeben. Jetzt erscheint ein Norton-Commander ähnlicher Bildschirmaufbau.
Fangen wir partitionsmässig von hinten an:
Im linken Fenster auf /home gehen (Cursor auf /home und [enter]) und dann mit [tab] zum anderen Fenster und dort auf /sda4. Mit [tab] zurück ins linke Fenster und dort mit [einfg] alles gelb markieren und mit [f5] und [enter] kopieren.
Nun auf /var und /sda3 gehen und das gleiche machen.
Jetzt kommt die Root-Partition dran. Dort alles Markieren, _ausser_ (!!!) /var, /home, /proc, /sda1, /sda3 und /sda4 und auf /sda1 kopieren.
Jetzt ist auch schon alles kopiert. Den mc mit [f10] beenden.

6.
Nun sind noch ein paar Aenderungen nötig:
- mkdir /sda1/proc
- mkdir /sda1/var
- mkdir /sda1/home
- cd /sda1/etc
Hier muss die Datei "fstab" geaendert werden. Also den Editior mit "joe fstab" aufrufen. Da stehen jetzt 7 Zeilen auf dem Bildschirm, die alle mit /dev/.... beginnen. Die ersten 4 intressieren uns. Dort muss das /dev/hda[1-4] gegen ein /dev/sda[1-4] ausgetauscht werden.
mit [strg] + [k] , [x] abspeichern.
Nun noch lilo.conf anpassen (joe lilo.conf): dort muss das "root = /dev/hda1" gegen ein "root = /dev/sda1"  und das "boot = /dev/hda" gegen " boot = /dev/sda"
ausgetauscht werden. Wieder abspeichern.

7.
Jetzt kommt der Probelauf: Per DOS Diskette booten und mit "loadlin zimage root=/dev/sda1 ro" die "geklonte" Installation auf der SCSI Platte booten.
Wenn das geklappt hat, muß auf der SCSI Platte noch lilo installiert werden (die lilo.conf wurde ja schon angepasst): also "lilo" eingeben und [enter]. Danach DOS Diskette rausnehmen, IDE Platte abklemmen und Rechner neu starten.

DAS WARS.

Eine ganze Partition klonen

Alle hier vorgestellten Verfahren setzen ein per nfs exportiertes Verzeichnis auf dem Server voraus. Im folgenden ist dies das Verzeichnis /var/clone.
In der /etc/exports heißt der entsprechende Eintrag:
/var/clone 192.168.0.0/255.255.0.0 (rw, no_root_squash)

Klonen mit gnuzip

ACHTUNG Dieses Verfahren funktioniert nur bei exakt gleichartigen Festplatten !

Mit einfachen Bordmitteln kann man unter Linux eine ganze Partition in ein Image schreiben und wieder zurücklesen. Beide Verfahren erfordern ein mit nfs exportiertes Verzeichnis auf dem Server (hier /var/clone).

Man bootet den zu kopierenden Rechner mit einem Diskettenlinux, mountet eine Freigabe auf dem Server per nfs, z.B.:
mount 192.168.0.1:/var/clone /mnt -t nfs
und schreibt den Inhalt von /dev/hda1 (1. Partition auf der ersten Platte) mit gnuzip in eine Image:

gzip  < /dev/hda1 > /mnt/hda1.img
Wählt man oben statt "gzip" "gzip -9" wird maximal komprimiert (kann sehr lange dauern).
Das Zurückspielen geht dann so:
gunzip < /mnt/hda1.img > /dev/hda1 

Dos/Windows Partitionen klonen mit tar

Man bootet den zu kopierenden Rechner mit einem Diskettenlinux, mountet eine Freigabe auf dem Server per nfs
mount 192.168.0.1:/var/clone /mnt -t nfs
mountet die zu sichernde Festplatte z.B. nach dos (Verzeichnis vorher anlegen)
mount /dev/hda1 /dos -t vfat
(vfat, wenn es sich um eine Win95 Partition mit langen Dateinamen handelt) und schreibt den Inhalt von /dev/hda1 (1. Partition auf der ersten Platte) mit tar und gnuzip in das zugemountete Server-Verzeichnis:

tar cvf - /dos | gzip -9 > /mnt/hdaimage.tar.gz 

Das Zurückspielen geschieht hier mit:
gunzip -cd /mnt/hdaimage.tar.gz | tar xvf -
Vorher muß die zu restaurierende Partition wieder nach /dos gemountet werden. Auch dieser Vorgang kann sehr lange dauern.

  Nach oben

© Thomas Litsch 1999, Email: thomas.litsch@linux-schule.de