So, my fileserver is now three years old. Well, parts of her are three years old, parts of her are nearly ten.
I think it is time to replace her… well, parts of her anyway. You know, the parts that aren’t hard drives due to the ridiculously high price of hard drives at the moment.
I’ve decided to kick off writing things to my blog again my posting a ridiculously long entry (3600 words) no one will read! HOORAY! In short, I detail how my file server currently works, what doesn’t work, and make a few builds off of Newegg for replacing her, then figure out why the hell I chose the parts that I did.
Let’s back up and start from the beginning. Oh boy is this going to be long. I’ll provide a table of contents, as all three of you that might read this might want to skip out on the massive walls of text.
- History of Varia
- Problems Today
- What the PC needs to do
- Proposed Builds
- Comparison to Existing Fileserver
History
Nearly ten years ago, I built a computer while I was in college. I spent a bunch of money on an incredibly sturdy (and heavy) case so it could survive life in an un-airconditioned dorm. Varia was a nice computer at the time, and it was my primary computer for four years. After I built my next gaming computer (Vankiel), I moved Varia to a life as a fileserver and general host of all things running Linux in my house (which… wasn’t much).
A few more years go by and my fileserver was showing her age. She had no onboard SATA ports (I had bought a SATA 1 controller and a SATA hard drive late in her life, as that was actually cheaper than buying another PATA drive), her processor was slow and horribly inefficient (Pentium 4 FTL!), and she only had a gig of DDR1 RAM (which was max, due to the incredibly idiotic way RAM worked on that machine).
So, actually having a job and some money, I upgraded her – and by upgrade, I mean tore out practically all of her guts and put in a new computer. Neo-Varia retained the case from the old computer and that add-on SATA1 controller, dumping everything else. She’s running an AMD Phenom II X4 920, using 2×2 GB of DDR2 RAM (more on that part later), and four gigantic (for the time) 1 TB hard drives (plus a 250 GB system drive).
She has her problems (mostly due to ridiculously weird issues with the SATA controller, or the fact that Samba refuses to work right on first boot), but she mostly worked just fine – she used substantially less power than her P4 incarnation, was a lot more powerful (Quad core processor! WOO!), and was able to finally be used appropriately for some of the non-fileserver related things I did on her – as a virtual machine host, basically, but only for one VM at a time.
Problems Today
That was then. Over time, Varia has become… problematic. My needs have expanded, and some of my design decisions in Varia’s original build have come back to haunt me.
- RAM. Oh ye gods has that haunted me. At the time, I had no need for more than 4 GB of RAM – hell, Varia barely ever went above 1.5 GB of RAM – so I had decided that going with two sticks of 2 GB would be plenty. If I needed more RAM, I could always buy more DDR2, right?
Allow me to show you all a comparison. DDR2 2×4 GB sticks. DDR3 2×4 GB sticks. DDR2 prices are over quadruple the price of DDR3. If I wanted 16 GB of RAM in Varia (her max), I’d be spending a minimum of 260 USD. Hell, that’s bound to be pretty close to just buying a new motherboard / processor / RAM, right? - Power Utilization. She’s still not draining that much power, but technology marches on. She drains more power at idle as my gaming machine does at full non-gaming load, and a lot of that is being turned in to waste heat. Admittedly, it isn’t that big of a deal, but I wish I would have bought a bit more of an energy efficient processor at the time. AMD procs from back then aren’t known for being low in idle power draw, and Varia is idle around 85% of the time.
- Available SATA Ports. Uuf da. You see, motherboards at the time had a maximum of six SATA ports on them. This was plenty enough for me, as I had four storage HDs, one OS HD, and one DVD burner. Unfortunately for me, I had to get one with only five ports. I put my DVD burner onto my extra SATA controller (1.5 Gbps is plenty fast enough for a DVD drive) and went on my way. Later on, however, I also bought a totally awesome hard drive dock in order to make backups (and recovering data for other people) a lot easier and simpler. Unfortunately, it now meant I was using eight SATA ports and that crappy little SATA adapter of mine started having… issues. Whenever I need (or want) to rebuild Varia’s OS, I need to start juggling devices around in order for the right devices to be attached to the right locations. Or, in short, ginormous headache that makes getting the computer back online a nightmare.
- Case Age. Yes, Varia’s case was damn awesome at the time. I mean, sure, it weighs more empty than all of the rest of my computers I own combined, but that just makes it sturdy and capable of taking damage. Only, it has. I used to mail my computer back to South Florida every summer, in order for me to have something to do during summer vacation – meaning this case has been through the US Mail eight times and has the damage to show for it. I’ve even claimed it on an insurance form once due to the damage dealt to it (yes, I did ask if this was okay ahead of time; no I’m not committing fraud). It has problems holding optical drives in place, the front cover is completely smashed to bits, the holes for a couple of things are stripped, the side cover no longer holds all that well, and the back part is slightly warped (where you need force to screw in video cards). It wouldn’t survive another move.
- Case Features (or lack-there-of). Did I mention that this case predates the idea of having USB ports on the front? Yeah, that’s DAMN annoying. As is the fact that the hard drive cages are basically impossible to remove without removing half of the guts of the computer first, mostly because this predates the idea that a consumer might want to swap out hard drives on the fly.
- Linux compatibility. Fun fact – the on-board graphics for Varia aren’t fully compatible with Linux. I can’t run anything that requires 3D acceleration, including some of the software I want to run in a virtual machine. Oops.
So… six good reasons to upgrade things. At the very least, I need to upgrade that damn case already.
The PC’s Goals
The most important task of building any computing device (or even just buying one at a store pre-built) is to figure out what you want it to do. This is the part that people have the hardest time doing when they’re designing their own computers – and the downfall of computers years from now when you need them to do something you never anticipated. Given the history posted above, I’m definitely not flawless in this regard. :)
This computer needs to do a few things.
- Serve up files. By far, the most important task this computer needs to do is act as a fileserver. Of course, this is the one task this computer already does extremely well, but if a new build doesn’t let me do even this much, then I’ve failed in building the computer.
- In order to serve up files the way I like them, I need this machine running Linux (other later considerations eliminate both Solaris and BSD). I like my non-NTFS filesystems thankyouverymuch. >_>
- The machine needs a reliable network adapter, wired, and a way of having at least seven SATA ports (OS drive, 4 fileserver drives, two HD Dock plugs). If the motherboard doesn’t support that many, I’m going to need at least one add-on card.
- The case needs to support a minimum of five internal or external 3.5″ bays (OS drive + 4 fileserver HDs). Having more would be nice, but not necessary.
- Serve as a file recovery / backup device. Running alternate operating systems has a hell of a lot of disadvantages, but one of the biggest advantages is that I can recover from things Windows can’t. In that regard, I can often plug in a hard drive or memory card, run some recovery software on it, and have it be as good as new. In that regard, I have my earlier mentioned hard drive dock of awesomeness, plus a memory card reader. The memcard reader is completely optional and I can live without it, but the HD dock is essential for backing things up on.
- This is going to require at least one 5.25″ external bay. Two would be nice, but one is all that is needed.
- It would be nice to have an external 3.5″ bay, but completely unnecessary.
- Serve as a virtual machine host.I currently have a virtual machine perpetually running on the fileserver for my tablet, so I can use my tablet sort-of like a standard x86 machine. Sure, it runs slow, but it definitely serves its purpose… although it could be better.
- Needs lots and lots and lots of RAM. No, more. Seriously, Firefox alone uses 2 GB of RAM and I might have multiple browsers open.
- Should have a working video adapter that supports 3D acceleration in Linux. Luckily, most do now, so this isn’t as big of a concern.
- The processor needs to handle multiple threads at once. Just because I’m serving up content (which, given that I’m not using a hardware RAID controller, means I’m using CPU power) doesn’t mean I’m not going to also need CPU power for my VM, or possibly for anything else hosted on the machine. Two cores are probably fine, four would be preferred though.
- Be flexible for future uses. Kind of obvious, if you think about it, but this computer is going to be my “server” for pretty much everything – it runs 24/7/365, it is the only PC I’m going to rely on being up even when I’m not home. This means that practically everything that I want hosted is going to have to be on this or my router (which isn’t a PC).
Proposed Builds
So, how would I fulfill these conditions? Well, I have five builds I’m looking at now, each… unique, in some manner, and able to fulfill one of the goals. I know, I know, this is already ridiculously long, but eh, time for a marathon post!
NOTE: I’m re-using a power supply in almost all of these builds. This will increase the base price of the server by a smidge if you were building it yourself, unless if you are also upgrading an existing machine.
These builds are listed in order from cheapest to most expensive.
Modular File Server
- Price as of posting: 318.96 USD
- 3.5″ Bays: 6 (1 available)
- 5.25″ Bays: 1 (0 available)
- Size: Small + Medium.
- RAM Configuration: 2x 8 GB (DDR3)
- Processor: AMD E-350
- SATA ports: 8 (1 available).
- Flexibility: 1/5
- CPU Power: 1/5
- Power draw: 3/5?
- Updatability: 1/5
The modular file server started out at me going, “you know, I don’t necessarily need these drives all inside of the same case.” The idea is that I have two boxes – one for the Proc/Motherboard/OS Drive/RAM/Dock, the other for the fileserver HDs. This build includes an external enclosure that holds up to four hard drives, plugging in via an eSATA interface (which this motherboard has). The server itself is a miniITX motherboard/case that, well, is around the size of a Nintendo Gamecube but longer.
This is the cheapest of the builds and it shows – the processor is incredibly weak (about a fourth of the performance of my existing proc) and it just barely is able to handle all of the things I need it to handle. In addition, I’m a bit concerned about having my storage all subject to the lost of a single cable – I mean, I have cats, they’re going to hit it at some point. On the plus side, this is really all I need – given the price difference between this and the pie-in-the-sky build, if I needed something more I could just build it at that time and still save money. Also, it does have a single half-sized PCIe slot open, so I could expand it a little bit at least. This is still seventy bucks less than the next cheapest though, so I am still considering it.
Basic Fileserver
- Price as of posting: 386.96 USD
- 3.5″ Bays: 10 (5 available)
- 5.25″ Bays: 4 (3 available)
- Size: Huge
- RAM Configuration: 4×4 GB (DDR3)
- Processor: AMD A4-3300
- SATA ports: 8 (1 available).
- Flexibility: 3/5
- CPU Power: 3/5
- Power draw: 2/5?
- Updatability: 5/5
- Reuses existing power supply.
This is actually what I built first – basically, just building a new computer minus the hard drives to do what I need it to do. It has a ridiculously awesome case that is contributing heavily to the price, one that I could easily see lasting another ten years. It has front facing USB ports, the processor is upgradable, I could put in 4×8 GB of RAM if I somehow needed 32 GB of RAM in a desktop, it has tons of slots open on the motherboard for just about anything I throw at it – basically, I can do whatever I want. The problem is that it takes up a decently large amount of space, isn’t the greatest on power draw, and I’m still using a somewhat weak processor (now 2/3rds of the performance of my existing one).
Itty Bitty Teenie Weenie Solid Black Fileserver
- Price as of posting: 389.96 USD
- 2.5″ Bays: 1 (1 available)
- 3.5″ Bays: 7 (2 available)
- 5.25″ Bays: 2 (1 available)
- Size: Small
- RAM Configuration: 2×8 GB (DDR3)
- Processor: AMD E-350
- SATA ports: 8 (1 available).
- Flexibility: 2/5
- CPU Power: 1/5
- Power draw: 5/5
- Updatability: 2/5
- Re-uses existing power supply.
After designing the modular server, I was still left scratching my head – I don’t like that single cable being a nice, conveniently-unprotected, single point of failure. What if I was able to do all of this but inside of the same small form factor? Surely something like that doesn’t exist, I mean, this is a mini-ITX case aft… wait, why does that miniITX case have seven 3.5″ bays..?
Costing three dollars more than the plain design, this.. well.. it isn’t a powerful computer. I mean, I’m still using the same crappy E-350 processor that was barely satisfying my needs before, only now I have a really nice case to go with it. Don’t get me wrong, the fact that I can now hold a full sized PCI-e card is quite nice (but I have to use said slot…), as is the fact that I can throw another two HDs, one laptop HD, and an optical drive in is extremely nice (but I only have one SATA port free…), but I’m still not getting much out of this overall. Still, only three bucks more than the gigantic build above, and by far the best with respect to power draw. Alas, not much I can do about the processing power on this one given the form factor, right..?
PowerServer
- Price as of posting: 570.96 USD
- 3.5″ Bays: 10 (5 available)
- 5.25″ Bays: 4 (3 available)
- Size: Huge
- RAM Configuration: 4×4 GB (DDR3)
- Processor: Intel Core i5 2400S
- SATA ports: 8 (1 available).
- Flexibility: 5/5
- CPU Power: 5/5
- Power draw: 1/5
- Updatability: 4/5
- Reuses existing power supply.
Basically, this computer is a full powered computer (albeit one using a lower-power processor) in the same case as the Basic fileserver. It should be a LOT more powerful (by far the most powerful machine in this set), reasonably power efficient (don’t let that 1/5 scare you; it should still be rather low) and incredibly versatile.
There are two processors listed in that wishlist – that is because if I was building this, I’d be grabbing that nice Core i5 2500K and putting the processor and motherboard into my current gaming machine and passing its processor (Core i5 760) and motherboard into this fileserver. My version would use up more power but would otherwise be similar in every other way.
The main downside to this build is… well, it isn’t cheap. Not exactly super expensive (see below), but we’re still talking another 185 USD over the Basic Fileserver build when it still accomplishes the same thing in the same form factor. It also isn’t the most power efficient thing in the world, but still leaps and bounds better than my existing fileserver.
Pie in the Sky
- Price as of posting: 909.94 USD (795.94 USD if you aren’t insane)
- 2.5″ Bays: 1 (1 available)
- 3.5″ Bays: 7 (2 available)
- 5.25″ Bays: 2 (1 available)
- Size: Small
- RAM Configuration: 2×8 GB (DDR3 SODIMM)
- Processor: Intel Core i7-2720QM
- SATA ports: 9 (2 available).
- Flexibility: 4/5
- CPU Power: 4/5
- Power draw: 4/5
- Updatability: 3/5
- Re-uses existing power supply.
Allow me to put a disclaimer here: There is no way in hell I would build this machine. This is what I’d build if I had a whole lot of spare money yet still had some sanity (some; I did pick out a four hundred dollar processor – if you want something more realistic, drop to the Core i5 2520M for a similar level of performance but two fewer cores and 190 USD less). I might even be able to use a desktop Core i5 in this build for less, but then you’d have some cooling issues that might not be the greatest thing in the world to deal with on a fileserver.
I could realistically build this computer. It has a lot of charm, having a laptop processor and motherboard in it, using a small case, housing everything internally. This is probably the most efficient performance-per-watt build here, but it… costs a lot of money. You’re also locked in on processor (you’re using a freaking laptop processor, those things aren’t meant to be replaceable) and have no available PCIe slots (since you used it already to have enough SATA ports). Still, second best processor listed here, second best on power, second best on flexibility – a lot to be…
Yeah, I’m still never going to build this machine.
Comparison
So, how do these line up with my existing fileserver?
- Processor: PowerServer> Pie-in-Sky >>> Existing Server > Basic Server >> Itty-Bitty / Modular.
Basically, my existing fileserver sits idle for a huge chunk of the day and, even when it is busy, it still doesn’t do much. Still, I’m a bit concerned that the two cheap builds are a bit… too cheap. They’re kind of weak to run VMs on and expect the VM to do much. - Memory: PowerServer /Basic Server > Everything else > Existing Server.
My existing server has 4 GB of RAM. I intentionally made the rest of the builds 16 GB of RAM, although two of them can handle up to 32 GB of RAM, if you felt like it. Definitely not needed for my needs, but it might be needed in the future. - Case Size: PowerServer / Basic Server > Existing Server >> Modular > Pie-in-Sky / Itty-Bitty.
Really, I only have four cases in the list – the LianLi mini-ITX, the Fractal Design full ATX, and the Apex mini-ITX and the Sans Digital eSATA thing. My existing fileserver case is a smidge shorter than the Fractal Design case, but is otherwise still a full ATX case. I narrowed things down to those four (five) cases, as they’re the best I can find that fit my own design sensibilities. The only real pro to any of them is that the Fractal Design case is also heavily soundproofed. - Power Sipping: Itty-Bitty >> Pie-In-Sky > Modular > Basic / PowerServer > Existing Server.
Rated from least to most power drawing (hence the “Power Sipping” term) at idle, these are… guesses. I honestly don’ t know how much power the Pie-In-Sky and Basic builds take, as those are estimates of mine. Still, the Modular one has two PSUs to contend with (neither of which are user replaceable, so I’m assuming they are inefficient) and the Itty-Bitty machine is quite possibly the lowest power use machine I could possibly build. - Adaptability: PowerServer /Basic Server > Existing Server > Pie-in-Sky > Itty-Bitty > Modular
One could debate whether the modular machine (relying on eSATA for file serving) is more adaptable than ones that aren’t, given that you can just plug a different external enclosure into it. I, however, have no intention of removing said enclosure so I don’t count it. Really, this boils down to, “can I change the role of this computer after I build it?” The three larger machines, owing to the fact that they have ATX motherboards with enough slots to distract gamblers, can be modified into just about anything. The basic server, in particular, currently has the lowest processor of its class installed – meaning you could swap it with an octocore AMD proc and have fun serving up a whole lot of content as a more public VM host, for instance.
Conclusion
Home fileservers tend to be low powered machines that don’t really do much of anything save hosting content. That’s not what I want – I want a home VM host and fileserver. That means that I demand not only a bunch of storage, but also RAM and a bit of CPU.
Or, in short, I want to host my cake and eat it. About the ONLY thing this build doesn’t need compared to a regular desktop PC is a good video card.