it-wiki:proxmox:lxccontainer
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| it-wiki:proxmox:lxccontainer [2018/06/05 10:32] – [Alternative feine Variante] marko | it-wiki:proxmox:lxccontainer [2025/06/22 09:46] (aktuell) – [LXC Container Template erstellen] marko | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== LXC Container ====== | ====== LXC Container ====== | ||
| + | * [[usb_passthrough|USB Device an Container durchreichen]]\\ | ||
| + | * [[hdd_passthrough|Festplatte an Container durchreichen]]\\ | ||
| + | * [[docker_in_lxc|Docker in einem LXC Container betreiben]]\\ | ||
| + | * [[apache_private_tmp|Apache permission denied]] | ||
| + | ===== Tastaturlayout und Locale setzen nach lxc Template installation ===== | ||
| + | <code bash> | ||
| + | dpkg-reconfigure locales | ||
| + | </ | ||
| ===== LXC Container Template erstellen ===== | ===== LXC Container Template erstellen ===== | ||
| Zeile 11: | Zeile 19: | ||
| rm / | rm / | ||
| rm / | rm / | ||
| + | Puppet Agent Zertifikat bereinigen | ||
| + | <code bash> | ||
| + | On the master: | ||
| + | puppet cert clean template.tuxnet.lan | ||
| + | On the agent: | ||
| + | 1a. On most platforms: find / | ||
| + | 1b. On Windows: del " | ||
| + | </ | ||
| - Container verlassen | - Container verlassen | ||
| - In der Proxmox Webgui alle Netzwerkinterfaces des Containers entfernen | - In der Proxmox Webgui alle Netzwerkinterfaces des Containers entfernen | ||
| - | - Über die Webgui ein Backup vom Container erstellen\\ Mode: Stop\\ Compression: | + | - Über die Webgui ein Backup vom Container erstellen\\ Mode: Stop\\ Compression: |
| - Per SSH auf dem Proxmox Host in den allgemeinen Container Backupordner wechseln\\ Standardmäßig **/ | - Per SSH auf dem Proxmox Host in den allgemeinen Container Backupordner wechseln\\ Standardmäßig **/ | ||
| - Das .tar.gz File muss in den richtigen Ordner für Container Templates geschoben werden\\ Standardmäßig **/ | - Das .tar.gz File muss in den richtigen Ordner für Container Templates geschoben werden\\ Standardmäßig **/ | ||
| Zeile 260: | Zeile 276: | ||
| Dieser CT wird natürlich nicht automatisch gestartet! | Dieser CT wird natürlich nicht automatisch gestartet! | ||
| Und wir lassen ihn auch ausgeschaltet. | Und wir lassen ihn auch ausgeschaltet. | ||
| + | |||
| + | ==== Weitere Alternative ==== | ||
| + | |||
| + | === Software (nach)installieren === | ||
| + | |||
| + | Ich gehe hier davon aus, dass folgende Pakete bereits in einem der vorherigen Schritte Einzug auf dem Server gefunden haben: | ||
| + | * mdadm | ||
| + | * lvm2 | ||
| + | * xfsprogs | ||
| + | |||
| + | < | ||
| + | # aptitude install lxc | ||
| + | </ | ||
| + | |||
| + | === logisches Volume erstellen === | ||
| + | |||
| + | Ich gehe hier davon aus, dass folgende Voraussetzungen bereits in einem der vorherigen Schritte konfiguriert wurden: | ||
| + | * eine Netzwerkbrücke (z. B. " | ||
| + | * ein Software-RAID1 (z. B. "/ | ||
| + | * eine Volume-Gruppe für logische Volumen (z. B. " | ||
| + | |||
| + | < | ||
| + | # lvcreate -L2G -n lxc_template sys | ||
| + | </ | ||
| + | |||
| + | === Dateisystem erstellen und einhängen === | ||
| + | |||
| + | < | ||
| + | # mkfs.xfs -L template / | ||
| + | # mkdir / | ||
| + | # mount / | ||
| + | </ | ||
| + | |||
| + | === LinuX Container erstellen === | ||
| + | |||
| + | < | ||
| + | # lxc-create -n template -t debian -- -r jessie | ||
| + | </ | ||
| + | |||
| + | In der letzten Ausgabe des Befehls, erfährt man das root-Passwort für den Container. | ||
| + | |||
| + | Wer mag, kann es sich aufschreiben, | ||
| + | |||
| + | === LXC anpassen === | ||
| + | |||
| + | == Netzwerkkonfiguration == | ||
| + | |||
| + | < | ||
| + | # cat <<EOF >> / | ||
| + | lxc.network.type = veth | ||
| + | lxc.network.flags = up | ||
| + | lxc.network.link = br0 | ||
| + | lxc.network.ipv4 = 192.168.0.254/ | ||
| + | lxc.network.ipv4.gateway = 192.168.0.1 | ||
| + | lxc.network.hwaddr = 02: | ||
| + | EOF | ||
| + | </ | ||
| + | |||
| + | == Debian Repository == | ||
| + | |||
| + | < | ||
| + | # cat <<EOF > / | ||
| + | deb http:// | ||
| + | deb http:// | ||
| + | deb http:// | ||
| + | EOF | ||
| + | </ | ||
| + | |||
| + | === (mein persönliches) " | ||
| + | |||
| + | < | ||
| + | # wget https:// | ||
| + | -O / | ||
| + | # chown root:root / | ||
| + | # chmod 700 / | ||
| + | </ | ||
| + | |||
| + | == /etc/hosts == | ||
| + | |||
| + | < | ||
| + | # echo " | ||
| + | # cat / | ||
| + | # mv / | ||
| + | </ | ||
| + | |||
| + | == / | ||
| + | |||
| + | < | ||
| + | # mv / | ||
| + | # cp / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | # sed ' | ||
| + | # mv / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | # sed ' | ||
| + | # mv / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | # sed ' | ||
| + | # mv / | ||
| + | </ | ||
| + | |||
| + | Die Zeile | ||
| + | < | ||
| + | PS1=' | ||
| + | </ | ||
| + | durch | ||
| + | < | ||
| + | PS1=' | ||
| + | </ | ||
| + | ersetzten (z. B. mit " | ||
| + | |||
| + | < | ||
| + | # sed " | ||
| + | # mv / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | # sed " | ||
| + | # mv / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | # echo ' | ||
| + | </ | ||
| + | |||
| + | == root-Passwort ändern == | ||
| + | |||
| + | < | ||
| + | # echo " | ||
| + | # passwd -R / | ||
| + | </ | ||
| + | |||
| + | == öffentlichen SSH-Schlüssel (ggf. erstellen und) integrieren == | ||
| + | |||
| + | Wenn man für root auf dem Host noch keinen SSH-Schlüsselpaar erzeugt hat, muss man es wie folgt nachholen: | ||
| + | < | ||
| + | # ssh-keygen -b 2048 -t rsa -N "" | ||
| + | </ | ||
| + | |||
| + | Danach kopieren wir den öffentlichen Schlüssel in den LXC, damit wir uns später per SSH vom Host aus im Gast anmelden können: | ||
| + | < | ||
| + | # cp / | ||
| + | </ | ||
| + | |||
| + | ===== LX Container convert privileged to unprivileged Container ===== | ||
| + | < | ||
| + | vzdump 204 --exclude-path / | ||
| + | pct restore 204 vzdump-lxc-204-2019_05_04-13_59_11.tar --storage pool2_ct --unprivileged | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | --- // | ||
it-wiki/proxmox/lxccontainer.1528194737.txt.gz · Zuletzt geändert: von marko