[HowTo] ContainerStation: rdiff-backup in einem LXC-Container

  • Bei rdiff-backup handelt es sich um eine Backup-Anwendung für Linux die sowohl auf dem Client als auch auf dem Server installiert werden muss. In QTS ist das Programm nicht integriert, es manuell zu integrieren wäre recht aufwändig, deshalb ist ein LXC-Container hier eine optimale Lösung.


    Um die ContainerStation einzurichten muss man nur eine Freigabe auswählen in der die Container gespeichert werden.


    Ich habe mich dazu entschieden, mein Backup ausserhalb des Containers zu speichern, damit der Container "leicht" bleibt und ich ihn später einfacher exportieren/ändern/ersetzen kann. Man kann das Backup aber auch im Container belassen, dann fallen die Schritte 1 und 5 weg.


    1. In einer beliebigen Freigabe (bei mir beispielsweise "Backup") einen Unterordner anlegen auf den rdiff Zugriff bekommen soll (bei mir einfach "rdiff-backup")


    2. Einen Debian- oder Ubuntu-Container anlegen:


    3. Dem Container Prozessor- und Speicherresourcen zuweisen. Anders als bei einer VM werden die Resourcen nur dann belegt wenn sie auch gebraucht werden. rdiff-backup braucht aber nicht viel, deshalb kann man hier sparsam sein:


    4. Port-Freigabe einrichten. Wir müssen für rdiff-backup nur den SSH-Port (22) von aussen verfügbar machen, als Host-Port kann man einen beliebigen freien Port angeben. Ich hab' hier einfach 9922 benutzt:


    5. Wenn die Daten ausserhalb des Containers gespeichert werden sollen, kann man zusätzlich einen Ordner einbinden. Bei mir ist der Order "rdiff-backup" aus der Freigabe "Backup" im Container unter /media/rdiff-backup erreichbar:


    6. Danach kann man den Container mit einem Klick auf den Start-Knopf hochfahren. Weil der Systemkernel benutzt wird geht das recht schnell (wenige Sekunden):


    7. Jetzt kann man mit einem Klick auf den Containernamen auf eine root-Konsole zugreifen. rdiff-backup ist schnell installiert. Zusätzlich sollte man einen unprivilegierten Benutzer (hier einfach "benutzer") anlegen und ihm Lese/Schreibzugriff auf den Backup-Ordner (aus Schritt 5) geben:

    Code
    apt-get update && apt-get upgradeapt-get install rdiff-backupadduser benutzerchown benutzer:benutzer /media/rdiff-backup


    Fertig, rdiff-backup ist jetzt installiert und man kann jetzt problemlos auf dem Client ein Backup starten:


    Code
    rdiff-backup -v5 \--remote-schema "ssh -p9922 %s rdiff-backup --server" \/home/benutzer \benutzer@adresse-des-nas::/media/rdiff-backup


    * "-v5" sorgt dafür dass auf der Konsole mehr Details ausgegeben werden
    * --remote-schema ist nötig weil nicht der Standard-Port 22 benutzt wird
    * In Zeile 3 steht der Pfad der gesichert werden soll
    * Und in Zeile 4 steht der Benutzername den wir in Schritt 7 angelegt haben, dann die Adresse des NAS (IP-Adresse oder hostname) und hinten der Zielordner.


    Es ist wichtig, regelmässig auf die root-Konsole des Containers zuzugreifen und die aktuellen Updates installieren:

    Code
    apt-get update && apt-get dist-upgrade
  • Kleiner Schönheitsfehler in deiner sonst sehr guten Anleitung.


    apt-get install rdiff-backup wird zu diesem Zeitpunkt einen Fehler ausgeben. Vorher muss apt-get update und eventuell auch gleich apt-get upgrade ausgeführt werden.

  • Zitat von "skunk"

    apt-get install rdiff-backup wird zu diesem Zeitpunkt einen Fehler ausgeben. Vorher muss apt-get update und eventuell auch gleich apt-get upgrade ausgeführt werden.


    Richtig, danke. Leider kann ich den Beitrag nicht mehr ändern.

  • Zitat von "christian"

    Bitte die Passage zitieren und dann den korrekten Inhalt angeben, ich füge es dann ein.


    Im Code-Block bei Schritt 7 müsste direkt über die Zeile "apt-get install rdiff-backup" noch eine Zeile mit "apt-get update && apt-get upgrade" hin.