3 Managing Backups With ReaR
ReaR is a disaster recovery tool that you can use on Oracle Linux systems in the local data center. ReaR automatically generates a bootable recovery environment and external file backups.
You can schedule the creation of ReaR rescue systems by using, for example, a
systemd timer, or the Crontab utility. You can use ReaR to restore lost
user and system files to the original directory locations.
To find out more about ReaR, see https://relax-and-recover.org/, and the rear(8) manual page that's available after you
have installed ReaR.
Creating a ReaR Rescue System
Use ReaR to create a bootable device that can be used to restore the underlying system and copy data from an external source.
Prerequisites
Before proceeding, you need to install the packages required to create a bootable recovery environment as an ISO image file as described in the following tabbed sections:
Install the xorriso and syslinux packages by
running the following command:
sudo dnf install xorriso syslinuxInstall the xorriso and syslinux packages by
running the following command:
sudo dnf install xorriso syslinuxInstall the genisoimage and syslinux packages
by running the following command:
sudo dnf install genisoimage syslinuxConfiguring a ReaR Rescue System
The rescue system configuration is stored in the
/etc/rear/local.conf file.
Note:
For a guide to standard configuration of all available parameters that can be used in
/etc/rear/local.conf, see the
/usr/share/rear/conf/default.conf file.
Define the storage medium by setting the
OUTPUT parameter and the ISO image file
location, which is specified by the
OUTPUT_URL parameter:
OUTPUT=ISO
OUTPUT_URL=file:///mnt/rescue_system/
This configuration generates an ISO image file in the
/var/lib/rear/output/ directory as
/mnt/rescue_system/host_name/rear-localhost.iso.
You can also replace file:/// with
nfs:// for network storage mounts.
If disk space is limited, optionally configure ReaR to omit
/var/lib/rear/output/ to only generate a
single ISO image file in the
/mnt/rescue_system directory:
OUTPUT=ISO
BACKUP=NETFS
OUTPUT_URL=null
BACKUP_URL=iso:///backup
ISO_DIR=/mnt/rescue_systemTo automatically generate a file backup each time the recovery system is generated, see Using ReaR to Back Up Files.
Generating a ReaR Rescue System
After you have configured the base settings for a rescue system, generate an ISO image file
by using the mkrescue command:
sudo rear mkrescue For information about how to create USB installation media from an ISO file
by using the dd command, you can visit one of the following links:
Scheduling the Creation of ReaR Rescue Systems
Use a systemd timer to schedule the creation of a ReaR rescues system.
What Do You Need?
The following procedure assumes you have configured and tested the creation of the ReaR rescue system you intend to schedule. For more information about configuring and generating a ReaR rescue system see Configuring a ReaR Rescue System and Generating a ReaR Rescue System
For the purposes of the example, the steps in the following procedure show how you would
use a systemd timer, with a corresponding systemd service
unit, to automatically generate a new rescue system every weekday at 22:00 hrs.
To schedule the creation of the of a Rear rescue system, perform the following steps:
Steps
systemd timers see the manual page
systemd.timer(5). You can also visit the following links:
Using ReaR to Back Up Files
In addition to creating a rescue system, you can optionally configure ReaR to generate a full file backup at the same time.
Creating Tarball Backups
To create a full file backup and store the results as a tarball, edit the
/etc/rear/local.conf file. The following list describes selected
parameters that you can define:
-
BACKUPandBACKUP_URLsettings would generate output tar files in the/srv/backupdirectory, for example:OUTPUT=ISO OUTPUT_URL=file:///mnt/rescue_system/ BACKUP=NETFS BACKUP_URL=file:///srv/backup/ -
The
NETFS_KEEP_OLD_BACKUP_COPYsetting can be used to keep the previous backup by renaming it before creating the new one, for example:NETFS_KEEP_OLD_BACKUP_COPY=y -
To create a full ISO image file, change the
BACKUP_URLas follows:BACKUP_URL=iso:///backup/ -
When
BACKUP_URLpoints to an NFS share, and settingsBACKUP=NETFS, andBACKUP_PROG=tar(the default) are being used, the following properties can be configured:-
The
BACKUP_TYPEsetting conserves disk space by making backups incremental, for example:BACKUP_TYPE=incremental -
The
FULLBACKUPDAYis used to ensure a full backup is made on certain days of the week, irrespective of theBACKUP_TYPEsetting. For example:FULLBACKUPDAY=(Sun)
-
Generating Backups With ReaR
To verify whether the file system has changed from the last time you generated a backup, type:
sudo rear checklayout If the BACKUP setting in /etc/rear/local.conf is
NETFS, you can create three different kinds of backup with ReaR:
-
Create a rescue system without a file backup:
sudo rear mkrescue -
Create a file backup without a rescue system:
sudo rear mkbackuponly -
Create a rescue system and a file backup:
sudo rear mkbackup
Testing the ReaR Rescue System
You must periodically test that you can restore from backups to be confident that system recovery is possible. Provision a test system on which you can perform a recovery without losing important data, and then follow these steps:
-
Boot the test system from recovery media for the rescue system that you generated in Creating a ReaR Rescue System.
-
Follow the instructions in Recovering a System With ReaR on the test system. For more diagnostic information, add the
-vparameter to the recovery command, for example:rear -v recover -
If the recovery doesn't run correctly on the test system, revise the ReaR configuration and regenerate the rescue system.
-
Repeat these steps on the test system until the recovery process succeeds.
Recovering a System With ReaR
If an Oracle Linux installation has been rendered unbootable, you can use ReaR to recover the system and restore data. You would run this utility on a dedicated rescue environment that was generated for that device.
-
Boot the device with the rescue system that you generated in Creating a ReaR Rescue System.
-
Select the
Recover localhostoption from the boot loader menu. -
Log in to the rescue system as the
rootuser.The shell environment uses the credentials that are stored in the
/root/.ssh/authorized_keysfile, if available. Or, you can manually set theSSH_ROOT_PASSWORDenvironment variable. -
Start the automated recovery process.
rear recoverThe system's file structure is replicated in the
/mnt/localdirectory. You can optionally use that directory as the output directory for file recovery from an external source. -
Extract the tarball contents to
/mnt/local:tar -xf backup.tar.gz -C /mnt/localNote:
This step assumes that the backup tarball is on the same system that you want to recover. If the tarball is stored remotely, you would need to bring it to the system first.
For example, to transfer the tarball over an SSH connection, and assuming that the remote tarball is in
/mnt/backups/, you would type:scp root@example.com:/mnt/backups/backup.tar.gz backup.tar.gzTo transfer the tarball from a network share, you would type:
rsync -avzh root@example.com:/mnt/backups/backup.tar.gz . -
Set SELinux to relabel on the next boot by creating a blank file called
.autorelabelin the/mnt/localdirectory:touch /mnt/local/.autorelabel -
Exit the recovery environment by rebooting the system:
rebootWhen SELinux has relabeled the entire file system, the recovered host system is bootable.
Creating Multiple Backups With ReaR
You can use different rear commands to create a rescue system with files
from the underlying system, then back up the data from both the /home and
/opt directories.
Common settings for rear are defined in the
/etc/rear/local.conf file, but you can override individual values with
separate configuration files for each scenario, for example:
-
/etc/rear/basic_system.conf -
/etc/rear/home_backup.conf -
/etc/rear/opt_backup.conf
In these configuration files, select which folders to include in the backup and define the
output tarball name. To include wider matches, you can provide wildcards (*)
in path names that you specify.
For more information and sample configurations, see https://relax-and-recover.org/documentation/.
To create backups with rear, do the following.
-
Configure the appropriate files that specifies how the backup would run.
For example, to specify that only the
/homedirectory is included in the/etc/rear/home_backup.conffile, you would add the following configuration definitions:BACKUP_ONLY_INCLUDE="yes" BACKUP_PROG_INCLUDE=( '/home/*' ) BACKUP_PROG_ARCHIVE="backup-${this_file_name%.*}" -
Generate each backup.
The
-Coption specifies what configuration file to use.sudo rear -C basic_system mkbackup sudo rear -C home_backup mkbackuponly sudo rear -C opt_backup mkbackuponly -
From within the rescue environment, use the same labels to recover the system, for example:
rear -C basic_system recover rear -C home_backup restoreonly rear -C opt_backup restoreonlyTo find out more about
rearcommand parameters and recovery options, see therear(8)manual page.