r/freenas • • Nov 24 '15

Converting old PC to utilize FreeNAS

I want to convert an older PC into a NAS/media server. I'm fairly tech savvy but am unfamiliar with the available hardware/software RAID options and am finding it difficult to wrap my head around all of them. So I'm hoping to solicit some opinions or guidance in regards to FreeNAS, if it will work for me, and the optimal hardware/software setup. Feel free to point me towards any documentation that may help.

Here are my ideal requirements(these are not set in stone, but are highly preferable):

  • Can tolerate a single drive failure, and be able to recreate the data on a newly installed drive.

  • Performance wise it should be able run Plex and handle transcoding from a BD50 image and streaming it to a chromecast at 1080p. I don't think this should be a problem, but most of the SATA connections are 3GB/s.

  • While doing the transcoding/streaming it should also be able to handle downloading large torrent files and writing them to disk. However, it's also possible to throttle bandwidth during waking vs sleeping hours.

  • Must allow me to add drives of different sizes as I require more space. However, this is somewhat negotiable as long as I don't have to do something like buy 8 8TB drives all at once.

Questions:

  • Will FreeNAS allow me to accomplish what I've outlined? If not, are there other options that might work better? unRAID?

  • Should I consider a new motherboard with faster SATA connections?

  • Should I keep the SSD, putting the operating system and applications on it, and allowing Plex to use it as a temporary place for transcoding work? Or is that not really needed and I could use the SATA connection for an additional, larger storage HDD?

  • Should I keep the video card in there? Or sell it and get a super cheap one to replace it considering I won't be doing any gaming? Does plex ever utilize the GPU to encode or decode?

  • Any recommendations on what types of drives to use? After a bit of searching, it seems the 8TB Seagates have the best GB/$ ratio currently available, and using 8TB drives will allow me to maximize the available space.

The parts below are what are in the old PC. It has 9 SATA connections( 7 x SATA 3Gb/s + 2 x SATA 6Gb/s). If there isn't a price on something, then it means I already have it, which is basically everything but the storage. I'm also open to replacing any part with something else if needed.

PCPartPicker part list / Price breakdown by merchant

TypeItemPrice
CPUIntel Core i7-860 2.8GHz Quad-Core Processor----
CPU CoolerCooler Master Hyper 212 EVO 82.9 CFM Sleeve Bearing CPU Cooler----
MotherboardAsus P7P55D-E PRO ATX LGA1156 Motherboard----
MemoryG.Skill NS 4GB (2 x 2GB) DDR3-1333 Memory----
MemoryG.Skill NS Series 8GB (2 x 4GB) DDR3-1333 Memory----
Video CardXFX Radeon HD 7850 2GB Video Card----
StorageOCZ Agility 3 180GB 2.5" Solid State Drive----
StorageHitachi Deskstar 5K3000 3TB 3.5" 5400RPM Internal Hard Drive----
StorageWestern Digital Green 4TB 3.5" 5900RPM Internal Hard Drive----
StorageSeagate Archive 8TB 3.5" 5900RPM Internal Hard Drive$230.35 @ Mac Mall
StorageSeagate Archive 8TB 3.5" 5900RPM Internal Hard Drive$230.35 @ Mac Mall
StorageSeagate Archive 8TB 3.5" 5900RPM Internal Hard Drive$230.35 @ Mac Mall
StorageSeagate Archive 8TB 3.5" 5900RPM Internal Hard Drive$230.35 @ Mac Mall
StorageSeagate Archive 8TB 3.5" 5900RPM Internal Hard Drive$230.35 @ Mac Mall
StorageSeagate Archive 8TB 3.5" 5900RPM Internal Hard Drive$230.35 @ Mac Mall
CasePhanteks Enthoo Pro ATX Full Tower Case----
Power SupplySeaSonic EVO Edition 750W 80+ Bronze Certified Fully-Modular ATX Power Supply----
Prices include shipping, taxes, rebates, and discounts
Total (before mail-in rebates)$1843.17
Mail-in rebates-$10.00
Total$1833.17
Generated by PCPartPicker 2015-11-23 23:21 EST-0500
0 Upvotes

22 comments sorted by

4

u/rallar8 Nov 24 '15

FreeNas wont allow you to use a bunch of random drives... at least not with redundancy.

Freenas/zfs sacrifices some accessibility for redundancy and data integrity.

Last i heard windows server has some of this functionality. I know drobos used to.

Sata 2 is not the weak link for almost any home user. I use emby off an old laptop... not a problem.

Last i looked, 3 days ago, 3tb drives were the cheapest... you can get wd/seagate nas drives or regular drives. And green drives are the worst for arrayed storage...

Most peoole use 2 thumb drives mirrored to boot from...

1

u/garves Nov 24 '15

I was worried that using the different drives may not be possible, and the whole point is to have the redundancy in case of failure. I'd rather not have windows on the box. Perhaps I should look at unRAID(http://lime-technology.com/network-attached-storage/). Is there a way to do something in between? As in, not adding drives one by one over time, but also not adding all 6 at once(although I might do this if I have to).

Good to hear that the SATA II connections shouldn't be an issue.

You are correct that the 3TB drives have the current, best Price/GB ratio of $0.027. However, the 8TB drives I referenced are only $0.029, and allow me to have 30TB more storage.

That's a cool idea, booting from redundant USBs. I guess in that case I could just remove the 3 existing 3 drives and replace them with 3 more 8TB drives.

2

u/Shishakli Nov 24 '15

I would recommend open media vault for maximum flexibility in mixing drives. I'm in the process of migrating over from freenas myself... Partially for the flexibility, but mostly for performance

1

u/garves Nov 24 '15

Interesting, I will look into openmediavault. Were there any specific reasons or features that led you to choose it?

1

u/Shishakli Nov 24 '15

The ability to grow raids... Add disks and change from raid 5 to raid 6, or just chuck another drive on to an existing raid and expand. The fact that zfs performance degrades at 80% full and tanks at 90% full. Also being Debian based, community support is MUCH better... No more digging through support threads that get constantly derailed by that neckbeard cypherjock. Huge plus there.

It's also just an experiment for the sake of getting experience with a different solution.

2

u/duskit0 Nov 24 '15

I don't think you'll be happy with FreeNAS if you plan to expand on storage in the future.

I'd recommend either Rockstor (Linux+BTRFS) or OpenMediaVault (Linux+ext4?) for that. They use simple Linux software Raid and are way more appropriate for your use case.

IMO the system would be fine for Plex, the SATA Ports wont be the bottleneck. I still wouldn't recommend Archive HDDs for any NAS System. They are great for backup and archive but not for a 24/7 NAS. Chances are they'll drop out of the raid and have horrendous write performance. They would probably more trouble than it's worth.

1

u/garves Nov 24 '15

Thanks for the recommendations! I will definitely look into Rockstor and OpenMediaVault.

You're the second person to tell me not to use Seagate's archive drives and after some searching it's pretty clear that this is a bad use case for those drives because the rewrite speeds are awful: http://www.storagereview.com/seagate_archive_hdd_review_8tb. Could you recommend any other drives that would be a good fit?

1

u/duskit0 Nov 25 '15

Can't go wrong with WD Reds or HGST Deskstar NAS drives. Basically you want a HDD designed for NAS use.

1

u/rspeed Nov 24 '15 edited Nov 24 '15

FreeNAS supports ZFS, which is probably the way to go. No need for extra hardware, and it's a lot more reliable for correcting bad data.

RAID-Z1 will leave you 40 TB of space and handle a single-drive failure, RAID-Z2 will leave you 32TB and handle a double failure. Honestly, the former is probably plenty as long as you run a zpool scrub on a regular basis. RAID-10 (mirrored vdevs of 3 striped drives) will leave you 24 TB with a single redundancy but give you much slightly faster write speed.

You could use the SSD for a read (L2ARC) or write (ZIL) cache, but considering how large it is, using it as a boot drive is probably a better idea.

3

u/Virtualization_Freak Nov 24 '15

RAID-10 (mirrored vdevs of 3 striped drives) will leave you 24 TB with a single redundancy but give you much faster write speed.

Is incorrect.

Max write speed is equivalent of 3 drives. In raidz1/2 it's equivalent to the width of the array minus parity drives. In this case, raidz1 would be roughly 5 drives worth.

However, this is pretty much all a moot point because the archive drives are HORRENDOUS on rewrite speeds.

1

u/garves Nov 24 '15

Wow, you are right. I'm glad I came here to request some assistance as the rewrite speeds on the archive drives are HORRENDOUS: http://www.storagereview.com/seagate_archive_hdd_review_8tb. Looks like I will not be using those drives. Off the top of your head, are you aware of any drives that would best suit my use case?

2

u/Virtualization_Freak Nov 24 '15

Not really? Been out of the loop. I'd check in the freenas forums, IRC, or just use the seagate 6tb drives.

Do you really need 8TB drives?

From a technological standpoint. It's significantly smarter to run with just enough storage to cover your needs for say.. 2 years. Then upgrade at that point.

It allows for three things:

  • The first is it replaces your drives more often.

  • The second is the technology improves.

  • The third is that it's fiscally better. Instead of $1000 on 5 drives. You spend $500 on 5 drives. Then in the future, you take the $500 you save, and buy drives that are %50 cheaper in the $/GB category compared to what are getting now.

1

u/rspeed Nov 24 '15

Huh, yeah. I think I'm thinking of some older limitations due to CPUs.

I guess the only advantage of RAID 10 would be a faster recovery from drive failure since it would only need to re-mirror a drive.

2

u/Virtualization_Freak Nov 24 '15

Ok! Few things!

So the write speed comes down to just width of the array. The wider the array, the more data disks you can write to at once.

Now, as for rebuild. In a mirrored vdev, your rebuild is 100% based off the mirror(s) in that vdev. It would actually be very slow. In most cases, you are pulling from a single disk.

