Server/Proxmox

Aus Wiki StuRa HTW Dresden
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Administration

web user interface

Browser für das web user interface

Es kann nur zu Chromium (notfalls Chrome) geraten werden. Firefox scheint nicht (ideal) geeignet zu sein.

Erreichbarkeit vom web user interface

Standardmäßig ist das web user interface per https auf Port 8006 zu erreichen.[1]

sources.list

Proxmox Version 5
in Anlehnung an Proxmox:Wiki Install Proxmox VE on Debian Stretch#Adapt your sources.list

Wahrnehmen des Fehlers (401) bei Beziehen der Quelle enterprise.proxmox.com

Für die Quelle enterprise.proxmox.com bedarf es Zugangsdaten (die entsprechend zu vergüten sind). Ohne Zugangsdaten wird der Code (für den Fehler) 401 (fehlerhafte Autorisierung) ausgeliefert.
apt update
Ign:1 http://ftp.de.debian.org/debian stretch InRelease
Hit:2 http://ftp.de.debian.org/debian stretch Release
Get:3 http://security.debian.org stretch/updates InRelease [63.0 kB]
Get:5 http://security.debian.org stretch/updates/main amd64 Packages [223 kB]
Get:6 http://security.debian.org stretch/updates/main Translation-en [92.9 kB]
Ign:7 https://enterprise.proxmox.com/debian/pve stretch InRelease
Err:8 https://enterprise.proxmox.com/debian/pve stretch Release
  401  Unauthorized
Reading package lists... Done
E: The repository 'https://enterprise.proxmox.com/debian/pve stretch Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Anzeigen des Datei mit dem Eintrag für diese Quelle

cat /etc/apt/sources.list.d/pve-enterprise.list
deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

Hinzufügen einer (vergleichbaren) alternativen Quelle ohne sich registrieren zu müssen

echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
--2017-11-10 19:04:46--  http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg
Resolving download.proxmox.com (download.proxmox.com)... 212.224.123.70, 2a01:7e0:0:424::249
Connecting to download.proxmox.com (download.proxmox.com)|212.224.123.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1181 (1.2K) [application/octet-stream]
Saving to: ‘/etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg’

/etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg        100%[================================================================================================================================>]   1.15K  --.-KB/s    in 0s      

2017-11-10 19:04:46 (219 MB/s) - ‘/etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg’ saved [1181/1181]
cat /etc/apt/sources.list.d/pve-no-subscription.list
deb http://download.proxmox.com/debian/pve stretch pve-no-subscription
mv /etc/apt/sources.list.d/pve-enterprise.list /root/
apt update
Ign:1 http://ftp.de.debian.org/debian stretch InRelease
Hit:2 http://ftp.de.debian.org/debian stretch Release                                      
Hit:3 http://security.debian.org stretch/updates InRelease                                                           
Hit:5 http://download.proxmox.com/debian/pve stretch InRelease                                                       
Reading package lists... Done          
Building dependency tree       
Reading state information... Done
10 packages can be upgraded. Run 'apt list --upgradable' to see them.
apt upgrade

ZFS

Bei Server/Proxmox gibt es keine direkte (integrierte) Verwaltung von ZFS. Es wird (größtenteils) verwendet wie alle anderen Dateisysteme. Auf der Kommandozeile geht aber alles.

Zurücksetzen der Konfiguration vom Betriebssystem auf einen vorherigen Schnappschuss von ZFS

Auch wenn es (seitens ZFS) möglich ist das Dateisystem "unter dem Arsch" vom Betriebssystem zurückzusetzen, so sei davon abgeraten, denn laufende Dienste können damit schlecht umgehen.

  • möglichst alle relevanten Dienste stoppen
    (Es ist leider unklar welche Dienste relevant sind.)
    Anzeigen lassen aller laufender Dienste
    systemctl list-units --type=service --state=running
  • zfs rollback
  • (möglichst unverzüglich) System neu starten lassen

Proxmox Storage

Proxmox Storage Content

Proxmox Storage Content Disk image

Proxmox Storage Content ISO image

Proxmox Storage Content Container template

Proxmox Storage Content VZDump backup file

Proxmox Storage Content Container

Proxmox Storage Content Snippets

Proxmox Storage Type

Proxmox Storage Type Directory

Proxmox Storage Type LVM

Proxmox Storage Type LVM-thin

Proxmox Storage Type CephFS

Proxmox Storage Type RDB

Proxmox Storage Type ZFS

Containerisierung

Für die Containerisierung bei Server/Proxmox wird LXC verwendet.

Auflisten aller bereitgestellten Container

pveam available

Bei Server/Proxmox wird nach #Container für bestimmte Betriebssysteme system (also ohne einen konkreten Zweck der Anwendung angedacht zu haben) und #Container für bestimmte Anwendungen turnkeylinux.

Containerisierung für bestimmte Betriebssysteme

Ein Server/Proxmox bietet eine Vielzahl von üblichen Varianten an Linux: http://download.proxmox.com/images/system/

pveam update
pveam available --section system
pveam download
pveam download cephfs debian-10-standard_10.5-1_amd64.tar.gz

Containerisierung für nicht bestimmte Betriebssysteme

Containerisierung für NixOS

Aktuell (2020-03) gibt es keine für Server/Proxmox angebotene Vorlage für das Betriebssystem NixOS.

Containerisierung für bestimmte Anwendungen

Containerisierung für TurnKey

Server/Proxmox bietet verschiedene (übliche) Anwendungen als Container. Dazu werden vorbereitete Container von TurnKey (wikipedia:en:TurnKey Linux Virtual Appliance Library) verwendet. (Systeme von TurnKey verwenden auch (wie Server/Proxmox selbst Debian als Grundlage (Betriebssystem.)

pveam update
pveam available --section turnkeylinux
pveam download
pveam download cephfs debian-10-turnkey-core_16.0-1_amd64.tar.gz
Containerisierung für TurnKey ab Version 16

#Containerisierung mit Debian 10

Containerisierung für TurnKey bis Version 15

Leider scheint (2020-02) für TurnKey die Möglichkeit für unprivileged LXC container nicht zu funktionieren.

Mit der Version 16, also auch dem Wechsel von Version 9 zu Version 10 bei Debian als Grundlage, scheint sich das geändert zu haben.

Containerisierung für Docker

Für den Betrieb von Instanzen mit Docker kann Server/Proxmox, neben der dazu empfohlenen Technik der #Virtualisierung, auch Container entsprechend konfigurieren. Dazu werden unprivileged LXC container erstellt und mit zusätzlichen Berechtigungen (auf das Gesamtsystem) ausgestattet, um die von Docker erforderlichen Funktionalitäten bereitstellen zu können.

  • nicht privilegierter Container
    Anscheinend kann Docker nur innerhalb von einem nicht privilegierten Container betreiben werden. (Eigentlich ist das ja sogar sehr schön, denn es erscheint schöner einen Container mit möglichst wenigen Privilegien (Berechtigungen) zu benutzen.)
  • Einschalten der Funktionalität (für Container bei Server/Proxmox) keyctl
    Um Docker innerhalb von einem Container betreiben zu können, scheint Docker jedoch den Systemaufruf keyctl zu benötigen. In einem standardmäßigen nicht privilegierten Container wird dieser aber als non-existent nicht gesehen, wodurch Docker nicht richtig funktionieren kann. Mit dem Einschalten der standardmäßigen Option keyctl für einen nicht privilegierten Container bei Server/Proxmox kann das Problem behoben werden.
  • Einschalten der Funktionalität (für Container bei Server/Proxmox) nesting
    Um Docker innerhalb von einem Container betreiben zu können, scheint Docker jedoch Zugriff auf procfs und sysfs zu benötigen. In einem standardmäßigen nicht privilegierten Container wird dieser aber nicht zugelassen (nicht bereitgestellt), wodurch Docker nicht richtig funktionieren kann. Mit dem Einschalten der standardmäßigen Option nesting für einen nicht privilegierten Container bei Server/Proxmox kann das Problem behoben werden.
#Virtualisierung als Alternative zur Containerisierung für Docker

Containerisierung mit Debian 10

Containerisierung mit Debian 10 nesting
  • Einschalten der Funktionalität (für Container bei Server/Proxmox) nesting
    Um bespielsweise MariaDB innerhalb von einem Container mit Debian 10 betreiben zu können, scheint Debian jedoch ein Problem mit AppAmor zu haben.[2] Im Übrigen ist das bei sowohl nicht privilegierten Containern als auch privilegierten Containern. Mit dem Einschalten der standardmäßigen Option nesting für einen Container bei Server/Proxmox kann das Problem behoben werden.
beispielhaftes Problem (ohne nesting)
Umgebung

Die Anwendung startet nicht.

Anzeigen vom Status (dem Problem) der Anwendung MariaDB

systemctl status mariadb.service
* mariadb.service - MariaDB 10.3.23 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2020-09-16 20:35:41 CEST; 23s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/

Sep 16 20:35:41 test-ghost systemd[1]: Starting MariaDB 10.3.23 database server...
Sep 16 20:35:41 test-ghost systemd[17751]: mariadb.service: Failed to set up mount namespacin
Sep 16 20:35:41 test-ghost systemd[17751]: mariadb.service: Failed at step NAMESPACE spawning
Sep 16 20:35:41 test-ghost systemd[1]: mariadb.service: Control process exited, code=exited, 
Sep 16 20:35:41 test-ghost systemd[1]: mariadb.service: Failed with result 'exit-code'.
Sep 16 20:35:41 test-ghost systemd[1]: Failed to start MariaDB 10.3.23 database server.

Sicherung und Wiederherstellung von Instanzen der Containerisierung

Proxmox Wiki

Sicherung von Instanzen der Containerisierung

Wiederherstellung von Instanzen der Containerisierung

Wiederherstellung von Instanzen der Containerisierung über die grafische Oberfläche
Wiederherstellung von Instanzen der Containerisierung über die Kommandozeile

Backups werden momentan (Version 5.2) in /var/lib/vz/dump gespeichert.

pct restore NEW_CONTAINER_ID CONTAINER_BACKUP

Für den Fall, dass es den vorherigen Storage nicht gibt, kann mit den Storage angeben:

pct restore NEW_CONTAINER_ID CONTAINER_BACKUP -storage STORAGENAME

Virtualisierung

Konfiguration der Virtualisierung

Benutzung der Funktionalität der Unterstützung der Hardware zur Virtualisierung

https://pve.proxmox.com/wiki/Nested_Virtualization#Enable_Nested_Hardware-assisted_Virtualization

Standardmäßig benutzt Server/Proxmox nicht die Funktionalität der Unterstützung der Hardware zur Virtualisierung. Standardmäßig ist aber die Benutzung der Funktionalität möglich, wozu die Konfiguration von Server/Proxmox einfach geändert werden kann.

Es kann Gründe für und gegen die Benutzung der Funktionalität der Unterstützung der Hardware zur Virtualisierung geben.

dagegen
  • Es ist nicht möglich eine Migration von Instanzen durch Virtualisierung im laufenden Betrieb vorzunehmen.
dafür
  • Es ist eine höhere Leistungsfähigkeit bei Instanzen durch Virtualisierung gegeben.

Virtualisierung Debian

Es sollte einen unabdingbaren Grund geben warum nicht die #Containerisierung Debian genutzt wird.

Bei der Virtualisierung von Debian ab 2020 geht es ausschließlich um Debian (Version) 10 oder was tagesaktuell gerade stable ist und tagesaktuell die Basis für Server/Proxmox ist.

Virtualisierung CentOS

Es sollte einen unabdingbaren Grund geben warum nicht die #Containerisierung CentOS genutzt wird.

Bei der Virtualisierung von CentOS ab 2020 geht es ausschließlich um CentOS (Version) 8.

Virtualisierung OpenBSD

Virtualisierung FreeBSD

Virtualisierung CoreOS

Virtualisierung RancherOS

Der Betrieb von RancherOS kommt eigentlich nur in Frage, wenn wegen Docker eine Basis virtualisiert werden muss und die Vorteile gegenüber der #Virtualisierung Debian erkennbar gemacht werden können.

Sicherung und Wiederherstellung von Instanzen der Virtualisierung

Proxmox Wiki

Sicherung von Instanzen der Virtualisierung

Wiederherstellung von Instanzen der Virtualisierung

Wiederherstellung von Instanzen der Virtualisierung über die grafische Oberfläche
Wiederherstellung von Instanzen der Virtualisierung über die Kommandozeile
qmrestore VMACHINE_BACKUP NEW_VM_ID -storage STORAGENAME

Siehe auch