So sichern Sie BTRFS -Schnappschüsse auf externe Laufwerke

So sichern Sie BTRFS -Schnappschüsse auf externe Laufwerke

Standardmäßig können Sie die Snapshots, die Sie Ihrer BTRFS -Subvolumes in denselben BTRFS -Dateisystem entgegennehmen. Das BTRFS -Dateisystem bietet Ihnen jedoch die erforderlichen Tools, um Schnappschüsse eines BTRFS -Dateisystems auf ein anderes BTRFS -Dateisystem zu sichern. Dieser Artikel zeigt, wie Sie BTRFS -Snapshots in einem externen BTRFS -Dateisystem auf einem externen Laufwerk sichern können.

Voraussetzungen

Um die in diesem Artikel enthaltenen Beispiele auszuprobieren, müssen Sie die folgenden Voraussetzungen erfüllen:

  • Lassen Sie das BTRFS -Dateisystem auf Ihrem Computer installiert.
  • Haben Sie eine Festplatte oder SSD mit mindestens 2 freien Partitionen (einer beliebigen Größe).

Ich habe die 20 GB Festplatte, SDB, Auf meiner Ubuntu -Maschine. Ich habe zwei Partitionen erstellt, SDB1 Und SDB2, auf dieser Festplatte.

$ sudo lsblk -e7

Notiz: Ihre Festplatte oder SSD hat einen anderen Namen als meine, ebenso wie die Partitionen. Ersetzen Sie diese Namen von nun an unbedingt durch Ihre Namen.


Ich erstelle BTRFS -Dateisysteme auf der SDB1 und das SDB2 Partitionen. Die Snapshots, die im BTRFS -Dateisystem erstellt wurden (SDB1) wird auf das auf dem erstellte BTRFS -Dateisystem gesichert SDB2 Trennwand. Das auf dem erstellte BTRFS -Dateisystem SDB2 Die Partition fungiert als externes Laufwerk. Sie können auch ein USB -Daumenantrieb oder eine externe Festplatte verwenden. Stellen Sie einfach sicher, dass Sie es mit dem BTRFS -Dateisystem formatieren.

Um Unterstützung bei der Installation des BTRFS -Dateisystems in Ubuntu zu installieren.04 LTS.

Um Unterstützung bei der Installation des BTRFS -Dateisystems in Fedora zu installieren.

Erstellen der erforderlichen BTRFS -Dateisysteme

Ich werde beide formatieren SDB1 Und SDB2 Partitionen als BTRFS. Ich werde das verwenden SDB1 Partition zum Speichern der Daten und BTRFS -Snapshots. Ich werde das verwenden SDB2 Partition zum Sichern der Schnappschüsse des auf dem erstellten BTRFS -Dateisystems SDB1 Trennwand.

So erstellen Sie ein BTRFS -Dateisystem auf dem SDB1 Partition und geben Sie ihm die Dateisystem -Etikettendaten und führen Sie den folgenden Befehl aus:

$ sudo mkfs.BTRFS -L -Daten /Dev /SDB1

Ein BTRFS -Dateisystem sollte nun auf dem erstellt werden SDB1 Trennwand.

So erstellen Sie ein BTRFS -Dateisystem auf dem SDB2 Partition und geben Sie ihm die Dateisystem -Label -Snapshots und führen Sie den folgenden Befehl aus:

$ sudo mkfs.btrfs -l snapshots /dev /sdb2

Ein BTRFS -Dateisystem sollte nun auf dem erstellt werden SDB2 Trennwand.

Erstellen Sie die Verzeichnisse /Daten Und /Schnappschüsse für die Montage der SDB1 Und SDB2 Partitionen wie folgt:

$ sudo mkdir -v /Daten, Snapshots

Montieren Sie das BTRFS -Dateisystem, das Sie auf dem erstellt haben SDB1 Partition über das /data -Verzeichnis wie folgt:

$ sudo montage /dev /sdb1 /Daten

Auf die gleiche Weise montieren Sie das BTRFS -Dateisystem, das Sie auf dem erstellt haben SDB2 Partition auf der /Schnappschüsse Verzeichnis wie folgt:

$ sudo montage /dev /sdb2 /snapshots

Wie Sie im folgenden Screenshot sehen können, sind beide BTRFS -Dateisysteme (SDB1 Und SDB2 Partitionen) wurden korrekt montiert.

$ df -h -t btrfs

Machen Sie Schnappschüsse eines BTRFS -Dateisystems

In diesem Abschnitt werden wir das Dummy -Projekt erstellen Web1 auf der /Daten/Projekte/Web1 BTRFS Subvolume. Wir werden in diesem Abschnitt einen Schnappschuss dieses Subvolume sowie einige andere Schnappschüsse in späteren Abschnitten dieses Artikels aufnehmen.

Erstellen Sie zunächst das neue Verzeichnis /Daten/Projekte, folgendermaßen:

$ sudo mkdir -v /Daten /Projekte

Erstellen Sie als nächstes das neue Subvolume Web1 im /Daten-/Projektverzeichnis, folgendermaßen:

$ sudo btrfs subvolume create/data/projects/web1

Erstellen Sie schließlich den neuen Dateiindex.html in der /Daten/Projekte/Web1 Subvolume mit dem Nano -Texteditor wie folgt:

$ sudo nano/data/projects/web1/index.html

Geben Sie die folgenden Codezeilen im Index ein.HTML -Datei:




Demo -Website



Hallo Welt




Sobald Sie fertig sind, drücken Sie <Strg> + X gefolgt von Y Und <Eingeben> um das zu retten Index.HTML -Datei.

Erstellen Sie die neue Datei auf die gleiche Weise Stil.CSS im /Daten/Projekte/Web1 Subvolume folgendermaßen:

$ sudo nano/data/projects/web1/style.CSS


Geben Sie die folgenden Codezeilen in die Stil.CSS Datei:

H1
Farbe grün;

Sobald Sie fertig sind, drücken Sie <Strg> + X gefolgt von Y Und <Eingeben> um das zu retten Stil.CSS Datei.

Jetzt die /Daten/Projekte/Web1 Subvolume enthält die Index.html Und Stil.CSS -Datei.

$ ls -lh/Daten/Projekte/Web1

Wir werden alle Schnappschüsse dieses BTRFS -Dateisystems in der /Daten/.Schnappschüsse Verzeichnis.

Erstellen Sie zunächst die /Daten/.Schnappschüsse Verzeichnis mit dem folgenden Befehl:

$ sudo mkdir -v /data /.Schnappschüsse

Erstellen Sie als Nächst /Daten/.Snapshots/Web1-2020-12-30 des /Daten/Projekte/Web1 Subvolume mit dem folgenden Befehl:

$ sudo btrfs subvolume snapshot -r/data/projects/web1/data/.Snapshots/Web1-2020-12-30

Wie Sie sehen können, der neue Schnappschuss /Daten/.Snapshots/Web1-2020-12-30 wurde erschaffen.

$ sudo btrfs subvolume liste /Daten

Sichern Sie Schnappschüsse auf externes Laufwerk

Um den Schnappschuss zu sichern /Daten/.Snapshots/Web1-2020-12-30 zu einem anderen BTRFS -Dateisystem (externer Laufwerk SDB2, in diesem Fall), der auf dem montiert ist /Schnappschüsse Verzeichnis, führen Sie den folgenden Befehl aus:

$ sudo btrfs send /daten /.Snapshots/Web1-2020-12-30 | sudo btrfs empfangen /snapshots

Der Schnappschuss /Daten/.Snapshots/Web1-2020-12-30 sollte auf das externe BTRFS -Dateisystem zurückgegriffen werden (SDB2) auf dem montiert /Schnappschüsse Verzeichnis.

Wie Sie sehen können, die Neues subvolume Web1-2020-12-30 wurde im externen BTRFS -Dateisystem erstellt.

$ sudo btrfs subvolume liste /snapshots

Der Snapshot Web1-2020-12-30 sollte die gleichen Dateien haben/Verzeichnisse als die /Daten/.Snapshots/Web1-2020-12-30 Schnappschuss.

$ tree -a /snapshots

Sie können weitere Informationen über den unterstützten Snapshot erhalten /Snapshosts/Web1-2020-12-30 folgendermaßen:

$ sudo btrfs subvolume show /snapshots /web1-2020-12-30

Inkrementelle Sicherung von Schnappschüssen zum externen Laufwerk

Wenn es in den Schnappschüssen viele Dateien gibt, die sich auf ein externes Laufwerk zurückziehen können, können Sie inkrementellen Sicherungen den Sicherungsvorgang beschleunigen. In diesem Fall aktualisiert BTRFS nur die Dateien, die sich seit dem letzten Snapshot geändert haben, und kopieren neue Dateien, die im letzten Snapshot nicht verfügbar waren.

In diesem Abschnitt werde ich Ihnen zeigen.

Öffnen Sie zuerst die Index.HTML -Datei von dem /Daten/Projekte/Web1 Subvolume, folgendermaßen:

$ sudo nano/data/projects/web1/index.html

Nehmen Sie alle Änderungen vor, die Sie am möchten Index.HTML -Datei. Sobald Sie fertig sind, drücken Sie <Strg> + X gefolgt von Y Und <Eingeben> um das zu retten Index.html Datei.

Nehmen Sie einen neuen schreibgeschützten Schnappschuss von der /Daten/Projekte/Web1 Subvolume, folgendermaßen:

$ sudo btrfs subvolume snapshot -r/data/projects/web1/data/.Snapshots/Web1-2020-12-31

Wie Sie sehen können, der neue Schnappschuss /Daten/.Snapshots/Web1-2020-12-31 des /Daten/Projekte/Web1 Subvolume wurde erschaffen.

$ sudo btrfs subvolume liste /Daten

Jetzt sind wir bereit, eine inkrementelle Sicherung zu nehmen.

Um eine inkrementelle Sicherung zu ergreifen. Der gemeinsame Schnappschuss ist normalerweise der neueste Schnappschuss eines BTRFS -Subvolume. Wenn Sie einen neuen Snapshot auf dem Quell -BTRFS -Dateisystem aufnehmen. BTRFS berechnet die Differenz und sendet nur die erforderlichen Daten an das BTRFS -Dateisystem des Ziels (das externe Laufwerk) (das externe Laufwerk).

Zum Beispiel eine inkrementelle Sicherung der /Daten/.Snapshots/Web1-2020-12-31 Snapshot, Sie müssen den übergeordneten Snapshot angeben (den neuesten Snapshot, der sowohl für Quell- als auch für das Ziel -BTRFS -Dateisystem verfügbar ist), /Daten/.Snapshots/Web1-2020-12-30, sowie.

Eine inkrementelle Sicherung der /Daten/.Snapshots/Web1-2020-12-31 Snapshot kann wie folgt in ein externes BTRFS -Dateisystem gebracht werden:

$ sudo btrfs senden -p /data /.Snapshots/Web1-2020-12-30/Daten/.Snapshots/Web1-2020-12-31 | sudo btrfs empfangen /snapshots

Eine inkrementelle Sicherung der /Daten/.Snapshots/Web1-2020-12-31 Snapshot sollte genommen werden.

Wie Sie sehen können, die Web1-2020-12-31 Snapshot wurde auf das externe BTRFS -Dateisystem auf dem neu gestalteten /Schnappschüsse Verzeichnis.

$ sudo btrfs subvolume liste /snapshots

Wie Sie im folgenden Screenshot sehen können, haben Sie die Änderungen, die Sie an der vorgenommen haben Index.HTML -Datei sind in der erhältlich Web1-2020-12-31 Snapshot Das wurde im externen BTRFS -Dateisystem unterstützt.

$ cat/snapshots/web1-2020-12-31/Index.html

Auf die gleiche Weise können Sie so viele inkrementelle Sicherungen Ihrer Schnappschüsse nehmen, wie Sie möchten.

Ich werde Ihnen zeigen, wie Sie noch einmal eine inkrementelle Sicherung durchführen. Ich werde mich nicht die Zeit nehmen, es noch einmal zu erklären. Stattdessen werde ich Ihnen nur den Prozess aus Klarheit zeigen.

Öffne das Index.HTML -Datei von dem /Daten/Projekte/Web1 Subvolume, folgendermaßen:

$ sudo nano/data/projects/web1/index.html

Nehmen Sie alle Änderungen vor, die Sie am möchten Index.HTML -Datei. Sobald Sie fertig sind, drücken Sie <Strg> + X gefolgt von Y Und <Eingeben> um das zu retten Index.HTML -Datei.

Nehmen Sie einen neuen schreibgeschützten Schnappschuss von der /Daten/Projekte/Web1 Subvolume, folgendermaßen:

$ sudo btrfs subvolume snapshot -r/data/projects/web1/data/.Snapshots/Web1-2020-12-31_2

Nehmen Sie eine inkrementelle Sicherung der /Daten/.Snapshots/Web1-2020-12-31_2 Snapshot zu einem externen BTRFS -Dateisystem wie folgt:

$ sudo btrfs senden -p /data /.Snapshots/Web1-2020-12-31/Daten/.Snapshots/Web1-2020-12-31_2 | sudo btrfs empfangen /snapshots

Notiz: Nun der übergeordnete Schnappschuss, zu dem die /Daten/.Snapshots/Web1-2020-12-31_2 Snapshot wird verglichen ist /Daten/.Snapshots/Web1-2020-12-31.

Wie Sie sehen können, die Web1-2020-12-31_2 Snapshot wurde auf das externe BTRFS -Dateisystem auf dem auf dem /Schnappschüsse Verzeichnis.

$ sudo btrfs subvolume liste /snapshots

Wie Sie im folgenden Screenshot sehen können, haben die jüngsten Änderungen an der Index.HTML -Datei sind auf der verfügbar Web1-2020-12-31_2 Snapshot Zurück zum externen BTRFS -Dateisystem.

$ cat/snapshots/web1-2020-12-31_2/index.html

Dinge sauber halten

Wenn Sie Ihre BTRFS -Schnappschüsse häufig sichern, werden Sie viele Schnappschüsse haben, und es kann schwierig werden, sie zu verwalten. Zum Glück können Sie jeden Schnappschuss aus dem BTRFS -Dateisystem entfernen.

Wenn Sie ein ausreichend ausreichend ausreichend großes Laufwerk verwenden, um Sicherungen der BTRFS -Snapshots zu erhalten.

Wenn Sie ein kleineres externes Laufwerk verwenden, können Sie nur die wichtigsten Schnappschüsse auf dem externen Laufwerk selektiv halten.

Um Sicherungen Ihrer BTRFS -Snapshots durchzuführen, müssen Sie mindestens den neuesten Snapshot für beide Quellen behalten (/Daten/.Schnappschüsse) und das Ziel (/Schnappschüsse - externes Laufwerk) BTRFS -Dateisysteme. Entfernen Sie also gerne andere Schnappschüsse als den neuesten Schnappschuss an beiden Enden.

In diesem Fall ist der neueste Schnappschuss beispielsweise Web1-2020-12-31_2. Um inkrementelle Sicherungen durchzuführen, muss dieser Schnappschuss auf der Quelle und dem Ziel (externes Laufwerk) BTRFS -Dateisysteme aufbewahrt werden.

Angenommen, Sie möchten die entfernen /Daten/.Schnappschüsse/Web1-2020-12-30 Snapshot.

Führen Sie dazu den folgenden Befehl aus:

$ sudo btrfs subvolume löschen /daten /.Snapshots/Web1-2020-12-30

Der BTRFS Snapshot /Daten/.Snapshots/Web1-2020-12-30 sollte jetzt entfernt werden.

Auf die gleiche Weise können Sie die entfernen /Daten/.Snapshots/Web1-2020-12-31 Snapshot, folgendermaßen:

$ sudo btrfs subvolume löschen /daten /.Snapshots/Web1-2020-12-31

Jetzt nur der neueste Schnappschuss, /Daten/.Snapshots/Web1-2020-12-31_2, ist im BTRFS -Dateisystem verfügbar, das auf dem montiert ist /Daten Verzeichnis. Die anderen Schnappschüsse werden auf dem externen Laufwerk gesichert, der auf dem montiert ist /Schnappschüsse Verzeichnis.

$ sudo btrfs subvolume liste /Daten
$ sudo btrfs subvolume liste /snapshots

Wiederherstellung von Schnappschüssen aus dem externen Laufwerk

Wenn Sie Ihre Schnappschüsse auf dem externen Laufwerk gesichert haben, können Sie sie jederzeit vom externen Laufwerk wiederherstellen.

Zum Beispiel habe ich das entfernt Web1-2020-12-30 Snapshot Aus meinem BTRFS -Dateisystem, montiert auf dem /Daten Verzeichnis. Dieser Schnappschuss wird jedoch auf dem externen Laufwerk gesichert, der auf dem montiert ist /Schnappschüsse Verzeichnis. Lassen Sie uns diesen Schnappschuss wiederherstellen.

$ sudo btrfs subvolume liste /snapshots

Um die wiederherzustellen Web1-2020-12-30 Snapshot Führen Sie aus dem externen Laufwerk den folgenden Befehl aus:

$ sudo btrfs send /snapshots /web1-2020-12-30 | sudo btrfs empfangen /daten /.Schnappschüsse

Der Snapshot Web1-2020-12-30 sollte auf dem auf dem montierten BTRFS -Dateisystem wiederhergestellt werden /Daten Verzeichnis.

Wie Sie sehen können, die Web1-2020-12-30 Snapshot wird auf dem auf dem montierten BTRFS -Dateisystem wiederhergestellt /Daten Verzeichnis.

$ sudo btrfs subvolume liste /Daten

Und wie Sie sehen können, den Inhalt der Index.html Datei aus der Web1-2020-12-30 Snapshot. Dies ist die erste Version der Index.html Datei von vor.

$ cat /data /.Snapshots/Web1-2020-12-30/Index.html

Abschluss

In diesem Artikel haben Sie gelernt, wie Sie Schnappschüsse Ihres BTRFS -Dateisystems auf ein externes Laufwerk sichern können. Sie haben auch gelernt, wie Sie inkrementelle Sicherungen Ihrer BTRFS -Snapshots zu einem externen Laufwerk bringen. Schließlich haben Sie gelernt, wie Sie vorhandene Schnappschüsse aus einem BRTFS -Dateisystem entfernen und Schnappschüsse auch aus dem externen Laufwerk wiederherstellen.