Computer Connoisseur

Server History

Over the course of my home lab experience, many changes have occurred as I gathered more hardware and knowledge.

Early Servers

Compaq computer running as early NAS.

When I first started getting interested in servers and system administration, I did not have access to much hardware or knowledge to work with. I started with a desire to create a centralized storage solution that could be accessed from any computer on my network, and I discovered network-attached storage, which matched my needs. FreeNAS, now TrueNAS, provided the operating system that I needed. Luckily, I also had an old Compaq computer available, so I converted it into a small file server.

Intermediate Servers

Refurbished enterprise servers.

After a few years, I started learning about virtual machines with VirtualBox, and I started learning more about what servers were capable of, such as databases, clustering, virtualization, and more. This led me to start collecting more hardware to build my home lab, a small personal server setup as defined by Helder at Linux Handbook. During this time, I started and learned from many different projects, such as a Kubernetes cluster and a Minecraft server. All of these projects were built, rebuilt, broken, and fixed as I slowly figured out what I was doing and learned better practices from experience.

Migration

Most of my hardware was built using refurbished enterprise servers, which means large computers designed to be used in large enterprise environments. While this means that the computers had high processor core counts and large amounts of RAM, it also meant that they were loud and produced a large amount of heat. The room where the computers were was filled with the constant noise generated by the fans, which made anything requiring hearing difficult as the noise drowned out many softer sounds. Further, the room was constantly 10°F hotter than any other room in the house, and it approached 90°F when the machines were running a large task.

This soon became inconvenient, and I decided to move from enterprise servers to traditional desktop machines. I had enough hardware available to only need a handful more parts to get the machines working, luckily. This had the desired effect, and the servers are now nearly silent, and the room is at a normal temperature. However, the new machines had significantly fewer resources available than the old machines, and I have had to more closely monitor how many resources I am using per service so as not to overcommit what is unavailable.

Current Servers and Future Plans

Desktop computers, along with other hardware, running as servers.

Many of the lessons I learned before the migration to the new servers carried over, and much of the software setup remains the same. However, I plan to migrate some of my services from virtual machines to containers as I would like to learn more about containerization. Where virtual machines act like entire computers running inside an already existing OS, containers use the host OS to make them less resource-intensive, so this would be helpful for the restricted resources available on the machines. Further, I plan on learning more about computing clusters, which involves joining multiple computers to combine their computing power, using technologies like Kubernetes and Hadoop.