Europees project ontwikkelt open source datacenter management

Het monitoren en meten van de belangrijkste hardware-componenten binnen het datacenter zijn uitgegroeid tot de belangrijkste kenmerken van de Data Center Infrastructure Management (DCIM) tools die momenteel commercieel beschikbaar zijn. Er bestaat weliswaar geen eensluidende definitie van DCIM, maar veelal wordt hieronder verstaan: het geïntegreerde beheer van informatietechnologie en facilitaire infrastructuur via een geconvergeerde monitoring, meting en capaciteitsplanning van kritische systemen. Er zijn hiervoor veel open source tools beschikbaar, maar deze dekken veelal slechts één of hooguit enkele taken en activiteiten af. Eén complete tool voor datacenter management bestaat tot nu toe niet. Daarom wordt in een Europees researchproject getracht een aantal tools met elkaar te integreren. De resultaten zijn veelbelovend.

De naam van dit Europese project is ‘Boden Type DC One’. Het doel van het project is ambitieus: ‘The ultimate goal for the project Boden Type DC One is to build the prototype of the most energy and cost efficient data centre in the world’. Maar hoe doe je dat als er geen kant-en-klare tools zijn om vast te stellen of het datacenter inderdaad de meest efficiënte faciliteit ter wereld is? De oplossing van een wetenschapper is dan natuurlijk: dan ontwikkelen we die tools zelf.

ICE en pods

Het datacenter dat onder aanvoering van RISE (Research Institute of Sweden) is gebouwd, wordt ook wel ICE genoemd, ofwel ‘Infrastructure and Cloud research & test Environment’ (zie figuur 1). Het initiatief heeft meer dan 60 partners uit de industrie, van big data- en cloud-platformen tot en met de energievraag en bouwfysica.

De eerste module werd operationeel in februari 2016. Dagelijks worden meetgegevens van apparaten en sensoren verzameld voor modellering, simulatie en optimalisatie. Het geheel bestaat uit twee datacenter pods. De serverinfrastructuur van module 1 is gebaseerd op Dell Smart­Edge RX730xd en is uitgebreid met GPU-versnelling. Daarnaast worden Openstack en Hadoop als dataopslag en -verwerkingsplatformen aangeboden.

Figuur 1. Overzicht van het ICE-datacenter met links POD/module 1 en rechts POD/module 2.

De tweede module, die sinds mei 2017 draait, is flexibeler en meer laboratorium-achtig met snelle connectoren voor stroom, water en connectiviteit om de uitwisseling van apparatuur te vergemakkelijken. De serverinfrastructuur bestaat voornamelijk uit Dell en HP bladeservers. De twee belangrijkste DC-modules zijn beide gebouwd door PriorIT System 42 op basis van hun room-in-room systeem. De twee modules bevinden zich in een magazijn en zijn dus fysiek een ruimte in een ruimte.

Opzet module 1

Module 1 wordt voornamelijk gebruikt voor IT-gerelateerd onderzoek, zoals big data analyse, cloud-technologie en als referentiemodel voor bijvoorbeeld CFD model validatie (CFD = Computational Fluid Dynamics). De algemene apparatuur bestaat uit 10 IT-racks in twee rijen, vier SEE Cooling High density cooling devices, HDZ-22 en een Riello Uninterrup­tible Power Supply (UPS). Het is geconfigureerd met vloerkoeling, waarbij de koude lucht van de koeleenheden naar de rekken wordt geleid. De module meet 5 bij 6,5 meter en heeft momenteel een deur die de warme en koude gangen scheidt.

De meeste servers in module 1 zijn van het type R730xd3 van Dell. De meeste zijn geconfigureerd met 4 x 4TB 7200 rpm & 2 x 600 GB 10K rpm harde schijven, 256 GB RAM en twee Intel Xeon E5-2620 v3 CPU’s van 2,4 GHz. Racks 1 tot en met 4 en 7 tot en met 10 zijn gevuld met 18 730xd servers. Rack 6 bevat 6 730xd servers, die worden gebruikt voor database- en DC-beheerdoeleinden. Rack 5 bevat 42 Open Compute Project (OCP) Windmill-servers. Elk rack is uitgerust met één Dell S4048 Top of Rack (ToR) switch die alle verbinding maken met een Dell S6000 backbone switch die een 10/40Gbps-netwerkarchitectuur
creëert (zie tabel 1).

