Cluster Windows Server : stockage partagé ou local ? CSV, S2D, SOFS, quorum et Azure Cloud Witness

Dans un cluster Windows Server, faut‑il choisir des volumes locaux répliqués ou un stockage partagé (SAN/CSV/S2D) ? Ce guide, inspiré d’un environnement bancaire réel, expose les critères décisionnels, les architectures possibles et un plan d’implémentation prêt à l’emploi.

Sommaire

Contexte synthétique

Vous disposez de deux nœuds Windows Server en cluster de basculement (actif/passif), de quatre contrôleurs de domaine répartis sur le territoire pour desservir les agences, et d’un contrôleur de domaine de secours hébergé dans Microsoft Azure. La question centrale : sur quoi reposent les volumes des ressources clusterisées ? Sur des disques locaux à chaque nœud ou sur un stockage partagé ?

Décision rapide

Recommandation générale : stockage partagé pour les charges de travail nécessitant une seule source de vérité (fichiers, bases de données, volumes Hyper‑V, applications stateful), via Cluster Shared Volumes (CSV) sur SAN/iSCSI ou Storage Spaces Direct (S2D) pour un modèle hyper‑convergé. Active Directory ne se clusterise pas : conservez des contrôleurs de domaine autonomes et répliqués, avec stockage local.

Pour la résilience du cluster : quorum avec témoin (idéalement Cloud Witness dans Azure puisque l’abonnement existe déjà).

Pourquoi le stockage partagé reste la voie royale

Un cluster de basculement Windows Server (Windows Server Failover Clustering, WSFC) est conçu pour que plusieurs nœuds exposent la même donnée à un moment donné, sans divergence. Lors d’un basculement, le service reprend sur un autre nœud qui voit exactement le même volume ; aucune resynchronisation lourde n’est requise, et le temps de reprise se limite à la remise en ligne de la ressource.

CSV et cohérence transactionnelle

Avec les Cluster Shared Volumes, tous les nœuds montent simultanément le volume (NTFS/ReFS) ; un nœud « coordinateur » arbitre les métadonnées et la cohérence. C’est transparent pour la majorité des charges (Hyper‑V, SOFS, SQL sur disques partagés, serveurs de fichiers). Le CSV réduit le nombre de LUN, simplifie l’administration, et permet des opérations comme la maintenance sans interruption des workloads.

Panorama des options de stockage partagé

OptionPrincipeCas d’usage typiquesForcesPoints d’attention
SAN Fibre Channel / iSCSIBaie centralisée exposant des LUN aux nœudsBanques, ERP, bases de données, fichiers, Hyper‑VPerformance prévisible, MPIO mature, fonctions avancées (snapshots, clones)Coût et dépendance constructeur, nécessite un design multipaths strict
Storage Spaces Direct (S2D)Disques locaux agrégés en pool distribué, présentés en CSVHyper‑convergé, Hyper‑V + SOFS, clusters 2–16 nœudsÉvite la baie SAN, scale‑out simple, performance élevée (NVMe/SSD)Exige interconnexion faible latence, conception réseau soignée (RDMA, QoS)
SOFS sur SMB 3.0Rôle Scale‑Out File Server exposant des partages continusStockage de VM Hyper‑V, partages applicatifs hautement disponiblesScale‑out, SMB Multichannel/RDMA, continuité d’accès clientNécessite back‑end partagé (SAN/S2D), droits et sécurité SMB à cadrer

Quand préférer des volumes locaux répliqués

Des volumes locaux sur chaque nœud peuvent être légitimes lorsque la charge gère elle‑même la réplication ou n’a pas besoin d’un volume partagé :

  • SQL Server Always On Availability Groups : réplication des bases au niveau transactionnel, pas de LUN partagée ; utile pour multi‑sites.
  • Applications conçues pour le multi‑maître (Kafka, certaines NoSQL) : réplication native, tolérance aux partitions.
  • DFS‑R pour réplications de dossiers en lecture majoritaire : utile pour contenu largement distribué, à éviter comme back‑end de bases.
  • Storage Replica : réplication bloc‑à‑bloc synchrone (RPO≈0) ou asynchrone (RPO>0) entre serveurs/clusters, pour PRA et stretched clusters.

Quel modèle pour quelle charge ?

Charge de travailModèle recommandéCommentaire
Serveur de fichiers d’entrepriseSOFS + CSV sur SAN ou S2DSMB 3.0, transparence de basculement, ACL centralisées
Hyper‑V (stockage des VHDX)CSV + SOFS, ou S2DPerformances stables, Live Migration, VM Storage Resiliency
SQL Server instance traditionnelleDisque partagé en cluster WSFCUne seule copie des fichiers MDF/LDF, basculement rapide
SQL Server Always On AGVolumes locaux + réplication AGPas de LUN partagée ; adapté aux sites distants
Contrôleurs de domaine AD DSPas de cluster, stockage localRéplication multi‑maître native, VM‑GenID compatible