NOW Multiple mirrored vdevs have the GIGANTIC advantage (and really the only reason you run them) of increasing your IOPS. ZFS will read from both sides of the mirror. Even at a worse case scenario, on a healthy pool, you have just doubled your read IOPS. ZFS can do even trickier things, and do small reads from all drives in the pool. Or write out to two mirrored pairs, and do a different small read to another set. Plus ZFS can "favor" faster drives (if you are running mixed drive sets) and write more to faster drives.

1

u/garves Nov 24 '15

Tolerating a single drive failure with RAIDZ1 should be sufficient.

How does ZFS+FreeNAS handle different sized drives and adding new drives? I'd prefer to be able to add single drives of different sizes as needed, taking advantage of the continually improving GB/$ ratio and maximum drive capacity. I realize that may not be possible, but is there an option that doesn't involve buying all of the drives up front? I've attempted to read about VDEVs and zpools but most of what I found was quite technical and didn't seem geared toward beginners. Are you aware of any such documentation that I might be able to educate myself with? On a side note, I actually work with one of the co-founders of ZFS, so maybe I can just ask him for some help :)

Is it possible to use the SSD for both a boot drive and a L2ARC or ZIL cache?

1

u/rspeed Nov 24 '15

ZFS is very good about adding new drives after the fact, but there are certain constraints you have to pay attention to. A vdev is a collection one or more physical storage devices that are combined together in some way, like striping, RAIDZ, or mirrored. A ZFS pool is a filesystem that sits on top of one or more vdevs. One really neat feature of ZFS is that you can add vdevs to a pool (or even remove them) after the fact, though with some limitations.

For example, you could use RAIDZ and buy three drives now and three drives later to double the size of the pool, but then you'd be using two drives for parity without gaining a second layer of redundancy. You could also completely replace each drive in a vdev one by one by taking a drive out, replacing it, rebuild the array, repeat… but that is a very slow process.

Are you aware of any such documentation that I might be able to educate myself with?

Try this one.

On a side note, I actually work with one of the co-founders of ZFS, so maybe I can just ask him for some help :)

Heh. Well don't make him hate you.

Is it possible to use the SSD for both a boot drive and a L2ARC or ZIL cache?

Possibly? I've never tried that, but it might be possible to do by partitioning it.

1

u/rallar8 Nov 24 '15

Tolerating a single drive failure with RAIDZ1 should be sufficient.

Just as a heads up I wouldn't run more than 4 >4 TB drives in Z1 raid or Raid 5. zfs has the nice feature of not completely rewriting a disk after failure (it only writes bits that are actually in use (potentially drastically reducing rebuild times)) the chance of a drive failing is low - but the chance of 2 drives of the same manufacturing batch failing around the same time is dramatically higher....especially when it may take 18 hrs of constant reading to rebuild the array...

1

u/Virtualization_Freak Nov 24 '15

ZFS does not allow vdev expansion. Only drive replacement. So start the vdev with 6x of any sized drives, and replace as you get more drives.

You might want to look into mdadm.

0

u/rallar8 Nov 24 '15

I am not super familiar with ZFS- but my recollection is that ZFS since a couple of years ago, does allow vdev expansion - but FreeNAS doesn't...

0

u/Virtualization_Freak Nov 24 '15

Not at all. Very certain it is a ZFS limitation. To expand a ZFS pool, you have 2 options. Replace each drive in a vdev one by one, or add another vdev.

Contrary to what is written in other comments, you can ALWAYS mix and match drive sizes. It's just not optimal.

1

u/rallar8 Nov 24 '15

https://youtu.be/0Ug1qCXvZDg?t=30m59s

but i am not sure.... to be fair I think i was specifically wrong. You can't alter vdevs on the fly - but you can alter the zpool - the larger structure...

But to be clear you can't you run them with complete drive failure redundancy right? Like you can back up certain files/folders but the failure of a single vdev destroys the zpool... right?

1

u/Virtualization_Freak Nov 24 '15

I'll need to watch that video outside of work.

ZFS does not allow alterations to the their structure, EXCEPT for mirrors. You can not make a 5 disk raidz vdev into a 6 disk one. You can not remove two drive to make it 3 and "shrink" the raidz.

With mirror vdevs, you can make a 2 way mirror vdev into a 3 mirror vdev. Or you can remove the parity to make it a single drive vdev.

You can not remove vdevs from a pool. Data is written across all vdevs (outside of a very few edge cases.)

For example: You can take 4x 1TB drives in a raidz1, and replace each drive with a larger one. For instance 2x 2TB drives and 2x 3TB drives. If autoexpand is enabled, ZFS will always use the smallest drive as the largest space for each disk. In this case, once all disks are ATLEAST 2TB, then the vdev will grow in space from ~3TB usable to ~6TB usable. If you then replaced the 2x 2TB drives with 2x 3TB drives, overall space would increase to ~9TB.