Opennebula. Shënime të shkurtra

Opennebula. Shënime të shkurtra

PĂ«rshĂ«ndetje tĂ« gjithĂ«ve. Ky artikull Ă«shtĂ« shkruar pĂ«r ata qĂ« ende po hezitojnĂ« mes platformave tĂ« virtualizimit dhe pas leximit tĂ« artikujve nga seria "VendosĂ«m proxmox dhe gjithçka Ă«shtĂ« shkĂ«lqyer, 6 vjet uptime pa asnjĂ« ndĂ«rprerje". Por pas instalimit tĂ« njĂ« ose tjetĂ«r zgjidhjeje, lind pytja se si mund tĂ« pĂ«rmirĂ«sohet monitorimi dhe si tĂ« kontrollohen backup-et. Pastaj vjen koha dhe kuptoni se doni diçka mĂ« funksionale, ose dĂ«shironi qĂ« brenda sistemit tuaj gjithçka tĂ« jetĂ« e qartĂ«, e jo njĂ« kuti e zezĂ«, ose dĂ«shironi tĂ« pĂ«rdorni diçka mĂ« shumĂ« sesa vetĂ«m njĂ« hipervizor dhe njĂ« grumbull makinash virtuale. Ky artikull do tĂ« ofrojĂ« disa refleksione dhe praktika nĂ« baza tĂ« platformĂ«s Opennebula — e kam zgjedhur sepse nuk kĂ«rkon shumĂ« burime dhe arkitektura e saj nuk Ă«shtĂ« aq e ndĂ«rlikuar.

Pra, siç e shohim, shumĂ« ofrues tĂ« shĂ«rbimeve Cloud punojnĂ« mbi KVM dhe krijojnĂ« njĂ« lidhje tĂ« jashtme pĂ«r menaxhimin e makinave. ËshtĂ« e qartĂ« se hostet e mĂ«dhenj shkruajnĂ« lidhje tĂ« tyne pĂ«r infrastrukturĂ«n cloud, si YANDEX p.sh. Disa pĂ«rdorin OpenStack dhe krijojnĂ« lidhje mbi kĂ«tĂ« bazĂ« — SELECTEL, MAIL.RU. Por nĂ«se keni pajisjet tuaja dhe njĂ« staf tĂ« vogĂ«l specialistĂ«sh, zakonisht zgjedhin diçka nga zgjidhjet e gatshme — VMWARE, HYPER-V, ka licenca falas dhe me pagesĂ«, por tani nuk do flasim pĂ«r kĂ«tĂ«. Le tĂ« flasim pĂ«r entuziastĂ«t — ata qĂ« nuk kanĂ« frikĂ« tĂ« propozojnĂ« dhe provojnĂ« tĂ« reja, megjithĂ«se kompania ka dhĂ«nĂ« tĂ« kuptojĂ« qartĂ« "Kush do ta mirĂ«mbajĂ« kĂ«tĂ« pas teje?", "A do ta nxjerrim kĂ«tĂ« nĂ« prodhim? E frikshme." Por mund tĂ« filloni ta pĂ«rdorni atĂ« nĂ« kushte testimi dhe nĂ«se tĂ« gjithĂ«ve u pĂ«lqen, mund tĂ« ngremĂ« çështjen pĂ«r zhvillimin e mĂ«tejshĂ«m dhe pĂ«rdorimin nĂ« mjedise mĂ« serioze.

Po ashtu, ja një lidhje për një raport www.youtube.com/watch?v=47Mht_uoX3A nga një pjesëmarrës aktiv në zhvillimin e kësaj platforme.

Ndoshta në këtë artikull ka diçka që do të duket e tepërt dhe e qartë për një specialist të përsosur, dhe në disa raste nuk do ta përshkruaj gjithçka, pasi komanda dhe përshkrimi të ngjashëm mund të gjenden në rrjet. Këtu është vetëm përvoja ime me këtë platformë. Shpresoj që pjesëmarrësit aktivë të dorëzojnë në komentet se çfarë mund të bëhet më mirë dhe cilat gabime kam bërë. Të gjitha veprimet ishin në kushte shtëpiake, përbërë nga 3 PC me karakteristika të ndryshme. Gjithashtu, unë specialisht nuk e kam përmendur si funksionon ky soft dhe si instalohet. Jo, vetëm përvoja e administratës dhe problemet me të cilat u përballa. Ndoshta kjo do të jetë e dobishme për dikë në vendimmarrje.

