Uživatelské nástroje

Nástroje pro tento web


private:poznamky:virtualizace:lxd

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
private:poznamky:virtualizace:lxd [2022/09/08 05:40] – [Vytvoření image z existujícího konteineru] snemecprivate:poznamky:virtualizace:lxd [2022/09/08 05:42] (aktuální) – [Vytvoření image z existujícího konteineru] snemec
Řádek 1: Řádek 1:
 +====== 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 <container>
 +
 +Vytvoření kontejneru, bez startu kontejneru  
 +  lxc init ubuntu:  dokuwiki
 +  
 +Start, stop, restart, pause
 +
 +  lxc start <container>
 +  lxc stop <container>  
 +  lxc restart <container>
 +  lxc restart <container> --force
 +  lxc pause <container>
 +  lxc delete <container>
 +
 +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''.
 +
 +<code>
 +apt remove -y lxd
 +apt purge lxd
 +apt remove -y lxd-client
 +dpkg -la |grep lxd
 +</code>
 +
 +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 ====
 +
 +<code>
 +#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
 +
 +</code>
 +
 +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/
 +
 +
 +<code>
 +# 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
 +
 +</code>  
 +
 +
 + 

DokuWiki Appliance - Powered by TurnKey Linux