# Datensicherungskonzept



## Netzwerkidi (19. Februar 2014)

Hallo,

nach den letzten Erfahrung mit Windows, das mir vor bzw. während der Umstellung auf openSuse 13:1-Linux noch gecrasht ist, will ich nun von Anfang an ein möglichst einfaches, praktikables Datensicherheitskonzept implementieren.


Wichtig ist mir, dass das System im Fehlerfall mit einfachsten Mitteln sofort wieder lauffähig sein kann. 

Da ich kein Linux-Experte bin und die nächste Zeit oder vielleicht auch nie sein werde, da ich das System eigentlich vor allem als Werkzeug für das benötige, was ich sonst mache, kann ich im Fehlerfall nicht auf Konsolen-Basis mit Grub und/oder linux-yavk-Basis (was immer yavk sein mag) rumfrickeln, bis die Kiste wieder läuft oder alles komplett ins Brötchen gegangen ist, wobei natürlich die Beschäftigung mit dem System der täglichen Weiterbildung dient.

Es soll deshalb neben der Hauptfestplatte noch eine zweite geben, die das System noch einmal komplett enthalten soll, so in der Art wie mit Verzögerung gespiegelt.

Die zweite Festplatte dient 

 - der täglichen Synchronisation und soll
 - im Falle eines Fehlers auf der ersten Platte oder eines Crashs dieser 
   - als Backup bzw. 
   - als Möglichkeit zum Klonen auf eine andere Platte dienen.


Die Synchronisation soll jedes Mal ausgeführt werden, wenn das System runtergefahren wird.

Die Sicherung soll mit "rsync" erfolgen wie hier (http://wiki.linux-club.de/opensuse/Rsync) unter halt.local beschrieben:

Es sollen aber nicht einzelne Bereiche gesichert werden wie im Beispiel

 - rsync -abuv --delete --progress /opt/lampp /sicherung  
 - rsync -abuv --delete --progress /home /sicherung  

sondern immer alles:

 - rsync -abuv --delete --progress /    /pfad_zu_zweite_platte


Es wird (im Moment jedenfalls noch) darauf verzichtet, alle Änderungen "live" mitzuschreiben und bei Problemen Inhalte sofort zurückzuholen wie das mit Systemen wie BackInTime möglich wäre.


Ich habe derzeit zwei Festplatten zur Verfügung für diesen Rechner: eine große, schnelle, die als Arbeitsplatte dienen soll, und eine zweite, etwa halb so große, ältere, langsamere für das Backup. So könnte das dann aussehen:

Disk /dev/sda: 160.0 GB... (Quell-Platte)

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     4208639     2103296   82  Linux swap / Solaris
/dev/sda2   *     4208640    46153727    20972544   83  Linux
/dev/sda3        46153728   356301311   135073792   83  Linux


Disk /dev/sdb: 80.0 GB... (Backup-Platte)

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     4208639     2103296   82  Linux swap / Solaris
/dev/sda2   *     4208640    46153727    20972544   83  Linux
/dev/sda3        46153728   156301311    55073792   83  Linux


Frage:

Was sagt ihr Profis zu diesem Konzept, kann man das so machen, oder gibt es noch etwas Einfacheres, Besseres?

Und wie würde man die erste Platte im ersten Schritt vor der späteren täglichen Synchronisation einmal komplett mit Grub und allen Partitionen auf die zweite klonen, auch wenn die /dev/sda3/-Partition der ersten Platte größer ist, als das auf der zweiten Platte der Fall sein kann? 

Ein reines Klonen fällt möglicherweise aus - jedenfalls weiß ich nicht wie es geht -, das Kopieren von Partitionen wäre aber andererseits auch kein Klonen.


LG
Peter


----------



## Bratkartoffel (19. Februar 2014)

Hi,

du könntest mit dd einfach die komplette sda auf die sdb clonen. Dann noch ein fsck (filesystem-check) auf die ext3 partition machen (da diese ja abgeschnitten wurde) und gut is.

Das ganze würde ich mit einer Live-CD (wie zum Beispiel KUbuntu) machen, da ein laufendes System zu clonen nicht sicher ist. Es geht, würde ich aber nicht machen ;-)

Mit dem Kommando dd kann man grob gesagt auf niedrigster Ebene Daten von A nach B transferieren. Unabhängig vom Dateisystem oder Partition.

Da deine zweite Platte kleiner als die erste ist wird somit die sda3 um 80 GB hinten abgeschnitten. Um das auszugleichen solltest du nach dem Clonen ein fsck auf die sdb3 machen um das Dateisystem wieder zu korrigieren.

Nachdem du die Platte einmal komplett geklont hast, kannst du inkrementell mit Hilfe von rsync die Daten dann bei jedem shutdown rüber kopieren, wie du schon geschrieben hast.

Grüße,
BK


----------



## Netzwerkidi (19. Februar 2014)

Hai,

ich habe CloneZilla auf einer Live-CD. Du meinst also, wenn ich richtig verstanden habe, das System mit der Live-CD booten, dann aber direkt am Anfang schon auf Konsolenebene gehen und die Quelle Platte mit dd klonen und anschließend  mit fsck die sdb3 korrigieren?


```
sudo dd if=/dev/sda of=/dev/sdb bs=1M & pid=$!
```
 (nach http://www.adick.at/2012/02/11/festplatten-klonen-mit-dd/)


```
sudo fsck /dev/sdb3
```
(nach http://www.thegeekstuff.com/2012/08/fsck-command-examples/) 

LG
Peter


----------



## Bratkartoffel (19. Februar 2014)

Hi,

jep, genau so würs ichs mal versuchen 

Nachdem du die Platte geklont hast, steck mal die sda komplett ab und versuch von der Backup-Platte zu starten. Wenns geht, dann bist hier fertig, wenn nicht, dann müss ma das ein bissl anders machen.

Grüße,
BK


----------



## deepthroat (19. Februar 2014)

Hi.

Anstatt da irgendwie mit rsync rumzufummeln, würde ich an deiner Stelle entweder LVM mit Mirror-Volumes oder RAID-1 verwenden.


----------



## Netzwerkidi (19. Februar 2014)

Hai,

interessant, aber:

http://de.wikipedia.org/wiki/RAID


> "Eine Spiegelplatte ist kein Ersatz für eine Datensicherung, da sich auch versehentliche oder fehlerhafte Schreiboperationen (Viren, Stromausfall, Benutzerfehler) augenblicklich auf die Spiegelplatte übertragen. Dies gilt insbesondere für unvollständig abgelaufene, schreibende Programme (etwa durch Stromausfall abgebrochene Update-Transaktionen auf Datenbanken ohne Logging-System), wobei es hier nicht nur zu der Beschädigung der Spiegelung, sondern auch zu einem inkonsistenten Datenzustand trotz intakter Spiegelung kommen kann. Abhilfe schaffen hier Datensicherungen und Transaktions-Logs."



http://hydra.geht.net/tino/howto/linux/lvm2/mirror/?a=print


> Warning! Do not use LVM2 mirroring. It is seriously broken.
> 
> This are some bugs:
> 
> ...



Sicherlich kann man darüber mal nachdenken, irgendwann, aber im Moment wäre das Perlen vor die Säue, und ich hätte zumal als Anfänger kein gutes Gefühl, dass ich das richtig implementiert bekomme.

LG
Peter


----------

