Instrucțiuni pas cu pas pentru instalarea lxd pe ubuntu, linuxspace

LXD este un hypervisor al containerelor, care se bazează pe LXC [1]. Principala diferență față de LXC este faptul că LXD introduce conceptele imaginii containerului și construiește o infrastructură în jurul acestor două concepte. Pur și simplu, LXD este un Docker pentru sistemele virtuale virtuale. Principiul este același: imaginea sistemului de operare poate fi descărcată din depozite și instanțele desfășurate pe gazdă ca containere. O imagine poate fi "clonată" în mai multe mașini virtuale.







Acest manual conține un algoritm pas cu pas pentru instalarea și configurarea LXD. Instrucțiunea acoperă următoarele subiecte:

Diferă de Docker:

Alte caracteristici ale LXD:

  1. Puteți integra cu OpenStack prin plug-in-ul nova-lxd.
  2. Există o posibilitate de hibernare (hibernare) a containerului.
  3. Există un API pentru gestionarea containerelor [4].
  4. Puteți rula Docker-ul în interiorul LXD [5].

LXD funcționează în prezent pe Ubuntu 16.04 LTS. Puteți rula pe alte sisteme, dar pot exista complicații sau ceva nu va funcționa așa cum ar trebui. De exemplu, pe containerele Centos 7 se rulează numai în modul privilegiat, nu există ansambluri gata făcute lxd și trebuie să le compilați manual.

În versiunea proaspătă de Ubuntu, în mod implicit, lxd este deja încorporată. Dacă nu este instalat, atunci îl puteți pune astfel:

aptitude install lxd

Actualizați sistemul și instalați pachetele necesare:

aptitude upgrade aptitude upgrade aptitude instalare lxd zfs zfsutils-linux

Inițializarea LXD

Trebuie să inițializați LXD înainte de a începe să utilizați containerele.

Înainte de a efectua inițializarea, trebuie să decideți ce magazin backend va fi utilizat. Spațiul de depozitare înapoi este locul în care se află toate containerele și imaginile. Există două tipuri principale de stocare: ZFS și Dir.

  • ZFS vă permite să creați și să restaurați instantaneu instantanee de containere, să creați containere din imagini. Datorită ZFS, LXD necesită mult mai puțin spațiu decât containerul în sine.
  • Dir stochează imaginile în mod obișnuit pe disc. Fiecare împușcare va ocupa aceeași cantitate ca și containerul însuși.

ZFS este montat în fișier ca dispozitiv de buclă, deci trebuie să monitorizați dimensiunea spațiului de stocare și să măriți spațiul dacă nu este suficient. ZFS are sens să folosească, dacă aveți o stocare la distanță privată de imagini, în cazul în care te duci din timp în timp, containere instantanee ca backup-uri, și apoi să le descărcați de acolo pentru a instala noua versiune sau pentru a recupera containere din copiile de rezervă.

Am decis să pun Dir pe serverul de producție. Testez ZFS pe computerul meu local. Backup-urile se vor face prin scripturi obișnuite - împachetați-le în gudron și trimiteți-le la Amazon S3.

După ce decideți ce spate de stocare să utilizați, porniți procesul de inițializare. Aceasta se face prin comanda:

Utilitatea va pune întrebări pe care va trebui să le răspundeți. Prima întrebare pe care utilitarul o va întreba este: ce tip de stocare ar trebui să folosesc?

Numele backend-ului de stocare utilizat # 40; dir sau zfs # 41;. dir

Dacă răspunsul dvs. este Dir, utilitarul va merge imediat la configurarea rețelei. Dacă răspunsul dvs. este ZFS, atunci sistemul va pune următoarele întrebări:

Creați o nouă rezervă ZFS # 40; da / nu # 41;. da Numele noului pool ZFS: lxd Doriți să utilizați un dispozitiv bloc existent # 40; da / nu # 41;. nici o dimensiune în GB a noului dispozitiv cu buclă # 40; 1 GB minim # 41;. 10

"Dimensiunea în GB a dispozitivului cu buclă nouă" este dimensiunea spațiului de stocare ZFS. Toate imaginile și containerele vor fi stocate în acest depozit, deci dacă doriți să stocați multe imagini sau containere, trebuie să măriți acest număr.

Apoi utilitarul va întreba: ar trebui să deschid accesul la LXD din afară? Răspundem "nu". Dacă doriți să creați un depozit public sau privat, trebuie să răspundeți "da".

Doriți ca LXD să fie disponibil în rețea # 40; da / nu # 41;. nu

Configurarea podului LXD

După configurarea tipului de stocare, utilitarul va întreba: "Doriți să configurați podul LXD?". Răspundem "da".







Doriți să configurați podul LXD # 40; da / nu # 41;. da

Interfața de configurare a rețelei începe. Răspundeți la întrebări după cum urmează:

Doriți să configurați o punte de rețea pentru Containerele LXD acum? Da Nume interfață Bridge: lxdbr0 Doriți să configurați o subrețea IPv4? Da IPv4 adresa: 10.200.0.1 IPv4 CIDR masca: 16 Prima DHCP adresa: 10.200.100.1 Ultima adresă DHCP: Numărul maxim de 10.200.255.254 clienți DHCP: 25399 Doriți să NAT traficul IPv4? Da Doriți să configurați o subrețea IPv6? nu

