Installation
Vorbereitende Maßnahmen
Die Installation wird ohne KVM Konsole durchgeührt. Per Rescue System und QEMU kann viel schneller auf die gewünschten Festplatten installiert werden. Hierbei wird über QEMU die Console der VM über VNC gepublished.
SSH Verbindung zum gewünschten Server im Rescue aufbauen und dabei Port 5901 des Server lokal an localhost:5901 weiterleiten:
ssh -L 5901:localhost:5901 root@SERVER
Danach entweder die PVE oder die PBS ISO herunterladen:
# Proxmox Virtual Environment
curl https://enterprise.proxmox.com/iso/proxmox-ve_8.2-2.iso -o /tmp/proxmox.iso
# Proxmox Backup Server
curl https://enterprise.proxmox.com/iso/proxmox-backup-server_3.2-1.iso -o /tmp/proxmox.iso
Falls ein efi Ordner unter /sys/firmware vorhanden sind, befinden wir uns unter einem UEFI System. Das entscheidet darüber, ob wir unsere VM gleich mit Legacy oder UEFI BIOS starten.
ls /sys/firmware
Installation des Systems
Starten der VM:
UEFI
qemu-system-x86_64 -enable-kvm -smp 10 -m 40960 -boot d -cdrom /tmp/proxmox.iso -bios /usr/share/ovmf/OVMF.fd -drive file=/dev/nvme0n1,format=raw,media=disk,if=virtio -drive file=/dev/nvme1n1,format=raw,media=disk,if=virtio -vnc 127.0.0.1:1
Legacy
qemu-system-x86_64 -enable-kvm -smp 10 -m 40960 -boot d -cdrom /tmp/proxmox.iso -drive file=/dev/nvme0n1,format=raw,media=disk,if=virtio -drive file=/dev/nvme1n1,format=raw,media=disk,if=virtio -vnc 127.0.0.1:1
Die VM startet sofort und bootet in die eingehängte ISO. Wir können uns jetzt per VNC (bspw. RealVNC) mit localhost:5901 verbinden und sehen dann die Console der VM. Wir folgen der Installation des Systems und müssen nicht auf die Netzwerkkonfiguration achten da wir diese im Anschluss korrigieren.
Anpassen der Netzwerkkonfiguration
Wir starten die VM erneut ohne dabei in die ISO zu booten:
UEFI
qemu-system-x86_64 -enable-kvm -smp 10 -m 40960 -boot d -bios /usr/share/ovmf/OVMF.fd -drive file=/dev/nvme0n1,format=raw,media=disk,if=virtio -drive file=/dev/nvme1n1,format=raw,media=disk,if=virtio -vnc 127.0.0.1:1
Legacy
qemu-system-x86_64 -enable-kvm -smp 10 -m 40960 -boot d -drive file=/dev/nvme0n1,format=raw,media=disk,if=virtio -drive file=/dev/nvme1n1,format=raw,media=disk,if=virtio -vnc 127.0.0.1:1
Wir schalten uns wieder per VNC auf und melden uns mit dem in dem Installationsprozess gesetztem Passwort an. Wir müssen /etc/network/interfaces temporär umbennen und systemd-networkd nutzen um auf allen Interfaces eine per DHCP zugewiesene IP zu beziehen:
mv /etc/network/interfaces /etc/network/interfaces.saves
nano /etc/systemd/network/90-wildcard.network
# Content der Datei bis EOF
[Match]
Name=e*
[Network]
DHCP=yes
# EOF Content
systemctl enable systemd-networkd
poweroff
Der Host sollte jetzt rebooten und sich seine public IP per DHCP beziehen. Den vorherigen SSH Fingerprint sollten wir aus unserer ~/.ssh/known_hosts löschen.
Wir notieren uns unsere Interfacenamen und dessen zugewiesene IP inkl. CIDR und Gateway.
# Netzwerkadapter Namen herausfinden
ip a
# den Namen des Adapters mit der public IP merken
mv /etc/network/interfaces.save /etc/network/interfaces
nano /etc/network/interfaces
# Content der Datei bis EOF
auto lo
iface lo inet loopback
auto PUBLIC_INTERFACE
iface PUBLIC_INTERFACE inet static
address PUBLICIP/CIDR
gateway GATEWAY
auto PRIVATE_INTERFACE
iface PRIVATE_INTERFACE inet manual
auto vmbr0
iface vmbr0 inet static
address PUBLICIP/CIDR
gateway GATEWAY
bridge-ports PRIVATE_INTERFACE
bridge-stp off
bridge-fd 0
# Content EOF
rm /etc/systemd/network/90-wildcard.network
systemctl disable systemd-networkd
reboot