Meteen naar de inhoud

Nieuwe meterkast-server

Een eerdere oude Intel NUC is recent kapot gegaan. En als IT-er kun je natuurlijk niet zonder servertje in je meterkast. Dus gauw op zoek naar een vervangend exemplaar. Via Google kom ik op een refurbished Esprimo uit:

  • Fujitsy Esprimo Q520
  • Intel Pentium G3260T (2 cores, 2.9 GHz)
  • 8GB RAM / 120 GB SSD
  • Prijs: € 79 incl. verzenden

Het belangrijkste doel is functioneren als Zabbix Proxy. Maar met 8 GB aan RAM kan dit apparaat waarschijnlijk wel iets flexibeler worden ingericht door hierop Proxmox Virtual Environment te installeren. Zelf ben ik nog onervaren met Proxmox VE, dus is dit direct een mooie oefenomgeving.

Installeren Proxmox

Vanaf proxmox.com download een ISO voor “Proxmox Virtual Environment, versie 7.3”. Door middel van Rufus schrijf ik deze opstartbaar weg op een USB-stick (in DD-mode, zie Appendix A). Ik sluit deze daarna aan op de new-to-be server en start het machientje op.

  • Welcome to Proxmox Virtual Environment: Install Proxmox VE
  • Target Harddisk: /dev/sda
  • Location and Time Zone selection:
    • Country: Netherlands
    • Time zone: Europe/Amsterdam
    • Keyboard Layout: U.S. English
  • Management Network Configuration:
    • Hostname (FQDN): srv-10.home.domain.tld
    • IP Address (CIDR): 192.168.1.5
    • Gateway: 192.168.1.1
    • DNS: 8.8.8.8

Na een paar minuutjes verdwijnt te installer, wordt ik gemaand de USB-stick los te koppelen en de machine te herstarten. Hierna verschijnt een keurig diepblauw GRUB venster met als standaardkeuze “Proxmox VE GNU/Linux”. Wanneer Proxmox VE is opgestart verschijnt een warm welkom en een beheer URL op https://192.168.1.5:8006.

Inloggen bij Proxmox VW

Op mijn werkplek open ik de genoemde beheer URL: https://192.168.1.5:8006. Het self-signed certificaat wordt uiteraard niet herkend, maar als ik die accepteer kom ik in een inlogscherm. Hier kan ik met gebruikersnaam root en het tijdens installatie opgegeven wachtwoord inloggen.

Toevoegen ISO voor AlmaLinux OS

In de Proxmox VE webinterface voeg ik de ISO toe voor AlmaLinux OS. Een geschikte URL vind ik via de mirrors website van AlmaLinux: https://mirrors.almalinux.org/isos/x86_64/9.1.html waarbij ik op zoek ga naar de dichtstbijzijnde mirror, en de meest recente x86_64 versie, in dit geval AlmaLinux OS 9.1 update 1.

Binnen Proxmox VE webinterface voer ik de volgende stappen uit:

  1. Server View, Datacenter, srv-10, local (srv-10)
  2. Selecteer Tab “ISO Images
  3. Kies knop “Download from URL
    • URL: https://mirrors.xtom.nl/almalinux/9.1/isos/x86_64/AlmaLinux-9.1-update-1-x86_64-minimal.iso
    • File name: AlmaLinux-9.1-update-1-x86_64-minimal.iso

Als alles goed is gegaan wordt na het downloaden de bestandsnaam van de ISO weergegeven in de lijst.

Aanmaken VM in Proxmox VE

De eerste VM die ik wil aanmaken is voor mijn Zabbix Proxy. Deze zal AlmaLinux OS 9 gaan draaien, en zou aan een bescheiden disk van 16 GB genoeg moeten hebben.

Create VM

  • General: Name: monprx-10.home.domain.tld
  • OS: ISO image: AlmaLinux-9.1-update-1-x86_64.iso
  • System: Alles standaard gelaten
  • Disk: SCSI, 16 GB
  • CPU: 1 socket, 2 cores, type = host.
  • Memory: 2048 MB
  • Network: Bridge vmbr0

Alle overige opties laat ik voor nu standaard staan.

Installatie AlmaLinux OS 9.1

Wanneer ik de nieuwe VM opstart wordt ik verwelkomd door de AlmaLinux installer. Deze VM zal dienst gaan doen als Zabbix Proxy. Tijdens de installatie van AlmaLinux OS ga ik voor de minimale installatie. Later zal ik de configuratie uitbreiden vanuit Ansible Playbooks.

  • Language: English, English (United States)
  • Keyboard: English (US)
  • Language Support: English (United States)
  • Time & Date: Europe/Amsterdam timezone
  • Installation Source: Closest mirror
  • Software Selection: Minimal Install + Guest Agents
  • Installation Destination:
    • Local Standard Disks: sda (16 GB)
    • Storage Configuration: Automatic
  • Network & Host name:
    • IPv4: 192.168.1.6
    • Hostname: monprx-10.home.domain.tld

Nadat deze installatie van AlmaLinux OS is voltooid start de VM opnieuw op en eindigt het in de welbekende login prompts. Ik voeg een profiel toe in mRemoteNG zodat ik de VM eenvoudig via SSH kan gaan beheren.

Toevoegen SSH-key voor verdere deployment

Voor een eerste inrichting van het systeem voor de Zabbix Proxy voeg ik de public SSH-key toe van mijn werkplek. Op die manier kan ik straks met Ansible verbinding om playbooks uit te voeren.

Hiervoor heb ik op mijn werkplek een keypair aangemaakt (standaard id_ed25519). De public key via clipboard gekopieerd naar de VM en opgeslagen in /root/.ssh/authorized_keys.

Over het algemeen is het niet een goed idee om root toegang toe te staan via SSH, maar dat is nu alleen om een eerste playbook uit te voeren. Die zal netjes een aparte management gebruiker aanmaken waarna root login niet meer nodig is.

Basisinstallatie d.m.v. common playbook

Ieder systeem wat ik installeer krijgt mijn eigen Ansible common role over zich heen. Daar installeer en configureer ik o.a. aide, arpwatch, atop, bash, bind_utils, chrony, csh, epel, git, htop, iftop, kerl, login, lynis, modprobe, ncdu, net_tools, pam, screen, ssh, strace, systemd, tcpdump, telnet, traceroute, vim en wget.

Appendix A: no device with valid ISO found

Nadat ik de eerste keer vanaf USB-stick opstart krijg ik een welkomstscherm. Ik kies voor installatie, maar dan verschijnt na een aantal timeouts de volgende foutmelding:

[ERROR] no device with valid ISO found

Kort onderzoek brengt mij op een installatiehandleiding van Proxmox waarin specifiek vermeld staat dat Rufus moet uitgevoerd worden in de DD-image-modus. Ik had daar de standaard ISO-image-modus gekozen. Nadat de DD-image-modus heb gebruikt start de Proxmox installer wel goed door.

Artikel: https://pve.proxmox.com/wiki/Prepare_Installation_Media

Appendix B: Kernel panic bij starten installatie AlmaLinux

Nadat ik de eerste keer de AlmaLinux installatiewizard opstart, klapt de installer er direct uit met de volgende melding:

Kernel panel - not syncing: Attempted to kill ini! exitcode=0x00007f00

Via een Proxmox forum kom ik op de tip de CPU binnen de VM-configuratie aan te passen naar type=host. Deze had ik eerder op de standaardwaarde kvm64 staan.