Why you should have a homelab
In 1998 my friend Meredith gave me a RedHat Linux CD. I spent hours every day experimenting with Linux - I loved it. 2 years later I find myself in a room with 30 other students at a university who are applying for the same job as a computer lab technician - I think my chances are slim. Halfway through the mass interview, a man comes forward and asks if anyone has ever used Linux. I raise my hand - I'm the only one. He pulls me out of the interview for the lab assistant job and introduces me to the department head. You invited me to lunch. At the end of the day I had my first job as a sysadmin.
Learn things on your own and it will expand your possibilities.
One of the best ways to learn about systems, applications, and technologies is to set up a home lab. A home lab can offer you a fun, stress-free, and hands-on way to learn technology. A home lab will also help you find the technical areas that interest you. It is also convenient in that you can use it for your own home maintenance.
What is a home lab?
A homelab is an environment in your home where you can experiment safely.
It's a place outside of the corporate environment for personal projects, growth and a fun hobby. While not all Homelab projects result in professional development, many do.
The homelab environment for most technologists includes one or more servers running a virtualization environment and a storage solution to support various virtual servers providing services. Special home labs can also be built (e.g., a budding network engineer can build a home lab out of Cisco networking equipment).
Here are 7 ideas for your homelab
The most important device will be your router. I started with consumer routers that I flashed to DD-WRT/Tomato, then switched topfSense, DieUnifi Security Gateway, and now use aUnifi Dream Machine Pro. Here is my contribution tobester Gigabit-Router/Firewalls. Routers are great for learning about DHCP, DNS, VPN, firewalls, etc. I advise against using the router provided by your ISP, they are usually not very powerful and often not secure. In most cases, you can purchase a DSL or cable modem in place of the ISP-supplied modem along with the router. Another inexpensive physical router I would recommend is thisUbiquiti EdgeRouter X. Ubiquiti offers free software updates (their model is you buy the hardware and the software is free), and you get a handful of advanced features - it's a very capable business-class router and way better than your typical consumer router - to step up from Ubiquiti you would gopfSense, OPNSense, Juniper or Cisco.
The main reason I started my homelab was for storage. I took a lot of family photos and videos and wanted to save them. I know cloud services exist, but back then they were expensive, and then you kind of trust that provider won't delete all your photos or get bought out and shut down by a bigger company.
Then I started using themfree version of VMware ESXi. I needed faster storage with more IOPS. One of the best Homelab storage solutions isZFS. ZFS takes the best filesystems and the best of RAID and combines them into a software-defined storage solution that I've seen no hardware technology that compares to. Two popular free ZFS appliances that I like areNapp-It(based on OmniOS) andFreeNAS(now called TrueNAS).
I am currently using TrueNAS Core, iX System's free, open-source version of TrueNAS Enterprise, which is used by organizations of all sizes - from small businesses with a few TB of storage to large government agencies with PB storage. TrueNAS has done a great job of technology convergence. It's both aNAS and a SANSo you can try both storage approaches (I prefer NAS because it makes better use of ZFS, but many prefer to use SAN, and both have advantages and disadvantages), it also has many built-in storage protocols: FTP, iSCSI, NFS, Rsync server , S3 emulator, SMB (windows file server), TFTP, WebDav, it can join AD, it can even be an AD DC (if you like living on the edge), it has a built-in hypervisor (bhyve). Run VMs for anything you want. This is now marketed as hyper-converged storage. All of this is completely free. You can build your own or buy a small 4, 5, or 7 bay hot-swap systemTrueNAS Miniby iXSystems.
A few years after I learned ZFS for the home, my employer was looking for a new storage solution, so having that knowledge and experience helped. I found that one vendor with a traditional RAID solution was not properly addressing the RAID 5 write hole issue.
Virtualization allows you to run multiple virtual servers on the same hardware. There are two popular options for homelabs. Proxmox VE or VMware ESXi. I wrote about itProxmox vs. ESXiwhere I go into more detail. VMware ESXi is the king of the SMB hypervisor market, and VMware offers itsHypervisor free. The free version of ESXi is just like the paid versions, except that you cannot use some features (mostly related to high availability and failover with multiple servers). But you can learn most concepts and features from VMware. I'm looking at a hypervisor base infrastructure. From there, you can learn about other things like networking and storage, and play with any operating system or Linux distro you want.
Knowledge of VMware ESXi is an advantage, I have implemented it for several companies and one of my previous employers. And knowing how it works means I can intelligently discuss the VMware stack with the ops team.
see myFreeNAS on VMware guideif you are interested in running a FreeNAS virtual server in VMware.
Proxmox VEis another popular hypervisor – I run it in my home lab. For a free virtualization solution, you can't beat Proxmox. It offers you free high availability, Ceph storage clustering and live migration, which are paid features for VMware ESXi. I prefer Proxmox. But if you're on the fence and trying to learn for your career, stick with VMware. You won't find too many companies using Proxmox compared to VMware.
A home lab without proper networking will not get you very far. Luckily, if you use VMware, you can leverage it to use virtual network switches. For physical switches, I like the Unifi line of products. They're simple enough for a non-network engineer like me. Everything can be configured via the GUI. Unifi gives you managed switches, centralized management (with the Unifi controller), VLANs and PoE (Power over Ethernet), port trunking, port mirroring, redundant paths with spanning tree, etc.
I started with this little oneUniFi 8-Port-Switch (4 sind PoE-Ports). I also added oneUniFi 24-Port-SwitchThis allowed me to learn how to set up a LAG and configure VLANs across multiple switches (which was easy with the Unifi interface). I also like Unifi's philosophy - they sell you the hardware but the software is free - which means you don't pay for maintenance or support, you still get free updates. In a home lab, you might not need to freak out about VLANs, but it can make sense to separate your main network from your IoT devices.
Learning how to set up VLAN tagging and link aggregation and understanding how networks work will help me communicate better with the network engineers when discussing design and deployment options - they might be using Juniper or Cisco equipment, but I know the concepts of their work.
5. Wireless Access Points
A robust wireless setup is also a necessity for a homelab. If you have a large house, you need to set up multiple APs and make sure they can hand off connections. i use thisUniFi 6-LR, which offers Gigabit wireless. These are managed by the same Unifi controller as the switches. I tried them first because I read that Linus Torvalds uses Unifi APs and they seem to be highly rated by tech pros - and now I don't think I would go back to anything else.
I wrote more about itUnifi gear here.
6. Network Monitoring
It's difficult to maintain a reliable network and application stack without monitoring for failures. There are hundreds of network monitoring solutions out there and it really depends on your needs. The most common solution isNagios. I had this at my home lab. Nowadays I useZabbixbecause it's simple and integrates with Ansible. Setting up centralized network monitoring can be a lot of work. One of the easiest to set up and most beneficial alternatives to centralized monitoring isnetwork data.
7. Infrastructure Automation
Automating your infrastructure might not make as much sense in a small homelab, but it makes sense to automate every task that you perform repeatedly, or a manual task that could be automated. For me, that was installing updates, provisioning servers, and renewing SSL certificates with Let's Encrypt. To manage this I useAnsibleThis is one of the most well thought out infrastructure automation tools I've seen. Ansible can manage Linux and Windows servers. Automating the learning infrastructure, especially if you do this with version control and CI/CD tools such asAzure-DevOps(You can get a free account for up to 5 users with unlimited private repositories) is a great thing to learn for your career if you are interested in the DevOps world. The book,Ansible for DevOpsby Jeff Geerling helped me get started. I suggest buying the eBook as he is known to provide updates to the book (not sure if he will continue to provide updates but just in case).
At work, we fully automated the deployment of Linux servers with Ansible - infrastructure as code. It took a month to invest, but it has really paid off as developers can now deploy VMware VMs however they want with Ansible by making a git pull request, our entire server fleet is updated automatically, and our servers and configurations are all consistent are. This replaced an old process of waiting several weeks for a VM to be provisioned and configured by hand.
Depending on your budget and what you want in your homelab, you can use a repurposed desktop or you can put something as small as a Raspberry Pi on a rackmount server. You could get a rack of servers. I like the small microserver form factor. They are quiet, can be equipped with a powerful CPU, tons of RAM and plenty of storage space. But they are compact enough to hide under your desk.
Here are some options:
- DIY Supermicro Minitower.You are small and powerful. Essentially a data center in a box. I have guides to create these based on thatIntel Xeon D, and theAMD EPYC. These can be built with lots of CPU and memory and with 4 storage bays, making them suitable for VMware ESXi, Proxmox VE or TrueNAS/FreeNAS. One feature I like about these is that they have IPMI/KVM over IP so you never need to connect a monitor or mouse. My homelab is equipped with 3 of these servers.
- HP Microserver.If you'd rather not build it yourself, theHP MicroServer(Amazon) Series has a good selection of servers to choose from. I've seen people call their HP Microservers "Tardis" because they're so small for what they can do.
- Raspberry Pi. Das CanaKit Raspberry Pi 4 4 GB Starter Kit(Amazon) would be a good start if you are on a budget and don't need a lot of processing power or need it in a small or remote location.
- Rack-Server.If you're looking for rack mount servers (just to warn you the fans are loud) you can find good deals on eBay for used or non-leased servers or buddy your employer will get rid of one.
- Domain. Buy a domain for your homelab, even if you only use it internally. With a domain, you can get SSL certificates and not access devices over IP. I useFavorable nameAndCloud flareas a domain registrar and external DNS hosting.
- VPN. Set up a VPN so you can remotely access your Homelab. OpenVPN, Wireguard or ZeroTier.
- DNS filtering. Essential as the first line of defense to protect you and your family from malicious and inappropriate websites. See my post onDNS filtering.
- Dynamic DNS service– Your ISP probably gives you a dynamic IP. You can keep DNS up to date with your current IP, allowing you to access your VPN and servers remotely by hostname.DNS-O-Maticcan keep multiple DNS providers up to date.
- Passwortmanager– You should track your passwords with something like KeePass or LastPass.
- fuses– You want to make sure everything important is backed up externally with some cadence.
- version control– If you use an infrastructure management tool like Ansible or even need a place to store scripts, I suggest using a service like GitHub, GitLab or Azure DevOps to store everything.
Bonus homelab application server (vm or container) ideas...
- Minecraft Server- popular java game - it's like playing with Legos and a great way to get your friends together for some casual games.
- Mumble-Server– one of the best voice protocols for communication in the game.
- Emby Media Server- Anyone who has kids knows that those flimsy Blu-ray drives won't last long. It's great for storing and hosting movies, home videos, images and audio.
- Asterix PBX-Server– VoIP phone server (use Twilio or Flowroute for SIP trunking). Polycom makes great VoIP phones. With Twilio SIP Trunking, you can have a real landline number with E911 capability for a few dollars a month—and if you have multiple phones, you can use them as an intercom.
- Webserver- Start a blog! – I am hosting this blog from a server at my house. Nowadays, you can also use a service like Cloudflare to act as a CDN, which really reduces your bandwidth usage. Hosting your own blog is a great learning experience and gives you a place to log your Homelab experiments and share solutions to problems.If you blog about your homelab, please leave a link below in the comments.
- Automatic ripping machine- Upload all your Blu-Rays, DVDs and CDs to your Emby server
- backup server- I use FreeNAS/TrueNAS cloud sync tasks to back up my data from remote locations to home and from home to the cloud.
- pi hole.DNS server that can block ads for your entire network.
- Storj Node – Earn cryptocurrency by renting out your spare storage.
- BitcoinLightning-Knoten- Process bitcoin transactions for a fee.
There are many more areas than I've listed, but I think the above is a good starting point. Pick one area at a time - my homelab has been built up over many years - I often upgrade an area after a piece of equipment has failed or I need to replace it for some other reason - this is a great time to research.
If you're not sure where to start, choose the area that you like the most. For areas that don't interest you, the best you can do is do something different - you probably won't be good at something you don't enjoy. Of course, a home lab does not replace practical experience. But it does provide an environment to learn, experiment and improve your skills - and the great thing is that since it's your own lab, you can learn things that interest you.
I think that's the biggest advantage of a homelab. For me it's a playground. It is a place to put the love of learning into practice. It's a place of freedom. Nobody else dictates what you do here. It's a place where you can have fun while improving your skills.
Do you see a man skillful in his work?
He will stand before kings;
he will not stand before dark men. – Proverbs 22:29 NIV
Why should I have a Homelab? ›
It allows you to learn and do things on your own. With a little patience, you could create projects that would otherwise cost a lot if you to professional services. For example, a CCTV setup. A homelab is also essential if you are privacy cautious and don't trust cloud services to back up their data.What servers are used for Homelab? ›
As far as full-fledged servers go, some good options are Dell, HP, Cisco, and Lenovo. For home labs, these are often best purchased used from Craigslist or eBay.What do you do with a Homelab Reddit? ›
- Self hosting - Host popular services on your own hardware. ...
- Game servers - Host a Minecraft server to play privately with friends or because you enjoy playing god.
- Media servers - Multi-room streaming or a centralised location for your music and movies. ...
- Storage - Archives, backups, centralised storage.
A Homelab, as the name implies, is an environment in your home that is used to practice and improve your skills in a specific field. This home lab has components and tools similar to large-scale infrastructures. It's a safe environment to work with these components and learn how they work.Why you need a lab? ›
One of the most common reasons that people require further lab testing is to diagnose or rule out illnesses, diseases, and disorders. These tests are often done when a physician has reason to believe that the patient may have indications or symptoms of a particular disease.
- Cisco. Licensing. Switches. Routers.
- Servers. PC / Laptop. Decommissioned Servers. Remote Management. Intel NUC. Raspberry Pi. CPU and Memory requirements.
- Console / Terminal Server.
- Power Distribution Unit (PDU)
- Topology. Physical. Logical. Cabling.
- Server Rack.
Working alone in any laboratory creates increased risk to the health and safety of laboratory personnel. Such risks include not having access to basic first aid and the possibility of being unable to summon emergency assistance.How do I run a server room? ›
- Step 1: Determine the appropriate room size. ...
- Step 2: Set up hardware for storage. ...
- Step 3: Keep the room cool. ...
- Step 4: Make space for cables. ...
- Step 5: Develop security procedures. ...
- Step 6: Allow for monitoring.
1. Google (2.5 million servers). 2. Microsoft (1 million products).Which server is best for game hosting? ›
The dedicated servers of OVHcloud deliver the best performance and stability tailored for online gaming. OVHcloud offers game servers for multiple games and software programs such as Mumble, TeamSpeak, Counter-Strike, Rust, Minecraft, Ark, Arma, Garry's Mod, L4D2, and Team Fortress.
How do I run a virtual lab? ›
1) Firstly, go to the Web Console, login and click on Virtual Labs. 2) Click on 'Create Virtual Lab' in the top-right corner of the page and select the name of a Virtual Lab Policy from the Virtual Lab Template list, then click Next. One will not see this box if they just have one VM lab template available.Do you keep lab windows open? ›
Doors should open in the direction of egress. Laboratories should not have operable windows, particularly if there are chemical hoods or other local ventilation systems in the lab.Why is safety important in the lab work or at home? ›
The importance of laboratory safety cannot be overstated. In addition to the risk of accidents and injuries, laboratories also pose a risk to the wider community, as hazardous substances and waste products can be released into the environment if proper safety measures are not in place.Why are living labs important? ›
They focus on co-creation, rapid prototyping & testing and scaling-up innovations & businesses, providing (different types of) joint-value to the involved stakeholders. In this context, living labs operate as intermediaries/orchestrators among citizens, research organisations, companies and government agencies/levels.Should I get a lab test? ›
Regular blood testing is one of the most important ways to keep track of your overall physical well-being. Getting tested at routine intervals can allow you to see the way your body changes over time and empower you to make informed decisions about your health.What are the 7 lab safety rules? ›
- Know locations of laboratory safety showers, eyewash stations, and fire extinguishers. ...
- Know emergency exit routes.
- Avoid skin and eye contact with chemicals.
- Minimize all chemical exposures.
- No horseplay will be tolerated.
- Assume that all chemicals of unknown toxicity are highly toxic.
- Follow the instructions. ...
- Keep snacks out of the lab. ...
- Don't sniff the chemicals. ...
- Dispose of waste properly. ...
- Identify safety equipment. ...
- Think safety first. ...
- Dress for the lab. ...
- Don't play the mad scientist.
A lab report is broken down into eight sections: title, abstract, introduction, methods and materials, results, discussion, conclusion, and references.How do I choose a lab? ›
- See quality control tests. Expect the lab to report the results of quality-control tests, such as blank, standard, and duplicate samples, at no extra cost. ...
- Know that they meet holding-time requirements. ...
- They must manage dangerous waste properly.
We have seen in our region that lab construction costs can range from a low of $350 up to $1325 per square foot. Unfortunately, there is no one formula, and each lab use and building needs to be evaluated individually. Understanding your client's processes and requirements is a critical first step in lab pricing.
What are the best uses for a home server? ›
Some of the most popular uses for home servers include file storage and sharing, backing up important files, running home automation software, streaming movies, and TV shows, hosting a website or blog, and much more. - Centralized file storage and sharing solution for your home network.How to build a home lab for CCNA? ›
- Step 1: Marshal the Networking Equipment Needed. ...
- Step 2: Marshal the Compute Equipment Needed (Optional) ...
- Step 3: Putting the Physical Equipment Together. ...
- Step 4: Adding the Compute Hardware. ...
- Step 5: Decide on a Network Design to Build. ...
- Step 6: Get the Needed Software. ...
- Step 7: Configure the Network Hardware.
- Create a VM. To get started, we'll install Windows Server 2019 OS inside a Virtual machine. ...
- Change the hostname. ...
- Assign an IP address to the host. ...
- Add required Roles. ...
- Promoting the Server to a Domain Controller. ...
- Add a new forest. ...
- Reboot. ...
- Command Line.
A server is a computer program or device that provides a service to another computer program and its user, also known as the client. In a data center, the physical computer that a server program runs on is also frequently referred to as a server.