Opennebula. Note brevi

Opennebula. Note brevi

Salute à tutti. Questu articulu hè statu scrittu per quelli chì sò sempre stracciati trà a scelta di e plataforme di virtualizazione è dopu avè lettu l'articulu di a serie "Avemu installatu proxmox è in generale tuttu hè bè, 6 anni di uptime senza una sola pausa". Ma dopu avè installatu una o una altra suluzione fora di a scatula, a quistione si pone: cumu possu correggerà questu quì, per chì u monitoraghju hè più comprensibile, è quì, per cuntrullà e salvezza .... E poi vene u tempu è capisci chì vulete qualcosa di più funziunale, o vulete chì tuttu in u vostru sistema sia chjaru, è micca sta scatula negra, o vulete usà qualcosa di più di un ipervisore è una mansa di macchine virtuali. Questu articulu cuntene qualchì pensamentu è pratica basatu nantu à a piattaforma Opennebula - l'aghju sceltu perchè. ùn hè micca esigenti di risorse è l'architettura ùn hè micca cusì cumplessa.

È cusì, cum'è avemu vistu, parechji fornituri di nuvola travaglianu in kvm è facenu cunnessione esterne per cuntrullà e macchine. Hè chjaru chì i grandi hosters scrivenu i so propiu frameworks per l'infrastruttura di nuvola, u listessu YANDEX per esempiu. Qualchissia usa openstack è face una cunnessione nantu à sta basa - SELECTEL, MAIL.RU. Ma s'è vo avete u vostru propriu hardware è un picculu staffu di spicialisti, allura vi solitu sceglie qualcosa ready-made - VMWARE, HYPER-V, ci sò licenze gratuiti è pagatu, ma ùn hè micca ciò chì avemu parlatu avà. Parlemu di entusiasti - questi sò quelli chì ùn anu micca paura d'offre è di pruvà qualcosa di novu, malgradu u fattu chì a cumpagnia hà chjaramente chjaramente, "Quale servirà questu dopu à voi", "Avemu da sparghje questu in pruduzzione dopu. ? Scary." Ma pudete prima applicà queste suluzioni in un bancu di teste, è se tutti piacenu, pudete suscitarà a quistione di più sviluppu è aduprà in ambienti più serii.

Ancu quì hè un ligame à u rapportu www.youtube.com/watch?v=47Mht_uoX3A da un participante attivu in u sviluppu di sta piattaforma.

Forsi in questu articulu qualcosa serà superfluu è digià capitu à un spicializatu espertu, è in certi casi ùn scriveraghju micca tuttu perchè cumandamenti simili è descrizzioni sò dispunibili in Internet. Questa hè solu a mo sperienza cù sta piattaforma. Spergu chì i participanti attivi aghjunghjenu in i cumenti ciò chì puderia esse fattu megliu è chì sbaglii aghju fattu. Tutte l'azzioni anu fattu in un stand di casa custituitu da 3 PC cù caratteristiche diverse. Inoltre, ùn aghju micca specificamente indicatu cumu funziona stu software è cumu installallu. No, solu l'esperienza di l'amministrazione è i prublemi chì aghju scontru. Forsi questu serà utile à qualchissia in a so scelta.

Allora, cuminciamu. Cum'è un amministratore di u sistema, i seguenti punti sò impurtanti per mè, senza chì ùn sò improbabile di utilizà sta suluzione.

1. Repetibilità di a stallazione

Ci hè parechje struzzioni per installà opennebula, ùn deve esse micca prublemi. Da una versione à l'altra, apparenu novi funziunalità chì ùn anu micca sempre travagliatu quandu si move da versione à versione.

2. Surviglianza

Seguiremu u node stessu, kvm è opennebula. Fortunatamente, hè digià pronta. Ci hè parechje scelte nantu à u monitoraghju di l'ospiti Linux, u stessu Zabbix o esportatore di nodi - à quellu chì piace ciò chì megliu - in u mumentu aghju definitu cum'è metrica di u sistema di monitoraghju (temperatura induve pò esse misurata, coerenza di l'array di discu), attraversu zabbix. , è in quantu à l'applicazioni attraversu l'esportatore Prometheus. Per u monitoring kvm, per esempiu, pudete piglià u prugettu github.com/zhangjianweibj/prometheus-libvirt-exporter.git è imposta per eseguisce via systemd, funziona abbastanza bè è mostra metrica kvm, ci hè ancu un dashboard prontu grafana.com/grafana/dashboards/12538.

Per esempiu, quì hè u mo schedariu:

/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

È cusì avemu 1 esportatore, avemu bisognu di un secondu per monitorà l'opennebula stessu, aghju utilizatu questu github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

Pò esse aghjuntu à u normale node_exporter per monitorà u sistema di i seguenti.

In u schedariu node_exporter cambiamu u principiu cusì:

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

Crea un repertoriu mkdir -p /var/lib/opennebula_exporter

bash script presentatu sopra, prima cuntrollemu u travagliu attraversu a cunsola, se mostra ciò chì avemu bisognu (se dà un errore, poi installate xmlstarlet), copià in /usr/local/bin/opennebula_exporter.sh

Aghjunghjite un compitu cron per ogni minutu:

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

A metrica hà cuminciatu à apparisce, pudete piglià cum'è un prometeu è custruisce grafici è fate alerti. In Grafana pudete disegnà, per esempiu, un dashboard cusì simplice.

Opennebula. Note brevi

(hè chjaru chì quì aghju overcommit cpu, ram)

Per quelli chì amanu è usanu Zabbix, ci hè github.com/OpenNebula/addon-zabbix

In quantu à u monitoraghju, u principale hè chì ci hè. Di sicuru, pudete, in più, aduprà l'arnesi di surviglianza di a macchina virtuale integrata è caricate e dati à a fattura, quì ognunu hà a so propria visione, ùn aghju micca cuminciatu à travaglià nantu à questu più vicinu.

Ùn aghju micca veramente cuminciatu à logu. L'opzione più simplice hè di aghjunghje td-agent per analizà u cartulare /var/lib/one cù espressioni regulari. Per esempiu, u schedariu sunstone.log currisponde à u nginx regexp è altri schedari chì mostranu a storia di l'accessu à a piattaforma - chì hè u vantaghju di questu? Ebbè, per esempiu, pudemu esplicitu traccia u numeru di "Errore, errore" è prestu pista induve è à chì livellu ci hè un malfunction.

3. Backups

Ci sò ancu prughjetti finiti pagati - per esempiu sep wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon: OpenNebula_Backup. Quì avemu da capisce chì a simplicità di fà una copia di salvezza di una maghjina di a macchina ùn hè micca uguale in questu casu, perchè e nostre macchine virtuali devenu travaglià cù una integrazione completa (u stessu schedariu di cuntestu chì descrive i paràmetri di a rete, u nome di vm è i paràmetri persunalizati per e vostre applicazioni) . Dunque, quì decidemu ciò chì è cumu avemu da fà una copia di salvezza. In certi casi, hè megliu fà copie di ciò chì hè in u vm stessu. E forsi avete solu bisognu di salvezza di un discu da una macchina data.

Per esempiu, avemu determinatu chì tutte e macchine cumincianu cù l'imaghjini persistenti, dunque, dopu a lettura docs.opennebula.io/5.12/operation/vm_management/img_guide.html

Questu significa chì prima pudemu cullà l'imaghjini da a nostra vm:

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

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

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

Aghju trovu ancu in Internet rapportu interessante è ci hè più un tali prughjettu apertu, ma ci hè solu almacenamentu per qcow2.

Ma, cum'è tutti sapemu, prima o dopu vene un tempu quandu vulete una copia di salvezza incrementale, hè più difficiule quì è forse a gestione distinerà soldi per una soluzione pagata, o andà in l'altru modu è capisce chì quì avemu solu taglià risorse. è fà una copia di salvezza à u livellu di l'applicazioni è aghjunghjendu una quantità di novi nodi è macchine virtuali - iè, quì, dicu chì l'usu di u nuvulu solu per lancià clusters d'applicazioni, è lancià a basa di dati nantu à un'altra piattaforma o pigliate una pronta. da u fornitore, se pussibule.

4. Facilità di usu

In questu paràgrafu vi descriverà i prublemi chì aghju scontru. Per esempiu, sicondu l'imaghjini, cum'è sapemu, ci hè persistente - quandu sta maghjina hè muntata à una vm, tutti i dati sò scritti à sta imagine. E s'ellu ùn hè micca persistente, allura l'imaghjini hè copiatu in u almacenamiento è i dati sò scritti à ciò chì hè stata copiata da l'imagine fonte - questu hè cumu travaglianu mudelli di mudelli. Aghju ripetutamente causatu prublemi per mè scurdendu di specificà persistenti è l'imaghjini 200 GB hè stata copiata, u prublema hè chì sta prucedura certamenti ùn pò micca esse annullata, avete da andà à u node è tumbà u prucessu "cp" attuale.

Unu di l'impurtanti svantaghji hè chì ùn pudete micca annullà l'azzioni solu cù u gui. O piuttostu, li cancellerete è vedi chì nunda ùn succede è li ricominciarete, annullate è in fatti ci saranu digià 2 processi cp chì copianu l'imaghjini.

E poi vene à capisce perchè opennebula numera ogni novu istanza cù un novu id, per esempiu, in u stessu proxmox hà creatu un vm cù id 101, sguassatu, poi criate di novu è id 101. In opennebula questu ùn succede micca, ogni nova istanza serà creatu cù un novu id è questu hà a so propria logica - per esempiu, sguassate dati vechji o installazioni senza successu.

U stessu passa per u almacenamentu; soprattuttu, sta piattaforma hè destinata à u almacenamentu centralizatu. Ci sò addons per utilizà lucale, ma ùn hè micca ciò chì parlemu in questu casu. Pensu chì in u futuru qualcunu scriverà un articulu nantu à cumu hà sappiutu utilizà l'almacenamiento lucale nantu à i nodi è l'utilizanu cù successu in a produzzione.

5. A simplicità massima

Di sicuru, u più luntanu, u menu quelli chì vi capiscenu diventanu.

Sutta e cundizioni di u mo stand - 3 nodes cù nfs storage - tuttu funziona bè. Ma se facemu esperimenti chì implicanu una mancanza di energia, per esempiu, quandu eseguite una snapshot è spegnemu u putere di u node, salvemu i paràmetri in a basa di dati chì ci hè una snapshot, ma in fattu ùn ci hè nimu (bene, tutti capiscenu chì avemu inizialmente hà scrittu a basa di dati nantu à questa azione in sql , ma l'operazione stessu ùn hè micca successu). U vantaghju hè chì quandu crea una snapshot, un schedariu separatu hè furmatu è ci hè un "parent", dunque in casu di prublemi è ancu s'ellu ùn funziona micca per gui, pudemu piglià u schedariu qcow2 è restaurà separatamente. docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

In e rete, sfurtunatamenti, micca tuttu hè cusì simplice. Ebbè, almenu hè più faciule ch'è in openstack, aghju utilizatu solu vlan (802.1Q) - funziona abbastanza bè, ma se fate cambiamenti à i paràmetri da a reta di mudelli, allora sti paràmetri ùn saranu micca applicati à e macchine chì sò digià in esecuzione, i.e. avete bisognu di sguassà è aghjunghje una carta di rete, allora i novi paràmetri seranu applicati.

Se vulete ancu paragunà cù l'openstack, pudete dì questu: in opennebula ùn ci hè micca una definizione chjara di quali tecnulugii aduprà per almacenà e dati, gestione di a rete, risorse - ogni amministratore decide per ellu stessu ciò chì hè più convenientu per ellu.

6. Plugins supplementari è installazioni

Dopu tuttu, cum'è avemu capitu, a piattaforma di nuvola pò gestisce micca solu kvm, ma ancu vmware esxi. Sfurtunatamente, ùn aghju micca una piscina cù Vcenter, se qualchissia hà pruvatu, per piacè scrivite.

U supportu per altri fornitori di nuvola hè dichjaratu docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS, AZURU.

Aghju ancu pruvatu à cunnette Vmware Cloud da Selectel, ma nunda hà travagliatu - in generale, hè stata bluccata perchè ci sò parechji fatturi, è ùn ci hè nunda di scrive à u supportu tecnicu di l'ospiti.

Inoltre, avà a nova versione hà un petardo - questu hè u lanciu di microvm, un tipu di cablaggio kvm sopra docker, chì dà ancu più versatilità, sicurezza è produtividade aumentata perchè ùn ci hè bisognu di perdi risorse in l'emulazione di l'equipaggiu. L'unicu vantaghju chì vecu nantu à Docker hè chì ùn piglia micca un numeru supplementu di prucessi è ùn ci sò micca sockets occupati quandu si usa sta emulazione, i.e. Hè abbastanza pussibule di usà cum'è un equilibratore di carica (ma hè probabilmente vale a pena scrive un articulu separatu annantu à questu finu à ch'e aghju realizatu tutte e teste).

7. Esperienza pusitiva di usu è errore debugging

Vuliu sparte e mo osservazioni nantu à u travagliu, aghju descrittu alcune di quì sopra, vogliu scrive più. In verità, ùn sò micca l'unicu chì in prima pensa chì questu ùn hè micca u sistema ghjustu è in generale tuttu quì hè una crutch - cumu si travaglia ancu cun questu? Ma poi si capisce chì tuttu hè abbastanza logicu. Di sicuru, ùn pudete micca piace à tutti è certi aspetti necessitanu di migliurà.

Per esempiu, una operazione simplice di cupià una maghjina di discu da un datastore à l'altru. In u mo casu, ci sò 2 nodi cù nfs, mandu l'imaghjini - a copia si trova à traversu l'opennebula di frontend, anche se simu tutti abituati à u fattu chì e dati deve esse copiati direttamente trà l'ospiti - in u stessu vmware, hyper-v simu abituatu à questu, ma quì à un altru. Ci hè un approcciu sfarente è una ideologia diversa, è in a versione 5.12 anu eliminatu u buttone "migrate to datastore" - solu a macchina stessa hè trasferita, ma micca u almacenamiento perchè significa almacenamentu centralizatu.

In seguitu hè un errore populari cù diversi motivi: "Errore di implementazione di a macchina virtuale: Ùn pudia micca creà dominiu da /var/lib/one//datastores/103/10/deployment.5" Sottu hè a cosa prima di vede.

  • Diritti d'imaghjini per l'utilizatore oneadmin;
  • Permissioni per l'utente oneadmin per eseguisce libvirtd;
  • U datastore hè muntatu currettamente? Andate è verificate a strada nantu à u node stessu, forsi qualcosa hè cascatu;
  • A reta cunfigurata incorrectamente, o piuttostu nantu à u frontend hè in i paràmetri di a rete chì l'interfaccia principale per vlan hè br0, ma in u node hè scrittu cum'è bridge0 - deve esse u stessu.

datastore di u sistema guarda i metadati per a vostra vm, se eseguite a vm cù una maghjina persistente, allora a vm deve avè accessu à a cunfigurazione creata inizialmente in u almacenamiento induve avete creatu a vm - questu hè assai impurtante. Dunque, quandu si trasferisce una vm à un altru datastore, avete bisognu di verificà tuttu.

8. Documentazione, cumunità. Ulteriore sviluppu

È u restu, bona documentazione, cumunità è u principale hè chì u prugettu cuntinueghja à campà in u futuru.

In generale, tuttu hè abbastanza documentatu è ancu cù una fonte ufficiale ùn serà micca un prublema per installà è truvà risposte à e dumande.

Cumunità, attiva. Publica parechje soluzioni pronti chì pudete aduprà in e vostre installazioni.

À u mumentu, alcune pulitiche in a cumpagnia anu cambiatu da 5.12 forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 Serà interessante per vede cumu si sviluppa u prugettu. À u principiu, aghju indicatu specificamente alcuni di i venditori chì utilizanu e so suluzioni è ciò chì l'industria offre. Di sicuru, ùn ci hè una risposta chjara nantu à ciò chì aduprà. Ma per l'urganisazioni più chjuche, mantene a so piccula nuvola privata pò esse micca cusì caru cum'è pare. A cosa principal hè di sapè esattamente ciò chì avete bisognu.

In u risultatu, indipendentemente da ciò chì sceglite cum'è un sistema di nuvola, ùn deve micca firmà à un pruduttu. Sè vo avete tempu, vale a pena piglià un ochju à altre suluzioni più aperti.

Ci hè una bona chat t.me/opennebula Aiutanu attivamente è ùn vi mandanu micca à circà una suluzione à u prublema in Google. Unisciti à noi.

Source: www.habr.com

Add a comment