Bok svima. Ovaj članak je napisan za one koji se još dvoume između odabira virtualizacijskih platformi i nakon čitanja članka iz serije “Instalirali smo proxmox i općenito je sve u redu, 6 godina rada bez ikakve pauze.” Ali nakon instaliranja jednog ili drugog rješenja izvan okvira, postavlja se pitanje: kako mogu ispraviti ovo ovdje, tako da praćenje bude razumljivije, a ovdje, za kontrolu sigurnosnih kopija…. A onda dođe vrijeme i shvatite da želite nešto funkcionalnije, ili želite da sve unutar vašeg sustava postane jasno, a ne ove crne kutije, ili želite koristiti nešto više od hipervizora i hrpe virtualnih strojeva. Ovaj će članak sadržavati neke misli i prakse temeljene na platformi Opennebula - izabrao sam je jer. nije zahtjevan za resurse i arhitektura nije toliko složena.
I tako, kao što vidimo, mnogi pružatelji usluga oblaka rade na kvm-u i uspostavljaju vanjske veze za kontrolu strojeva. Jasno je da veliki hosteri pišu vlastite okvire za infrastrukturu oblaka, na primjer isti YANDEX. Netko koristi openstack i na toj osnovi uspostavlja vezu - SELECTEL, MAIL.RU. Ali ako imate vlastiti hardver i malo osoblje stručnjaka, tada obično odaberete nešto gotovo - VMWARE, HYPER-V, postoje besplatne i plaćene licence, ali to nije ono o čemu sada govorimo. Razgovarajmo o entuzijastima - to su oni koji se ne boje ponuditi i isprobati nešto novo, unatoč činjenici da je tvrtka jasno rekla: "Tko će ovo servisirati nakon vas", "Hoćemo li to kasnije uvesti u proizvodnju ? Zastrašujuće." Ali ta rješenja možete prvo primijeniti na testnom stolu, pa ako se svima svidi, onda možete postaviti pitanje daljnjeg razvoja i korištenja u ozbiljnijim okruženjima.
Ovdje je i poveznica na izvješće
Možda će u ovom članku nešto biti suvišno i već razumljivo iskusnom stručnjaku, au nekim slučajevima neću sve opisati jer su slične naredbe i opisi dostupni na Internetu. Ovo je samo moje iskustvo s ovom platformom. Nadam se da će aktivni sudionici u komentarima dodati što bi se moglo učiniti bolje i koje sam pogreške napravio. Sve akcije odvijale su se na kućnom štandu koji se sastojao od 3 računala različitih karakteristika. Također, nisam posebno naveo kako ovaj softver radi i kako ga instalirati. Ne, samo administrativno iskustvo i problemi na koje sam naišao. Možda će ovo biti korisno nekome u njihovom izboru.
Dakle, počnimo. Kao administratoru sustava važne su mi sljedeće točke bez kojih vjerojatno neću koristiti ovo rješenje.
1. Ponovljivost ugradnje
Ima puno uputa za instalaciju opennebule, ne bi trebalo biti problema. Od verzije do verzije pojavljuju se nove značajke koje neće uvijek raditi kada prelazite s verzije na verziju.
2. Praćenje
Pratit ćemo sam čvor, kvm i opennebula. Srećom, već je spreman. Postoji puno opcija za nadgledanje Linux hostova, isti Zabbix ili node exporter - kako kome više odgovara - trenutno to definiram kao nadgledanje metrike sustava (temperatura gdje se može mjeriti, konzistentnost diskovnog polja), preko zabbixa , a što se tiče prijava preko Prometheus exportera. Za kvm nadzor, na primjer, možete uzeti projekt
Na primjer, evo moje datoteke:
/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
I tako imamo 1 izvoznika, treba nam drugi da prati samu opennebulu, koristio sam ovo
Može se dodati normalnom
U datoteci node_exporter mijenjamo početak ovako:
ExecStart=/usr/sbin/node_exporter --web.listen-address=":9102" --collector.textfile.directory=/var/lib/opennebula_exporter/textfile_collector
Stvorite direktorij mkdir -p /var/lib/opennebula_exporter
bash skripta prikazana gore, prvo provjeravamo rad kroz konzolu, ako pokazuje što nam treba (ako daje grešku, onda instalirajte xmlstarlet), kopirajte je u /usr/local/bin/opennebula_exporter.sh
Dodajte cron zadatak za svaku minutu:
*/1 * * * * (/usr/local/bin/opennebula_exporter.sh > /var/lib/opennebula_exporter/textfile_collector/opennebula.prom)
Počele su se pojavljivati metrike, možete ih uzeti kao prometeja i graditi grafikone i slati upozorenja. U Grafani možete nacrtati, na primjer, tako jednostavnu kontrolnu ploču.
(jasno je da ovdje preterujem cpu, ram)
Za one koji vole i koriste Zabbix, postoji
Što se tiče monitoringa, glavno je da ga ima. Naravno, možete dodatno koristiti ugrađene alate za praćenje virtualnog stroja i uploadati podatke na naplatu, ovdje svatko ima svoju viziju, nisam još pobliže počeo raditi na tome.
Nisam još stvarno počeo bilježiti. Najjednostavnija opcija je dodati td-agent za analizu /var/lib/one direktorija s regularnim izrazima. Na primjer, datoteka sunstone.log odgovara nginx regexpu i drugim datotekama koje prikazuju povijest pristupa platformi - koja je prednost ovoga? Pa, na primjer, možemo eksplicitno pratiti broj "Greška, greška" i brzo pratiti gdje i na kojoj razini postoji kvar.
3. Sigurnosne kopije
Ima i plaćenih odrađenih projekata - npr. sep
Na primjer, utvrdili smo da svi strojevi počinju s postojanim slikama, dakle, nakon čitanja
To znači da prvo možemo prenijeti sliku s našeg vm-a:
onevm disk-saveas 74 3 prom.qcow2
Image ID: 77
Смотрим, под каким именем он сохранился
oneimage show 77
/var/lib/one//datastores/100/f9503161fe180658125a9b32433bf6e8
И далее копируем куда нам необходимо. Конечно, так себе способ. Просто хотел показать, что используя инструменты opennebula можно строить подобные решения.
Našao sam i na internetu
Ali kao što svi znamo, prije ili kasnije dođe vrijeme kada želite inkrementalne sigurnosne kopije, ovdje je teže i možda će uprava izdvojiti novac za plaćeno rješenje ili će ići drugim putem i shvatiti da ovdje samo režemo resurse, i pravljenje sigurnosnih kopija na razini aplikacije i dodavanje brojnih novih čvorova i virtualnih strojeva - da, ovdje, govorim da korištenje oblaka isključivo za pokretanje klastera aplikacija i pokretanje baze podataka na drugoj platformi ili uzimanje gotove od dobavljača, ako je moguće.
4. Jednostavnost korištenja
U ovom odlomku opisat ću probleme na koje sam naišao. Na primjer, prema slikama, kao što znamo, postoji trajna - kada se ova slika montira na vm, svi podaci se zapisuju na ovu sliku. A ako nije postojana, slika se kopira u pohranu, a podaci se zapisuju u ono što je kopirano s izvorne slike - ovako funkcioniraju predlošci predložaka. Više puta sam sebi stvarao probleme zaboravljajući navesti persistent i slika od 200 GB je kopirana, problem je što se ova procedura sigurno ne može otkazati, morate otići do čvora i ubiti trenutni “cp” proces.
Jedan od važnih nedostataka je da ne možete poništiti radnje jednostavnim korištenjem GUI-ja. Ili bolje rečeno, poništit ćeš ih i vidjeti da se ništa ne događa i opet ćeš ih pokrenuti, poništiti i zapravo će već biti 2 cp procesa koji kopiraju sliku.
A onda dolazi do razumijevanja zašto opennebula svaku novu instancu označava novim ID-om, na primjer, u istom proxmoxu je kreirao vm s ID-om 101, izbrisao ga, zatim ga ponovno stvorite i ID-om 101. U opennebuli se to neće dogoditi, svaka nova instanca bit će kreirana s novim ID-om i to ima svoju logiku - na primjer, brisanje starih podataka ili neuspješne instalacije.
Isto vrijedi i za pohranu; prije svega, ova platforma je usmjerena na centraliziranu pohranu. Postoje dodaci za korištenje lokalnog, ali to nije ono o čemu govorimo u ovom slučaju. Mislim da će u budućnosti netko napisati članak o tome kako su uspjeli koristiti lokalnu pohranu na čvorovima i uspješno je koristiti u proizvodnji.
5. Maksimalna jednostavnost
Naravno, što dalje idete, sve je manje onih koji će vas razumjeti.
U uvjetima mog postolja - 3 čvora s nfs pohranom - sve radi dobro. Ali ako provodimo eksperimente koji uključuju nestanak struje, na primjer, kada pokrećemo snimku i isključimo napajanje čvora, spremamo postavke u bazu podataka da snimka postoji, ali je zapravo nema (dobro, svi razumijemo da u početku je napisao bazu podataka o ovoj akciji u sql, ali sama operacija nije bila uspješna). Prednost je što se prilikom izrade snapshota formira zasebna datoteka i postoji "roditelj", stoga u slučaju problema, čak i ako ne radi kroz gui, možemo pokupiti datoteku qcow2 i zasebno je vratiti
Na mrežama, nažalost, nije sve tako jednostavno. Pa, barem je lakše nego u openstacku, koristio sam samo vlan (802.1Q) - radi prilično dobro, ali ako promijenite postavke iz predloške mreže, tada se te postavke neće primijeniti na već pokrenute strojeve, tj. trebate izbrisati i dodati mrežnu karticu, tada će se primijeniti nove postavke.
Ako ga još uvijek želite usporediti s openstackom, onda možete reći ovo: u opennebuli nema jasne definicije koje tehnologije koristiti za pohranjivanje podataka, upravljanje mrežom, resursima - svaki administrator odlučuje za sebe što mu više odgovara.
6. Dodatni dodaci i instalacije
Uostalom, kako mi razumijemo, platforma u oblaku može upravljati ne samo kvm, već i vmware esxi. Nažalost, nisam imao bazen s Vcentrom, ako je netko pokušao, neka napiše.
Navedena je podrška za druge pružatelje usluga oblaka
AWS, AZURE.
Također sam pokušao povezati Vmware Cloud iz Selectela, ali ništa nije uspjelo - općenito je blokiran jer postoji mnogo čimbenika i nema smisla pisati tehničkoj podršci davatelja usluga hostinga.
Također, sada nova verzija ima firecracker - ovo je lansiranje microvm-a, vrste kvm harnessa preko dockera, koji daje još više svestranosti, sigurnosti i povećane produktivnosti jer nema potrebe za rasipanjem resursa na emulirajuću opremu. Jedina prednost koju vidim u odnosu na Docker je ta što ne zauzima dodatni broj procesa i nema zauzetih utičnica kada se koristi ova emulacija, tj. Sasvim je moguće koristiti ga kao balanser opterećenja (ali vjerojatno vrijedi napisati poseban članak o tome dok u potpunosti ne provedem sve testove).
7. Pozitivno iskustvo korištenja i otklanjanja pogrešaka
Htio sam podijeliti svoja zapažanja o radu, nešto sam opisao gore, želio bih napisati više. Doista, vjerojatno nisam jedini koji na prvu pomisli da ovo nije pravi sustav i općenito je sve ovdje štaka - kako uopće funkcioniraju s ovim? Ali onda dolazi do razumijevanja da je sve sasvim logično. Naravno, ne možete svima ugoditi i neki aspekti zahtijevaju poboljšanja.
Na primjer, jednostavna operacija kopiranja slike diska iz jednog skladišta podataka u drugo. U mom slučaju, postoje 2 čvora s nfs-om, šaljem sliku - kopiranje se događa kroz frontend opennebula, iako smo svi navikli na činjenicu da se podaci trebaju kopirati izravno između hostova - u istom vmware-u, hyper-v smo navikli na ovo, ali ovdje na drugo. Postoji drugačiji pristup i drugačija ideologija, au verziji 5.12 su uklonili gumb “migrate to datastore” - prenosi se samo sam stroj, ali ne i pohrana jer znači centralizirano skladištenje.
Sljedeća je popularna pogreška s različitim razlozima: "Pogreška pri implementaciji virtualnog stroja: Nije moguće stvoriti domenu iz /var/lib/one//datastores/103/10/deployment.5" Ispod je glavna stvar koju treba pogledati.
- Prava na slike za oneadmin korisnika;
- Dopuštenja za oneadmin korisnika za pokretanje libvirtd;
- Je li pohrana podataka ispravno montirana? Idi i provjeri stazu na samom čvoru, možda je nešto otpalo;
- Neispravno konfigurirana mreža, odnosno na frontendu je u mrežnim postavkama da je glavno sučelje za vlan br0, ali na čvoru piše kao bridge0 - mora biti isto.
sistemska pohrana podataka pohranjuje metapodatke za vaš vm, ako pokrenete vm s trajnom slikom, tada vm mora imati pristup inicijalno stvorenoj konfiguraciji na pohrani gdje ste kreirali vm - ovo je vrlo važno. Stoga, kada prenosite vm u drugu pohranu podataka, trebate sve još jednom provjeriti.
8. Dokumentacija, zajednica. Daljnji razvoj
I ostalo, dobra dokumentacija, zajedništvo i ono glavno da projekt nastavi živjeti i u budućnosti.
Općenito, sve je prilično dobro dokumentirano i čak i korištenjem službenog izvora neće biti problem instalirati i pronaći odgovore na pitanja.
Zajednica, aktivna. Objavljuje mnoga gotova rješenja koja možete koristiti u svojim instalacijama.
Trenutno su se neke politike u tvrtki promijenile od 5.12
Kao rezultat toga, bez obzira na to što odaberete kao cloud sustav, ne biste se trebali zaustaviti na jednom proizvodu. Ako imate vremena, vrijedi pogledati druga otvorenija rješenja.
Dobar je razgovor
Izvor: www.habr.com