A ReaR (Relax and Recover) egy kényelmes kis backup megoldás Linuxra. Futó rendszer mentésére alkalmas, jól automatizálható izé. Mondjuk itt csak egy elég fapad megoldását írom le, de itthon ennyire van szükség, ezt teszteltem ki. Természetesen Debianon, de elég jó kis leírás van pl. Redhat-re is.
Ami jó az egészben, a futó rendszer mentése mellett, hogy rengeteg backup megoldást ismer. Veritas, Veeam, TSM, amik azért nagyobb cégeknél fordulnak elő, de mezei SMB/CIFS, NFS, SSHFS, stb. megosztásra is tud menteni, meg még egy rakás mindenre.
Az alapvető működés az, hogy egy ISO file készül, majd a filerendszerek tartalmáról egy backup a választott backup megoldásra (sima megosztás esetén egy .tar.gz). A visszaállításhoz az ISO-ról kell indítani a gépet, ami felhúzza a hálózatot, diszk layoutot megcsinálja, majd visszarángatja az adatot a .tar.gz -ből.
Mivel alapvetően itthon a virtuálhost/NAS gépen SMB/CIFS megosztás van, meg amúgy sincs szükség napi/heti mentésekre, kevésbé kényelmes, de szögegyszerű módot választottam, ide kerül a backup. Az a macera, hogy az ISO létrehozás sokkal kevesebb kimenetet ismer, mint a backup, és ezek között nincs olyasmi, amihez legalábbis le lehet tárolni a jelszót (még akár nem biztonságos módon is). Szóval backup indítása után legalább egyszer be kell írnom a jelszót az ISO rsync-es másolásához
(NFS-hez pl. ha minden igaz, megoldható, hogy teljesen automata legyen a mentés.)
A konfig :TIMESYNC=NTPBACKUP=NETFSOUTPUT=ISOOUTPUT_URL=rsync://backup@a8host/store/homeserver/backup/BACKUP_URL=cifs://a8host/store/homeserver/backup/BACKUP_OPTIONS="cred=/etc/rear/cifs"BACKUP_PROG_EXCLUDE=( "${BACKUP_PROG_EXCLUDE[@]}" '/sys/*' )BACKUP_PROG_EXCLUDE=( "${BACKUP_PROG_EXCLUDE[@]}" '/proc/*' )USE_SERIAL_CONSOLE="no"KERNEL_CMDLINE="console=tty1 systemd.unit=getty@tty1.service"MODULES_LOAD=( e1000e )
A külön rescue ISO létrehozása :root@homeserver:~# /usr/sbin/rear -v mkrescueRelax-and-Recover 2.7 / GitRunning rear mkrescue (PID 4041691 date 2025-09-12 10:13:59)Using log file: /var/log/rear/rear-homeserver.logRunning workflow mkrescue on the normal/original systemUsing autodetected kernel '/boot/vmlinuz-6.12.21-amd64' as kernel in the recovery systemCreating disk layoutOverwriting existing disk layout file /var/lib/rear/layout/disklayout.confUsing guessed bootloader 'GRUB' for 'rear recover' (found in first bytes on /dev/sda)Verifying that the entries in /var/lib/rear/layout/disklayout.conf are correctCreated disk layout (check the results in /var/lib/rear/layout/disklayout.conf)Creating recovery system root filesystem skeleton layoutTo log into the recovery system via ssh set up /root/.ssh/authorized_keys or specify SSH_ROOT_PASSWORDCopying logfile /var/log/rear/rear-homeserver.log into initramfs as '/tmp/rear-homeserver-partial-2025-09-12T10:14:08+02:00.log'Copying files and directoriesCopying binaries and librariesCopying all kernel modules in /lib/modules/6.12.21-amd64 (MODULES contains 'all_modules')Copying all files in /lib*/firmware/Symlink '/usr/share/misc/magic' -> '/usr/share/file/magic' refers to a non-existing directory on the recovery system.It will not be copied by default. You can include '/usr/share/file/magic' via the 'COPY_AS_IS' configuration variable.Testing that the recovery system in /var/tmp/rear.aHCQq047CFUljIK/rootfs contains a usable system/usr/lib/x86_64-linux-gnu/systemd/libsystemd-core-258.so requires additional libraries libsystemd-shared-258.so => not foundReaR recovery system in '/var/tmp/rear.aHCQq047CFUljIK/rootfs' needs additional libraries, check /var/log/rear/rear-homeserver.log for detailsCreating recovery/rescue system initramfs/initrd initrd.cgz with gzip default compressionCreated initrd.cgz with gzip default compression (376121584 bytes) in 98 secondsMaking ISO imageWrote ISO image: /var/lib/rear/output/rear-homeserver.iso (372M)Copying resulting files to rsync locationSaving /var/log/rear/rear-homeserver.log as rear-homeserver.log to rsync locationCopying result files '/var/lib/rear/output/rear-homeserver.iso /var/tmp/rear.aHCQq047CFUljIK/tmp/VERSION /var/tmp/rear.aHCQq047CFUljIK/tmp/README /var/tmp/rear.aHCQq047CFUljIK/tmp/rear-homeserver.log' to rsync locationbackup@a8host's password: Exiting rear mkrescue (PID 4041691) and its descendant processes ...Running exit tasksroot@homeserver:~#
A backup (ha nem kell ISO, mert már van, akkor rear -v mkbackuponly ) :root@homeserver:~# /usr/sbin/rear -v mkbackupRelax-and-Recover 2.7 / GitRunning rear mkbackup (PID 4062403 date 2025-09-12 10:20:20)Using log file: /var/log/rear/rear-homeserver.logRunning workflow mkbackup on the normal/original systemUsing backup archive '/var/tmp/rear.KAqDBJCxsWpZSUE/outputfs/homeserver/backup.tar.gz'Using autodetected kernel '/boot/vmlinuz-6.12.21-amd64' as kernel in the recovery systemCreating disk layoutOverwriting existing disk layout file /var/lib/rear/layout/disklayout.confUsing guessed bootloader 'GRUB' for 'rear recover' (found in first bytes on /dev/sda)Verifying that the entries in /var/lib/rear/layout/disklayout.conf are correctCreated disk layout (check the results in /var/lib/rear/layout/disklayout.conf)Creating recovery system root filesystem skeleton layoutTo log into the recovery system via ssh set up /root/.ssh/authorized_keys or specify SSH_ROOT_PASSWORDCopying logfile /var/log/rear/rear-homeserver.log into initramfs as '/tmp/rear-homeserver-partial-2025-09-12T10:20:29+02:00.log'Copying files and directoriesCopying binaries and librariesCopying all kernel modules in /lib/modules/6.12.21-amd64 (MODULES contains 'all_modules')Copying all files in /lib*/firmware/Symlink '/usr/share/misc/magic' -> '/usr/share/file/magic' refers to a non-existing directory on the recovery system.It will not be copied by default. You can include '/usr/share/file/magic' via the 'COPY_AS_IS' configuration variable.Testing that the recovery system in /var/tmp/rear.KAqDBJCxsWpZSUE/rootfs contains a usable system/usr/lib/x86_64-linux-gnu/systemd/libsystemd-core-258.so requires additional librarieslibsystemd-shared-258.so => not foundReaR recovery system in '/var/tmp/rear.KAqDBJCxsWpZSUE/rootfs' needs additional libraries, check /var/log/rear/rear-homeserver.log for detailsCreating recovery/rescue system initramfs/initrd initrd.cgz with gzip default compressionCreated initrd.cgz with gzip default compression (376121535 bytes) in 98 secondsMaking ISO imageWrote ISO image: /var/lib/rear/output/rear-homeserver.iso (372M)Copying resulting files to rsync locationSaving /var/log/rear/rear-homeserver.log as rear-homeserver.log to rsync locationCopying result files '/var/lib/rear/output/rear-homeserver.iso /var/tmp/rear.KAqDBJCxsWpZSUE/tmp/VERSION /var/tmp/rear.KAqDBJCxsWpZSUE/tmp/README /var/tmp/rear.KAqDBJCxsWpZSUE/tmp/rear-homeserver.log' to rsync locationbackup@a8host's password:Making backup (using backup method NETFS)Creating tar archive '/var/tmp/rear.KAqDBJCxsWpZSUE/outputfs/homeserver/backup.tar.gz'Archived 67244 MiB [avg 6580 KiB/sec] OKArchived 67244 MiB in 10465 seconds [avg 6579 KiB/sec]Exiting rear mkbackup (PID 4062403) and its descendant processes ...Running exit tasksroot@homeserver:~#
Hirdetés
Ha ez megvan, akkor van backupunk. Szükség esetén az ISO-ról bootolva lehet visszaállítani. Az ISO kialakítja a céllemezen a megfelelő filerendszert, csatlakozik a hálózatra, és visszamásolja a készített .tar-ból a backupot. Eddig olyan bugokat láttam, amik LVM illetve több hálókártya esetén okoztak gondot, bár a több hálókártya már az ISO-ban lekezelhető : ki lehet választani a sorrendet kézzel, illetve általában egy hálózat megléte már elég a .tar eléréshez. Ha a visszaállított rendszer ugyanarra a hardverre kerül, mint amiről a backup készült, akkor nyilván semmi gond nem lesz, más hardverre, vagy új virtuális gépre való visszaállítás esetén szinte biztos, hogy kell majd a hálózaton konfigurálni. Utóbbi esetben az is fontos, hogy ugyanolyan boot könyezet legyen, tehát a BIOS/UEFI ugyanolyan módban induljon.
Visszaállítás
Bebootolunk a CD-ről, majd a login alapértelmezésben root, nincs jelszó. (Ezt persze lehet állítani a mentés konfigjában, hogy legyen jelszava, milyen user, stb.)

