One Server: What is needed?
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
- be reliable enough to run 24x7 for several years
- continue working without data loss if two hard drives fail
- allow for hard drives to be replaced without shutting down the system
- be easy to backup
- report any errors with the drives or the virtual machines so they can be fixed quickly
- be compatible with as many guest operating systems as possible
- be easy to install, maintain, and configure. Well, easy for a technical person at least
- allow for remote maintenance of the host operating system
- have room for expansion (cpu/ram/disk/etc upgrades)
- be quiet
- not use too much electricity
- 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.