Was bedeutet dd-image. Systemsicherung

Der Befehl dd macht nur eine einfache Sache: Er kopiert Daten von einer Datei in eine andere Datei. Aber da in Linux viele Entitäten genau als Dateien dargestellt werden, hat dd viele Verwendungsmöglichkeiten. Betrachten wir die nützlichsten von ihnen.

Was bedeutet dd?

dd ist die Abkürzung für Data Duplicator (Daten kopieren). Da der dd-Befehl aber in falschen Händen zum kompletten Datenverlust führen kann, wird das Programm oft scherzhaft als Disk Destroyer (Festplattenzerstörer) bezeichnet. Versuchen wir herauszufinden, wie wir unsere Daten nicht nur nicht zerstören, sondern sogar von der Verwendung von dd profitieren können.

Allgemeiner Anwendungsfall für dd

Die Befehlssyntax lautet wie folgt:

Dd if=$input_data of=$output_data

Der Befehl kopiert die Daten aus der $input_data-Datei in die $output_data-Datei, wenn die Option options gegeben ist. Es scheint, dass alles einfach ist. Überlegen Sie nun, welche Möglichkeiten dieses einfache Kopieren eröffnet.

Beispiele für die Verwendung von dd

1. Vernichtung aller Daten auf dem Datenträger ohne Möglichkeit der Wiederherstellung:

Dd if=/dev/urandom of=/dev/sda bs=4k

2. Vollständiges byteweises Kopieren einer Festplatte auf eine andere (Klonen):

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

3. Kopieren eines Abschnitts in einen anderen:

Dd if=/dev/sda3 of=/dev/sdb3 bs=4096 conv=notrunc,noerror

4. Anzeige der Liste der verfügbaren Dateisysteme:

Dd if=/proc/filesystems | hexdump -C | weniger

5. Kopieren von Daten auf Geräte mit unterschiedlichen Blockgrößen (1 KB für die Quelle und 2 KB für das Ziel):

Dd if=/dev/st0 ibs=1024 obs=2048 of=/dev/st1

6. Erstellen Sie ein bootfähiges Flash-Laufwerk:

Dd if=/home/$user/bootimage.img of=/dev/sdc

7. Überprüfen Sie die Festplatte auf fehlerhafte Sektoren:

Dd if=/dev/sda of=/dev/null bs=1m

8. Erstellen Sie eine MBR-Festplattensicherung und speichern Sie sie auf einer Diskette

Dd if=/dev/sda of=/dev/fd0 bs=512 count=1

9. Entfernen des ISO-Images von der CD:

Dd if=/dev/sr0 of=/home/$user/mycdimage.iso bs=2048 conv=nosync

10. Überprüfung der Datei auf Viren (ClamAV wird natürlich benötigt):

Dd if=/home/$user/suspicious.doc | Muschelscan-

11. Speichern des RAM-Inhalts in einer Datei:

Dd if=/dev/mem of=/home/$user/mem.bin bs=1024

12. Image vom Nero NRG-Format in Standard-ISO-Image konvertieren:

Dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300k

13. MBR-Inhalt anzeigen:

Dd if=/dev/sda count=1 | Hexdump-C

Und wo ist die versprochene Million Anwendungen?

Dem aufmerksamen Leser wird wahrscheinlich auffallen, dass der Artikel nicht eine Million nützliche Anwendungen auflistet, sondern ein paar weniger. Aber die Stärke des dd-Programms liegt in der Tatsache, dass der Benutzer selbst andere Verwendungen finden kann, indem er verschiedene Dateien mit Parametern kombiniert und die erforderlichen Optionen auswählt. Denken Sie nur daran, dass die Arbeit mit dd besondere Aufmerksamkeit erfordert. Wenn Sie nicht genau wissen, welche Aktionen ausgeführt werden, sollten Sie besser auf Experimente verzichten. Versuchen Sie, dd keine Superuser-Rechte zu geben, wenn Sie auf diese Rechte verzichten können.

Ihre eigenen Beispiele für die Verwendung dieses wunderbaren Programms sind in den Kommentaren willkommen.

Ich habe neulich beschlossen, ein Image meiner funktionierenden, bootfähigen Flash-Laufwerke mit verschiedenen zu erstellen Betriebssysteme. Wie man diese Multi-Boot-Flash-Laufwerke erstellt, habe ich bereits in einem seiner Artikel. Hilft uns beim Erstellen von Bildern ein altes und bewährtes Programm dd. Soweit ich weiß, sollte das Dienstprogramm dd standardmäßig auf dem System installiert sein. Führen Sie den folgenden Befehl im Terminal aus, um ein Image Ihres "Flash-Laufwerks" zu erstellen:

sudo dd if=/dev/sdc of=image.iso

/dev/sdc ist Ihr Flash-Laufwerk

image.iso ist ein Bild namens Bild und Ausbau .iso, die in Ihrem Home-Ordner erscheinen wird.

Um herauszufinden, wie Ihr Flash-Laufwerk im System bezeichnet wird, können Sie beispielsweise das Disks-Dienstprogramm oder das GParted-Programm ausführen und darin nachsehen, und wenn über das Terminal der Befehl hilft:

sudo fdisk -l

Wenn Sie den Vorgang zum Erstellen eines Flash-Laufwerks sehen möchten, gibt es mehrere Möglichkeiten. Ich werde den ersten Weg nicht erzählen, weil ich ihn nicht mochte, aber die alternative Lösung für dieses Problem sieht viel besser aus. Dazu müssen Sie eine verbesserte Version von dd namens dcfldd installieren.

