Home Network NAS Construction Site: Level 5

The Supreme Discipline - Mini PC with NvME and
Sata SSD, +external HDD on BareMetal ProxmoxVE

You liked Level 4 with Synology or QNAP, but you want even more flexibility, no vendor lock-in and above all a system that can be further developed with your needs? Best still freely configurable until the last bit and no restrictions what is installed on the system? Let's do it!

Welcome to Level 5: A separate hypervisor server on BareMetal. This system is based on an energy-saving, used Office Mini PC and the free Proxmox Virtual Environment (ProxmoxVE). Now in Version 9 is available.

What is the idea behind it?
Instead of relying on a proprietary NAS system, you use a mini PC
(e.g. Lenovo Tiny, HP EliteDesk Mini, Dell OptiPlex Micro), which is often already available for 80-200 €. Your discarded PC from Level3 when the budget is tight, of course, goes as well. Or do you look at them too? Proxmox forum Don't forget what others are using. Combined with a fast NVMe SSD for the system and one or more SATA SSDs + extra HDDs for your data, you have a fully fledged server platform that consumes much less power than the old PC from Level3, More than the Raspi of Level2. On these, your ProxmoxVE installs directly on the hardware (‘BareMetal’) as a hypervisor operating system.

This gives you all the freedoms: You can Almost any number Start virtual machines (VMs) or LXC containers. The magic word for this is over commitment. Simply put, not every service will always make full use of all allocated resources. It also makes it possible to set up container orchestration with Docker/Portainer or Kubernetes or even services such as Nextcloud, Home Assistant, jellyfin, PlexMediaServer, Separate WordPress and many more on individual VMs or containers. Keyword Segmentation to reduce the attack surface: A complete separation of individual services into separate containers would also be possible, or a virtual cluster of Kubernetes Pods.

Here's how it works:

Download the latest ProxmoxVE ISO from the official website:
Proxmox downloads Burn the ISO to a USB flash drive (e.g. with Rufus on Windows, the BalenaEtcher, or dd under Linux). Then connect the USB stick to the mini PC.

BIOS settings

Start the Mini PC and go to the BIOS (usually [F1], [F2] or [DEL] when booting). There you activate ‘UEFI Boot’ (Proxmox can also Legacy, but UEFI is more future-proof). Set the boot order so that the USB stick comes first. If Secure Boot is active: disable (Proxmox itself does not support Secure Boot, but the VM and LXC containers started in it already).
Then please set the boot security option ‘halt on’ to ‘no errors’, usually the default is ‘no, but Keyboard’ so that later the system can be operated without a monitor or peripherals. It's called Headless. Sometimes the option can also be found under ‘POST“ Post Errors: Disabled’ Finally, save the settings and restart.

Proxmox installation

The PC now boots from the USB stick and starts the Proxmox installer.
Select "Install Proxmox VE" and confirm the license terms (open source, only commercial support costs). Select the target drive (your NVMe SSD) on which you want to install Proxmox. Set a strong root password and your email address for system messages. Specify hostname and IP address (static or DHCP). Start the installation and wait until the end (approximately 5-10 minutes).

Initial access

After the reboot, the server displays a message on the screen about the completion of the installation with address such as:

ProxmoxVE installation completed. You can reach the web interface at the following address: https://192.168.1.100:8006

This address can now be entered in the browser to reach the Proxmox web interface (Attention: self-signed certificate, browser gives warning). Log in with the user root and the password from the installation.

Congratulations, the installation is complete. The new hypervisor does not need a monitor, keyboard or mouse, everything else is now remotely controlled via the address above.

First institution

Activate updates:
In the web interface under Datacenter → node → Updates
or via console:

apt update && apt full-upgrade

Now add local disks:

Under Datacenter → Storage You can include your SATA SSD or other drives as storage for VMs, containers, or backups.

External hard drives such as Seagate Desktop Drive or WD Elements are simply attached via USB as required. You can hunt bargains on various sites, expanding is possible at any time later.

This completes the basic configuration.

Management of the new Proxmox server

If you log in to your Proxmox server via the web interface, you will see a tree structure with your server name on the left. If you click on the server name, the menu changes in the middle: There are several options that you can use to configure and maintain the server. You can also double click on the server name so that the tree structure opens as a dropdown on the left.

Summary:
In the web console, similar to a Grafana Dashboard, you can view system information of your server live. The focus here is on CPU, RAM and storage.

Updates and upgrades:
Under the menu item ‘Update’ you can search for new updates for your server. If Proxmox finds available updates, you can install them directly with ‘Upgrade’ to keep your system up-to-date and secure.
Enterprise repositories can be conveniently deactivated there, but if you work with the free Community Edition, you will be informed every time you log in that you do not have access to the Enterprise Update options.

Certificates:
To ensure that you do not receive browser warnings about an unsafe certificate when accessing the Proxmox web interface, you can upload and install your own SSL certificates via ‘Certificates’. How to Get a Trusted Certificate from an Official Certification Authority for your LAN use to eliminate the error message. Take Let’s Encrypt, for example.
In the same Proxmox forum post is discussed above also what is needed alternatively, although a Browser of this certificate ‘officially’.

Syslog:
In the web console, you can view the syslog log of your server. The syslog contains log entries on system history and events, which helps you diagnose errors or monitor the system.

VMs and containers in Proxmox

Proxmox supports both virtual machines (VMs) and Linux containers (LXC). A big advantage: You do not need to install any additional software to use containers – this feature is directly integrated.

Upload ISO files:
To create a VM, you usually need an installation medium, i.e. ISO file the desired operating system (e.g. Windows or Linux). Upload this ISO file to the server:

To do this, click on the server name on the left, then on ‘local’ (the local storage area of your server), and use the ‘ISO images → upload’ button in the middle of the screen to transfer your ISO file from your own PC to the server. From this source, the operating system is then installed in the VM.

For an LXC container, you can either Image for the operating system Integrate installation or a template for an already finished Pre-configured service. You can upload templates in the tree structure under the name of the server by clicking on ‘local’ In addition to CT templates, ISO images can also be uploaded there and backups of the containers can be managed. The virtualization within ProxmoxVE runs over KVM. (KErnel-based Virtual Machines)

Creating a Virtual Machine

If you have successfully uploaded the ISO file, you can create a new VM: Click on "Create VM" to start the wizard. Each VM automatically gets a unique ID from Proxmox, which is not duplicated on your server.

In the assistant You choose step by step: the ISO image for the installation of the operating system, the operating system and its version (e.g. Windows 11, Windows Server 2022 or various Linux distributions), the boot system (BIOS or UEFI), as well as optional features such as TPM (e.g. required for Windows 11), the SCSI controller and other virtual hardware components.

Virtual hardware: Under ‘Storage’, you decide where the virtual hard disk of the VM is stored – usually on ‘local’. Under ‘Disks’, you set the size and type of the virtual disks. After that, you can set the CPU configuration: Number of virtual CPUs and CPU cores. Memory (RAM) is also defined here.

Starting and operating the VM

After completing all the steps in the wizard, your new VM will appear in the tree structure on the left side of the web interface. It is listed there under your ID.

Use the Start button to turn on the VM. ‘Console’ opens a window that shows you the VM screen, allowing you to install the operating system and later work with the VM as if you were sitting right in front of it.

If the VM is no longer needed, the deletion option hides at the top right under ‘more’ and also requires the manual entry of the listed unique ID to confirm the deletion process. This is to ensure that you do not accidentally delete the productive environment.

TL:DR

Summary and recommendation

Proxmox VE (Virtual Environment) is an open source platform that allows you to easily and conveniently deploy and manage both VMs and containers. The installation of the basic system is done quickly, and thanks to the web console, you can also create virtual machines with just a few clicks.

If you want to use Proxmox productively in a business environment, it is highly recommended to purchase a paid license. This not only gives you access to tested enterprise updates, but also professional support that provides quick help in case of a problem.

For the My own homelab However, you can easily use the completely free Community Edition and the associated update archives. With this setup, you have a powerful, affordable and completely flexible server solution that you can grow with your needs at will.

:mrgreen: Benefits in Level 5 (ProxmoxVE)

  • Total freedom in hardware and software
  • Scalable up to a HA/HP cluster network of VMs
  • Any conceivable service, adaptability over9000!
  • Fully configurable security (2FA/MFA/ETC)
  • User and group management with very fine permissions

⁇ Disadvantages in Level 5 (ProxmoxVE)

  • Endless possibilities seem overwhelming at first
  • Training in the options takes longer, learning curve is steep
  • Extra administrative layer below the actual services
  • Passing through hardware requires PCI passthrough / IOMMU