Pentru rețea, va fi utilizat un pod cu interfața lxdbr0.

Puteți rula utilitarul de configurare a podului LXD din nou cu comanda:

dpkg-reconfigura -p mediu lxd

Instalarea IP-ului static pentru container

nano / etc / implicit / lxd-pod

Dezactivați linia LXC_DHCP_CONFILE și scrieți:

LXD_CONFILE = "/etc/lxd-dnsmasq.conf"

nano / etc / lxd-dnsmasq.conf

dhcp-host = test ,10.200.1.1

După fiecare modificare a fișierului /etc/lxd-dnsmasq.conf, va trebui să reporniți lxd-bridge cu comanda:

serviciul lxd-bridge reporniți

Dacă acest lucru nu ajută, trebuie să opriți containerele cu IP incorect, să ștergeți fișierul dnsmasq.lxdbr0.leases și apoi să reîncărcați lxd-bridge:

Stop lxc test serviciul rm / var / lib / lxd-bridge / dnsmasq.lxdbr0.leases lxd-bridge restart

Configurarea NAT

Pentru ca NAT să funcționeze, executați următoarele comenzi:

ecou 1> / proc / sys / net / ipv4 / ip_forward ecou "net.ipv4.ip_forward = 1" >> / etc / sysctl.conf

Configurarea Grub

nano / etc / implicit / grub

GRUB_CMDLINE_LINUX = "swapaccount = 1 liniștit"

Fără această linie, când am început lxd, am primit un avertisment cu privire la faptul că contul de swap cgroup nu va funcționa. Am decis să activați opțiunea swapaccount = 1. silențios este un boot sistem silențios (opțional)

Adăugarea LXD la Autostart

systemctl permite LXD

Reporniți sistemul

Adăugați un depozit (opțional, imaginile implicite sunt deja adăugate):

lxc remote adaugă imagini images.linuxcontainers.org: 8443

imaginea centos este un sinonim pentru ca imaginea să fie mai ușor de manevrat

LXC lansare local : imagini centos test

test - numele containerului viitor

Puteți rula imagini în două comenzi:

lxc init local : imagini centos test

Start lxc test

Prima comandă va crea un container, iar al doilea va lansa. Prima comandă este utilă dacă doriți doar să creați un container, dar să nu îl porniți.

Uită-te la starea de funcționare a containerelor

Echipa ar trebui să prezinte următoarele informații:

Dosarele de montare nu modifică conținutul dosarelor / var / lib / lxd / containers / test, dar sunt montate într-un director separat / var / lib / lxd / devices / test. Prin urmare, copii de rezervă și instantanee ale containerului nu vor conține dosare și fișiere montate. Actualizarea containerului din copia de rezervă sau imaginea nu va afecta conținutul folderelor montate.

lxc config spectacol test

Conectarea la o mașină virtuală

Mergeți la containerul de test care rulează:

lxc Exec test -- / bin / bash

Această metodă creează copii de rezervă pentru containere ca imagini LXD gata pentru import. În mod ideal, trebuie să creați instantanee și să le trimiteți într-un depozit privat LXD. Dar uneori, acest lucru nu se poate face. De exemplu, o companie mică nu poate cumpăra un alt server. În acest caz, puteți face fără o soluție simplă de tar + Amazon S3.

Descărcați script-uri pregătite pentru a crea și restaura copii de rezervă:

wget https: // github.com / vistoyn / lxd_backup / raw / 1.1 / scripts / lxc-backup -O "/ usr / local / bin / lxc-backup"

wget https: // github.com / vistoyn / lxd_backup / raw / 1.1 / scripts / lxc-restore -O "/ usr / local / bin / lxc-restabili"

Setați pavilionul de execuție pentru scripturi:

chmod + x / usr / local / bin / lxc-restaurare

chmod + x / usr / local / bin / lxc-backup

Înainte de a crea și restabili copii de siguranță, trebuie să opriți containerul de lucru. Este posibil, în principiu, să creați o copie de rezervă pe un container care rulează, dar când creați o copie de siguranță, unele date pot fi pierdute (depinde de programele instalate în container).

Această comandă va crea o copie de siguranță a containerului de test, va comprima fișierul într-o arhivă și va fi salvată pe discul din folderul / backup / lxc / test:

Stop lxc test

lxc-backup test

Restabilirea unei copii de rezervă dintr-un instantaneu:

Pentru ZFS, după numele containerului, trebuie să adăugați ".zfs"

Stop lxc test

Restabilirea unei copii de rezervă dintr-un instantaneu:

lxc-stop test

Pe o gazdă nouă, uneori trebuie să creați un container din copia de rezervă. Pentru a face acest lucru, trebuie să importați mai întâi imaginea, apoi să o executați ca un container.

Importă comanda de backup ca imagine LXD:

Comandă pentru pornirea imaginii ca container:

LXC lansează-mi-nouă-imagine test 2







Articole similare

Trimiteți-le prietenilor: