Debian PVE: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 43: Zeile 43:
mit user=root und password=root_pwd anmelden
mit user=root und password=root_pwd anmelden


==LXC-Container importieren==
==LXC-Container anlege==
Für den Import des aktuellenn LXC-Containers '''''debian''''' wird ein Tar-Archiv angelegt ('''''my_debian_template'''''), das als template für PVE fungiert. Anschließend wird ein neuer LXC-Container in PVE auf Basis des Templates erstellt
Export:
LXC-Container stoppen
lxc-stop -n '''''debian'''''
ins Filesystem des Containers '''''debian''''' wechseln, und ein tar-archiv anzulegen:
cd /var/lib/lxc/'''''debian'''''
tar -czvf /var/lib/vz/template/cache/'''''my_debian_template'''.tar.gz ./
Import:
* PVE Webpage im Browser öffnen
* PVE Webpage im Browser öffnen
* '''''Create CT'''' (Create Container) anklicken
* '''''Create CT''''' (Create Container) anklicken
* Unter '''General''' folgende Eingaben vornehmen:
* Unter '''General''' folgende Eingaben vornehmen:
** eine beliebige ID (z.B. letzte Stelle der IP-Adresse) unter '''CT ID'''
** eine beliebige ID (z.B. letzte Stelle der IP-Adresse) unter '''CT ID'''
** Hostname vergeben, z.B. '''''debian'''''
** Hostname vergeben, z.B. '''''debianpve'''''
** '''''Passwor''''' für den root-User eingeben und unter '''''Confirm Password''''' wiederholen
** '''''Password''''' für den root-User eingeben und unter '''''Confirm Password''''' wiederholen
** '''''Priviledged Container''''' je nach Bedarf
** '''''Priviledged Container''''' je nach Bedarf
* Unter '''Template''' das eben angelegte Template auswählen
* Unter '''Template''' das gewünschte Template auswählen (evtl. erst downloaden, oder selbst anlegen siehe unten)
* Im Bereich '''Root Disk''' die maximal zugeteilte Festplattengröße vergeben. Auf der Festplatte belegt der Container lediglich soviel Platz, wie die Files belegen, maximal jedoch die angegebene Größe. Die Größe kann auch im Nachgang noch erhöht werden
* Im Bereich '''Root Disk''' die maximal zugeteilte Festplattengröße vergeben. Auf der Festplatte belegt der Container lediglich soviel Platz, wie die Files belegen, maximal jedoch die angegebene Größe. Die Größe kann auch im Nachgang noch erhöht werden
* Im Bereich '''CPU''' die Anzahl der CPU Kerne vorgeben
* Im Bereich '''CPU''' die Anzahl der CPU Kerne vorgeben
Zeile 73: Zeile 65:
* Falls alle Eingaben den Wünschen entsprechen, mittels Button '''Finish''' bestätigen
* Falls alle Eingaben den Wünschen entsprechen, mittels Button '''Finish''' bestätigen
Nach dem Anlegen des Containers erscheint dieser in der Auflistung und kann gestartet werden.
Nach dem Anlegen des Containers erscheint dieser in der Auflistung und kann gestartet werden.
==LXC-Container importieren==
Für den Import des aktuellenn LXC-Containers '''''debian_old''''' wird ein Tar-Archiv angelegt ('''''my_debian_template'''''), das als template für PVE fungiert. Anschließend wird ein neuer LXC-Container in PVE auf Basis des Templates erstellt
Export:
LXC-Container stoppen
lxc-stop -n '''''debian_old'''''
ins Filesystem des Containers '''''debian_old''''' wechseln, und ein tar-archiv anzulegen:
cd /var/lib/lxc/'''''debian_old'''''
tar -czvf /var/lib/vz/template/cache/'''''my_debian_template'''.tar.gz ./
Import:
Wie unter LXC-Container anlegen beschrieben eben erstelltes Template '''''my_debian_template'''''.tar.gz verwenden
==LXC-Template erstellen==
beim Import wurde bereits eine Möglichkeit beschrieben, wie ein Template angelegt werden kann. Diese Möglichkeit übernimmt aber auch viele Dinge mit ins Template, die zum kreeiren eines generellen Templates, aus dem mehrere LXC-Container generiert werden können/sollen nicht erwünscht sein kann. Ein derartiges Template enthält z.B. die komplette Bash-History usw. Fürs transferieren/import in PVE ist dies dagegen durchaus wünschenswert.
Vorgehensweise:
* Container mit allen Updates und gewünschten Debian Paketen und Einstellungen erstellen
* Als User root am laufenden Container anmelden (SSH/Console in PVE)
apt-get clean
apt-get autoclean
apt-get autoremove
rm /etc/hostname
rm /etc/resolv.conf
rm /root/.bash_history
* Container stoppen
* Netzwerk Interfaces entfernen
* Backup anfertigen mit den Einstellungen '''''Mode'''''=Stop und '''''Compressionn'''''=GZip
* auf dem PVE Host in den Backup-Ordnner (default: /var/lib/vz/dump/) wechseln
cd /var/lib/vz/dump/
* Erstelltes Backup in den Template Ordner verschieben
mv '''''backup'''''.tar.gz /var/lib/vz/template/cache/'''''template'''''.tar.gz

