
Tere kĂ”igile. See artikkel on kirjutatud neile, kes on endiselt kahe vahel valikuga virtuaaliseerimisplatvormide vahel ja pĂ€rast artiklite lugemist seeriast "Paigaldasime proxmoxi ja kĂ”ik on suurepĂ€rane, 6 aastat tööaega ilma katkestusteta". Kuid pĂ€rast teatud valmislahenduse paigaldamist tekib kĂŒsimus, kuidas siin ja seal midagi kohandada, et monitooring oleks arusaadavam ja siin, et varukoopiate kontrollimine oleks tĂ”hus... Ja siis tuleb aeg, mil mĂ”istate, et soovite midagi funktsionaalsemat vĂ”i et teie sĂŒsteemi sees peaks olema kĂ”ik arusaadav, mitte mingi must kast, vĂ”i soovite kasutada midagi enamat kui hĂŒperviisor ja hulk virtuaalmasinaid. Selles artiklis on veidi mĂ”tteid ja praktikat Opennebula platvormi pĂ”hjal â valisin selle, kuna see on ressursside osas vĂ€henenud nĂ”udlik ja arhitektuur pole nii keeruline.
Nagu nĂ€eme, töötavad paljud pilveteenuse pakkujad KVM-i peal ja loovad vĂ€liseid liideseid masinate haldamiseks. On selge, et suured hostimisettevĂ”tted kirjutavad oma liideseid pilv-infrastruktuuri jaoks, nĂ€iteks YANDEX. MĂ”ned kasutavad OpenStacki ja loovad liidese selle alusel â SELECTEL, MAIL.RU. Kuid kui teil on oma riistvara ja vĂ€ike spetsialistide meeskond, valitakse tavaliselt midagi valmis lahendustest â VMWARE, HYPER-V, on olemas tasuta ja tasulised litsentsid, aga sellest me ei rÀÀgi. RÀÀgime entusiastidest â need on inimesed, kes ei karda uut proovida, vaatamata sellele, et ettevĂ”te on selgelt öelnud: "Kes seda pĂ€rast sind hooldab?" ja "Kas me seda ikka tootmisse viime? See on hirmutav." Kuid alguses saab neid lahendusi katsetada testkeskkonnas ja kui kĂ”ik on rahul, saab tĂ”statada kĂŒsimuse edasise arendamise ja tĂ”sisemates keskkondades kasutamise ĂŒle.
Siin on ka link ettekandele aktiivse osaleja poolt selle platvormi arendamisel.
VÔib-olla on selles artiklis midagi liigset, mis on kogenud spetsialistile juba selge, ja mÔnes olukorras ei hakka ma kÔike kirjeldama, kuna sarnaseid kÀske ja selgitusi leiab internetist. Siin on ainult minu kogemus selle platvormiga. Loodan, et aktiivsed osalejad tÀiustavad kommentaarides, mida saaks paremini teha ja milliseid vigu ma tegin. KÔik toimingud viidi lÀbi kodustes tingimustes, kus oli 3 erinevate omadustega arvutit. Samuti ei hakanud ma eraldi selgitama, kuidas see tarkvara töötab ja kuidas installida. Ei, ainult haldamise kogemus ja probleemid, millega silmitsi seisime. VÔib-olla on see kellelegi kasuks valiku tegemisel.
Nii, asume asja kallale. Minu kui sĂŒsteemihalduri jaoks on olulised jĂ€rgmised punktid, ilma milleta ma ei saa seda lahendust tĂ”enĂ€oliselt kasutada.
1. Paigaldus korduvus
On palju juhendeid opennebula installimise kohta, siin ei tohiks probleeme tekkida. Uue versiooniga kaasnevad alati uued funktsioonid, mis ei pruugi alati vanalt versioonilt uuele ĂŒleminekul toimida.
2. JĂ€lgimine
JĂ€lgime nodi, kvm ja opennebula. Hea, et see on juba valmis. Linuxi hostide jĂ€lgimiseks on palju valikuid, sama Zabbix vĂ”i Node Exporter â kellele mis rohkem meeldib â hetkel mÀÀratlen, et sĂŒsteemi mÔÔdikute jĂ€lgimine (temperatuur seal, kus see on mÔÔdetav, kettamahuti jĂ€rjepidevus) toimub Zabbixi kaudu, ja rakenduste osas Prometheuse eksportimise kaudu. KVM jĂ€lgimiseks vĂ”ib nĂ€iteks vĂ”tta projekti ja kĂ€ivitamise seadistamine lĂ€bi systemd, töötab suurepĂ€raselt ja nĂ€itab kvm mÔÔdikuid, samuti on olemas valmis armatuurlaud .
NĂ€iteks, siin on minu fail:
/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.targetJa nii on meil 1 eksportija, vaja on teist opennebula jÀlgimiseks, kasutasin sellist
Saab lisada tavalisse sĂŒsteemi jĂ€lgimiseks jĂ€rgmist.
Failis node_exporter muudame kÀivitamise jÀrgmiselt:
ExecStart=/usr/sbin/node_exporter --web.listen-address=":9102" --collector.textfile.directory=/var/lib/opennebula_exporter/textfile_collectorLoome katalooge mkdir -p /var/lib/opennebula_exporter
Esmaltame bash skripti, mis kontrollib esmalt tööd konsoolis. Kui see nÀitab vajalikku (kui tekib viga, siis paigaldame xmlstarlet), kopeerige see /usr/local/bin/opennebula_exporter.sh.
Lisame croni ĂŒlesande iga minuti tagant:
*/1 * * * * (/usr/local/bin/opennebula_exporter.sh > /var/lib/opennebula_exporter/textfile_collector/opennebula.prom)Metrika hakkab ilmuma, neid saab Prometheuse kaudu koguda ja graafikuid luua ning hÀiresid seadistada. Grafanas saab nÀiteks sellise lihtsa armatuurlaua joonistada.

