[teilweise gelöst] Debian Klonen

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

[teilweise gelöst] Debian Klonen

Beitrag von joe2017 » 19.07.2018 15:17:31

Hallo Zusammen,

hat jemand Erfahrung mit dem Klonen von debian? Ich muss ca. 150 Debian Installationen bereitstellen und wollte hierzu einfach die vorhandene MASTER Installation Klonen.

Ich hab das jetzt mit CLONEZILLA und DD getestet. In beiden fällen wird durch das Klonen der /dev/sdb zu /dev/sdc die gesamte Festplatte geklont. leider auch der nicht benutzte Speicherplatz.
Gibt es eine Möglichkeit nur den verwendeten Speicher zu klonen? Bei DD habe ich jetzt nichts gefunden. Ich könnte zwar die Partition klonen. Jedoch muss ich hierzu auch sämtliche Partitionen auf der leeren Festplatte anlegen oder?

Gibt es hierzu eine einfache Lösung?
Zuletzt geändert von joe2017 am 23.07.2018 09:03:56, insgesamt 1-mal geändert.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Debian Klonen

Beitrag von ThorstenS » 19.07.2018 16:48:49

Wir haben einen Wikieintrag dazu: Wiki-Artikel zum Thema Vollständiges_Sichern_einer_ganzen_Platte
Ich empfehle dir vor einem blockbasierten Clonen zerofree über deinen master laufen zu lassen.
Wenn du pv benutzt, nimm ein tool zum Komprimieren, welches mehrere CPUs auslasten kann, wie z.B. Debianpigz

Ich arbeite gerne mit clonezilla, eben weil es nicht stumpf blockbasiert sichert, sondern bei unterstützten Dateisystemen nur belegte Blöcke sichert.