Version vom 13. Juni 2020, 06:26 Uhr

Introduction

Proxmox Virtual Environment (PVE) basiert auf Debian und bringt einen eigenen Kernel mit. PVE erlaubt die Konfiguration des Hosts und der Gäste im Webbrowser auf sehr komfortable Art und Weise. Es können LXC und KVM Gäste verwaltet werden. Es gibt Templates zum Download und eigene Templates können selbst angelegt werden auf der Basis von bereits vorhandenen LXC-Containern. Bereits existente LXC-Container werden leider nicht direkt von PVE verwaltet, laufen aber weiterhin. Dennoch sollten die Container in Proxmox importiert werden, um von allen PVE Vorteilen zu profitieren. Jedem Container kann z.B. die max. Anzahl von CPU-Kernen, max. RAM und Festplattenplatz zugewiesen werden. PVE verwedet IDs (im Gegensatz zu LXC) für LXC und KVM Gäste, zeigt aber dennoch einen Namen/Bezeichner an. Es können priviledged und unpriviledged Container angelegt werden (Unterschied siehe im Internet). Es können PVE Cluster angelegt werden und die Gäste zwischen den einzelnen Hosts migriert werden. Alles im Webbrowser. PVE kann direkt mittels einer ISO-Datei installiert werden. Es kann aber auch auf einem bereits laufenden Debian Buster Host installiert werden. Hier wird lediglich die 2. Methode beschrieben.

Host vorbereiten

Hosts Eintrag in /etc/hosts

vi /etc/hosts

Es muss ein Eintrag mit der IP-Adresse vorhanden sein. Defaultmäßig verwendet Debian einen Eintrag in der Form:

127.0.1.1 hostname.localdomain hostname

Diesen Eintrag abändern:

192.168.x.y hostname.localdomain hostname

Prüfen:

hostname --ip-address

Ausgabe sollte sein

192.168.x.y 


Installation

Proxmox Repository hinzufügen:

echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

Repository Key:

wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
chmod +r /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg  # optional, if you have a non-default umask

Apt auf aktuellen Stand bringen:

apt-get update
apt-get upgrade

Installation der Proxmox Pakete:

apt-get install proxmox-ve postfix open-iscsi

os-prober entfernen

apt-get remove os-prober

Debian Kernel entfernen

Nachdem Proxmox einen eigenen Kernel (aktuell: 5.4) verwendet, können die "alten" Debian Kernel entfernt werden:

apt-get remove linux-image-amd64 'linux-image-4.19*'

Grub Bootloader aktualisieren:

update-grub

