Want to move to unRAID. Need sanity check on moving forward and advice on backups.


Phastor

Recommended Posts

I posted this on /r/Datahoarder. They suggested that I repost it here.

 

So, there's going to be few few parts to this. First, I'll go over what my current setup is and why I think unRAID will be the best fit for me. Then I'll cover my plan for migrating over to unRAID for some experienced eyes to see and give constructive criticism on. Lastly, I have some questions on how I should backup the unRAID server.

 

The current setup

Core i7 870 (3GHz quad with HT)  
16GB DDR3  
Some Intel motherboard that I forget, but it gets the job done  
1x 1 TB WD Blue  
1x 4 TB WD Red

It's not much, but it functions. I got the board and CPU for free, and already had RAM, so it was a pretty good deal considering I just needed to buy drives. My income isn't great, so funds are limited.

The server is running VMWare. VMs are stored on the Blue drive. The Red drive is connected to an HBA that's passed through to a Windows Server 2k8 VM that functions as a file and Plex server. I have a Windows 7 VM that on there that I use to encode my video library with MakeMKV and Handbrake. I also use the server as a sandbox to play around with various OS's on VMs.

I use Veeam Endpoint on my two workstations to backup to a file share on the 2k8 server nightly. Every month or so I use Veeam Endpoint again on the 2k8 VM to backup everything on it to a USB drive. Because of the workstations backup images are always changing, the incrementals of the server itself can be very large and lengthy, which is why I only do it once a month or so. It's further compounded by the fact that this board doesn't have USB3 and USB data transfers over VMWare are incredibly slow. I've had server backups take up to 48 hours to complete.

My 4 TB Red storage drive is starting to fill up and I'm going to have to add storage soon. Instead of adding drives to this wonky system that I have now, I would rather start over with a more flexible and reliable solution. I think unRAID would be the best fit for me since it seems really flexible in adding new drives and replacing existing ones. It seems like you can easily just add/change drives one at a time here and there and it just adapts. That fits my financial bill perfectly.

I set up a machine with the trial and am playing around with it with three old 250GB drives in a 2 data 1 parity configuration. It seems to have Dockers for Plex, MakeMKV, and Handbrake. That gives me all the functionality of my current setup without the need to virtualize any of it. It also requires much less resources, allowing me breathing room to play around with other VMs if I want to.

 

Sanity check on moving forward

So I think I am going to start out by getting two more 4TB Red drives, giving me a total of three 4TB drives that I would set up in a 2 data 1 parity config for a total of 8 TB usable. I would also get a PCIe USB3 adapter to make server backups more bearable (does unRAID even support USB3?).

