Completely new to home servers... Help.

Status
Not open for further replies.

SRSR333

Dabbler
Joined
Aug 17, 2016
Messages
38
Hello everyone,

This thread is more or less a re-post of my question on /r/homeserver, where I initially asked for suggestions on my build: an ordinary H170 Mini-ITX motherboard paired with a Skylake Pentium and a couple of HGST drives. I initially planned to use Ubuntu Server and somehow set up a DIY software implementation, but users at that subreddit recommended I use a more powerful, full-featured, off-the-shelf solution. And hence I'm here, with a significantly modified build. The use case will be more or less the same:

  • Files in the server should be easily accessible to less technically-inclined persons of my household.
  • The server should be as immune as possible to virus/ransomware attacks. This happened to affect my home desktop, where all our pictures, videos, and media were stored on a single local drive shared with the OS. Thankfully most of the data survived, but it was scary enough.
  • Programs like File History and Time Machine should work seamlessly with the server.
  • The server might potentially be used as a BitTorrent client.
  • The server should be easily extensible to hold more data or perform more functions.

As mentioned in the link above, I'm not sure how I should be implementing all of this, but I'm quite certain it's entirely possible. For starters, below is my build, off Amazon:

ASRock Rack Mini ITX LGA 1150 Motherboard E3C224D2I

2x 3TB WD Red 5400 RPM SATA III HDDs

Crucial 8GB Single DDR3L UDIMM Server Memory

Intel G3258 Pentium 3.20 GHz Processor

Seasonic 360W 80PLUS Gold ATX12V Power Supply SSR-360GP

Fractal Design Node 304 Mini-ITX Computer Case

The motherboard and case will be sourced locally; their Amazon links are merely for posterity.

What do you think, gentlemen? Have you any suggestions for me, given that I've built a couple of consumer PCs, but have no idea how home servers work, nor any idea what jails, zpools, vdevs or all the different types of RAID (except the vanilla RAID 0 and 1) are?
 

Spearfoot

He of the long foot
Moderator
Joined
May 13, 2015
Messages
2,478
Welcome to the forum! Your hardware selection seems fine, though I haven't researched the compatibility of your memory and motherboard. 8GB of RAM is the bare minimum; if you can afford it, I recommend doubling it to 16GB.

With only two hard drives, your pool will be limited to a single vdev of the two drives in a mirror, giving you the storage capacity of a single drive together with the ability to lose either drive in the mirror without losing your data. This is a perfectly acceptable design, but if you were hoping for more storage, you'll need to either use larger capacity drives, or more drives in a different topology (e.g., RAIDZ2).

Here is a good reading list to get you started:

https://forums.freenas.org/index.php?threads/updated-forum-rules-8-3-16.45124/
https://forums.freenas.org/index.php?threads/zfs-primer.38927/
https://forums.freenas.org/index.ph...ning-vdev-zpool-zil-and-l2arc-for-noobs.7775/
https://forums.freenas.org/index.php?threads/comprehensive-diagram-of-the-zfs-structure.38865/
https://forums.freenas.org/index.php?threads/hardware-recommendations-read-this-first.23069/
https://forums.freenas.org/index.php?threads/building-burn-in-and-testing-your-freenas-system.17750/
https://forums.freenas.org/index.php?threads/how-to-hard-drive-burn-in-testing.21451/

Good luck!
 

VladTepes

Patron
Joined
May 18, 2016
Messages
287
Great post Spearfoot with a guide to the relevant useful threads. Cheers.
 

Spearfoot

He of the long foot
Moderator
Joined
May 13, 2015
Messages
2,478
Some more ruminations: How do you plan to boot FreeNAS? Most users use a simple 16GB USB flash drive -- the SanDisk Cruzer Fit is a good choice -- and I see that your motherboard has a built-in header for mounting one of these.

With a mirrored pool such as you're considering, note that you can expand such a pool's capacity later by simply adding another pair of drives in an additional vdev. If you used another pair of 3TB drives, you would double your capacity. You could also use larger drives for even more space - the add-on mirror doesn't have to be the same size as the first vdev.
 

SRSR333

Dabbler
Joined
Aug 17, 2016
Messages
38

Some more ruminations: How do you plan to boot FreeNAS? Most users use a simple 16GB USB flash drive -- the SanDisk Cruzer Fit is a good choice -- and I see that your motherboard has a built-in header for mounting one of these.

With a mirrored pool such as you're considering, note that you can expand such a pool's capacity later by simply adding another pair of drives in an additional vdev. If you used another pair of 3TB drives, you would double your capacity. You could also use larger drives for even more space - the add-on mirror doesn't have to be the same size as the first vdev.

Spearfoot - thank you very much for the links; I'll read through them one by one as I wait for my hardware to arrive.

As for the RAM, I'm trying to keep costs down, so I chose 8 GB which everyone here recommends as the minimum for FreeNAS with ZFS. I'll see if I can accommodate an upgrade to 16 GB.

Speaking of the boot drive - I have a spare 128 GB mSATA SSD lying around, but I get a feeling that would be overkill. The 16 GB SanDisk drive you linked looks tiny, and looks like it would fit the bill, so I'd probably go with that. Thanks again.

As for more drives, I'm possibly considering doubling the capacity a short while down the road, but not right now. Key thing is that I keep my computer backups (i.e. File History, Time Machine) separate from my media; is there a way to partition the pool?

Finally, I have to find some way to backup the server itself, and I really don't want to use external USB drives. Somewhere off-site would be ideal. Is there a reasonable solution?
 

nojohnny101

Wizard
Joined
Dec 3, 2015
Messages
1,478
Speaking of the boot drive - I have a spare 128 GB mSATA SSD lying around, but I get a feeling that would be overkill. The 16 GB SanDisk drive you linked looks tiny, and looks like it would fit the bill, so I'd probably go with that. Thanks again.

use the SSD unless you have it headed for another project. SSDs are most reliable than USBs hands down and if it is just sitting around, why not put it in use. Yes 128gb is overkill, but so is not using it and letting it collect dust.

As for more drives, I'm possibly considering doubling the capacity a short while down the road, but not right now. Key thing is that I keep my computer backups (i.e. File History, Time Machine) separate from my media; is there a way to partition the pool?

I didn't follow the links that @Spearfoot posted but you should read cyberjock's noob presentation here on the forums. It sounds like you don't have an understanding of pools and vdevs. read that first and then if you have questions remaining, come here and we'll do our best to answer. this community is great, use it (but don't abuse it!)

Finally, I have to find some way to backup the server itself, and I really don't want to use external USB drives. Somewhere off-site would be ideal. Is there a reasonable solution?

smart man/woman. most people mistake raidz1/2/3/4/etc. for a backup, it is NOT. you could just buy one large disk and plug it into a spare sata port if you have one then replicate to that. that would not protect you though from theft or disaster (flood, fire, etc.). to do it offsite you could build a barebones cheap freenas box and replicate to that. very simple and very robust with snapshots keeping version basically however often you want of your datasets and all child datasets (if recursive is selected). you have to ask yourself, how important is the data you are putting on this box. could you lose it? that question/answer will guide how much time/money you dedicate to you backup strategy.
 

Nick2253

Wizard
Joined
Apr 21, 2014
Messages
1,633
The server should be as immune as possible to virus/ransomware attacks. This happened to affect my home desktop, where all our pictures, videos, and media were stored on a single local drive shared with the OS. Thankfully most of the data survived, but it was scary enough.
One challenge with ransomeware attacks is that anything your user account can get to, the ransomeware program can get to. You can combat this with some heuristics programs that would shut off access if too many files are being read or changed, but I'm not familiar with any off hand.

One simple way to defeat many common varieties of ransomeware is to not use mounted drives. Instead, use "Network Locations" from within Windows. Many ransomeware programs will run through all the drive letters and hit everything it can, but doesn't even try to go after network resources. However, some of the more sophisticated programs are starting to do this.

I see that your motherboard has a built-in header for mounting one of these.
It may be different with the Node 304, but in my case, header is positioned in a super awkward position, which makes using it with a small USB drive a huge pain. I originally did that with the motherboard, but when I had to replace it after it went bad, I put the USB in the back where I can actually get to it (and it's so small, it's not going to be disturbed accidentally).

Finally, I have to find some way to backup the server itself, and I really don't want to use external USB drives. Somewhere off-site would be ideal. Is there a reasonable solution?
A lot of members around here use CrashPlan (or another unlimited cloud backup provider) to do backups from FreeNAS.
 
Last edited:

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
One challenge with randsomeware attacks is that anything your user account can get to, the randsomeware program can get to. You can combat this with some heuristics programs that would shut off access if too many files are being read or changed, but I'm not familiar with any off hand.

One simple way to defeat many common varieties of randsomeware is to not use mounted drives. Instead, use "Network Locations" from within Windows. Many randsomeware programs will run through all the drive letters and hit everything it can, but doesn't even try to go after network resources. However, some of the more sophisticated programs are starting to do this.

Or just have snapshots correctly configured :)
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
  • Files in the server should be easily accessible to less technically-inclined persons of my household.
  • The server should be as immune as possible to virus/ransomware attacks. This happened to affect my home desktop, where all our pictures, videos, and media were stored on a single local drive shared with the OS. Thankfully most of the data survived, but it was scary enough.
  • Programs like File History and Time Machine should work seamlessly with the server.
  • The server might potentially be used as a BitTorrent client.
  • The server should be easily extensible to hold more data or perform more functions.

FreeNAS will accomplish all if this.

(Not 100% certain on the Windows File History)
 

Nick2253

Wizard
Joined
Apr 21, 2014
Messages
1,633
Or just have snapshots correctly configured :)

Agreed!

As an interesting aside, I was reading an article about a month ago about a new ransomware variant that attempts to out-wait backups. It specifically targets photos and videos in folders with old creation dates, and doesn't spring itself on the machine entirely until a month or so after first infection. I would image that such a variant would be largely ineffective in an enterprise environment, but could be especially devastating in a home environment.

(Not 100% certain on the Windows File History)
If you have snapshots, you'll be able to use the Windows File History to view previous versions corresponding to those snapshots.
 

SRSR333

Dabbler
Joined
Aug 17, 2016
Messages
38
Hello again, everyone. I spent the past couple of days reading through @Spearfoot's list of links. They were all useful, but the two I found most insightful to a ZFS/FreeNAS newbie were the ASCII diagram explaining the ZFS structure, as well as @cyberjock's excellent presentation. Let me try to summarise what I've learnt:
  1. A certain number of physical disk drives are used in a certain hardware/software RAID configuration (whether RAID 0/1/5/6) to form a 'virtual device', or a vdev.
  2. One or more vdevs are used to create a 'zpool' which is something like an ordinary NTFS/HFS+ partition on Windows/OS X. The zpool has the combined capacity of the sum of that of the vdevs.
  3. A zpool is seen by the OS (FreeNAS, in this case) as a single drive, and the OS reads from/writes to it. ZFS, on the other hand, handles how data is mirrored to each physical drive within each zpool/vdev, as well as to correct for data errors and corruption between drives.
So instead of partitioning one physical drive into several partitions as done on ordinary consumer OSes, here with ZFS we're combining multiple physical drives into one partition (for redundancy) to store data, and data parity is handled by the file system. Is that an accurate summary of how ZFS works?

Next, I've made a few changes to my system build after @Spearfoot's recommendations - namely, the motherboard has been changed to the ASRock Rack E3C236D2I, which means the CPU has also changed to the Skylake-based Intel Pentium G4500, as well as a single stick of 16GB Kingston unbuffered DDR4 ECC RAM. The rest of the components haven't changed, save having added a 16GB USB 3.0 flash drive to boot FreeNAS. I've seen a couple of negative reviews about Kingston ValueRAM here - are they actually reliable?

Next - what exactly are jails? How do plugins work? Is it possible to have multiple zpools of one vdev (consisting of two drives) each in one system, since the diagram referenced by Spearfoot only had one? How does Plex 'transcode' video files if I'm just going to transfer them over my LAN to play? Or is some processing being done? And how do I configure snapshots?

Thanks for answering my questions, everyone.
 
Last edited:

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
(Not 100% certain on the Windows File History)
If you have snapshots, you'll be able to use the Windows File History to view previous versions corresponding to those snapshots.
Hold on, there are two very different things going on here:
  • ZFS snapshots can be exported to the client as "Previous Versions", as a Windows Server would expose NTFS Shadow Copies.
  • Windows 8-style Backups, officially designated "File History", work fine, as they're just implemented over standard SMB.
Of course, you need SMB for both.
 

Nick2253

Wizard
Joined
Apr 21, 2014
Messages
1,633
Hold on, there are two very different things going on here:
  • ZFS snapshots can be exported to the client as "Previous Versions", as a Windows Server would expose NTFS Shadow Copies.
  • Windows 8-style Backups, officially designated "File History", work fine, as they're just implemented over standard SMB.
Of course, you need SMB for both.
My bad. I assumed that "Previous Versions" were what we were talking about. I didn't realize that "File History" was an official Windows term. Thanks for the clarification.
 

Mirfster

Doesn't know what he's talking about
Joined
Oct 2, 2015
Messages
3,215
On my cell so this won't be very long. Maybe others can clarify in more detail.

No Hardware Raid for Freenas. It is all software.
Use terms such as RaidZ (Z1, Z2 & Z3) as well as Mirrors, etc. for Freenas.
Does anyone use "zpool"? I use just Pool or Volume...
I would not necessarily say it is seen as a single drive, instead it is a Volume/Pool.
A Volume/Pool can then have Dataset which are what is presented to clients via Shares (CIFS, NFS iSCSI).

Keep at it, you are getting it. There is a thread here regarding Freenas terminology which you may find useful.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Does anyone use "zpool"? I use just Pool or Volume...
zpool is still a correct term, but I think simply "pool" is preferred. See yet another of @jgreco's informative sticky threads for more detail.

A Volume/Pool can then have Dataset which are what is presented to clients via Shares (CIFS, NFS iSCSI).
...or you can share the root of the pool (not recommended), or you can share subdirectories that aren't datasets. But if you use the Wizard to create your shares, they will be datasets, and that's probably the best way to make them.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
Zpool is the command line too used to create and manage zfs pools.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
zpool is still a correct term, but I think simply "pool" is preferred. See yet another of @jgreco's informative sticky threads for more detail.
I don't like to use "zpool". It reinforces the idea that everything needs a stupid z tacked on. Then people show up talking about their z-everything. Other times, they move the 'z' in RAIDZ around or invent wacky new words that others pick up...
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
Yo, my znas is having a zhd problem. Every time I try to ztransfer something across the znetwork, the zcpu maxes out and the zhd clicks
 
Status
Not open for further replies.
Top