Tabel 1. Overzicht van apparatuur in module 1.

Apparaat Merk Type Aantal
Racks Minkels 10
Spine switch Dell S6000 1
Top of Rack switch Dell S4048 9
Management switch Dell 1548 10
PDU’s Schleifenbauer hPDU 20
UPS Riello Multi Power 1
Servers Dell R730xd 150
Servers OCP Windmill 42
Cooling units SEE Cooling HDZ-2 4
Switchboard Schneider 1
Electricy meters ABB A44 213 4
Heat meters Kamstrup Multical 6M2 2
Environmental monitoring Raritan EMX2-888 4
Temperature and humidity Raritan DPX2-T3H1 20
Air flow sensors Raritan DPX-AF1 10

Via de Dell iTRAC-interface worden tweemaal per minuut de gegevens verzameld van 144 Dell R730xd-servers. De servers zijn gemonteerd in racks 1-4 en 7-10, waarbij elk rack 18 servers bevat. De stroom die aan de IT-apparatuur wordt geleverd, wordt via de Schleifenbauer Hybrid Power Distribution Units (hPDU) geleverd. Deze PDU’s meten stroom, spanning, vermogensfactor en cumulatief wattage op alle drie fases en op alle outlets naar de servers. Ook alle netwerk-switches en alle netwerkverkeer wordt gemeten en gemonitord.

Warmtewisselaars

Zoals aangegeven, wordt de DC-module gekoeld met behulp van vier SEE koeling HDZ-2 units (figuur 2). Dit zijn vloeistof-naar-lucht warmtewisselaars die hun koelvloeistof ontvangen via een vloeistof-naar-vloeistof warmtewisselaar die zich buiten de module bevindt. Deze warmtewisselaar is op zijn beurt weer aangesloten op een ingebouwde centrale koelcircuit. De warmteafvoer en koeling wordt uitgevoerd door op compressoren gebaseerde koelers, die deel uitmaken van het magazijn en daardoor niet toegankelijk zijn.

Figuur 2. Blokschema van de koelingsopzet.

Om volledige controle te hebben over de omgeving in de module is een aparte luchtbevochtiger geïnstalleerd, die de luchtvochtigheid op een constant niveau houdt, onafhankelijk van de luchttemperatuur. Het UPS-systeem van Riello is geïnstalleerd in de zijmodule. De batterijen, die zich buiten module 1 bevinden en die via de UPS zijn aangesloten, maken tot 19 minuten overbruggingstijd mogelijk (bij een volledig kritische belasting van 80 kW). Het energieverbruik van de module wordt bewaakt met behulp van ABB elektrische vermogensmeters en Kamstrup warmtemeters. De omgevingscondities (temperatuur, luchtvochtigheid en luchtdebieten) worden bewaakt met behulp van Raritan EMX2-888 units met aangesloten sensoren.

Om de operationele karakteristieken van het datacenter te meten en te analyseren, wordt alle hardware-apparatuur gemonitord. Bij het merendeel van de apparatuur gebeurt dit met behulp van MODBUS RTU- (serieel) of MODBUS TCP-communicatie. Alle MODBUS RTU-signalen worden naar MODBUS TCP geconverteerd om ze gemakkelijk op het managementnetwerk en in het gemeenschappelijke systeem voor dataverzameling te krijgen. Met de ambitie om een holistische kijk op het datacenter te hebben, wordt hetzelfde beheernetwerk gebruikt voor zowel IT- als facility monitoring.

Inrichting Module 2

ICE-module 2 is ook een room-in-room module van PriorIT System 42 en bevat 10 IT-racks en 4 SEE HDZ-2 CRAC’s. Een belangrijk verschil is dat module 2 is uitgerust met een Bergvik verhoogde vloer, die experimenten mogelijk maakt met vloerkoeling, met een warme centrale gang of met een verhoogde vloerkoeling met een centrale koude gang en vloertegels. De module-afmetingen zijn 6,5 x 7 meter.

De module bevat eenvoudigere IT-hardware dan module 1 en wordt voornamelijk gebruikt voor het testen van hardware, waarbij zowel IT- als facilitaire apparatuur kan worden gebruikt. De faciliteit is gebruikt om luchtstroomconfiguraties te vergelijken, maar ook om verschillende koelingsbenaderingen of analyses van IT-belastingsschema’s te beoordelen.

De IT-apparatuur is eenvoudig te vervangen, maar meestal is de module uitgerust met gewone 1U en 2U servers van Dell (R430 en R530). De netwerkarchitectuur in deze module is beperkt tot 1Gbps ethernet, aangezien deze module momenteel niet is geconfigureerd voor geavanceerd IT-onderzoek. Zowel beheer- als productienetwerken zijn gebaseerd op de Dell N1500 switch.
Naast de Dell R430- en R530-servers zijn in module 2 ook 7 HP c7000 HPC behuizingen beschikbaar. Deze blade systems trekken aanzienlijk meer vermogen per rack dan de Dell-servers, waardoor het mogelijk is om IT-belastingen van 2,6kW tot 19,2kW per rack te testen, wat experimenten met verschillende vermogensdichtheden binnen dezelfde module mogelijk maakt. Metingen van de IT-apparatuur worden met behulp van de identieke opstelling als in module 1 uitgevoerd.

De installatie van de apparatuur van de faciliteit lijkt sterk op die van module 1. Een belangrijk verschil is echter dat het mogelijk is module 2 te bedienen met behulp van verhoogde vloerkoeling. De koele lucht kan ofwel gedwongen worden onder de verhoogde vloer te stromen, ofwel direct naar de racks worden geleid. De standaard racks in module 2 zijn ook breder dan die in module 1, namelijk 800 mm in vergelijking met 600 mm. Ook bij module 2 is de vermogensverdeling anders, omdat deze gebaseerd is op rails van AP Nederland.

De software

De ambitie van het Boden Type DC One-programma is het ontwikkelen van een holistische kijk op het datacenter, waarbij zowel facilitaire als IT-meetgegevens gemakkelijk toegankelijk zijn vanuit één systeem. Bij deze holistische analyse willen we zoveel mogelijk gebruikmaken van open source tools. Er zijn talrijke monitoring-tools beschikbaar – en vele daarvan zijn open source – zoals Icinga, Monit en Zabbix. Voor deze installatie (zie figuur 3) is Zabbix gekozen, vanwege de ondersteuning van belangrijke protocollen als MODBUS, SNMP en IPMI. Zabbix is hier geconfigureerd om gegevens te verzamelen van PDUs, power switches, servers, netwerk switches, omgevingssensoren, UPS’en, koelsystemen, vermogensmeters, warmtemeters en corrosiesensoren.

Figuur 3. Schematische weergave van de toegepaste software-tools.

Verder biedt Zabbix de mogelijkheid om agent-software te installeren in het besturingssysteem om het gebruik van individuele IT-componenten op de server te controleren. De software verzamelt en bewaart gegevens en biedt een gebruiksvriendelijke interface om veranderingen in apparaatstatus en werking in realtime te monitoren. Er kunnen verschillende alarmen en meldingen worden ingesteld om operators te waarschuwen als er iets buiten het gespecificeerde bereik werkt.

Streaming-platform

Naarmate de Zabbix-database groeit, wordt de interactieve omgeving echter langzamer en is het duidelijk dat de Zabbix-database niet bedoeld is om zeer grote hoeveelheden gegevens te verwerken. Om toch een meer schaalbare oplossing te creëren en analyse-tools toegang te geven tot de door Zabbix verzamelde gegevens, is een efficiëntere en geschiktere opslag van gegevens op lange termijn vereist.

Om aan de eisen van verschillende onderzoekers en data scientists te voldoen, is een dubbel opslagsysteem opgezet: een Hadoop-bestandssysteem (HDFS) en een tijdreeks-database (KairosDB voor het vastleggen van time series). De gegevens worden uit de Zabbix-database gehaald en ingevoerd in een Kafka-streamingplatform, waar meerdere in- en uitvoergegevensstromen kunnen worden aangesloten. In deze opstelling zijn twee Kafka-uitgangsmodules gemaakt, één om de gegevens in de KairosDB op te slaan en de andere voor het HDFS-systeem. Kafka repliceert daarom data-streaming naar zowel KairosDB als HDFS. Afhankelijk van de persoonlijke voorkeur van de data scientists zijn datasets eenvoudig toegankelijk via zowel KairosDB als HDFS.

Een uitdagend onderdeel van de datatransitie tussen het Zabbix-systeem en de lange termijn opslag in HDFS en KairosDB is de naam­geving en het dataformaat. Deze dienen zo te zijn ontwikkeld dat ze gemakkelijk doorzoekbaar en toegankelijk zijn. De gegevens werden uit Zabbix gehaald in een formaat dat geschikt is voor een tijdreeks-database.

Ontwerp van opslagschema

Er is gekozen voor het volgende standaard formaat van de tijdreeksendatabase: <metrische naam> <tijdstempel> <tijdstempel> <waarde> <tag> <tag> <tag>…

Waarbij in dit geval:
<metrische naam> één woord
<tijdstempels> is de tijd in seconden sinds 1 januari 1970 (heeft te maken met deze datum als begin van het Unix-tijdperk)
<waarde> bevat de gemeten waarde (in lang of dubbel formaat).
<tag> is van de key-waarde (zie verder)

  • Metrische naam – De ‘metrics’ moet een specifiek ‘ding’ of meting vertegenwoordigen, zoals ethernet-pakketten of temperatuur, maar dan weer niet uitgesplitst in een bepaalde ‘instance’ van dit ‘ding’. De definitie van wat de metric vertegenwoordigt, wordt gedefi­nieerd met een of meer tags.
  • Tag(s) – Het <tag> veld dat van toepassing is in de ICE installatie kan de volgende keys gebruiken:
  • dc definieert welk specifiek datacenter in het geval van meerdere datacenters die worden gemonitord
  • pod ofwel data center module (POD) nummer, 1, 2, 3 enz.
  • rack is het rack-nummer in de pod (dit wordt leeg gelaten voor apparatuur die niet in een rek is gemonteerd)
  • host definieert van welke host de waarden worden gelezen: servers, weerstation, CRAC, enz.; deze gegevens zijn in sommige gevallen overbodig
  • source: wat is de bron van de meting op de huidige host? Voor temperatuurmetingen kan dit bijvoorbeeld cpu zijn of ram, top-front, en dergelijke
  • unit ofwel de eenheid waarin de meetwaarde wordt weergegeven
  • id: als één host meerdere bronnen van hetzelfde type heeft, wordt id gebruikt om ze van elkaar te onderscheiden; er kunnen bijvoorbeeld meerdere cpu’s zijn op dezelfde host
  • Opt of optional key sleutel, zeer zelden gebruikt

Naamgevingsconventies

In Zabbix moest ieder item worden gemarkeerd met een metric en met voldoende tags om de combinatie van metrics en tags uniek te maken. De tags pod, rack, host konden worden geëxtraheerd uit de hostnaam die bij het gegeven item hoort. Dit is mogelijk een gevolg van de naamgevingsconventie van hosts bij ICE. Bijvoorbeeld ‘p01r02srv10’ levert dan de tags pod=1, rack=02 en host=p01r02srv10 op. De tag unit wordt rechtstreeks uit het Units-veld (indien ingesteld) overgenomen en tag dc wordt ingesteld afhankelijk van de geografische locatie van het
datacenter, bijvoorbeeld dc=lulea. De metrics en eventuele extra tags worden ingevoerd in het key- of beschrijvingsveld van het Zabbix-item. De reden om het description-veld te ondersteunen was dat soms het key-veld al was ingevuld.

Op basis van deze informatie is het mogelijk om de gegevens te exporteren volgens het eerder gespecificeerde formaat van de tijdreeksen­database. De KairosDB database kan werken met een open HTTP API. Hierdoor kunnen gegevens heel eenvoudig worden geëxporteerd naar analyse-software zoals Mathworks van MATLAB.

Zoals eerder vermeld, worden alle gegevens ook opgeslagen op een HDFS-bestandssysteem om op Hadoop gebaseerde zoek- en analyse­tools voor big data en analytics mogelijk te maken. De gegevens worden opgeslagen met behulp van het JSON (JavaScript Object Notation) data-uitwisselingsformaat, dat gemakkelijk leesbaar is voor mensen en gemakkelijk door computers kan worden gegenereerd en verwerkt. Ieder uur wordt een nieuw JSON-bestand gegenereerd om alle gegevens van het vorige uur op te slaan.

