I’m looking to put together a new storage solution at home and I think I’ve mostly settled on the parts. I’ll be reusing a case, and that’s about it. Here are the parts I’m looking at buying.
- Motherboard: ASUS M4A88TD-M ($99.99)
- Processor: AMD Athlon II X3 450 ($77.99)
- RAM: G.SKILL Value Series 8GB (2 x 4GB) x2 ($99.98)
- Drives: SAMSUNG EcoGreen F4 HD204UI 2TB x4 ($319.96)
- Drive enclosure: SANS DIGITAL TR4M+BNC JBOD ($104.99)
- eSATA card: Rosewill RC-218 ($69.99)
The master plan is to put all four drives into the external enclosure and hook it up the the new hardware via the eSATA controller card. That card (the RC-218) has port-multiplier support, meaning multiple drives are supported over a single eSATA connection. Without that support, only the first drive in the enclosure is available to the computer. After I started looking at this enclosure for my personal use, we bought one for the office to house a couple of new drives intended for backups. It looks pretty solid so far and any concerns I had when trying to settle on a model have been soothed. I decided to go with an external drive enclosure for a few reasons. First, it allows some portability in that I can move it to a new computer should I have a hardware failure. Second, it will eventually allow me to downsize the computer it is attached to. My ultimate goal is to find something much smaller than my current case and that’s hard to do if I need to be able to house four or five 3.5″ drives. And finally, because I can.
The four drives are only 2TB each. Not quite the bleeding edge of storage density, but plenty adequate for the moment. They also are only 5200 RPM, but I’m not building a storage cluster for pure performance. I’m planning to set up a RAID10 set that will leave me roughly 4TB after the mirroring. After some previous experience with losing disks in a RAID5 set, I don’t think I’ll be skipping the mirror in the future. I intend to run FreeNAS and use ZFS for the filesystem assuming that all the hardware is properly detected and supported in FreeBSD. I believe that I’ll be okay on that front, but I can always fall back to my current method of Fedora with mdadm for software raid and ext3/4 or even ZFS (which I haven’t tried to use with Fedora yet). It sounds like ZFS has many advantages on large filesystems and I’d really like to take advantage of them if possible.
My understanding is that ZFS likes to have a lot of RAM available. The linked article says it typically requires a minimum of 6GB of RAM all to itself. Since the OS and such will want some for its own use, more than 6GB is recommended. It turns out that memory is pretty cheap right now. Actually, very cheap. So I decided to go full out and use the full 16GB this motherboard supports. Even that much will only set me back $100 total. I went with the slightly slower RAM (DDR3 1333 / PC3 10600) to match up with the motherboard, not because of price, and stuck with a reputable name and model that had solid reviews on Newegg.
Speaking of the motherboard, I decided to go with one that Ars Technica recommended in the March 2011 System Guide. It has excellent reviews, supports USB3 and the amount of RAM I wanted, as well as having the proper expansion slots, onboard VGA, DVI, HDMI, and audio. If the onboard NIC is problematic, I have a gigabit card in the current machine that will easily move into this one. Also, this is a MicroATX board and, while not the smallest form factor available, there are a significant number of smaller cases that will handle it if I ever find the right one. Since the server will be headless for the most part, the video outputs don’t matter too much, but if I ever want to hook it up directly to a TV, the HDMI capability will come in handy. I think, though, I’d rather have a small dedicated device that can be hooked up to the TV if needed and pull content from the storage machine.
The processor selection was mostly an afterthought. I don’t need anything screaming fast for this machine, but it’s hard to find anything in the x86 line that mixes low power consumption and moderate performance well. You can get reasonable power consumption (this one’s 95W, and there are others in the 65W range), but you don’t really save anything on the cost of the processor. So I went for the middle ground and selected the Athlon II X3 450. More cores and performance than I need, but it’ll do.
So, that’s the plan for the new stuff. It’ll be replacing a machine that I built in February of 2005 that’s currently running Fedora 13 (yes, it’s quite out of date). The drives have been upgraded a couple of times since I originally built it, but that’s the same case and other guts that I’m running right now. The current drives are two 1TB drives mirrored and two 500GB drives mirrored leaving me with somewhere around 1.5TB of space. The trick is going to be migrating the data off the current disks and onto the new array. FreeBSD, and therefore FreeNAS, does not support the current software raid and filesystem that the arrays are using, so I cannot fire up FreeNAS and just copy everything over. I may have to set the new enclosure up on a different machine, copy everything over the network (at least it’s a gigabit switch), and then move the enclosure to the new machine. There’s still the option of buying a new case and just building a whole new machine in parallel, but I wanted to hold off buying one until I could find something smaller that I really wanted to hang onto long term. If everything goes well, I may pick up a second enclosure and move my existing drives over to it and eventually add them into the ZFS pool as well.
Anyone have any thoughts on the hardware, software, or overall plan? I’ve gotten a little more cautious about hardware lately and it’s hard to make the decision, click the pay button, and wait for the stuff in the mail. RMAs and returns are just so much of a pain that if someone local had what I wanted (I’m looking at you, Fry’s) and could match the price or come close, I’d be happy to do business with them. It’s nice to be able to drive to the store to deal with bad hardware instead of dealing with shipping and delays.