[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Rootserver Umzug. Was beachten?



On 03.04.06 21:55:26, Markus Schulz wrote:
> Am Montag, 3. April 2006 21:16 schrieb Andreas Pakulat:
> > On 03.04.06 20:33:17, Markus Schulz wrote:
> > > Variante 1:
> > > Altes System:
> > > 	dpkg --get-selections -> Speichern
> > > 	debconf-get-selections -> Speichern
> > > Neues System:
> > > 	debconf-set-selections <saved_debconf_file>
> > > 	dpkg --set-selections < <saved_pckg_list>
> > > 	dselect install
> > > 	cp -a old_system:/etc new_system (netzwerk config auslassen)
> > > 	cp -a old_system:/var new_system
> >
> > Ich hoffe die 2 cp's sind nur Synonyme. Du solltest keines von beiden
> 
> Ja, war als Synonym für eine remote Copy-Session zu verstehen, z.B. mit 
> rsync oder scp ...
> Problematisch bleibt dabei aber die Rechte/Owner Erhaltung. Daran hatte 
> ich erst garnicht gedacht. Wird wohl via tar (z.B. wie Sven Bröckling 
> schilderte) passieren müssen.

cp koennte das auch, allerdings nicht remote. scp scheint nur die Rechte
zu behalten, aber nicht den Besitzer.

> Die erste Variante hätte eventuell auch das Problem, das einige Pakete 
> jetzt in anderer Reihenfolge eingespielt werden und damit andere 
> SysUserIDs bekommen. Damit wäre ein kopieren von /var eventuell 
> gefährlich, obwohl Tar per default glaube ich den Usernamen mit 
> einpackt, anstatt der ID.

Das sollte eigentlich nicht passieren. Die verwendeten ID's sind
innerhalb von stable immer diesselben (z.B. 33 == www-data, 102 ==
Debian-exim, news == 9). Ein Kopieren von tar ohne vorher genau zu
pruefen welche der Verzeichnisse du kopieren _kannst_ ist auf jeden Fall
ein Risiko.

> > in dieser Form durchfuehren, in /etc koenntest du evtl. noch mehr
> > ueberschreiben als nur die Netzwerkkonfig.  /var enthaelt die
> > Paketdatenbank und noch einiges mehr, da solltest du definitiv nur
> > _selektiv_ deine Datenbank, Mailspool usw. kopieren.
> 
> Hmm, versteh ich jetzt nicht, wieso empfiehlst du mir dann in deiner 
> dritten Version exakt dies?

Es gibt einen wichtigen Unterschied: Meine Variante kopiert _alles_
rueber, deine Variante installiert erstmal die Pakete. Wenn du dann /etc
einfach direkt kopierst sind alle Dateien in /etc geaendert und du
kriegst bei jedem Upgrade die Meldungen ob du deine Konfig-Version oder
die aus dem Paket installieren willst, bei jeder Konfig-Datei. 

Weiterhin finde ich es nicht gut (und hatte auch selbst schon negative
Erfahrungen) /etc blind zu ueberschreiben.

> An Configs sollte eigentlich alles überschrieben werden, der Rechner
> nimmt schliesslich exakt den Platz des alten ein. Später sogar mit
> gleicher IP (nach reboot test). 

Siehe oben. Man sollte bei einem Server eine Liste der geaenderten
Configs haben und nur diese geaenderten uebernehmen, oder gleich eine
1:1 Kopie des Sytems anlegen.

> > > Variante 2:
> > > 	rsync Abgleich aller Verzeichnisse (ausser /boot)
> >
> > rsync macht fuer einmalige Kopieraktionen IMHO nicht soo viel Sinn.
> 
> Hatte ich nur angedacht, da es sicher kopieren kann

Was meinst du damit? Verschluesselte Uebertragung? Mag mich ja irren,
aber plain-rsync verschluesselt nichts. Erst in Verbindung mit einer
ssh-Verbindung wird das verschluesselt und dann kannst du auch gleich
ssh+tar nehmen.

> und Files iirc auch prüft (Prüfsumme).

Das geht auch "zu Fuss" und vor allem: Das dauert ewig und 3 Tage,
schonmal ne MD5 Summe von ner Datei erstellt? Jetzt ueberleg dir mal
wieviel du Kopieren willst... Das wuerde ich nicht bei der Uebertragung
machen wollen.

> > Ich moechte aber eine 3 Variante darbieten:
> >
> > Sichern der notwendigsten Konfigurationen des neuen Systems
> > (Netzkonfig und aehnliches) oder gleich auf dem alten die
> > Konfigurationen anpassen Alles loeschen
> > cp -a altesSystem:/ neuesSystem:/
> >
> > Fertig. Hab ich hier (allerdings nur HDD-Wechsel) schon haeufiger
> > gemacht, funktioniert problemlos.
> 
> Verstehe nicht ganz den Unterschied zu meiner Copy-Session? Zumal ich ja 
> auch hier ein Remote-fähiges Copy nehmen muss. 

Copy-Session? Du hast auf dem Zielsystem erstmal Pakete installiert,
danach solltest du die Paketdatenbank tunlichst nicht ueberschreiben.
Meine Variante kopiert einfach das ganze System. Zusammen mit tar auch
remote:

( cd / && tar -c ) | ssh -c "cd / && tar -x"

IIRC.

> In Summe tendiere ich aber mittlerweile eher zur tar-Kopie Orgie. 
> Scheint wohl einfach die bequemere zu sein.(insbesonder Rechte-Safe)

Ja, IMHO die beste Loesung und zusammen mit ssh-Komprimierung duerfte
sich auch die Zeitspanne im angemessenen Rahmen bewegen.

Andreas

-- 
You have no real enemies.



Reply to: