unRaid Setup ?


Recommended Posts

Hello,

 

I'm kinda new here and finally decided to use unRaid for my daily setup. I made extensive researches before deciding to post but I still would like some advice / confirmations regarding the setup I intend to use. Here's some context first :

 

I have currently a very traditional high-end PC with a i7-7700k, 2x 8GB 2933mHz RAM, and a GTX 1070 with a 512GB SSD which I use both for gaming as well as a workstation (things going from programming to encoding and compiling softwares), along with a separate Synology NAS with 5x 4To drives in RAID 5 used as a media server and file repository. I wish to update this setup which is starting to show off some limits in terms of both performances, space and usability. First of all, I wish to ditch the Synology NAS (because I've had pretty poor performances across the board) so I wish to build a new tower recovering all the datas and using it as both gaming/workstation as well as a media server using an unRaid setup. Note: I've saved up quite a bit of money for this project.

 

In terms of hardware, here's what I'm currently looking at in order to offer good performances AMD Ryzen 2700x + GTX 1080 Ti, as well as adding in another 2x8 GB ram sticks into it. (Motherboard would most likely use a x470 architecture, if that even matters). I would also add another two 6To HDD to the mix to extend storage.

 

Now, here's where I start to have some doubts: regarding the cache/cache pool for my setup, I'd like if possible to use the cache pool for my system install and preserve the best performances possible (for example by using 4x 250GB Samsung 970 Evo SSD on a PCI-e NVMe array), potentially in RAID0 or RAID10 (any suggestion here ?). I would also use my current 500GB SSD as an unassigned array to store apps like Plex for the media server and things like webhosting and such. The other HDD would obviously be used to store the bulk of the data (everything media-related) but I'll keep my VMs (at least one Windows 10 VM and potentially another one for Ubuntu and/or iMac) on the NVMe array to benefit fully from the performances of the 970 Evo SSDs in RAID.

 

Additionally, I've been wondering whether or not to chip in an intel optane SSD (like the 900 or 905p) to dramatically increase the random performances, but I feel like it might interfere with the NVMe array here and I don't quite know how I should end up setting those various parts together to get the most of it ? ?

 

Oh, right, and I also want to make sure I don't get the same issue with my current NAS where after some time there can be a few corrupted blocks of memory ending up corrupting files. It's especially true for pictures: I have a very, very large library of pictures since I've been in the webdesign industry and all for a few years and it is really, really annoying to suddenly end up with a file which worked one day and when you check it a few weeks later it end up being corrupted and showing 0 ko size in the details. And it doesn't seem to come from the hardware because I already checked the disks and they're working just fine (they're still pretty recent). Though it's not like it's occurring every time, it still occurred enough for me to notice and get annoyed by it.


Another setup I was considering (with the hardware I just listed) was the following : having the Intel Optane SSD as cache drive, using the 4x 970 Evo SSDs as an unassigned disk and probably put them in RAID0 manually to store the VMs for full performances (I think I remember johnny.black saying like this was the only possibility) and using the last 500 GB SSD as unassigned disk to store the media server (Plex). If I put the 500 GB SSD along with the Optane SSD in the cache pool I'm almost certain of losing out greatly in performances because this SSD isn't very fast (like 1400 read, 1k write, its an old SSD Kingston SHPM2280P2). I really do work a lot with small files like pictures, text files, pieces of softwares, and so on, hence why the extremely high 4k random read/write performances from Optane SSDs is attractive to me compared to the 970 Evo/pro. Hence why I was thinking of using the 970 Evo/pro for VMs storage as unassigned disks for their high performances while the Optane would be kept as a cache SSD to transfer files back and forth to the HDDs/data pool.
 

What are your thoughts regarding this ? My main issues are still regarding the SSDs and how to assign them in a cache / cache pool / raid type / which one to use as unassigned array, whether to add Optane, ... The rest I should be able to figure out \o/ I still have two months to set it all up anyway.

 

Edit : oh, right, I forgot to ask but currently I have 'only' 16 Gb of RAM (which is, well, enough most of the time), but I should go for 32GB for this setup, shouldn't I ? (maybe higher even ? Hmmm ?).

Edited by Yros
Link to comment

If you care about the data integrity, you want a processor with ECC for internal memory busses (Xeon) and with ECC RAM.

 

And you want to combine this with a file system with checksums for the stored data (Btrfs).

 

And finally using a file integrity plugin that computes hashes for all files and that an regularly scan your files and verify that no program has modified any of the files.

Link to comment

The Ryzen 2700x seems to support ECC RAM. It's a bit harder to find a proper motherboard supporting it though (the x470 Taichi Ultimate seem to be supporting it though it's a bit unclear and I couldn't find any actual confirmation...). I'm planning to make the build by the end of August / early September so who knows if at that time some new motherboards won't be released that will fix this issue anyway.

 

Regarding the checksums for the file system, isn't the Data pool/array of hard drives created with unRaid already using BTRFS by default ?

 

For the last line you lost me. I simply don't know anything about that :C Wouldn't the use of such 'integrity plugin' drastically reduce the lifespan of the hard drives though since it has to check files regularly ? ? Thanks for the answer though.

Edited by Yros
Link to comment
1 hour ago, Yros said:

Regarding the checksums for the file system, isn't the Data pool/array of hard drives created with unRaid already using BTRFS by default ?

 

For the RAID you can select between XFS or Btrfs.

 

For the cache you can also selected between these two - unless you want to make an advanced pooled cache volume in which case you need to select Btrfs.

 

1 hour ago, Yros said:

For the last line you lost me. I simply don't know anything about that :C Wouldn't the use of such 'integrity plugin' drastically reduce the lifespan of the hard drives though since it has to check files regularly ? ? Thanks for the answer though.

 

ECC for cache and memory busses inside the processor and ECC for external RAM is just to avoid having the processor itself make something bad and end up writing bad data to a disk. If the processor suffers from a bit error, it can then compute the checksum for bad data and write to the disk. Btrfs will not notice this since the error happened before the checksum was computed. So while it's good with a file system that supports checksums, the end result still depends on the stability of the machine.

 

But that's not the only way your files can be damaged. Normal software bugs, user accidents or malware can also result in writes to files. And if it's malware, the malware can select to modify files without modifying the time stamps which means it can take a very long time to notice that the files have changed. And Btrfs will not catch this type of file damages since Btrfs can't know if it is a write the file owner wants or if it's a file write caused by the user goofing or by a malware.

 

So computing a list of hash values for all files allows the system to regularly recompute the hashes and compare with the stored table. Then you can be informed about files that have been modified since the previous scan.

 

Desktop disks can have a very low rating for amount of read/write per year. But even home NAS drives normally have good enough figures that you can reasonably often recompute and check hashes without introducing enough wear that you need to worry about it. Few people manages to wear out a NAS HDD. It's more common that the disks are replaced because it isn't economical to keep them - they become too small and consumes too much power / TB compared to newer drives.

 

Obviously, you wouldn't do this kind of scrubbing very often. How often you need to do it depends a bit on your backup solutions. If your backup retention is 6 months, then you can decide to check the hashes of existing files every four months and still have two months to restore damaged files from the backup.

Link to comment

I see. I'll try to learn more about it and find an appropriate solution that can enable such hash computing/comparing to preserve the integrity of the system. It might indeed be a good thing then. */some time later/* Alright so I did find out more about it, mainly the 3 solutions currently available on unRaid for checksum parity checks which are:

-- [bunker] https://lime-technology.com/forums/topic/35615-bunker-yet-another-utility-for-file-integrity-checks/ 

-- [Checksum Suite] https://lime-technology.com/forums/topic/41708-checksum-suite/

along the [Dynamic File Entry] plugin for unRaid.

 

I also read the topic https://lime-technology.com/forums/topic/55426-new-to-nas-how-does-the-data-security-of-unraid-compare-to-solutions-with-checksum-before-writes-to-parity/ which also includes good advices on this matter. I'll think of my backup solution later on then. I think between the ECC memory and checksum parity check this should already be very good... (maybe even a bit overkill in my case but, hell, why not xD)

 

To get back to my topic, do you have any suggestions regarding the SSD setup and the cache pool ? Optane use and the NVME Raid ?

 

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.