sudo apt-get install dcfldd

Die Mitarbeiter des DoD Computer Forensics Laboratory (DCFL) haben einige Änderungen am dd-Befehl vorgenommen, ihn dadurch verbessert und für ihre Forschungsarbeit verwendet. Als Ergebnis wurde der dcfldd-Befehl geboren, der die kopierten Daten in bestimmten Intervallen für ihre Authentifizierung hasht. Außerdem ist dcfldd viel schneller als dd. Wenn Sie nun den Fortschritt des Kopierens oder Erstellens eines Images sehen möchten, müssen Sie den Befehl ausführen:

sudo dcfldd if=/dev/sdc of=image.iso

Nachdem das Image fertig ist, können Sie ein neues bootfähiges USB-Flash-Laufwerk erstellen. Anstelle eines Flash-Laufwerks mit Systemen werden wir ein neues, leeres einlegen. Ich denke, dass es vom System auf die gleiche Weise bestimmt wird wie das erste - sdc, aber es ist besser, es noch einmal zu überprüfen. Jetzt sieht der Befehl so aus:

sudo dd if=image.iso of=/dev/sdc

Nun, wenn Ihr leeres Flash-Laufwerk die gleiche Größe wie das Medium mit den benötigten Daten hat, können Sie einfach den gesamten Inhalt des ersten Flash-Laufwerks sofort auf das zweite kopieren und die Erstellung eines Images umgehen Festplatte. In diesem Fall wäre der Befehl:

sudo dd if=/dev/sdb of=/dev/sdc

Nach diesem Schema können Sie nicht nur Flash-Laufwerke kopieren, Images erstellen, sondern auch ganze Festplatten oder deren Partitionen, CD / DVD-Laufwerke usw. Aber dazu mehr im nächsten Artikel.

Die Wahl der Flash-Laufwerke liegt bei Ihnen. Sie können ein bootfähiges Image auf gewöhnliche Flash-Laufwerke bekannter Marken brennen: Transcend, Kingston, Apacer, Silicon Power und andere Hersteller, oder Sie können ein wenig abweichen und Schmuck-Flash-Laufwerke mit Strasssteinen, Diamanten und anderen Dekorationen wählen. Obwohl dies natürlich die Wahl der schönen Hälfte der Menschheit sein wird. Während der Arbeit wird das aufgezeichnete Bild, Aussehen Gerät ist überhaupt nicht betroffen.

dd- ein einfaches Dienstprogramm, das in den meisten Unix-ähnlichen Betriebssystemen enthalten ist - Linux, FreeBSD, Solaris usw.
Sein Zweck besteht darin, Daten von einem Gerät oder einer Datei zu lesen und auf ein anderes zu schreiben.

dd kann effektiv verwendet werden, um ein Bild zu erstellen Festplatte, dabei auf kommerzielle Hilfsprogramme wie verzichten Acronis True Image oder Norton Ghost.

Nehmen wir an, wir haben zwei Festplatten:

  • /dev/sda ist die zu sichernde Festplatte;
  • /dev/sdb ist die Festplatte, auf die das Image geschrieben wird.

Ersetzen Sie ggf. Ihre eigenen Werte.

Der erste Schritt besteht darin, von einer beliebigen verfügbaren Live-CD zu booten, die über das Dienstprogramm dd verfügt, und sich als Superuser in die Befehlszeile einzuloggen. Erstellen Sie einen Bereitstellungspunkt für die Sicherung.

mkdir /mnt/backup

Mounten Sie die Festplatte, auf der Sie das Image speichern möchten.

Erstellen Sie ein Festplatten-Image

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror

  • if=/dev/sda - Kopieren Sie die gesamte Festplatte sda;
  • of=/mnt/backup/sda.img - kopieren nach /mnt/backup/sda.img;
  • bs=8M - Festlegen der Größe des Festplattencaches, um den Kopiervorgang zu beschleunigen (andernfalls werden die Daten in kleinen Portionen von 512 Byte ausgegeben);
  • conv=sync,noerror - teilt dd mit, Bit für Bit zu kopieren und Lesefehler zu ignorieren.

Um die Größe eines Festplatten-Images zu reduzieren, können Sie es mit einem beliebigen Archivierungsprogramm komprimieren.

dd if=/dev/sda bs=8M conv=sync,noerror | gzip -c > /mnt/backup/sda.img

Wiederherstellen eines Festplatten-Images

Um ein Festplatten-Image wiederherzustellen, müssen Sie umgekehrt vorgehen wie beim Erstellen dieses Images.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

Bei paralleler Komprimierung müssen Sie das Image entpacken.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,noerror bs=8M

Migration des Systems auf eine andere Festplatte

Um das gesamte System auf eine andere Festplatte zu migrieren, müssen Sie das Ziel des neuen Laufwerks als Ziel festlegen.

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,noerror

Installieren Sie dann ggf. den Boot von dieser Festplatte. Vorausgesetzt, dass die neue Festplatte größer als die alte ist, bleibt sie nicht zugeordneter Bereich. Es sollte gemäß den bestehenden Anforderungen gekennzeichnet und formatiert werden.

Statistiken in dd kopieren

