Introduktion
Ăppen kĂ€llkod projekt â en fri plattform för företagsvirtualisering. Jag har blĂ€ddrat genom habr och upptĂ€ckte att den inte har belysts hĂ€r sĂ„ mycket som den förtjĂ€nar.
oVirt Àr faktiskt upstream för det kommersiella systemet Red Hat Virtualization (RHV, tidigare RHEV) och vÀxer under taket av Red Hat. För att undvika förvirring Àr detta inte samma sak som CentOS vs RHEL, modellen ligger nÀrmare Fedora vs RHEL.
Under huven â , för hantering anvĂ€nds ett webbgrĂ€nssnitt. Bygger pĂ„ RHEL/CentOS 7.
oVirt kan anvÀndas bÄde för "traditionell" server- och skrivbordsvirtualisering (VDI), till skillnad frÄn VMware-lösningen kan bÄda systemen samexistera inom samma komplex.
Projektet Àr vÀl , har lÀnge nÄtt mognad för produktiv anvÀndning och Àr redo för hög belastning.
Denna artikel Àr den första i en serie om hur man bygger en fungerande hög tillgÀnglighetskluster. Genom att följa dessa kommer vi pÄ kort tid (cirka 2 timmar) fÄ ett helt fungerande system, Àven om en del frÄgor förstÄs inte kommer att kunna belysas, jag ska försöka ta upp dem i kommande artiklar.
Vi har anvÀnt det i flera Är, började med version 4.1. VÄrt produktionssystem körs nu pÄ HPE Synergy 480 och ProLiant BL460c 10:e generationen med Xeon Gold CPU.
Vid tidpunkten för skrivandet Àr den aktuella versionen 4.3.
Artiklar
- Introduktion (Vi Àr hÀr)
Funktionella egenskaper
I oVirt finns det 2 huvudsakliga entiteter: ovirt-engine och ovirt-host(s). För dem som Àr bekanta med VMware-produkter Àr oVirt i huvudsak en plattform som vSphere, ovirt-engine - kontrollskiktet - utför samma funktioner som vCenter, och ovirt-host - hypervisor, som ESX(i). Eftersom vSphere Àr en mycket populÀr lösning kommer jag ibland att göra jÀmförelser med den.

Fig. 1 - oVirt kontrollpanel.
Som gÀstdatorer stöds de flesta Linux-distributioner och versioner av Windows. Det finns agenter för gÀstdatorer och optimerade virtuella enheter och drivers virtio, först och frÀmst diskontroller och nÀtverksgrÀnssnitt.
För att realisera en hög tillgÀnglighetslösning och alla intressanta funktioner behövs en delad lagring. Stöder bÄde blockbaserade FC, FCoE, iSCSI, samt filbaserade NFS-lagringar och andra. För att implementera en hög tillgÀnglighetslösning mÄste lagringssystemet ocksÄ vara hög tillgÀngligt (minst 2 kontrollers, multipathing).
AnvÀndning av lokala lagringssystem Àr möjlig, men som standard Àr endast delade lagringssystem (shared storages) lÀmpliga för den aktuella klustret. Lokala lagringssystem gör systemet till en uppsÀttning av skilda hypervisorer, och Àven vid nÀrvaro av delad lagring gÄr det inte att sÀtta ihop ett kluster. Den mest korrekta vÀgen Àr diskfria maskiner med boot from SAN, eller diskar av minimal storlek. Det Àr troligt att en variant av att bygga frÄn lokala diskar som Software Defined Storage (t.ex. Ceph) och presentera det för VM Àr möjlig genom vdsm hook, men det har jag inte övervÀgt seriöst.
Arkitektur

Fig. 2 â arkitektur för oVirt.
Mer om arkitekturen kan lÀsas i utvecklarens dokumentation.

Fig. 3 â objekt i oVirt.
Den övre nivĂ„n i hierarkin Ă€r Datacenter. Den definierar vilka delade (shared) eller lokala lagringssystem som anvĂ€nds samt vilken uppsĂ€ttning funktioner som Ă€r tillgĂ€ngliga (kompatibilitet, frĂ„n 4.1 till 4.3). Det kan finnas en eller flera. För mĂ„nga alternativ gĂ„r det bra att anvĂ€nda standard Data Center â Default.
Data Center bestÄr av ett eller flera kluster.Ett kluster definierar typ av processor, migrationspolicyer och mer. För smÄ installationer kan man Àven nöja sig med klustret Default.
Ett kluster bestĂ„r i sin tur av VĂ€rdvĂ€rdar som utför det huvudsakliga arbetet â de bĂ€r virtuella maskiner och har lagringssystem anslutna till sig. I ett kluster antas det finnas tvĂ„ eller fler vĂ€rdar. Ăven om det tekniskt Ă€r möjligt att skapa ett kluster med en vĂ€rd, har det ingen praktisk nytta.
oVirt stöder mÄnga funktioner, inklusive levande migrering av virtuella maskiner mellan hypervisorer (live migration) och lagringssystem (storage migration), skrivbordsvirtualisering (virtual desktop infrastructure) med VM-pooler, statefull och stateless VM, stöd för NVidia Grid vGPU, import frÄn vSphere, KVM, samt en kraftfull och mycket mer. Alla dessa funktioner Àr tillgÀngliga utan licensavgifter, och om support behövs kan den köpas frÄn Red Hat genom regionala partners.
AngÄende priser pÄ RHV
Kostnaden Ă€r inte hög i jĂ€mförelse med VMware, man köper endast support â utan krav pĂ„ att köpa sjĂ€lva licensen. Support köps endast för hypervisorer och ovirt-engine, till skillnad frĂ„n vCenter Server krĂ€ver den inga kostnader.
Exempel pÄ berÀkning för det första ÀgarÄret
Vi betraktar ett kluster med 4 tvÄsockliga maskiner och detaljhandelspriser (utan projektpriser).
Standardabonnemanget för RHV per sockel/Ă„r (premium 365/24/7 â $1499), totalt 4*2*$999=$7992.
:
- VMware vCenter Server Standard 10 837,13 kr per instans, plus Basic-prenumeration 2 625,41 kr (Produktion â 3 125,39 kr);
- VMware vSphere Standard 1 164,15 kr + Basic-prenumeration 552,61 kr (Produktion 653,82 kr);
- VMware vSphere Enterprise Plus 6 309,23 kr + Basic-prenumeration 1 261,09 kr (Produktion 1 499,94 kr).
Totalt: 10 837,13 + 2 625,41 + 4 * 2 * (1 164,15 + 552,61) = $27 196,62 för det mest grundlÀggande alternativet. Skillnaden Àr cirka 3,5 gÄnger!
I oVirt Àr alla funktioner tillgÀngliga utan begrÀnsningar.
Kortfattade egenskaper och maxvÀrden
Systemkrav
För hypervisor krĂ€vs en CPU med aktiverad hĂ„rdvaruvirtualisering, minneskrav för start â 2 GiB, rekommenderad lagringskapacitet för OS â 55 GiB (frĂ€mst för loggar och liknande, sjĂ€lva OS:et tar upp lite).
LĂ€s mer â .
För minimala krav 2 kĂ€rnor/4 GiB RAM/25 GiB lagring. Rekommenderade â frĂ„n 4 kĂ€rnor/16 GiB RAM/50 GiB lagring.
Som i alla system finns det begrÀnsningar för volymer och antal, de flesta av vilka överstiger kapaciteten hos tillgÀngliga massmarknadsservrar. Till exempel kan tvÄ adressera 2 TiB RAM och erbjuder 40 kÀrnor (80 trÄdar), vilket Àr mindre Àn Àven grÀnserna för en VM.
Maximala virtuella maskiner:
- Maximalt antal samtidigt körande virtuella maskiner: ObegrÀnsat;
- Maximalt antal virtuella CPU:er per virtuell maskin: 384;
- Maximalt minne per virtuell maskin: 4 TiB;
- Maximal storlek per disk per virtuell maskin: 8 TiB.
VÀrdmaximala vÀrden:
- Logiska CPU-kÀrnor eller trÄdar: 768;
- RAM: 12 TiB;
- Antal vÀrdarbete virtuella maskiner: 250;
- Samtidiga live-migreringar: 2 inkommande, 2 utgÄende;
- Bandbredd för live-migrering: Standard 52 MiB (~436 Mb) per migrering nÀr den anvÀnder den Àldre migreringspolitiken. Andra policyer anvÀnder adaptiva genomströmningsvÀrden baserat pÄ hastigheten pÄ den fysiska enheten. QoS-policyer kan begrÀnsa migreringsbandbredd.
Maximala logiska enheter för hanterare:
I 4.3 finns det .
- Datacenter
- Maximalt antal datacenter: 400;
- Maximalt antal vÀrdar: 400 stödda, 500 testade;
- Maximalt antal VM: 4000 stödda, 5000 testade;
- Kluster
- Maximalt antal kluster: 400;
- Maximalt antal vÀrdar: 400 stödda, 500 testade;
- Maximalt antal VM: 4000 stödda, 5000 testade;
- NĂ€tverk
- Logiska nÀtverk/kluster: 300;
- SDN/externa nÀtverk: 2600 testade, ingen fast grÀns;
- Storage
- Maximala domÀner: 50 stödda, 70 testade;
- VÀrdar per domÀn: Ingen grÀns;
- Logiska volymer per blockdomÀn (mer): 1500;
- Maximala antalet LUN:er (mer): 300;
- Maximal disklagringskapacitet: 500 TiB (begrÀnsad till 8 TiB som standard).
Implementeringsalternativ
Som redan nĂ€mnts byggs oVirt av 2 grundlĂ€ggande element â ovirt-engine (hantering) och ovirt-host (hypervisor).
Engine kan placeras antingen utanför plattformen (standalone Manager â det kan vara en VM som körs pĂ„ en annan plattform eller en separat hypervisor och till och med en fysisk maskin), eller pĂ„ sjĂ€lva plattformen (self-hosted engine, motsvarande VCSA-metoden frĂ„n VMware).
Hypervisorn kan installeras antingen pÄ (EL Host), eller pÄ (oVirt-Node, baserad pÄ el7).
HÄrdvarukraven för alla alternativ Àr ungefÀr desamma.

Fig. 4 â standardarkitektur.

Fig. 5 â SjĂ€lvhostad Engine-arkitektur.
Jag valde alternativet standalone Manager och EL Hosts för mig sjÀlv:
- Standalone Manager Ă€r nĂ„got enklare vid startproblem, det finns ingen hönan och Ă€gget-dilemma (som för VCSA â du kan inte starta förrĂ€n Ă„tminstone en vĂ€rd Ă€r helt uppe), men det skapar beroende av ett annat system*;
- EL Host ger hela kraften hos OS, vilket Àr anvÀndbart för extern övervakning, felsökning, problemidentifiering, etc.
* Men under hela driftstiden har detta inte varit nödvÀndigt, Àven efter en allvarlig strömavbrott.
Men nu gÄr vi in pÄ sak!
För experimentet finns möjligheten att frigöra nÄgra ProLiant BL460c G7 med XeonŸ CPU. PÄ dem ska vi utföra installationsprocessen.
Vi ger noder namnen ovirt.lab.example.com, kvm01.lab.example.com och kvm02.lab.example.com.
Vi gÄr direkt till .
KĂ€lla: habr.com
