Iepennebula. Koarte notysjes

Iepennebula. Koarte notysjes

Hoi allegearre. Dit artikel is skreaun foar dyjingen dy't noch ferskuord binne tusken it kiezen fan virtualisaasjeplatfoarms en nei it lêzen fan it artikel út 'e searje "Wy hawwe proxmox ynstalleare en yn't algemien is alles goed, 6 jier uptime sûnder ien pauze." Mar nei it ynstallearjen fan ien of oare out-of-the-box oplossing, komt de fraach op: hoe kin ik dit hjir korrigearje, sadat de tafersjoch mear begryplik is, en hjir, om backups te kontrolearjen .... En dan komt de tiid en jo realisearje dat jo wat mear funksjoneel wolle, of jo wolle dat alles yn jo systeem dúdlik wurdt, en net dizze swarte doaze, of jo wolle wat mear brûke as in hypervisor en in bosk firtuele masines. Dit artikel sil wat gedachten en praktyk befetsje basearre op it Opennebula-platfoarm - ik haw it keazen omdat. it is net easket op middels en de arsjitektuer is net sa kompleks.

En sa, lykas wy sjogge, wurkje in protte wolkproviders oan kvm en meitsje eksterne ferbiningen om masines te kontrolearjen. It is dúdlik dat grutte hosters har eigen kaders skriuwe foar wolkynfrastruktuer, deselde YANDEX bygelyks. Immen brûkt openstack en makket in ferbining op dizze basis - SELECTEL, MAIL.RU. Mar as jo jo eigen hardware en in lyts personiel fan spesjalisten hawwe, kieze jo gewoanlik wat klear - VMWARE, HYPER-V, d'r binne fergees en betelle lisinsjes, mar dat is net wêr't wy it no oer hawwe. Litte wy prate oer entûsjasters - dit binne dejingen dy't net bang binne om wat nijs oan te bieden en te besykjen, nettsjinsteande it feit dat it bedriuw dúdlik makke hat: "Wa sil dit nei jo tsjinje," "Sille wy dit letter yn produksje rôlje. ? Scary." Mar jo kinne dizze oplossingen earst tapasse yn in testbank, en as elkenien it liket, dan kinne jo de fraach fan fierdere ûntwikkeling en gebrûk yn mear serieuze omjouwings ophelje.

Ek hjir is in keppeling nei it rapport www.youtube.com/watch?v=47Mht_uoX3A fan in aktive dielnimmer oan 'e ûntwikkeling fan dit platfoarm.

Miskien yn dit artikel sil wat oerstallich wêze en al begryplik foar in betûfte spesjalist, en yn guon gefallen sil ik net alles beskriuwe, om't ferlykbere kommando's en beskriuwingen beskikber binne op it ynternet. Dit is gewoan myn ûnderfining mei dit platfoarm. Ik hoopje dat aktive dielnimmers yn de opmerkings sille tafoegje wat der better kin en hokker flaters ik makke. Alle aksjes fûnen plak yn in thússtand besteande út 3 PC's mei ferskate skaaimerken. Ek haw ik spesifyk net oanjûn hoe't dizze software wurket en hoe't jo it kinne ynstallearje. Nee, allinich administraasjeûnderfining en de problemen dy't ik tsjinkaam. Miskien sil dit nuttich wêze foar ien yn har kar.

Dus, lit ús begjinne. As systeembehearder binne de folgjende punten wichtich foar my, sûnder dat ik dizze oplossing net wierskynlik sil brûke.

1. Ynstallaasje repeatability

D'r binne in protte ynstruksjes foar it ynstallearjen fan opennebula, d'r moatte gjin problemen wêze. Fan ferzje nei ferzje ferskine nije funksjes dy't net altyd sille wurkje as jo fan ferzje nei ferzje ferpleatse.

2. Monitoring

Wy sille monitor it knooppunt sels, kvm en opennebula. Gelokkich is it al klear. D'r binne in protte opsjes foar it kontrolearjen fan Linux-hosts, deselde Zabbix- as knooppunt-eksporteur - wa't wat better fynt - op it stuit definiearje ik it as monitorsysteemmetriken (temperatuer wêr't it kin wurde mjitten, konsistinsje fan 'e skiif-array), fia zabbix , en as foar applikaasjes fia de Prometheus eksporteur. Foar kvm-monitoring kinne jo bygelyks it projekt nimme github.com/zhangjianweibj/prometheus-libvirt-exporter.git en set it om fia systemd te rinnen, it wurket frij goed en toant kvm-metriken, d'r is ek in klearmakke dashboard grafana.com/grafana/dashboards/12538.

