oVirt pĂ„ 2 timmar. Del 1. Öppen felsĂ€ker plattform för virtualisering

Introduktion

Öppen kĂ€llkod projekt oVirt — en fri plattform för virtualisering av företagsnivĂ„. Efter att ha blĂ€ddrat pĂ„ habr, upptĂ€ckte jag att oVirt det inte har uppmĂ€rksammats hĂ€r sĂ„ mycket som det förtjĂ€nar.
oVirt Àr faktiskt upstream för det kommersiella systemet Red Hat Virtualization (RHV, tidigare RHEV), som vÀxer under Red Hats beskydd. För att undvika förvirring Àr detta inte detsamma som CentOS vs RHEL, modellen Àr nÀrmare Fedora vs RHEL.
Under huven — KVM, anvĂ€nds ett webbaserat grĂ€nssnitt för hantering. 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 i samma komplex.
Projektet Àr vÀl dokumenterat, har lÀnge nÄtt mognad för produktionsanvÀndning och Àr redo för hög belastning.
Denna artikel Àr den första i en serie om hur man bygger en fungerande redundant kluster. Genom att följa dem kommer vi pÄ kort tid (ungefÀr 2 timmar) att fÄ ett helt fungerande system, Àven om vissa frÄgor tyvÀrr inte kan belysas, kommer jag att försöka tÀcka 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

  1. Introduktion (Vi Àr hÀr)
  2. Installation av hanteraren (ovirt-engine) och hypervisorer (vÀrdar)
  3. Ytterligare instÀllningar

Funktionella egenskaper

I oVirt finns det tvĂ„ grundlĂ€ggande enheter: ovirt-engine och ovirt-host(s). För dem som Ă€r vĂ€lbekanta med VMware-produkterna Ă€r oVirt i allmĂ€nhet som en plattform som vSphere, ovirt-engine — styrskiktet — utför samma funktioner som vCenter, medan ovirt-host — hypervisor, precis som ESX(i). Eftersom vSphere Ă€r en mycket populĂ€r lösning kommer jag ibland att göra jĂ€mförelser med den.
oVirt pĂ„ 2 timmar. Del 1. Öppen felsĂ€ker plattform för virtualisering
Fig. 1 — oVirt kontrollpanel.

De flesta Linux-distributioner och Windows-versioner stöds som gÀstmaskiner. För gÀstmaskiner finns det agenter och optimerade virtuella enheter och virtio-drivrutiner, i första hand diskcontroller och nÀtverksgrÀnssnitt.
För att implementera en redundant lösning och alla intressanta funktioner krÀvs en delad lagring. SÄvÀl block-FC, FCoE, iSCSI samt filbaserade NFS-lagringar stöds m.m. För att implementera en redundant lösning mÄste lagringssystemet ocksÄ vara redundant (minst 2 kontrollers, multipath).
AnvÀndning av lokala lagringslösningar Àr möjligt, men som standard Àr endast delade lagringslösningar (shared storages) lÀmpliga för den aktuella klustret. Lokala lagringslösningar gör systemet till en splittrad uppsÀttning hypervisorer, och Àven med en delad lagring gÄr det inte att bygga ett kluster. Den mest korrekta vÀgen Àr diskfria maskiner med boot from SAN, eller diskar med minimal kapacitet. Det Àr möjligt att, via vdsm hook, skapa en lösning med lokala diskar i Software Defined Storage (t.ex. Ceph) och presentera dem för VM, men jag har inte övervÀgt detta seriöst.

Arkitektur

oVirt pĂ„ 2 timmar. Del 1. Öppen felsĂ€ker plattform för virtualisering
Fig. 2 — arkitektur för oVirt.
Mer om arkitekturen kan lÀsas i dokumentationen utvecklarens dokumentation.

oVirt pĂ„ 2 timmar. Del 1. Öppen felsĂ€ker plattform för virtualisering
Fig. 3 — oVirt-objekt.

Översta elementet i hierarkin — Datacenter. Det definierar om delade (shared) eller lokala lagringslösningar anvĂ€nds, samt vilka funktioner som stöds (kompatibilitet, frĂ„n 4.1 till 4.3). Det kan finnas en eller flera. För mĂ„nga scenarier fungerar det att anvĂ€nda standard Data Center — Default.
Data Center bestÄr av en eller flera Clusters. Klustret definierar typ av processor, migrationspolicyer och mer. För smÄ installationer kan man Àven begrÀnsa sig till klustret Default.
Klustret bestĂ„r i sin tur av VĂ€rdvĂ€rdar som utför huvuduppgiften — de har virtuella maskiner och Ă€r anslutna till lagringslösningar. Ett kluster förutsĂ€tter 2 eller fler vĂ€rdar. Även om det tekniskt Ă€r möjligt att göra ett kluster med 1 vĂ€rd, sĂ„ har det ingen praktisk nytta.

oVirt stöder mÄnga funktioner, inklusive live migration av virtuella maskiner mellan hypervisorer (live migration) och lagringslösningar (storage migration), desktopvirtualisering (virtual desktop infrastructure) med VM-pooler, stateful och stateless VM, stöd för NVidia Grid vGPU, import frÄn vSphere, KVM, och har kraftfulla API och mycket mer. Alla dessa funktioner Àr tillgÀngliga utan licensavgifter, och vid behov kan stöd köpas frÄn Red Hat via regionala partners.

Priser för RHV

Kostnaden Ă€r lĂ„g i jĂ€mförelse med VMware; stöd köps endast — utan krav pĂ„ att köpa sjĂ€lva licensen. Stöd köps endast för hypervisorer, ovirt-engine, till skillnad frĂ„n vCenter Server som krĂ€ver kostnader.

Exempel pÄ berÀkning för det första Äret av Àgande

