Jump to content

Regular copy from Pool to Array - without ZFS


Go to solution Solved by JorgeB,

Recommended Posts

I've had an unraid server on old hardware for years with 2 mirrored btrf SSDs for cache, appdata and system, and then the array consisting of 3 4Tb WD Reds - one parity - for backup and media.

 

One of the disks is on the way out and I've been meaning to migrate to my 'newer' old PC for a while now. Currently its bare bones:

- 1 1Tb nvme for cache, appdata and system.

- 1 8Tb WD Red for the array.

 

The plan was to migrate, get it all set up, then add a 2nd WD Red for "Parity" (which in a 2 drive setup I'd guess is basically a mirror). Problem is the 8Tb WD Red is noisy. Even with the chassis on foam you can hear the whine thru the floor, and the heads sound a bit like they're playing the drums in there. I don't fancy sticking a 2nd one in it.

 

Actual question starts here

So, plan B is bite the bullet and pay out for the 8Tb Samsung EVO SSD. But I can't afford 2! So, is there a way to set up a regular rsync/copy from the SSD to the array? My idea would be to stick the SSD in a pool on its own, then set up a regular (maybe once a week) sync to the array to give myself some basic data protection on the server itself. The WD Red would then be spun down most of the time.

 

I've seen other posts that say use ZFS and snapshots, but one of the things I like about unraid is the simplicity of the storage - if anything goes wrong I can just stick the array disk into any machine that reads XFS and there's my data.

 

TIA and appologies if this has already been answered - I couldn't find it.

Link to comment

Thanks - for anyone else trying to achieve the same:

 

I have an array with one disk, and a share on it called PoolBackup - settings are primary storage: Array with no secondary storage.

The SSD is in a pool on its own. All normal shares a set to use the pool as primary storage with no secondary storage.

 

Install the User Scripts plugin by finding it under Apps.

Settings -> User Utilities -> User Scripts. Click "Add New Script"

 

My rsync script is super simple as I only need to copy 2 shares - arrayStarted=true is a built in for user scripts that ensures the array is up (/mnt/user won't be populated if its not):

 

#!/bin/bash
#arrayStarted=true
echo "$(date) : Backing up Media..."
rsync -av --delete /mnt/user/Media/ /mnt/user/PoolBackup/Media/
echo; echo "$(date) : Backing up myname..."
rsync -av --delete /mnt/user/myname/ /mnt/user/PoolBackup/myname/
echo "$(date) : Complete."
echo

 

  • Upvote 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...