Hjir is bygelyks myn bestân:

/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

En sa hawwe wy 1 eksporteur, wy hawwe in twadde nedich om de iepennebula sels te kontrolearjen, ik haw dit brûkt github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

Kin wurde tafoege oan normaal node_exporter te kontrolearjen it systeem de folgjende.

Yn it node_exporter-bestân feroarje wy de start sa:

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

Meitsje in map mkdir -p /var/lib/opennebula_exporter

bash-skript hjirboppe presintearre, kontrolearje wy earst it wurk fia de konsole, as it toant wat wy nedich binne (as it in flater jout, dan ynstallearje xmlstarlet), kopiearje it nei /usr/local/bin/opennebula_exporter.sh

Foegje in cron-taak ta foar elke minút:

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

Metriken begon te ferskinen, jo kinne se nimme as in prometheus en grafiken bouwe en warskôgings meitsje. Yn Grafana kinne jo bygelyks sa'n ienfâldich dashboard tekenje.

Iepennebula. Koarte notysjes

(it is dúdlik dat ik hjir cpu, ram oermeitsje)

Foar dyjingen dy't fan Zabbix hâlde en brûke, is d'r github.com/OpenNebula/addon-zabbix

Wat it tafersjoch oanbelanget is it wichtichste dat it der is. Fansels kinne jo ek de ynboude ark foar monitoaring fan firtuele masines brûke en gegevens oplade nei fakturearring, hjir hat elkenien har eigen fyzje, ik bin noch net begon te wurkjen oan dit nauwer.

Ik bin noch net echt begon te loggen. De ienfâldichste opsje is om td-agent ta te foegjen om de map /var/lib/one te parsearjen mei reguliere útdrukkingen. Bygelyks, it sunstone.log-bestân komt oerien mei de nginx regexp en oare bestannen dy't de skiednis fan tagong ta it platfoarm sjen litte - wat is it foardiel hjirfan? No, bygelyks, kinne wy ​​​​eksplisyt it oantal "Flater, flater" folgje en fluch folgje wêr't en op hokker nivo in defekt is.

3. Reservekopy

Der binne ek betelle ôfmakke projekten - bygelyks sep wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon:OpenNebula_Backup. Hjir moatte wy begripe dat gewoan reservekopy fan in masineôfbylding yn dit gefal hielendal net itselde is, om't ús firtuele masines moatte wurkje mei folsleine yntegraasje (itselde kontekstbestân dat de netwurkynstellingen, vm-namme en oanpaste ynstellings foar jo applikaasjes beskriuwt) . Dêrom beslute wy hjir wat en hoe't wy in reservekopy sille meitsje. Yn guon gefallen is it better om kopyen te meitsjen fan wat yn 'e vm sels stiet. En miskien moatte jo mar ien skiif meitsje fan in opjûne masine.

Wy hawwe bygelyks bepaald dat alle masines begjinne mei persistente ôfbyldings, dus nei it lêzen docs.opennebula.io/5.12/operation/vm_management/img_guide.html

Dit betsjut dat wy earst de ôfbylding kinne uploade fan ús vm:

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

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

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

Ik fûn ek op it ynternet nijsgjirrich rapport en der is mear sa'n iepen projekt, mar der is allinnich opslach foar qcow2.

Mar sa't wy allegearre witte, komt der ier of let in tiid dat jo inkrementele backups wolle, it is hjir dreger en miskien sil it management jild tawize foar in betelle oplossing, of de oare kant op gean en begripe dat wy hjir allinich boarnen besunigje, en it meitsjen fan backups op it tapassingsnivo en it tafoegjen fan in oantal nije knopen en firtuele masines - ja, hjir, ik sis dat ik de wolk suver brûke om applikaasjeklusters te starten, en de database op in oar platfoarm te starten of in klear makke fan de leveransier, as it mooglik is.

4. Gemak fan gebrûk

Yn dizze paragraaf sil ik de problemen beskriuwe dy't ik tsjinkaam. Bygelyks, neffens ôfbyldings, lykas wy witte, is d'r persistint - as dizze ôfbylding op in vm is monteard, wurde alle gegevens nei dizze ôfbylding skreaun. En as net-persistent, dan wurdt de ôfbylding kopiearre nei de opslach en de gegevens wurde skreaun nei wat waard kopiearre út de boarne ôfbylding - dit is hoe sjabloan sjabloanen wurkje. Ik haw ferskate kearen problemen foar mysels feroarsake troch te ferjitten om persistent oan te jaan en de 200 GB-ôfbylding waard kopiearre, it probleem is dat dizze proseduere wis net kin wurde annulearre, jo moatte nei it knooppunt gean en it hjoeddeistige "cp" -proses deadzje.

Ien fan 'e wichtige neidielen is dat jo aksjes net kinne annulearje mei gewoan de gui. Of leaver, jo sille se annulearje en sjen dat der neat bart en jo sille se opnij begjinne, se annulearje en yn feite sille d'r al 2 cp-prosessen wêze dy't de ôfbylding kopiearje.

En dan komt it om te begripen wêrom't iepennebula elke nije eksimplaar nûmeret mei in nije id, bygelyks, yn deselde proxmox makke in vm mei id 101, wiske it, dan meitsje jo it wer en id 101. Yn opennebula sil dit net barre, elke nije eksimplaar sil makke wurde mei in nije id en dit hat syn eigen logika - bygelyks âlde gegevens wiskje of net suksesfolle ynstallaasjes.

Itselde jildt foar opslach; meast fan alles is dit platfoarm rjochte op sintrale opslach. D'r binne tafoegings foar it brûken fan lokaal, mar dat is net wêr't wy it oer hawwe yn dit gefal. Ik tink dat immen yn 'e takomst in artikel sil skriuwe oer hoe't se it slagge om lokale opslach op knopen te brûken en it mei súkses te brûken yn produksje.

5. Maksimum ienfâld

Fansels, hoe fierder jo geane, hoe minder dejingen wurde dy't jo sille begripe.

Under de betingsten fan myn stand - 3 knopen mei nfs opslach - alles wurket goed. Mar as wy eksperiminten útfiere mei in stroomûnderbrekking, bygelyks by it útfieren fan in momintopname en it útskeakeljen fan de krêft fan 'e knooppunt, bewarje wy ynstellings yn' e databank dat d'r in momintopname is, mar yn feite is d'r gjin (goed, wy begripe allegear dat wy skreau earst de databank oer dizze aksje yn sql , mar de operaasje sels wie net suksesfol). It foardiel is dat by it meitsjen fan in momintopname in aparte triem wurdt foarme en d'r is in "âlder", dus yn gefal fan problemen en sels as it net wurket fia gui, kinne wy ​​​​de qcow2-bestân ophelje en it apart weromsette docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

Op netwurken is spitigernôch net alles sa ienfâldich. No, it is teminsten makliker as yn openstack, ik brûkte allinich vlan (802.1Q) - it wurket frij goed, mar as jo wizigingen meitsje yn 'e ynstellings fan it sjabloannetwurk, dan wurde dizze ynstellings net tapast op al rinnende masines, d.w.s. jo moatte in netwurkkaart wiskje en tafoegje, dan wurde de nije ynstellings tapast.

As jo ​​​​it ek wolle fergelykje mei openstack, dan kinne jo dit sizze: yn opennebula is d'r gjin dúdlike definysje fan hokker technologyen te brûken foar it bewarjen fan gegevens, it behearjen fan it netwurk, boarnen - elke behearder beslút foar himsels wat foar him handiger is.

6. Oanfoljende plugins en ynstallaasjes

Ommers, sa't wy it begripe, kin it wolkplatfoarm net allinich kvm beheare, mar ek vmware esxi. Spitigernôch, ik hie gjin swimbad mei Vcenter, as immen hat besocht, please skriuwe.

Stipe foar oare wolkproviders wurdt oanjûn docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS, AZURE.

Ik besocht ek Vmware Cloud te ferbinen fan Selectel, mar neat wurke - yn 't algemien waard it blokkearre om't d'r in protte faktoaren binne, en d'r is gjin punt om te skriuwen nei de technyske stipe fan' e hostingprovider.

