====== LXD ====== ===== Instalace ===== ===== Konfigurace ===== lxd init Základní konfigurace LXD obsahuje nastavení uložiště, nastavení sítě, nastavení vzdáleného přístupu. ===== Základní příkazy ===== Vypíše seznam všech dostupných obrazů lxc image list images: Vypíše seznam všech dostupných **debian** obrazů lxc image list images: 'debian' nebo **archlinux** obrazů lxc image list images: 'archlinux' Vytvoří a spustí nový kontejner s aktuální verzí Ubuntu. Název kontejneru je vygenerován dynamicky. lxc launch ubuntu: Vytvoří a spustí nový kontejner. Kontejner pojmenuje dokuwiki lxc launch ubuntu: dokuwiki Vytvoří a spustí nový debian 9 kontejner. Kontejner pojmenuje nextcloud lxc launch images:debian/9 nextcloud Seznam kontejnerů lxc list Podrobné info o kontejneru lxc info Vytvoření kontejneru, bez startu kontejneru lxc init ubuntu: dokuwiki Start, stop, restart, pause lxc start lxc stop lxc restart lxc restart --force lxc pause lxc delete Spuštění konzole kontejneru lxc exec ContainerName -- bash ===== Nastavení zdrojů pro container ===== ==== CPU limits ==== https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc ===== Odkazy ===== https://bayton.org/2016/05/lxd-zfs-and-bridged-networking-on-ubuntu-16-04-lts/\\ https://oliverveits.wordpress.com/2016/09/11/lxd-vs-docker-or-getting-started-with-lxd-containers/\\ https://www.stgraber.org/2016/03/11/lxd-2-0-introduction-to-lxd-112/\\ https://www.mywebtech.blog/linux-containers-lxd-vs-kvm/\\ https://discuss.linuxcontainers.org/t/how-to-properly-backup-restore-lxd-containers-with-zfs-backend/417 Migrace z KVM na LXC(asi lze použít i pro XEN)\\ https://snikt.net/blog/2014/03/22/convert-kvm-image-to-lxc-container/\\ https://blog.a2o.si/2015/10/11/migrate-convert-existing-full-centos-6-server-to-lxc-container/\\ https://blog.a2o.si/2015/10/23/migrate-convert-existing-full-ubuntu-14-04-server-to-lxc-container/\\ ====== LXD 3.X ====== ===== Instalace LXD 3.8 na Ubuntu 18.0.4 ===== Nejprve odinstalovat předchozí verzi LXD - v tomto případě nainstalovanou z balíčku pomocí ''apt install lxd''. apt remove -y lxd apt purge lxd apt remove -y lxd-client dpkg -la |grep lxd Zkontrolovat poslední dostupnou verzi LXD snap info lxd Instalace snap install lxd https://github.com/lxc/lxd/blob/master/doc/containers.md#type-proxy ===== HAProxy ===== https://blog.ssdnodes.com/blog/linux-containers-lxc-haproxy/\\ https://www.digitalocean.com/community/tutorials/how-to-host-multiple-web-sites-with-nginx-and-haproxy-using-lxd-on-ubuntu-16-04 Hosting multiple websites with containers and HAProxy ===== How to use LXD container hostnames on the host in Ubuntu 18.04 ===== Mapování lxd jmen kontejnerů na hostname pomocí DDNS https://blog.simos.info/how-to-use-lxd-container-hostnames-on-the-host-in-ubuntu-18-04/ ===== Záloha LXD konteineru ===== https://openschoolsolutions.org/how-to-backup-lxd-containers/ ===== Migrace konteineru na jiný server ===== https://discuss.linuxcontainers.org/t/backup-the-container-and-install-it-on-another-server/463/13\\ ===== Migrace LXC konteineru do Proxmox LXC ===== https://serverfault.com/questions/731400/how-to-migrate-a-regular-lxc-container-to-a-proxmox-lxc-container * vytvořte archiv ''*.tar.gz'' ze složky ''rootfs'' - (''/var/snap/lxd/common/lxd/storage-pools/default/containers/containername/rootfs'') * uložte ho do složky ''/var/lib/vz/template/cache'' na cílovémm serveru * vytvořte v Proxmox prostředí nový kontejner a použijte vytvořený ''tar.gz'' soubor jako šablonu ===== Připojení složky - disku do LXC kontejneru ===== Nepovedlo se mi připojit disk s opravněním uživatele root. Založil jsem běžného uživatele jak na host tak v konteineru a nastavil mapování ''/etc/subuid'' a ''/etc/subgid'' **Reload lxd služby** Záleží jestli bylo LXD prostředí instalováno ze SNAP nebo jako balík DEB.\\ pro snap: ''systemctl reload snap.lxd.daemon''\\ pro deb: ''systemctl restart lxd'' ==== Nastavení sdíleného disku pro zálohy - LXC thema-sklad ==== #Omezeni pameti na 8GB lxc config set thematrade-sklad limits.memory 8192MB ###Mapovani disku do LXC kontejneru s opravnenim pro zapis # Vytvoreni ZFS filesystemu vspool/themabck # Nastaveni quota - refquota zfs set refquota=2000G vspool/themabck NAME PROPERTY VALUE SOURCE vspool/themabck refquota 1.95T local vspool/themabck quota none default # Primapovani vspool/themabck 2.53M 1.95T 2.53M /mnt/themabck # Zalozeni uzivatele themabackup - id 1001 jak na fyzickem serveru, tak v kontejneru: themabackup:x:1001:1001:,,,:/home/themabackup:/bin/bash # Povoleni pro LXD pouzit uid a gid # Pridat do /etc/subuid a /etc/subguid lxd:1001:1 root:1001:1 # reload LXD systemctl reload snap.lxd.daemon # nastaveni mapovani pro kontejner (id uzivatele themabackup je stejne na fyzickem server i ve virtualnim serveru id = 1001) lxc config set thematrade-sklad raw.idmap "both 1001 1001" lxc config device add thematrade-sklad backup disk source=/mnt/themabck path=/backup/ # restart lxc kontejner lxc restart thematrade-sklad https://www.cyberciti.biz/faq/how-to-add-or-mount-directory-in-lxd-linux-container/\\ https://ubuntu.com/blog/custom-user-mappings-in-lxd-containers ===== Vytvoření image z existujícího konteineru ===== How to create LXD image from an existing snapshot https://sleeplessbeastie.eu/2021/08/16/how-to-create-lxd-image-from-an-existing-snapshot/ # snapshot lxc snapshot nextcloud-tmpstore nextcloud-tmpstore_snapshot20223107 # image lxc publish nextcloud-tmpstore/nextcloud-tmpstore_snapshot20223107 --alias Nextcloud_v24 description="Nextcloud v. 24 - prazdny" # list root@ubuntu:/etc# lxc image list +---------------+--------------+--------+---------------------------------+--------------+-----------+----------+-------------------------------+ | ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | UPLOAD DATE | +---------------+--------------+--------+---------------------------------+--------------+-----------+----------+-------------------------------+ | Nextcloud_v24 | 6b175d2ed567 | no | Nextcloud v. 24 - prazdny | x86_64 | CONTAINER | 725.02MB | Jul 31, 2022 at 11:21am (UTC) | +---------------+--------------+--------+---------------------------------+--------------+-----------+----------+-------------------------------+ | | b24880a8e02d | no | Centos 7 amd64 (20220907_07:36) | x86_64 | CONTAINER | 84.42MB | Sep 7, 2022 at 10:56am (UTC) | +---------------+--------------+--------+---------------------------------+--------------+-----------+----------+-------------------------------+ # info root@ubuntu:/etc# lxc image info Nextcloud_v24 Fingerprint: 6b175d2ed567ecad1c9c839fdbedcfacdaf3ef2cf78bff7a32c77161711658a2 Size: 725.02MB Architecture: x86_64 Type: container Public: no Timestamps: Created: 2022/07/31 11:21 UTC Uploaded: 2022/07/31 11:21 UTC Expires: 2022/03/09 05:31 UTC Last used: 2022/08/01 10:28 UTC Properties: description: Nextcloud v. 24 - prazdny Aliases: - Nextcloud_v24 Cached: no Auto update: disabled Profiles: - default