LXC Container in ProxmoX installieren
Feature: Nesting, Fuse
Im ProxmoX LXC Container LXD, Docker & SNAP installieren
Einloggen von der ProxmoX Console aus in die LXC Box:
pct enter 900
Kleine Anpassungen:
nano /etc/profile
-------------------
export LANG=de_AT.UTF-8
export LC_ALL=de_AT.UTF-8
export LC_CTYPE=de_AT.UTF-8
export LANGUAGE=de_AT.UTF-8
export edit=nano
export editor=nano
export EDITOR=/usr/bin/nano
locale-gen en_US.UTF-8; locale-gen en_GB.UTF-8; locale-gen de_AT.UTF-8; locale-gen de_DE.UTF-8; update-locale LANG=de_AT.UTF-8; dpkg-reconfigure locales
dpkg-reconfigure tzdata
apt update && apt install htop curl sudo lsb-release psmisc pwgen net-tools gnupg
apt remove --purge postfix # der cBUZZ Server ist kein MX, das erledigt die commBOX
apt install language-pack-de language-pack-de-base # Nur in einer Ubuntu Box
apt update; apt dist-upgrade; apt autoremove; apt clean
Das Ergebnis: Ein sehr schlankes Ubuntu LTS 18.04:
# Dateisystem Größe Benutzt Verf.
df -h # = rpool/data/subvol-900-disk-0 12G 495M 12G
htop # Mem < 30M von 4GB
----- lsof -i ----------------------
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 220 systemd-resolve 13u IPv4 3982194 0t0 TCP 127.0.0.53:domain (LISTEN)
sshd 245 root 3u IPv4 3985515 0t0 TCP *:ssh (LISTEN)
LXC oder LXD Container im LXC Container von ProxmoX
Wir haben jetzt drei Möglichkeiten:
1) LXC über die .deb Paketverwaltung (V3.0.3)
apt install lxc
# Vorgeschlagene Pakete:
ifupdown btrfs-tools lvm2 lxc-templates lxctl
# Die folgenden NEUEN Pakete werden installiert:
bridge-utils dns-root-data dnsmasq-base liblxc-common liblxc1 libpam-cgfs lxc lxc-utils lxcfs uidmap
0 aktualisiert, 10 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 5MB Plattenplatz zusätzlich benutzt.
Auch nach der Installation von LXC Version 3.0.3 haben wir ein sauberes und sehr schlankes System:
lxc-info --version # ... zeigt uns 3.0.3
lxc-create -t download -n commBOX # Wir wählen dann ein Ubuntu Bionic LTS 18.04 amd64
lxc-start -n commBOX
lxc-ls -f
NAME STATE AUTOSTART GROUPS IPV4 IPV6 UNPRIVILEGED
commBOX RUNNING 0 - 10.0.3.10 - false
du -sh /var/lib/lxc/commBOX # 271M /var/lib/lxc/commBOX
lxc-attach commBOX # In die commBOX gehen und anpassen :-)
Anmerkung htop oder top zeigt mir jetzt nicht mehr die auf die commBOX begrenzten Werte, sondern den gesamten Arbeitsspeicher des Systems!
lxc-destroy -n commBOX
apt purge lxc*
Die folgenden Pakete werden ENTFERNT: lxc* lxc-utils* lxcfs*
dabei sind /var/cache/lxc und das Verzeichnis »/etc/lxc« nicht leer (mit rm löschen) ...
apt update; apt dist-upgrade; apt autoremove; apt clean
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt: bridge-utils dns-root-data dnsmasq-base liblxc-common liblxc1 libpam-cgfs uidmap
Bevor wir lxd testen, haben wir wieder unsere schlanke Ausgangslage:
df -h # pool/data/subvol-900-disk-0 12G 539M 12G 5% /
htop # Mem < 39M von 4GB
----- lsof -i ----------------------
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 220 systemd-resolve 13u IPv4 3982194 0t0 TCP 127.0.0.53:domain (LISTEN)
sshd 245 root 3u IPv4 3985515 0t0 TCP *:ssh (LISTEN)
2) LXD über die .deb Paketverwaltung (V3.0.3)
apt install lxd
Vorgeschlagene Pakete:
criu lxd-tools
Die folgenden NEUEN Pakete werden installiert:
acl dns-root-data dnsmasq-base ebtables liblxc-common liblxc1 liblzo2-2 libuv1 lxcfs lxd lxd-client squashfs-tools uidmap xdelta3
0 aktualisiert, 14 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 37MB Plattenplatz zusätzlich benutzt.
lxd init
LXD ist jetzt installiert und initialisiert und bleibt noch schlank:
# Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
df -h # rpool/data/subvol-900-disk-0 12G 1,3G 11G 11% /
du -sh /var/lib/lxd/ # 735M
du -sh /var/lib/lxd/containers/commBOX/ # 557M
lsof -i
---------------------------------
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 3945 systemd-resolve 13u IPv4 4659206 0t0 TCP 127.0.0.53:domain (LISTEN)
sshd 11533 root 3u IPv4 4869944 0t0 TCP *:ssh (LISTEN)
lxd 16435 root 21u IPv6 8889918 0t0 TCP *:8443 (LISTEN)
dnsmasq 16538 lxd 4u IPv4 8900776 0t0 UDP *:bootps
dnsmasq 16538 lxd 9u IPv4 8900782 0t0 TCP 10.82.23.1:domain (LISTEN)
lxc launch ubuntu:18.04 commBOX
lxc list
lxc exec commBOX bash
lxc --version # zeigt und die Version 3.0.3
Anmerkung, alles bleibt sehr schlank, aber htop oder top zeigt uns wieder nicht die auf die commBOX begrenzten Werte, sondern den gesamten Arbeitsspeicher des Systems! LXD über .deb ist aktuell wohl die beste Lösung, wenn alles sehr schlank bleiben soll. Das ist eine gute Ausgangslage für mail-in-a-box …
curl -s https://mailinabox.email/setup.sh | sudo bash
lxc stop commBOX; lxc delete commBOX
apt purge lxd*; apt autoremove
df -h
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
rpool/data/subvol-900-disk-0 12G 494M 12G 5% /
Okay, wir sind wieder zurück bei unserer schlanken Ausgangslage.