Linux ih01.iridiumhosting.com 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
LiteSpeed
Server IP : 67.227.241.211 & Your IP : 216.73.216.226
Domains :
Cant Read [ /etc/named.conf ]
User : dustinhy
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
MXB /
rear /
doc /
user-guide /
Delete
Unzip
Name
Size
Permission
Date
Action
pictures
[ DIR ]
drwxr-xr-x
2026-04-01 09:39
00-relax-and-recover-user-guide.md
354
B
-rw-r--r--
2026-04-01 09:39
01-introduction.md
4.23
KB
-rw-r--r--
2026-04-01 09:39
02-getting-started.md
4.87
KB
-rw-r--r--
2026-04-01 09:39
03-configuration.md
8.09
KB
-rw-r--r--
2026-04-01 09:39
04-scenarios.md
55.4
KB
-rw-r--r--
2026-04-01 09:39
05-integration.md
4.08
KB
-rw-r--r--
2026-04-01 09:39
06-layout-configuration.md
33.13
KB
-rw-r--r--
2026-04-01 09:39
07-tips-and-tricks.md
1.8
KB
-rw-r--r--
2026-04-01 09:39
08-troubleshooting.md
5.3
KB
-rw-r--r--
2026-04-01 09:39
09-design-concepts.md
9.34
KB
-rw-r--r--
2026-04-01 09:39
10-integrating-external-backup.md
5
KB
-rw-r--r--
2026-04-01 09:39
11-multiple-backups.md
13.3
KB
-rw-r--r--
2026-04-01 09:39
12-BLOCKCLONE.md
30.25
KB
-rw-r--r--
2026-04-01 09:39
13-tcg-opal-support.md
15.12
KB
-rw-r--r--
2026-04-01 09:39
14-ZYPPER-and-YUM.md
12.32
KB
-rw-r--r--
2026-04-01 09:39
15-EFISTUB.md
12.43
KB
-rw-r--r--
2026-04-01 09:39
16-Rubrik-CDM.md
5.41
KB
-rw-r--r--
2026-04-01 09:39
17-Portable-Mode.md
2.4
KB
-rw-r--r--
2026-04-01 09:39
Makefile
438
B
-rw-r--r--
2026-04-01 09:39
Save
Rename
# BLOCKCLONE as backup method BLOCKCLONE backup method is a bit distinct type of backup, which works directly with block devices. It allows running backups of any kind of block device that can be read/write by Linux drivers and save them to e.g. NFS share or USB drive for later restore. It currently integrates Disk Dump (dd) and ntfsclone (from ntfs-3g package). With BLOCKCLONE, user is also able to make full backup and restore of dual boot (Linux / Windows) environments. Another potential use-case for the BLOCKCLONE method is to copy an encrypted filesystem including the encryption layer by imaging the underlying block device. This means that all existing encryption keys will be preserved and that the resulting backup file (the image generated by `dd`) will itself remain encrypted. ## Limitations - Works only directly with disk partitions (or Logical Volumes using `dd`) - GPT not supported (work in progress) - No UEFI support (work in progress) - Linux family boot loader must be used as primary (Windows bootloader was not tested) - Restore should be done to same sized or larger disks - Tests were made with Windows 7/10 with NFS and USB as destinations. Other ReaR backup destinations like SMB or FTP might however work as well. ## Warning! ReaR with BLOCKCLONE is capable of doing backup of Linux/Windows dual boot environments. There is however a need for some basic knowledge on how the source OS is set up. Things like boot loader device location, Linux/Windows partitioning and file system layout are essential for backup setup. *Always test before relying on this approach!* ## Examples ### 1. Backup/restore of arbitrary block device with BLOCKCLONE and dd on NFS server #### Configuration This is very basic and most simple scenario where we will do backup of single partition (_/dev/sdc1_) located on separate disk (_/dev/sdc_). + First we need to set some global options in _local.conf_, like target for backups. In our small example backups will be stored in _/mnt/rear_ directory on BACKUP_URL NFS server. # cat local.conf OUTPUT=ISO BACKUP=NETFS BACKUP_OPTIONS="nfsvers=3,nolock" BACKUP_URL=nfs://<hostname>/mnt/rear Now we will define variables that will apply only for targeted block device # cat alien.conf BACKUP=BLOCKCLONE # Define BLOCKCLONE as backup method BACKUP_PROG_ARCHIVE="alien" # Name of image file BACKUP_PROG_SUFFIX=".dd.img" # Suffix of image file BACKUP_PROG_COMPRESS_SUFFIX="" # Don't use additional suffixes BLOCKCLONE_PROG=dd # Use dd for image creation BLOCKCLONE_PROG_OPTS="bs=4k" # Additional options that will be passed to dd BLOCKCLONE_SOURCE_DEV="/dev/sdc1" # Device that should be backed up BLOCKCLONE_SAVE_MBR_DEV="/dev/sdc" # Device where partitioning information is stored (optional) BLOCKCLONE_MBR_FILE="alien_boot_strap.img" # Output filename for boot strap code BLOCKCLONE_PARTITIONS_CONF_FILE="alien_partitions.conf" # Output filename for partition configuration BLOCKCLONE_ALLOW_MOUNTED="yes" # Device can be mounted during backup (default NO) #### Running backup Save partitions configuration, bootstrap code and create actual backup of /dev/sdc1 # rear -C alien mkbackuponly #### Running restore from ReaR restore/recovery system # rear -C alien restoreonly Restore alien.dd.img to device: [/dev/sdc1] # User is always prompted for restore destination Device /dev/sdc1 was not found. # If destination does not exist ReaR will try to create it (or fail if BLOCKCLONE_SAVE_MBR_DEV was not set during backup) Restore partition layout to (^c to abort): [/dev/sdc] # Prompt user for device where partition configuration should be restored Checking that no-one is using this disk right now ... OK Disk /dev/sdc: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes >>> Script header accepted. >>> Script header accepted. >>> Script header accepted. >>> Script header accepted. >>> Created a new DOS disklabel with disk identifier 0x10efb7a9. Created a new partition 1 of type 'HPFS/NTFS/exFAT' and of size 120 MiB. /dev/sdc2: New situation: Device Boot Start End Sectors Size Id Type /dev/sdc1 4096 249855 245760 120M 7 HPFS/NTFS/exFAT The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. #### Summary In first example we have run backup of /dev/sdc1 partition and stored it on NFS server. Saved image was later restored from ReaR rescue/recovery system. ReaRs BLOCKCLONE will always ask user for restore destination, so it is users responsibility to identify right target disk/partition prior restore. Unlike NETFS backup method, no guesses about target devices will be made! TIP: One of easiest ways how to identify right disk could be its size. Running `fdisk -l <device_file>` could be helpful. During restore phase ReaR recognized that target partition does not exist and asked if it should be created. If restore destination does not exist and BLOCKCLONE_SAVE_MBR_DEV was set during backup, ReaR will try to deploy partition setup from saved configuration files (BLOCKCLONE_MBR_FILE and BLOCKCLONE_PARTITIONS_CONF_FILE) and continue with restore. ### 2. Backup/restore of Linux / Windows 10 dual boot setup with each OS on separate disk #### Configuration In next example we will do backup/restore using BLOCKCLONE and `ntfsclone` of Linux (installed on /dev/sda) and Windows 10 (installed on /dev/sdb). TIP: You can locate right disk devices using `df` and `os-prober` # df -h /boot Filesystem Size Used Avail Use% Mounted on /dev/sda1 10G 4.9G 5.2G 49% / # Linux is most probably installed on /dev/sda # os-prober /dev/sdb1:Windows 10 (loader):Windows:chain # Windows 10 is most probably installed on /dev/sdb First we will configure some ReaR backup global options (similar to link:12-BLOCKCLONE.adoc#1-backuprestore-of-arbitrary-block-device-with-blockclone-and-dd-on-nfs-server[first example] we will do backup/restore with help of NFS server). # cat local.conf OUTPUT=ISO BACKUP=NETFS BACKUP_OPTIONS="nfsvers=3,nolock" BACKUP_URL=nfs://<hostname>/mnt/rear REQUIRED_PROGS+=( ntfsclone ) Now we will define backup parameters for Linux. # cat base_os.conf this_file_name=$( basename ${BASH_SOURCE[0]} ) LOGFILE="$LOG_DIR/rear-$HOSTNAME-$WORKFLOW-${this_file_name%.*}.log" BACKUP_PROG_ARCHIVE="backup-${this_file_name%.*}" BACKUP_PROG_EXCLUDE+=( '/media/*' ) Our Windows 10 is by default installed on two separate partitions (partition 1 for boot data and partition 2 for disk C:), so we will create two separate configuration files for each partition. Windows boot partition: # cat windows_boot.conf BACKUP=BLOCKCLONE BACKUP_PROG_ARCHIVE="windows_boot" BACKUP_PROG_SUFFIX=".img" BACKUP_PROG_COMPRESS_SUFFIX="" BLOCKCLONE_PROG=ntfsclone BLOCKCLONE_SOURCE_DEV="/dev/sdb1" BLOCKCLONE_PROG_OPTS="--quiet" BLOCKCLONE_SAVE_MBR_DEV="/dev/sdb" BLOCKCLONE_MBR_FILE="windows_boot_strap.img" BLOCKCLONE_PARTITIONS_CONF_FILE="windows_partitions.conf" Windows data partition (disk C:\): # cat windows_data.conf BACKUP=BLOCKCLONE BACKUP_PROG_ARCHIVE="windows_data" BACKUP_PROG_SUFFIX=".img" BACKUP_PROG_COMPRESS_SUFFIX="" BLOCKCLONE_PROG=ntfsclone BLOCKCLONE_SOURCE_DEV="/dev/sdb2" BLOCKCLONE_PROG_OPTS="--quiet" BLOCKCLONE_SAVE_MBR_DEV="/dev/sdb" BLOCKCLONE_MBR_FILE="windows_boot_strap.img" BLOCKCLONE_PARTITIONS_CONF_FILE="windows_partitions.conf" #### Running backup First we will create backup of Linux. `mkbackup` command will create bootable ISO image with ReaR rescue/recovery system that will be later used for booting broken system and consecutive recovery. # rear -C base_os mkbackup Now we create backup of Windows 10 boot partition. Command `mkbackuponly` will ensure that only partition data and partition layout will be saved (ReaR rescue/recovery system will not be created which is exactly what we want). # rear -C windows_boot mkbackuponly Similarly, we create backup of Windows 10 data partition (disk C:\) # rear -C windows_data mkbackuponly #### Running restore from ReaR restore/recovery system As a first step after ReaR rescue/recovery system booted, we will recover Linux. This step will recover all Linux file systems, OS data and bootloader. Windows disk will remain untouched. # rear -C base_os recover In second step will recover Windows 10 boot partition. During this step ReaR will detect that destination partition is not present and ask us for device file where partition(s) should be created. It doesn't really matter whether we decide to recover Windows 10 boot or data partition first. `restoreonly` command ensures that previously restored Linux data and partition(s) configuration (currently mounted under _/mnt/local_) will remain untouched. Before starting Windows 10 recovery we should identify right disk for recovery, as mentioned earlier disk size could be a good start. # fdisk -l /dev/sdb Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors _/dev/sdb_ looks to be right destination, so we can proceed with restore. # rear -C windows_boot restoreonly Restore windows_boot.img to device: [/dev/sdb1] Device /dev/sdb1 was not found. Restore partition layout to (^c to abort): [/dev/sdb] Checking that no-one is using this disk right now ... OK ... Last step is to recover Windows 10 OS data (C:\). Partitions on _/dev/sdb_ were already created in previous step, hence ReaR will skip prompt for restoring partition layout. # rear -C windows_data restoreonly Restore windows_data.img to device: [/dev/sdb2] Ntfsclone image version: 10.1 Cluster size : 4096 bytes Image volume size : 33833349120 bytes (33834 MB) Image device size : 33833353216 bytes Space in use : 9396 MB (27.8%) Offset to image data : 56 (0x38) bytes Restoring NTFS from image ... ... At this stage Linux together with Windows 10 is successfully restored. TIP: As Linux part is still mounted under _/mnt/local_, you can do some final configuration changes. e.g. adapt GRUB configuration, /etc/fstab, reinstall boot loader ... TIP: ReaR will by default not include tools for mounting NTFS file systems. You can do it manually by adding `REQUIRED_PROGS+=( ntfsclone mount.ntfs-3g )` to your _local.conf_ ### 3. Backup/restore of Linux / Windows 10 dual boot setup sharing same disk #### Configuration In this example we will do backup/restore using BLOCKCLONE and `ntfsclone` of Linux and Windows 10 installed on same disk (_/dev/sda_). Linux is installed on partition _/dev/sda3_. Windows 10 is again divided into boot partition located on _/dev/sda1_ and OS data (C:/) located on _/dev/sda2_. Backups will be stored on NFS server. First we set global ReaR options # cat local.conf OUTPUT=ISO BACKUP=NETFS BACKUP_OPTIONS="nfsvers=3,nolock" BACKUP_URL=nfs://<hostname>/mnt/rear REQUIRED_PROGS+=( ntfsclone ) BLOCKCLONE_STRICT_PARTITIONING="yes" BLOCKCLONE_SAVE_MBR_DEV="/dev/sda" BLOCKCLONE_MBR_FILE="boot_strap.img" BLOCKCLONE_PARTITIONS_CONF_FILE="partitions.conf" IMPORTANT: BLOCKCLONE_STRICT_PARTITIONING is mandatory if backing up Linux / Windows that shares one disk. Not using this option might result to unbootable Windows 10 installation. Linux configuration # cat base_os.conf this_file_name=$( basename ${BASH_SOURCE[0]} ) LOGFILE="$LOG_DIR/rear-$HOSTNAME-$WORKFLOW-${this_file_name%.*}.log" BACKUP_PROG_ARCHIVE="backup-${this_file_name%.*}" BACKUP_PROG_EXCLUDE+=( '/media/*' ) Windows 10 boot partition configuration # cat windows_boot.conf BACKUP=BLOCKCLONE BACKUP_PROG_ARCHIVE="windows_boot" BACKUP_PROG_SUFFIX=".nc.img" BACKUP_PROG_COMPRESS_SUFFIX="" BLOCKCLONE_PROG=ntfsclone BLOCKCLONE_PROG_OPTS="--quiet" BLOCKCLONE_SOURCE_DEV="/dev/sda1" Windows 10 data partition configuration # cat windows_data.conf BACKUP=BLOCKCLONE BACKUP_PROG_ARCHIVE="windows_data" BACKUP_PROG_SUFFIX=".nc.img" BACKUP_PROG_COMPRESS_SUFFIX="" BLOCKCLONE_PROG=ntfsclone BLOCKCLONE_PROG_OPTS="--quiet" BLOCKCLONE_SOURCE_DEV="/dev/sda2" #### Running backup Backup of Linux # rear -C base_os mkbackup Backup of Windows 10 boot partition # rear -C windows_boot mkbackuponly Backup of Windows 10 data partition # rear -C windows_data mkbackuponly #### Running restore from ReaR restore/recovery system Restore Linux # rear -C base_os recover During this step ReaR will also create both Windows 10 partitions Restore Windows 10 data partition # rear -C windows_data restoreonly Restore Windows 10 boot partition # rear -C windows_boot restoreonly ### 4. Backup/restore of Linux / Windows 10 dual boot setup sharing same disk with USB as destination #### Configuration In this example we will do backup/restore using BLOCKCLONE and `ntfsclone` of Linux and Windows 10 installed on same disk (_/dev/sda_). Linux is installed on partition _/dev/sda3_. Windows 10 is again divided into boot partition located on _/dev/sda1_ and OS data (C:/) located on _/dev/sda2_. Backups will be stored on USB disk drive (_/dev/sdb_ in this example). Global options # cat local.conf OUTPUT=USB BACKUP=NETFS USB_DEVICE=/dev/disk/by-label/REAR-000 BACKUP_URL=usb:///dev/disk/by-label/REAR-000 USB_SUFFIX="USB_backups" GRUB_RESCUE=n REQUIRED_PROGS+=( ntfsclone ) BLOCKCLONE_STRICT_PARTITIONING="yes" BLOCKCLONE_SAVE_MBR_DEV="/dev/sda" BLOCKCLONE_MBR_FILE="boot_strap.img" BLOCKCLONE_PARTITIONS_CONF_FILE="partitions.conf" Options used during Linux backup/restore. # cat local.conf OUTPUT=USB BACKUP=NETFS USB_DEVICE=/dev/disk/by-label/REAR-000 BACKUP_URL=usb:///dev/disk/by-label/REAR-000 USB_SUFFIX="USB_backups" GRUB_RESCUE=n REQUIRED_PROGS+=( ntfsclone ) BLOCKCLONE_STRICT_PARTITIONING="yes" BLOCKCLONE_SAVE_MBR_DEV="/dev/sda" BLOCKCLONE_MBR_FILE="boot_strap.img" BLOCKCLONE_PARTITIONS_CONF_FILE="partitions.conf" IMPORTANT: USB_SUFFIX option is mandatory as it avoids ReaR to hold every backup in separate directory, this behavior is essential for BLOCKCLONE backup method to work correctly. Windows boot partition options # cat windows_boot.conf BACKUP=BLOCKCLONE BACKUP_PROG_ARCHIVE="windows_boot" BACKUP_PROG_SUFFIX=".nc.img" BACKUP_PROG_COMPRESS_SUFFIX="" BLOCKCLONE_PROG=ntfsclone BLOCKCLONE_PROG_OPTS="--quiet" BLOCKCLONE_SOURCE_DEV="/dev/sda1" Windows data partition options # cat windows_data.conf BACKUP=BLOCKCLONE BACKUP_PROG_ARCHIVE="windows_data" BACKUP_PROG_SUFFIX=".nc.img" BACKUP_PROG_COMPRESS_SUFFIX="" BLOCKCLONE_PROG=ntfsclone BLOCKCLONE_PROG_OPTS="--quiet" BLOCKCLONE_SOURCE_DEV="/dev/sda2" #### Running backup First we need to format target USB device, with `rear format` command # rear -v format /dev/sdb Relax-and-Recover 2.00 / Git Using log file: /var/log/rear/rear-centosd.log USB device /dev/sdb is not formatted with ext2/3/4 or btrfs filesystem Type exactly 'Yes' to format /dev/sdb with ext3 filesystem: Yes Repartitioning '/dev/sdb' Creating partition table of type 'msdos' on '/dev/sdb' Creating ReaR data partition up to 100% of '/dev/sdb' Setting 'boot' flag on /dev/sdb Creating ext3 filesystem with label 'REAR-000' on '/dev/sdb1' Adjusting filesystem parameters on '/dev/sdb1' Backup of Linux # rear -C base_os mkbackup Backup of Windows 10 boot partition # rear -C windows_boot mkbackuponly NTFS volume version: 3.1 Cluster size : 4096 bytes Current volume size: 524283904 bytes (525 MB) Current device size: 524288000 bytes (525 MB) Scanning volume ... Accounting clusters ... Space in use : 338 MB (64.4%) Saving NTFS to image ... Syncing ... Backup of Windows 10 data partition # rear -C windows_data mkbackuponly NTFS volume version: 3.1 Cluster size : 4096 bytes Current volume size: 18104709120 bytes (18105 MB) Current device size: 18104713216 bytes (18105 MB) Scanning volume ... Accounting clusters ... Space in use : 9833 MB (54.3%) Saving NTFS to image ... Syncing ... #### Running restore from ReaR restore/recovery system For sake of this demonstration I've purposely used ReaR's rescue/recovery media (USB disk that holds our backed up Linux and Windows 10) as _/dev/sda_ and disk that will be used as restore destination as _/dev/sdb_. This will demonstrate possibility of ReaR to recover backup to arbitrary disk. + As first step Linux will be restored, this will create all the partitions needed, even those used by Windows 10. RESCUE centosd:~ # rear -C base_os recover Relax-and-Recover 2.00 / Git Using log file: /var/log/rear/rear-centosd.log Sourcing additional configuration file '/etc/rear/base_os.conf' Running workflow recover within the ReaR rescue/recovery system Starting required daemons for NFS: RPC portmapper (portmap or rpcbind) and rpc.statd if available. Started RPC portmapper 'rpcbind'. RPC portmapper 'rpcbind' available. Started rpc.statd. RPC status rpc.statd available. Using backup archive '/tmp/rear.70zIHqCYsIbtlr6/outputfs/centosd/backup-base_os.tar.gz' Calculating backup archive size Backup archive size is 1001M /tmp/rear.70zIHqCYsIbtlr6/outputfs/centosd/backup-base_os.tar.gz (compressed) Comparing disks. Device sda has size 15733161984, 37580963840 expected Switching to manual disk layout configuration. Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement. 1) /dev/sda 2) /dev/sdb 3) Do not map disk. #? Now ReaR recover command stops as it detected that disk layout is not identical. As our desired restore target is _/dev/sdb_ we choose right disk and continue recovery. ReaR will ask to check created restore scripts, but this is not needed in our scenario. #? 2 2017-01-25 20:54:01 Disk /dev/sdb chosen as replacement for /dev/sda. Disk /dev/sdb chosen as replacement for /dev/sda. This is the disk mapping table: /dev/sda /dev/sdb Please confirm that '/var/lib/rear/layout/disklayout.conf' is as you expect. 1) View disk layout (disklayout.conf) 4) Go to Relax-and-Recover shell 2) Edit disk layout (disklayout.conf) 5) Continue recovery 3) View original disk space usage 6) Abort Relax-and-Recover #? 5 Partition primary on /dev/sdb: size reduced to fit on disk. Please confirm that '/var/lib/rear/layout/diskrestore.sh' is as you expect. 1) View restore script (diskrestore.sh) 2) Edit restore script (diskrestore.sh) 3) View original disk space usage 4) Go to Relax-and-Recover shell 5) Continue recovery 6) Abort Relax-and-Recover #? 5 Start system layout restoration. Creating partitions for disk /dev/sdb (msdos) Disk /dev/sdb: 6527 cylinders, 255 heads, 63 sectors/track Old situation: Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sdb1 * 0+ 91- 92- 731449 83 Linux /dev/sdb2 91+ 3235- 3145- 25258396+ 83 Linux /dev/sdb3 3235+ 6527- 3292- 26436900 83 Linux /dev/sdb4 0 - 0 0 0 Empty New situation: Units: sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sdb1 * 2048 1026047 1024000 7 HPFS/NTFS/exFAT /dev/sdb2 1026048 36386815 35360768 7 HPFS/NTFS/exFAT /dev/sdb3 36386816 73400319 37013504 83 Linux /dev/sdb4 0 - 0 0 Empty Successfully wrote the new partition table Re-reading the partition table ... Creating filesystem of type xfs with mount point / on /dev/sdb3. Mounting filesystem / Disk layout created. Restoring from '/tmp/rear.70zIHqCYsIbtlr6/outputfs/centosd/backup-base_os.tar.gz'... Restoring usr/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8723be/rtl8723be.koRestoring var/log/rear/rear-centosd.log OK Restored 2110 MiB in 103 seconds [avg. 20977 KiB/sec] Restoring finished. Restore the Mountpoints (with permissions) from /var/lib/rear/recovery/mountpoint_permissions Patching '/etc/default/grub' instead of 'etc/sysconfig/grub' Patching '/proc/1909/mounts' instead of 'etc/mtab' Skip installing GRUB Legacy boot loader because GRUB 2 is installed (grub-probe or grub2-probe exist). Installing GRUB2 boot loader Finished recovering your system. You can explore it under '/mnt/local'. Saving /var/log/rear/rear-centosd.log as /var/log/rear/rear-centosd-recover-base_os.log Now we have Linux part restored, GRUB installed and partitions created, hence we can continue with Windows 10 boot partition recovery. RESCUE centosd:~ # rear -C windows_boot restoreonly Restore windows_boot.nc.img to device: [/dev/sda1] /dev/sdb1 Ntfsclone image version: 10.1 Cluster size : 4096 bytes Image volume size : 524283904 bytes (525 MB) Image device size : 524288000 bytes Space in use : 338 MB (64.4%) Offset to image data : 56 (0x38) bytes Restoring NTFS from image ... Syncing ... Similarly to Linux restore, we were prompted for restore destination, which is /dev/sdb1 in our case. As the last step we will recover Windows 10 data partition RESCUE centosd:~ # rear -C windows_data restoreonly Restore windows_data.nc.img to device: [/dev/sda2] /dev/sdb2 Ntfsclone image version: 10.1 Cluster size : 4096 bytes Image volume size : 18104709120 bytes (18105 MB) Image device size : 18104713216 bytes Space in use : 9867 MB (54.5%) Offset to image data : 56 (0x38) bytes Restoring NTFS from image ... Syncing ... Again after restoreonly command is launched, ReaR prompts for restore destination. Now both operating systems are restored and we can reboot. ### 5. Backup/restore of Linux to an NFS share with an encrypted device imaged using `dd` #### Configuration In this example we will split the backup of a Linux-only machine into two parts. First, we'll deal with the base OS the usual way (ignoring the encrypted filesystem), and then we'll process that special filesystem (_/dev/vg00/lvol4_, mounted as _/products_) using BLOCKCLONE and `dd`. As you will see, during the base OS restore phase, the encrypted filesystem will be recreated with new encryption keys (although empty, as _/products_ was ignored during the backup phase), but it will then be completely overwritten when we use `dd` to restore the image in the last phase. The _BLOCKCLONE_TRY_UNMOUNT_ is important here: it will attempt to unmount the encrypted filesystem before creating its image and before restoring it. If unmounting is impossible, do not despair, the recovery should still work but you may need to manually repair the filesystem before you can mount it, and you run the risk that the data may be inconsistent. Global options # cat site.conf OUTPUT=ISO KEEP_OLD_OUTPUT_COPY=1 BACKUP_URL="nfs://<hostname>/Stations_bkup/rear/" Options used for the base OS backup: # cat base_system.conf this_file_name=$( basename ${BASH_SOURCE[0]} ) LOGFILE="$LOG_DIR/rear-$HOSTNAME-$WORKFLOW-${this_file_name%.*}.log" BACKUP_PROG_EXCLUDE+=( '/products/*' ) BACKUP_PROG_ARCHIVE="backup-${this_file_name%.*}" BACKUP=NETFS Options used to take the encrypted filesystem image: this_file_name=$( basename ${BASH_SOURCE[0]} ) LOGFILE="$LOG_DIR/rear-$HOSTNAME-$WORKFLOW-${this_file_name%.*}.log" BACKUP=BLOCKCLONE BACKUP_PROG_ARCHIVE="backup-${this_file_name%.*}" BACKUP_PROG_SUFFIX=".dd.img" BACKUP_PROG_COMPRESS_SUFFIX="" BLOCKCLONE_PROG=dd BLOCKCLONE_PROG_OPTS="bs=4k" BLOCKCLONE_SOURCE_DEV="/dev/vg00/lvol4" BLOCKCLONE_ALLOW_MOUNTED="yes" BLOCKCLONE_TRY_UNMOUNT="yes" #### Running backup Base OS backup: # rear -C base_system mkbackup Create image of encrypted filesystem: # rear -C products_backup mkbackuponly #### Running restore from ReaR restore/recovery system First recover the base OS. This will create all the partitions needed, including the encrypted one (but it won't restore any data for the latter). As illustrated below, you will be prompted to chose a new encryption passphrase. Please provide one, but you need not care about its value as it will get overwritten during the next phase: RESCUE pc-pan:~ # rear -C base_system.conf recover [...] Please enter the password for LUKS device cr_vg00-lvol4 (/dev/mapper/vg00-lvol4): Enter passphrase for /dev/mapper/vg00-lvol4: Please re-enter the password for LUKS device cr_vg00-lvol4 (/dev/mapper/vg00-lvol4): Enter passphrase for /dev/mapper/vg00-lvol4: Creating filesystem of type xfs with mount point /products on /dev/mapper/cr_vg00-lvol4. Mounting filesystem /products Disk layout created. [...] Now we can proceed and restore the encrypted filesystem image. The target filesystem will have been mounted by ReaR during the previous phase, but this will be correctly handled by the restore script provided you set _BLOCKCLONE_TRY_UNMOUNT_ to "yes". As illustrated below, you will be prompted for the target block device to use. Confirm by pressing Enter or type in another value: RESCUE pc-pan:~ # rear -C products_backup.conf restoreonly [...] Restore backup-products_backup.dd.img to device: [/dev/vg00/lvol4] [...] Please note that the target device will not be re-mounted by the script at the end of the restore phase. If needed, this should be done manually. The recovered machine can now be rebooted. When prompted for the passphrase to decrypt your filesystem, you should now provide the original one (the one you used at the time the backup was made), and NOT the new one you typed during the recover phase. ### 6. Backup/restore of Raspberry Pi Linux to an NFS share using `dd` #### Configuration In this example we will make an image of the complete disk of a Raspberry Pi system using `dd`. As this will be done on-line we cannot unmount the boot/root disk device which is in our example /dev/sda. We do not care about global options, therefore, the `local.conf` and `site.conf` may be empty. We use the `blockclone.conf` file only and you will find an example in file `/usr/share/rear/conf/examples/blockclone.conf`. The [blockclone.conf](https://github.com/rear/rear/blob/master/usr/share/rear/conf/examples/blockclone.conf) file: # The OUTPUT must be defined - PXE is currently the only one working with RPi OUTPUT=PXE # However, when you do not care about actually using PXE to restore define the OUTPUT_URL=null OUTPUT_URL=null # The location to store the disk image of our RPi - in this example on our local NAS storage BACKUP_URL=nfs://nas/volume1/RearSpace BACKUP=BLOCKCLONE # Define BLOCKCLONE as backup method BACKUP_PROG_ARCHIVE="$(hostname -s)" # Name of image file (usually the hostname) BACKUP_PROG_SUFFIX=".dd.img" # Suffix of image file (dd.img indicates we use 'dd') BACKUP_PROG_COMPRESS_SUFFIX="" # Don't use additional suffixes (keep this one EMPTY) BLOCKCLONE_PROG="dd" # Use dd for image creation BLOCKCLONE_PROG_OPTS="bs=4k" # Additional options that will be passed to dd BLOCKCLONE_COMPRESSION_PROGRAM="gzip" # Compress the image (optional - use gzip, ...) BLOCKCLONE_COMPRESSION_PROGRAM_OPTIONS="-9" # Options needed by the compress program (default empty) BLOCKCLONE_SOURCE_DEV="/dev/sda" # Device that should be backed up # We will add the compress suffix to the BACKUP_PROG_SUFFIX variable when # variable BLOCKCLONE_COMPRESSION_PROGRAM was defined case $BLOCKCLONE_COMPRESSION_PROGRAM in gzip) BACKUP_PROG_SUFFIX+=".gz" ;; xz) BACKUP_PROG_SUFFIX+=".xz" ;; bzip2) BACKUP_PROG_SUFFIX+=".bz2" ;; zstd) BACKUP_PROG_SUFFIX+=".zst" ;; esac # We do not care about the MBR on Raspberry PI as we 'dd' the complete disk image BLOCKCLONE_SAVE_MBR_DEV="" # Device where partitioning information is stored (optional) BLOCKCLONE_MBR_FILE="" # Output filename for boot strap code BLOCKCLONE_PARTITIONS_CONF_FILE="" # Output filename for partition configuration # We need to define "yes" with variable BLOCKCLONE_ALLOW_MOUNTED as device is mounted when we run ReaR BLOCKCLONE_ALLOW_MOUNTED="yes" # Device can be mounted during backup (default NO) #### Running backuponly to save the RPi image As we are only interested in backup only we use the special option `mkbackuponly` with the ReaR command: # rear -v -C blockclone mkbackuponly #### Recover the RPi image on a fresh/new USB device If your NAS device has an USB port you can do it directly on your NAS system. In our example the /dev/sdq has an USB stick inserted with the same size as the original disk device of the RPi system. # BACKUP_PROG_ARCHIVE="use the hostname of the RPi" # gzip -dc /volume1/RearSpace/$BACKUP_PROG_ARCHIVE/$BACKUP_PROG_ARCHIVE.dd.img.gz | dd bs=4k of=/dev/sdq Remember, replace the copied RPi disk image (the USB stick) on the RPi itself and you are ready to boot from it.