Kështu, le të fillojmë. Për mua si administrator sistemor, piketat e mëposhtme janë të rëndësishme, pa të cilat vështirë se do ta përdor këtë zgjidhje.

1. Ripërsëritshmëria e instalimit

Ka shumë udhëzime për instalimin e opennebula, nuk duhet të ketë probleme këtu. Nga versioni në version shfaqen karakteristika të reja, të cilat nuk gjithmonë mund të funksionojnë gjatë kalimit nga një version në tjetrin.

2. Monitorimi

Do tĂ« monitorojmĂ« nodĂ«n vetĂ«, kvm dhe opennebula. FatmirĂ«sisht, tashmĂ« ka njĂ« zgjedhje tĂ« gatshme. Ka shumĂ« mundĂ«si pĂ«r monitorimin e hosteve linux, siç Ă«shtĂ« Zabbix ose Node Exporter – kushdo qĂ« e preferon mĂ« shumĂ« – pĂ«r momentin e pĂ«rcaktoj kĂ«shtu qĂ« monitorimi i metrikave sistemore (temperatura atje ku mund tĂ« matet, konsistenca e grumbullit tĂ« disqeve) bĂ«het pĂ«rmes Zabbix, ndĂ«rsa pĂ«r aplikacionet me eksporter nĂ« Prometheus. PĂ«r monitorimin e kvm, pĂ«r shembull, mund tĂ« marrĂ« njĂ« projekt github.com/zhangjianweibj/prometheus-libvirt-exporter.git dhe tĂ« vendosim ekzekutimin pĂ«rmes systemd, funksionon mirĂ« dhe tregon metrikat e kvm, gjithashtu ka njĂ« dashboard tĂ« gatshĂ«m grafana.com/grafana/dashboards/12538.

Për shembull, ja skedari im:

/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

Dhe kështu kemi 1 eksporter, na nevojitet i dyti për monitorimin e opennebula, përdora një të tillë github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

Mund të shtohet në të zakonshmet node_exporter për monitorimin e sistemit si më poshtë.

Në skedarin e node_exporter, ndryshojmë fillimin kështu:

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

Krijojmë direktorinë mkdir -p /var/lib/opennebula_exporter

skriptin bash të paraqitur më sipër e kontrollojmë fillimisht përmes konsolës, nëse tregon atë që duhet (nëse jep gabim, vendosim xmlstarlet), e kopjojmë në /usr/local/bin/opennebula_exporter.sh

Shtojmë një detyrë në cron për çdo minutë:

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

Metodikët janë shfaqur, mund t'i merrni ato nga Prometheusi, të ndërtoni grafikë dhe të bëni alarme. Në Grafana, mund të vizatoni një panel të tillë të thjeshtë.

Opennebula. Shënime të shkurtra

(është e dukshme se këtu kam bërë overcommit cpu, ram)

Për ata që e duan dhe e përdorin Zabbix, ka github.com/OpenNebula/addon-zabbix

Për monitorimin, kjo është e gjitha, më e rëndësishmja është se ekziston. Sigurisht, mund të shtoni edhe përdorimin e mjeteve të ndërtuara për monitorimin e makinave virtuale dhe të shkarkoni të dhënat në billing, këtu të gjithë kanë vizionin e tyre, për momentin nuk kam filluar ta shqyrtoj më thellë.

PĂ«r regjistrimin, deri tani nuk kam filluar shumĂ«. Si njĂ« opsion mĂ« i thjeshtĂ«, Ă«shtĂ« tĂ« shtoni td-agent pĂ«r tĂ« analizuar drejtorinĂ« /var/lib/one me shprehje tĂ« rregullta. PĂ«r shembull, skedari sunstone.log i pĂ«rshtatet regexp nginx dhe skedarĂ«ve tĂ« tjerĂ« qĂ« tregojnĂ« historikun e aksesimeve me platformĂ«n — çfarĂ« Ă«shtĂ« pĂ«rfitimi kĂ«tu? PĂ«r shembull, ne mund tĂ« ndjekim saktĂ«sisht numrin e 'Error, error' dhe tĂ« pĂ«rcaktojmĂ« mĂ« shpejt se ku dhe nĂ« cilin nivel ka ndodhur njĂ« defekt.

3. Kopjet rezervë

Ka gjithashtu projekte tĂ« paguara tĂ« pĂ«rmirĂ«suara — pĂ«r shembull sep wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon:OpenNebula_Backup. KĂ«tu duhet tĂ« kuptojmĂ« se thjesht kopjimi i imazhit tĂ« makinĂ«s, nĂ« kĂ«tĂ« rast, nuk Ă«shtĂ« e njĂ«jta gjĂ«, pasi makinat tona virtuale duhet tĂ« punojnĂ« me integrim tĂ« plotĂ« (ata tĂ« njĂ«jtin kontekst skedari, nĂ« tĂ« cilin pĂ«rshkruhen konfigurimet e rrjetit, emri i vm dhe konfigurimet e personalizuara pĂ«r aplikacionet tuaja). Prandaj, ne pĂ«rcaktojmĂ« se çfarĂ« dhe si do tĂ« bĂ«jmĂ« kopjimin. NĂ« disa raste, Ă«shtĂ« mĂ« mirĂ« tĂ« bĂ«ni kopje tĂ« asaj qĂ« ndodhet nĂ« vm vetĂ«. Dhe ndoshta duhet tĂ« bĂ«ni kopje vetĂ«m pĂ«r njĂ« disk tĂ« kĂ«saj makine.

Për shembull, ne e kemi përcaktuar se të gjitha makinat fillojnë me imazhe të qëndrueshme, duke lexuar docs.opennebula.io/5.12/operation/vm_management/img_guide.html

pra, së pari mund të shkarkojmë imazhin nga vm-ja jonë:

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

Shikojmë nën cilin emër është ruajtur

oneimage show 77
/var/lib/one//datastores/100/f9503161fe180658125a9b32433bf6e8
   
Dhe më pas e kopjojmë ku na nevojitet. Sigurisht, është një mënyrë e tillë. Thjesht doja të tregoja se duke përdorur mjetet e opennebula, mund të ndërtoni zgjidhje të ngjashme.

Gjithashtu në hapësirat e internetit kam gjetur një prezantim interesant dhe ka gjithashtu një projekt të hapur të tillë, por këtu vetëm për ruajtjen qcow2.

Por si e dimë, erdhi momenti që do të dëshironim kopje rezervë inkrementale. Këtu bëhet më e ndërlikuar, ndoshta drejtoria do të ndanë fonde për një zgjidhje pagese, ose të shkojmë me një qasje tjetër që kupton se këtu po shpërdorojmë vetëm burime, ndërsa rezervimi duhet bërë në nivel aplikacionesh dhe duke rritur numrin e node-ve dhe makinave virtuale. Po flas për përdorimin e cloud-it thjesht për të nisur klasterët e aplikacioneve, ndërsa bazat e të dhënave të fillojnë në një platformë tjetër ose të marrin një zgjidhje të gatshme nga ofruesi, nëse ka një mundësi të tillë.

4. Lehtësia e përdorimit

NĂ« kĂ«tĂ« pikĂ«, do tĂ« pĂ«rshkruaj problemet me tĂ« cilat kam hasur. PĂ«r shembuj, siç e dimĂ«, ka imazhe persistente — kur montoni kĂ«tĂ« imazh nĂ« VM, tĂ« dhĂ«nat e gjithĂ« shkrimeve regjistrohen nĂ« atĂ« imazh. NĂ«se Ă«shtĂ« non-persistent, imazhi kopjohet nĂ« storage dhe tĂ« dhĂ«nat shkruhen nĂ« atĂ« qĂ« Ă«shtĂ« kopjuar nga imazhi fillestar — kĂ«shtu funksionojnĂ« shabllonet. Shpesh kam krijuar probleme pĂ«r veten duke harruar tĂ« specifikoj persistent, dhe 200 GB imazh kopjohej; problemi qĂ«ndron se sigurisht nuk mund tĂ« anulohet kjo procedurĂ«, duhet tĂ« shkojmĂ« nĂ« node dhe tĂ« ndalojmĂ« procesin aktual tĂ« "cp".

