Virtualiseer domeincontrollers
Je zou denken dat het idee om Active Directory-domeincontrollers te virtualiseren geen onderwerp zou zijn dat bespreking behoeft, en toch merk ik dat de vraag regelmatig opduikt of AD-domeincontrollers wel of niet gevirtualiseerd zouden moeten worden. In theorie is er geen enkele reden om deze vraag te stellen, omdat we in de branche beschikken over veel algemenere richtlijnen die ons vertellen dat alle mogelijke workloads gevirtualiseerd zouden moeten worden, en AD vormt zeker geen bijzonder geval dat een uitzondering op deze al lang bestaande en algemene regel zou rechtvaardigen.
Vreemd genoeg lijken mensen er echter regelmatig op uit te trekken om opheldering te zoeken over deze ene specifieke workload, en wie slecht advies zoekt, zal er ongetwijfeld iemand vinden die het verstrekt. Talloze mensen plaatsen adviezen waarin ze fysieke servers aanbevelen voor Active Directory, maar zelden, of eigenlijk nooit, met enige uitleg over waarom ze zouden aanraden om überhaupt af te wijken van best practices, laat staan bij zo'n alledaagse en welbekende workload.
Waarom mensen die AD-domeincontrollers implementeren besluiten dat dit specifiek onderzoek naar virtualisatie rechtvaardigt terwijl geen enkele andere workload dat doet, kan ik niet beantwoorden. Maar na vele jaren onderzoek naar dit fenomeen heb ik wel enig inzicht gekregen in de bron van het roekeloze advies rond fysieke implementaties.
De eerste fout komt voort uit een algemeen misverstand over wat virtualisatie eigenlijk is. Dit is helaas ongelooflijk gangbaar, en mensen denken vrij vaak dat virtualisatie consolidatie betekent, wat natuurlijk niet zo is. Vervolgens nemen ze die fout over en passen ze de onjuiste logica toe dat consolidatie betekent dat je twee AD-domeincontrollers op dezelfde fysieke host samenbrengt. Het vereist ook de denksprong dat er altijd twee of meer AD-domeincontrollers zullen zijn, maar ook dat is een veelvoorkomende overtuiging. Zo komen drie grote denkfouten samen tot zeer slecht advies dat je, als je in de aanbevelingen graaft, normaal gesproken kunt herleiden. Dit lijkt de kern te zijn van het merendeel van het slechte advies.
Andere oorzaken zijn soms een verkeerd begrip van daadwerkelijke best practices, zoals de zin “Als je twee AD-domeincontrollers hebt, moet elk op een afzonderlijke fysieke host staan.” Deze uitspraak vertelt ons dat er in dit scenario twee fysiek gescheiden machines gebruikt moeten worden, wat absoluut correct is. Maar het impliceert niet dat geen van beide een hypervisor zou mogen hebben, alleen dat er twee verschillende hosts nodig zijn. De bewoording die voor dit soort advies wordt gebruikt, is vaak moeilijk te begrijpen als je niet al de kennis hebt dat onder geen enkele omstandigheid een niet-gevirtualiseerde workload aanvaardbaar is. Als je de aanbeveling met dat begrip leest, is de betekenis ervan duidelijk en, hopelijk, vanzelfsprekend. Helaas wordt die aanbeveling vaak uit de context herhaald, waardoor de onderliggende betekenis gemakkelijk verloren kan gaan.
Lang geleden, zo'n tien jaar terug, hadden sommige virtualisatieplatforms problemen met timing en systeemklokken die roet in het eten konden gooien bij geclusterde databasesystemen zoals Active Directory. Dit was lang geleden een legitiem probleem, maar het werd lang geleden opgelost, zoals dat ook voor veel andere workloads nodig was. Toch ontstond de perceptie dat AD mogelijk een speciale behandeling nodig had, en die lijkt te blijven hangen, ook al is het in IT-termen al een generatie of twee geleden dat dit een probleem was en had het allang vergeten moeten zijn.
Een andere mythe die tot slecht advies leidt, is geworteld in het feit dat AD-domeincontrollers, net als andere geclusterde databases, wanneer ze in een geclusterde modus worden gebruikt, niet van een snapshot voorzien zouden moeten worden, omdat dit gemakkelijk databasecorruptie kan veroorzaken wanneer slechts één knooppunt van het cluster op die manier wordt hersteld. Dit is echter een algemeen aspect van opslag en databases en heeft helemaal niets met virtualisatie te maken. Dezelfde informatie is net zo goed noodzakelijk voor fysieke AD-domeincontrollers. Dat snapshots geassocieerd worden met virtualisatie is nog een mythe; virtualisatie impliceert geen enkel dergelijk opslagverschijnsel.
Weer andere mythes komen voort uit de overtuiging dat virtualisatie sterk afhankelijk zou zijn van Active Directory zelf om te kunnen functioneren en dat AD daarom zonder virtualisatie moet draaien. Dit is volledig een mythe en onzinnig. Er bestaat geen dergelijke circulaire vereiste.
Helaas hebben sommige technische gebieden geleid tot grootschalige mythes, vaak vele tegelijk, die hen omringen en het lastig kunnen maken om de waarheid te achterhalen. Virtualisatie is precies complex genoeg dat veel mensen proberen aan te leren, niet alleen hoe ze het moeten gebruiken, maar ook wat het conceptueel is, en wel van buiten, wat soms aanleiding geeft tot bizarre misvattingen die zo ver bezijden de waarheid zijn dat het moeilijk kan zijn om te beseffen dat dit werkelijk is waar we mee te maken hebben. En in een geval als dit stapelen misvattingen rond virtualisatie, geschiedenis, geclusterde databases, technieken voor hoge beschikbaarheid, opslag en meer zich laag op laag op, waardoor het moeilijk te begrijpen is hoe zo veel zaken kunnen samenkomen rond één implementatievraag.
Uiteindelijk zijn er maar weinig workloads zo ideaal geschikt voor virtualisatie als Active Directory-domeincontrollers. Er is geen enkel geval waarin het idee om een fysieke bare-metal besturingssysteemimplementatie voor een domeincontroller te gebruiken zou moeten worden overwogen – virtualiseer altijd.