Rétrograder le niveau fonctionnel du cluster

J’aimerais essayer d’ajouter un serveur Hyper-V Server 2012 à mon cluster actuel.

Actuellement, 2 serveurs Hyper-V Server 2016 sont en cluster.

J’ai besoin de pouvoir rétrograder le niveau fonctionnel du cluster de 2016 à 2012 pour ajouter le nœud 2012. Est-ce possible ?

Après quelques recherches, il semble que vous ne puissiez pas rétrograder les niveaux fonctionnels de cluster, et vous ne pouvez pas non plus faire de migration en direct d’instances de 2016 vers 2012 de toute façon.

La fonctionnalité de mise à niveau progressive du système d’exploitation du cluster ne fonctionne que dans un sens : de l’ancien vers le nouveau. Vous pouvez ajouter des nœuds 2016 à un cluster 2012 R2 et mettre à niveau le niveau fonctionnel, mais pas l’inverse.

Bonjour,

La rétrogradation du niveau fonctionnel d’un domaine ou d’une forêt Active Directory est l’une des questions les plus importantes en administration Windows Server. La réponse est directe et fondamentale : il est impossible de rétrograder un niveau fonctionnel AD une fois qu’il a été élevé, sauf dans des cas très spécifiques. Voici une analyse complète de la situation.

Principe fondamental : l’irréversibilité des niveaux fonctionnels

Active Directory fonctionne sur le principe d’une progression unidirectionnelle des niveaux fonctionnels. Une fois qu’un niveau fonctionnel de domaine (DFL - Domain Functional Level) ou de forêt (FFL - Forest Functional Level) est élevé, il ne peut pas être abaissé par des moyens normaux.

Raison technique : l’élévation du niveau fonctionnel active des fonctionnalités et des schémas qui modifient la structure interne de la base de données AD. Ces modifications ne sont pas réversibles car elles impliqueraient la perte de données ou de fonctionnalités qui pourraient déjà être utilisées.

Niveaux fonctionnels disponibles par version

Niveaux fonctionnels de domaine (DFL)

Niveau Valeur numérique Contrôleurs de domaine compatibles
Windows Server 2008 4 WS 2008 et supérieur
Windows Server 2008 R2 5 WS 2008 R2 et supérieur
Windows Server 2012 6 WS 2012 et supérieur
Windows Server 2012 R2 7 WS 2012 R2 et supérieur
Windows Server 2016 10 WS 2016 et supérieur
Windows Server 2019 10 WS 2016/2019
Windows Server 2022 10 WS 2016/2019/2022

Note : Windows Server 2019 et 2022 n’ont pas introduit de nouveau niveau fonctionnel — ils utilisent tous le niveau 10 (WS 2016).

Vérifier le niveau fonctionnel actuel

# Vérifier le niveau fonctionnel du domaine
Get-ADDomain | Select-Object Name, DomainMode

# Vérifier le niveau fonctionnel de la forêt
Get-ADForest | Select-Object Name, ForestMode

# Informations complètes
Get-ADDomain | Select-Object Name, DomainMode, DomainSID
Get-ADForest | Select-Object Name, ForestMode, SchemaMaster, DomainNamingMaster

Exception : la rétrogradation est possible après élévation vers WS 2008 R2 ou supérieur

Microsoft a introduit une exception notable : depuis Windows Server 2008 R2, il est possible de rétrograder le niveau fonctionnel de domaine sous certaines conditions très précises.

Conditions requises pour la rétrogradation

  1. La rétrogradation ne peut se faire que d’un seul niveau à la fois
  2. Aucune fonctionnalité exclusive au niveau supérieur ne doit être utilisée (ex : la corbeille AD, les silos d’authentification, etc.)
  3. Tous les contrôleurs de domaine doivent être compatibles avec le niveau cible

Fonctionnalités bloquantes selon le niveau

Fonctionnalité Niveau requis Bloque la rétrogradation vers
Corbeille Active Directory WS 2008 R2 (DFL) WS 2008
Silos de stratégie d’authentification WS 2012 R2 (DFL) WS 2012
KDC avec support des revendications WS 2012 (DFL) WS 2008 R2
Chiffrement AES pour Kerberos WS 2008 (DFL) WS 2003

Vérifier si la Corbeille AD est activée (bloque la rétrogradation vers < WS 2008 R2)

# Vérifier si la corbeille AD est activée
$recBin = Get-ADOptionalFeature -Filter {name -like "Recycle Bin Feature"}
if ($recBin.EnabledScopes) {
    Write-Host "Corbeille AD activée - rétrogradation vers WS2008 IMPOSSIBLE" -ForegroundColor Red
} else {
    Write-Host "Corbeille AD non activée" -ForegroundColor Green
}

Procédure de rétrogradation (si applicable)

Si les conditions sont réunies, voici comment procéder :

Via PowerShell

# Rétrograder le niveau fonctionnel du domaine
# Exemple : passer de Windows2012R2Domain à Windows2012Domain
Set-ADDomainMode -Identity "votre-domaine.fr" -DomainMode Windows2012Domain

# Rétrograder le niveau fonctionnel de la forêt
Set-ADForestMode -Identity "votre-domaine.fr" -ForestMode Windows2012Forest

