Uživatelské nástroje

Nástroje pro tento web


private:poznamky:virtualizace:lxd

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

Odkazy

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

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

Migrace konteineru na jiný server

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
private/poznamky/virtualizace/lxd.txt · Poslední úprava: autor: snemec

DokuWiki Appliance - Powered by TurnKey Linux