TÀnk pÄ ett kluster av 4 stycken maskiner med 2 socklar och detaljhandelspriser (utan projektavdrag).
Standardprenumeration för RHV kostar $999 per sockel/Ă„r (premium 365/24/7 — $1499), totalt 4*2*$999=$7992.
Priset för vSphere:

  • VMware vCenter Server Standard 10 837,13 kr per instans, plus Basic-prenumeration 2 625,41 kr (Production — 3 125,39 kr);
  • VMware vSphere Standard 1 164,15 kr + Basic-prenumeration 552,61 kr (Production 653,82 kr);
  • VMware vSphere Enterprise Plus 6 309,23 kr + Basic-prenumeration 1 261,09 kr (Production 1 499,94 kr).

Totalt: 10 837,13 + 2 625,41 + 4 * 2 * (1 164,15 + 552,61) = $27 196,62 för den mest grundlÀggande varianten. Skillnaden Àr cirka 3,5 gÄnger!
I oVirt Àr dock alla funktioner tillgÀngliga utan begrÀnsningar.

Kortfattad information och maxvÀrden

Systemkrav

Hypervisorn krÀver en CPU med aktiverad hÄrdvaruvirtualisering, det minimi minneskrav för start Àr 2 GiB, rekommenderad lagringsutrymme för OS Àr 55 GiB (frÀmst för loggar osv., sjÀlva OS tar lite).
Mer information — hĂ€r.
För Motor minimikrav 2 kĂ€rnor/4 GiB RAM/25 GiB lagring. Rekommenderat — frĂ„n 4 kĂ€rnor/16 GiB RAM/50 GiB lagring.
Precis som i vilket system som helst finns det begrÀnsningar pÄ volymer och antal, de flesta av vilka överstiger kapaciteten hos tillgÀngliga massmarknadsservrar. SÄ, en uppsÀttning Intel Xeon Gold 6230 kan adressera 2 TiB RAM och erbjuder 40 kÀrnor (80 trÄdar), vilket Àr mindre Àn till och med grÀnserna för en VM.

Maximala maskinvarukrav för virtuella maskiner:

  • Maximalt antal samtidigt körande virtuella maskiner: ObegrĂ€nsat;
  • Maximala virtuella CPU:er per virtuell maskin: 384;
  • Maximalt minne per virtuell maskin: 4 TiB;
  • Maximal storlek pĂ„ enskild disk per virtuell maskin: 8 TiB.

VĂ€rdmaximum:

  • Logiska processorerkĂ€rnor eller trĂ„dar: 768;
  • RAM: 12 TiB;
  • Antal vĂ€rdgratulerade virtuella maskiner: 250;
  • Samtida live-migreringar: 2 inkommande, 2 utgĂ„ende;
  • Live-migreringsbandbredd: Standard 52 MiB (~436 Mb) per migrering nĂ€r den anvĂ€nder den traditionella migreringspolicyn. Andra policys anvĂ€nder adaptiva genomströmningsvĂ€rden baserade pĂ„ hastigheten pĂ„ den fysiska enheten. QoS-policys kan begrĂ€nsa migreringsbandbredden.

Maximala logiska enheter för hanteraren:

I 4.3 finns det följande begrÀnsningar.

  • Datacenter
    • Maximalt antal datacentra: 400;
    • Maximalt vĂ€rdantal: 400 stödda, 500 testade;
    • Maximalt antal VM: 4000 stödda, 5000 testade;
  • Kluster
    • Maximalt antal kluster: 400;
    • Maximalt vĂ€rdantal: 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 tvingande 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;
    • Maximalt antal LUN: 300;
    • Maximal diskkapacitet: 500 TiB (begrĂ€nsad till 8 TiB som standard).

Implementeringsalternativ

Som redan nĂ€mnts, bygger oVirt pĂ„ 2 grundlĂ€ggande element — ovirt-engine (hantering) och ovirt-host (hypervisor).
Motor 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, liknande VCSA-ansatsen frĂ„n VMware).
Hypervisorn kan installeras bÄde pÄ vanlig OS RHEL/CentOS 7 (EL-vÀrd), sÄvÀl som pÄ specialiserad minimal OS (oVirt-Node, baserad pÄ el7).
HÄrdvarukraven för alla alternativ Àr ungefÀr desamma.
oVirt pĂ„ 2 timmar. Del 1. Öppen felsĂ€ker plattform för virtualisering
Fig. 4 — standardarkitektur.

oVirt pĂ„ 2 timmar. Del 1. Öppen felsĂ€ker plattform för virtualisering
Fig. 5 — SjĂ€lvhostad Engine-arkitektur.

Jag valde alternativet standalone Manager och EL Hosts:

  • Standalone Manager Ă€r nĂ„got enklare nĂ€r det gĂ€ller startproblem, det finns ingen dilemma med hönan och Ă€gget (som för VCSA — du kan inte starta förrĂ€n Ă„tminstone en vĂ€rd Ă€r helt igĂ„ng), men det finns beroende av ett annat system*;
  • EL Host erbjuder hela kraften i operativsystemet, vilket Ă€r anvĂ€ndbart för extern övervakning, debug, felsökning osv.

* Men under hela anvÀndningen har detta aldrig varit nödvÀndigt, inte ens efter en allvarlig strömavbrott.
Men nu börjar vi pÄ riktigt!
För experimentet finns möjlighet att frigöra ett par ProLiant BL460c G7 med XeonŸ CPU. Det Àr de vi ska anvÀnda för att Äterskapa installationsprocessen.
Vi ger vÀrdarna namn ovirt.lab.example.com, kvm01.lab.example.com och kvm02.lab.example.com.
Vi gÄr direkt till installation.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster