Marco Burmeister

  private Homepage



Virtualisierung - Proxmox - Proxmox Einrichtung nach Installation

Hier dokumentiere ich hauptsächlich für mich, was ich nach einer Installation von Proxmox anpassen muss, um damit sinnvoll arbeiten zu können.

Vielleicht hilft es auch anderen bei der Ersteinrichtung.

Die Installation von Proxmox selbst habe ich nicht dokumentiert, weil es ziemlich einfach durchzuführen ist.
Bei dieser ist nur zu beachten, dass wir eine IP Adresse in unserem Netz für den Proxmox Server reservieren und auch einen DNS Eintrag vornehmen. Ferner muss die eigene Netzkonfiguration inkl. IP Adresse des DNS Servers bekannt sein.

Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!

Die Seite ist in die folgenden Bereiche eingeteilt:




top SSH Key für OS User root

Nach der Installation haben wir den OS User root der das Passwort erhalten hat, das wir bei der Installation angegeben hatten.
Wer nun eine Anmeldung mittels SSH Key ermögliche möchte, muss sich an diesen User anmelden und in /root/.ssh/authorized_keys den gewünschten / den eigenen Public Key eintragen.

top Alias für OS User root

Bei meiner Installation habe ich den Alias ll vermisst. Deshalb habe ich in der Datei /root/.bashrc den folgenden Eintrag vorgenommen:


alias ll='ls -al'

top Fehlermeldung: Keine gültige Subscription

Nach der Installation kann im Heim-Umfeld die folgende Fehlermeldung im Proxmox angezeigt werden:


You do not have a valid subscription	

Damit diese Meldung verschwindet, habe ich den folgenden Befehl ausgeführt, nachdem ich mich als OS User root angemeldet hatte:
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

Im Anschluss wird diese Meldung nicht mehr erscheinen.

Update - dauerhafte Lösung:
Um diese Meldung dauerhaft zu unterdrücken, habe ich einen Crontab-Eintrag erstellt, der beim Boot des Proxmox-Servers ausgeführt wird und den o.a. Befehl dann ausführt. Anderenfalls wird die Meldung immer wieder kommen.
Crontab-Eintrag:
@reboot /root/scripts/unterdruecken_support_meldung.sh > /dev/null 2>&1

Das Script hat folgenden Inhalt:

(Anmerkung: ✂ = Zeilenumbruch nur in Darstellung hier)

#!/bin/sh

####  add a crontab for this script
# crontab -e
# # m h  dom mon dow   command
# 23 0 * * * /root/scripts/remove-subscription-banner.sh


# Init
if [ -f $HOME/.profile ];
then
        . $HOME/.profile
fi

# Start
echo ""
echo "Remove Subscription Banner"
echo ""

# Change
if ! fgrep -q 'void({ //Ext.Msg.show({' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; then
        echo "patching ..."
        sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

else
        echo "nothing to do"
fi
echo ""


#!/bin/sh

####  add a crontab for this script
# crontab -e
# # m h  dom mon dow   command
# 23 0 * * * /root/scripts/remove-subscription-banner.sh


# Init
if [ -f $HOME/.profile ];
then
        . $HOME/.profile
fi

# Start
echo ""
echo "Remove Subscription Banner"
echo ""