Wenn du diese 150 Installationen immer wieder mal resetten/erweitern sollst, würde ich mir allerdings dringend einen anderen Weg ausdenken.
Meine Empfehlung lautet [url=https://fai-project.org/]fai[url] und ggflls weitere Anpassungen mit ansible einspielen.

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Debian Klonen

Beitrag von joe2017 » 19.07.2018 16:52:03

Ich habe folgendes gefunden und einmalig getestet.

Ich habe eine 240GB große SSD. Nach meiner Installation bekomme ich mit sudo du -sh / angezeigt das ich 4,6GB in Verwendung habe.

Wenn ich folgendes ausführe dauert das ganze ca. 25 Minuten. Hier wird die gesamte SSD geklont (240GB).

Code: Alles auswählen

sudo dd if=/dev/sdb of=/dev/sdc bs=64K status=progress
Mit folgendem Befehl hat das ganze vielleicht 3 Minuten gedauert. Hier wird nur 6GB geklont.

Code: Alles auswählen

sudo dd if=/dev/sdb of=/dev/sdc bs=1M count=6144 status=progress
In meinem ersten Test sah alles bestens aus. Hat jemand von euch Erfahrungen hiermit?

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Debian Klonen

Beitrag von joe2017 » 19.07.2018 17:02:54

ThorstenS hat geschrieben: ↑ zum Beitrag ↑
19.07.2018 16:48:49
Ich arbeite gerne mit clonezilla, eben weil es nicht stumpf blockbasiert sichert, sondern bei unterstützten Dateisystemen nur belegte Blöcke sichert.
clonezilla habe ich auch bereits getestet (device to device). Leider hat dies auch ca. 25 Minuten gedauert. Somit wurden hier wohl auch die leeren Blöcke gesichert. Muss man explizit angeben, dass leere Blöcke nicht gesichert werden?

Buerste
Beiträge: 105
Registriert: 11.06.2015 13:30:51

Re: Debian Klonen

Beitrag von Buerste » 19.07.2018 17:54:09

Ob das eine gute idee ist weiss ich nicht aber ich werfe es mal in den Raum...
Die zu klonende FP/Partition einfach mit https://sourceforge.net/projects/qt4-fsarchiver/ sichern (sichert nur den belegten Speicherplatz) und lässt sich auf jede x-beliebige FP zurückspielen. Unterschiedliche große FP's oder Partitionen werden beim zurückspielen automatisch angepasst. Klappt aber nicht mit UEFI (FSArchiver erkennt die spezielle UEFI Partition nicht).

DeletedUserReAsG

Re: Debian Klonen

Beitrag von DeletedUserReAsG » 19.07.2018 18:01:55

joe2017 hat geschrieben: ↑ zum Beitrag ↑
19.07.2018 16:52:03
Ich habe folgendes gefunden und einmalig getestet.
[…]
Es gibt keinerlei Garantie, dass die Daten sich am Anfang der Partition befinden. Hingegen gibt’s ’ne Garantie, dass das nach einiger Zeit ganz sicher nicht mehr so sein wird – selbst, wenn’s mal so gewesen sein sollte. Dein Image ist so oder so kaputt, wenn du nur den ersten Teil eines FS kopierst.
Wenn du den Weg über ein Image gehen willst, dann verkleinere die betreffende Partition und das darauf befindliche FS auf die Größe der Daten, und blase sie auf dem Zielsystem halt wieder wunschgemäß auf. Dann ist die Wahrscheinlichkeit für Datenverlust und kaputte Dateisysteme schonmal erheblich geringer als die 100%, die sie bei deiner Methode wäre.

Sinnvollere Vorschläge als das Hantieren mit dd, obwohl dessen Kernfunktionalität explizit nicht gewünscht wird, wurden hier ja schon gemacht.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Debian Klonen

Beitrag von ThorstenS » 20.07.2018 00:56:21

joe2017 hat geschrieben: ↑ zum Beitrag ↑
19.07.2018 17:02:54
clonezilla habe ich auch bereits getestet (device to device). Leider hat dies auch ca. 25 Minuten gedauert. Somit wurden hier wohl auch die leeren Blöcke gesichert. Muss man explizit angeben, dass leere Blöcke nicht gesichert werden?
· Hast du zerofree laufen lassen? Das ist essentiell wichtig.
· Bei device2device brauchst du imho keine Komprimierung - hast du die abgeschaltet?
· clonezilla benutzt nur als fallback, sprich wenn es das Dateisystem NICHT erkennt, dd. Ansonsten wird immer ein tool benutzt, welches nur die eigentlichen Daten sichert¹.

clonezilla ist meiner Meinung nach die einfachste und schnellste Möglichkeit ein System stumpf zu klonen. Wenn ich kein Netzwerk habe, mache ich das über eine ext. USB3 Platte mit clonezilla auf der 1. Partition und den Imagen auf der 2. Das Zurückspielen dauert bei 60GB Daten weniger als 10 Minuten. Das Erstellen des Images kann natürlich eine Weile in Anspruch nehmen, wenn du eine zu hohe Komprimierung eingestellt hast. Aber dank Debianpigz werden alle verfügbaren Kerne benutzt.

[1]lies apt show partclone. Das ist in den Recommends von clonezilla aufgeführt…

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Debian Klonen

Beitrag von wanne » 20.07.2018 04:34:02

Gibt es hierzu eine einfache Lösung?
Ganz so einfach ist sie nicht. Aber:
Zu kannst je nach Dateisystem den Inhalt einzelnen Partitionen kopieren (von sdx nach sdy)
ext: e2image -ra /dev/sdxX /dev/sdyX
btrfs: btrfs send /home | btrfs recive /media/nwohome # Wohlgemerkt: Das erwartet eine schon formatierte btrfs-Partition. (Erspart das verkleinern.)
ntfsclone: ntfsclone -O /dev/sdyX nach /dev/sdxX # Man achte auf die verdrehten argumente
Ändert nichts daran dass das Dateisystem gleich groß bleibt. Die meisten Dateisystem (außer xfs) kannst du aber ohne probleme vorher verkleinern.(Du musst nur das Dateisystem nicht die Partitionen verkleinern.) (je auf 2 GiB)
ext: resize2fs /dev/sdxX 2G
btrfs: btrfs filesystem resize 2G /dev/sdxX
ntfs: ntfsresize --size 2G /dev/sdxX

Das nächste Problem ist, dass du falls du per BIOS und nicht UEFI bootest noch den bootloader kopieren musst.
Das geht mit

Code: Alles auswählen

head -c 440 /dev/sdx > /dev/sdy
Du musst also der Reihe nach
1. Neue (kleinere) Partitionen auf neuer Platte anlegen.
2. Die Dateisysteme auf alter Platte so weit verkleinern, dass die auf die Partitionen der neue platte passen.
3. Dateisysteme Kopieren.
4. Bootloader kopieren.
5. Die Dateisysteme im Original.Plattte wieder vergrößern.

Ich gehe immer so vor, dass ich deutlich stärker verkleinere als nötig und danach wider sowohl auf der neuen wie auch auf der alten Platte maximiere. Dann hat man keine Probleme damit, dass man durch irgend welche rundungen zu klein wird. Btrfs brauch die Verkleinerung im übrigen gar nicht. Das passt sich automatisch an.
Maximieren:
ext: resize2fs /dev/sdxX
btrfs: btrfs filesystem resize max /dev/sdxX
ntfs: ntfsresize /dev/sdxX
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Debian Klonen

Beitrag von joe2017 » 20.07.2018 08:59:49

ThorstenS hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 00:56:21
· Hast du zerofree laufen lassen? Das ist essentiell wichtig.
· Bei device2device brauchst du imho keine Komprimierung - hast du die abgeschaltet?
· clonezilla benutzt nur als fallback, sprich wenn es das Dateisystem NICHT erkennt, dd. Ansonsten wird immer ein tool benutzt, welches nur die eigentlichen Daten sichert¹.
  • Zerofree hab ich nicht laufen lassen. Das kannte ich aktuell noch nicht. Bringt das clonezilla mit? Oder muss ich hierzu eine zu klonende SSD an mein Linux anschließen, mounten, und dann zerofree über den mountpoint laufen lassen?
  • Ist die Komprimierung standardmäßig immer aktiv?
  • Hast du zufällig für clonezilla eine commandline?

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Debian Klonen

Beitrag von ThorstenS » 20.07.2018 09:59:08

ad 1)
zerofree habe ich in meinem 1. Post erwähnt und ist im verlinkten WikiArtikel beschrieben

ad2)
ja, im einfachen Modus ist es meiner Meinung nach aktiv.

ad3)
nein, hab ich nicht. Aber kurz vor dem Klonen schreibt dir clonezilla den kompletten Aufruf einmal auf das Terminal. Damit kannst du es beim nächsten Mal aufrufen, ohne durch die Menüs zu gehen.

Ich weiß nicht wie groß dein Druck ist die 150 Maschinen fertig zu bekommen. Aber ich empfehle dir die Tipps der Leute hier aufmerksam zu lesen und dir eigene Notizen zu machen…

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Debian Klonen

Beitrag von joe2017 » 20.07.2018 10:27:21

Ich hab das ganze jetzt mal mit zerofree getestet.

Ich lass mir erst einmal meine Festplatten anzeigen.
fdisk -l

Ich sehe meine Platte von der ich gebootet habe und meine angeschlossene Platte welche ich klonen möchte

Code: Alles auswählen

sdb
sdb1 Typ=Linux
sdb2 Typ=Extended
sdb5 Typ=LinuxLVM
sudo zerofree -v /dev/sdb1 funktioniert. Bei /dev/sdb2 und /dev/sdb5 erhalte ich eine Fehlermeldung
Failed to open Filesystem. Anscheinend werden diese nicht von zerofree unterstützt?

DeletedUserReAsG

Re: Debian Klonen

Beitrag von DeletedUserReAsG » 20.07.2018 12:07:03

joe2017 hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 10:27:21
Anscheinend werden diese nicht von zerofree unterstützt?
Meine Glaskugel zeigt „Fehler 42“, mag am Wetter liegen. Könntest du dann schnell verraten, um welche FS es sich denn handelt, damit jemand für dich nachsehen kann, ob es unterstützt wird oder nicht?

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Debian Klonen

Beitrag von wanne » 20.07.2018 13:24:57

Nochmal so als Anmerkung: Zerofree ist ein hässlicher Hack und e2image in allen Hinsichten unterlegen. Genau wie dd ein Relikt aus einer Zeit, die die wohl einige hier nichtmal erlebt haben. Lasst es sein.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Debian Klonen

Beitrag von joe2017 » 20.07.2018 13:51:01

wanne hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 13:24:57
Das bedeutet, du würdest images von den einzelnen Partitionen erstellen und diese auf eine vorbereitete Platte (mit angelegten Partitionen) entpacken?
Kann man so machen.
Aber wie gesagt mit -r kann e2image auch direkt von Partition zu Partition kopieren. Mit dem Unterschied, dass es eben nur genutzte Blöcke kopiert werden.
Wie gesagt:

Code: Alles auswählen

e2image -pra /dev/sdxX /dev/sdyX
Unter der Voraussetzung, dass die Partitionen gleich groß sind.
Von einer kleineren auf eine Größere Partition:

Code: Alles auswählen

e2image -pra /dev/sdxX /dev/sdyX
resize2fs /dev/sdyX
Von einer größeren auf eine Kleinere (Im Beispiel Sind weniger als 20G belegt und die kleienre Partition ist größer als 20G)

Code: Alles auswählen

resize2fs -p /dev/sdxX 20G
e2image -pra /dev/sdxX /dev/sdyX
resize2fs /dev/sdxX
resize2fs /dev/sdyX
Das ganze spiel über einen Image File:

Code: Alles auswählen

e2image -pQa /dev/sdxX - | pigz -1 > /path/image.qcow2.gz
cat /path/image.qcow2.gz | pigz -d |  e2image -pra - /dev/sdxX
Edit: Wer das unnötige cat findet, darf es behalten ;-)

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Debian Klonen

Beitrag von smutbert » 20.07.2018 14:02:30

vielleicht trotzdem ein Versuch es zu erklären:
joe2017 hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 10:27:21
[…]

Code: Alles auswählen

sdb
sdb1 Typ=Linux
sdb2 Typ=Extended
sdb5 Typ=LinuxLVM
[…] Bei /dev/sdb2 und /dev/sdb5 erhalte ich eine Fehlermeldung
Failed to open Filesystem. Anscheinend werden diese nicht von zerofree unterstützt?
Ohne zerofree genau zu kennen, würde ich als allererstes vermuten, dass es daran scheitert, dass weder auf der erweiterten Partition (/dev/sdb2) noch dem logischen Laufwerk darin (/dev/sdb5) ein Dateisystem liegt, jedenfalls nicht direkt.
Erweiterte Partitionen dienen nur dazu die Beschränkung auf 4 (primäre) Partitionen zu umgehen, indem darin logische Laufwerke angelegt werden und das logische Laufwerk könnte zwar ein Dateisystem enthalten, wird in deinem Fall aber offensichtlich als physical Volume für lvm2 verwendet. du müsstest zerofree also vermutlich auf die logischen Volumes von lvm2 loslassen.

Ob es überhaupt eine besonders gute Idee ist physical Volumes mit dd oder clonezilla zu klonenm, wage ich zu bezweifeln – bei manchen Dateisystemen genügt es ja schon ein ganz normales Dateisystem zu klonen um in Teufels Küche zu geraten (zB bei xfs und besonders btrfs, weil die empfindlich reagieren, wenn es plötzlich mehrere Dateisysteme mit derselben UUID gibt).
Überraschungen gibt es unter Umständen noch zusätzlich, wenn ein ganzer Haufen geklonter Systeme, denselben Hostnamen, dieselben ssh-Hostkeys und dieselbe »/etc/machine-id« (bei letzterer weiß ich nicht wofür die verwendet wird) hat.

(ich würde eher Dateien/Verzeichnisse kopieren und mich getrennt um Partitionierung, Formatierung und Bootloader kümmern, eventuell mit einem Skript oder Debiandebootstrap/Debiangrml-debootstrap verwenden, gegebenenfalls wieder in einem Skript oder ThorstenS Empfehlung folgen und fai und ansible näher ansehen.)

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Debian Klonen

Beitrag von wanne » 20.07.2018 14:28:25

smutbert hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 14:02:30
Ob es überhaupt eine besonders gute Idee ist physical Volumes mit dd oder clonezilla zu klonenm, wage ich zu bezweifeln – bei manchen Dateisystemen genügt es ja schon ein ganz normales Dateisystem zu klonen um in Teufels Küche zu geraten (zB bei xfs und besonders btrfs, weil die empfindlich reagieren, wenn es plötzlich mehrere Dateisysteme mit derselben UUID gibt).
Deswegen nimmt man bei btrfs auch btrfs send. Da werden UUIDs nicht mitkopiert.
smutbert hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 14:02:30
Überraschungen gibt es unter Umständen noch zusätzlich, wenn ein ganzer Haufen geklonter Systeme, denselben Hostnamen, dieselben ssh-Hostkeys und dieselbe »/etc/machine-id« (bei letzterer weiß ich nicht wofür die verwendet wird) hat.
Wird doch großteils erst nach dem ersten boot erzeugt. Ansonsten ist das eine ziemlich abschließende Aufzählung, was man ändern muss.

smutbert hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 14:02:30
(ich würde eher Dateien/Verzeichnisse kopieren und mich getrennt um Partitionierung, Formatierung und Bootloader kümmern, eventuell mit einem Skript oder Debiandebootstrap/Debiangrml-debootstrap verwenden, gegebenenfalls wieder in einem Skript oder ThorstenS Empfehlung folgen und fai und ansible näher ansehen.)
Ist halt deutlich langsamer. Daneben hat man das roblem, dass man alle ACLS und weiß der kuckuck noch alles mitkopiert ich glaube selbst rsync -AaHaXx erwischt nicht immer alles. Aber ansonsten wahrscheinlich die problemlosere Variante.
rot: Moderator wanne spricht, default: User wanne spricht.

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Debian Klonen

Beitrag von wanne » 21.07.2018 15:07:02

Das Thema zur automatischen Installation nach TID 170343 automatische Intsallation verschoben
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten