IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Unix - Allgemeines - Wie übertrage ich einen Server 1:1?



Wie übertrage ich einen Server 1:1?

Es wird erklaert wie man ein system 1:1 clonen (dd, tar ..) kann (wichtig auch fuer backups).


Autor: Franz Schaefer (mond)
Datum: 23-01-2002, 20:14:57
Referenzen: man dd
info dd
man tar
info tar
Schwierigkeit: Fortgeschrittene
Ansichten: 2920x
Rating: 5 (1x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Übersicht

oft steht man vor der aufgabe ein fertig aufgesetztes system auf eine
andere harddisk uebersiedeln zu muessen. oder man will das system einige
male "clonen" weil man es oefter benoetigt. der typische ansazt von
windows usern ist es dass sie anfang mit ihren setup CD's das system
frisch wieder neu aufzusetzen... und muehsam wieder einzelen anwendungen
schritt fuer schritt zu installieren etc..

wir unix anwender haben es da leichter. tools zum clonen und backupen des
systems sind fester bestandteil unseres betriebsystems... und muessen
nicht extra gekauft werden.


eine relativ einfache methode ein system 1:1 zu clonen ist es die harddisk
block fuer block 1:1 zu kopieren:

das geht nur wirklich gut wenn die beiden harddisks die selben
diskgeometrie (anzahl von cylinder, heads, sectoren) haben.

!!!!ACHTUNG FOLGENDEN BEFEHL NICHT LEICHTFERTIG EINTIPPEN!!!!

dd if=/dev/sda of=/dev/sde

wuerde eine identische kopie der gesamten harddisk inklusive aller
bootsektoren, paritiontables, aller filesysteme und aller daten von der
SCSI disk sda auf die disk sde machen.

geht natuerlich auch mit IDE disks..

in jedem falle 3 mal ueberlegen ob man auch in die richtige richtung
kopiert und auf das richtige device. ansonsten kann man sehr viel schaden
anrichten... der inhalt einer gesamten harddisk ist mit obigen befehl im
nu zerstoert...

zu bedenken beim clonen mittels dd ist:

* es dauert bei grossen harddisks lange (man kann die geschwindigkeit
etwas optimieren indem man mit dem blocksize (bs) parameter vom dd etwas
experimentiert... aber meist nicht viel).

* die platten sollten identische geometrie haben.

* es sollte kein filesystem auf der quellharddisk (if= ) gemountet sein..
wenn dann nur im readonly modus. ansonsten koennte die kopie fehlerhaft
- zumindest wuerde es in diesem falle beim starten des geclonten systems
einen filesystem check geben.


besser ist daher meist das clonen auf filesystem ebene mittels tar.
angenommen wir wollen unser root filesystem auf eine groessere partition
auf einer neu eingebauten festplatte uebersiedeln (z.b. nach /dev/hdc7 ).
angenommen /dev/hdc7 ist schon auf ext2 formatiert:

mount -t ext2 /dev/hdc7 /mnt

cd /

tar cflp - . | ( cd /mnt ; tar xfvlp - )

zur wiederhohlung: obiges konstrukt ist eine pipe die ausgabe des befehls
vor dem | wir zur eingabe des befehls nach dem |. vor dem | ist ein tar
das als file zu ausgabe ein "-" minus hat. das sagt dem tar dass es auf
STDOUT ausgeben soll. nach dem | ist ein ein behel der aus zwei befehlen
besteht. die ( ) klammer sagt dass die beiden zusammengehoeren. zuerst wir
ein cd auf /mnt gemacht der strichpunkt trennt den befehl vom naechsten
ab. dort haben wir ein tar das alles von STDIN (-) entpackt.

wichtig ist der "l" (local) switch im tar der verhindert dass filesysteme
die nicht auf der selben partition wie die "/" root partition liegen
mitkopiert werden. (ansonten wuerde hier ein teil von /mnt nach /mnt/mnt
und von dort nach /mnt/mnt/mnt kopiert werden etc... )

ist unser betriebsytem ueber mehrere partitionen verteilt so muessen wir
diese beim tar extra angeben wenn wir sie auch auf die neue partition
kopieren wollen.. angenommen /usr waehre im alten system eine eigene
partition gewesen und wir wollen sie jetzt in die selbe partition hdc7
haben:

tar cflp - /usr/ | ( cd /mnt ; tar xfvlp - )

wuerde alles unterhalb von /usr auf /mnt/usr kopieren.

hat man sein system mittels tar kopiert so sollte man danach aufjedenfall
das /etc/fstab file anschaun. ob es so ist wie man es spaeter haben will
(eventuell will man ja z.b. die neue platte dann statt der alten einbauen.

auf der neun platte hat man dann natuerlich auch keinen gueltigen
bootsektor. d.h. man muss zuerst einmal mit einer rescue disk booten (dort
am promt angeben root=/dev/hdaXX ) dann ruft man lilo auf und schreibt
sich einen gueltigen bootsektor fuer das neue system.

zu bedenken wenn man ein laufendes system mit tar kopiert: die files die
waehrend des kopiervorganges veraendert werden sind je nachdem wie weit
das tar gerade war nicht oder schon in der kopie enthalten. d.h. man
sollte sicherstellen dass keine wichtigen neuen daten ankommen waehrend
man eine kopie macht (z.b.: sendmail killen damit keine neuen mails nach
/var/spool/mail/ geschrieben werden, mysql stoppen damit keine wichtigen
daten in eine datenbank geschrieben werden, etc.. je nachdem wofuer das
system eben benutzt wird...)

kopiert man sein system so will man natuerlich sachen wie hostname, ssh
hostkeys und ip addresse alle gleich haben.

will man die kopie und das orignal verwenden dann sollte man natuerlich
nach dem clonen auf der kopie einen eigenen hostnamen, eigene IP addresse
und einen eigenen ssh key setzen:

ssh-keygen -f /etc/ssh/ssh_host_key

(natuerlich keine passphrase angeben :-))

EXERCISES:

* mach eine 1:1 kopie einer floppy disk (/dev/fd0 ). (da man meist nur ein
floppy laufwerk hat muss man das image natuerlich in einem file
zwischenspeichern.)

* wofuer dient der "l" switch im tar?

* wofuer der "p" switch?

* was sagt das - im tar?

* wenn du eine neue grosse platte hast: versuche dein system dorthin
mittels tar zu uebersiedeln.

* welche probleme beim clonen (dd und tar) kann es geben wenn die quelle:

a) read-write gemountet ist.

b) im produktionsbetrieb waehrend des kopierns noch in verwendung ist.

_______________________________________________
CD ist ein service von SILVER SERVER
der inhalt unterliegt der GFDL
_______________________________________________



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04502
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16551
Queueeinträge:06233
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1131
Comments: 0