Quorum et haute disponibilité pragmatique

Dans un cluster deux nœuds, un témoin évite le « split brain ». Trois options : Disk Witness (LUN partagée), File Share Witness (partage SMB tiers) ou Cloud Witness (Azure Storage). Dans votre contexte, le Cloud Witness Azure est simple et robuste.

Type de quorumAvantagesLimitesContexte cible
Node Majority + Disk WitnessLocal, faible latenceNécessite stockage partagé supplémentaireDatacenter unique avec SAN
Node Majority + File Share WitnessPas de LUN dédiéeLe partage doit être hautement disponibleTroisième site on‑premises
Node Majority + Cloud WitnessSimplicité, tiers géographiquement séparéDépendance Internet/AzureOrganisation déjà intégrée à Azure

Exemples PowerShell utiles

# Validation préalable (à exécuter avant toute mise en prod)
Test-Cluster -Node "SRV-CL1","SRV-CL2" -Include "Inventory","Network","Storage","System Configuration"

# Création du cluster sans stockage (vous ajouterez les CSV ensuite)

New-Cluster -Name "CL-FICHIERS" -Node "SRV-CL1","SRV-CL2" -StaticAddress "10.10.10.50" -NoStorage

# Configuration du quorum avec témoin Azure

Set-ClusterQuorum -CloudWitness -AccountName "mystorageacct" -AccessKey "xxxxxxxxxxxxxxxxxxxxxxxx"

# Ajout d’un disque partagé existant comme CSV

Get-ClusterAvailableDisk | Add-ClusterDisk
Get-ClusterResource | Where-Object {$_.ResourceType -eq "Physical Disk"}
Add-ClusterSharedVolume -Name "Cluster Disk 1"

# Pour S2D (si modèle hyper‑convergé)

Enable-ClusterS2D -Confirm:$false
Get-StoragePool S2D* | New-Volume -FileSystem ReFS -FriendlyName "DataCSV" -Size 4TB -ResiliencySettingName Mirror -AllocationUnitSize 64KB

# Activation de la journalisation cluster

Get-ClusterLog -UseLocalTime -Destination "C:\Temp\ClusterLogs" 

Architecture réseau et stockage à l’épreuve des pannes

  • Redondance bout‑en‑bout : deux contrôleurs SAN, deux fabrics FC, deux cartes iSCSI/roce par nœud, deux commutateurs par fabric, MPIO activé et testé.
  • Séparation des flux : réseaux dédiés pour le trafic client, le CSV, la gestion, et la Live Migration ; SMB Multichannel/RDMA pour SOFS/S2D.
  • Latence : si vous étendez le cluster, visez une latence RTT < 5 ms pour la réplication synchrone (Storage Replica/S2D stretch).
  • QoS et goulots d’étranglement : contrôlez la bande passante de Live Migration et CSV, surveillez la file d’attente disque et la saturation CPU.
  • ReFS + CSV Cache pour Hyper‑V/SOFS : accélère les métadonnées et les VHDX dynamiques.

Spécificités Active Directory dans ce contexte

Ne clusterisez pas AD DS. Les contrôleurs de domaine sont multi‑maîtres, répliqués de façon native. Conservez du stockage local et multipliez les DC dans des sites AD cohérents avec la topologie réseau. Sauvegardez l’état du système, placez les rôles FSMO à des emplacements stables, et évitez les snapshots non coordonnés (risque de rollback d’USN ; heureusement, VM‑Generation ID réduit ce risque sur hyperviseurs modernes).

Bonnes pratiques AD DS

  • Au minimum deux DC par site critique ; conservez un DC en Azure pour PRA.
  • DNS et DHCP redondants ; surveillance de la réplication (repadmin, DCDiag).
  • GPO pour durcir SMB, NTLM et canaux sécurisés ; chiffrement SMB requis côté serveurs de fichiers sensibles.

Stratégies PRA : répliquer, pas seulement basculer

Le basculement intra‑site (cluster) est différent de la reprise après sinistre inter‑site. Combinez :

  • Storage Replica pour dupliquer des volumes de production vers un second site/cluster ; mode synchrone (RPO≈0) ou asynchrone (RPO > 0) selon la latence.
  • Azure Site Recovery (ASR) pour orchestrer la bascule de VM vers Azure, tester vos playbooks de PRA sans impact de production et réduire le temps d’indisponibilité.
  • DFS‑R pour distribuer des contenus de type lecture majoritaire (logiciels, référentiels), non transactionnels.

