Live Image Backups met FSArchiver op Fedora (LVM)
TL;DR: FSArchiver is een filesystem-level backup tool die ideaal is voor LVM-gebaseerde Fedora installaties. Je kunt een consistent live image maken via LVM snapshots zonder de machine stil te leggen. De versie in Fedora’s repositories is vaak achterhaald — compileer liever de laatste release (0.8.9) voor ondersteuning van moderne XFS/BTRFS features. Voor restore heb je een live-omgeving nodig, bijvoorbeeld SystemRescue op een USB-stick. Het hele proces: snapshot maken → backuppen → snapshot verwijderen → (bij restore) booten vanaf SystemRescue → partitioneren → terugzetten.
Waarom FSArchiver?
FSArchiver is geen gewone file-based backup zoals tar of rsync. Het werkt op filesystem-niveau: het slaat niet alleen bestanden op, maar ook de filesystem metadata (labels, UUIDs, block sizes, SELinux contexten, extended attributes). Dat maakt het perfect voor het klonen of backuppen van een compleet systeem.
Waar dd een exacte block-level kopie maakt (groot, inflexibel, niet naar kleinere schijf te herstellen), werkt FSArchiver slim:
- Verschillende grootte: terugzetten op een kleinere (of grotere) partitie is geen probleem
- Verschillend filesystem: backup van ext4, restore naar XFS
- Checksums: elk bestand heeft een ingebouwde md5 — bij corruptie verlies je alleen dát bestand, niet het hele archief
- Multi-threaded compressie: ondersteunt zstd, lz4, xz, gzip, bzip2 — met
-j4gebruik je al je CPU cores
Waarom de laatste versie compileren?
Fedora heeft FSArchiver in de repos, maar vaak een oude versie. Het verschil is belangrijk:
| Versie | Repos (Fedora 41) | Laatste (0.8.9) |
|---|---|---|
| XFS features | beperkt | inobtcount, bigtime, nrext64 |
| EXT4 | basis | fast_commit, orphan_file |
| BTRFS | basis | features up-to-date met kernel 6.18 |
| ZSTD | ja | ja |
sudo dnf install fsarchiver geeft je een werkende tool, maar als je een moderne Fedora draait met een recente kernel, mis je cruciale filesystem feature-detectie. Zonder die detectie kan FSArchiver weigeren een filesystem te backuppen, omdat het de features niet herkent.
Compileren van fsarchiver 0.8.9
# Dependencies installeren
sudo dnf install -y gcc make zlib-devel bzip2-devel lzo-devel \
lz4-devel xz-devel libzstd-devel e2fsprogs-devel \
libgcrypt-devel libattr-devel libblkid-devel
# Downloaden en compileren
cd /var/tmp
curl -LO https://github.com/fdupoux/fsarchiver/releases/download/0.8.9/fsarchiver-0.8.9.tar.gz
tar xfz fsarchiver-0.8.9.tar.gz
cd fsarchiver-0.8.9
./configure --prefix=/usr
make && sudo make install
# Controleren
fsarchiver -V
Dat is het. Je hebt nu een statische binary met alle compressie-ondersteuning.
Live backup maken met LVM snapshot
Fedora gebruikt standaard LVM voor de root-partitie. Dat is handig, want LVM snapshots geven een consistent vriespunt van je filesystem, terwijl de machine gewoon door draait.
Stappenplan
1. Controleer je LVM setup:
sudo lvdisplay
Je ziet je volume group (vaak fedora) en logical volumes (bijv. root, home, swap).
2. Zorg dat er vrije extents zijn in de volume group:
sudo vgdisplay fedora | grep Free
Als er geen vrije ruimte is, kun je een LV verkleinen of snapshot overslaan (dan backup je met -A en accepteer je een risico op inconsistentie).
3. Maak een LVM snapshot:
sudo lvcreate --snapshot --name root-snap --size 10G fedora/root
De snapshot grootte hoeft niet de volledige LV grootte te zijn — alleen genoeg om de wijzigingen tijdens de backup op te vangen. Voor een snelle backup van 5-10 minuten is 10G ruim voldoende.
4. Backup de snapshot:
sudo fsarchiver savefs -j4 -Z 6 -o \
/mnt/backup/fedora-root-$(date +%Y%m%d-%H%M).fsa \
/dev/fedora/root-snap
Opties uitgelegd:
-j4— 4 compressie threads (pas aan op jouw aantal cores)-Z 6— zstd compressie level 6 (uitstekende balans snelheid/grootte)-o— overschrijf bestaand archief
Wil je meerdere LV’s in één archief?
sudo fsarchiver savefs -j4 -Z 6 \
/mnt/backup/fedora-complete-$(date +%Y%m%d-%H%M).fsa \
/dev/fedora/root-snap /dev/fedora/home-snap
Elk filesystem krijgt een eigen ID (0, 1, …) in het archief.
5. Verwijder de snapshot:
sudo lvremove fedora/root-snap
6. Optioneel: backup ook /boot
/boot is meestal een aparte partitie (geen LVM, vaak ext4). Die kun je ook meenemen:
sudo fsarchiver savefs -j4 -Z 6 \
/mnt/backup/fedora-boot-$(date +%Y%m%d).fsa \
/dev/sda1
Waarom dit veilig is
Een LVM snapshot is een copy-on-write momentopname. Terwijl FSArchiver de snapshot uitleest, kunnen processen op de originele LV gewoon door schrijven. Het resultaat is een consistent beeld van het filesystem zoals het was op het moment van lvcreate. Geen last van “tijdens backup verandert bestand X” problemen.
Restore uitvoeren
Belangrijk: je kunt niet terugzetten naar een gemounte partitie. Je hebt een live-omgeving nodig.
SystemRescue USB maken
SystemRescue is de aanbevolen live-omgeving omdat het een recente FSArchiver en alle filesystem tools (e2fsprogs, xfsprogs, btrfs-progs, etc.) aan boord heeft.
# Download de ISO
curl -LO https://download.system-rescue.org/systemrescue-12.02-amd64.iso
# Schrijf naar USB (vervang /dev/sdX door jouw USB device!)
sudo dd if=systemrescue-12.02-amd64.iso of=/dev/sdX bs=4M status=progress
sync
Of je gebruikt de officiële USB installer tool voor andere platformen.
Herstellen vanaf SystemRescue
1. Boot van de USB, kies de standaard optie. SystemRescue start op in een Linux-omgeving.
2. Bereid de schijf voor:
# Schijf indelen (voorbeeld: 1 schijf, LVM)
gdisk /dev/sda # of fdisk /dev/sda
# Maak: 1GB /boot (EF02 voor BIOS, EF00 voor UEFI), rest LVM (8E00)
3. Herstel de partities:
# LVM aanmaken
pvcreate /dev/sda2
vgcreate fedora /dev/sda2
lvcreate -n root -L 100G fedora
lvcreate -n home -L 200G fedora
# Of maak exact even groot als origineel (controleer met fsarchiver archinfo)
4. Herstel de filesystems uit het archief:
# Eerst controleren wat er in het archief zit
fsarchiver archinfo /mnt/backup/fedora-complete-20260526-1200.fsa
# Terugzetten
fsarchiver restfs /mnt/backup/fedora-complete-20260526-1200.fsa \
id=0,dest=/dev/fedora/root \
id=1,dest=/dev/fedora/home
De optie id=0 verwijst naar het eerste filesystem in het archief (de root snapshot), id=1 naar het tweede (home snapshot).
5. Herstel /boot (indien apart gebackupt):
fsarchiver restfs /mnt/backup/fedora-boot-20260526.fsa \
id=0,dest=/dev/sda1
6. Werk de fstab bij (indien nodig, bij gewijzigde schijfindeling):
mount /dev/fedora/root /mnt/root
mount /dev/sda1 /mnt/root/boot
mount /dev/fedora/home /mnt/root/home
# Mount dev/proc/sys voor chroot
mount --bind /dev /mnt/root/dev
mount --bind /proc /mnt/root/proc
mount --bind /sys /mnt/root/sys
chroot /mnt/root
# Genereer fstab
blkid >> /etc/fstab
# Of bewerk handmatig met de juiste UUIDs
7. GRUB herstellen:
# In de chroot
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda
exit
Klaar. Reboot zonder USB — je systeem zou moeten opstarten zoals voor de backup.
Waarom geen dd?
dd if=/dev/sda of=image.img is verleidelijk simpel, maar:
| Aspect | dd | FSArchiver |
|---|---|---|
| Grootte | Altijd volledige schijf (bijv. 1TB) | Alleen gebruikte data |
| Naar kleinere schijf | Onmogelijk | Geen probleem |
| Compressie | Nee (zelf pipe naar gzip) | Ingebouwd (zstd/lz4/xz) |
| Checksums | Nee | Per bestand md5 |
| Filesystem conversie | Nee | ext4 ↔ XFS ↔ … |
| Multi-threaded | Nee | -j4 etc. |
Automatiseren met rubackup
Wil je dit proces automatiseren? Kijk dan naar rubackup. Het is een Ruby script dat automatisch LVM snapshots maakt, FSArchiver aanroept, en de snapshots weer opruimt. Perfect voor cron-gebaseerde nachtelijke backups.
Conclusie
FSArchiver is de ideale tool voor het maken van live system images op Fedora (of elke andere Linux met LVM). De combinatie van LVM snapshots voor consistentie, FSArchiver voor flexibel filesystem-level backup, en SystemRescue voor restore geeft je een robuuste backup-strategie zonder dure licenties.
De belangrijkste lessen:
- Gebruik de laatste versie — compileer 0.8.9 vanuit source, de repo-versie is te oud voor moderne filesystem features
- LVM snapshots garanderen een consistente backup zonder downtime
- SystemRescue is de makkelijkste weg naar een bootable restore-omgeving
- Herstellen is simpel — boot, partitioneer,
fsarchiver restfs, grub-install, klaar
Met dit stappenplan kun je elke Fedora machine in een paar minuten backuppen en, als het misgaat, net zo snel weer herstellen.