# Change
if ! fgrep -q 'void({ //Ext.Msg.show({' ✂
  /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; then
        echo "patching ..."
        sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: ✂
        gettext\('No valid sub)/void\(\{ \/\/\1/g" ✂
        /usr/share/javascript/proxmox-widget-toolkit/✂
        proxmoxlib.js ✂
        && systemctl restart pveproxy.service

else
        echo "nothing to do"
fi
echo ""
	

top Update-Server festlegen

Einführung

Hier gibt es zwei Wege. Der erste Weg wäre via Weboberfläche. Wenn das aus irgendwelchen Gründen nicht funktionieren sollte, kann das auch manuell angepasst werden.

Hintergrund der Anpassung:
Nach einer Installation von Proxmox sind zunächst die Repositories für die produktive Nutzung aktiv, die auch erfordern, dass wir für die Nutzung von Proxmox zahlen.
Wer nur im privaten Umfeld Proxmox nutzen möchte, muss deshalb auf die freien Repositories wechseln.

Weboberfläche

Der Weg ist relativ einfach.
  1. Anmelden an Proxmox Weboberfläche als Admin
  2. Wechsel zu:
    Server -> Updates -> Repositories
  3. Hier wählen wir dann:
    Für Proxmox:
    http://download.proxmox.com/debian/pve
    Für Ceph:
    http://download.proxmox.com/debian/ceph-reef
  4. Dann deaktivieren wir die Repositories:
    Für Promox:

    (Anmerkung: ✂ = Zeilenumbruch nur in Darstellung hier)
    https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
    https://enterprise.proxmox.com/debian/pve ✂
    bookworm pve-enterprise

    Für Ceph:
    https://enterprise.proxmox.com/debian/ceph-reef
  5. Fertig

Manueller Weg

Dieser Weg muss immer dann genutzt werden, wenn über die Weboberfläche die Einstellung nicht gemacht werden kann oder soll.
  1. Anmelden an Proxmox Server als OS User root via SSH
  2. Anpassung Repository für Proxmox
    Wir müssen zwei Dateien anpassen.
    In der Datei /etc/apt/sources.list.d/pve-enterprise.list kommentieren wir den Eintrag

    (Anmerkung: ✂ = Zeilenumbruch nur in Darstellung hier)
    # deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
    # deb https://enterprise.proxmox.com/debian/pve ✂
    bookworm pve-enterprise

    wie gezeigt aus.

    Nun tragen wir in der Datei /etc/apt/sources.list den folgenden Eintrag ein:

    (Anmerkung: ✂ = Zeilenumbruch nur in Darstellung hier)
    # Proxmox VE pve-no-subscription repository provided by proxmox.com,
    # NOT recommended for production use
    deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
    # Proxmox VE pve-no-subscription repository ✂
    provided by proxmox.com,
    # NOT recommended for production use
    deb http://download.proxmox.com/debian/pve ✂
    bookworm pve-no-subscription
  3. Anpassung Repository für Ceph
    Hier ist die Anpassung einfacher. Es muss in der Datei /etc/apt/sources.list.d/ceph.list der folgende Eintrag, wie gezeigt auskommentiert werden:

    (Anmerkung: ✂ = Zeilenumbruch nur in Darstellung hier)
    # deb https://enterprise.proxmox.com/debian/ceph-reef bookworm enterprise.
    # deb https://enterprise.proxmox.com ✂
    /debian/ceph-reef bookworm enterprise
    .

    Dann muss der folgende Eintrag eingetragen werden:

    (Anmerkung: ✂ = Zeilenumbruch nur in Darstellung hier)
    deb http://download.proxmox.com/debian/ceph-reef bookworm no-subscription
    deb http://download.proxmox.com/debian/ ✂
    ceph-reef bookworm no-subscription

  4. Fertig

top Proxmox aktualisieren

Einführung

Zum Aktualisieren können zwei Wege genutzt werden. Der erste Weg geht über die Weboberfläche und der andere mittels OS Kommandos.

Weboberfläche

Das Vorgehen:
  1. Anmelden an Proxmox Weboberfläche als Admin
  2. Wechsel zu:
    <Servername> -> Updates
  3. Hier gibt es die Buttons "Update" und "Upgrade"

    Das Drücken auf die Buttons führt die entsprechende Aktion aus.
  4. Fertig

OS Kommando

Hierfür ist die Anmeldung via SSH an den Proxmox Server notwendig:
  1. Anmelden an Proxmox Server als OS User root via SSH
  2. Nun können wir wählen, ob wir ein Update oder ein Upgrade ausführen möchten.
    Update
    Befehl: apt-get update
    Upgrade
    Befehl: apt-get dist-upgrade
  3. Fertig

top Optional: Internes Netzwerk festlegen

Es gibt Situationen in denen wir in unserem Home-Environment mal ein Netzwerk zwischen VMs benötigen, welches auch nur innerhalb von Proxmox genutzt wird. Das könnte für den Anforderungsfall sein, dass wir über dieses Netz unsere iSCSI Platten erreichen möchten oder es kann für Clustersysteme für die interne Kommunikation genutzt werden.

Wie richte ich denn nun ein Netzwerk ein, wenn ich nur eine Netzwerkkarte in meinem Server habe ?

Vorgehen:

  1. Anmelden an Proxmox Weboberfläche als Admin
  2. Wechsel zu: <Servername> -> Netzwerk
  3. Hier drücken wir den Button "Erstellen" und wählen die "Linux Bridge"
  4. Folgende Eingaben sind notwendig für ein IPv4 Netz:
    FeldnameWertBeschreibung
    NamevmbrXX = fortlaufende Nummer
    IPV4Netzwerk/Subnet MaskBeispiel: 192.168.55.0/24
    AutostartJACheckbox aktivieren
    Kommentar(Beschreibung)Beschreibung zur eigenen Dokumentation. Optionaler Eintrag.
  5. Nun noch den Button "Konfiguration anwenden" drücken.
  6. Fertig

top Agent in VM installieren

Der Agent ist in jeder VM zu installieren.
Um den Proxmox Agenten in einer VM zu installieren gibt es für die verschiedenen Betriebssysteme Windows und Linux unterschiedliche Wege. Die Dokumentation ist auch auf der folgenden Seite zu finden: Proxmox VM Agent installieren.

Voraussetzung ist in jedem Fall, dass das OS in der VM erfolgreich gestartet worden ist.

Linux

Für die von mir bekannten Linux Betriebssysteme:
BetriebssystemBefehl
Debian/Ubuntuapt-get install qemu-guest-agent
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent
RedHatyum install qemu-guest-agent
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent
SUSEzypper install qemu-guest-agent
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent
Danach läuft der Agent und wird auch nach einem Reboot wieder gestartet.

Windows

Im Windows-Umfeld ist es schwieriger und leichter gleichzeitig. Zunächst muss die ISO mit den virtio-serial driver heruntergeladen und in der VM als CD/DVD bereitgestellt werden. Danach kann, wie bei Windows gewohnt, die Installation ausgeführt werden.

top VM Backup einrichten

Vorüberlegungen

Um die VMs auch nach einem Ausfall wiederherstellen zu können, habe ich mir überlegt, das Backup nicht lokal auf dem Proxmox Server abzulegen, sondern ein entferntes System zu nutzen an dem eine USB Disk als Backup-Ziel angeschlossen wird.

USB Disk bereitstellen

Ein entferntes System dient hier als NFS-Server. An diesem wurde die USB Disk angeschlossen und dann ein Verzeichnis auf dieser Disk via NFS im Netz bereitgestellt.

Einrichtung im Proxmox

Nachdem die USB Disk im Netz für den Proxmox Server erreichbar ist, kann im Proxmox die Einrichtung vorgenommen werden.
  1. Anmelden an Proxmox Weboberfläche als Admin
  2. Storage für Backup einrichten:
    Wechsel zu:
    <Rechenzentrum> -> Storage
  3. Button "Hinzufügen" drücken
  4. Protokoll NFS oder SMB/CIFS auswählen (wie wurde die USB Disk freigegeben) - bei mir NFS Protokoll
  5. Danach müssen wir ausfüllen:
    FeldnameWertBeschreibung
    IDNFSBackupSprechende Bezeichnung - das ist ein Beispiel-Name
    Server<Servername>NFS-Server Hostname
    Export<Export-Pfad>NFS-Server Export-Pfad
    InhaltDisk-Image und VZDumpBeide Werte auswählen, damit wir alle Varianten dort ablegen können
  6. Storage-Einrichtung abgeschlossen

Einrichtung für jede VM

Jetzt sollte für jede VM, die gesichert werden soll, festgelegt werden, ob und wie wir das Backup durchführen.
Wir haben zwei Wege:
-1- Backup Job
-2- Manuell

Die Backup Jobs können im Bereich <Rechenzentrum> -> Backup geplant werden.
Da mein Proxmox System nicht permanent läuft und ich auch mein Backup-Ziel nicht permanent im Netz zur Verfügung stelle, habe ich den Weg über händische Backups gewählt. Das liegt auch daran, dass ich nicht immer alle VMs starte und nutze sondern nur selektiv. Für diesen Anwendungsfall gibt es bei jeder VM den Menüpunkt "Backup", der für individuelle, nicht automatisierte Backups genutzt werden kann.


top Links zum Thema


Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!
Für den Inhalt von Internet-Seiten, auf die von dieser Seite verwiesen wird, übernehme ich keine Verantwortung!