Proxmox Webpage aufrufen

Die Proxmox PVE Webseite ist auf Port 8006 erreichbar im Webbrowser http://IP-PVE:8006 mit user=root und password=root_pwd anmelden

LXC-Container anlege

  • PVE Webpage im Browser öffnen
  • Create CT (Create Container) anklicken
  • Unter General folgende Eingaben vornehmen:
    • eine beliebige ID (z.B. letzte Stelle der IP-Adresse) unter CT ID
    • Hostname vergeben, z.B. debianpve
    • Password für den root-User eingeben und unter Confirm Password wiederholen
    • Priviledged Container je nach Bedarf
  • Unter Template das gewünschte Template auswählen (evtl. erst downloaden, oder selbst anlegen siehe unten)
  • Im Bereich Root Disk die maximal zugeteilte Festplattengröße vergeben. Auf der Festplatte belegt der Container lediglich soviel Platz, wie die Files belegen, maximal jedoch die angegebene Größe. Die Größe kann auch im Nachgang noch erhöht werden
  • Im Bereich CPU die Anzahl der CPU Kerne vorgeben
  • Im Bereich Memory den maximal zur Verfügung Speicher zuteilen. Identische Hinweise wie bei Root Disk gelten auch hier.
  • Im Bereich Network
    • Name': Name des ehternet device im Container
    • MAC Adress vorgeben, oder leer lassen, um diese automatisch zu vergeben
    • IPV4 static oder DHCP
      • bei statisch: IPV4/CIDR: fixed Ip-Adresse vorgeben
      • bei statisch: Gateway: IP-Adresse des Routers
  • im Bereich DNS evtl. lokale DNS-Domain vergeben
  • Unter Confirm ist eine Zusammenfassung wichtiger Settings aufgeführt.
  • Falls alle Eingaben den Wünschen entsprechen, mittels Button Finish bestätigen

Nach dem Anlegen des Containers erscheint dieser in der Auflistung und kann gestartet werden.


LXC-Container importieren

Für den Import des aktuellenn LXC-Containers debian_old wird ein Tar-Archiv angelegt (my_debian_template), das als template für PVE fungiert. Anschließend wird ein neuer LXC-Container in PVE auf Basis des Templates erstellt Export: LXC-Container stoppen

lxc-stop -n debian_old

ins Filesystem des Containers debian_old wechseln, und ein tar-archiv anzulegen:

cd /var/lib/lxc/debian_old
tar -czvf /var/lib/vz/template/cache/my_debian_template.tar.gz ./

Import: Wie unter LXC-Container anlegen beschrieben eben erstelltes Template my_debian_template.tar.gz verwenden

LXC-Template erstellen

beim Import wurde bereits eine Möglichkeit beschrieben, wie ein Template angelegt werden kann. Diese Möglichkeit übernimmt aber auch viele Dinge mit ins Template, die zum kreeiren eines generellen Templates, aus dem mehrere LXC-Container generiert werden können/sollen nicht erwünscht sein kann. Ein derartiges Template enthält z.B. die komplette Bash-History usw. Fürs transferieren/import in PVE ist dies dagegen durchaus wünschenswert.

Vorgehensweise:

  • Container mit allen Updates und gewünschten Debian Paketen und Einstellungen erstellen
  • Als User root am laufenden Container anmelden (SSH/Console in PVE)
apt-get clean
apt-get autoclean
apt-get autoremove
rm /etc/hostname
rm /etc/resolv.conf
rm /root/.bash_history
  • Container stoppen
  • Netzwerk Interfaces entfernen
  • Backup anfertigen mit den Einstellungen Mode=Stop und Compressionn=GZip
  • auf dem PVE Host in den Backup-Ordnner (default: /var/lib/vz/dump/) wechseln
cd /var/lib/vz/dump/
  • Erstelltes Backup in den Template Ordner verschieben
mv backup.tar.gz /var/lib/vz/template/cache/template.tar.gz