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
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
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
Pò esse aghjuntu à u normale
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.
(hè chjaru chì quì aghju overcommit cpu, ram)
Per quelli chì amanu è usanu Zabbix, ci hè
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
Per esempiu, avemu determinatu chì tutte e macchine cumincianu cù l'imaghjini persistenti, dunque, dopu a lettura
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
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.
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
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
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
Source: www.habr.com