Re: Problem mit rsync und Hardlinks (Diskspace explodiert)
Hallo,
Michelle Konzack <linux4michelle@tamay-dogan.net>:
>Die Incremental-Backups explodieren, sprich, sie haben WESENTLICH mehr
>Diskspace Verbrauch als sie sollten.
>Damit bei einem Full-Backup nicht jedesmal >1,2 TByte transferiert
>werden müssen, kopiere ich das lezte Full-Backup mit
>
> cp -a ${LAST_FULL}/* ${NEW_BACKUP}/
> +
> rsync -v -e ssh -a root@${SERVER}:${SOURCE} ${NEW_BACKUP}/
>
>damit werden auch Hardlinks de-refferenced. Für das Incremental-Backup
>verwende ich immer das lezte Backup-Verzeichnis mit
>
> cp -a -l ${LAST_BACK}/* ${NEW_BACKUP}/
> +
> rsync -v -e ssh -a --delete root@${SERVER}:${SOURCE} ${NEW_BACKUP}/
>Normalerweise sollte lezterer Test die Hardlinks ausschließen und der effektiv
>benötiget Platz nicht 25 GByte sondern so um die 10-12 GByte liegen oder besser
>gesagt, ein Full-Backup und sechs Incremental-Backup sollten den benötigten
>Backplatz gerade mal verdoppeln, wenn nichts nennenswertes neu installiert wurde
Man muss hier unterscheiden zwischen
1. ("Hard"-)Links, die innerhalb des zu sichernden Dateibestandes
existieren.
Um diese zu erhalten, gibt es bei rsync die Option -H . Beachte, dass -H
nicht in -a enthalten ist. Der Grund ist, dass ein rsync mit -H viel mehr
Speicherplatz braucht, weil es sich alle kopierten inodes merken muss.
2. Links, die zwischen den verschiedenen Versionen des Backups existieren
(von dir mit cp -l angelegt).
Hierzu bietet rsync die Option --link-dest=... . Für ein Beispiel siehe
die Folie 6 meines Vortrages über versioniertes Backup:
http://www.weidner.ch/pub/VersioniertesBackup_LinuxWSKoeln_2011.pdf
Das cp kannst du dir in beiden Fällen sparen. Beim Full Backup übernimmt
rsync --copy-dest die Rolle des cp.
Idealerweise verwendest du auch noch die Option rsync -S, um Sparse Files
zu erhalten. Also:
Full Backup:
rsync -v -e ssh -aHS --copy-dest=${LAST_FULL} root@${SERVER}:${SOURCE}/ ${NEW_BACKUP}/
Incremental Backup:
rsync -v -e ssh -aHS --delete --link-dest=${LAST_BACKUP} root@${SERVER}:${SOURCE}/ ${NEW_BACKUP}/
Gruß, Harald
Reply to: