Hyperconvergente systemen
Een hyperconvergente infrastructuur (HCI, onder) combineert servers voor virtuele machines en opslag binnen meerdere apparaten die een gemeenschappelijk systeem vormen met een overkoepelend beheer.
worden met korte intervallen automatisch bijgewerkt (synchronisatie en gedifferentieerde replicatie). Ook zijn er automatische controlesystemen die kijken of een virtuele machine bereikbaar is en die ervoor zorgen dat er in geval van een defect automatisch naar een kopie wordt omgeschakeld en dat die van hetzelfde IP-adres wordt voorzien.
Als je bijvoorbeeld een server hebt met twee fysieke processors, 48 cpu-cores en 512 GB RAM, kun je er enkele honderden virtuele desktopmachines parallel op draaien. Wanneer al deze virtuele machines ongeveer overeenkomen, dan besparen processen zoals deduplicatie en compressie bijzonder veel opslagruimte. Als het bijvoorbeeld om virtuele desktops gaat met dezelfde Windows-versie, dan is het grootste deel van alle databestanden van een virtuele machine identiek. Voor de deduplicatie berekent de opslagsoftware voor het opslaan van elk datablok een hashwaarde en vergelijkt deze met de andere gegevens. Als hij een blok tegenkomt dat al bestaat, slaat het systeem alleen een koppeling op. Bij deduplicatie moet het opslagsysteem elk geschreven datablok eerst tijdelijk opslaan. Daarvoor gebruikt het systeem de ssd’s, omdat deze een bijzonder hoge schrijfbelasting aankunnen. Nog kortere vertraging is mogelijk wanneer elk datablok voor de deduplicatie alleen naar het werkgeheugen wordt geschreven. Het nadeel bij deze onthe-fly-deduplicatie is het gevaar van gegevensverlies indien de stroom uitvalt en het RAM zijn data kwijtraakt. NVDIMM's met een continue flash-back-up [1] of nieuwe geheugentypen zoals 3D XPoint moeten dit probleem oplossen. Databestanden kunnen nog verder verkleind worden via compressie. Indien de opgeslagen gegevens (data-at-rest) moeten worden versleuteld, dan kan dat het beste na de compressie gebeuren. Datablokken die willekeurig versleuteld zijn kunnen niet verder gecomprimeerd worden.
Flessenhals
Wanneer er veel virtuele machines gelijktijdig een gemeenschappelijke gegevensopslag benaderen, dan ziet de opslag dit niet meer als sequentiële benaderingen, maar als een spervuur van willekeurige benaderingen (random access). Hoe korter de opslagvertraging, hoe meer virtuele machines op een systeem kunnen draaien met een acceptabele reactiesnelheid. Dientengevolge is flashopslag in de vorm van ssd-schijven inmiddels standaard gebruik bij virtuele-machineservers. SATA- en SAS-ssd’s worden inmiddels door de snellere PCI-Express (PCIe-) ssd’s verdrongen, omdat de bijbehorende controller gebruikmaakt van het non-volatile memory express (NVMe)-protocol. Dit is geoptimaliseerd om veel parallelle benaderingen te kunnen verwerken.
Wanneer veel virtuele machines een centraal opslagsysteem benaderen, genereert dit veel netwerkverkeer. Vroeger was het gebruikelijk om het dataverkeer voor het opslagsysteem te scheiden van de gebruikersgegevens van de virtuele machines. Dit gebeurde dan met een Storage Area Network (SAN) met FibreChannel (FC)-techniek. Dit laatste is inmiddels echter verdrongen door opslagprotocollen via ethernet, zoals iSCSI of FCoE. Sommige bedrijven gebruiken zogenaamde convergente adapters, die zowel opslag- als ethernetverkeer via InfiniBand (IB) leiden, of ze gebruiken propriëtaire adapters zoals Unified Fabric van Cisco. De afgelopen jaren is er een trend om snelle ethernetadapters te gebruiken, met meerdere 10GbE-poorten per servernode, of van 25 GbE, 40 GbE en zelfs 100 GbE.
Ook de snelste verbinding haalt niets uit wanneer het centrale opslagsysteem traag is. Bij oudere opslagsystemen werd met name rekening gehouden met de uitbreidmogelijkheden van de opslag. Daarbij hadden de controllers niet voldoende rekenkracht noch genoeg hoogwaardige
PCIe-slots om de I/O-prestaties adequaat te kunnen uitbreiden.
Dit ligt anders bij scale-out-storage-systemen. Daarbij worden nodes gecombineerd die elk een bepaalde opslagcapaciteit hebben en een bijpassend aantal netwerkpoorten. Met elke module die wordt toegevoegd, groeit dan ook de opslag- en netwerkcapaciteit. Een gedistribueerd bestandssysteem zorgt ervoor dat de gegevens in een unified namespace bereikbaar zijn door alle aangesloten servers. Door de deduplicatie en compressie daalt de behoefte aan fysieke opslag dermate dat de capaciteit van snelle ssd's al voldoende is.
De adaptieve optimalisering van de opslagsoftware verdeelt daarbij de gegevens, afhankelijk van de benaderingsfrequentie van de relevante opslagmedia. Gegevens die 'hot' zijn, worden op de snelste ssd's geplaatst, indien de RAM capaciteit tekortschiet. Gegevens worden naar zeer krachtige ssd's geschreven. Gegevens die minder vaak worden opgeroepen, staan op goedkopere ssd's of zelfs harde schijven opgeslagen (cold storage). De verschillende opslagmedia worden in zogenaamde storage tiers ingedeeld en de optimaliseringsprocedure wordt autotiering genoemd.
All-in-one
Door het combineren van de rekenkracht en de opslag in modulaire scale-out-systemen, lost HCI meerdere problemen in keer op. De flessenhals van het netwerkverkeer van de opslag wordt bijvoorbeeld grotendeels opgelost wanneer de beheersoftware ervoor zorgt dat de gegevens van alle actieve virtuele machines zoveel mogelijk op dezelfde server staan. Dankzij deduplicatie en compressie kan prijzig flashgeheugen optimaal worden ingezet. En omdat alles op hetzelfde systeem draait, kunnen adaptieve algoritmen de prestaties ook afhankelijk van de belasting optimaliseren. Beheerders hoeven zich dankzij de unified beheerinterface niet meer te verdiepen in allerlei verschillende tools voor opslagsystemen en routers. Voor routinetaken bieden HCI-aanbieders blauwdrukken, opleidingen en support aan. Systemen kunnen snel worden ingezet, zijn eenvoudiger in het beheer en met scale-out-modules uit te breiden. Naar verluidt zijn de te verwachte prestaties van het gehele systeem makkelijker te realiseren dan wanneer je meerdere systemen van verschillende producenten zou combineren. Dat heeft bovendien het voordeel dat je bij problemen met minder verschillende personen contact op hoeft te nemen en de eenvoudigere software die servers, opslag en het netwerk combineert, maakt het automatiseren makkelijker. De keerzijde is dat je je afhankelijk maakt van de HCI-provider die je kiest. De verschillende HCI-concepten zijn namelijk niet volledig compatibel en bovenal zijn er duidelijke verschillen. Zo is bij VMware vSAN de opslagsoftware in de hypervisor geïntegreerd. Bij Nutanix en Atlantis Computing draait deze in een aparte virtuele machine op elke node. Atlantis staat dan weer toe om servernodes met verschillende opslagtypen te combineren, bijvoorbeeld servers die harde schijven hebben en servers waar alleen ssd's in zitten. Bij DataCore-software kun je dan weer al bestaande opslagsystemen integreren.
Redundantie
HCI heeft diverse niveaus van redundantie. Dat begint al bij de hardware: in een typisch scenario worden HCI-machines in een rack gebouwd waar ze de hoogte van twee standaardunits (2U) in beslag nemen. In deze ruimte draaien vier onafhankelijke servernodes met elk een eigen processor, geheugen, ssd's en harde schijven, en eigen netwerkadapters. Twee voedingen met aparte aansluitingen voorzien de vier nodes van stroom.
In plaats van een klassieke RAIDhostadapter, zijn de aanwezige ssd's en harde schijven door de opslagsoftware
over alle nodes met elkaar gekoppeld. Redundante gegevens worden via algoritmes zoals Erasure Coding berekend en samen met de gebruikersgegevens door de opslagsoftware over de opslagmedia verdeeld. Over het algemeen kun je aangeven welke mate van redundantie wenselijk is (uitval van een of twee nodes tegelijk) en ook waar de kopieën van redundante gegevens opgeslagen moeten worden: op een tweede machine in hetzelfde of in een ander rack, of zelfs in een totaal ander rekencentrum. De gelijkmatig verdeelde kopieën van gegevens verminderen bovendien het dataverkeer bij het verplaatsen van een virtuele machine van de ene servernode naar de andere.
Redundantie kan ook worden toegepast op een volledige virtuele machine. In het geval van VMware Horizon controleert een witness-instance regelmatig of een virtuele machine nog leeft en op queries reageert. In het geval dat een node of netwerkpoort uitvalt, waardoor de witness een virtuele machine niet meer bereikt, start hij deze automatisch op een andere node in het redundante bestandssysteem en leidt hij de netwerkpoort om.
Goed ingepakt
Met de hierboven genoemde HCI-systemen kun je erg veel rekenkracht in een kleine ruimte kwijt. Elk van de vier nodes in de BigTwin van Supermicro kan worden uitgerust met 3 TB werkgeheugen en twee Xeon-cpu's die samen over 44 cores en 88 threads beschikken. Dan ben je alleen wel aan processors en geheugen al 44.000 euro per node kwijt. Een meer gangbare configuratie bestaat uit twee 16-core cpu's en 512 GB RAM per node. Inclusief ssd's betaal je dan voor een configuratie van vier systemen voor de hardware rond de 100.000 euro. Daarmee zou je in de praktijk 500 tot 800 virtuele desktops kunnen draaien. Als je dan 16 van deze 2Uunits in een 42U-rack plaatst – je moet er tenslotte ook nog enkele netwerkswitches bij zetten – dan heb je 2048 cpu-threads en 32 TB RAM ter beschikking waar je enkele duizenden virtuele machines in kunt draaien. Het hele grapje kost dan 1,5 miljoen euro. Daar komen dan nog aanzienlijke licentie- en supportkosten bij. VMware biedt de Hypervisor VMware ESXi aan vanaf 2450 euro per cpu, met vSAN kost het meer. Dit zijn dan ook systemen voor grote bedrijven.
Voor kleinere bedrijven of filialen zijn goedkopere HCI-configuraties verkrijgbaar. Met de 'vSAN TCO and Sizing Calculator' van VMware kun je een inschatting maken van de benodigde hardware en licentiekosten. Zie de link hieronder.
Meer dan een hype
HCI combineert een aantal moderne technieken: virtualisatie, software-defined storage, flashgeheugen en snelle ethernetadapters. Moderne servers met krachtige multicoreprocessors die met veel werkgeheugen en talrijke PCIe-lanes voor ssd's en ethernetverbindingen overweg kunnen, stellen de benodigde bronnen beschikbaar. De omschrijving 'hyperconvergentie' is misschien onnodig hoogdravend, maar het succes bevestigt het concept: binnen enkele toepassingsgebieden biedt het samenbrengen van servers, massaopslag en beheersoftware aanzienlijke voordelen. HCI is echter niet in alle gevallen zaligmakend en er zijn soms dramatische verschillen tussen de oplossingen van verschillende producenten. Als je een oplossing zoekt die niet aansluit op de standaard opzet van de producenten, dan moet je goed opletten of er flessenhalzen of verborgen kosten op de loer liggen. (ddu)