Virtualiser les contrôleurs de domaine
On pourrait penser que l'idée de virtualiser les contrôleurs de domaine Active Directory ne constitue pas un sujet nécessitant un débat, et pourtant je constate que la question se pose régulièrement de savoir si les contrôleurs de domaine AD devraient ou non être virtualisés. En théorie, il n'est pas nécessaire de poser cette question, car nous disposons dans le secteur de recommandations bien plus générales qui nous indiquent que toutes les charges de travail possibles devraient être virtualisées, et Active Directory ne présente assurément aucun cas particulier permettant de créer une exception à cette règle générale et bien établie de longue date.
Curieusement, les gens semblent pourtant régulièrement chercher des éclaircissements au sujet de cette charge de travail bien précise ; or, lorsque l'on sollicite de mauvais conseils, il se trouve toujours quelqu'un pour en fournir. Quantité de personnes publient des avis recommandant des serveurs physiques pour Active Directory, mais rarement, voire jamais, avec la moindre explication justifiant pourquoi elles recommanderaient de transgresser les bonnes pratiques, et ce d'autant plus avec une charge de travail aussi banale et bien connue.
Quant à savoir pourquoi les personnes qui mettent en œuvre des contrôleurs de domaine AD décident que cela justifie une investigation spécifique sur la virtualisation, alors qu'aucune autre charge de travail ne le justifie, je ne saurais répondre. Mais après de nombreuses années de recherche sur ce phénomène, je dispose de quelques éclairages sur l'origine de ces conseils imprudents en faveur des déploiements physiques.
La première erreur provient d'une incompréhension générale de ce qu'est même la virtualisation. Cela est malheureusement incroyablement répandu, et les gens pensent très souvent que la virtualisation signifie la consolidation, ce qui n'est évidemment pas le cas. Ils prennent donc cette erreur et y appliquent ensuite le raisonnement erroné selon lequel la consolidation consisterait à regrouper deux contrôleurs de domaine AD sur le même hôte physique. Cela suppose également de franchir le pas consistant à croire qu'il y aura toujours deux contrôleurs de domaine AD ou plus, mais il s'agit là aussi d'une croyance répandue. Ainsi, trois grandes erreurs de raisonnement se conjuguent pour aboutir à de très mauvais conseils que, si l'on creuse les recommandations, on peut généralement retracer jusqu'à leur source. Cela semble être à l'origine de la majorité des mauvais conseils.
D'autres causes tiennent parfois à une mauvaise compréhension de bonnes pratiques réelles, comme la formule « Si vous disposez de deux contrôleurs de domaine AD, chacun doit se trouver sur un hôte physique distinct. » Cette affirmation nous indique que deux machines physiquement distinctes doivent être utilisées dans ce scénario, ce qui est tout à fait exact. Mais elle n'implique pas qu'aucune des deux ne devrait disposer d'un hyperviseur, seulement que deux hôtes différents sont nécessaires. La formulation employée pour ce type de conseil est souvent difficile à comprendre si l'on ne possède pas déjà la connaissance qu'en aucune circonstance une charge de travail non virtualisée n'est acceptable. Si l'on lit la recommandation avec cette compréhension, son sens est clair et, on l'espère, évident. Malheureusement, cette recommandation se trouve souvent répétée hors contexte, de sorte que le sens sous-jacent peut aisément se perdre.
Il y a longtemps, c'est-à-dire il y a une dizaine d'années environ, certaines plateformes de virtualisation présentaient quelques problèmes liés à la synchronisation temporelle et aux horloges système, susceptibles de semer la pagaille dans des systèmes de bases de données en cluster comme Active Directory. C'était là un problème légitime jadis, mais il a été résolu depuis bien longtemps, comme il le fallait pour de nombreuses charges de travail différentes. Une perception s'est néanmoins créée selon laquelle Active Directory nécessiterait peut-être un traitement particulier, et elle semble persister alors même qu'une génération ou deux se sont écoulées, en termes informatiques, depuis que cela posait problème, et que cela aurait dû être oublié depuis longtemps.
Un autre mythe conduisant à de mauvais conseils prend racine dans le fait que les contrôleurs de domaine AD, comme d'autres bases de données en cluster, ne devraient pas faire l'objet d'instantanés lorsqu'ils sont utilisés en mode cluster, car cela créerait facilement une corruption de base de données si un seul nœud du cluster venait à être restauré de cette manière. Il s'agit cependant d'un aspect général du stockage et des bases de données, qui n'a aucun rapport avec la virtualisation. La même information est tout autant nécessaire pour des contrôleurs de domaine AD physiques. Le fait que les instantanés soient associés à la virtualisation est un autre mythe ; la virtualisation n'implique aucun artefact de stockage de ce genre.
D'autres mythes encore naissent de la croyance selon laquelle la virtualisation devrait reposer sur Active Directory lui-même pour fonctionner et que, par conséquent, Active Directory devrait s'exécuter sans virtualisation. C'est totalement un mythe et c'est dénué de sens. Il n'existe aucune exigence circulaire de ce type.
Malheureusement, certains domaines techniques ont donné naissance à des mythes de grande ampleur, souvent nombreux, qui les entourent et peuvent rendre difficile la distinction du vrai. La virtualisation est juste assez complexe pour que beaucoup de gens cherchent à apprendre non seulement comment l'utiliser, mais aussi ce qu'elle est conceptuellement, par cœur, donnant ainsi naissance à des idées fausses parfois aberrantes, à tel point éloignées de la réalité qu'il peut être difficile de comprendre que c'est bien là ce que nous avons sous les yeux. Et dans un cas comme celui-ci, les idées fausses relatives à la virtualisation, à l'histoire, aux bases de données en cluster, aux techniques de haute disponibilité, au stockage et à bien d'autres choses encore s'additionnent pour former couche après couche d'idées fausses, rendant difficile de comprendre comment tant d'éléments peuvent se conjuguer autour d'une seule question de déploiement.
En fin de compte, peu de charges de travail sont aussi idéalement adaptées à la virtualisation que les contrôleurs de domaine Active Directory. Il n'existe aucun cas où l'idée d'utiliser un déploiement de système d'exploitation physique sur matériel nu pour un contrôleur de domaine devrait être envisagée — virtualisez à chaque fois.