Një nga disavantazhet e rëndësishme është se nuk mund të anuloni veprimet duke përdorur thjesht GUI. Në fakt, do t'i anuloni ato dhe do të shihni se nuk ndodh asgjë, dhe përsëri do të filloni, do të anuloni dhe në fakt do të kemi 2 procese cp që kopjojnë imazhin.

Dhe kĂ«tu kuptohet pse opennebula numĂ«ron çdo instancĂ« tĂ« re me njĂ« ID tĂ« ri. PĂ«r shembull, nĂ« proxmox krijoni njĂ« VM me ID 101, e fshini atĂ« dhe pastaj e krijoni pĂ«rsĂ«ri me ID 101. NĂ« opennebula kjo nuk do tĂ« ndodhĂ«; çdo instancĂ« e re do tĂ« krijohet me njĂ« ID tĂ« ri dhe ka logjikĂ«n e saj — pĂ«r shembull, pĂ«r tĂ« pastruar tĂ« dhĂ«nat e vjetra ose instalimet e pasuksesshme.

Po ashtu për storage-in, kjo platformë është e përqendruar në storage-in e centralizuar. Ka addons për të përdorur lokal, por këtu nuk është tema. Mendoj se në të ardhmen dikush do të shkruajë një artikull mbi mënyrën se si arriti të përdorë storage-in lokal në node dhe ta përdorë me sukses në prodhim.

5. Thjeshtësia maksimale

Sigurisht, sa më shumë të ecësh përpara, aq më pak janë ata që do të të kuptojnë.

NĂ« kushtet e standit tim — 3 nodĂ« me ruajtje nfs — gjithçka funksionon mirĂ«. Por nĂ«se bĂ«ni eksperimente me ndĂ«rprerjen e energjisĂ«, pĂ«r shembull teksa filloni njĂ« snapshot dhe ndalon energjia e nodĂ«s, ne ruajmĂ« cilĂ«simet nĂ« Baza tĂ« tĂ« DhĂ«nave, qĂ« ekziston snapshot, ndĂ«rsa nĂ« tĂ« vĂ«rtetĂ« ai nuk ka. (pra, ne e dimĂ« gjithmonĂ« se origjinali shkruhet nĂ« bazĂ«n sql pĂ«r kĂ«tĂ« veprim, por operacioni vetĂ« dĂ«shtoi). Avantazhi Ă«shtĂ« se teksa krijohet njĂ« snapshot formohet njĂ« skedar i veçantĂ« dhe ekziston njĂ« "prind", kĂ«shtu qĂ« nĂ« rast tĂ« problemeve, madje edhe nĂ«se nuk funksionon pĂ«rmes gui, ne mund tĂ« marrim skedarin qcow2 dhe tĂ« rikthehemi veçmas. docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

PĂ«r rrjetet, fatkeqĂ«sisht, nuk Ă«shtĂ« aq e thjeshtĂ«. E paktĂ«n Ă«shtĂ« mĂ« e lehtĂ« se nĂ« openstack, unĂ« kam pĂ«rdorur vetĂ«m vlan (802.1Q) — funksionon mjaft mirĂ«, por nĂ«se bĂ«ni ndryshime nĂ« konfigurimin e templates network, ato konfigurime nuk do tĂ« aplikohen nĂ« makinĂ«n qĂ« janĂ« tashmĂ« duke funksionuar, dmth duhet tĂ« fshini dhe tĂ« shtoni kartĂ«n e rrjetit, atĂ«herĂ« konfigurimet e reja do tĂ« aplikohen.

NĂ«se dĂ«shironi ta krahasoni me openstack, mund tĂ« themi se nĂ« opennebula nuk ka njĂ« pĂ«rkufizim tĂ« qartĂ« se cilat teknologji duhet tĂ« pĂ«rdoren pĂ«r ruajtjen e tĂ« dhĂ«nave, menaxhimin e rrjetit, burimeve — çdo administrator vendos vetĂ« se si Ă«shtĂ« mĂ« e pĂ«rshtatshme pĂ«r tĂ«.

6. Plugin dhe instalime të tjera

Sepse siç e dimë, platforma cloud mund të menaxhojë jo vetëm kvm, por edhe vmware esxi. Fatkeqësisht, nuk kam pasur një grup me Vcenter, nëse dikush e ka provuar, lutem shkruani.

Në mbështetje të ofruesve të tjerë të shërbimeve cloud është deklaruar docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS, AZURE.

Gjithashtu kam provuar tĂ« lidhem me Vmware Cloud nga selektel, por nuk arrita asgjĂ« — nĂ« pĂ«rgjithĂ«si, u dorĂ«zova, sepse kishte shumĂ« faktorĂ«, dhe nuk ka kuptim tĂ« shkruaj nĂ« mbĂ«shtetje teknike tĂ« ofruesit tĂ« shĂ«rbimit.

Gjithashtu, tani nĂ« versionin e ri Ă«shtĂ« firecracker — kjo Ă«shtĂ« nisja e microvm, njĂ« lloj mbĂ«shtetje pĂ«r kvm mbi docker, qĂ« ofron mĂ« shumĂ« universialitet, siguri dhe rritje tĂ« performancĂ«s sepse nuk nevojitet tĂ« shpenzoni burime pĂ«r imitim tĂ« pajisjeve. UnĂ« shoh vetĂ«m pĂ«rfitim nĂ« krahasim me dockerin nĂ« faktin se nuk konsumon proceset shtesĂ« dhe nuk ka socket tĂ« angazhuara gjatĂ« pĂ«rdorimit tĂ« kĂ«tij imitim, dmth mund tĂ« pĂ«rdoret si njĂ« balancues ngarkese (por pĂ«r kĂ«tĂ« ndoshta duhet tĂ« shkruaj njĂ« artikull tĂ« veçantĂ«, pĂ«r momentin nuk kam pĂ«rfunduar tĂ« gjitha testet nĂ« mĂ«nyrĂ« tĂ« plotĂ«).

7. Eksperiencë pozitive dhe debug e gabimeve

Do you want to share your observations about the work? I wrote part of it above, but I want to elaborate more. Indeed, I might not be the only one who initially thinks this system is not adequate and that everything here is a bit of a workaround — how does this even work? But then comes understanding, and it all seems quite logical. Of course, it's impossible to please everyone, and some aspects need refinement.

For example, a simple operation of copying a disk image from one datastore to another. In my case, there are 2 nodes with NFS; I'm sending the image — the copying goes through the OpenNebula frontend, although we are used to copying data directly between hosts — in VMware or Hyper-V, we are accustomed to this method, but here it’s different. There's a different approach and ideology, and in version 5.12, they removed the 'migrate to datastore' button — only the virtual machine is transferred, not the storage, since a centralized storage is implied.

Next is a common error with various causes: 'Error deploying virtual machine: Could not create domain from /var/lib/one//datastores/103/10/deployment.5.' Below will be a checklist of what to look for.

  • Image permissions for the user oneadmin;
  • Permissions for the user oneadmin to start libvirtd;
  • Is the datastore mounted correctly? Go check the path on the node itself; something might have gone wrong;
  • Incorrectly configured network, rather, in the frontend network settings, it indicates that the main interface for VLAN is br0, while on the node it’s specified as bridge0 — they should be the same.

The system datastore stores metadata for your VM; if you are running a VM with a persistent image, the VM needs access to the originally created configuration on the storage where you created the VM — this is very important. Therefore, when transferring the VM to another datastore, everything must be double-checked.

8. Documentation, community. Further development

And additionally, good documentation, a community, and importantly, that the project continues to thrive in the future.

Overall, the documentation is quite good, and even from official sources, it shouldn't be a problem to install and find answers to questions.

The community is active. They publish many ready-made solutions that you can use in your installations.

Currently, with version 5.12, some policies within the company have changed. forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 Do legeni të kuptoni si do të zhvillohet projekti. Në fillim kam përmendur disa furnizues që përdorin zgjidhjet e tyre dhe ato që ofron industria. Sigurisht, nuk ka një përgjigje të qartë për atë që duhet të përdorni. Megjithatë, për organizatat e vogla, mbështetja e një re private mund të jetë më e përballueshme seç mendoni. E rëndësishme është të dini saktësisht se çfarë ju nevojitet.

Si përfundim, pavarësisht se çfarë keni zgjedhur si sistem në re, mos qëndroni vetëm në një produkt. Nëse keni kohë, shikoni zgjidhje më të hapura.

Ka një chat të mirë t.me/opennebula ndihmojnë aktivisht dhe nuk ju dërgojnë të kërkoni zgjidhje problemi në Google. Bashkohuni.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster