I've been thinking about expanding my desktop's storage capacity with a hardware RAID card, but I've decided that I could accomplish the same thing (and much more) using a separate file server.
I've been playing around with FreeNAS and ZFS on a virtual machine for a bit, and I'm pretty sure that my new file server will use that, unless someone comes up with a better alternative.
I should also clarify what I'd like to use my file server for. I'd like to be able to backup all of my computers roughly once a week (perhaps slightly more often, if it's not too expensive). I'd also like to centralize storage for all of my media files (comprising of video and audio files). To that end, I'd like to be able to, at the least, stream HD video to 2 different devices at once.
In addition, I already have two 1.5 TB drives in my desktop, set up in a RAID 0 array on my motherboard (yes, it's not safe - that's one of the reasons I'd like to upgrade my storage system). I'd like to use these drives in the new file server, but I need to be able to copy the contents over before using them.
Here's the hardware I'm planning on using:
Motherboard: Gigabyte GA-P55-USB3
CPU: i3-530 (2.93 GHz)
RAM: G.Skill 3x2GB DDR3 1333
PSU: COOLER MASTER GX Series - 750W
Case: NZXT GAMMA Classic Series (Mid-Tower)
At the moment, I'm planning on buying six more 1.5 TB drives. I'd like to use a storage pool with two 4-drive raidz1 vdevs. Basically:
zpool create tank raidz1 da0 da1 da2 da3 raidz1 da4 da5 da6 da7
One reason to do this is that I can create the first four-disk vdev, copy the files on my existing RAID 0 setup over, and then add another four-disk vdev (I realize that I must copy all the files on the disk to get them striped across the entire storage pool, but I can set it up to do that gradually over a week).
Anyways, I had a few questions.
1) Is the CPU/RAM enough? I'd like to be able to compress certain filesystems (for example, the backup filesystem) without any trouble. I've heard that ZFS eats RAM like a fat kid eats cake, which is why I've decided to get 6 GB, but if I can bring that down to 4 GB without significant performance loss, I'd rather do that (I can always upgrade at a later date).
2) One of the other reasons I wanted to go with 4-disk raidz1 vdevs was because it seems easily upgradable. From my understanding, I can upgrade the storage pool at any time by adding another 4-disk vdev in raidz1. For example, I can buy four 2TB drives and upgrade the capacity by another 6 TB. [2TB * (4 - 1)]. Is this true? Has anyone upgraded ZFS storage pools in this way (specifically, on the FreeBSD implementation, since FreeNAS runs on FreeBSD).
3) Can I encrypt my storage so that I have to "log in" to the server after it starts up before it loads the hard drives? I was going to run FreeNAS off a USB flash drive inside the case. Preferably, once the file server is plugged in and started up, I should be required to SSH in and enter a password before it can read the drives (similar to TrueCrypt). Is this possible, and is this feasible (with the hardware I've mentioned)? Will it incur a significant overhead to reading and writing data?
4) I was going to use the Gigabit Ethernet that comes integrated into the motherboard for communication with the server. If I expect the server to get lots of traffic, should I invest in a NIC, or are the on-board NICs pretty good (like on-board sound)?
5) Also, it would be nice if the device could broadcast data over wireless. I've considered buying a wireless access point which could be placed on top of the server. Will an access point alone be enough to provide this functionality, or is a router required? To clarify, I'm not concerned with accessing the Internet. Instead, I simply would like the server to be accessible to any wireless device (running Windows, if it worked with macs that would be an added benefit) within range, even if they aren't connected to a network (kinda like plugging lots of computers into a switch, without having an uplink, except with wireless). If what I'm describing is impossible, or horrendously expensive, that's fine - it's not a required feature.
6) I understand that I can SSH into the server, but I'd also like a way to directly connect to it. Can I run a serial cable from my server to my desktop and run some software that makes my desktop appear as a monitor+keyboard dumb terminal? The key here is that I want something that would function essentially the same as plugging a monitor and keyboard directly into the server (I'd like to be able to see what it's doing after it starts, but before it boots). I guess the one-sentence version of this question would be: What are my out-of-band management options?
7) One of the reasons I picked the PSU that I did was because it had lots of SATA power connectors. However, it still has barely enough. Also, while my case has plenty of places for me to mount hard drives, it doesn't have enough for an upgrade of 4 more (I could probably ghetto-mount them somewhere else inside the case, because I'm not using many expansion cards, but I'd rather not). If I decide to upgrade with more hard drives, can I place the drives in an external enclosure but keep them part of my file server? It would be great if someone had information about upgrading this kind of system.
Sorry about the horrifically long post, but I had lots of questions and I wanted to be thorough. If anyone can answer any of the questions above, or suggest different hardware or a different setup, I'd very much appreciate the input.
Thanks in advance for your replies!
-- Ethan
I've been playing around with FreeNAS and ZFS on a virtual machine for a bit, and I'm pretty sure that my new file server will use that, unless someone comes up with a better alternative.
I should also clarify what I'd like to use my file server for. I'd like to be able to backup all of my computers roughly once a week (perhaps slightly more often, if it's not too expensive). I'd also like to centralize storage for all of my media files (comprising of video and audio files). To that end, I'd like to be able to, at the least, stream HD video to 2 different devices at once.
In addition, I already have two 1.5 TB drives in my desktop, set up in a RAID 0 array on my motherboard (yes, it's not safe - that's one of the reasons I'd like to upgrade my storage system). I'd like to use these drives in the new file server, but I need to be able to copy the contents over before using them.
Here's the hardware I'm planning on using:
Motherboard: Gigabyte GA-P55-USB3
CPU: i3-530 (2.93 GHz)
RAM: G.Skill 3x2GB DDR3 1333
PSU: COOLER MASTER GX Series - 750W
Case: NZXT GAMMA Classic Series (Mid-Tower)
At the moment, I'm planning on buying six more 1.5 TB drives. I'd like to use a storage pool with two 4-drive raidz1 vdevs. Basically:
zpool create tank raidz1 da0 da1 da2 da3 raidz1 da4 da5 da6 da7
One reason to do this is that I can create the first four-disk vdev, copy the files on my existing RAID 0 setup over, and then add another four-disk vdev (I realize that I must copy all the files on the disk to get them striped across the entire storage pool, but I can set it up to do that gradually over a week).
Anyways, I had a few questions.
1) Is the CPU/RAM enough? I'd like to be able to compress certain filesystems (for example, the backup filesystem) without any trouble. I've heard that ZFS eats RAM like a fat kid eats cake, which is why I've decided to get 6 GB, but if I can bring that down to 4 GB without significant performance loss, I'd rather do that (I can always upgrade at a later date).
2) One of the other reasons I wanted to go with 4-disk raidz1 vdevs was because it seems easily upgradable. From my understanding, I can upgrade the storage pool at any time by adding another 4-disk vdev in raidz1. For example, I can buy four 2TB drives and upgrade the capacity by another 6 TB. [2TB * (4 - 1)]. Is this true? Has anyone upgraded ZFS storage pools in this way (specifically, on the FreeBSD implementation, since FreeNAS runs on FreeBSD).
3) Can I encrypt my storage so that I have to "log in" to the server after it starts up before it loads the hard drives? I was going to run FreeNAS off a USB flash drive inside the case. Preferably, once the file server is plugged in and started up, I should be required to SSH in and enter a password before it can read the drives (similar to TrueCrypt). Is this possible, and is this feasible (with the hardware I've mentioned)? Will it incur a significant overhead to reading and writing data?
4) I was going to use the Gigabit Ethernet that comes integrated into the motherboard for communication with the server. If I expect the server to get lots of traffic, should I invest in a NIC, or are the on-board NICs pretty good (like on-board sound)?
5) Also, it would be nice if the device could broadcast data over wireless. I've considered buying a wireless access point which could be placed on top of the server. Will an access point alone be enough to provide this functionality, or is a router required? To clarify, I'm not concerned with accessing the Internet. Instead, I simply would like the server to be accessible to any wireless device (running Windows, if it worked with macs that would be an added benefit) within range, even if they aren't connected to a network (kinda like plugging lots of computers into a switch, without having an uplink, except with wireless). If what I'm describing is impossible, or horrendously expensive, that's fine - it's not a required feature.
6) I understand that I can SSH into the server, but I'd also like a way to directly connect to it. Can I run a serial cable from my server to my desktop and run some software that makes my desktop appear as a monitor+keyboard dumb terminal? The key here is that I want something that would function essentially the same as plugging a monitor and keyboard directly into the server (I'd like to be able to see what it's doing after it starts, but before it boots). I guess the one-sentence version of this question would be: What are my out-of-band management options?
7) One of the reasons I picked the PSU that I did was because it had lots of SATA power connectors. However, it still has barely enough. Also, while my case has plenty of places for me to mount hard drives, it doesn't have enough for an upgrade of 4 more (I could probably ghetto-mount them somewhere else inside the case, because I'm not using many expansion cards, but I'd rather not). If I decide to upgrade with more hard drives, can I place the drives in an external enclosure but keep them part of my file server? It would be great if someone had information about upgrading this kind of system.
Sorry about the horrifically long post, but I had lots of questions and I wanted to be thorough. If anyone can answer any of the questions above, or suggest different hardware or a different setup, I'd very much appreciate the input.
Thanks in advance for your replies!
-- Ethan