opennebula. Kratke opombe

opennebula. Kratke opombe

Pozdravljeni vsi skupaj. Ta članek je bil napisan za tiste, ki so še vedno razpeti med izbiro virtualizacijskih platform in po branju članka iz serije "Namestili smo proxmox in na splošno je vse v redu, 6 let delovanja brez ene same prekinitve." Toda po namestitvi ene ali druge rešitve izven škatle se pojavi vprašanje: kako lahko to popravim tukaj, da bo spremljanje bolj razumljivo, tukaj pa za nadzor varnostnih kopij .... In potem pride čas in spoznate, da želite nekaj bolj funkcionalnega, ali želite, da vse v vašem sistemu postane jasno, in ne te črne skrinjice, ali želite uporabiti nekaj več kot hipervizor in kup virtualnih strojev. Ta članek bo vseboval nekaj misli in praks, ki temeljijo na platformi Opennebula - izbral sem jo, ker. ni zahtevna glede virov in arhitektura ni tako kompleksna.

In tako, kot vidimo, veliko ponudnikov oblakov dela na kvm in vzpostavlja zunanje povezave za nadzor strojev. Jasno je, da veliki gostitelji pišejo svoje okvire za infrastrukturo v oblaku, na primer isti YANDEX. Nekdo uporablja openstack in na tej podlagi vzpostavi povezavo - SELECTEL, MAIL.RU. Če pa imate svojo strojno opremo in majhno osebje strokovnjakov, potem običajno izberete nekaj že pripravljenega - VMWARE, HYPER-V, obstajajo brezplačne in plačljive licence, vendar zdaj ne govorimo o tem. Govorimo o navdušencih – to so tisti, ki se ne bojijo ponuditi in poskusiti nekaj novega, kljub temu, da je podjetje jasno povedalo, »Kdo bo to servisiral za vami«, »Ali bomo to kasneje uvedli v proizvodnjo. ? Strašljivo." Lahko pa te rešitve najprej uporabiš na testni napravi in ​​če bo vsem všeč, potem lahko postaviš vprašanje nadaljnjega razvoja in uporabe v resnejših okoljih.

Tukaj je tudi povezava do poročila www.youtube.com/watch?v=47Mht_uoX3A od aktivnega udeleženca pri razvoju te platforme.

Morda bo v tem članku nekaj odveč in že razumljivo izkušenemu strokovnjaku, v nekaterih primerih pa ne bom opisal vsega, ker so podobni ukazi in opisi na voljo na internetu. To je le moja izkušnja s to platformo. Upam, da bodo aktivni udeleženci v komentarjih dodali, kaj bi lahko naredili bolje in katere napake sem naredil. Vse akcije so potekale na domači stojnici, sestavljeni iz 3 osebnih računalnikov z različnimi lastnostmi. Prav tako nisem posebej navedel, kako ta programska oprema deluje in kako jo namestiti. Ne, samo izkušnje z upravljanjem in težave, na katere sem naletel. Morda bo to komu koristilo pri izbiri.

Torej, začnimo. Kot sistemskemu skrbniku so zame pomembne naslednje točke, brez katerih te rešitve verjetno ne bom uporabljal.

1. Ponovljivost namestitve

Navodil za namestitev opennebule je veliko, ne bi smelo biti težav. Od različice do različice se pojavljajo nove funkcije, ki ne bodo vedno delovale pri prehodu iz različice v različico.

2. Spremljanje

Spremljali bomo samo vozlišče, kvm in opennebulo. Na srečo je že pripravljen. Obstaja veliko možnosti za spremljanje gostiteljev Linuxa, istega Zabbixa ali izvoznika vozlišč - komu je bolj všeč - trenutno to definiram kot spremljanje sistemskih metrik (temperatura, kjer se lahko meri, konsistentnost diskovnega polja), prek zabbixa , in za aplikacije prek izvoznika Prometheus. Za spremljanje kvm, na primer, lahko vzamete projekt github.com/zhangjianweibj/prometheus-libvirt-exporter.git in ga nastaviš, da teče preko systemd, deluje kar dobro in prikazuje kvm metrics, obstaja tudi pripravljena nadzorna plošča grafana.com/grafana/dashboards/12538.

Na primer, tukaj je moja datoteka:

/etc/systemd/system/libvirtd_exporter.service
[Unit]
Description=Node Exporter

[Service]
User=node_exporter
ExecStart=/usr/sbin/prometheus-libvirt-exporter --web.listen-address=":9101"

[Install]
WantedBy=multi-user.target

In tako imamo 1 izvoznika, potrebujemo drugega za spremljanje same opennebule, uporabil sem tega github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

Lahko se doda normalnemu vozlišče_izvoznik za spremljanje sistema naslednje.

V datoteki node_exporter spremenimo začetek takole:

ExecStart=/usr/sbin/node_exporter --web.listen-address=":9102" --collector.textfile.directory=/var/lib/opennebula_exporter/textfile_collector

Ustvarite imenik mkdir -p /var/lib/opennebula_exporter

bash skript, ki je predstavljen zgoraj, najprej preverimo delo prek konzole, če pokaže, kar potrebujemo (če izda napako, potem namestite xmlstarlet), kopirajte v /usr/local/bin/opennebula_exporter.sh

Dodajte nalogo cron za vsako minuto:

*/1 * * * * (/usr/local/bin/opennebula_exporter.sh > /var/lib/opennebula_exporter/textfile_collector/opennebula.prom)

Začele so se pojavljati metrike, lahko jih jemljete kot prometeja in gradite grafe ter ustvarjate opozorila. V Grafani lahko narišete na primer tako preprosto armaturno ploščo.

opennebula. Kratke opombe

(jasno je, da tukaj preveč porabim procesor, ram)

Za tiste, ki ljubijo in uporabljajo Zabbix, obstaja github.com/OpenNebula/addon-zabbix

Kar se tiče spremljanja, je glavno, da je tam. Seveda lahko poleg tega uporabljate vgrajena orodja za spremljanje virtualnih strojev in nalagate podatke v obračun, tukaj ima vsak svojo vizijo, jaz se s tem še nisem lotil natančneje.

Zares še nisem začel z beleženjem. Najenostavnejša možnost je dodati td-agent za razčlenitev imenika /var/lib/one z regularnimi izrazi. Na primer, datoteka sunstone.log se ujema z nginx regexp in drugimi datotekami, ki prikazujejo zgodovino dostopa do platforme – kakšna je prednost tega? No, na primer, lahko eksplicitno sledimo številu »Napaka, napaka« in hitro sledimo, kje in na kateri ravni je prišlo do okvare.

3. Varnostne kopije

Obstajajo tudi plačani dokončani projekti - na primer sep wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon:OpenNebula_Backup. Tukaj moramo razumeti, da preprosto varnostno kopiranje slike stroja v tem primeru sploh ni isto, ker morajo naši virtualni stroji delovati s popolno integracijo (ista kontekstna datoteka, ki opisuje omrežne nastavitve, ime VM in nastavitve po meri za vaše aplikacije) . Zato se tukaj odločimo, kaj in kako bomo varnostno kopirali. V nekaterih primerih je bolje narediti kopije tega, kar je v samem vm. In morda morate varnostno kopirati samo en disk iz določenega stroja.

Na primer, ugotovili smo, da se vsi stroji začnejo s trajnimi slikami, torej po branju docs.opennebula.io/5.12/operation/vm_management/img_guide.html

To pomeni, da lahko najprej naložimo sliko iz našega virtualnega računalnika:

onevm disk-saveas 74 3 prom.qcow2
Image ID: 77

Смотрим, под каким именем он сохранился

oneimage show 77
/var/lib/one//datastores/100/f9503161fe180658125a9b32433bf6e8
   
И далее копируем куда нам необходимо. Конечно, так себе способ. Просто хотел показать, что используя инструменты opennebula можно строить подобные решения.

Našel sem tudi na internetu zanimivo poročilo in še več je tako odprt projekt, vendar obstaja samo shramba za qcow2.

A kot vsi vemo, prej ali slej pride čas, ko si želite inkrementalne varnostne kopije, tukaj je težje in morda bo vodstvo namenilo denar za plačljivo rešitev ali pa šlo v drugo smer in razumelo, da tukaj samo krčimo vire, in izdelava varnostnih kopij na ravni aplikacije ter dodajanje številnih novih vozlišč in virtualnih strojev - ja, tukaj pravim, da uporaba oblaka zgolj za zagon aplikacijskih gruč in zagon baze podatkov na drugi platformi ali uporaba že pripravljene od dobavitelja, če je to mogoče.

4. Enostavnost uporabe

V tem odstavku bom opisal težave, s katerimi sem se srečal. Na primer, glede na slike, kot vemo, obstaja obstojnost - ko je ta slika nameščena v virtualni stroj, se vsi podatki zapišejo v to sliko. In če ni obstojna, se slika prekopira v shrambo in podatki se zapišejo v tisto, kar je bilo kopirano iz izvorne slike - tako delujejo predloge predlog. Večkrat sem si povzročal težave s tem, da sem pozabil določiti persistent in slika 200 GB je bila kopirana, težava je v tem, da tega postopka zagotovo ni mogoče preklicati, morate iti na vozlišče in ubiti trenutni proces "cp".

Ena od pomembnih pomanjkljivosti je, da dejanj ne morete preklicati preprosto z grafičnim vmesnikom. Oziroma jih boš preklical in videl, da se nič ne zgodi in jih boš znova zagnal, preklical in dejansko bosta že 2 cp procesa, ki kopirata sliko.

In potem pride do razumevanja, zakaj opennebula oštevilči vsako novo instanco z novim id-jem, na primer, v istem proxmoxu je ustvaril vm z id-jem 101, ga izbrisal, nato pa ga znova ustvariš in id 101. V opennebuli se to ne bo zgodilo, vsaka nova instanca bo ustvarjena z novim id-jem in to ima svojo logiko - na primer brisanje starih podatkov ali neuspešne namestitve.

Enako velja za shranjevanje, predvsem pa je ta platforma usmerjena v centralizirano shranjevanje. Obstajajo dodatki za uporabo lokalnih, vendar v tem primeru ne govorimo o tem. Mislim, da bo v prihodnosti kdo napisal članek o tem, kako jim je uspelo uporabiti lokalno shrambo na vozliščih in jo uspešno uporabiti v produkciji.

5. Največja enostavnost

Seveda dlje kot greš, manj je tistih, ki te bodo razumeli.

V pogojih mojega stojala - 3 vozlišča s shrambo nfs - vse deluje v redu. Če pa izvajamo poskuse, ki vključujejo izpad električne energije, na primer, ko izvajamo posnetek in izklopimo napajanje vozlišča, shranimo nastavitve v bazo podatkov, da posnetek obstaja, v resnici pa ga ni (no, vsi razumemo, da sprva zapisal bazo podatkov o tem dejanju v sql, vendar sama operacija ni bila uspešna). Prednost je, da se pri ustvarjanju posnetka oblikuje ločena datoteka in obstaja "starš", zato lahko v primeru težav in tudi če ne deluje prek gui-ja poberemo datoteko qcow2 in jo obnovimo posebej docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

Na omrežjih žal ni vse tako preprosto. No, vsaj lažje je kot v openstacku, uporabil sem samo vlan (802.1Q) - deluje precej dobro, vendar če spremenite nastavitve iz omrežja predloge, te nastavitve ne bodo uporabljene za že delujoče stroje, tj. morate izbrisati in dodati omrežno kartico, potem bodo uporabljene nove nastavitve.

Če ga želite primerjati tudi z openstackom, potem lahko rečete tole: v opennebuli ni jasne definicije, katere tehnologije uporabiti za shranjevanje podatkov, upravljanje omrežja, virov - vsak skrbnik se sam odloči, kaj mu je bolj priročno.

6. Dodatni vtičniki in namestitve

Konec koncev, kot razumemo, lahko platforma v oblaku upravlja ne samo kvm, ampak tudi vmware esxi. Na žalost nisem imel bazena z Vcentrom, če je kdo poskusil, naj napiše.

Navedena je podpora za druge ponudnike oblakov docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS, AZURE.

Poskusil sem tudi povezati Vmware Cloud iz Selectela, vendar nič ni delovalo - na splošno je bil blokiran, ker je veliko dejavnikov in nima smisla pisati tehnični podpori ponudnika gostovanja.

