Beste Möglichkeit zum Klonen einer Installation (Kopieren auf identische Hardware)


53

Ein bisschen wie diese Frage, aber etwas anders (glaube ich), dass ich 6 identische Acer Aspire Revo R3610-Maschinen habe. Eine ist (fast) nach meinen Wünschen konfiguriert - wenn ich damit fertig bin, möchte ich die anderen 5 Maschinen absolut gleich machen. Ich bin sehr neu in Ubuntu, wie geht das am einfachsten?

Die Computer werden in verschiedenen Netzwerken betrieben, wenn dies ansonsten ein Problem darstellen könnte (z. B. können Sie unter Windows Festplatten klonen, müssen aber anschließend Änderungen an der Registrierung vornehmen, wenn sie im selben Netzwerk ausgeführt werden usw.). Die Hardware in allen 6 Maschinen ist, wie ich betone, gleich!

Wie kann ich ein Quellbild effizient auf diese identischen Computer klonen?

Bitte beschränken Sie eine Software / Lösung pro Antwort

Antworten:


31

Clonezilla klingt wie es Ihren Bedürfnissen entspricht


1
Vollkommen das richtige Werkzeug für den Job. Meine Mutter führt "Mumbuntu" aus, und ich mache regelmäßig mit Clonezilla einen Schnappschuss ihres Acer Revo und bringe ihn nach Hause, um ihn auf einem Revo, den ich besitze, als Backup wiederherzustellen. Funktioniert ein Vergnügen.
Popey

7
Ein Vorteil der Verwendung von Tools wie partimage und ntfsclone (was Clonezilla zum Erstellen des Festplattenabbilds verwendet) ist, dass sie das zugrunde liegende Dateisystem auf jeder Partition verstehen, sodass sie nur die verwendeten Blöcke kopieren können. Da dd nicht über diese Funktionalität verfügt, muss es jedes Byte der Partition kopieren, unabhängig davon, ob es verwendet wird oder nicht.
Evan

1
Es nervt. Klonen nach zwei Arbeitstagen fehlgeschlagen. Hängt an der Berechnung der Bitmap ... Verwenden Sie Windows und Acronis Trueimage
Olcay Ertaş

Wird DD die bootfähige Backup-CD nicht erstellen? Ist das der Grund, warum CloneZilla verwendet wird?

@YumYumYum: ddmacht Kopien einer Datei / Partition / Laufwerk. Wenn Sie also eine bootfähige CD (entweder ein .isoImage oder eine CDFSPartition) klonen, ist das Ergebnis ebenfalls bootfähig. Aber ddwird nicht „convert“ einen bestimmten Satz von Ordnern / Dateien in ein bootfähiges Image.
MestreLion

17

dd

Eine Low-Level-Kopie mit dd würde den Trick machen!

Achten Sie auf widersprüchliche IP-Adressen und Hostnamen.

Grundsätzlich sollten Sie das Quell- und das Ziellaufwerk auf demselben Computer installieren und eine Live-CD starten. Führen Sie Folgendes aus: Wo /dev/sdaist die Quelle und wo /dev/sdbist das Ziel?

dd if=/dev/sda of=/dev/sdb bs=4096

Ich erinnere mich an die Operanden von:

if -> Eingabedatei

of -> Ausgabedatei

bs -> Blockgröße (wie viele Bytes gleichzeitig gelesen werden sollen)


3
Sicher warum nicht? = / Ich habe Leute gesehen, die das getan haben, und ich habe gesehen, wie Leute es nicht getan haben. Gibt es irgendwo einen Styleguide für Antworten?
Derek

Wenn Sie Dynamic IP aktiviert haben, temporär, bevor Sie diese bootfähige / Backup-CD / USB erstellen. Ich glaube, es sollte kein Problem für widersprüchliche IP geben. Solange es von A bis Z geht, ist es mir wichtig, weil ich so viele Fahrer hatte.

2
Wie sicher ist dies, wenn man bedenkt, dass alle öffentlichen / privaten Schlüssel, die beispielsweise von OpenSSH verwendet werden, identisch sind? Was müssten wir ändern, um das System sicher zu machen (anders, wo wir nicht wollen, dass es anders ist)?
Jos