# Confirmer la modification
Get-ADDomain | Select-Object Name, DomainMode

Via l’interface graphique (Domaines et approbations AD)

  1. Ouvrez Domaines et approbations Active Directory (domain.msc)
  2. Faites un clic droit sur le domaine
  3. Sélectionnez Augmenter le niveau fonctionnel du domaine
  4. Si la rétrogradation est possible, vous verrez une option pour sélectionner un niveau inférieur
  5. Cliquez sur Augmenter (le terme est trompeur, il s’applique aussi à la rétrogradation dans certains contextes)

Important : L’interface graphique peut ne pas proposer explicitement la rétrogradation. Privilégiez PowerShell pour cette opération.

Contexte des clusters Windows Server

Si votre question concerne spécifiquement le niveau fonctionnel d’un cluster de basculement (Failover Cluster) plutôt que celui d’Active Directory, la situation est différente.

Niveau fonctionnel d’un cluster de basculement

Le cluster de basculement Windows Server possède son propre niveau fonctionnel, distinct d’AD :

# Vérifier le niveau fonctionnel du cluster
Get-Cluster | Select-Object Name, ClusterFunctionalLevel

# Voir les niveaux disponibles
# ClusterFunctionalLevel 8  = Windows Server 2012
# ClusterFunctionalLevel 9  = Windows Server 2012 R2
# ClusterFunctionalLevel 10 = Windows Server 2016
# ClusterFunctionalLevel 11 = Windows Server 2019
# ClusterFunctionalLevel 12 = Windows Server 2022

Rétrogradation du niveau fonctionnel d’un cluster

Contrairement à Active Directory, le niveau fonctionnel d’un cluster de basculement ne peut pas être rétrogradé non plus. La seule façon de “rétrograder” est de :

  1. Documenter la configuration actuelle du cluster
  2. Détruire le cluster (Remove-Cluster)
  3. Recréer le cluster sur des serveurs de la version cible
  4. Restaurer les rôles en cluster

Alternative à la rétrogradation : création d’un nouveau DC de version inférieure

Si votre objectif est d’introduire un contrôleur de domaine d’une version antérieure dans votre domaine existant (sans rétrograder le niveau fonctionnel), voici les vérifications nécessaires :

# Vérifier si le niveau fonctionnel actuel permet l'ajout d'un DC d'une version antérieure
# Un DC ne peut rejoindre un domaine que si sa version >= niveau fonctionnel du domaine

$domain = Get-ADDomain
Write-Host "Niveau fonctionnel du domaine : $($domain.DomainMode)"
Write-Host "Pour ajouter un DC, sa version doit être >= à ce niveau"

# Lister les DCs existants et leurs versions
Get-ADDomainController -Filter * |
    Select-Object Name, IPv4Address, OperatingSystem, OperatingSystemVersion |
    Format-Table -AutoSize

Stratégie recommandée : préserver la flexibilité lors des mises à niveau

Pour éviter de se retrouver dans une situation où une rétrogradation est nécessaire, voici les bonnes pratiques :

Avant d’élever le niveau fonctionnel

# Checklist avant élévation du niveau fonctionnel

# 1. S'assurer qu'aucun DC de version ancienne n'existe encore
Get-ADDomainController -Filter * | Select-Object Name, OperatingSystem

# 2. Vérifier la santé de la réplication
repadmin /replsummary
dcdiag /test:replications

# 3. Sauvegarder l'état système de tous les DCs
# (via Windows Server Backup ou solution tierce)

# 4. Documenter le niveau fonctionnel actuel
Get-ADDomain | Select-Object DomainMode | Export-Csv "C:\AD_DFL_before_upgrade.csv"
Get-ADForest | Select-Object ForestMode | Export-Csv "C:\AD_FFL_before_upgrade.csv"

Restauration depuis une sauvegarde (solution ultime)

Si une rétrogradation est absolument indispensable et qu’aucune des méthodes ci-dessus n’est applicable, la seule option restante est une restauration autoritaire depuis une sauvegarde effectuée avant l’élévation du niveau fonctionnel.

Cette opération implique :

  1. Une restauration autoritaire de l’état du système (Authoritative Restore) sur tous les DCs
  2. Une coordination précise de la réplication entre tous les contrôleurs
  3. Un impact potentiellement majeur sur tous les objets AD modifiés depuis la sauvegarde

Avertissement : Une restauration autoritaire en production est une opération à très haut risque. Elle doit être effectuée uniquement par un ingénieur AD expérimenté, avec un plan de rollback documenté et une fenêtre de maintenance planifiée.

Conclusion

En résumé : la rétrogradation d’un niveau fonctionnel Active Directory ou d’un cluster Windows Server n’est pas une opération standard prise en charge. Les rares exceptions concernent des scénarios très précis avec Windows Server 2008 R2+ et uniquement si aucune fonctionnalité exclusive au niveau supérieur n’a été activée.

Pour votre situation spécifique, pourriez-vous préciser : quel niveau fonctionnel actuel cherchez-vous à rétrograder, vers quel niveau cible, et quelle est la raison de cette rétrogradation ? Ces informations me permettront de vous proposer la meilleure approche ou, si la rétrogradation est impossible, une alternative viable pour atteindre votre objectif.