Der Hauptnachteil in dd ist das Fehlen einer visuellen Darstellung der Statistik der Ausführung des Kopiervorgangs. Dieser Nachteil kann jedoch leicht umgangen werden. Es reicht aus, sich mit einem anderen Terminal zu verbinden.

Ermitteln Sie die Prozessnummer, unter der dd läuft.

Senden Sie diesem Prozess in regelmäßigen Abständen ein kill -USR1 dd_process_number.

watch -n 5 kill -USR1 dd_process_number

  • watch -n 5 - führt den Befehl alle 5 Sekunden aus;
  • kill -USR1 dd_process_number - Kopierstatistik anzeigen.

Nachteile der Verwendung von dd zum Erstellen von Disk-Images

Alles hat Vor- und Nachteile. dd ist ein kostenloses und sehr flexibles Tool, aber es kann nur eine vollständige Kopie eines Volumes erstellen. Spezielle Programme kann nur die Daten kopieren, die auf der Festplatte gespeichert sind.

Daher entspricht das Volumen eines mit dd erstellten Disk-Images dem Volumen der Platte selbst - unabhängig davon, wie viele Daten sich auf der Platte befinden.

Wie bekannt, "Computerbenutzer werden in diejenigen unterteilt, die Backups erstellen, und diejenigen, die dies tun werden". In diesem Artikel werden wir uns verschiedene Möglichkeiten ansehen, das gesamte System zu sichern (zu sichern) und dementsprechend aus einer Sicherung wiederherzustellen.

Es sei gleich darauf hingewiesen, dass nicht alle Operationen „live“, d.h. nicht auf einem laufenden System, sondern von einer LiveCD oder einem System, das auf einer angrenzenden Partition / Flash-Laufwerk / USB-Festplatte installiert ist. In Fällen, in denen eine Ausfallzeit von mehreren Minuten für das System kritisch ist, ist es möglich, das System unter sich zu kopieren, jedoch müssen einige zusätzliche Bedingungen berücksichtigt werden, die in diesem Artikel noch nicht berücksichtigt werden.

Von nun an wird für Aktionen, die als Root ausgeführt werden, der Befehl sudo verwendet, der der Standard für Ubuntu ist. Auf anderen Systemen ist es möglich, Superuser-Privilegien über su zu erlangen, einige LiveCD-Systeme laufen standardmäßig im Superuser-Modus

Teer

Eine der beliebtesten Methoden zum Erstellen eines einfachen Backups ist das Archivieren von Daten mit tar . Die Vorteile dieser Methode sind die Möglichkeit der inkrementellen Sicherung (Dateien zu einem bestehenden Archiv hinzufügen, löschen oder ändern), die Möglichkeit, einzelne Dateien aus dem Archiv zu extrahieren, sowie das Vorhandensein von tar in fast jedem Linux-System.

Erstellen eines Archivs

Erstellen Sie zunächst Einhängepunkte für die Root-Partition und für die Partition, auf der Sie eine Sicherung erstellen möchten, wie hier gezeigt

Hängen Sie beide Partitionen ein. Für mehr Zuverlässigkeit können Sie die Root-Partition im schreibgeschützten Modus (read-only) mounten, um die Möglichkeit versehentlicher Datenänderungen auszuschließen

sudo mount /dev/sdXY /mnt/root -o ro sudo mount /dev/sdXY /mnt/backup

(Statt „sdXY“ verwenden Sie Ihre Werte für die gewünschten Partitionen. Diese können Sie mit sudo fdisk -l oder sudo blkid ermitteln)

Falls Sie separate Partitionen für /boot, /usr, /home usw. verwenden und deren Inhalt in die Sicherung einbeziehen möchten, hängen Sie diese in die entsprechenden Ordner ein

sudo mount /dev/sdXY /mnt/root/usr -o ro sudo mount /dev/sdXY /mnt/root/home -o ro

Erstellen Sie ggf. einen Ordner auf der Backup-Partition, in dem Sie zB das Archiv ablegen möchten

sudo mkdir -p /mnt/backup/ubuntu/root

Jetzt können Sie mit der Erstellung des Archivs beginnen. Um ein gzip-komprimiertes Archiv zu erstellen, führen Sie

Sudo tar -cvzpf -C /mnt/root /mnt/backup/ubuntu-sda1.tar.gz .

(Der Schalter -p ermöglicht das Speichern von Eigentümern und Berechtigungen für Dateien)

Für bzip2-Komprimierung verwenden

Sudo tar -cvjpf /mnt/backup/ubuntu-sda1.tar.bz2 /mnt/root

Für lzma-Komprimierung

sudo tar --lzma -cvpf /mnt/backup/ubuntu-sda1.tar.lzma /mnt/root

Ähnlich für die lzo-Komprimierung - schalten Sie --lzop statt --lzma um

Unterschiedliche Komprimierungsalgorithmen ergeben unterschiedliche Archivgrößen und unterscheiden sich auch in der Leistung.

Unmounten Sie am Ende des Vorgangs alle gemounteten Partitionen

Sudo umount /mnt/root(/boot,/var,/home,) /mnt/backup

Wiederherstellen aus einem Archiv

Erstellen Sie Einhängepunkte für die Root-Partition und die Partition, auf der Ihr Archiv gespeichert ist

Sudo mkdir /mnt/(root,backup)

Mounten Sie die Sicherungspartition

sudo mount /dev/sdXY /mnt/backup -o ro