Was meinst du mit "so etwas ausführen"? Ich bin positiv gegenüber sda und sdb, verstehe aber nicht, warum du dieses bs ausgewählt hast.
SDsolar

3

Erstellen Sie ein Image mit Remastersys , übertragen Sie es mit dem Dienstprogramm Startup Disk Creator auf ein USB-Stick und installieren Sie es auf einem anderen System.


3

Der einfachste Weg, dies zu tun, besteht darin, eine reine Ubuntu-Installation auf Ihrer Festplatte durchzuführen, VirtualBox zu installieren und eine virtuelle Ubuntu-Maschine einzurichten. Führen Sie Ihre virtuelle Maschine aus und richten Sie diese Installation so ein, wie Sie es möchten. Arbeiten und spielen Sie auf dem virtuellen Computer.

VirtualBox verwaltet die virtuelle Maschine als große Disk-Image-Datei (.vdi) zusammen mit einigen anderen, viel kleineren Konfigurationsdateien. Wenn Sie Ihre virtuelle Maschine sichern möchten, fahren Sie sie einfach herunter und kopieren Sie ihr Verzeichnis an Ihren Sicherungsort. Zu diesem Zweck verwende ich ein externes Passport-Laufwerk.

Derzeit befindet sich auf diesem externen Laufwerk sowohl eine Windows 7- als auch eine Ubuntu 12-VM. Alle Systemaktualisierungen, Programme, persönlichen Dateien, Bilder usw. werden in diesen virtuellen Maschinen gespeichert. Eine Sicherung dieses Typs ist sehr schnell, da eine große Disk-Image-Datei viel schneller übertragen wird als eine Reihe einzelner Dateien. Da VirtualBox die Dateien ständig in diesem Format verwaltet, ist die virtuelle Maschine immer für die Sicherung konfiguriert.

Ein Vorteil dieses Setups ist, dass ich diese virtuellen Maschinen von einem externen Laufwerk auf einem beliebigen Computer mit VirtualBox ausführen kann. Anstatt meinen Computer herumzuschleppen, bringe ich jetzt einfach mein externes Laufwerk mit Windows und Ubuntu und installiere VirtualBox auf Welchen Computer ich auch verwenden möchte (ich habe alle VirtualBox-Installationsdateien auch auf meiner externen Festplatte - sie sind für alle Hauptbetriebssysteme verfügbar), und ich kann loslegen. Ich kann meine virtuelle Maschine entweder auf den von mir verwendeten Computer kopieren oder sie einfach vom externen Laufwerk ausführen.

Wenn Ihr Computer irgendwann abstürzt und abstürzt, holen Sie sich einfach Ihre Ubuntu-Installationsdiskette, installieren Sie sie auf Ihrem neuen oder reparierten Computer, schließen Sie Ihr externes Laufwerk an, installieren Sie VirtualBox und kopieren Sie Ihre virtuellen Maschinen wieder auf Ihren Computer. Problem mit minimalem Stress, Zeitverlust und Datenverlust gelöst. Wie viele Daten Sie verlieren, hängt davon ab, wann Sie das letzte Mal eine Sicherungskopie erstellt haben. Ich mache für mich immer dann ein neues Backup, wenn ich größere Änderungen vornehme oder ein schwer zu beschaffendes Programm hinzufüge. Stellen Sie einfach sicher, dass Ihre virtuelle Maschine normal funktioniert, wenn Sie dies tun. Sie möchten keinen beschädigten Computer über einen guten kopieren.

Und nein, ich arbeite nicht für VirtualBox.


Liebe es. Upvote. Das mache ich vielleicht auf meinem nächsten Rechner.
SDsolar


2