Plan d’implémentation opérationnel

  1. Qualification des workloads : listez les services à haute disponibilité ; marquez ceux qui nécessitent une copie unique de données (fichiers, SQL instance, VM) → candidats au stockage partagé.
  2. Choix de l’architecture :
    • SAN + CSV si vous avez déjà une baie et des compétences MPIO.
    • S2D si vous voulez supprimer la baie et basculer en hyper‑convergé.
    • AG SQL / réplication applicative si le workload le permet.
  3. Conception du quorum : two‑node + Cloud Witness (compte de stockage Azure existant).
  4. Réseau : définir VLANs/VRFs, MTU, RDMA (RoCE/iWARP), QoS, chemins physiques indépendants.
  5. Sécurité : SMB Signing/Encryption pour SOFS, baselines OS, comptes gMSA pour services, segmentation et listes d’accès.
  6. Déploiement :
    • Installer la feature Failover Clustering, Multipath I/O si SAN, agents HBA/DSM.
    • Exécuter Test-Cluster, corriger 100 % des erreurs, documenter les avertissements acceptés.
    • Créer le cluster, configurer le quorum, ajouter les disques ou activer S2D, formater en ReFS/NTFS.
    • Activer CSV, créer les rôles (SOFS, File Server, SQL, Hyper‑V) et tester les basculements planifiés et non planifiés.
  7. Exploitation : activer Cluster‑Aware Updating, alerter sur événements critiques, sauvegarder via VSS (et tests de restauration réguliers).

Coûts, performances et capacité

  • CapEx : SAN = baie + fabric ; S2D = serveurs avec beaucoup de disques NVMe/SSD + réseau 25/40/100 Gbps.
  • OpEx : S2D réduit la dépendance constructeur mais exige une instrumentation réseau et stockage rigoureuse.
  • Performance : file system ReFS recommandé pour Hyper‑V/S2D (allocation rapide, intégrité), NTFS pour compatibilité large.
  • Capacité : planifiez 30 % de marge, définissez une politique de thin/thick provisioning, surveillez la consommation réelle vs engagée.

Checklist de validation avant mise en service

ÉlémentVérificationÉtat
Validation Test-Cluster0 erreur, avertissements documentés✔︎/✖︎
QuorumCloud Witness opérationnel, perte d’un nœud testée✔︎/✖︎
StockageMPIO actif, chemins redondants, CSV en ligne✔︎/✖︎
RéseauRedondance, VLANs, QoS, RDMA validés✔︎/✖︎
SauvegardeVSS/agent testés, restauration validée✔︎/✖︎
BasculementPlanifié/non planifié, RTO/RPO atteints✔︎/✖︎
SupervisionCollecte PerfMon, journaux cluster, alertes✔︎/✖︎

Pièges à éviter

  • Confondre HA et PRA : le cluster protège contre la panne locale ; répliquez pour couvrir la perte de site.
  • Utiliser DFS‑R pour du transactionnel : risque de divergences et de conflits, inadéquat pour bases ou VHDX actifs.
  • Négliger le quorum : sans témoin, un cluster à 2 nœuds est fragile lors d’un incident réseau.
  • Oublier la sauvegarde : HA ≠ sauvegarde. Testez la restauration, pas seulement la sauvegarde.
  • Mélanger disques hétérogènes sans politique : cohérence des performances mise à mal (S2D exige des classes homogènes).
  • Laisser le CNO sans droits : le Cluster Name Object doit pouvoir créer/mettre à jour les objets AD nécessaires.

FAQ courte

Peut‑on faire un cluster sans stockage partagé ?
Oui : certaines charges répliquent nativement (SQL AG). Pour un serveur de fichiers ou des VM partagées, le stockage partagé via CSV reste la solution la plus simple et rapide en reprise.

Quel système de fichiers choisir ?
ReFS pour Hyper‑V/S2D (création VHDX, intégrité), NTFS pour compatibilité générale et outils historiques.

Cloud Witness consomme‑t‑il beaucoup ?
Non : seules des écritures légères d’objets témoin sont effectuées. L’impact coût/bande passante est marginal et le bénéfice de quorum est majeur.

Et si l’on veut étirer le cluster sur deux sites ?
Choisissez un stretched cluster avec Storage Replica synchrone < 5 ms RTT, ou asynchrone si la latence est plus élevée. Placez le témoin sur un troisième site (Azure recommandé).

Conclusion

Dans votre contexte bancaire, le stockage partagé — via CSV sur SAN/iSCSI ou via S2D — est la réponse la plus sûre pour les charges à état unique : cohérence de données, basculements rapides, exploitation maîtrisée. Conservez AD DS en réplication multi‑maître avec stockage local, et sécurisez le quorum avec un Cloud Witness. En complément, préparez la PRA avec Storage Replica et/ou Azure Site Recovery, et outillez la supervision/sauvegarde pour fermer la boucle de résilience. En suivant le plan d’implémentation, vous obtiendrez une plateforme à la fois robuste et opérationnellement sobre, prête pour les exigences réglementaires et la continuité d’activité du secteur financier.

Sommaire