Formatieren Sie die Root-Partition auf denselben (oder einen anderen) FS. Wenn Sie separate Partitionen für /usr, /boot usw. verwenden und diese archiviert haben, formatieren Sie diese ebenfalls

(wenn Sie auf eine neue Festplatte wiederherstellen, partitionieren Sie sie mit fdisk/gparted und formatieren Sie die Partitionen)

Einige Dateisysteme unterstützen das Festlegen einer UUID beim Formatieren. Dadurch ist es möglich, ein Dateisystem mit derselben UUID wie das alte zu erstellen, wodurch die Notwendigkeit entfällt, fstab zu bearbeiten.

Für ext2/3/4 wird die UUID mit dem Schalter -U festgelegt, und Sie können die Aufgabe mit einem Befehl wie noch weiter vereinfachen

sudo mkfs.ext4 -L "label" -U "$(sudo blkid -o value -s UUID /dev/sda1)" /dev/sda1

Wenn Sie beim Erstellen der Image-Datei eine Archivierung verwendet haben, entpacken Sie diese zunächst beispielsweise mit demselben Archiver

Bzip2 -dv /media/backup/sda5.dd.bz

Jetzt können Sie das Image mounten

sudo mount /media/backup/sda5.dd -o loop /mnt

(Mit der Loop-Option "verbindet" das Mount-Programm die Image-Datei automatisch mit einem freien Loop-Gerät und mountet dann das Dateisystem.)

Jetzt können Sie mit dem Inhalt des Images wie mit einem normalen Dateisystem arbeiten, alle Ihre Änderungen werden in das Image geschrieben. Wenn Sie fertig sind, hängen Sie das Image als regulären FS aus

sudo umount /mnt

dd - kopieren Sie die gesamte Festplatte

In diesem Fall verwenden wir wieder dd, nur dass wir diesmal den gesamten Inhalt der Festplatte speichern - mit der Partitionstabelle, den Partitionen selbst und allen Daten. Der Vorteil dieser Methode ist, dass Sie alle auf dieser Festplatte installierten Systeme in einem Schritt sichern können, ohne jede Partition einzeln sichern zu müssen. Darüber hinaus werden bei einem solchen Backup alle mit dem Bootloader verbundenen Daten gespeichert. Nach dem Wiederherstellen aus einem Backup sind daher keine zusätzlichen Manipulationen erforderlich, Sie können sofort von dieser Festplatte booten.

Erstellen eines Bildes

Im Allgemeinen ist die Vorgehensweise ähnlich wie oben für die Sicherung einzelner Partitionen beschrieben. In diesem Fall gilt auch der Rat, freien Speicherplatz mit „Nullen“ zu löschen – wenn Sie Freizeit haben, tun Sie dies mit allen Abschnitten.

Stellen Sie vor Beginn des Vorgangs sicher, dass keine der Partitionen dieser Festplatte gemountet ist. Sie können dies tun, indem Sie den Mount-Befehl ohne Optionen ausführen.

Wählen Sie die Partition aus, auf der Sie die Obarz-Datei ablegen möchten. Dies muss natürlich eine Partition einer anderen Festplatte sein. Stellen Sie außerdem sicher, dass auf dieser Partition genügend freier Speicherplatz vorhanden ist (z. B. mit dem Dienstprogramm df) - die Menge an freiem Speicherplatz sollte der Größe der kopierten Festplatte entsprechen (im komprimierten Zustand ist das Bild kleiner, dies hängt jedoch davon ab von der Art der gespeicherten Daten).

Mounten Sie die Sicherungspartition

sudo mount /dev/sdXY /mnt

Jetzt kann es losgehen

sudo dd if=/dev/sdX bs=1M conv=noerror,sync | lzma -cv > /mnt/hdd.dd.lzma

(hier ist "sdX" eine Festplatte, keine Partition! zum Kopieren ohne Komprimierung ist der Befehl ähnlich wie oben für eine Partitionssicherung)

Abhängig von der Größe der Festplatte und der Leistung Ihres Computers kann der Vorgang lange dauern (bis zu mehreren Stunden). Wenn Sie fertig sind, hängen Sie die Sicherungspartition aus

sudo umount /mnt

Wiederherstellen von einem Image

Aufmerksamkeit! Bei dieser Methode erfolgt ein vollständiger Rollback auf den Stand zum Zeitpunkt der Archiverstellung mit Austausch aller Daten!

Stellen Sie vor Beginn der Arbeiten sicher, dass die Stromversorgung zuverlässig ist. Schließen Sie das Netzteil an, wenn Sie einen Laptop haben, und verwenden Sie nach Möglichkeit eine USV oder einen Stabilisator. Eine hohe Schreibintensität erhöht das Risiko von Festplattenschäden im Falle eines Stromausfalls

Stellen Sie sicher, dass keine Partition der wiederherzustellenden Festplatte verwendet wird. Mounten Sie die Sicherungspartition

sudo mount /dev/sdXY /mnt

Sie können den Vorgang starten

Bzip2 -dc /mnt/hdd.dd.bz | sudo dd of=/dev/sdX bs=1M conv=sync,noerror

Oder für ein unkomprimiertes Bild

sudo dd if=/mnt/hdd.dd.bz of=/dev/sdX bs=1M conv=sync,noerror

Wenn Sie fertig sind, hängen Sie die Sicherungspartition aus

sudo umount /mnt

Wenn Sie das Image auf eine andere Festplatte extrahieren möchten, muss es mindestens so groß wie das Original sein. Wenn neue Festplatte größer, können Sie Partitionen erweitern oder eine neue Partition aus freiem Speicherplatz mit parted/fdisk/gparted/etc erstellen

Verwenden Sie nicht beide Festplatten („Duplikat“ und „Original“) gleichzeitig! Wenn beide Laufwerke angeschlossen sind, hat das System zwei Partitionen für jede UUID, was zu Problemen im Betrieb oder Bootunfähigkeit führt

Bild montieren

Analog zu einem Partitionsabbild können Sie mit einem Festplattenabbild wie mit einer normalen Festplatte arbeiten. In diesem Fall ist das Verfahren etwas komplizierter, da das Bild mehrere Abschnitte enthält.

Wenn das Bild komprimiert ist, entpacken Sie es. „Haken“ Sie nun das Bild an das Loop-Gerät

sudo losetup -fv /media/backup/sda.dd

(Mit dem Schalter -f findet das Programm automatisch ein freies Loop-Gerät, ansonsten müssen Sie es explizit angeben)

losetup zeigt den Namen des verwendeten Geräts an - es sei denn, Sie arbeiten mit anderen Image-Dateien (ISO, verschlüsselte Container usw.), ist dies höchstwahrscheinlich /dev/loop0

Jetzt haben wir ein Gerät, das eine Festplatte für das System ist, aber wir haben keinen Zugriff auf seine Partitionen. Das Programm kpartx hilft Ihnen, zu den Partitionen zu gelangen (möglicherweise müssen Sie das gleichnamige Paket installieren)

sudo kpartx -av /dev/loop0

(Schalter -a - Partitionen für das angegebene Gerät hinzufügen; -v - informative Ausgabe)

Das Programm zeigt die Namen der erstellten Geräte für die Festplattenpartitionen an: loop0p1 für die erste Partition, loop0p2 - für die zweite analog zu den Partitionen einer normalen Festplatte. Gerätedateien befinden sich im Ordner /dev/mapper

Jetzt können Sie mit Partitionen und FS darauf arbeiten. Mounten Sie zum Beispiel das frühere sda5 und schreiben Sie Dateien darauf

sudo mount /dev/mapper/loop0p5 /mnt

Wenn Sie fertig sind, hängen Sie die Partition aus

sudo umount /mnt

Entfernen Sie Partitionsgeräte mit kpartx

sudo kpartx -dv /dev/loop0

und lassen Sie das Loop-Gerät los

sudo losetup -v -d /dev/loop0

Alle! Die Änderungen wurden geschrieben und Ihr Bild ist wieder eine normale Datei geworden.

vgl

Hier betrachten wir ein Backup mit dem Dienstprogramm cp, d.h. mit einfacher Kopie. Eigentlich ist dies nicht der beste Weg und eher geeignet, das System auf eine andere Festplatte / Partition / einen anderen Computer zu kopieren, als ein Backup zu erstellen.

Andererseits hat diese Methode mehrere Vorteile:

    Vielseitigkeit - cp ist auf jedem Linux-System zu finden

    Geringer Ressourcenbedarf (aufgrund der fehlenden Komprimierung und der Einfachheit des Mechanismus)

    Einfache weitere Arbeit mit dem Backup (Dateien hinzufügen / ändern / löschen, notwendige Daten extrahieren etc.)

Eine Kopie erstellen

Erstellen Sie Einhängepunkte für Root- und Backup-Partitionen

Sudo mkdir /mnt/(root,backup)

Hängen Sie beide Partitionen ein

sudo mount /dev/sdXY -o ro /mnt/root sudo mount /dev/sdXY /mnt/backup

Hängen Sie Partitionen für /usr, /boot usw. ein, falls vorhanden

sudo mount /dev/sdXY -o ro /mnt/root/home

Erstellen Sie einen Ordner auf der Backup-Partition für Ihr Backup

Sudo mkdir /mnt/backup/ubuntu

Du kannst anfangen

