Backup Solution Onsite and Offsite

Hello, this is my first post here. Sorry if my etiquette is off. I have been trying to come up with a backup solution for a NAS (Server 1) running TrueNAS CORE. Ideally, I would like both an onsite nightly incremental backup and a more comprehensive weekly or monthly offsite cold storage backup.

The onsite backup seems rather straightforward. I can create a pool with four drives in Server 2 and use rsync to update it nightly with the required datasets in the Server 1 pool.

Now, the offsite solution has been more challenging. The internet connection between the two locations is only 100 Mbps, and I would rather not have to run a third server for offsite backups. Also, this is somewhat sensitive data, and I don't feel confident configuring the transfer over the open internet.

I was hoping to use the hot-swappable drive bays in Server 2 to set up a cold storage backup solution. I was thinking I could have two sets of drives: one in the server and one offsite. Every few weeks, I could swap the drives out using the hot-swap bays so that if anything happens onsite, I would only lose up to a few weeks of data.

I am not the person who will be performing these offsite backups, and I would like to automate it as much as possible. Ideally, the user would just need to swap the drives. I'm not sure how viable this is, but I think the challenge would be detecting the drives the same way each time and initiating the transfer automatically.

Considering the situation, does anyone have any better ideas? If not, does anyone have some experience setting something like this up? considering the main server is running TrueNAS CORE should I use TrueNAS CORE for the backup server or can I use SCALE and run a few other services?

Hardware configeration is bellow. Any advice or input is apreciated, feel free to coment on the hardware config, (is having a SLOG in RAID1 neceseary?)

<h2>Hardware Overview</h2>
<p>2 Dell PowerEdge R520 servers with 8x 3.5" 6Gb/s drive bays each</p>

<h3>Server 1: Main NAS Storage</h3>
<p><strong>Processor:</strong> 2 × Intel® Xeon® CPU E5-2450 v2 @ 2.50GHz</p>
<p><strong>Memory (RAM):</strong> 192 GB</p>
<p><strong>Network Interfaces:</strong></p>
<ul>
    <li>Intel X520 (82599ES) 10GbE Ethernet Adapters: Ports: 4</li>
    <li>Integrated Broadcom BCM5720 1GbE Adapters: Ports: 2</li>
</ul>
<p><strong>Storage:</strong></p>

<ul>
    <li><strong>Raid controller:</strong> Flashed to IT mode
        <li><strong>SATA Drive (SSD):</strong> SanDisk SD7TB3Q-128G-1006 (128 GB)</li>
        <ul>
            <li>Dedicated for the TrueNAS CORE operating system.</li>
        </ul>
    </li>
    <li>
        <strong>NVMe Drives:</strong> 2 × CT500P3PSSD8 (500 GB each)
        <ul>
            <li>Mirrored and used as <strong>SLOG</strong>  (Is this a waste of an nVME drive?)</li>
        </ul>
    </li>
    <li>
        <strong>SCSI Drives (via LSI SAS2308):</strong> 8 × SEAGATE STMFSND2CLAR4000 (4 TB each)
        <ul>
            <li>Waste of 12GB/s SAS</li>
            <li>Set up as ZRAID6</li>
        </ul>
    </li>
</ul>
<h3>Datasets:</h3>
<ul>
    <li> Aproxemently 11/24 TB utilized across 5 datasets</li>
    <li><strong>Pools and Usage:</strong>
        <ul>
            <li>Active Dataset: ~2 TB <strong>Must be backed up</strong></li>
            <li>Archive Dataset: ~2 TB <strong>Must be backed up</strong></li>
            <li>Compute Dataset: ~6 TB <strong>Backup not needed</strong></li>
            <li>Proxmox VM Dataset: ~1 TB <strong>Must be backed up onsite ONLY</strong></li>
        </ul>
    </li>
</ul>

<h3>Server 2: Backup/Infrastructure</h3>
<p><strong>Processor:</strong> Intel Xeon E5-2450 v2 @ 2.50GHz</p>
<p><strong>Memory (RAM):</strong> 128 GB </p>
<p><strong>Network Interfaces:</strong></p>
<ul>
    <li>Integrated Broadcom BCM5720 1GbE Adapters: Ports: 2</li>
</ul>
<p><strong>Storage:</strong></p>

<ul>
	<li>
	<strong>Raid controller:</strong> Flashed to IT mode
	
		<li>
        <strong>SATA Drive (SSD):</strong> SanDisk SD7TB3Q-128G-1006 (128 GB)
        <ul>
            <li>Dedicated for the operating system (Hoping to use ProxMox but will settle for TrueNAS scale/core, would like to run a DNS server on this machine as well).</li>
        </ul>
    </li>
    <li>
        <strong>SCSI Drives (via LSI SAS2308):</strong> 8 × SEAGATE ST33000650SS (3 TB each)
        <ul>
            <li>Not configured, was thinking multiple pools?</li>
        </ul>
    </li>
</ul>
  • export/import
    Detecting is easy aslong as it’s a zpool. Maybe take a look here which already has some information about the export/import via cli/script.
    That might get you some ideas on how to realize it so the person who does the manual labor maybe just have to trigger something wherever.

How much data needs to be backed up, and how much of that data changes per day/week/backup increment? If your initial volume is large but the change rate is low, the bandwidth might not be an issue after the initial sync (which could be done on-site)

Something like iX-Storj might be a good solution here for offiste/decentralized backup.

I use zfs replication tasks for this.

  1. server 1 replicates to onsite backup server 2 every hour

  2. server 1 also replicates to offsite backup server 3 every night.

  3. offsite backup server 3 is actually another site, and replicates to server 1… which then backups server 3 to server 2 too.

This works fine across a 40mbps link. Because replication does not take any appreciable time if there is nothing to replicate. It was not possible with rsync as the rsync would take too long to determine what to copy.

Yes. This means 3 TrueNAS servers, with a VPN between them.

Server 1 & 2 also have 10 minutely snapshots as per my Tiered Snapshots video.

Dataset is 10s of TBs.

1 Like