Dieser Beitrag beschreibt, wie man die Einschränkung des Hetzner Backup Space umgeht, dass man keine Linux uid / gids usw. auf dem (via sshfs) gemounteten Backup Space setzen kann. Er beschreibt nicht, wie man inkrementelle Backups mit rsync und Hardlinks durchführt.
Dieser Blogpost wurde von einer Maschine aus dem Englischen übersetzt. Die Originalversion finden Sie hier: Howto use the Hetzner Backup Space with rsync
Bitte kontaktieren Sie uns , falls etwas unklar ist, nicht funktioniert, falsch erscheint oder Sie Unterstützung benötigen.
Dieser Beitrag wurde aus Nostalgie- und SEO-Zwecken wiederbelebt. Er könnte veraltet sein. Die Originalversion finden Sie auf archive.org .
Der www.hetzner.de Backup Space erlaubt es rsync nicht, die Linux-UIDs zu ändern. Es ist jedoch oft wünschenswert, diese Dateiinformationen bei Backups beizubehalten. Rsync gibt den folgenden Fehler aus, wenn versucht wird, Dateien auf den über sshfs gemounteten Hetzner Backup Space zu kopieren:
sending incremental file list
rsync: chown "/srv/backup/test" failed: Permission denied (13)
Bitte beachten Sie auch, dass Hetzner die sshfs-Verbindung bei mehreren Fehlern schließt. Der sshfs-Mount wird dann automatisch unmounted. Für laufende rsyncs führt dies zu folgendem Fehler:
rsync: read errors mapping "/srv/backup/[...]": Input/output error (5)
Hetzner beschreibt in seiner Dokumentation zum Zugriff auf die Storage Box , dass zur vollen Nutzung von rsync eine Image-Datei in der Größe des gebuchten Backup-Speichers erstellt, diese Image-Datei per Loop-Mount eingebunden, ein Dateisystem darauf erstellt und für die Backups gemountet werden muss. Im Folgenden wird beschrieben, wie das geht. Natürlich kostet das bei Backups etwas an Geschwindigkeit. Im Vergleich zur reinen Nutzung des normalen Backup-Speichers mit rsync ohne Beibehaltung der UIDs erscheint dies vernachlässigbar. Außerdem haben Sie keine andere Wahl. Beachten Sie auch, dass die Zugriffsgeschwindigkeit auf den Hetzner-Backup-Speicher auch von anderen Hetzner-Kunden abhängt, die ihn gerade nutzen, wie hier beschrieben.
Die folgenden Befehle ermöglichen das automatische Mounten des Hetzner Backup Space über sshfs, ohne jedes Mal ein Passwort eingeben zu müssen:
mkdir -p /srv/backup/{backup,hetzner-backup-space}
apt-get install sshfs
sshfs u01234@u01234.your-backup.de:/ /srv/backup/hetzner-backup-space # Passwort eingeben
mkdir /srv/backup/hetzner-backup-space/.ssh
# Wenn Sie noch kein SSH-Schlüsselpaar für Ihren Benutzer erstellt haben, tun Sie dies jetzt
ssh-keygen
# Exportieren Sie den öffentlichen Schlüssel im RFC4716-Format, das Hetzner benötigt
ssh-keygen -e -f ~/.ssh/id_rsa.pub | grep -v "Comment:" > ~/.ssh/id_rsa_rfc.pub
cat ~/.ssh/id_rsa_rfc.pub > /srv/backup/hetzner-backup-space/.ssh/authorized_keys
chmod 700 /srv/backup/hetzner-backup-space/.ssh
chmod 600 /srv/backup/hetzner-backup-space/.ssh/authorized_keys
Nun muss ein leeres dd-Image erstellt und ein Dateisystem darauf geschrieben werden. Die Verwendung von dd ohne seek auf dem sshfs würde ewig dauern, da jede Null von /dev/zero über das Netzwerk zum Backup-Speicher gesendet werden müsste. Daher empfehle ich, wie folgt eine Sparse-Image-Datei (denken Sie an Thin Provisioning) mit dd zu erstellen. Dies dauert nicht länger als ein paar Sekunden. Es ist auch möglich, fallocate dafür zu verwenden.
dd if=/dev/zero of=/srv/backup/hetzner-backup-space/filesystem.img bs=1 seek=100G count=1
mkfs.ext4 /srv/backup/hetzner-backup-space/filesystem.img
Wenn Sie mehr Speicherplatz für Ihre Daten benötigen, können Sie einfach mehr bei Hetzner bestellen, wie hier beschrieben. Um die Image-Datei zu vergrößern, verwenden Sie die folgenden Befehle (beachten Sie die Änderung von 100G auf 200G im dd-seek-Argument). Dies überschreibt keine vorhandenen Daten in der Image-Datei.
dd if=/dev/zero of=/srv/backup/hetzner-backup-space/filesystem.img bs=1 seek=200G count=1
resize2fs /srv/backup/hetzner-backup-space/filesystem.img
Um den Hetzner Backup Space und die soeben erstellte filesystem.img automatisch zu mounten, fügen Sie die folgenden Zeilen an die Datei /etc/fstab an. Sie können dann auch manuell mount -a oder mount /srv/backup/hetzner-backup-space; mount /srv/backup/backup ausführen, um sie während der Laufzeit zu mounten:
u0815@u0815.your-backup.de:/ /srv/backup fuse.sshfs defaults,_netdev 0 0
/srv/backup/hetzner-backup-space/filesystem.img /srv/backup/backup ext4 defaults,loop 0 0
Beachten Sie, dass es auf diese Weise auch möglich ist, Ihre Backups mit cryptsetup zu verschlüsseln. Es wird empfohlen, Schlüsseldateien für die temporäre Verwendung nicht auf der Festplatte zu speichern, da gelöschte Dateien mit datenforensischen Werkzeugen wiederhergestellt werden können. Speichern Sie sie dauerhaft an einem (vorzugsweise offline) sicheren Ort und laden Sie sie nur in ein virtuelles Dateisystem hoch.
# 32 Bytes sind 256 Bits
dd if=/dev/random of=/dev/shm/hetzner-backup.key bs=1 count=32
Speichern Sie die Datei jetzt an einem sicheren Ort. Speichern Sie sie nicht dauerhaft auf dem Server.
cryptsetup luksFormat --key-file=/dev/shm/hetzner-backup.key /dev/backup/hetzner-backup-space/filesystem.img
cryptsetup luksOpen --key-file=/dev/shm/hetzner-backup.key /dev/backup/hetzner-backup-space/filesystem.img backup_crypt
Denken Sie daran, die Schlüsseldatei nach Gebrauch auf dem Server zu löschen
rm /dev/shm/hetzner-backup.key
Erstellen Sie ein Dateisystem auf dem unverschlüsselten Mapping
mkfs.ext4 /dev/mapper/backup_crypt
Das entschlüsselte Mapping muss von Hand gemountet werden. Die /etc/fstab (oder /etc/crypttab) Datei macht hier keinen Sinn, da die Schlüsseldatei nicht auf dem Server gespeichert ist und daher eine menschliche Interaktion erfordert, um auf das verschlüsselte Backup-Image zuzugreifen.
mount -o loop /dev/mapper/backup_crypt /srv/backup/backup
Wenn alle Backups für heute fertig sind, können Sie auch das cryptsetup-Mapping wieder schließen. Dies muss vor dem Aushängen des Backup-Verzeichnisses geschehen!
cryptsetup luksClose /dev/mapper/backup_crypt
https://docs.hetzner.com/robot/storage-box/general https://docs.hetzner.com/storage/storage-box/backup-space-ssh-keys/ https://wiki.archlinux.org/index.php/sparse_file#Resizing_the_sparse_file
Suchen Sie
Linux Notfallunterstützung,
Linux-Beratung für Projekte,
Linux Managed Hosting,
Qubes OS Beratung und Support oder
Online- und Vor-Ort-Schulungen?