Ek, no hat de nije ferzje firecracker - dit is de lansearring fan microvm, in soarte fan kvm harnas oer docker, dy't noch mear veelzijdigheid, feiligens en ferhege produktiviteit jout, om't d'r gjin need is om boarnen te fergrieme op it emulearjen fan apparatuer. It ienige foardiel dat ik sjoch boppe Docker is dat it gjin ekstra oantal prosessen nimt en d'r binne gjin besette sockets by it brûken fan dizze emulaasje, d.w.s. It is hiel mooglik om it te brûken as in load balancer (mar it is wierskynlik it wurdich om in apart artikel oer dit te skriuwen oant ik alle tests folslein haw útfierd).

7. Posityf ûnderfining fan gebrûk en flater debuggen

Ik woe myn observaasjes oer it wurk diele, ik haw hjirboppe wat fan beskreaun, ik soe graach mear skriuwe wolle. Ja, ik bin wierskynlik net de iennichste dy't earst tinkt dat dit net it goede systeem is en yn 't algemien is alles hjir in kruk - hoe wurkje se hjir sels mei? Mar dan komt it begryp dat alles frij logysk is. Fansels kinne jo net elkenien graach en guon aspekten fereaskje ferbettering.

Bygelyks, in ienfâldige operaasje fan it kopiearjen fan in skiifôfbylding fan de iene datastore nei de oare. Yn myn gefal binne d'r 2 knooppunten mei nfs, ik stjoer de ôfbylding - kopiearjen bart troch de frontend opennebula, hoewol wy allegear wend binne oan it feit dat gegevens direkt moatte wurde kopieare tusken hosts - yn deselde vmware, hyper-v binne wy wend oan dit, mar hjir oan in oar. D'r is in oare oanpak en in oare ideology, en yn ferzje 5.12 hawwe se de knop "migrearje nei datastore" fuortsmiten - allinich de masine sels wurdt oerdroegen, mar net de opslach, om't betsjut sintralisearre opslach.

Folgjende is in populêre flater mei ferskate redenen: "Flater ynsette firtuele masine: Koe gjin domein meitsje fan /var/lib/one//datastores/103/10/deployment.5" Hjirûnder is it boppeste ding om te sjen.

  • Ofbyldingsrjochten foar de oneadmin-brûker;
  • Tastimmingen foar de oneadmin-brûker om libvirtd út te fieren;
  • Is de datastore goed monteard? Gean en kontrolearje it paad op it knooppunt sels, miskien is der wat fallen;
  • Ferkeard ynsteld netwurk, of leaver op 'e frontend, is it yn' e netwurkynstellingen dat de haadynterface foar vlan br0 is, mar op 'e node is it skreaun as bridge0 - it moat itselde wêze.

systeem datastore bewarret metadata foar jo vm, as jo de vm útfiere mei in persistente ôfbylding, dan moat de vm tagong hawwe ta de ynearsten oanmakke konfiguraasje op 'e opslach wêr't jo de vm makke hawwe - dit is heul wichtich. Dêrom, by it oerdragen fan in vm nei in oare datastore, moatte jo alles dûbel kontrolearje.

8. Dokumintaasje, mienskip. Fierdere ûntwikkeling

En de rest, goede dokumintaasje, mienskip en it wichtichste ding is dat it projekt bliuwt libje yn 'e takomst.

Yn 't algemien is alles frij goed dokumintearre en sels mei in offisjele boarne sil it gjin probleem wêze om te ynstallearjen en antwurden op fragen te finen.

Mienskip, aktyf. Publisearret in protte klearmakke oplossingen dy't jo kinne brûke yn jo ynstallaasjes.

Op it stuit binne guon belied yn it bedriuw feroare sûnt 5.12 forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 It sil nijsgjirrich wêze om te sjen hoe't it projekt him ûntwikkelet. Oan it begjin wiisde ik spesifyk op guon fan 'e leveransiers dy't har oplossingen brûke en wat de yndustry biedt. Fansels is d'r gjin dúdlik antwurd op wat te brûken. Mar foar lytsere organisaasjes is it behâld fan har lytse privee wolk miskien net sa djoer as it liket. It wichtichste is om krekt te witten wat jo nedich binne.

As gefolch, nettsjinsteande wat jo kieze as wolksysteem, moatte jo net stopje by ien produkt. As jo ​​​​tiid hawwe, is it de muoite wurdich om nei oare mear iepen oplossingen te sjen.

Der wurdt goed praat t.me/opennebula Se helpe aktyf en stjoere jo net om te sykjen nei in oplossing foar it probleem op Google. Kom by ûs.

Boarne: www.habr.com

Add a comment