My main goal while moving all my data over is to never have less than two copies of my data at any given time during the process. Here's what I plan to do after I get the server set up with the new unRAID flash drive:

  • Pop old Red drive from file server into a workstation. (1 copy on old Red drive, 1 Veeam backup copy on USB external)
  • Add two new Red drives into unRAID array, set up shares and copy data from old Red drive to the shares. (1 copy on old Red, 1 Veeam backup copy on USB, 1 copy on unRAID)
  • Wipe Veeam backups off USB drive (1 copy on old Red, 1 copy on unRAID)
  • Backup freshly copied data on unRAID to USB drive using recommended method. (More on this later)(1 copy on old Red drive, 1 copy on unRAD, 1 copy on USB drive)
  • Wipe old Red drive and add to unRAID array as parity drive. (1 copy on unRAID, 1 copy on USB drive.

I think this will cover me, but please let me know if you can think of any flaws or a better way to accomplish this.

 

Backing up unRAID

I've been looking into my options while playing around on the trial.  I took a look at the Crashplan docker and that seems pretty straight forward and something I can manage, however I'm open to any options. I also need to figure out how to even mount a USB drive in unRAID.

I will continue to backup my workstations with Veeam Endpoint to a share on the unRAID server, however I will exclude that share from whatever backup method I use on the server itself so I don't run into the same huge incremental backup issue I had using Veeam Endpoint on the 2k8 server VM.

I eventually want to get a second USB drive so I rotate two drives, keeping one at my work or a friends as an off-site backup. I have a 400 GB monthly cap by my ISP, so cloud backup is not an option.

I appreciate any advice!

Edited by Phastor
Link to comment

Hello and welcome!

 

Your migration strategy sounds good, with the benefit that copies will go faster prior to setting up parity.  You should be able to mount the USB3 hard drive via the Unassigned Devices plugin, though I find incremental backups over my network to a Windows box both adequate and convenient.  Be careful as you add hard drives to get a PCIe sata controller that unRAID will like.

Link to comment
2 hours ago, tdallen said:

Hello and welcome!

 

Your migration strategy sounds good, with the benefit that copies will go faster prior to setting up parity.  You should be able to mount the USB3 hard drive via the Unassigned Devices plugin, though I find incremental backups over my network to a Windows box both adequate and convenient.  Be careful as you add hard drives to get a PCIe sata controller that unRAID will like.

Thanks for the info!

 

What do you use to push the incrementals to the Windows box?

 

On the topic of adding drives, I just realized this motherboard only has five SATA ports. Factoring in the optical drive, that leaves me with 1 slot available for future expansion unless I bring back the HBA or get a new motherboard. I'm positive it's going to be a long time before I'll need to expand again, but I'm just thinking of the distant future. If I do move to another board, assuming I use the same flash with the existing config intact, will unRAID be able to identify the drives in the new system and correctly add them back into the array? 

Edited by Phastor
Link to comment

I use a RoboCopy script on the Windows box to pull incrementals from my unRAID server.  My server runs headless in a closet, so it is most convenient to bring the USB drive home, plug it into my Windows box, and run the script.  There are lots of ways to approach it, though.

 

If you were thinking expansion in the near future I'd recommend buying larger drives, but it sounds like it will be a ways off.  In that case, yes - generally you can move the Flash drive and hard drives to a new setup and boot it right up.  NAS and Dockers should be fine, VMs may be a little trickier.

Link to comment

Unraid lives in RAM while running and lives on your USB stick while booting. When/if you move your hardware you simply take a screen shot of your drive layout and when you move your hare ware simply make sure the drive layout is the same and load it all off the same USB drive and start your array and your off and running. You can normally purchase a PCI card which would give you more room via SATA drive connections. There are several brands and I would recommend spending a bit of time to figure out which works for you before purchasing one.

 

Things I'd highly encourage you to check out since your using the Trial are. 

- Community Application plugin. Think of it as the Google Play Store or Apple Store of unRAID. Installs Plugins and Docker Containers with ease

- Unassigned Device Plugin. Lets you mount devices to unRAID, but they are not protected by the array

- User.Script Plugin so you can write your own little scripts and launch them with a click of a button 

- CA Backup so you can easily back things up like an SSD with a click of a button

 

There are many many many more things that are in the Community Application Plugin just depends on your needs. 

 

Link to comment

Looking further into this, I think I'm going to want to add a cache drive as well. my test rig is currently connected via a Cat5(no E) cable at the moment and is limited to 100Mbps because of that, so so far I haven't gotten an accurate impression of write speed.

 

I also read up some on turbo write. Since mine is going to be mostly a media server and won't get written to very often, I don't think having all drives spin up during writes will be that big of a deal for me.

 

I've read the pro's and con's of both, but can I hear what some people have chosen for themselves and why they chose one over the other for their use case?

Link to comment
4 hours ago, kizer said:

Unraid lives in RAM while running and lives on your USB stick while booting. When/if you move your hardware you simply take a screen shot of your drive layout and when you move your hare ware simply make sure the drive layout is the same and load it all off the same USB drive and start your array and your off and running. You can normally purchase a PCI card which would give you more room via SATA drive connections. There are several brands and I would recommend spending a bit of time to figure out which works for you before purchasing one.

 

Things I'd highly encourage you to check out since your using the Trial are. 

- Community Application plugin. Think of it as the Google Play Store or Apple Store of unRAID. Installs Plugins and Docker Containers with ease

- Unassigned Device Plugin. Lets you mount devices to unRAID, but they are not protected by the array

- User.Script Plugin so you can write your own little scripts and launch them with a click of a button 

- CA Backup so you can easily back things up like an SSD with a click of a button

 

There are many many many more things that are in the Community Application Plugin just depends on your needs. 

 

I'll definitely check out that Community Applications plugin. Thanks!

Link to comment

It looks like I'm getting a crash course on disk failure in unRAID this morning.

 

Over the last two days, I've been letting the Handbrake docker encode a movie (Test rig is running on an old dual core Athlon II x2, which is why it took so long). Mostly just fooling around and testing it. It finished last night apparently, but when I got up this morning and checked in on it, I had a lot of reallocated and offline uncorrectable errors on the disk that the movie was sitting on (ok, so maybe the encode time wasn't entirely the CPU's fault). I knew this disk already had a few errors when I started, but since this was just for testing I used it.

 

I started to copy the newly encoded video to my live server, but wow! Less than 500 KB/s transfer, which eventually just failed. Guess this disk is way worse than I thought. I yanked that disk out (keep in mind this is me just fooling around and I would never be this ballsy on my live server) thinking maybe I would get better read speeds if I wasn't trying to read off a bad disk, but instead read off a parity emulated disk. This also gave me a chance to see what the performance was like on a degraded array. However, trying to move the movie over again I pretty much had the same result.

 

Here's what I don't understand though. I used MC to move the movie from the emulated disk to the remaining good data disk and I got about 30 MB/s while moving it that way. I kept the directory structure and ran the permission script to make sure I wouldn't have issues with the share afterwards. I then started to move the movie over to the live server again. This time it started out at about 2 MB/s, but over the span of about 5 minutes it slowly creeped up to about 10 MB/s, which is what I would expect given the test rig is currently limited to 100Mbps network bandwidth. The movie did successfully copy this time.

 

I understand the poor read performance on a failing drive, but what I don't understand is the poor read speeds from the emulated drive. I understand that that the array is degraded once I removed the faulty disk and that performance isn't going to be great, but I didn't expect it to be that bad. What I further don't understand is the inconsistency in read speed between copying to my live server and moving from emulated drive to good physical drive with MC.

 

I'm not blaming unRAID for any of this. Faulty hardware is faulty hardware. I'm just trying to wrap my head around the numbers that I'm seeing. Can anyone clue me in?

 

Edit: To clarify, when I say "live server" I mean my Win2k8 file server VM on a different host.

Edited by Phastor
Link to comment

When you say ‘good physical disk’ do you mean one that is part of the parity protected array?   If so a speed of 30MBS is not unreasonable - a speed of around 30-40 MBs is what one should expect for writing to array disks.    The limiting factor here is the write not the read.    In unRAID each ‘write’ actually involves 4 I/O operations - read of the relevant sector from the parity disk and the target drive to get the current sector contents, followed by writes to the same drives of the updated sector.   This is why unRAID does not need all drives spinning during normal write operations but is does limit write performance.  

Link to comment
36 minutes ago, itimpi said:

When you say ‘good physical disk’ do you mean one that is part of the parity protected array?   If so a speed of 30MBS is not unreasonable - a speed of around 30-40 MBs is what one should expect for writing to array disks.    The limiting factor here is the write not the read.    In unRAID each ‘write’ actually involves 4 I/O operations - read of the relevant sector from the parity disk and the target drive to get the current sector contents, followed by writes to the same drives of the updated sector.   This is why unRAID does not need all drives spinning during normal write operations but is does limit write performance.  

That is correct. The good physical disk is part of the array. I understand that the write speed is about what is expected. However, what I was surprised about is that it wasn't less. Since I was getting such poor read speed on the bad disk and the parity emulated image of that disk during the copy of it to my live server, I figured MC would have been bottlenecked by that read speed as well while trying to move it to the good disk. It's that inconsistency that confuses me.

 

Also, when I say "live server", I mean my current Win2k8 file server VM that resides on a different host. I don't think I clarified that in my previous comments. Sorry if that caused confusion.

Edited by Phastor
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.