Nutanix Acropolis - arhitektura i servisi

Vladimir Đorđević

Systems Engineer

vladimir.djordjevic@alef.com

Acropolis je distribuirani manager resursa, orkestaciona platforma i data layer Nutanix HCI rešenja.

Sastoji se iz tri osnovna dela:

  • DSF, Distributed Storage Fabric, u čijem centru se nalazi Nutanix Distributed Filesystem (NDFS), predstavlja distribuiranu storage platformu, osnovu Nutanix rešenja
  • AHV, Acropolis Hipervisor, virtuelizacioni nivo zasnovan na CentOS KVM hipervizoru koji se nalazi između hardvera i operativnih sistema virtuelnih mašina
  • AMF, App Mobility Fabric, virtuelizacioni nivo između hipervizora i virtuelnih resursa (virtuelnih mašina, storage-a, kontejnera…) koji omogućava dinamičko pomeranje resursa između hipervizora, različitih cloud-a i izmenu hipervizora na Nutanix nodovima

Sledeća šema ilustruje koncept Acropolis-a i njegove različite delove:

Nutanix Acropolis

Na hardverskom nivou, Nutanix HCI rešenje je konvergirano storage + compute rešenje, koje od više pojedinačnih nodova kreira distribuiranu platformu za virtuelizaciju. Rešenje je bundle softvera i hardverskih nodova koji u 2U visine daju 1 (8000 serija), 2 (6000/7000 serija) ili 4 noda (1000/3000 serija).

Svaki od nodova, bez obzira na model ili seriju uređaja, logički može da se prikaže na sledeći način:

Nutanix Acropolis

Hardverski Nutanix klaster sastoji se od minimum 3 noda, kako bi bi se ispoštovali osnovni strukturalni zahtevi distribuiranog sistema:

  • Ne sme da ima jedinstvenu tačku otkaza (SPOF – Single Point of Failure)
  • Mora biti linearno skalabilan (ne sme da ima bilo koje usko grlo pri skaliranju)
  • Mora da obezbedi konkurentnost rada (MapReduce mehanizam)

Nutanix

U okviru Nutanix klastera, na svim nodovima su distribuirani podaci (data), ali i meta podaci (metadata) vezani za klaster. Ovo MapReduce mehanizmu (Curator servisu) omogućuje iskorišćenje punih resursa klastera za paralelno izvršavanje aktivnosti (npr. deduplikacija, kompresija, erasure coding, reprotekcija podataka…).

Na sledećem grafiku vidimo % aktivnosti koje izvršava svaki nod u zavisnosti od broja nodova:

Nutanix NOD

Nutanix HCI rešenje, kao softversko rešenje koje je nezavisno od hardvera, ima veliku prednost zato što se ne oslanja na specifične ASIC/FPGA ili druge hardverske mogućnosti. To omogućuje brz razvoj i dodavanje novih funkcionalnosti kroz jednostavnu nadogradnju softvera. 

Najveći deo softvera i logike nalazi se upravo u okviru kontroler virtuelne mašine (CVM). Kreiranje novih adaptera ili dodavanje interfejsa, kao i podrška za nove hipervizore takođe dolaze kroz jednostavnu nadogradnju softvera.

Nutanix

Nutanix klaster, kao softversko rešenje, ima sledeće servise, odnosno softverske komponente:

  • Cassandra – distribuirani metadata store, čuva i upravlja distribuiranim klaster meta-podacima (modifikovana Apache Cassandra). Ovaj servis radi na svim nodovima klastera i pristupa mu se kroz interfejs nazvan Medusa
  • Zookeeper – cluster configuration manager, čuva sve konfiguracione podatke klastera (npr. IP adrese, statuse servisa..), baziran je na Apache Zookeper-u. Ovaj servis radi na svim nodovima klastera, od kojih jedan, automatski izabiran kao leader, prima sve zahteve i prosleđuje ih ostalima, a ukoliko se leader ne javi novi se ponovo automatski odabira. Ovom servisu se pristupa kroz interfejs nazvan Zeus
  • Stargate – data I/O manager, odgovoran je za upravljanje svim distribuiranim podacima i I/O operacijama i glavni je interfejs ka hipervizorima (kroz NFS, iSCSI ili SMB). Servis radi na svim nodovima u klasteru da bi omogućio lokalizovano pristupanje resursima (I/O)
  • Curator – MapReduce cluster management and cleanup, odgovoran je za upravljanje i distribuiranje aktivnosti na nivou klastera (npr. disk balansiranje, proaktivno brisanje…), radi na svakom nodu klastera, a sve Curator servise na nodovima nadgleda automatski izabrani master koji je odgovoran za delegaciju aktivnosti
  • Prism – UI i API, intefejs za upravljanje nad svim softverskim komponentama Nutanix klastera. Uključuje Ncli, HTML5 UI, i REST API. Radi na svakom nodu klastera i automatski se bira leader kao i kod ostalih soft komponenti
  • Genesis – cluster component & service manager, servis koji radi na svakom nodu nezavisno od klastera (preduslov je uključen Zookeeper servis), odgovoran je za inicijalnu konfiguraciju ostalih servisa i interakcije sa njima (start/stop/restart…)
  • Chronos – job and task sceduler, odgovoran je za pokretanje aktivnosti na osnovu  rezultata scan/sceduling/throttling aktivnosti između nodova od strane Curator servisa. Radi na svakom nodu klastera, sve Cronos servise nadgleda automatski izabrani master koji je odgovoran za delegaciju aktivnosti ostalim nodovima, a radi na istom nodu kao i Curator master
  • Cerebro – replication/DR manager, odgovoran je za replikaciju i DR aktivnosti u okviru DSF-a (zakazivanje/pokretanje snapshot-ova, replikaciju na udaljenu lokaciju, migraciju/failover lokacija). Radi na svakom nodu klastera i svi nodovi učestvuju u replikaciju na udaljene kastere/lokacije
  • Pithos – vDisk configuration manager, odgovoran je za konfiguraciju vDisk-ova (DSF/NDFS fajlova). Radi na svakom nodu klastera i zavisi od Cassandra servisa

Nutanix klaster

Od najmanje 3 CVM mašine, jedna je automatski izabran master dok su ostale slave. Kao i kod ostalih komponenti, ukoliko master prestane da radi, novi se odabira automatski. Acropolis master upravlja zakazivanjem i izvršavanjem aktivnosti, prikupljanjem i objavljivanjem statistika, te za hipervizor služi kao mrežni kontroler, VNC proxy i HA kontroler. Acropolis slave prikuplja i objavljuje statistike, te za hipervizor služi kao VNC proxy.

Nutanix