Operationele resultaten

Module 2 maakt volledige controle van de IT-apparatuur mogelijk. Hierbij kan iedere individuele server worden gebruikt om zogeheten synthetische workloads te produceren op basis van de Stress-ng en meer specifiek met behulp van de zogenaamde ‘matrixprod CPU stress’-methode. Naast de mogelijkheid om de IT-belasting in functie van de tijd te veranderen, kan de thermische omgeving volledig worden gecontroleerd. Ventilatorsnelheden, toevoerwatertemperatuur van de module, waterdebiet en luchttemperatuur voor de servers kunnen allemaal worden geregeld.

Een van de meest voorkomende DC-metrics is uiteraard de Power Usage Effectiveness (PUE), die direct in Zabbix kan worden bewaakt, maar ook kan worden geëvalueerd op basis van gegevens van de KairosDB lange termijn-opslag. Een specifiek deel van het datacenter kan op dezelfde manier worden geanalyseerd via de partiële PUE (pPUE). Elk eerder experiment en alle bijbehorende gegevens kunnen eenvoudig achteraf worden onderzocht met behulp van het in dit artikel beschreven open source dataverzameling en opslagsysteem.

Voorbeelden van energieprestaties

Om aan te tonen hoe de gecontroleerde omgeving en IT-apparatuur in combinatie met de dataverzamelopstelling nuttige gegevens kunnen genereren, werd het instelpunt voor de vloeistoftemperatuur om 5 uur gewijzigd van 15.5 graden Celsius naar 17.5 graden Celsius, terwijl alle andere datacenter-parameters constant werden gehouden.
Figuur 4 laat zien hoe de stijging van de temperatuur van de koelvloeistof (vaste lijn) de datacenter-PUE (stippellijn) beïnvloedt. Dit laat zien hoe de koelventilatoren vertragen in combinatie met hogere snelheden van interne server-ventilatoren als gevolg van hogere server-inlaat­temperaturen. De oorzaak van het gedrag van het systeem en de daling van de PUE kan in meer detail worden geanalyseerd als gegevens van alle andere omgevingssensoren en individuele componenten worden opgenomen.

Figuur 4. Voorbeeld van de output van het systeem voor data-monitoring. De blauwe lijn geeft temperatuur weer van het toegevoerde koelmedium in module 2, terwijl de rode stippellijn de hierbij behorende PUE weergeeft in deze module 2.

Historische analyses

Alle gegevens die zijn opgeslagen in HDFS en KairosDB kunnen eenvoudig worden geëxporteerd voor analyse achteraf. Het is ook mogelijk om realtime tools voor analyses toe te passen, die kunnen helpen bij het vroegtijdig opsporen van mogelijke storingen of de achteruitgang van de datacenter-prestaties.
De KairosDB bevat API’s voor het exporteren van gegevens. Ook is een grafische interface beschikbaar voor het rechtstreeks in de browser bekijken van kortere perioden van gegevens. Het zoeken naar gegevens gebeurt door het specificeren van de metric die van belang is, het instellen van de tijdsperiode en het definiëren van de tags die van belang zijn.

Toekomst

De samenvoeging van de hier beschreven tools kan verder worden ontwikkeld en uitgebouwd. Een voorbeeld is het creëren van een gesloten systeem waarbij de resultaten van analyses weer worden teruggevoerd naar de beheeromgeving om zo de werking van de faciliteit verder te verbeteren. Zeg maar: een eerste vorm van automatisering van het beheer. Hierbij kan dan uiteraard weer gebruik worden gemaakt van het beschreven Kafka streaming-platform. Zodat meerdere gebruikers of externe systemen toegang tot de data kunnen krijgen.

Jonas Gustafsson, Sebastian Fredericksson, Magnus Nilsson-Mäki, Daniel Olsson, Jeffrey Sarkinen, Henrik Niska, Tor Björn Minde en Jonathan Summers zijn werkzaam bij RISE, Nicolas Seyvet is werkzaam voor OP5

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.