Zdaj ima nova različica tudi petardo - to je lansiranje microvm, vrste snopa kvm prek dockerja, ki daje še več vsestranskosti, varnosti in povečano produktivnost, ker ni treba zapravljati sredstev za opremo za posnemanje. Edina prednost, ki jo vidim pred Dockerjem, je, da ne zavzame dodatnega števila procesov in pri uporabi te emulacije ni zasedenih vtičnic, tj. Povsem mogoče ga je uporabiti kot izravnalnik obremenitve (vendar je verjetno vredno napisati ločen članek o tem, dokler v celoti ne izvedem vseh testov).

7. Pozitivna izkušnja uporabe in odpravljanje napak

Želel sem deliti svoja opažanja o delu, nekaj sem opisal zgoraj, rad bi napisal več. Res, verjetno nisem edini, ki najprej pomisli, da to ni pravi sistem in nasploh je tukaj vse bergla - kako sploh delajo s tem? Potem pa pride razumevanje, da je vse povsem logično. Seveda ne morete ugoditi vsem in nekatere vidike je treba izboljšati.

Na primer preprosta operacija kopiranja slike diska iz ene podatkovne shrambe v drugo. V mojem primeru sta 2 vozlišči z nfs, pošljem sliko - kopiranje poteka prek frontend opennebula, čeprav smo vsi navajeni, da je treba podatke kopirati neposredno med gostitelji - v isti vmware, hyper-v smo navajeni tega, tukaj pa drugega. Obstaja drugačen pristop in drugačna ideologija, v različici 5.12 pa so odstranili gumb "preseli v podatkovno shrambo" - prenese se samo sam stroj, ne pa tudi pomnilnik, ker pomeni centralizirano shranjevanje.

Sledi priljubljena napaka z različnimi razlogi: »Napaka pri uvajanju navideznega stroja: ni bilo mogoče ustvariti domene iz /var/lib/one//datastores/103/10/deployment.5« Spodaj je glavna stvar, ki si jo morate ogledati.

  • Pravice do slike za uporabnika oneadmin;
  • Dovoljenja za uporabnika oneadmin za zagon libvirtd;
  • Ali je shramba podatkov pravilno nameščena? Pojdite in preverite pot na samem vozlišču, morda je kaj padlo;
  • Nepravilno nastavljeno omrežje, oziroma na frontendu je v mrežnih nastavitvah, da je glavni vmesnik za vlan br0, na vozlišču pa piše bridge0 - mora biti isto.

sistemska shramba podatkov shranjuje metapodatke za vaš virtualni stroj, če zaženete virtualni stroj s trajno sliko, potem mora imeti virtualni stroj dostop do prvotno ustvarjene konfiguracije v pomnilniku, kjer ste ustvarili virtualni stroj - to je zelo pomembno. Zato morate pri prenosu vm v drugo podatkovno shrambo vse dvakrat preveriti.

8. Dokumentacija, skupnost. Nadaljnji razvoj

In ostalo, dobra dokumentacija, skupnost in glavno, da projekt živi tudi v prihodnje.

Na splošno je vse precej dobro dokumentirano in tudi z uporabo uradnega vira ne bo težav namestiti in najti odgovorov na vprašanja.

Skupnost, aktiven. Objavlja številne že pripravljene rešitve, ki jih lahko uporabite v svojih namestitvah.

Trenutno so se nekatere politike v podjetju spremenile od 5.12 forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 Zanimivo bo videti, kako se bo projekt razvijal. Na začetku sem posebej izpostavil nekatere ponudnike, ki uporabljajo njihove rešitve in ponudbo industrije. Jasnega odgovora, kaj uporabiti, seveda ni. Toda za manjše organizacije vzdrževanje njihovega majhnega zasebnega oblaka morda ni tako drago, kot se zdi. Glavna stvar je natančno vedeti, kaj potrebujete.

Posledično se ne smete ustaviti pri enem izdelku, ne glede na to, kaj izberete kot sistem v oblaku. Če imate čas, se splača pogledati tudi druge bolj odprte rešitve.

Tam je dober klepet t.me/opennebula Aktivno pomagajo in vas ne pošiljajo iskati rešitev problema na Google. Pridruži se nam.

Vir: www.habr.com

Dodaj komentar