
Tere kĂ”igile. See artikkel on kirjutatud neile, kes endiselt kaevavad virtualiseerimisplatvormide valiku vahel ning pĂ€rast artikli lugemist sarjast âPaigaldasime proxmoxi ja kĂ”ik on suurepĂ€rane, 6 aastat tööaega ilma katkestustetaâ. Kuid pĂ€rast selle vĂ”i tolle karbis lahenduse paigaldamist tekib kĂŒsimus, kuidas siit natukene kohandada ja sealt, et jĂ€lgimine oleks arusaadavam ja et siin saaks varukoopiaid paremini kontrollida... Ja siis tuleb aeg, mil mĂ”istate, et soovite midagi funktsionaalsemat, vĂ”i soovite, et teie sĂŒsteem oleks selgem, mitte see must karp, vĂ”i soovite kasutada midagi enamat kui hĂŒperviisor ja hunnik virtuaalmasinaid. Selles artiklis on veidi mĂ”tteid ja praktikat OpenNebula platvormi pĂ”hjal - valitud, kuna see ei ole nĂ”udlik ressursside osas ja arhitektuur on suhteliselt lihtne.
Nii et, nagu nĂ€eme, töötab paljusid pilveteenuse pakkujaid KVM-il ja teevad vĂ€liseid liideseid masinate haldamiseks. Selge on see, et suured hostimisettevĂ”tted kirjutavad oma liideseid pilveinfrastruktuuri jaoks, nĂ€iteks YANDEX. MĂ”ned kasutavad OpenStacki ja teevad selle pĂ”hjal liidese - SELECTEL, MAIL.RU. Kuid kui teil on oma riistvara ja vĂ€ike meeskond spetsialiste, siis tavaliselt valitakse midagi valmis lahendustest - VMWARE, HYPER-V, on olemas tasuta ja tasulised litsentsid, aga sellest ei ole nĂŒĂŒd juttu. RÀÀgime entusiastidest - need on need, kes ei karda pakkuda ja proovida uut, hoolimata sellest, et ettevĂ”tte poolt on selgelt antud mĂ”ista, et âKes seda pĂ€rast sind hooldabâ, âKas me tĂ”esti peaksime seda tootmisse viima? Hirmutav.â Kuid alguses saab neid lahendusi katsetada testkeskkonnas ja kui kĂ”igile meeldib, siis saab tĂ”statada teema edasise arendamise ja tĂ”sisemates keskkondades kasutamise kohta.
Siin on ka link ettekandele aktiivse osaleja poolt selles platvormis arendamise juures.
VÔib-olla on artiklis midagi liigset ja kogenud spetsialistile arusaadavat, ning mÔnes olukorras ma ei kirjelda kÔike, kuna sarnaseid kÀske ja kirjeldusi leidub veebis. Siin on ainult minu kogemus selle platvormiga töötamisel. Loodan, et aktiivsed osalejad lisavad kommentaarides, mida vÔiks paremini teha ja milliseid vigu olen teinud. KÔik tegevused toimusid kodustes tingimustes, mis koosnesid kolmest arvutist erinevate parameetritega. Samuti ei viidanud ma, kuidas see tarkvara töötab ja kuidas see installida. Ei, ainult haldustööde kogemus ja probleemid, millega silmitsi seisin. VÔib-olla on see kellelegi kasulik valiku tegemisel.
Nii, alustame. Mina, kui sĂŒsteemiadministraator, pean oluliseks jĂ€rgmisi punkte, ilma milleta ma seda lahendust tĂ”enĂ€oliselt ei kasuta.
1. Installatsiooni korduvus
Opennebulat on palju installatsioonijuhendeid, seega ei tohiks probleeme tekkida. Uute versioonide ilmumisega tulevad vĂ€lja uued funktsioonid, mis ei pruugi alati töötada versiooniĂŒleminekute korral.
2. JĂ€lgimine
JĂ€lgime node'i, kvm'i ja opennebula't. Ănneks on juba olemas valmidus. Linuxi hostide jĂ€lgimiseks on palju variante, nĂ€iteks Zabbix vĂ”i node exporter - kellele mis rohkem meeldib - hetkel mÀÀratlen nii, et sĂŒsteemi metrikate jĂ€lgimine (temperatuur seal, kus see on mÔÔdetav, ketta massi jĂ€rjepidevus) toimub lĂ€bi Zabbixi, ja rakenduste jĂ€lgimise jaoks lĂ€bi eksportija Prometheuses. KVM-i jĂ€lgimiseks vĂ”ib nĂ€iteks kasutada projekti. ja seadistada kĂ€ivitamine lĂ€bi systemd, töötab kenasti ja kuvab KVM metrikad, lisaks 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.targetNii, meil on ĂŒks eksportija, jaoks opennebula jĂ€lgimist on vajalik teine, kasutasin jĂ€rgmist:
VĂ”ib lisada tavaliselt sĂŒsteemi jĂ€lgimiseks jĂ€rgmise.
Node_exporteri failis muudame kÀivituse 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
Bash skripti, nagu eelnevalt esitatud, kontrollime kÔigepealt töötlust konsoolis, kui see nÀitab, mida peab (kui see annab vea, siis paigaldame xmlstarlet'i), kopeerime selle /usr/local/bin/opennebula_exporter.sh
Lisame cron'i ĂŒlesande iga minuti tagant:
*\/1 * * * * (\/usr\/local\/bin\/opennebula_exporter.sh > \/var\/lib\/opennebula_exporter\/textfile_collector\/opennebula.prom)MÔÔdikud on hakanud ilmuma, neid saab Prometheusega koguda, graafikuid koostada ja hĂ€ireid seada. Grafanas saab nĂ€iteks joonistada sellise lihtsa dĂŒnaamilise juhtpaneeli.

(nĂ€ha, et siin tegin CPU ja RAM-i ĂŒlekompenseerimise)
Neile, kes armastavad ja kasutavad Zabbixit, on olemas
Monitooringust on kÔik, peamine on, et see olemas on. Loomulikult saab tÀiendavalt kasutada virtuaalmasinate sisseehitatud monitooringuvahendeid ja andmeid arveldamiseks vÀljastada, siin on kÔigil oma vaated, ma pole sellele veel eriti lÀhenenud.
Logimise osas pole ma veel eriti alustanud. KĂ”ige lihtsam variant on lisada td-agent katalooge saadetavate failide jaoks, nĂ€iteks kataloogis \/var\/lib\/one, kasutades regulaaravaldisi. NĂ€iteks sobib fail sunstone.log regexp-nginx ja muud failid, mis nĂ€itavad meie platvormiga seotud pĂ€ringute ajalugu â milline on selle eelis? NĂ€iteks saame otseselt jĂ€lgida 'Error, error' arvu ja kiiremini leida, kus ja mis tasemel on tĂ”rge.
3. Varukoopiad
On ka tasulisi tĂ€iustatud projekte â nĂ€iteks sep :OpenNebula_Backup. Siin peame aru saama, et lihtsalt masina pildi varundamine ei tĂ€henda veel seda, et meie virtuaalmasinad peavad töötama tĂ€ieliku integreeritusega (sama konteksti fail, mis kirjeldab vĂ”rgu seadeid, vm nime ja kohandatud seadeid teie rakenduste jaoks). SeetĂ”ttu mÀÀrame, mida ja kuidas me varundame. MĂ”nel juhul on parem teha koopiaid sellest, mis asub masinas endas. Ja vĂ”ib-olla peaksime varundama ainult ĂŒhe ketta antud masinast.
NĂ€iteks oleme otsustanud, et kĂ”ik masinad kĂ€ivitatakse pĂŒsivate piltidega, seega lugedes
saame kÔigepealt meie VM-ist 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 seejÀrel kopeerime kuhugi, kus me seda vajame. Loomulikult pole see parim viis. Lihtsalt tahtsin nÀidata, et kasutades OpenNebula tööriistu, saab selliseid lahendusi luua.Samas, netis leidsin ja on veel , kuid see on ainult qcow2 ladustamise jaoks.
Kuid nagu me kĂ”ik teame, tuleb varem vĂ”i hiljem hetk, mil soovitakse inkrementaalseid varukoopiaid. Siin on see keerulisem ja vĂ”ib-olla eraldab juhtkond raha tasulise lahenduse jaoks vĂ”i tuleb minna teist teed, mĂ”istes, et siin kulutame ainult ressursse, samal ajal kui varundamine toimub rakenduste tasemel ja uute sĂ”lmede ja virtuaalmasinate lisamine â jah, ma rÀÀgin, et kasutage pilve ainult rakenduste klastrite kĂ€ivitamiseks, samas kui andmebaasid tuleks kĂ€ivitada teisel platvormil vĂ”i vĂ”tta tarnijalt valmis lahendus, kui see on vĂ”imalik.
4. Kasutamise mugavus
Selles punktis kirjeldan probleeme, millega olen kokku puutunud. NĂ€iteks piltide osas, nagu me teame on olemas persistent â kui see pilt montaaĆŸitakse virtuaalmasinale, salvestatakse kĂ”ik andmed sellesse pilti. Kui aga non-persistent, siis kopeeritakse pilt salvestusse ja andmed kirjutatakse sinna, kuhu see kopeeriti algsest pildist â just nii toimivad mallide ettevalmistused. Olen korduvalt endale probleeme tekitanud, unustades mÀÀrata persistent ja 200 GB pilt kopeeriti, probleemiks on see, et tĂ”enĂ€oliselt seda protseduuri tĂŒhistada ei saa, tuleb minna sĂ”lme ja oma ajaloo âcpâ praegust protsessi katkestama.
Ăks olulisi miinuseid â tegevusi ei saa lihtsalt GUI-d kasutades tĂŒhistada. TĂ€psemalt öeldes, tĂŒhistad nad ja nĂ€ed, et midagi ei toimu ja kĂ€ivitad uuesti; tĂŒhistad ja sisuliselt on juba 2 âcpâ protsessi, mis kopeerivad pilti.
Ja siia tulebki arusaamine, miks opennebula igale uuele instantsile uue ID numbri paneb. NĂ€iteks proxmoxis lĂ”id VM ID-ga 101, kustutasid selle, siis loodi see uuesti ja ID jÀÀb 101-ks. Opennebula puhul ei juhtu seda, iga uus instants luuakse uue ID-ga ja selles on oma loogika â nĂ€iteks vanade andmete vĂ”i ebaĂ”nnestunud installatsioonide puhastamine.
Sama on ka salvestusega; see platvorm on suunatud peamiselt tsentraliseeritud salvestusele. Kohalike lahenduste kasutamiseks on olemas lisandmooduleid, kuid antud juhul ei ole see teemaks. Arvan, et tulevikus keegi kirjutab artikli selle kohta, kuidas on Ônnestunud kasutada kohalikke salvestusi sÔlmedes ja edukalt kasutada neid tootmises.
5. Maksimaalne lihtsus
Muidugi, mida kaugemale sa lÀhed, seda vÀhem on neid, kes sind mÔistavad.
Minu selle seadmestiku tingimustes â 3 nodi NFS salvestusega â kĂ”ik töötab piisavalt hĂ€sti. Kuid kui katsetada voolu katkestamist, nĂ€iteks snapshoti kĂ€ivitamisel ja nodi toite katkestamisel, siis jÀÀvad meil andmed andmebaasis, et snapshot on olemas, kuigi tegelikult seda ei ole (noh, me mĂ”istame kĂ”ik, et algselt salvestasime SQL andmebaasi selle toimingu kohta, kuid operatsioon ei Ă”nnestunud). Eeliseks on, et snapshoti loomisel genereeritakse eraldi fail ja on "vanem", seega probleemide korral, isegi kui GUI ei tööta, saame qcow2 faili vĂ”tta ja taastuda eraldi.
VĂ”rkude osas, kahjuks ei ole kĂ”ik nii lihtne. Noh, vĂ€hemalt lihtsam kui OpenStackis, ma kasutasin ainult VLAN-i (802.1Q) â see töötab kenasti, kuid kui teete muutusi mallvĂ”rgu seadetes, ei rakendata neid juba töötavatele masinatele, st tuleb vĂ”rgukaart eemaldada ja uuesti lisada, siis rakenduvad uued seaded.
Kui soovite vĂ”rrelda OpenStackiga, vĂ”ib öelda nii: OpenNebulas ei ole selget mÀÀratlemist, milliseid tehnoloogiaid andmete salvestamiseks, vĂ”rgu juhtimiseks, ressursside haldamiseks kasutada â iga administraator otsustab ise, kuidas tal on mugavam.
6. TĂ€iendavad pluginad ja installatsioonid
Kuna me mĂ”istame, et pilveplatvorm saab hallata mitte ainult KVM-i, vaid ka VMware ESXi-d. Kahjuks ei olnud mul juurdepÀÀsu Vcenterâi, kui keegi on proovinud, kirjutage.
Teiste pilveteenuse pakkujate toetuses on kuulutatud
AWS, AZURE.
Ma proovisin ka VMware Cloudi Selectelilt, kuid ei saanud millestki aru â ĂŒldiselt loobusin, kuna on palju tegureid, ja pole mĂ”tet kirjutada hostingu teenusepakkuja tehnilise toe poole.
Lisaks on uues versioonis Firecracker â see on mikrovms-i kĂ€ivitamine, tĂŒĂŒ pilveserveri KVM-i ĂŒle Dockerâi, mis pakub veelgi rohkem universaalsust, turvalisust ja jĂ”udlust, kuna ei pea kulutama ressursse riistvara emulatsioonile. NĂ€en ainult eeliseid vĂ”rreldes Dockerâiga, kuna see ei vĂ”ta lisaprotsesse ja ei kasuta sokette selle emulatsiooni kasutamisel, seega saab seda kenasti kasutada koormuse tasakaalustajana (aga sellest peaks vist eraldi artikli kirjutama, kuna ei ole oma teste tĂ€iel mÀÀral lĂ€bi viinud).
7. Positiivne kogemus kasutamisest ja vigade tÔrke.
Soovin jagada oma tĂ€helepanekuid töö kohta, osa neist on juba eespool kirjeldatud, tahan kirjutada rohkem. TĂ”eliselt, tĂ”enĂ€oliselt ei ole ma ainus, kes alguses arvas, et see ei ole see sĂŒsteem ja et siin on kĂ”ik kohmakas â kuidas sellega ĂŒldse töötada? Kuid siis tuleb arusaamine, et kĂ”ik on tĂ€iesti loogiline. Loomulikult ei saa kĂ”iki rahuldada ja mĂ”ned teemad vajavad tĂ€iustamist.
NĂ€iteks lihtne toiming, kus kopeeritakse ketaspilti ĂŒhest andmemagasi kohast teise. Minu juhul on 2 nodeâi nfs-iga, ma saadan pildi â kopeerimine toimub opennebula frontend'i kaudu, kuigi me oleme harjunud, et andmed peavad kopeeruma otse hostide vahel â nagu vmwareâis, hyper-v-s oleme harjunud just sellega, kuid siin on teisiti. Siin on teine lĂ€henemine ja teine ideoloogia, ning versioonis 5.12 eemaldati nupp âmigrate to datastoreâ â liigub ainult masin, mitte salvestus, kuna eeldatakse tsentraliseeritud salvestust.
Edasi populaarne viga erinevate pĂ”hjustega âError deploying virtual machine: Could not create domain from /var/lib/one//datastores/103/10/deployment.5â Allpool on top, mida tasub vaadata.
- Ăigused pildile kasutajale oneadmin;
- Ăigused kasutajale oneadmin libvirtd kĂ€ivitamiseks;
- Kas andmemagasi on Ôigesti monteeritud? Mine ja kontrolli rada ise node'is, vÔib-olla on midagi katkenud;
- VÀÀralt konfigureeritud vĂ”rk, tĂ€psemalt on frontend'i vĂ”rgue seadetes, et br0 on peamine liides vlanâi jaoks, kuid node'is on kirjas â bridge0 â see peab olema ĂŒhtlane.
system datastore salvestab teie vm-i metaandmed, kui kĂ€ivitate vm-i persistent image'iga, peab vm olema juurdepÀÀs algselt loodud konfiguratsioonile seal, kus te vm-i lĂ”ite â see on vĂ€ga oluline. SeetĂ”ttu tuleb vm-i teisaldamisel teise andmemagasi kĂ”ik uuesti ĂŒle kontrollida.
8. Dokumentatsioon, kogukond. Edasine areng
Ja ĂŒlejÀÀnud, hea dokumentatsioon, kogukond ja kĂ”ige tĂ€htsam, et projekt jĂ€tkaks tulevikus elu.
Siin on ĂŒldiselt kĂ”ik ĂŒsna hĂ€sti dokumenteeritud ning isegi ametlikust allikast ei ole probleeme installida ja leida vastuseid kĂŒsimustele.
Kogukond on aktiivne. Avaldab palju valmis lahendusi, mida saate oma seadistustes kasutada.
Hetkel on versioonis 5.12 muutunud mÔned poliitikad ettevÔttes Huvitav oleks teada, kuidas projekt areneb. Alguses mainisin teadlikult mÔningaid teenusepakkujaid, kes kasutavad oma lahendusi ja seda, mida tööstus pakub. Kindlat vastust selle kohta, mida kasutada, pole kindlasti olemas. Kuid vÀikestele organisatsioonidele vÔib oma vÀikese erakliendi toetamine osutuda odavamaks, kui see esialgu tunduda vÔib. Peamine on tÀpselt teada, et see on teile vajalik.
KokkuvĂ”ttes, sĂ”ltumata sellest, mida olete valinud oma pilvesĂŒsteemiks, ei tasu jÀÀda ĂŒhe toote juurde. Kui teil on aega, tasuks tutvuda teiste avatumate lahendustega.
On hea vestlusring. aitavad aktiivselt ning ei saada teid probleemi lahendust otsima Googlest. Liituge.
Allikas: habr.com
