I have always been pretty concerned with backing up my computer systems. I will write more about that in another post. Around 2007 the tape systems and optical disks I was using became unusable and I decided to start backing up to disk. That eventually lead to having a pretty substantial server system in my attic wiring closet.
Standalone NAS Drives
In December of `07 I bought a Western Digital My Book World Edition. This was a little (1TB) NAS drive that I put on my network and used for backup and storage. The most important thing I kept there were the family photos. (We got our first digital camera in about September of 2000). But I also kept backups there. This was a reliable system for several years. (When I decided I would no longer use the drive, I removed the HDD from the enclosure and I still have it. I use it for extra backup that I keep in the safe. It currently has 64727 power on hours and no bad sectors. And it's my oldest HDD.)
The only problem with this drive was that it did not have any redundancy. One day in 2011 I was in Fry's and saw a NAS drive from Hitachi that had two 2 TB drives and could be configured as RAID 0 or 1. When I got it home I configured it as RAID 1, so I had 2 TB of mirrored storage. This made me feel better about my backups. (This was June of 2011).
The drives in the Hitachi NAS were great, the fan was not. The fan failed after a little over a year, leading to extreme overheating of both drives and killing the controller. As I said the drives were great; they both survived. But I no longer had a RAID enclosure for them. It turned out that they were formatted EXT3 and because they were mirrors both contained a recoverable file system. This made me a big fan of redundancy.
While I was using these little NASs I put an unused desktop system up as a mail and applications server. This was my Shuttle system that was stuck on Windows Vista because there was no driver support for the disk controller in Windows 7 or later. This server provided the armadillo.nu email domain and so I named it Armadillo. (Up until this time my desktop had always been Armadillo.) In addition to the mail server I ran some applications on it that I wanted to continue running all the time (primarily Vuse). The primary problem with this system was that it was stuck on 32-bit Vista. I knew Vista support would be phased out eventually and the system would be orphaned (support for Vista was phased out in April of 2012).
So my first server was the poor little Shuttle system running 32 bit Windows Vista. But really only ran a mail server and Vuse.
A Real Server
After the failure of the Hitachi NAS system, I decided that the small single disk NAS systems were not what I wanted; I wanted a real network server with both a disk server and an email server. I spent quite a bit of time looking for the solution. I seriously considered a prepackaged NAS system. But they were pricey and did not seem to be able to be upgraded nor did they seem very flexible (like they couldn't run a mail server).
I continued to study the problem and found Amahi. Amahi uses Samba and Greyhole for its redundant storage system. I used this software for a long time from 2012 until August of 2020. I will talk more about Greyhole in the post on system software.
Finally I settled on the solution of building a server system myself. I figured I would run Virtual Box on it and put up an Amahi server in one VM, the mail server in another and still be able to add VMs for other purposes.
So in October of 2012 I bought the first incarnation of my server system. The intention was to get started with the absolute minimum and upgrade it over time. The initial expense was only about $500. It has been upgraded several times and it may be that the only thing that is original is the case. I don't have all the details, but it had:
- A Corsair case with six internal drive bays and four front panel slots.
- An AMD mother board and dual core AMD processor
- Four GB of memory
- A 500 GB boot disk
- The two 2 TB Hitachi drives I got from the old RAID NAS.
So, I put up Ubuntu server on it and used VirtualBox to set up an Amahi server. The performance was awful! VirtualBox is great in many respects but there are substantial penalties for virtualizing the disk system. So I had to look for other alternatives.
What I found was Proxmox VE. Proxmox VE is a virtual host system built out of open source components. The Proxmox company sells support for the system, but the system itself is open source and built from open source components (and free). The virtualization is QEMU and it also supports LXC containers. It has a nice web interface that makes managing VMs pretty easy. There are some features I wish the GUI had that it is missing; but, for the most part it's pretty good.
Using Proxmox VE (here after just "Proxmox") I quickly created my file server with Amahi and my mail server (which runs Surgemail). Proxmox will allow you to assign a disk drive directly to a VM. This means, among other things, that the file systems on those disks are native guest OS file systems. So I assigned the two Hitachi drives directly to the HDA VM.
The new system worked pretty good and the file server performance was acceptable. But I wanted more than two copies of everything so I bought two Seagate 2 TB drives from Bestbuy. (More about these in a later post about disk drives.)
By November 2012 I had upgraded the system to 8 GB of main memory (filling all four slots). Then in July of 2013 I upgraded to a four core processor.
Other than replacing disk drives, this system was my server until May of 2019. (I did have to replace the power supply in March of 2018.) The motherboard only had six SATA connectors, all of which were needed for the internal drive bays. So in December of 2015 I added a four port SATA controller for the front four bays. I have populated them with hot swap SATA enclosures. (These I got from Amazon.)
So (with the exception of the power supply and HDDs) the system lasted for about 6 or 7 years (depending on where you count from).
In may of 2019 I found I was just asking too much from the server. I was running more VMs and was running out of memory and processor cycles. So I decided it was time for an upgrade. What I decided on was a AMD Ryzen 5 1600 processor on an ASRock X470 Taichi motherboard. I installed 32 GB of memory, which I have since upgraded to 64 GB.
The cost of this upgrade is a little hard to figure because some it was gifts (it was my birthday), but around $500.
Over time, I added a 1 TB NVMe, 32 GB more memory and an external disk enclosure.
I boot the main VMs from the NVMe drive. Someday I hope to reinstall the host OS on this machine and boot it from the NVMe drive as well.
The Taichi mother board has three USB 3.1 Gen2 ports. (Unfortunately one is designed for a type C from panel connector which my older case does not have. If I need it I will find a back panel or something for it.) For now two of the Gen2 ports are on the back panel; one each of Type A and Type C. I put an external enclosure on the Type C port. I got the enclosure from Amazon.
While some components were upgraded and some were added, much of the system was preserved. While I backed everything up before the upgrade, I did not need to restore the backups. The system booted up from the installed OS and the VMs came up and started running. When I installed the NVME drive I just told Proxmox to move the boot drives to it. All very satisfying.
Here is what the system looks like today. Maybe I'll get some shots inside soon.
In summary the current system has:
- ASRock X470 Taichi Motherboard
- AMD Ryzen 5 1600 Six-Core Processor
- 64 GB of memory
- WD 2 TB Black Boot Drive
- addlink 1TB NVMe SSD
- Three WD 6 TB Red Pro Drives
- Two WD 4 TB Black Drives
This has gotten pretty long, I've decided to move the discussions of disk drives and software to separate posts.