(nĂ€ha on, et siin tegin ĂŒlekompenseerimise cpu, ram jaoks)
Neile, kes armastavad ja kasutavad Zabbixit, on olemas
Kogu monitooringu kohta on kÔik, peamine on see, et see on olemas. Loomulikult vÔib lisaks kasutada virtuaalmasinate sisseehitatud monitooringuvahendeid ning andmed arveldamiseks vÀlja laadida, siin on kÔigil oma nÀgemus, kuid ma pole veel selle kallal pÔhjalikumalt töötanud.
Logimise kohta pole veel erilist tĂ€helepanu pööratud. Lihtsaim variant oleks lisada td-agent, et analĂŒĂŒsida kausta /var/lib/one regulaarsete vĂ€ljenditega. NĂ€iteks sobib fail sunstone.log regexp nginxile ning muud failid, mis nĂ€itavad looduse ajalugu platvormiga â milleks see hea on? NĂ€iteks saame selgelt jĂ€lgida «Error, error» arvu ja kiiremini leida, kus ja millisel tasemel on tĂ”rge.
3. Varukoopiad
On olemas ka tasulised tĂ€iendatud projektid â nĂ€iteks sep :OpenNebula_Backup. Siin peame mĂ”istma, et lihtsalt masina pildi varundamine ei ole selles osas piisav, sest meie virtuaalsed masinad peavad töötama tĂ€ies integratsioonis (sama konteksti fail, kus kirjeldatakse vĂ”rgu konfiguratsiooni, vm nimi ja kohandatud seadistused teie rakenduste jaoks). SeetĂ”ttu peame otsustama, mida ja kuidas me varundame. MĂ”nedes juhtudes on parem teha koopiaid sellest, mis asub masinas endas. Ja vĂ”ib-olla on vaja varundada ainult ĂŒks ketas antud masinast.
NĂ€iteks oleme otsustanud, et kĂ”ik masinad kĂ€ivituvad koos pĂŒsivate piltidega, seega oleme lugenud
see siis kÔigepealt saame meie vm-ilt pildi vÀlja laadida:
onevm disk-saveas 74 3 prom.qcow2
Image ID: 77
Vaata, millise nime all see salvestati
oneimage show 77
/var/lib/one//datastores/100/f9503161fe180658125a9b32433bf6e8
Ja siis kopeerime sinna, kuhu vajame. Loomulikult on see natuke nÔrk viis. Lihtsalt tahtsin nÀidata, et kasutades opennebula tööriistu, on vÔimalik selliseid lahendusi ehitada.Otsisin samuti vÔrgust ja on veel , kuid siin on ainult qcow2 salvestus.
Aga nagu me kĂ”ik teame, tuleb varem vĂ”i hiljem hetk, mil soovitakse inkrementaalseid varukoopiaid, sellega on keerulisem ja vĂ”ib-olla suudab juhtkond raha leida tasulise lahenduse jaoks vĂ”i minna teist teed, mĂ”istes, et siin me tarbime ainult ressursse, samas varundamine toimub rakenduste tasemel ning uusi node ja virtuaallokid lisades â jah, siin ma rÀÀgin, et kasutada pilve alleen rakendusklastrite kĂ€itamiseks, samas andmebaas kĂ€ivitada teisel platvormil vĂ”i vĂ”tta olemasolev teenusepakkujalt, kui see on vĂ”imalik.
4. Kasutamise mugavus
Selles punktis kirjeldan probleeme, millega olen silmitsi seisnud. NĂ€iteks piltide puhul, nagu me teame, on olemas persistent â kui see pilt on tĂŒĂŒbi kĂŒlge kinnitatud, salvestatakse kĂ”ik andmed sellesse pilti. Kui taas mittesinev, siis kopeeritakse pilt salvestusse ja andmed kirjutatakse sinna, mis on kopeeritud algsest pildist â need on mallide valmistamise viis. Olen korduvalt ise endale probleeme valmistanud, unustades mÀÀrata persistent, ja 200 GB pilt kopeeriti, probleem on selles, et tĂ”enĂ€oliselt ei saa seda protseduuri tĂŒhistada, tuleb minna node'i ja lĂ”petada jooksva "cp" protsess.
Ăks olulisemaid miinuseid on see, et toimingut ei saa lihtsalt GUI kaudu tĂŒhistada. TĂ”epoolest, sa tĂŒhistad need ja nĂ€ed, et midagi ei toimu, ja kĂ€ivitad selle jĂ€lle, tĂŒhistad ja tegelikult on juba 2 cp protsessi, mis kopeerivad pilti.
Ja siis tuleb arusaam, miks opennebula igat uut instantsi numbreerib uue ID-ga. NĂ€iteks proxmox'is lĂ”id vm ID-ga 101, kustutasid selle, siis lood taas ja ID on 101. Opennebula's seda ei juhtu, iga uus instants luuakse uue ID-ga ja selles on oma loogika â nĂ€iteks vanade andmete vĂ”i ebaĂ”nnestunud installatsioonide puhastamine.
Sama asi salvestuse osas, see platvorm on suunatud peamiselt tsentraliseeritud salvestusele. Kohaliku kasutamiseks on saadaval lisandid, kuid see pole meie teema. Arvan, et tulevikus keegi kirjutab artikli selle kohta, kuidas Ônnestus kasutada kohalikku salvestust sÔlmedes ja edukalt tootmises kasutusele vÔtta.
5. Maksimaalne lihtsus
Muidugi, mida kaugemale lÀhed, seda vÀhem on inimesi, kes sind mÔistavad.
Minu seadistustes â 3 sĂ”lme nfs salvestusega â kĂ”ik töötab korralikult. Kuid kui eksperimenteerida voolu vĂ€ljalĂŒlitamisega, siis nĂ€iteks snapshot'i kĂ€ivitamise ja sĂ”lme toitest vĂ€lja lĂŒlitamise korral salvestatakse meie andmebaasi seaded, et snapshot on olemas, kuid tegelikult seda ei ole (me kĂ”ik mĂ”istame, et algselt kirjutati SQL andmebaasi selle tegevuse kohta, kuid operatsioon ei Ă”nnestunud). Pluss on see, et snapshot'i loomisel luuakse eraldi fail ja on olemas âvanemâ, seega probleemide korral, isegi kui GUI ei tööta, saame qcow2 faili vĂ”tta ja taastuda eraldi.
Kahjuks ei ole vĂ”rkudes kĂ”ik nii lihtsalt. No vĂ€hemalt on see lihtsam kui OpenStackis, ma kasutasin ainult VLAN-i (802.1Q) â see töötab ĂŒsna hĂ€sti, kuid kui teete mingeid muudatusi sisemise vĂ”rgu seadetesse, ei rakendata neid seadeid juba töötavatele masinatele, st peate vĂ”rkaartme eemaldama ja uuesti lisama, et uued seaded kehtima hakkaksid.
Kui soovite veel OpenStackiga vĂ”rrelda, siis vĂ”ib öelda nii, et OpenNebulas ei ole selget mÀÀratlemist, milliseid tehnoloogiaid andmete salvestamiseks, vĂ”rgu haldamiseks ja ressursside jaoks kasutada â iga administreerija otsustab ise, mis talle mugavam on.
6. TĂ€iendavad pistikprogrammid ja seadistused
Kuna me mÔistame, et pilveplatvorm suudab hallata mitte ainult KVM-i, vaid ka VMware ESXi. Kahjuks ei olnud mul VCenter'i klooni, kui keegi on proovinud, kirjutage mulle.
Teiste pilveteenuste pakkujate toega on teatatud
AWS, AZURE.
Olen ka proovinud integreerida VMware Cloud'i Selecteli kaudu, kuid ei Ă”nnestunud â ĂŒhesĂ”naga loobusin, kuna on liiga palju tegureid ja kirjutada hostingu teenusepakkuja tehnilisse tugi ei ole mĂ”tet.
Samuti, uues versioonis on nĂŒĂŒd firecracker â microvm-i kĂ€ivitamine, mis on kvm-i mĂ€his dockerite kohal, mis pakub veelgi rohkem mitmekesisust, turvalisust ja tootlikkuse suurenemist, kuna ei pea ressursse kulutama seadmete emuleerimisele. NĂ€en ainult eeliseid dockerite suhtes, kuna see ei vĂ”ta lisaprotsesse ja ei kasuta sockets mitte ĂŒhegi emulatsiooni puhul, mistĂ”ttu vĂ”ib seda kasutada ka koormuse tasakaalustajana (aga sellest vĂ”iks vĂ”ib-olla kirjutada eraldi artikli, kuna ei ole veel lĂ€bi viinud kĂ”iki testimisi tĂ€ielikult).
7. Positiivne kasutuskogemus ja vigade tÔrje
Soovisin jagada oma tĂ€helepanekuid töö kohta, osa neist on eelnevalt mainitud, soovin kirjutada rohkem. TĂ”epoolest, tĂ”enĂ€oliselt ei ole ma ainus, kes esmalt arvab, et see ei ole see sĂŒsteem ja ĂŒldiselt on siin kĂ”ik konksud â kuidas sellega ĂŒldse töötada? Kuid hiljem tuleb arusaamine, et kĂ”ik on tĂ€iesti loogiline. Loomulikult ei saa kĂ”igile meeldida ja mĂ”ned aspektid vajavad tĂ€iustamist.
NĂ€iteks lihtne ketta kuva kopeerimine ĂŒhe andmesalvestusest teise. Minu puhul on kaks sĂ”lme nfs-iga, saatmine toimub kuva kaudu - kopeerimine kĂ€ib opennebula esiplaanilt, kuigi me oleme harjunud, et andmeid kopeeritakse otse hostide vahel - samamoodi nagu vmware'is ja hyper-v's on meil sellekohased kogemused, kuid siin on see erinev. Siin on teine lĂ€henemine ja teine ideoloogia, ning versioonis 5.12 eemaldati nupp âmigrate to datastoreâ - edasi kantakse ainult masin, mitte salvestus, kuna eeldatakse tsentraliseeritud salvestust.
JĂ€rgmine levinud viga erinevatel pĂ”hjustel: âVirtual machine'i juurutamine ebaĂ”nnestus: ei saanud domeeni luua failist /var/lib/one//datastores/103/10/deployment.5â Allpool on loetelu, mida tuleks kontrollida.
- Ăigused pildi jaoks kasutajale oneadmin;
- Ăigused kasutajale oneadmin libvirtd'i kĂ€ivitamiseks;
- Kas andmesalvestus on Ôigesti mountitud? Mine ja kontrolli teed salvestuse siseselt, vÔib-olla on midagi katkenud;
- Vale vÔrgu konfigureerimine, tÀpsemalt frontendis on vÔrgu seadetes, et peamise liidesena vlan jaoks on br0, samas sÔlmes on aga kirjutatud - bridge0 - peaks olema sama.
sĂŒsteemi andmehoidla salvestab teie vm-i metaandmed. Kui kĂ€ivitate vm-i pĂŒsiva pildiga, peab vm-l olema juurdepÀÀs algselt loodud konfiguratsioonile sellele salvestusse, kus loodi vm â see on vĂ€ga oluline. SeetĂ”ttu tuleb vm-i teisaldamisel teise andmehoidla kĂ”ik uuesti ĂŒle kontrollida.
8. Dokumentatsioon, kogukond. Edasiareng
Ja muud, hea dokumentatsioon, kogukond ja mis kÔige tÀhtsam, et projekt jÀtkaks edaspidi elu.
Siin on ĂŒldiselt kĂ”ik ĂŒsna hĂ€sti dokumenteeritud ja isegi ametlikest allikatest ei valmista probleeme paigaldamine ja kĂŒsimustele vastuste leidmine.
Kogukond, aktiivne. Avaldab palju valmis lahendusi, mida saate oma installatsioonides kasutada.
Praeguseks on 5.12-ga mÔned poliitikad ettevÔttes muutunud. On huvitav teada, kuidas projekt edasi areneb. Alguses mainisin teadlikult mÔningaid tarnijaid, kes kasutavad oma lahendusi ja seda, mida tööstus pakub. Kindlat vastust, mida kasutada, muidugi ei ole. Kuid vÀikestele organisatsioonidele vÔib oma vÀikese private cloud'i hoidmine osutuda odavamaks, kui see esialgu tundub. Peamine on tÀpselt teada, kas see on teie vajadus.
KokkuvĂ”tteks, olenemata sellest, mida te pilvesĂŒsteemina valisite, ei tasu jÀÀda ainult ĂŒhe toote juurde. Kui teil on aega, tasub vaadata ka teisi avatud lahendusi.
On hea vÀike vestlusruum aitavad aktiivselt ja ei suuna teid probleemi lahendust Google'ist otsima. Liituge.
Allikas: habr.com
