Muntar servidor de Linux Containers amb LXD

De HLV Wiki
Salta a: navegació, cerca

Entorn i Documentació[modifica]

Instal·lar Requeriments[modifica]

apt update && apt upgrade
apt install lxc libvirt-clients debootstrap bridge-utils snapd
snap install lxd
  • Posem lxd al path, podem fer-ho de varies formes:
    • sortim i entrem de la sessió d'usuari
    • executem l'script: /etc/profile.d/apps-bin-path.sh
    • o actualitzem el path manualment fent PATH=$PATH:/snap/bin al terminal
  • Instalem zfs:

posem contrib als repositoris de debian /etc/apt/sources.list i fem:

apt -y install linux-headers-$(uname -r)
ln -s /bin/rm /usr/bin/rm
apt install zfsutils-linux zfs-dkms spl-dkms
reboot

Problema amb rm al paquet zfs de la distribució debian https://unix.stackexchange.com/questions/383566/install-zfs-on-debian-9-stretch (service failed in journalctl -xe). if error "Please make sure the kmod spl devel <kernel>": https://github.com/zfsonlinux/zfs/issues/3065

Preparació màquina Host[modifica]

  • Canviem la configuració per a que les maquines virtuals o containers puguin estar online a través del host:
nano /etc/sysctl.conf

descomentem aquesta linia:

net.ipv4.ip_forward=1

ho apliquem:

sysctl -p

Reiniciem el servei lxc-net:

systemctl restart lxc-net.service
  • Desactivem el bind9 per evitar problemes amb el bridge de lxc-net
update-rc.d bind9 disable

Bug https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1240757

error: Failed to run: dnsmasq --strict-order --bind-interfaces --pid-file=/var/snap/lxd/common/lxd/networks/vmbr0/dnsmasq.pid ....
https://discuss.linuxcontainers.org/t/failed-to-run-dnsmasq-address-already-in-use/1132/4
root@dsteranyina:/home/roger# netstat -lnp | grep ":53 "
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      806/named
tcp6       0      0 :::53                   :::*                    LISTEN      806/named
udp        0      0 127.0.0.1:53            0.0.0.0:*                           806/named
udp6       0      0 :::53                   :::*                                806/named

Reiniciem la màquina:

reboot

Inicialitzar LXD[modifica]

Executem al terminal:

lxd init
Do you want to configure a new storage pool (yes/no) [default=yes]? yes
Name of the new storage pool [default=default]: lxc
Name of the storage backend to use (dir, btrfs, ceph, lvm, zfs) [default=zfs]: zfs
Create a new ZFS pool (yes/no) [default=yes]? yes
Would you like to use an existing block device (yes/no) [default=no]? no
Size in GB of the new loop device (1GB minimum) [default=15GB]: 500?
Would you like LXD to be available over the network (yes/no) [default=no]? no
Would you like stale cached images to be updated automatically (yes/no) [default=yes]? yes
Would you like to create a new network bridge (yes/no) [default=yes]? yes
What should the new bridge be called [default=lxdbr0]? 
What IPv4 address should be used (CIDR subnet notation, “auto” or “none”) [default=auto]? auto
What IPv6 address should be used (CIDR subnet notation, “auto” or “none”) [default=auto]? auto
LXD has been successfully configured.

Son importants els paràmetres del nom de la pool i la mida d'un nou device de la pool. La mida marcarà el màxim de Gb que podrà assolir un container.

Creem, llancem i configurem un container[modifica]

Configuració xarxa (macvlan)[modifica]

ip Failovers (Online.net)

Altres referències[modifica]

Fonts[modifica]