LXD

LXD pamoka

LXD pamoka

LXD pagrindai: kas tai? Ir kaip juo naudotis?

LXD konteinerių naudojimas nepadarė dėmesio, kurį padarė „Docker“, tačiau iš tikrųjų tai yra daug arčiau pagrindinės operacinės sistemos virtualizavimo idėjos. Bet prieš ten nuvykdami pakalbėkime apie šiuolaikinės aparatūros lygio virtualizaciją.

Aparatinės įrangos virtualizavimas

Tradicinis būdas, kuriuo veikia „VMware“, „VirtualBox“, KVM ir panašios technologijos, yra toks: jūs turite serverio klasės kompiuterį, tarkime, aukščiausios klasės „Xeon“ procesorių su 512 GB operatyviosios atminties, žinomą kaip plikas metalas. Čia įdiegiate operacinę sistemą, kuri paleis VMware, Virtualbox arba KVM.

Tai yra įvairūs hipervizoriai, ir juos valdanti operacinė sistema yra priimančiosios operacinė sistema.

Dabar hipervizorius siūlo tai - jis imituoja procesorių, tinklo sąsajas, atminties diskus, atmintį, įvesties / išvestį ir kitus išteklius, kad ant šio rinkinio būtų galima įdiegti naują operacinę sistemą virtuali aparatinė įranga. Ši nauja operacinė sistema yra svečių operacinė sistema ir ji veikia virtualioje aparatinėje įrangoje, kaip ir tada, jei ji būtų įdiegta fizinėje mašinoje, tačiau yra sugavimų.

Jei galvojate: „Tačiau įvairių aparatūros prietaisų mėgdžiojimas naudojant tikrąją aparatūrą skamba neefektyviai ir lėtai.„Jūs esate visiškai teisus. Aparatinės įrangos lygio virtualizavimas yra lėtas ir neefektyvus.

Be to, pačios operacinės sistemos yra valdymo keistuoliai. Jei svečiam OS skirsite 1 GB RAM ir 2 procesoriaus šerdis, tai laimingai pareikalaus visų išteklių, net jei jame veikiančios programos naudoja tik dalį jo. Šių išteklių hipervizorius negalės naudoti kitur.

Tai labai riboja VM, galinčių veikti ant hipervizoriaus, skaičių. Jei esate debesų prieglobos paslaugų teikėjas, tai reiškia, kad jūsų apatinė linija bus smarkiai nukentėjusi.


Konteinerių būdas daryti dalykus

Virtualizuotos aparatūros idėja išmetama pro langą, kai pradedame kalbėti apie konteinerius ir konkrečiai apie LXD. Užuot mėgdžioję individualius aparatūros išteklius, mes stengiamės virtualizuoti operacinę sistemą.

Paleidus LX konteinerį, OS siūlo save (tai yra branduolys, bibliotekos, visi jai prieinami ištekliai) programoms, veikiančioms konteinerio viduje. Šiame sudėtiniame rodinyje esantys vartotojai ir programos nežinos apie programas ir paketus, veikiančius už jo ribų, ir atvirkščiai.

Kalbant apie išteklių paskirstymą, galite paprasčiausiai užsirašyti, kad neleistumėte tam tikram konteineriui naudoti daugiau nei, tarkime, 2 GB RAM ir 2 procesoriai. Tokiu būdu, kai sudėtiniame rodinyje veikiančios programos nieko intensyvaus nedaro, išteklius galima paskirstyti kitur pagrindinėje aplinkoje.

Tačiau, kai programos veikia esant didelei apkrovai, jos pasiekia plika metalo savybes!

Akivaizdu, kad tai yra tai, kad svečiu negalima paleisti jokios savavališkos operacinės sistemos. Nes skirtingos operacinės sistemos turi skirtingą architektūrą. Laimei, GNU / Linux vartotojams, Linux branduolys siūlo tokį glaustą ABI suderinamumą, kad jūs galite imituoti skirtingus paskirstymus to paties branduolio viršuje. Taigi jūs galite paleisti „CentOS“ dvejetainius failus ir „Ubuntu“ programas ant to paties metalo tik skirtinguose konteineriuose.


LXD inic

„LX“ talpinimas yra gerai patikrinta ir patikima „Linux“ pagrindu veikiančių operacinių sistemų technologija. Jame yra du pagrindiniai komponentai, vienas yra LXC, kuris valdo konteinerių konfigūracijas, paveikslėlių failus ir kt.

Pagal numatytuosius nustatymus jis įdiegtas „Ubuntu Server 16“.04 LTS, jei naudojate darbalaukio paskirstymą, vykdykite:

$ apt įdiekite „lxd lxd-client“

Kai tai bus padaryta, turite inicijuoti įvairius parametrus. Ši komanda paleis jus per juos:

$ lxd inic

Čia galite pasirinkti numatytąsias parinktis.  Labiausiai tai susiję su tinklo sąsajų sukūrimu. Kai bus paprašyta nustatyti „LXD“ tinklo sąranką, pasirinkite numatytąją parinktį „Taip“.

1 Dar kartą atsakykite taip, kai būsite paraginti nustatyti tinklą

Kitame lange bus paprašyta įvesti tinklo sąsajos pavadinimą (kaip matoma pagrindiniame kompiuteryje), palikti jį pagal numatytąją vertę lxdbr0.

Po to bus nustatytas IPv4 potinklio nustatymas. Tai leistų skirtingiems LX konteineriams susikalbėti taip, lyg jie būtų skirtingi kompiuteriai vietiniame tinkle. Tam pasirinkite „Taip“.

Toliau bus keli 10.202.X.X adresai, rodomi kiekvienam skirtingam vaidmeniui šiame potinklyje. Galite paspausti „Enter“, nenaudodami parinkčių. Kai paprašys NAT konfigūracijos, pasirinkite taip.

Tai leidžia jūsų konteineriams gauti ryšį su internetu, naudojant viešąjį pagrindinio kompiuterio IP, taip pat, kaip tai daro jūsų nešiojamas kompiuteris ir kiti įrenginiai per namų maršrutizatorių (persiunčiant uostą).

Paskutinė IPv6 potinklio parinktis yra visiškai neprivaloma, todėl rekomenduočiau kol kas jo praleisti. Sakyk ne, kai bus paraginta pasirinkti „IPv6“ parinktis.


Sukdami konteinerius

Norėdami paleisti naują, tarkime, „Ubuntu 16“ egzempliorių.04, paleiskite šią komandą:

$ lxc paleisti „ubuntu“: 16.04 jūsų_konteinerio vardas

Kadangi tai yra pirmas kartas, kai paleidžiate „Ubuntu“ serverį, užtruks laiko, kol gausite konteinerio vaizdą iš nuotolinių saugyklų. Tai padarę, galite pamatyti išsamią informaciją apie paleistą konteinerį, vykdydami komandą:

„$ lxc“ sąrašas

Šiame pavyzdyje sudėtinio rodinio pavadinimas yra tęsinys1.

Jei norite patekti į konteinerį, vykdykite komandą;

$ lxc exec name_of_your_container bash

Tai nukreips jus į to konteinerio viduje einantį „bash“ apvalkalą. Kvepėtų ir jaustųsi kaip nauja „Ubuntu 16“ instaliacija.04 ir jūs galite laisvai įdiegti paketus jo viduje ir atlikti įvairius eksperimentus, dėl kurių nerizikuosite savo pagrindiniu diegimu.

Dabar, kai vaizdo failas yra saugomas jūsų pagrindinėje sistemoje, galite labai greitai susukti „Ubuntu“ konteinerius ir naudoti juos kaip vienkartines sistemas.

Norėdami sustabdyti ir ištrinti LX konteinerį, paleiskite;

$ lxc stop Container_name $ lxc ištrinti container_name 

Naudokite „lxc“ paleidimo komandą, kaip tai darėte pirmą kartą, kad sukurtumėte naujus konteinerius.


Kur čia eiti

Dabar, kai žinote, kokia yra LXD architektūra, galite pradėti tyrinėti tokias temas kaip tinklų kūrimas ir konteinerių saugojimas bei kaip juos sukonfigūruoti, kad atitiktų jūsų darbo krūvį.

Taip pat galite sužinoti apie pagrindinius „Docker“ ir „LXD“ skirtumus ir tai, kas iš tikrųjų gali geriau atitikti jūsų poreikius. Jei norite naudoti ZFS kaip savo atminties programą (kaip turėtumėte!) galbūt norėsite sužinoti šią ZFS pagrindų pamoką.

Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...
Kaip parodyti FPS skaitiklį „Linux“ žaidimuose
„Linux“ žaidimai gavo didelį postūmį, kai „Valve“ paskelbė „Linux“ palaikymą „Steam“ klientui ir jų žaidimams 2012 m. Nuo tada daugelis AAA ir indie ž...
Kaip atsisiųsti ir paleisti „Sid Meier Civilization VI“ sistemoje „Linux“
Įvadas į žaidimą „Civilization 6“ yra šiuolaikinė klasikinės koncepcijos, pristatytos „Age of Empires“ žaidimų serijoje, koncepcija. Idėja buvo gana p...