Skip to content

Restic - Backblaze B2 Cloud Storage

Restic
  • Dank eines Tipps, viele Grüße nach Hamburg 😉 , teste ich heute mal Restic in Zusammenarbeit mit dem Cloud Anbieter Backblaze B2. Da Backblaze ein amerikanischer Anbieter ist, scheidet ein Speichern von Daten im Klartext logischerweise aus. Also muss mindestens was nett verschlüsseltes her, so was wie AES256.

    Ok, das kann Restic 🙂

    Restic is built to secure your data against such attackers, by encrypting it with AES-256 in counter mode and authenticating it using Poly1305-AES.
    Quelle: https://restic.net/

    Account erstellen

    Wollte mich anmelden, das erste was passiert ist folgendes...

    0c77b8c9-e655-4899-9cbb-64188e26e2a2-grafik.png

    Ok, dann nur 49 Zeichen 😞 Danach kommt eine Abfrage bzgl. der Telefonnummer. Danach kann man die 2FA einstellen.
    Man kann zwischen SMS und Google Authenticator/Authy wählen. Alles in allem sieht das sehr gut aus. Denke da kann man was ablegen LOL

    Damit haben wir das erledigt.

    Bucket erstellen

    Wir legen ein Bucket an, darauf achten das er auf Privat steht! Auch wenn die Daten verschlüsselt sind 😉 Ok, die Namen müssen wohl über die komplette Cloud einmalig sein, die ersten zwei getesteten Namen gab es schon.

    frank-restic-backup
    

    Den nicht 🙂

    Application Keys erstellen

    Wir brauchen aber mal zu erst, die Application Keys. Dazu kann man auf Backblaze auf App-Keys gehen, dort auf Add a New Application Key klicken. Dann vergeben wir einen Namen, wählen das Bucket aus, für den die Keys gelten. Danach auf Create New Key und die Keys notieren!

    Test Repo erzeugen

    Ich benutze hier ein File /root/passwd worin das gewünschte Passwort abgelegt ist. Denkt an die Rechte, so wenig wie möglich 😉

    $ export B2_ACCOUNT_ID="<ApplicationID>"
    $ export B2_ACCOUNT_KEY="<ApplicationKEY>"
    

    Da oben die ApplicationID und den ApplicationKEY eingeben!

    Init

    restic --password-file /root/passwd -r b2:frank-restic-backup init
    

    Dann kommt folgendes

    root@debian:~# restic -r b2:frank-restic-backup init
    enter password for new repository: 
    enter password again: 
    created restic repository f9419b33bc at b2:frank-restic-backup
    
    Please note that knowledge of your password is required to access
    the repository. Losing your password means that your data is
    irrecoverably lost.
    

    Damit wäre das Repository auf Blackbaze erzeugt. Jetzt können wir dort ein paar Daten zum Testen ablegen.

    root@debian:~# restic --password-file /root/passwd -r b2:frank-restic-backup backup /home/frank/Bilder
    repository f9419b33 opened successfully, password is correct
    created new cache in /root/.cache/restic
    
    Files:          68 new,     0 changed,     0 unmodified
    Dirs:            2 new,     0 changed,     0 unmodified
    Added to the repo: 183.462 MiB
    
    processed 68 files, 183.461 MiB in 5:49
    snapshot 6dc27047 saved
    

    Gut zum Testen was kleines und hier direkt der Hinweis, für Server ist das sicherlich besser geeignet. Der Upload ist ja zu Hause meistens ein Flaschenhals. Aber, wir sehen, es funktioniert.

    Restic Script erstellen

    Ich habe ja schon ein paar Cronjobs Laufen, so das ich jetzt eines dieser Scripte nehme und es modifiziere.

    #!/bin/bash
    # Script um mit Restic Daten automatisiert zu sichern!
    # Hier sichern wir das Bilderverzeichnis auf ein Backblaze Bucket!
    
    export B2_ACCOUNT_ID="ApplicationID"
    export B2_ACCOUNT_KEY="ApplicationKey"
        
    #Was soll gesichert werden?
    backup_pfad=/home/frank/Bilder
    
    #Programm Start
    restic --password-file /root/passwd -r b2:frank-restic-backup backup --verbose $backup_pfad
    

    Mittels --exclude-file=excludes.txt am Ende könnt ihr noch Verzeichnisse vom Sichern ausklammern.

    Backblaze.com hat eine gute Anleitung, schaut auf alle Fälle mal rein.
    https://help.backblaze.com/hc/en-us/articles/115002880514-How-to-configure-Backblaze-B2-with-Restic-on-Linux

    Test des Scriptes

    root@debian:~# ./backblaze.sh 
    open repository
    repository f9419b33 opened successfully, password is correct
    lock repository
    load index files
    using parent snapshot 6dc27047
    start scan on [/home/frank/Bilder]
    start backup on [/home/frank/Bilder]
    scan finished in 2.652s: 68 files, 183.461 MiB
    
    Files:           0 new,     0 changed,    68 unmodified
    Dirs:            0 new,     0 changed,     2 unmodified
    Data Blobs:      0 new
    Tree Blobs:      0 new
    Added to the repo: 0 B  
    
    processed 68 files, 183.461 MiB in 0:03
    snapshot e72e0f67 saved
    

    Ich hoffe, dem ein oder anderen habe ich jetzt auf den Geschmack gebracht. Mir sind beim Schreiben dieser Zeilen ein paar Ideen gekommen, was ich dort sichern könnte 😉

    de848228-fa40-4e6e-8cd4-7b15c8a26c8a-grafik.png

  • Home Assistant - Anwendungsbeispiele

    Linux
    1
    0 Stimmen
    1 Beiträge
    260 Aufrufe
    Niemand hat geantwortet
  • Proxmox 8.1 released

    Linux
    1
    0 Stimmen
    1 Beiträge
    108 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    1 Beiträge
    2k Aufrufe
    Niemand hat geantwortet
  • Debian Installer Bookworm RC3 released

    Linux
    2
    0 Stimmen
    2 Beiträge
    93 Aufrufe
    FrankMF

    Und da sind wir schon bei RC4

    Debian Installer Bookworm RC 4 release

    favicon

    (lists.debian.org)

  • Ansible - ein kurzer Test

    Linux
    1
    0 Stimmen
    1 Beiträge
    142 Aufrufe
    Niemand hat geantwortet
  • 10G

    Linux
    2
    0 Stimmen
    2 Beiträge
    138 Aufrufe
    FrankMF

    Bedingt durch ein paar Probleme mit der Forensoftware, habe ich einen kleinen Datenverlust erlitten. Dazu gehören auch hier einige Beiträge. Dann versuche ich das mal zu rekonstruieren.

    Oben hatten wir das SFP+ Modul ja getestet. Als nächsten Schritt habe ich die ASUS XG-C100F 10G SFP+ Netzwerkkarte in meinen Hauptrechner verbaut.

    20211028_162455_ergebnis.jpg

    Die Verbindung zum Zyxel Switch erfolgt mit einem DAC-Kabel. Im Video zum Zyxel Switch wurde schön erklärt, das die DAC Verbindung stromsparender als RJ45 Adapter sind. Somit fiel die Wahl auf die DAC Verbindungen. Hier nochmal das Video.

    So sieht so ein DAC Verbindungskabel aus. Die SFP+ Adapter sind direkt daran montiert.

    20211028_170118_ergebnis.jpg

    ethtool root@frank-MS-7C37:/home/frank# ethtool enp35s0 Settings for enp35s0: Supported ports: [ FIBRE ] Supported link modes: 100baseT/Full 1000baseT/Full 10000baseT/Full 2500baseT/Full 5000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 100baseT/Full 1000baseT/Full 10000baseT/Full 2500baseT/Full 5000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pg Wake-on: g Current message level: 0x00000005 (5) drv link Link detected: yes iperf3 ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 192.168.3.207, port 44570 [ 5] local 192.168.3.213 port 5201 connected to 192.168.3.207 port 44572 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.10 GBytes 9.43 Gbits/sec 46 1.59 MBytes [ 5] 1.00-2.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.60 MBytes [ 5] 2.00-3.00 sec 1.10 GBytes 9.42 Gbits/sec 3 1.60 MBytes [ 5] 3.00-4.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.60 MBytes [ 5] 4.00-5.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.61 MBytes [ 5] 5.00-6.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.63 MBytes [ 5] 6.00-7.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.63 MBytes [ 5] 7.00-8.00 sec 1.09 GBytes 9.41 Gbits/sec 0 1.68 MBytes [ 5] 8.00-9.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.68 MBytes [ 5] 9.00-10.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.68 MBytes [ 5] 10.00-10.02 sec 22.5 MBytes 9.45 Gbits/sec 0 1.68 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.02 sec 11.0 GBytes 9.42 Gbits/sec 49 sender
  • Kopia - HTTP/S Server

    Verschoben Kopia
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF

    Ich hatte ein paar Probleme, die ich mir teilweise nicht erklären kann 🤔

    Ich möchte den Kopia Server gerne über systemd steuern.

    SystemD [Unit] Description=Kopia Server After=syslog.target After=network.target [Service] Type=simple User=kopia Group=kopia ExecStart=/usr/bin/kopia server --tls-cert-file /home/kopia-server/fullchain.pem --tls-key-file /home/kopia-server/privkey.pem --htpasswd-file /home/kopia-server/.htpasswd --address <IPv4>:51515 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target

    Danach

    systemctl daemon-reload systemctl start kopia-server

    Mit

    systemctl status kopia-server

    kann man sich den Status anzeigen lassen.

    Client Rechner

    Auf dem Client, der das Backup zum Server schicken soll, machen wir dann folgendes.

    USER@HOSTNAME:~$ kopia repo connect server --url=https://<DOMAIN>:51515 --override-username=USER --override-hostname=HOSTNAME Enter password to open repository: Connected to repository API Server. NOTICE: Kopia will check for updates on GitHub every 7 days, starting 24 hours after first use. To disable this behavior, set environment variable KOPIA_CHECK_FOR_UPDATES=false Alternatively you can remove the file "/home/frank/.config/kopia/repository.config.update-info.json".

    Danach steht die Verbindung und wir können Backups hochschieben.

    kopia snapshot create $HOME

    Damit wird das Homeverzeichnis gesichert. Das initiale Backup, hat 30 Minuten gebraucht.

    created snapshot with root kb9e50ff5xxxxxxxxxx265d40a5d0861 and ID cda5c0ffxxxxxxxxxxxxxxa4cb4a367b in 30m28s

    Ein späteres Backup, sieht so aus.

    USER@HOSTNAME:~$ kopia snapshot create $HOME Snapshotting USER@HOSTNAME:/home/frank ... * 0 hashing, 51 hashed (324.8 MB), 8524 cached (6.6 GB), 0 uploaded (0 B), 0 errors 100.0% Created snapshot with root kc20a4xxxxxxxxxxxx745c6c7b37c and ID d7a96eaxxxxxxxxxxx0961018eacffa in 3m12s

    Nach 3 Minuten durch. Zu diesem Zeitpunkt hat sich aber auch nicht wirklich was geändert!

    Fazit

    Das Tool macht immer noch einen sehr guten Eindruck. Die Geschwindigkeit ist sehr gut. Die Anleitung ist leider unzureichend. Da gibt es so viele Möglichkeiten, da braucht es sehr lange, bis man da mal durchsteigt. Zum Glück, ist das was man normalerweise braucht, recht überschaubar. Bis zum produktiven Einsatz braucht das aber bei mir noch eine Menge mehr Tests.

    Was ich noch testen möchte

    Verzeichnis mounten Backup testweise wieder herstellen (zumindestens teilweise)

    Der Test läuft mit Standard Einstellungen, also z.B. ohne Kompression. Das sollte man dann auch mal testen..

    Bitte achtet auf gleiche Versionen auf dem Clienten, wie auf dem Server. Ich meine da ein paar Probleme festgestellt zu haben...

  • Kernel-Log 4.20

    Linux
    1
    0 Stimmen
    1 Beiträge
    312 Aufrufe
    Niemand hat geantwortet