sb11
Anmeldungsdatum: 8. Februar 2009
Beiträge: 109
|
Hallo zusammen, bisher habe ich mein System mittels Back-in-Time auf eine externe USB Festplatte gesichert. Potentieller Schwachpunkt dieser Lösung ist, dass die USB Festplatte ständig mit dem System verbunden ist. Im Worst-Case-Szenario (z.B. Überspannung durch Blitzeinschlag) könnten sowohl System als auch Backup beschädigt sein. Daher plane ich eine neue Backup-Strategie, die wie folgt funktionieren soll: Ich kaufe mir eine Docking-Station für SATA Festplatten und 2 identische 3,5 Zoll Platten, von denen eine Platte im Schrank liegt und eine in der Docking-Station steckt. Die Platten sollen dann wöchentlich getauscht werden. Hardware-seitig sollte das erstmal kein Problem sein, oder? Ich bin mir allerdings nicht sicher, ob und wie man das Software-seitig realisieren kann. Von Back-in-Time werde ich mich wohl verabschieden können, da es die wechselnden Platten scheinbar nicht unterstützt: http://forum.ubuntuusers.de/topic/back-in-time-auf-2-wechselnden-festplatten/ Weiss jemand, ob es mit anderen Lösungen wie rsnapshot funktioniert? Mein Wunsch-Szenario wäre, dass beim Wechsel der Platte automatisch gemountet, gesichert und ungemountet wird, so dass nur der Plattenwechsel manuell erfolgen muss. Ich hab schon etwas in udev gestöbert, kann aber nicht einschätzen, ob sich mein Wunsch-Szenario damit umsetzen lässt. Meine abschliessenden Fragen: Macht diese Backup-Strategie grundsätzlich Sinn? Was brauche ich Software-seitig, um die Strategie umzusetzen? Besten Dank schonmal und viele Grüsse…
|
iXwin
Anmeldungsdatum: 8. September 2014
Beiträge: 150
|
Hallo, ich bin mir sehr sicher, dass dies mit rsnapshot, ohne Probleme funktioniert. (Ohne es probiert zu haben) Du musst die beiden Platten, eben immer nur an der gleichen Stelle einhängen. Dies geht auch mit udev, so dass Du die jeweilige Platte nur einsteckst und diese wird automatisch im jeweiligen Verzeichnis gemountet. Viele Grüße
iXwin
|
Vej
Moderator, Supporter
Anmeldungsdatum: 7. März 2013
Beiträge: 3391
|
Hallo in die Runde. iXwin schrieb: Du musst die beiden Platten, eben immer nur an der gleichen Stelle einhängen.
Warum? Das leuchtet mit irgendwie nicht ein, wesshalb ich über eine Erklärung dankbar wäre. Mein Vorschlag wäre das genaue Gegenteil:
Ich würde gerade zwei Ordner verwenden, weil es sich ja auch um zwei verschiedene Sicherungen handelt. Stell dir einfach vor, du hättest beide Festplatten immer gleichzeitig im System und konfiguriere rsnapshot (bzw die udev-regeln) entsprechend. Dann können die Programme auch nicht damit durcheinanderkommen, dass irgendwelche Daten des letzten Backups mit dem Auswechseln der Platte "verschwunden" sind. Viele Grüße Vej PS.: Die Strategie finde ich übrigens super 👍 , weil sie gewisse Redundanzen mit sich bringt und damit auch den Ausfall von Hauptfestplatte und einer Backupfestplatte auffangen kann.
|
iXwin
Anmeldungsdatum: 8. September 2014
Beiträge: 150
|
Hallo Vej, hinter meinem Vorschlag steckt keine "Strategie", sondern nur wie man es bewerkstelligen kann, dass man die "Backupfestplatten" wechselseitig benutzen kann. "Stell dir einfach vor, du hättest beide Festplatten immer gleichzeitig im System" Das ist ja nicht das Ziel.
Der Threadersteller wollte ein Platte im Schrank behalten. Aus nachvollziebarem Grund. Falls durch Überspannung die interne und externe Festplatte flöten gehen. Wenn er die beiden externen Festplatten einhängt. Dann wäre seine Strategie hinfällig. "Mein Vorschlag wäre das genaue Gegenteil: Ich würde gerade zwei Ordner verwenden, weil es sich ja auch um zwei verschiedene Sicherungen handelt." Es sind m.E. nicht zwei verschiedene Sicherungen, sondern eine Sicherung auf 2 Festplatten. Wobei die Sicherung der Platte aktueller ist, die zuletzt am Rechner steckte. Bei zwei verschiedenen Verzeichnissen, müsste man auch 2 verschiedene Jobs, mit 2 Scripten von rsnapshot laufen lassen. Dann müsste man jedes mal daran denken, welche Festplatte, zu welchem Zeitpunkt drangehängt werden muss. Dies fände ich zu umständlich. Viele Grüße iXwin
|
ixo
Anmeldungsdatum: 6. April 2009
Beiträge: 316
|
Hallo SB11, (falls Du noch mitliest) - das, was Du willst geht problemlos mit storeBackup http://www.nongnu.org/storebackup/de/. Egal, ob Du für beide Backups dasselbe Verzeichnis nimmst oder ein anderes. Viele Grüße,
ixo
|
Vej
Moderator, Supporter
Anmeldungsdatum: 7. März 2013
Beiträge: 3391
|
Hallo in die Runde. iXwin schrieb: hinter meinem Vorschlag steckt keine "Strategie"
Der Kommentar bezog sich auf die Backupstrategie des TS und auf diese Frage hier: sb11 schrieb: Macht diese Backup-Strategie grundsätzlich Sinn? Was brauche ich Software-seitig, um die Strategie umzusetzen?
iXwin schrieb: Das ist ja nicht das Ziel.
Der Threadersteller wollte ein Platte im Schrank behalten. Aus nachvollziebarem Grund. Falls durch Überspannung die interne und externe Festplatte flöten gehen. Wenn er die beiden externen Festplatten einhängt. Dann wäre seine Strategie hinfällig.
Das ist richtig. Ich habe ja auch nicht vorgeschlagen, dass beide Platten gleichzeitig eingehängt werden sollen.
Sie sollen dem System nur als zwei verschiedene Platten bekannt gemacht werden um die Probleme mit vielen Backupprogrammen zu verhindern.
Damit sollte dann eigentlich fast jedes Backupprogramm klarkommen. Bei zwei verschiedenen Verzeichnissen, müsste man auch 2 verschiedene Jobs, mit 2 Scripten von rsnapshot laufen lassen.
Soweit richtig. Dann müsste man jedes mal daran denken, welche Festplatte, zu welchem Zeitpunkt drangehängt werden muss. Dies fände ich zu umständlich.
Naja, deshalb die verschiedenen Ordner. Die meisten Backupprogramme prüfen ja die Verfügbarkeit des Sicherungsortes. Eine andere Möglichkeit wäre die Automatisierung mit udev. Damit ließe sich das ganze so automatisieren, dass immer der richtige Job ausgeführt wird. Wenn rsnapshot auch damit leben kann, dass eine Platte öfters ausgewechselt wird, ist dass natürlich auch eine Möglichkeit. Ich halte dieses Vorgehen aber für fehleranfälliger, als zwei Jobs. Viele Grüße Vej
|
iXwin
Anmeldungsdatum: 8. September 2014
Beiträge: 150
|
"Naja, deshalb die verschiedenen Ordner. Die meisten Backupprogramme prüfen ja die Verfügbarkeit des Sicherungsortes. Eine andere Möglichkeit wäre die Automatisierung mit udev. Damit ließe sich das ganze so automatisieren, dass immer der richtige Job ausgeführt wird." Stimmt, so kann man es auch machen. Man gibt einfach dem 2. Script, den anderen Einhängepunkt als Sicherungsort. Weiterhin kann man rsnapshot ja auch entsprechend konfigurieren, dass wenn keine Festplatte dranhängt, auch keine Sicherung durchgeführt wird. So wird nicht auf die "interne" Festplatte geschrieben. Aber grundsätzlich ist die Strategie richtig. Ich musste dies leidvoll erfahren. In meinem RAID eine Festplatte ausgefallen und während der Sicherung auf die externe Festplatte, ist diese auch noch ausgefallen. 😢
|
sb11
(Themenstarter)
Anmeldungsdatum: 8. Februar 2009
Beiträge: 109
|
Hallo zusammen, vielen Dank für die bisherigen Antworten. Natürlich lese ich noch mit! 😉 Die Argumentation von Vej leuchtet mir schon ein. Wenn ich allerdings den Wiki-Eintrag zu rsnapshot richtig verstanden habe, gibt es EIN Konfigurationsfile in dem ich EIN Backup-Zielverzeichnis definieren muss. Daher muss ich die beiden Platten schon im gleichen Verzeichnis mounten, um rsnapshot verwenden zu können, oder? Danke und Grüsse...
|
iXwin
Anmeldungsdatum: 8. September 2014
Beiträge: 150
|
Es geht auch wie Vej vorgeschlagen hat. Du musst nur einen 2. Cronjob laufen lassen, der auf eine 2. Configdatei verweist. Im Wikiartikel rsnapshot, in diesem Abschnitt. Scrollbalken mitte/unten. 😉 "...Wenn man mehrere Server sichern möchte - jeden in ein eigenes Unterverzeichnis - dann kann es sinnvoll sein, dedizierte rsnapshot.conf-Dateien aufzusetzen, die dann getrennt per Cron aufgerufen werden. Dafür müssen die Konfigurationsdateien an rsnapshot übergeben werden mit der Syntax:....."
|
Vej
Moderator, Supporter
Anmeldungsdatum: 7. März 2013
Beiträge: 3391
|
Hallo in die Runde. iXwin schrieb: Im Wikiartikel rsnapshot, in diesem Abschnitt. Scrollbalken mitte/unten. 😉
Da das (je nach Monitorgröße) eine unpräzise Angabe ist, kommt hier noch der Direktlink zu dem Abschnitt Externen Server sichern. Viele Grüße Vej
|
iXwin
Anmeldungsdatum: 8. September 2014
Beiträge: 150
|
"Da das (je nach Monitorgröße) eine unpräzise Angabe ist, kommt hier noch der Direktlink " Der Direktlink, lässt sich an Perfektion natürlich nicht übertrumpfen. Die Monitorgröße spielt jedoch dabei keine Rolle.
|
sb11
(Themenstarter)
Anmeldungsdatum: 8. Februar 2009
Beiträge: 109
|
Hallo zusammen und nochmal danke für alle bisherigen Antworten. Sorry für die lange Funkstille meinerseits, aber ich musste erstmal die Hardware beschaffen. Jetzt habe ich die Dockingstation und die beiden Platten und wollte mich um die Konfiguration kümmern. Leider bin ich bereits bei der udev Konfiguration auf das erste Problem gestossen. sudo lsusb -vs 004:006 ...liefert mir nämlich nicht die Informationen zur der Platte sondern zu der Dockingstation: Bus 004 Device 006: ID 174c:5136 ASMedia Technology Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x174c ASMedia Technology Inc.
idProduct 0x5136
bcdDevice 0.01
iManufacturer 2 Inateck
iProduct 3
iSerial 1 00000000000000000000 Ich hatte eigentlich vor, es so wie von "Vej" vorgeschlagen zu machen, d.h.: - 2 udev rules die mir /dev/backup1 und /dev/backup2 erzeugen - 2 fstab Einträge die auf /mnt/backup1 und /mnt/backup2 mounten - 2 rsnapshot Konfig-Files mit dem Zielverzeichnis /mnt/backup1 bzw. /mnt/backup2 - 2 Backup-Scripts, die jeweils von der entsprechenden udev rule aufgerufen werden Aber leider scheitert es wie gesagt bereits im ersten Schritt, da ich über udev die Platten nicht unterscheiden kann. Hat jemand eine Idee, wie ich weiter machen kann? Danke und Grüsse!
|
sb11
(Themenstarter)
Anmeldungsdatum: 8. Februar 2009
Beiträge: 109
|
Ich bin einen kleinen Schritt weiter gekommen. udevadm info -q all -n /dev/sdc1 ...liefert das folgende Ergebnis... P: /devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host12/target12:0:0/12:0:0:0/block/sdc/sdc1
N: sdc1
S: disk/by-id/usb-Inateck__00000000000000000000-0:0-part1
S: disk/by-label/backup1
S: disk/by-partuuid/0d292d91-a430-4f3b-bf8c-cd2317e132c4
S: disk/by-path/pci-0000:00:14.0-usb-0:2:1.0-scsi-0:0:0:0-part1
S: disk/by-uuid/b22da22d-b3e3-43df-b7ae-8b1dba6cf217
E: DEVLINKS=/dev/disk/by-id/usb-Inateck__00000000000000000000-0:0-part1 /dev/disk/by-label/backup1 /dev/disk/by-partuuid/0d292d91-a430-4f3b-bf8c-cd2317e132c4 /dev/disk/by-path/pci-0000:00:14.0-usb-0:2:1.0-scsi-0:0:0:0-part1 /dev/disk/by-uuid/b22da22d-b3e3-43df-b7ae-8b1dba6cf217
E: DEVNAME=/dev/sdc1
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host12/target12:0:0/12:0:0:0/block/sdc/sdc1
E: DEVTYPE=partition
E: ID_BUS=usb
E: ID_FS_LABEL=backup1
E: ID_FS_LABEL_ENC=backup1
E: ID_FS_TYPE=ext4
E: ID_FS_USAGE=filesystem
E: ID_FS_UUID=b22da22d-b3e3-43df-b7ae-8b1dba6cf217
E: ID_FS_UUID_ENC=b22da22d-b3e3-43df-b7ae-8b1dba6cf217
E: ID_FS_VERSION=1.0
E: ID_INSTANCE=0:0
E: ID_MODEL_ENC=\x20
E: ID_MODEL_ID=5136
E: ID_PART_ENTRY_DISK=8:32
E: ID_PART_ENTRY_NUMBER=1
E: ID_PART_ENTRY_OFFSET=2048
E: ID_PART_ENTRY_SCHEME=gpt
E: ID_PART_ENTRY_SIZE=3907026944
E: ID_PART_ENTRY_TYPE=0fc63daf-8483-4772-8e79-3d69d8477de4
E: ID_PART_ENTRY_UUID=0d292d91-a430-4f3b-bf8c-cd2317e132c4
E: ID_PART_TABLE_TYPE=gpt
E: ID_PATH=pci-0000:00:14.0-usb-0:2:1.0-scsi-0:0:0:0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_0-scsi-0_0_0_0
E: ID_REVISION=0
E: ID_SERIAL=Inateck__00000000000000000000-0:0
E: ID_SERIAL_SHORT=00000000000000000000
E: ID_TYPE=disk
E: ID_USB_DRIVER=usb-storage
E: ID_USB_INTERFACES=:080650:080662:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Inateck
E: ID_VENDOR_ENC=Inateck\x20
E: ID_VENDOR_ID=174c
E: MAJOR=8
E: MINOR=33
E: SUBSYSTEM=block
E: USEC_INITIALIZED=6881266549 Daraus habe ich die folgende udev Regel gebastelt: KERNEL=="sd?1", SUBSYSTEMS=="usb", ENV{ID_FS_UUID}=="b22da22d-b3e3-43df-b7ae-8b1dba6cf217", SYMLINK+="backup1", ACTION=="add", RUN+="mount /dev/backup1 /mnt/backup1" Dummerweise wird die Platte nicht gemountet. Wenn ich... sudo mount /dev/backup1 /mnt/backup1 ...ausführe, funktioniert es. D.h. der Symlink wird schonmal korrekt erzeugt, oder? Warum wird der Befehl hinter RUN nicht ausgeführt?
|
sb11
(Themenstarter)
Anmeldungsdatum: 8. Februar 2009
Beiträge: 109
|
Ich habe den Mount Befehl mal in ein kleines Script gepackt und die udev Regel so angepasst, dass das Script aufgerufen wird. Und siehe da: es funktioniert. Jetzt muss ich eigentlich nur noch das Script weiter ausbauen. Leider bin ich der totale Noob was Scripte angeht - vielleicht kann mir ja jemand behilflich sein. Folgendes soll das Script machen: mount /dev/backup1 /mnt/backup1 Falls mount erfolgreich: Sicherung ausführen mittels "rsnapshot -c /path/to/configfile/backup1.conf" Falls mount nicht erfolgreich: Fehlermeldung ausgeben, idealerweise mittels notify-send Falls Sicherung erfolgreich: "umount /mnt/backup1" und "hdparm -y /dev/backup1" und Erfolgsmeldung mittels notify-send ausgeben Falls Sicherung nicht erfolgreich: Fehlermeldung ausgeben, idealerweise mittels notify-send Idealerweise würde ich den String "backup1" als Variable definieren wollen, da ich ja auch noch ein zweites Script für die zweite Platte brauche. Ich würde mich sehr freuen, wenn mir jemand mit dem Script weiterhelfen könnte. Vielen Dank und beste Grüsse!
|
Vej
Moderator, Supporter
Anmeldungsdatum: 7. März 2013
Beiträge: 3391
|
Hallo sb11. sb11 schrieb: Ich habe den Mount Befehl mal in ein kleines Script gepackt und die udev Regel so angepasst, dass das Script aufgerufen wird. Und siehe da: es funktioniert.
Herzlichen Glückwunsch! Ich konnte das Ursprungsproblem übrigens bei mir nachstellen. Auch dort führt RUN den Befehl nicht aus. Ursache? Leider (noch) unbekannt.
Folgendes soll das Script machen: mount /dev/backup1 /mnt/backup1 Falls mount erfolgreich: Sicherung ausführen mittels "rsnapshot -c /path/to/configfile/backup1.conf"
Ob mount erfolgreich war verrät dir der Rückgabewert. Dieser ist in der manpage ab etwa Zeile 2050 ausführlich erklärt. Grundsätzlich gilt: 0 heißt Erfolg alles andere bedeutet irgendeine Art von Fehler. Testen kannst du mit dem Testbefehl, der im Bash-Skripting-Guide für Anfänger erklärt ist. Mit letztgenannter Anleitung solltest du auch den Rest hinbekommen. Viele Grüße Vej
|