Rsync to remote server without ECC

b88

Dabbler
Joined
Nov 29, 2016
Messages
32
I apologize for not giving full hardare and software specs, but in this case they are not relevant, the below is to describe an example setup to support the question.

Source machine (main server):
  • FreeNAS
  • ECC ram
  • RaidZ pool with ZFS and 3 drives + extra drive for local snapshot replication
Destination machine ("offshore backup"):
  • raspberry pi 3 B+
  • open media vault
  • SD card for system
  • swap disabled (to spare the poor SD card)
  • USB HDD for backups (currently only one)
  • BTRFS as filesystem for share and rsync server to use
On the source machine I am not worried about bit rot and data integrity, but I do want an "offsite backup" of irreplaceable data. That is where the rpi based destination machine comes in. My thinking with this test setup was to use rsync tasks to backup irreplaceable data in case of a major hardware failure on the main (source) machine.

However, and this is where my question begins, the rpi does not have ECC ram and is susceptible to bit rot and other issues as well. If a bit rot occurs on the destination machine, will rsync fix this given that the source data is correct?

My understanding is that rsync uses checksum to discover differences, but will it amend a bit rot on the destination server data?

If that is the case I am ok, with this test setup and will use the rpi as offshore backup. If not there is no point and I will repurpose the rpi for something else.

Still only scratching the surface on these topics and apologize in advance for any noob-ish mistkes.
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
  • Like
Reactions: b88

b88

Dabbler
Joined
Nov 29, 2016
Messages
32
Ok thanks that seems to be what I was looking for. So basically by adding
Code:
--checksum
as an extra option I force rsync to compare the checksums instead of using the time stamp an file size, is that right?

Also is the option needed only on the client side (source machine)? In OMV (destination machine) i have set up rsync modules, one for each dataset on the source machine and can set
Code:
--checksum
as an extra option as well.
 
Top