Build Questions Before I Start My Trial


Recommended Posts

Sorry for the lengthy post that follows...

 

I’d like to migrate away from my old (and reliable) FreeNAS build/hardware which has been fine as a NAS, but has been very finicky trying to setup VMs and/or Docker containers. I posted a portion of this information in the Plexaholics group on Facebook but wanted to also post a more detailed description and ask some pre-build questions here.

 

I’ll start with a trial and plan to purchase a Pro license if this scenario seems workable. Feel free to move the post to an appropriate forum area if this is too technical for pre-sales support.

 

It appears easier to setup both a VM and Docker containers on UnRAID, which is why I re-considered it. I would re-use my existing 20 bay chassis (http://www.norcotek.com/product/rpc-4220/) for the build, putting the old FreeNAS into a used tower case for eventual gifting to a friend. Based on my success, my friend may also switch to UnRAID when I give him the older hardware and drives.

 

Here are the components I’ll be using to build the UnRAID. The purpose is primarily as a Plex media server and NAS storage (for local network backups), but with some virtualized and isolated apps via VM and/or Docker. Let me know if you see anything that should be changed to an alternate.

 

1. Intel i7-6700K, not overclocked, water-cooled

2. 32GB DDR4 DRAM

3. ASUS Maximus Gene VIII microATX motherboard - limited expansion I know, but it’s what I have on hand

4. LSI 24 port HBA - not yet purchased; not sure if I should use the 6 motherboard SATA ports and a 16 port HBA (gives me 2 internal drives, one of which would be my cache SSD) or just get a 24 port for everything?

5. GTX 970 - eventually to be replaced with a P2000 for more transcoding capability

6. 5 new 10TB USB 3.x drives, temporarily used to backup my FreeNAS but eventually will shuck them and add to the UnRAID storage pool - see futher details below.

 

Eventually I’d like to build a completely new setup, with all new hardware, but being on disability and a limited income means I have to do it currently with hardware I have on hand or can afford to purchase. Please let me know if I’m forgetting something or if you have any thoughts on the process detailed below? Thanks for reading…

 

First, as I understand it, to build an UnRAID storage pool requires that the drives be empty/cleared. I’ve not been able to get Google Drive working for unlimited backup storage (need about 75TB total) and my upload bandwidth limit would require a LONG time to get it all into the cloud. Not to mention needing to encrypt it all as it uploads. I’m wondering about this as a temporary solution:

 

1. Install UnRAID on my newer 6th Gen Intel hardware with all of my pre-filled drives un-attached (all NTFS; some external USB3.x, some internal SATA). Initially I will be unable to create an UnRAID storage pool as I have no budget at this time for more empty drives.

2. Configure an Ubuntu VM for Plex. Will use a GTX 970 for the 2 allowed streams of NVENC transcoding until I can get a P2000. Temporarily attach the already filled drives to the VM via the Unassigned Disks plugin if I can’t directly assign them to the VM. This will allow me to run Plex while I work on the rest of the build.

3. Setup Docker and containers for assorted isolated apps.

4. Eventually (3 months approx.) save up enough money to buy at least 5 more 10TB drives.

5. Use those 5 drives to setup a new storage array under UnRAID. 2 drives would be used for parity, 3 for storage and a used 512GB SSD for cache.

6. As each of the current 5 USB external 10TB drives get copied to the UnRAID pool, shuck, clear and add them to the UnRAID storage. This will give me about 70TB of useable storage with parity on 2 10TB drives and cache on the SSD. I have some 8TB drives I’ll also be able to clear and add to storage, but will stick with the new 10TB drives for parity and the initial storage pool.

 

Questions:

 

1. For safety of my data, the initial UnRAID install will be done with all of the USB and SATA drives un-attached. The only exception would be the 512GB SSD that I intend to use for cache. Can UnRAID be configured with a VM/Docker containers without 1st creating a storage pool?

2. If the answer to #1 is yes, what is the suggested method to attach my prefilled disks (both SATA and external USB3.x) to the VM and/or Docker containers?

3. If the answer to #1 is no and I need an UnRAID storage pool to create and configure the VM/Docker side, what is the minimum amount of storage needed? And when I build my larger pool, can everything be migrated to it and the smaller temporary pool destroyed?

4. I’ll use an old (but not black-listed) Patriot Memory 32GB USB key for my trial and initial configuration/testing. If all goes as planned I’ll buy a new good quality USB key and hopefully be able to export the configuration to it before I apply the Pro license. Is this do-able?

 

 

This seems like a workable solution, and then I can pass the old FreeNAS setup to a friend. It’s running on 2nd Gen Intel hardware and that’s one of the reasons I’m migrating, as I don’t trust the reliability for the older hardware. Thanks again for reading… any tips appreciated!

 

Link to comment
9 minutes ago, AgentXXL said:

First, as I understand it, to build an UnRAID storage pool requires that the drives be empty/cleared.

Only when expanding an existing array.  When creating a new array, it doesn't matter.  unRaid will format the drives though.

 

10 minutes ago, AgentXXL said:

Can UnRAID be configured with a VM/Docker containers without 1st creating a storage pool?

No.  A single data drive has to be present.

 

 

  • Upvote 1
Link to comment
16 minutes ago, Squid said:

Only when expanding an existing array.  When creating a new array, it doesn't matter.  unRaid will format the drives though.

That's what I saw via the documentation but wanted to confirm.  As I don't want to erase my existing pre-filled drives, I'll likely have to wait until I can afford some new empty drives.

Quote

No.  A single data drive has to be present.

Is there a minimum amount of storage required for VM/Docker implementation? It'll take some shuffling but I may be able to clear about 5 x 4TB drives in the near future. I'm sure that would be plenty to create an initial storage pool. How easy is it to upgrade the parity drive to a 10TB drive when I can afford it?

 

Also, I'm still wondering if I should use the onboard SATA ports or 1st purchase the LSI HBA I mentioned?

Edited by AgentXXL
clarification
Link to comment

Running VMs and Docker containers from data disks in the array results in very poor performance due to the parity calculation overhead.

 

Hence it is recommended to create a cache (pool) and use this for VMs/Docker. A cache device/pool can consist of SSDs and this greatly improves the performance and overall experience.


Some users run a cache device of 128G, which is okay but it should not be used as cache for the data array (i.e. copy files directly to the array and not cache). Use the biggest size you can afford, a bigger cache gives more headroom.

 

Better performance and reliability is achieved when using a cache pool. A 2 disks cache pool allows for redundancy (raid1), while a 4 disks cache pool allows for both redundancy and higher disk throughput (raid10).

 

  • Upvote 1
Link to comment
9 hours ago, bonienl said:

Hence it is recommended to create a cache (pool) and use this for VMs/Docker. A cache device/pool can consist of SSDs and this greatly improves the performance and overall experience.

In my original post I mention planning to use a 512GB SSD for cache.... I could up this to a 1TB but since my planned VM is Ubuntu based, the extra capacity is probably not needed.

 

I'll dig into this further - if I can use the cache pool to create the VM and Docker containers, I can go ahead and start my trial/testing as the 512GB SSD is already sitting unused after reclaiming it from an old gaming PC. I just don't have enough cash at present to build my storage pool, but would be great if I could proceed with the initial build and testing. It'll take me some time to clear the 5 x 4TB drives that I could use as a starter storage pool, and expand it later with the new 10TB drives.

Link to comment
7 minutes ago, AgentXXL said:

It'll take me some time to clear the 5 x 4TB drives that I could use as a starter storage poo

There is no need to clear the disks when a new array is created.

Unraid will format the disks with the default file system (XFS) and start syncing the parity disk. Expect a duration between 8 and 10 hours with 4 TB disks.

Edited by bonienl
  • Upvote 1
Link to comment
4 minutes ago, bonienl said:

There is no need to clear the disks when a new array is created.

Unraid will format the disks with the default file system (XFS) and start syncing the parity disk. Expect a duration between 8 and 10 hours with 4 TB disks.

When I mentioned 'clearing' I actually meant moving the data off the drives to other storage. I don't want to lose that data, although it's possible for me to re-rip all my Blu-rays/DVDs if I have to. Once I have the data relocated, I'm fine with UnRAID re-formatting/clearing the disks.

 

It would be amazing if there was a way I could keep the data on them and just have UnRAID start creating the parity data on one empty drive, but I understand the limitations of needing to use the XFS filesystem. Just means lots of time wasted on 1st relocating the data, and then after the array is ready, re-copying it back to the array.

 

Link to comment
10 minutes ago, AgentXXL said:

It would be amazing if there was a way I could keep the data on them

This would be the case if the disk is formatted with a file system known to Unraid.

 

E.g. you move the disks of your existing Unraid system to a completely new Unraid system, in this case all data is preserved.

  • Upvote 1
Link to comment
12 minutes ago, bonienl said:

This would be the case if the disk is formatted with a file system known to Unraid.

 

E.g. you move the disks of your existing Unraid system to a completely new Unraid system, in this case all data is preserved.

Alas the 4TB drives are in my FreeNAS (ZFS 2), which I'm migrating away from to UnRAID. I have backed up the FreeNAS data that I want to keep to some new 10TB USB drives, but they're all NTFS. From what I've read, I can mount these on UnRAID but really only to copy the data to an UnRAID storage pool.

 

Would be great if there was a way to add NTFS drives directly to the parity protected pool, but I understand that the parity only works when the drives are formatted by UnRAID. I looked at SnapRAID as a potential solution but UnRAID just seems cleaner and will allow me to amalgamate a few computers under one system.

 

As the 10TB drives are a copy of the data I want to keep from the FreeNAS, I could potentially take the chance of using them and hoping that the FreeNAS doesn't fail or develop errors while I'm working on getting UnRAID up to operation. FreeNAS has been reliable for the last 6 years of use, but it's running on 2nd Gen Intel hardware that I no longer trust for longevity. 

Edited by AgentXXL
Added clarification re: FreeNAS
Link to comment

I've come into a fair Canadian landed price for some new 8TB drives and they're on the way. So now that storage is less of an issue and I don't have to waste so much time moving data around, I still have 2 questions that I'd like input on before I start my build.

 

1. Is it OK/safe to use the 6 SATA ports on the ASUS motherboard, combined with a 16 port HBA to allow me to utilize all 20 hot-swap SATA bays on my case? Or should I just go for a 24 port HBA and not use the motherboard ports? What about putting cache and parity drives on the motherboard ports, and storage disks on the add-in HBA?

 

2. I'm sure I want a 10TB parity drive as those will be the largest in the system for some time. Is it best to use a 7200rpm drive or is a 5400rpm OK? I know the parity build and any subsequent parity checks will be slower, as would be any rebuilds required.  I'm not worried about speed as much as I am with reliability. Is it possible to use a 10TB and an 8TB drive as a 2nd parity? Is there any real benefit to having a 2nd parity drive beside the possibility of  recovering from 2 disk failures at the same time?

 

Thanks for the help so far!

Link to comment
  1. You can mix SATA ports on the motherboard and HBA without restriction. When using SSDs it is recommended to connect these to the M/B, because most HBAs do not support trim
  2. A faster parity disk gives a bit of performance benefit though difference isn't much. When using two parity disks the rule is that each parity is as big or bigger than the biggest data disk, parity disks don't need to have the same size but in general it is easier to use the same size when upgrading the array.
    A second parity disk is used to overcome double disks failure, which is more likely to happen when the array has more disks, but it is up to the user to decide whether a second parity is present or not. There are users happily running a large array with single parity.
  • Upvote 1
Link to comment

You could use the Unassigned.Devices Plugin and use your drives connected but not in the protected array and slowly move the data to your array in the form they currently are in NTFS/FAT32 or whatever and still be able to access the data from the server from your Dockers, VM's or whatever else you need to do. 

 

Its a pretty good catch all Plugin for those of use that want to access our Data without having to have our drives in the array. 

  • Upvote 1
Link to comment
2 hours ago, kizer said:

You could use the Unassigned.Devices Plugin and use your drives connected but not in the protected array and slowly move the data to your array in the form they currently are in NTFS/FAT32 or whatever and still be able to access the data from the server from your Dockers, VM's or whatever else you need to do. 

 

Its a pretty good catch all Plugin for those of use that want to access our Data without having to have our drives in the array. 

Yes, that was my plan until I can slowly increase the UnRAID storage pool in size and migrate the data to it. Although as I'm still wanting a reliable backup, and haven't been able to get a cloud backup service working (and affordable), I'll likely still keep some data on USB drives as offline backups. I'm actually planning to assign most of the USB hubs in the system to the VM directly, so the Unassigned Drives plugin may not be necessary.

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.