Dimensionnement des DCs

 En lisant certains blogs, je suis tombé sur des valeurs un peu excessives au niveau du dimensionnement des contrôleurs de domaine, surtout pour des PME. Je me souviens par exemple d'un site qui préconise 8 Go de RAM minimum sur les DCs avec Windows 2012 R2, sans trop justifier cette valeur. Active Directory n'est pas un service très exigeant au niveau des performances en comparaison d'un serveur Exchange ou d'une base de données SQL Server.
Le premier point sur lequel je souhaite justement revenir est la mémoire. Il est recommandé pour des raisons de performances d'avoir suffisamment de mémoire pour conserver l'ensemble de l'annuaire dans la mémoire. A la création le fichier « NTDS.dit » à une taille inférieur à 50 Mo. Même si la taille de la base de données est variable en fonction du nombre d'utilisateurs, de groupe, si vous stocker des photos pour les utilisateurs etc…, vous verrez qu'un annuaire pour une société de moins de 300 personnes ne dépassera sans doute pas les 300Mo.
La quantité minimale de RAM devrait être supérieur à la somme de la taille de la base de données, la taille SYSVOL totale, le montant recommandé du système d'exploitation et les recommandations du fournisseur pour les agents (antivirus, surveillance, sauvegarde, etc.). Donc si on compte 1Go pour Windows 2012, 300Mo pour la base AD et 100 Mo pour le service DNS, dans une petite structure, 2 Go de mémoire peut être suffisant si le DC n'héberge pas d'autres rôles.
Dans une structure plus importante, par exemple avec une forêt multi-domaine, le rôle de catalogue global augmente la consommation de mémoire. De plus si vous installez des outils tiers comme System Center (client SCCM, agent SCOM) vous devrez peut-être prévoir un minimum de 3Go voir 4Go.
Pour les disques, si la taille de la RAM est suffisante, les performances disques ne devraient pas être un goulot d'étranglement. Au niveau de l'espace disponible, prévoyez au minimum de disposer de 2 fois la taille de l'annuaire et de SYSVOL, s'ils sont sur un disque dédié (un disque de 10 Go dédié peut être suffisant). Au niveau du système vous devez conserver une marge plus importante pour les mises à jour et pour les outils comme l'antivirus. Un minimum de 50 Go est utile. Il est recommandé de mettre l'annuaire sur un disque séparé du système, vu qu'Active Directory essaye de désactiver le cache en écriture sur le disque ou réside l'annuaire. Il est évident que c'est plus simple dans un environnement virtuel et c'est une recommandation importante sur les VMs de génération 1 sur Hyper-V dont le disque système est vu comme un disque IDE.
Au niveau réseau, une carte Gbits est largement suffisante.
Il est préférable d'avoir plusieurs DCs plutôt qu'un DC surpuissant. Il faut tout de même prévoir une charge moyenne CPU pas trop élevé de manière à pouvoir gérer l'absence ponctuelle d'un DC. Le DC disposant de rôle FSMO comme par exemple l'émulateur PDC consomme généralement plus de CPU, il est préférable de ne pas mettre ces rôles sur la machine la moins performante.
Par exemple au lieu de 1 DCs avec 4 cœurs il est préférable de mettre en œuvre 2 DC avec des processeurs à 2 cœurs, voire 3 DCs. Avec les environnements virtuels il est plus facile d'optimiser l'utilisation des ressources. Bon, installé 3 DCs virtuels sur un hyperviseur unique, n'est pas un choix judicieux …
Il est préférable de ne pas installer d'applications tierces sur les DCs. Cela facilite également les scénarios de migration et de restauration en cas de problème.
Si vous souhaitez virtualiser vos contrôleurs de domaine, il est recommandé de conserver un DC physique surtout si vos hyperviseurs sont dépendants de l'annuaire comme dans un cluster Hyper-V.
Un autre élément sur lequel je souhaitais attirer votre attention, est la sur-allocation de mémoire dans les environnements virtualisés. Il est facile d'affecter de grandes quantités de mémoire sur une machine virtuelle, dans tous les cas s'ils ne sont pas consommés il n'y aura pas d'impact. Par contre si vous vous retrouvez dans une situation où l'ensemble des serveurs virtuels consomment plus que la mémoire disponible, l'impact sur les performances est important.
Enfin dans un environnement avec de multiples domaines qui s'approuvent (dans la même forêt ou avec des approbations que vous avez créées), si les utilisateurs accèdent à des ressources d'un autre domaine en utilisant NTLM, cela crée des canaux sécurisés entre les DCs de chaque domaine. Le nombre de canaux est limité (voir MaxConcurrentAPI). Il est possible d'améliorer les performances en privilégiant Kerberos, ou en ajoutant des DCs supplémentaires, voire de modifier la valeur de MaxConcurrentAPI : http://support.microsoft.com/kb/2688798
En résumé il n'est pas simple, ni même utile de faire une estimation précise avec des formules de calcul complexe. Le suivie des performances d'un environnement en production, est plus judicieux. Dans un environnement multi-sites la configuration des sites et des sous-réseaux, le placement et le nombre de DCs, a un impact plus important que l'ajout de grandes quantités de mémoire ou l'utilisation de beaucoup de cœur sur un DC en particulier.
Pour les environnements multi-domaines répartis sur un grand nombre de sites avec plus de 10 000 utilisateurs, vous pouvez faire une estimation plus précise en vous référant au « Capacity Planner » :
https://social.technet.microsoft.com/wiki/contents/articles/14355.capacity-planning-for-active-directory-domain-services.aspx#Baseline_Requirements_for_Capacity_Planning_Guidance

Theme: 

Systeme: 

Annee: