Diskussion zu Backup-Strategien mit snapshots

Status
Für weitere Antworten geschlossen.

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Hallo,

nach einem knappen Jahr als Synologist will ich mein System jetzt neu aufbauen und mache mir mal wieder Gedanken über meine Datensicherung.

Soweit möglich will ich dazu die Bordmittel oder auch getestete 3rd Party-Pakete verwenden, an den Punkten wo das nicht geht steige ich aber gerne auch selbst in die shell-Programmierung hinab. Allerdings, trotz allem Verständnis von Programmierung allgemein bin ich noch immer Linux-Anfänger und würde mich daher freuen, wenn die Wissenden mir hier unter die Arme greifen.

Zur Aufgabenstellung:

Bisher habe ich u.a. TimeBackup verwendet, weil dies beim Start irgendwie einen snapshot anlegt und dann diesen sichert. Mit den Daten kann ich während des Backups bedenkenlos weiter arbeiten. Dies ist insbesondere wichtig, weil ich eben keine Filme und Fotos sichere sondern alle möglichen betrieblichen Daten, u.a. auch TC-Container, und die müssen konsistent sein.

Nun will ich künftig (zumindest teilweise) mit der DS-Verschlüsselung arbeiten, (weil sie einfach handlicher ist als meine TC-Container,) und da Time Backup keine DS-verschlüsselten Daten sichert brauche ich eine andere Lösung mit folgenden Anforderungen:

- Sicherung auch von DS-verschlüsselten Daten
- Backup nicht von den eigentlichen Live-Daten sondern von einem konsistenten snapshot derselben
- Versionssicherung

Ich bin durchaus bereit, dies in zwei Stufen zu machen, also:

- Stufe 1: snapshot-Sicherung der Live-Daten in ein Zwischen-Backup
- Stufe 2: Nutzung des Zwischenbackups als Quelle der Versionssicherung

Das Zwischenbackup wird zwar nochmals so viel Platz brauchen wie meine Live-Daten, das ist aber egal, den spendiere ich. Außerdem hat das den Vorteil, dass man im Fall der Wiederherstellung irgend eines Standes aus der Versionssicherung ebenfalls zurück auf das Zwischenbackup schreiben kann statt damit direkt die Live-Daten zu überschreiben.

Primär scheint mir das Problem in Stufe 1 zu liegen. Bevor ich nun in einer bestimmten Richtung weiter mache:

Frage 1: Hat jemand dazu Ideen?
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Lösungsansatz mit LVM (lvcreate)

Mal unabhängig davon welche anderen Lösungen es noch gibt, will ich mal einen Ansatz vorstellen, der seinerseits allerdings auch wieder eine Menge Fragen aufwirft:

Tante Gurgel hat mich auf LVM snapshots gebracht. Auch wenn ich nicht allzu viel davon verstehe, ich führe mal kurz vor, was ich so testweise hinbekommen bzw. nicht hinbekommen habe:

Es folgt ein Script mit folgenden Teilen:

Im Teil 1 werden Variable definiert, also das Volume von dem ein Snapshot erzeugt werden soll usw.

Im Teil 2 wird ein ggf. vom Durchlauf zuvor noch vorhandener Snapshot gelöscht.

Im Teil 3 wird eine Testdatei im Originalvolume angelegt, die dann später nach Anlegen des snapshots im Originalvolume gelöscht wird. Damit kann dann später getestet werden, ob der snapshot die Datei trotz der Löschung im Original beibehält. Ferner wird im Teil 3 der aktuelle Stand des Testverzeichnisses und eine Liste der logischen Volumes gezeigt.

Im Teil 4 steht ein sleep. Aus mir nicht erklärlichen Gründen wird der gebraucht, damit es die im Teil 3 angelegte Testdatei in den snapshot schafft. Ohne den sleep ist sie im snapshot noch nicht drin.

Im Teil 5 wird dann der snapshot angelegt und in einem Verzeichnis eines anderen Volumes gemountet.

Im Teil 6 wird der Status nach Anlegen des Snapshots dargestellt.

Im Teil 7 werden Änderungen an den Daten im Originalvolume vorgenommen und gezeigt, dass der snapshot durch die Änderungen tatsächlich nicht modifiziert wird.

Damit erziele ich grundsätzlich das gewünschte Ergebnis eines Snapshots, den ich auf der Konsole und im DSM problemlos weiterkopieren kann. Allerdings will TimeBackup den snapshot direkt nicht verarbeiten, es meldet sich fertig ohne etwas kopiert zu haben. Bei D&R verhält es sich nach meinen bisherigen Beobachtungen wie folgt:

Verhalten der Sicherung mit D&R mit dem snapshot als Quelle:
- Synchronisierung über Netzwerk auf einen Ordner: funktioniert.
- Sicherung über Netzwerk auf einen Ordner: funktioniert.
- Sicherung auf einen lokalen Ordner: funktioniert nur beim ersten Mal. Danach werden geänderte Dateien nicht mehr neu kopiert.
- Versions-Sicherung auf Volumen lokal / Netz: funktioniert in beiden Fällen nicht, genau wie bei Time Backup wird überhaupt nichts kopiert.

Dazu folgende Fragen:

Frage 2: Was haltet ihr grundsätzlich davon?

Frage 3: Kann jemand den im Teil 4 beschriebenen Effekt erklären? Wieso dauert es mehrere Sekunden, bevor eine neu angelegte Datei in einen Snapshot übernommen wird?

Frage 4: Kann jemand die Effekte mit Time Backup und D&R erklären?

Frage 5: Ich habe den snapshot von einem RAID-Volume erzeugt, das auf einer Diskgruppe residiert (kein SHR). Ich habe es nicht hinbekommen mit meinem RAID Volume 1, das ohne Diskgruppe direkt auf den Platten sitzt, da fehlt mir für lvcreate der logische volume name. Hat jemand eine Idee, ob bzw. wie das in dem Fall geht?

Frage 6: Hat jemand andere Ideen einen snapshot anzulegen, zum Beispiel nicht von einem ganzen Volume sondern nur von einem Ordner?


Es folgen der Script und die Logdatei dazu (alles ohne Gewähr und Haftung natürlich).

Anmerkung: Nach erfolgtem Backup muss der snapshot wieder gelöscht werden, sonst wächst er bis zur definierten Größe ständig an und wird dann ungültig. Wie das gemacht wird, siehe Teil 2. Auch sollte man sich Gedanken über die passende Größe machen (siehe lvcreate), und auf der Volume-Group (Diskgruppe) muss der nötige Platz auch vorhanden sein.
 
Zuletzt bearbeitet:

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Dazu der Script.

Rich (BBCode):
#!/bin/sh
echo "-------------------------------------------------------------------------------"
echo "LVM Snap Create" 
echo "Beta 0.1 "
echo "Autor: Galileo, Lizenz: BSD"
echo $(date) 
NOTIFYTO="admin"  # <----- Für DSM Meldungen 
echo " "
echo "-------------------------------------------------------------------------------"
echo "Teil 1: Variable"
echo "-------------------------------------------------------------------------------"
echo " "
echo "Pfad des Volumes von dem ein Snapshot erzeugt werden soll"
SOURCEPATH="/volume2"  
echo $SOURCEPATH
echo " "
echo "davon Logisches Volume"
SOURCEVOL="/dev/vg1/volume_2"
echo $SOURCEVOL
echo " "
echo "Dieses Volume soll der Snapshot werden"
SNAPVOL="/dev/vg1/snap_vol_2"  
echo $SNAPVOL
echo " "
echo "Hier soll das Snap-Volume gemountet werden, der freigegebene Ordner snap_mount_poit existiert zuvor"
MOUNTPATH="/volume5/snap_mount_point/snap_vol_2"
echo $MOUNTPATH
echo " "
echo "-------------------------------------------------------------------------------"
echo "Teil 2: Alten Snapshot entfernen falls noch vorhanden"
echo "-------------------------------------------------------------------------------"
echo " "
echo "Unmount Snapshot falls noch gemountet "
echo umount $SNAPVOL
umount $SNAPVOL 
echo " "
echo "Snapshot entfernen falls noch vorhanden "
echo lvremove -f $SNAPVOL 
lvremove -f $SNAPVOL 
echo " "
echo "Mountverzeichnis loeschen falls noch vorhanden "
echo rmdir $MOUNTPATH
rmdir $MOUNTPATH
echo " "
echo "-------------------------------------------------------------------------------"
echo "Teil 3: Testdatei anlegen, Inhalt des Original-Volumes und Liste der Volumes"
echo "-------------------------------------------------------------------------------"
echo " "
echo "Testdatei anlegen in" $SOURCEPATH
echo "echo Hello World > /volume2/HelloWorld"
echo Hello World > /volume2/HelloWorld
echo " "
echo "Aktueller Inhalt" $SOURCEPATH
echo ls -l $SOURCEPATH
ls -l $SOURCEPATH
echo " "
echo "Uebersicht logische Volumes"
echo lvm lvs
lvm lvs
echo " "
echo "-------------------------------------------------------------------------------"
echo "Teil 4: Unerklärter Effekt"
echo "-------------------------------------------------------------------------------"
echo " "
echo "Seltsamer Effekt: Ohne den folgenden sleep 10 wird die neue Datei "HelloWorld" beim Anlegen des Snapshot noch nicht übernommen (Grenzwert etwa 5)"
echo sleep 10
sleep 10
echo " "
echo "-------------------------------------------------------------------------------"
echo "Teil 5: Snapshot erzeugen"
echo "-------------------------------------------------------------------------------"
echo " "
echo "Mountverzeichnis anlegen "
echo mkdir $MOUNTPATH
mkdir $MOUNTPATH
if [ $? != "0" ]
then
	echo "Mountverzeichnis nicht angelegt" 
	/usr/syno/bin/synodsmnotify $NOTIFYTO "abnormal beendet."
	exit 2