Ich würde einen Computer so bekommen, wie Sie es wollen, und das openssh-Server-Paket installieren. Generieren Sie ein SSH-Schlüsselpaar mit ssh-keygen -t rsa. Fügen Sie den öffentlichen Schlüssel zu /root/.ssh/authorized_keys2 hinzu. Dann bootete ich die neuen Computer mit einer Live-CD und steckte einen USB-Stick mit dem privaten SSH-Schlüssel ein. Verwenden Sie gparted, um eine neue Partition zu erstellen. Dann mounten Sie die neue Partition und starten Sie so etwas wiesudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/

Verwenden Sie den blkidBefehl, um die UUID des gerade erstellten Dateisystems zu ermitteln. Bearbeiten Sie die /path/to/new/partition/etc/fstab, um die neue UUID (und den Dateisystemtyp, falls Sie ein anderes Dateisystem verwendet haben) widerzuspiegeln.

Dann folge ich den Anweisungen auf https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot, wie man von einer Chroot aus installiert.

Eine vereinfachte Version dieser Seite (die nicht für lvm, Software-Raid oder Bcache oder Separate / Boot wie die Wiki-Seite verantwortlich ist):

Hängen Sie die kritischen virtuellen Dateisysteme ein. Führen Sie den folgenden Befehl als Einzelbefehl aus:

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

Chroot in Ihr normales Systemgerät:

sudo chroot /mnt

Installieren Sie GRUB 2 neu (ersetzen Sie das richtige Gerät durch sda, sdb usw. Geben Sie keine Partitionsnummer an):

grub-install /dev/sdX

Erstellen Sie die GRUB 2-Menüdatei neu (grub.cfg)

update-grub

Chroot beenden: STRG-D auf der Tastatur

Das funktioniert übrigens auch für Backups. Ubuntu scheint im Gegensatz zu Windows keine Probleme damit zu haben, auf andere Hardware übertragen zu werden. Ich habe Festplatten von einem Computer in einen anderen gesteckt und es hat gut funktioniert, und ich habe Installationen auf andere Hardware kopiert und es hat gut funktioniert.


Vielen Dank dafür - ich habe in Kürze eine weitere, ich werde es versuchen. Prost
robsoft

Der Link, auf den verwiesen wird, erwähnt derzeit weder Chroot noch Methoden. Deshalb ist es eine gute Idee, relevante Teile Ihrer Quellen zu zitieren.
Henno

@Henno Die Wiki-Seite wurde verschoben. Das Problem beim Einbinden der Seite ist, dass das Wiki mit neuen Dingen wie bcache auf dem neuesten Stand ist und nur das Kopieren des Inhalts der Seite diese Aktualisierungen verpasst, aber der Nachteil, nur zu verlinken, was Zeug ist, kann Sie bewegen. In beiden Fällen ist der Link aktualisiert und eine abgespeckte Version enthalten.
Azendale


1

G4L

Ghost für Linux

Ghost for Linux ist ein Imaging- und Klon-Tool für Festplatten und Partitionen, das Norton Ghost (c) und (tm) von Symantec ähnelt. Die erstellten Bilder werden optional komprimiert und können auf einer lokalen Festplatte gespeichert oder auf einen anonymen FTP-Server übertragen werden. Ein Laufwerk kann mit der Click'n'Clone-Funktion geklont werden. g4l unterstützt das Teilen von Dateien, wenn das lokale Dateisystem das Schreiben von Dateien> 2 GB nicht unterstützt. Der mitgelieferte Kernel unterstützt ATA-, Serial-ATA- und SCSI-Laufwerke. Gängige Netzwerkkarten werden unterstützt. Es ist als bootfähiges CD-Image mit einer ncurses-GUI zur einfachen Verwendung verpackt.


OH MEIN GOTT. Genau das habe ich mir schon lange gewünscht. Auch für Windows. TNX für die Post. Ich werde es gleich überprüfen.
SDsolar

1

Fsarchiver

Ich weiß nicht, warum das niemand erwähnt hat. Dies ist besonders praktisch, wenn Sie den Inhalt der Partition auf einem anderen Dateisystemtyp wiederherstellen möchten (z. B. ext4-Inhalt in ext2 oder reiserfs wiederherstellen) oder auf einer kleineren Partition wiederherstellen möchten.

Ich habe es benutzt und es ist sehr einfach. Wenn Sie beispielsweise eine Partition klonen möchten, verwenden /dev/sda1Sie einen Befehl wie diesen

fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1

Mit dieser -AOption können Sie die Partition auch dann kopieren, wenn sie verwendet wird! Tolles Feature!

-j 2sagt, 2 CPU-Kern für die Komprimierung zu verwenden. Nützlich für Multi-Core-CPUs und wenn Sie die Komprimierung verwenden

-z 1 Legt die Komprimierungsstufe fest.

So stellen Sie das verwendete Dateisystem wieder her

fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2

Das id=0besagt, dass Sie das erste Dateisystem aus dem Archiv wiederherstellen (auch wenn Sie nicht mehrere Partitionen in einem einzigen Archiv gespeichert haben, müssen Sie es angeben). Und dest=/dev/sda2legt das Ziel der Wiederherstellung fest.


0

Ich mache das oft mit rsync.

Zuerst können Sie rsync ausführen, um alle Daten auf eine externe Festplatte zu laden (Ihre externe Festplatte sollte sich in ext4 befinden - ich verwende dies, damit ich weiß, dass es funktioniert): Ich nehme an, Sie haben zwei Partitionen: / dev / sda1 (root) und / dev / sda2 (Swap).

Führen Sie auf Ihrem ursprünglichen Computer Folgendes aus:

sudo rsync -avuorpESHAX /* /your/hard/drive

Starten Sie nach dem Kopieren der Daten Ihren nächsten Computer mit einem USB-Stick und formatieren Sie die interne Festplatte als Originalfestplatte.

Hängen Sie Ihr externes Laufwerk an /mntund kopieren Sie die UUIDs aller Partitionen. Bearbeiten Sie die UUIDs der Partitionen des neuen Computers und geben Sie dieselben UUIDs ein, die Sie aus den Originaldaten kopiert haben (es befindet sich in /mnt/etc/fstab).

Fahren Sie den Swap herunter:

sudo swapoff -a

Erstellen Sie einen neuen Swap mit der ursprünglichen UUID, kopiert von /mnt/etc/fstab:

sudo mkswap /dev/sda2 -U original-UUID

(Ich nehme an, dein Tausch ist in /dev/sda2)

Ändern Sie als Nächstes die UUID von /dev/sda1: (Die Partition sollte nicht gemountet sein, um die UUIDs zu ändern.)

sudo umount /mnt
sudo tune2fs /dev/sda1 -U old-UUID

Stellen Sie dazu die Zielpartition bereit:

sudo mount /dev/sda1 /mnt

Rsync zum Ziel umkehren:

sudo rsync -avuorpESHAX /media/your-backup /mnt

Installieren Sie den Maden neu:

sudo grub-install --root-directory /mnt /dev/sda

Das wird funktionieren. Denken Sie daran, den Hostnamen für jeden Computer zu bearbeiten /etc/hostnameund /etc/hostszu ändern, um Netzwerkkonflikte zu vermeiden.


-1

Da ich noch nie in dieser Situation war (ich habe nicht Hunderte von Servern - ich habe immer nur Basis-Images verwendet), kann ich Ihnen nur meinen Bauchgefühl geben.

Abgesehen davon würde ich sagen, Netboot ist wahrscheinlich die beste Wahl. Erstellen Sie einen Master-Server, lassen Sie ihn ausführen, was Sie möchten, und lassen Sie dann alle anderen Computer von ihm starten und installieren. Es sollte nicht allzu schwierig sein, automatisch Skripte zu erstellen (einmaliges Ausführen). Sie erledigen alle sekundären Dinge durch Kickstart.

Mehr (obwohl es ein bisschen alt ist): https://help.ubuntu.com/community/PXEInstallServer

Bearbeiten: Es gibt eine Anwendung mit dem Namen system-config-kickstart, die das Generieren der Kickstart-Datei erheblich erleichtern soll. YMMV.

Alt-Text


Soweit ich weiß, ist dies system-config-kickstartspeziell für gemacht fedora.
Shaharia Azam

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.