Boot
Itt volt valami bug, mert ugyan nem ugyanolyan gépre tettem vissza a backupot, mint amiről mentettem, de ugyanolyan hálókártya volt benne. A home szerveremben az Intel e1000e modul kezeli a hálózati kártyát, és a visszaállítás tesztelésére használt virtuális gépbe is ugyanilyen kártya került, mégsem ismerte fel a Rear ISO.
Ki kellett hát adni amodprobe e1000emodprobe e1000dhclient
parancsokat, és lett háló.
Érdekes módon pl. egy KVM-es virtuálgépről készült mentés szó nélkül felismeri a hálózatot. Ha ugyanarra a hardverre kerül vissza az OS, akkor is fel kell húznia a hálót, mert a használatban levő kernelmodulokat menti a Rear.
A hálózat megléte ugyanúgy egy ip a s vagy ifconfig -a paranccsal ellenőrizhető, mint bármilyen Linuxon, meg hát úgyis elhasal, ha nincs háló ![;]](http://cdn.rios.hu/dl/s/v1.gif)
Másik fontos dolog, hogy ugyanazon az útvonalon legyen elérhető a backup, mint amivel az ISO készült, különben lehet felmountolni kézzel a /mnt/local -ba a backupot tartalmazó könyvtárt (nyilván ez a parancs CIFS/SMB esetén működik) :mount -t cifs -o username=user,password=password //szerver/útvonal/ /mnt/local
Ez amúgy hasznos akkor is, ha nem hálózatról, hanem külső adathordozóról akarunk visszaállni, nyilván akkor egy sima mount parancs megoldja.
Ha sikerült, akkor egy rear recover paranccsal már indul is a visszaállítás. Végigkérdezi a diszk kiosztást, partíciókat, hálózatot, ezeket általában módosítani is lehet. (Az alapbeállításokkal, ha megfelelően néz ki a gép, amire visszatesszük - azaz, nem kisebbek a diszkek, stb. - jónak kell lennie.) A rear mountonly csak felcsatolja a backupot, amiből ki lehet nyerni file-okat egy manuális javításhoz. (Van még pár opció.) Ha hibára fut, akkor a kimenet végén ott lesz a logfile is, amiből megtudhatjuk, mi baja 
A végén pedig egy reboot paranccsal újraindul a gép, és mára visszaállított OS bootol.

Ha nincs háló, csinálni kell 

Ilyen kérdésből elég sok van, a legtöbbre persze lehet nyomni a yes meg az 1-et, ha megfelelő a célhardver

És ha itt mind a 60GB-ot visszamásolta, akkor már kész is 
Jó kis cucc ez, elég kényelmes is tud lenni, és az ólajtón is fut (tehát mindegy, van-e a gépen asztali környezet).
Ha ingyenes GUI-s megoldás kell, akkor a Veeam (bár ez szöveges, de nem paracssoros), Duplicati, ilyesmik is megfelelnek.