Sudo cp -av /mnt/root/* /mnt/backup/ubuntu

(Der Schalter -a ermöglicht das Kopieren von Links "wie sie sind", das Speichern aller möglichen Dateiattribute und den rekursiven Modus. Der Schalter -v - gibt Informationen darüber aus, was passiert.)

Hängen Sie am Ende des Vorgangs alle Partitionen aus

Künftig können Sie Ihre Daten bequem archivieren.

Wiederherstellen von einer Kopie

Aufmerksamkeit! Bei dieser Methode erfolgt ein vollständiger Rollback auf den Stand zum Zeitpunkt der Archiverstellung mit Austausch aller Daten!

Mountpunkte für Partitionen erstellen

Sudo mkdir /mnt/(root,backup)

Mounten Sie die Sicherungspartition

sudo mount /dev/sdXY -o ro /mnt/backup

Formatieren Sie die Root-Partition und die Partitionen /usr, /boot usw., falls vorhanden. (Informationen zum Formatieren von Partitionen mit Speichern der UUID finden Sie im Abschnitt über)

sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXY

Mounten Sie den neu erstellten FS

Der Vorgang des Kopierens ist ähnlich, nur in umgekehrter Richtung.

sudo cp /mnt/backup/ubuntu/* -av /mnt/root

Sobald die Kopie abgeschlossen ist, bearbeiten Sie fstab, um die UUID der Partitionen zu korrigieren

Partitionen aushängen

sudo umount /mnt/backup /mnt/root/(usr,home,)

Kürbisse

sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXY

Mounten Sie den neu erstellten FS

sudo mount /dev/sdXY /mnt/root sudo mount /dev/sdXY /mnt/root/usr sudo mount /dev/sdXY /mnt/root/var

Du kannst anfangen! Das Dienstprogramm unsquashfs wird verwendet, um das Image zu entpacken.

sudo unsquashfs -d /mnt/root -f /mnt/backup/ubuntu-root.sqfs

(Der Schlüssel -d gibt den Pfad zum Entpacken an; mit dem Schlüssel -f verwendet das Programm vorhandene Ordner, anstatt zu versuchen, neue zu erstellen.)

Wie bei der Image-Erstellung sehen Sie einen Fortschrittsbalken und viele andere nützliche Informationen.

Wenn Sie fertig sind, bearbeiten Sie fstab, um die UUIDs der Partitionen durch die neuen zu ersetzen (wenn Sie Partitionen mit denselben UUIDs formatiert haben, überspringen Sie diesen Schritt).

Sudo nano /mnt/root/etc/fstab

Speichern Sie die Datei und hängen Sie alle Partitionen aus

sudo umount /mnt/backup /mnt/root(/usr,/var,)

Bild montieren

squashfs wird wie jedes andere Image gemountet – über ein Loop-Gerät. Kernel-Unterstützung für squashfs ist in vielen Distributionen enthalten, einschließlich Ubuntu, sodass es ausreicht, nur den Befehl mount mit der Schleifenoption zu verwenden

sudo mount /media/backup/ubuntu-root.sqfs -o ro,loop /mnt

(Die Option ro ist nicht erforderlich, da das Schreiben dort immer noch nicht funktioniert.)

Nun können Sie beliebige Dateien aus dem Image kopieren. Etwas auf diese Weise hinzuzufügen wird nicht funktionieren, dafür müssen Sie erneut mksquashfs verwenden

Wenn Sie fertig sind, hängen Sie das Image als normales Dateisystem aus

sudo umount /mnt

rsync

Wie cp arbeitet rsync mit Dateien, nicht mit Blockgeräten. Die Besonderheit von rsync besteht darin, dass es keine Dateien kopiert, die sich bereits auf dem Ziel befinden. Standardmäßig überprüft es die Größe und Änderungszeit von Dateien, aber Sie können auch den Hash überprüfen (normalerweise wird dies getan, wenn erhöhte Sicherheit erforderlich ist).

Einfache Verwendung

Die Syntax für rsync ähnelt cp:

Rsync -a /mnt/root /mnt/backup

Die Option -a ist sehr oft genug, sie liefert das Nötigste: rekursives Kopieren von Verzeichnissen, Speichern von Eigentümer- und Gruppeninformationen usw. Um detaillierte Informationen zum Kopieren anzuzeigen, wird der Schalter -v verwendet, seien Sie vorsichtig damit, Sie können die Fehlermeldung im Datenstrom überspringen. Der Schalter -x stellt sicher, dass rsync das angegebene Dateisystem nicht überschreitet.

Die Dokumentation für rsync beschreibt viele Optionen. Beispielsweise gibt es einige, mit denen Sie über SSH kopieren oder eine Datei vom Ziel entfernen können, wenn sie im Quellverzeichnis gelöscht wurde.

„Intelligentes“ Kopieren reduziert Systemausfallzeiten. Wir führen rsync direkt auf einem laufenden System aus, dessen Daten sich ständig ändern, rsync kopiert die Daten beispielsweise für mehrere Stunden. Dann versetzen wir das System in schreibgeschützt, führen rsync erneut aus, jetzt kopiert es nur die Dateien, die sich in diesen wenigen Stunden geändert haben. In wenigen Minuten haben wir eine vollständige Kopie des ursprünglichen FS. Gleichzeitig wurde die Ausfallzeit im Vergleich zum Offline-Kopieren um eine Größenordnung reduziert. Und in einigen Fällen reicht eine Online-Kopie aus, ohne dass das System auf Nur-Lesen umgestellt werden muss.

Aufbewahrung früherer Kopien

Streng genommen ist rsync kein Backup-Tool, sondern ein Synchronisations-Tool. Dies ist wichtig, wenn Sie regelmäßige Backups erstellen, denn wenn eine wichtige Datei im Arbeitsverzeichnis der Quelle gelöscht wird, löscht rsync sie auch im Backup. Um die Datensicherheit zu erhöhen, empfiehlt es sich, alte Backups aufzubewahren. Das einfache Speichern mehrerer Kopien erfordert jedoch viel Festplattenspeicher. Wenn Kopien viele gleiche Dateien haben, führt dies zu unnötiger Redundanz. Dieses Problem kann durch die Verwendung von Hardlinks gelöst werden.

Die Quintessenz ist, dass in modernen Dateisystemen (einschließlich Ext4) die Dateiadressierung in zwei Schritten durchgeführt wird: Der Dateiname zeigt auf eine eindeutige Dateinummer (Indexdeskriptor oder I-Node), und die Daten selbst werden dieser Nummer zugeordnet. Jeder Dateiname ist tatsächlich ein harter Link zu dieser Nummer. Daher kann eine Datei (Datensatz) mehrere Namen haben und sich in verschiedenen Verzeichnissen befinden, wodurch Sie Redundanzen beseitigen können, wenn Sie Dateien duplizieren müssen (schließlich nimmt ein fester Link wenig Speicherplatz ein). Die Daten selbst werden erst gelöscht, wenn die Entfernung des letzten Hardlinks angefordert wird.

Eine wesentliche Einschränkung besteht darin, dass Hardlinks nur innerhalb desselben Dateisystems möglich sind.

Inhalt des Verzeichnisses der aktuellen Sicherung mit dem Quellverzeichnis synchronisieren:

rsync \ --archive \ --delete --delete-excluded \ # aus der Sicherung entfernen, die in den Quell- und ausgeschlossenen Dateien nicht vorhanden ist--Fortschritt \ # Informationen zum Übertragungsfortschritt drucken"/home/user/Dateien/" \ # Quellverzeichnis"/backup/neueste/" \ # Verzeichnis für aktuelles Backup--exclude="/Öffentlich/" # unnötige Verzeichnisse ausschließen

Im Verzeichnis /backup/latest/ wird eine Kopie aller notwendigen Dateien und Verzeichnisse aus der Quelle erstellt und alles Unnötige wird entfernt.

Erstellen Sie ein weiteres aktuelles Backup ohne Redundanz:

cp\ --archive\ # Alle zusätzlichen Informationen zu Dateien speichern--Verknüpfung \ # Feste Links für Dateien verwenden - Redundanz beseitigen"/backup/neueste/" \ # Quelle ist die oben erhaltene aktuelle Sicherung "/backup/$(date +%Y-%m-%d_%H-%M-%S) /" # destination ist ein Verzeichnis mit dem Datum im Namen (siehe man date)

Wenn das nächste Mal ein Backup erstellt wird, löscht rsync Dateien im Verzeichnis /backup/latest/, die im Quellverzeichnis gelöscht/ausgeschlossen/geändert wurden (geänderte Dateien werden zuerst gelöscht und dann geschrieben eine neue Version). Allerdings werden nur die Namen der Dateien (dieselben Hardlinks) gelöscht, die Dateien selbst (Daten) werden gespeichert, da auf ihnen im Nachbarverzeichnis mit dem „cp“-Befehl Hardlinks angelegt wurden.

Andere Werkzeuge

Es gibt viele Anwendungen zum Erstellen von Backups unter Linux. Sie können im Ubuntu Software Center nach „Backup“ suchen, um in Ubuntu verfügbare Backup-Software zu finden.

Für eine Unternehmensumgebung und nur für ziemlich umfangreiche und kritische Sicherungsaufgaben können wir empfehlen, eines der beliebtesten und leistungsstärksten Sicherungssysteme für Linux namens Bacula zu verstehen

Im Netz findet man übrigens auch russischsprachige Handbücher.

Geteilte Magie

Parted Magic ist ein weiteres großartiges, aber bezahlt ein Distributionskit, das eine ganze Sammlung von Tools zum Sichern und Wiederherstellen von Informationen, zum Arbeiten mit Festplatten und Partitionen sowie zum Wiederherstellen verlorener Daten enthält. Es unterstützt mehrere Dateisysteme, LVM2 und RAID (sowohl Hardware als auch Software) und enthält Tools wie fsarchiver , GParted , Clonezilla, die oben erwähnt wurden, und alles, was Sie für die in diesem Artikel beschriebenen Methoden benötigen. Darüber hinaus enthält das Distributionskit einen Webbrowser und einige andere zusätzliche Software. Das Distributionskit ist in mehrere Sprachen übersetzt, einschließlich Russisch, und verfügt über eine vollwertige grafische Benutzeroberfläche.

Getrennt

LParted ist eine voll funktionsfähige LiveCD, die hauptsächlich für die Arbeit mit Festplattenpartitionen (HDD), das dauerhafte Löschen oder Wiederherstellen von Daten und das Testen von Geräten entwickelt wurde. LiveCD basierend auf Lubuntu Linux. LParted ist ein funktionales Analogon von Parted Magic.

Hier würde ich über SystemRescueCD und andere hinzufügen

Mehr zum Speichern von Daten

    Für wichtige Daten können Sie eine Spiegelpartition auf zwei Festplatten erstellen. Dazu ist es nicht erforderlich, einen RAID-Controller und gleich große Festplatten zu haben - Sie können beispielsweise einen Spiegel aus einer 80-GB-alten Schraube und einer 80-GB-Partition auf einer neuen zusammenbauen. Die Spiegelung kann mit LVM oder Software-RAID implementiert werden. Diese Methode ist jedoch nutzlos, wenn beispielsweise eine ~220-V-Spannung auf dem +5-V-Bus anliegt oder ein Meteorit auf die Systemeinheit des Computers fällt.

    IT-Freaks, die einen eigenen Server zu Hause haben, können die Idee der Spiegelung erweitern und DRBD nutzen. Dasselbe RAID-1, aber die Festplatten befinden sich in verschiedenen Computern, was die Zuverlässigkeit erhöht.

    Eine moderne komfortable Lösung ist die Datensicherung in den "Clouds", beispielsweise mit Ubuntu One, Dropbox, http://www.adrive.com/ und anderen.

    Weder die Spiegelung noch die Replikation auf Ubuntu One werden Sie davor bewahren, versehentlich die Entf-Taste zu drücken, also machen Sie trotzdem „klassische“ Backups. Und eines schönen schrecklichen Tages werden all deine Mühen und Bemühungen belohnt.

    Rufus- frei Software offen Quellcode zum Formatieren von USB-Wechseldatenträgern und zum Erstellen bootfähiger Laufwerke mit verschiedenen Betriebssystemen. Das Programm ist einfach zu bedienen, schnell und unterstützt eine mehrsprachige Benutzeroberfläche.

Sie können das Programm auf der Website des Entwicklers herunterladen. Die Seite enthält Links zum Herunterladen der Standardversion Rufus, und tragbar Rufus tragbar, die sich in nichts unterscheiden, außer dem Namen der ausführbaren Datei und dem Speicherort der Einstellungen. Die Programmeinstellungen beinhalten die verwendete Sprache und die Einstellungen für die Suche nach Updates. Die Standardversion speichert diese Einstellungen in der Registrierung, während die portable Version sie in einer Datei speichert rufus.ini Programmverzeichnis. Rufus erfordert keine Installation auf dem System - laden Sie einfach die ausführbare Datei herunter und führen Sie sie aus. Die Programmoberfläche ist sehr einfach:

Im Allgemeinen das Programm Rufus ist nichts Einzigartiges im Bereich der Tools zum Erstellen bootfähiger Medien und sein Hauptvorteil ist die Benutzerfreundlichkeit. Um mit seiner Hilfe ein bootfähiges Flash-Laufwerk zu erstellen, reicht es aus, das ursprüngliche Image des bootfähigen Systems zu haben und auf die Schaltfläche „Start“ klicken zu können. Alle wählbaren Parameter und Einstellungen sind standardmäßig bereits für die Verwendung des Programms zum Arbeiten auf einem Computer mit einer Standardkonfiguration ausgelegt.

Am einfachsten und bequemsten zu bedienen Rufus um ein bootfähiges Flash-Laufwerk (bootfähiges USB-Laufwerk) aus ISO-Images von Windows- oder Linux-Installationsdatenträgern sowie Notfall-Systemwiederherstellungsdatenträgern und Diagnosetools zu erstellen.

Beim Erstellen eines bootfähigen Windows-Flash-Laufwerks reicht es aus, das Gerät auszuwählen, auf dem die Aufzeichnung durchgeführt werden soll, und die bootfähige ISO-Image-Datei. Andere Parameter ersetzt das Programm selbst.

Wenn keine ISO-Image-Datei verfügbar ist, kann sie mithilfe von CD-/DVD-Brennprogrammen wie dem bekannten Nero, Alcohol oder frei vertriebenen CDBurnerXP oder ImgBurn von einer physischen CD (oder aus einer Reihe von Distributionsdateien) erstellt werden.

Das Verfahren zum Erstellen eines bootfähigen Windows-Flash-Laufwerks ist wie folgt:

  • Wählen Sie das Flash-Laufwerk aus, auf das das Image geschrieben werden soll. Im Gegensatz zu vielen ähnlichen Programmen zeigt Rufus die Datenträgerbezeichnung, den Laufwerksbuchstaben und die Größe an. Wenn also mehrere Wechseldatenträger im System vorhanden sind, ist es einfach, denjenigen auszuwählen, auf den geschrieben werden soll.

  • Wählen Sie das Partitionsschema und den Typ der Systemschnittstelle aus. Mit Rufus können Sie Flash-Laufwerke zum Booten in einer normalen BIOS-Oberfläche und zum Booten in einer UEFI-Umgebung erstellen und Boot-Datensätze für MBR-Volumes und GPT-Volumes erstellen. Der Standardmodus ist „MBR für Computer mit BIOS oder UEFI“ – der heute am häufigsten verwendete Modus für bootfähige Flash-Laufwerke.

  • Wählen Sie das Dateisystem aus, das auf dem erstellten bootfähigen Flash-Laufwerk verwendet werden soll. Bootfähige Windows-Flash-Laufwerke verwenden standardmäßig das Dateisystem FAT32, aber bei Bedarf können Sie wählen NTFS wenn Sie Dateien größer als 4 GB verwenden möchten.

  • Legen Sie die Clustergröße fest. Die Clustergröße wird vom Programm anhand der Bilddaten und des Dateisystemtyps ausgewählt, kann aber bei Bedarf geändert werden.

  • Geben Sie die Datenträgerbezeichnung an, die für das erstellte Flash-Laufwerk festgelegt wird.

  • Formatierungsoptionen festlegen. Belassen Sie diese Optionen am besten auf den Standardeinstellungen und wählen Sie einfach die ISO-Image-Datei aus. Für vom Programm erstellte Bilder dd Unter Linux müssen Sie die Option auswählen DD-Bild.

    Nach dem Drücken der Taste Anfang Das Programm formatiert das Flash-Laufwerk, setzt das aktive Partitions-Flag, schreibt den Master Boot Record und den Partition Boot Record sowie bootfähige Mediendaten aus dem ISO-Image. Nach Abschluss der Arbeiten Rufus Sie können mit dem resultierenden bootfähigen Flash-Laufwerk booten.

    Verwenden von Virtualisierungstechnologie zum Testen bootfähiger Flash-Laufwerke. Laden Sie Links für kostenlose und praktische Programme herunter, um das Erstellen, Debuggen und Überprüfen der erstellten bootfähigen Medien zu vereinfachen.

  • mob_info