One Server: What is needed?

February 16, 2011 Comments

To make sure I got the right hardware and software for this server I needed to know what the server was going to be used for. I needed to get an idea of how much computing power I was going to use to run all the virtual machines. And since this project started off as an upgrade to my NAS fileserver I also needed to figure out how much storage space I was going to need.

I knew from my previous VirtualBox server what guest operating systems I was going to run. They were:

  • Astaro Security Gateway for the firewall/router
  • Windows 7 for a "standalone" computer used only for banking
  • Linux for a web server
  • Linux for a CrashPlan backup server
  • Linux for a OpenVPN server

My previous fileserver had four disks in a RAID-5 setup for a total of three terabytes. It was very slow and I wanted to find a way to speed it up. At the same time I needed to add enough disk space so that I wouldn't have to think about disk space for a long time. I previously used the file server for:

  • storing backup copies of my iTunes music and video libraries
  • keeping copies of operating system ISO install images for installing VMs
  • backing up my wife's and my own laptop as well as my web server
  • storing an ever growing 500Gb RAW photos library from my DSLR camera
  • storing video for my MythTV setup

I had also recently gotten a new camera capable of recording HD video. HD video files take up a lot of space and with a new baby daughter I was recording a lot of video.

Doing the math, I decided I needed at least 8 terabytes of storage to comfortably cover my needs. To make sure I wouldn't have to worry about storage space again, and considering Moore's law, I decided to double that and plan for 16 TB of storage space.

I had the following additional requirements of the server itself

  1. be reliable enough to run 24x7 for several years
  2. continue working without data loss if two hard drives fail
  3. allow for hard drives to be replaced without shutting down the system
  4. be easy to backup
  5. report any errors with the drives or the virtual machines so they can be fixed quickly
  6. be compatible with as many guest operating systems as possible
  7. be easy to install, maintain, and configure. Well, easy for a technical person at least
  8. allow for remote maintenance of the host operating system
  9. have room for expansion (cpu/ram/disk/etc upgrades)
  10. be quiet
  11. not use too much electricity
  12. support multiple network interfaces. It is going to be my router and needs to plug into my cable/dsl modem as well as my LAN

The reliability of the server was my most important factor. Since I was consolidating everything on this one server, if it ever went down nothing would work. It was also going to store all our family photos and videos. I planned to keep everything backed up, but I wanted to make sure I wasn't going to lose those memories due to a failed disk or silent bit rot.

Categories: Uncategorized