Building a Home Lab: Chapter 1

01/07/23


Good day! Welcome to my first ever blog post, the purpose of this blog will be to go through the initial installation and configuration of a home lab setup. This series will be broken up into chapters, covering a specific theme or topic pertaining to the setup. By reading and implementing each chapter you should by the end be able to have your own setup that you can build upon to your own needs. I really hope you enjoy and please feel free to give any feedback or improvements that could be made to the blog.


Hardware: (Getting the real deal?)


Before we get into choosing a virtualisation platform, we first need to acquire the hardware that the lab will run on. This can be anything from a 2U Server to your old PC that’s gathering dust in the cupboard. For my lab I am using an Asus PN-50 mini-pc, mainly for the limited space I have in my room and given the price of electricity at the time of writing. However, this little PC packs quite a punch packing a Ryzen 7 4800U CPU, in addition to supporting up to 64GB of SODIMM RAM. I have configured my mini pc to use 64 GB of RAM and added in a 1TB M.2 storage drive for faster read and write times and less noise. Other alternatives to consider would be an Intel NUC if you’re looking for a smaller form factor solution, something else to note is if you are consider using VMWare, you will need to ensure that the network card is a supported driver or has a community driver otherwise you will be unable to install the ISO.


Virtualization: (Hypervisor? Virtual Machines? Those are a few of my favourite things?)


Now you’ve got your hardware sorted out, it’s time to talk about what virtualisation solution is best for you to use. As I was unable to install VMWare ESXi onto the mini-pc I had to look for alternatives instead. Proxmox would definitely worth looking into if you are in to your open-source solutions and will be the platform that I will be building the home lab on going forward. If open-source isn’t your cup of tea it might be worth looking into something like XCP-ng or Hyper-V. VMWare ESXi is the go-to for a corporate environment so if you are following the series to learn skills for work, I would strongly recommend you use that instead.


Proxmox Setup:


To get Proxmox up and running, the first step is to download the ISO from the their website (https://www.proxmox.com/en/downloads/category/iso-images-pve) and create a bootable USB drive using Rufus or a similar tool. Once created insert the USB into the device you will be running the lab from and connect a keyboard and monitor to it. Power on and boot into using either Fn+F12 or similar key combination. Once it boots you will be greeted will an installation screen, select the option to install ‘Proxmox VE’.



After this you will need to agree to the EULA, select the storage drive that Proxmox will install from and choose the correct time and country and keyboard layout. After this set a secure passowrd and enter you’re email address you want to use to mange the Proxmox Environment. The next step is very important, you need to choose what network adapter you want to use, if you are using a PC or server it might have multiple NIC’s so ennsure that you select the right one. After that enter a static IP, Netmask and Gateway IP on the LAN you’re home lab will sit one so that you can access the virtual envrionment.



After this confirm the settings, you have inputted and Proxmox will now begin it’s installation. This process should only take five or so minuets but is dependent on your hardware.


Post Installation Configuration:


Once the installation has competed you will be greeted with a Linux command line login screen, to access the GUI open a browser on another machine by typing I the IP address of the device you assigned earlier. This will bring you to a login page, where you can use the username of ‘root’ and the password that you set earlier. Congratulation you have now installed Proxmox!


Once thing I would recommend when after completing the installation would be to login via either SSH or on the physical machine itself and run a post-installation script. This script will remove you from the enterprise repositories and add you to the beta update channel meaning you’re environment is automatically kept up to date and secure. This is done by entering the following command ‘bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"’.


In the next blog we will cover how to create your first virtual machine and a template so that you don’t have to manually go through the install process each time you deploy one. As always have a good one!