fi;
echo " "
echo "Snapshot Volume anlegen"
echo lvcreate -L 100G -s -n $SNAPVOL $SOURCEVOL
lvcreate -L 100G -s -n $SNAPVOL $SOURCEVOL
if [ $? != "0" ]
then
	echo "Snapshot nicht angelegt" 
	/usr/syno/bin/synodsmnotify $NOTIFYTO "abnormal beendet."
	exit 2
fi;
echo " "
echo "Snapshot Volume mounten"
mount $SNAPVOL $MOUNTPATH
echo mount $SNAPVOL $MOUNTPATH
if [ $? != "0" ]
then
	echo "Snapshot nicht gemountet" 
	/usr/syno/bin/synodsmnotify $NOTIFYTO "abnormal beendet."
	exit 2
fi;
echo " "
echo "-------------------------------------------------------------------------------"
echo "Teil 6: Status nach erzeugen des Snapshot"
echo "-------------------------------------------------------------------------------"
echo " "
echo "Uebersicht logische Volumes"
echo lvm lvs
lvm lvs
echo " "
echo "Aktueller Inhalt" $SOURCEPATH
echo ls -l $SOURCEPATH
ls -l $SOURCEPATH
echo " "
echo "Aktueller Inhalt" $MOUNTPATH
echo ls -l $MOUNTPATH
ls -l $MOUNTPATH
echo " "
echo "-------------------------------------------------------------------------------"
echo "Teil 7: Daten ändern und dabei Originaldaten und snapshot beobachten"
echo "-------------------------------------------------------------------------------"
echo " "
echo "Testdatei loeschen in" $SOURCEPATH
echo rm /volume2/HelloWorld
rm /volume2/HelloWorld
echo " "
echo "Andere Testdatei anlegen in" $SOURCEPATH
echo "echo ByeBye World > /volume2/ByeByeWorld"
echo ByeBye World > /volume2/ByeByeWorld
echo " "
echo "Aktueller Inhalt Originaldaten" $SOURCEPATH "mit geändertem Inhalt:"
echo ls -l $SOURCEPATH
ls -l $SOURCEPATH
echo " "
echo "Aktueller Inhalt snapshot" $MOUNTPATH "unveraendert:"
echo ls -l $MOUNTPATH
ls -l $MOUNTPATH
echo " "
echo "Nochmals nachsehen nach 10 Sekunden:"
echo sleep 10
sleep 10
echo " "
echo "Aktueller Inhalt" $SOURCEPATH "wie gehabt."
echo ls -l $SOURCEPATH
ls -l $SOURCEPATH
echo " "
echo "Aktueller Inhalt" $MOUNTPATH "wie gehabt."
echo ls -l $MOUNTPATH
ls -l $MOUNTPATH
echo " "
rm /volume2/HelloWorld
rm /volume2/ByeByeWorld
exit 0
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Und der vom Script erzeugte Log

Rich (BBCode):
-------------------------------------------------------------------------------
LVM Snap Create
Beta 0.1 
Autor: Galileo, Lizenz: BSD
Mon Dec 29 21:52:51 CET 2014
 
-------------------------------------------------------------------------------
Teil 1: Variable
-------------------------------------------------------------------------------
 
Pfad des Volumes von dem ein Snapshot erzeugt werden soll
/volume2
 
davon Logisches Volume
/dev/vg1/volume_2
 
Dieses Volume soll der Snapshot werden
/dev/vg1/snap_vol_2
 
Hier soll das Snap-Volume gemountet werden, der freigegebene Ordner snap_mount_poit existiert zuvor
/volume5/snap_mount_point/snap_vol_2
 
-------------------------------------------------------------------------------
Teil 2: Alten Snapshot entfernen falls noch vorhanden
-------------------------------------------------------------------------------
 
Unmount Snapshot falls noch gemountet 
umount /dev/vg1/snap_vol_2
 
Snapshot entfernen falls noch vorhanden 
lvremove -f /dev/vg1/snap_vol_2
  Logical volume "snap_vol_2" successfully removed
 
Mountverzeichnis loeschen falls noch vorhanden 
rmdir /volume5/snap_mount_point/snap_vol_2
 
-------------------------------------------------------------------------------
Teil 3: Testdatei anlegen, Inhalt des Original-Volumes und Liste der Volumes
-------------------------------------------------------------------------------
 
Testdatei anlegen in /volume2
echo Hello World > /volume2/HelloWorld
 
Aktueller Inhalt /volume2
ls -l /volume2
drwxrwxrwx    4 root     root          4096 Dec 28 18:17 @eaDir
d---------    5 root     root          4096 Dec 28 15:43 @testdata2ver@
drwxrwxrwx    3 root     root          4096 Dec 29 13:45 @tmp
-rw-r--r--    1 root     root            12 Dec 29 21:52 HelloWorld
-rw-------    1 root     root          6144 Dec 29 13:43 aquota.group
-rw-------    1 root     root          7168 Dec 29 13:43 aquota.user
drwx------    2 root     root         16384 Dec 28 15:21 lost+found
d---------    4 root     root          4096 Dec 28 15:43 testdata2uv
 
Uebersicht logische Volumes
lvm lvs
  LV                    VG   Attr   LSize    Origin Snap%  Move Log Copy%  Convert
  syno_vg_reserved_area vg1  -wi-a-   12.00M                                      
  volume_2              vg1  -wi-ao 1000.00G                                      
  volume_3              vg1  -wi-ao 1000.00G                                      
  volume_4              vg1  -wi-ao 1000.00G                                      
  volume_5              vg1  -wi-ao  400.00G                                      
 
-------------------------------------------------------------------------------
Teil 4: Unerklärter Effekt
-------------------------------------------------------------------------------
 
Seltsamer Effekt: Ohne den folgenden sleep 10 wird die neue Datei HelloWorld beim Anlegen des Snapshot noch nicht übernommen (Grenzwert etwa 5)
sleep 10
 
-------------------------------------------------------------------------------
Teil 5: Snapshot erzeugen
-------------------------------------------------------------------------------
 
Mountverzeichnis anlegen 
mkdir /volume5/snap_mount_point/snap_vol_2
 
Snapshot Volume anlegen
lvcreate -L 100G -s -n /dev/vg1/snap_vol_2 /dev/vg1/volume_2
  Logical volume "snap_vol_2" created
 
Snapshot Volume mounten
mount /dev/vg1/snap_vol_2 /volume5/snap_mount_point/snap_vol_2
 
-------------------------------------------------------------------------------
Teil 6: Status nach erzeugen des Snapshot
-------------------------------------------------------------------------------
 
Uebersicht logische Volumes
lvm lvs
  LV                    VG   Attr   LSize    Origin   Snap%  Move Log Copy%  Convert
  snap_vol_2            vg1  swi-ao  100.00G volume_2   0.00                        
  syno_vg_reserved_area vg1  -wi-a-   12.00M                                        
  volume_2              vg1  owi-ao 1000.00G                                        
  volume_3              vg1  -wi-ao 1000.00G                                        
  volume_4              vg1  -wi-ao 1000.00G                                        
  volume_5              vg1  -wi-ao  400.00G                                        
 
Aktueller Inhalt /volume2
ls -l /volume2
drwxrwxrwx    4 root     root          4096 Dec 28 18:17 @eaDir
d---------    5 root     root          4096 Dec 28 15:43 @testdata2ver@
drwxrwxrwx    3 root     root          4096 Dec 29 13:45 @tmp
-rw-r--r--    1 root     root            12 Dec 29 21:52 HelloWorld
-rw-------    1 root     root          6144 Dec 29 13:43 aquota.group
-rw-------    1 root     root          7168 Dec 29 13:43 aquota.user
drwx------    2 root     root         16384 Dec 28 15:21 lost+found
d---------    4 root     root          4096 Dec 28 15:43 testdata2uv
 
Aktueller Inhalt /volume5/snap_mount_point/snap_vol_2
ls -l /volume5/snap_mount_point/snap_vol_2
drwxrwxrwx    4 root     root          4096 Dec 28 18:17 @eaDir
drwxr-xr-x    5 root     root          4096 Dec 28 15:43 @testdata2ver@
drwxrwxrwx    3 root     root          4096 Dec 29 13:45 @tmp
-rw-r--r--    1 root     root             0 Dec 29 21:52 HelloWorld
-rw-------    1 root     root          6144 Dec 29 13:43 aquota.group
-rw-------    1 root     root          7168 Dec 29 13:43 aquota.user
drwx------    2 root     root         16384 Dec 28 15:21 lost+found
drwxr-xr-x    4 root     root          4096 Dec 28 15:43 testdata2uv
 
-------------------------------------------------------------------------------
Teil 7: Daten ändern und dabei Originaldaten und snapshot beobachten
-------------------------------------------------------------------------------
 
Testdatei loeschen in /volume2
rm /volume2/HelloWorld
 
Andere Testdatei anlegen in /volume2
echo ByeBye World > /volume2/ByeByeWorld
 
Aktueller Inhalt Originaldaten /volume2 mit geändertem Inhalt:
ls -l /volume2
drwxrwxrwx    4 root     root          4096 Dec 28 18:17 @eaDir
d---------    5 root     root          4096 Dec 28 15:43 @testdata2ver@
drwxrwxrwx    3 root     root          4096 Dec 29 13:45 @tmp
-rw-r--r--    1 root     root            13 Dec 29 21:53 ByeByeWorld
-rw-------    1 root     root          6144 Dec 29 13:43 aquota.group
-rw-------    1 root     root          7168 Dec 29 13:43 aquota.user
drwx------    2 root     root         16384 Dec 28 15:21 lost+found
d---------    4 root     root          4096 Dec 28 15:43 testdata2uv
 
Aktueller Inhalt snapshot /volume5/snap_mount_point/snap_vol_2 unveraendert:
ls -l /volume5/snap_mount_point/snap_vol_2
drwxrwxrwx    4 root     root          4096 Dec 28 18:17 @eaDir
drwxr-xr-x    5 root     root          4096 Dec 28 15:43 @testdata2ver@
drwxrwxrwx    3 root     root          4096 Dec 29 13:45 @tmp
-rw-r--r--    1 root     root             0 Dec 29 21:52 HelloWorld
-rw-------    1 root     root          6144 Dec 29 13:43 aquota.group
-rw-------    1 root     root          7168 Dec 29 13:43 aquota.user
drwx------    2 root     root         16384 Dec 28 15:21 lost+found
drwxr-xr-x    4 root     root          4096 Dec 28 15:43 testdata2uv
 
Nochmals nachsehen nach 10 Sekunden:
sleep 10
 
Aktueller Inhalt /volume2 wie gehabt.
ls -l /volume2
drwxrwxrwx    4 root     root          4096 Dec 28 18:17 @eaDir
d---------    5 root     root          4096 Dec 28 15:43 @testdata2ver@
drwxrwxrwx    3 root     root          4096 Dec 29 13:45 @tmp
-rw-r--r--    1 root     root            13 Dec 29 21:53 ByeByeWorld
-rw-------    1 root     root          6144 Dec 29 13:43 aquota.group
-rw-------    1 root     root          7168 Dec 29 13:43 aquota.user
drwx------    2 root     root         16384 Dec 28 15:21 lost+found
d---------    4 root     root          4096 Dec 28 15:43 testdata2uv
 
Aktueller Inhalt /volume5/snap_mount_point/snap_vol_2 wie gehabt.
ls -l /volume5/snap_mount_point/snap_vol_2
drwxrwxrwx    4 root     root          4096 Dec 28 18:17 @eaDir
drwxr-xr-x    5 root     root          4096 Dec 28 15:43 @testdata2ver@
drwxrwxrwx    3 root     root          4096 Dec 29 13:45 @tmp
-rw-r--r--    1 root     root             0 Dec 29 21:52 HelloWorld
-rw-------    1 root     root          6144 Dec 29 13:43 aquota.group
-rw-------    1 root     root          7168 Dec 29 13:43 aquota.user
drwx------    2 root     root         16384 Dec 28 15:21 lost+found
drwxr-xr-x    4 root     root          4096 Dec 28 15:43 testdata2uv
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Hi nochmal,

in der Hoffnung dass sich vielleicht doch irgendwann noch andere Leute damit befassen will ich mal ein paar Erkenntnisse ergänzen:

1.) Nur logische Volumes

Snapshots sind wohl tatsächlich nur von logischen Volumes machbar, d.h. das Volume muss auf einer Diskgruppe sitzen. Von physikalischen Volumes scheint es - zumindest mit lvcreate - tatsächlich nicht zu gehen.


2.) Zuordnung zur Volume Group

Der snapshot liegt in der selben volumegroup wie das Original-Volume. Selbst wenn man beim lvcreate eine andere vg angibt wird das ignoriert, also:

lvcreate -s -L 100G /dev/vg2/snap_vol_2 /dev/vg1/volume_2

erzeugt kommentarlos den snapshot:

/dev/vg1/snap_vol_2

weil volume_2 auf vg1 ist.


3) Performance

Beispiel 2015xs mit RAID 5 aus 6 * 4 TB WD RED PRO, Datenaustausch mit SSD-Volume:

- Lesen / Schreiben Originalvolume normal, ohne snapshot: 380 MB/s
- Lesen des Originalvolumes bei angelegtem Snapshot: 274 MB/s
- Lesen vom Snapshot: 175 MB/s
- Schreiben auf Originalvolume bei angelegtem Snapshot: 14 MB/s

Schreiben wird also während des Backups durch den snapshot stark verlangsamt, Lesen geht sehr gut.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Nur kurz ein unqualifizierter Zwischenruf, damit Du weißt, dass hier aktiv und mit großem Interesse rezipiert wird. Ich finde das Snapshot-Thema im Zusammenhang mit einer Datensicherung hochinteressant. Bei der Umstellung meiner Backups am Wochenende ist mir aufgefallen, dass Time Backup ein Snapshot-device erzeugt - Du hast es ja auch schon angedeutet. Falls jemand weiß, wie das geschieht, würde mich das auch nochmal interessieren.
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Danke für deine Rückmeldung. Wie heißt diese Device, wo siehst du die?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Kontrolliere ich beim nächsten Lauf und poste es dann.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Hier die Informationen: Das device heißt bei mir /dev/mapper/vol1-snap0 - es wird unter diesem Pfad eingehängt: /tmp/timebkp_<pid>/volume1, wobei <pid> durch die Process ID zu ersetzen ist. Es entspricht in der Größe, die df ausgibt, meinem volume1.
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Super, danke.

So wie ich das jetzt verstehe nutzt wohl der Logical Volume Manager LVM den Device Mapper DM, d.h. der LVM ist die höhere Ebene, erschließt aber nicht alles was der DM kann. Daher kriegen ich mit dem LVM die Methode nicht hin die TB benutzt. Allerdings sollte durch direkte Nutzung von dmsetup vielleicht das möglich sein, was TB macht.

Dazu mal Lesestoff.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Danke für den Link, werde ich mir baldmöglichst zu Gemüte führen. Was mich seit Deinem anderen Beitrag zum Absturz durch Sicherung einer 30GB Datei durch Time Backup darüberhinaus interessieren würde, ob es vielleicht einen Zusammenhang mit diesem Snapshot-Verfahren per Device Mapper gibt. Am rsync wird die 30GB-Datei-Sicherung nicht scheitern.
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Ich würde da jetzt vielleicht einen DS2015xs spezifischen Bug vermuten, die ist ja noch ganz neu, und auf der 414 läuft es ohne Probleme. (Auf der 1513 will ich es grade nicht testen, da sind meine Daten drauf. :D )
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Ah, ok, das beruhigt mich.
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Danke für den Link, werde ich mir baldmöglichst zu Gemüte führen.
Wobei das resumee eher so aussieht, dass man sich das mit dem DM eher nicht antun soll da zu komplex. Allerdings ist der Text auch recht alt.

Unterm Strich stehe ich zwischen zwei Optionen:

- Entweder ich arbeite mit der LVM-Methode die ich jetzt hier ausgetüftelt habe.

- Oder ich spare mir den snapshot, und ziele auf eine kurze Backup-Dauer.

Das wäre zum Beispiel machbar, wenn ich die Prio 1-Daten vom RAID 5 im ersten Schritt auf ein RAID 0 aus zwei schnellen Platten rüber schieße, dann wäre meine Kiste mit 8 Platten auch voll. Gehen wir mal aus von über 300 MB/s, dann dauert das bei bis zu 4 TB unter 4 Stunden. Das sind schon andere Aussichten als 11 Stunden bei 100 MB/s übers Netz.

In der Zeit muss man halt manuell für hinreichend konsistente Daten sorgen. Kann man eigentlich auf einfache Weise mit einem Script den Schreibzugriff auf ein Volume vorübergehend blockieren?

Vom RAID 0 habe ich dann alle Zeit der Welt für eine Netzwerksicherung auf die RAID 1-Maschine und von dort werden dann RAID 1-Kopien angefertigt und die Zeitmaschine gefüttert.

Irgendwie gefällt mir der Gedanke momentan besser als der Snapshot, denn um den Snapshot zu lesen brauche ich doppelt so lang, und in der Zeit ist Schreiben zwar nicht gesperrt aber auch sehr langsam. Außerdem ist der snapshot halt eine Bastellösung, vor allem vor dem Hintergrund HA-Cluster. Der passive Server kriegt davon jedenfalls nichts mit, das habe ich getestet, und das widerspricht eigentlich dem HA-Prinzip. Wer weiß, ob ich mir damit nicht doch irgendwas abschießen könnte.
 
Zuletzt bearbeitet:

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Dass das, was Synology bei Time Backup macht, so komplex ist, kann ich mir gar nicht vorstellen. Aber ich habe im Moment auch nicht die Muße, es mir genauer anzuschauen.

Kann man eigentlich auf einfache Weise mit einem Script den Schreibzugriff auf ein Volume vorübergehend blockieren?

Vielleicht gibt es irgendetwas Elegantes, aber mir würde nur ein unmount und read-only-mount einfallen - und für den musst Du im Zweifel eine ganze Menge Prozesse abschießen oder Dir entsprechende Bootszenarien einrichten. Die Frage wäre, welche Dienste auf einem read-only Filesystem überhaupt noch arbeiten würden.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Ich habe mir den von Dir verlinkten Text inzwischen angesehen. Der Anfang irritiert in der Tat, aber zum Ende hin liefert der Kollege eine längere Punkteliste, die ziemlich komplett zu sein scheint. Die müsste man einmal nachstellen auf der DS. Habe ich mir vorgenommen, wird aber vermutlich dauern, bis ich dazu komme.

Grundsätzlich sind die Voraussetzung in der DS aber offenbar gegeben, denn mein volume1 beispielsweise läuft auch über den device mapper: /dev/mapper/vol1-origin, wie es in dem Beitrag gefordert wird. Das passt also schon einmal out of the box.
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Sehr schön, da sind ja u.a. mehr Basisinformationen dabei, was die ganze Sache verständlicher macht.

Mir ist beim COW-device eingefallen, dass es doch eine Caching-Option in Time Backup gibt. Habs eben nochmal kontrolliert, die ist definitiv da. Für ein COW-device könnte das spannend sein und im Zusammenhang mit Deinen Performance-Messungen ebenfall interessant. Vermutlich muss es auch nicht so sonderlich groß sein.
 

Galileo

Benutzer
Mitglied seit
22. Jan 2014
Beiträge
329
Punkte für Reaktionen
0
Punkte
16
Bin ja mal gespannt, was da noch raus kommt.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.679
Punkte für Reaktionen
2.082
Punkte
829
Das COW-device scheint mir deshalb zum Cachen perfekt, weil es für die Änderungen zuständig ist, die am Filesystem vorgenommen werden, während man mit dem Snapshot arbeitet. Davon hängt also die Geschwindigkeit des produktiven Systems ab. Und der Platzbedarf sollte überschaubar sein. Könnte etwas sein, was man gut auf eine SSD packen könnte.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat