Vous avez un problème ici sur un cluster de basculement Windows Server (WSFC) 2016 hébergeant une instance de cluster de basculement SQL (FCI) utilisant des espaces de stockage directs (S2D). Sur chaque serveur, après la création initiale réussie, S2D a automatiquement ajouté un volume RAID autrement inutilisé au pool de stockage (bien que S2D ne puisse pas être créé sur des volumes RAID et insiste absolument sur les disques non traités). Maintenant, il est cassé, pour autant que je sache, exactement cela. Par conséquent, le disque virtuel est hors ligne, emportant tout le cluster avec lui. Il ne reviendra pas en ligne, en raison d'une ressource réseau de cluster manquante. Les disques en question peuvent être retirés mais pas supprimés. La réparation du disque virtuel ne s'exécute pas, le test de compatibilité de cluster prétend une configuration non valide.
Ceci est une nouvelle configuration. Je pouvais donc simplement supprimer le disque virtuel, le cluster ou même les serveurs et recommencer. Mais avant de devenir productif, je dois m'assurer que cela ne se reproduira plus jamais. Le système se tirant dans le genou virtuel à un arrêt brutal simplement en ajoutant inutilement et à tort un disque non pris en charge n'est pas une plate-forme que nous pouvons déployer. J'ai donc principalement besoin d'un moyen d'empêcher que cela se produise, plutôt que de le réparer maintenant. Je suppose qu'empêcher une configuration S2D d'attraper plus de disques qu'elle n'a été créée ferait l'affaire. Le coût d'une interaction potentiellement plus manuelle lors d'un remplacement de disque réel est négligeable pour le clusterf ... que nous avons ici. Même si j'ai parcouru la documentation jusqu'à présent, cependant, je ne trouve aucun moyen de contrôler cela. Sauf si je manque quelque chose, ni Set-StoragePool,
Toute aide ou indice serait grandement apprécié.
Voici juste plus de détails sur ce qui précède: Nous avons 2 machines serveurs HPE DL380 Gen9 doublement connectées les unes aux autres via Ethernet 10 Go compatible RDMA et via 1 Go au réseau client. Chacun dispose d'un contrôleur RAID HP ??? et un simple contrôleur HBA HP ??? (puisque S2D nécessite absolument et ne fonctionne que sur des disques non attachés directement connectés). La configuration de stockage comprend un OS-RAID sur le contrôleur RAID, un Files-RAID sur le contrôleur RAID et l'ensemble de disques directement connectés sur le HBA destiné au S2D.
J'ai configuré 2 éditions de centre de données Windows Servers 2016 sur les OS-RAID, installé la fonction WSFC, exécuté et réussi le test de compatibilité du cluster, y compris l'option S2D, créé le cluster sans stockage, ajouté un témoin de partage de fichiers (sur une machine distincte), activé S2D sur le pool de stockage, qui comprenait automatiquement tous les disques non traités, et au-dessus de ce pool a créé un disque virtuel du type miroir et utilisé NTFS comme système de fichiers, car il est censé être le FS de choix pour un SQL FCI installation.
J'ai ensuite installé l'édition standard de SQL 2016 en tant que FCI sur ce cluster, importé une base de données et testé tout cela. Tout était bien. La base de données était là et plus rapide que jamais. Le basculement forcé et automatique était un jeu d'enfant. Tout avait l'air bien.
Le lendemain, nous avons essayé d'utiliser le reste des fichiers RAID. La première chose a été de changer le niveau RAID car nous n'aimions pas la pré-configuration. Peu de temps après avoir supprimé le volume RAID préconfiguré et en avoir créé un nouveau (sur chaque serveur), nous avons détecté que le cluster était en panne. D'après ce que j'ai pu comprendre jusqu'à présent, le volume Files-RAID préconfiguré avait entre-temps été automatiquement ajouté au pool, et comme nous venons de le supprimer, il était maintenant absent du pool. Pendant que je vérifiais, j'ai trouvé le nouveau Files-RAID, tout en étant en cours de création, déjà montré comme lecteur physique du pool également. Le pool comprenait donc maintenant 2 volumes RAID sur chaque serveur, dont l'un n'existait même pas. Ces volumes (mais pas leurs disques) sont répertoriés par Get-PhysicalDisk avec les disques réellement physiques sur le HBA, pas sûr que ce soit normal.
J'ai pu retirer ces disques physiques (c'est-à-dire ceux qui sont en fait les volumes RAID), et ils sont maintenant marqués comme retirés. Mais ils sont toujours dans la piscine et je ne peux pas les supprimer tout de suite, essayer de le faire échoue. Un Repair-VirtualDisk devrait reconstruire le disque virtuel à un état correct uniquement sur les disques restants (je suis allé par ceci: https://social.technet.microsoft.com/Forums/windows/en-US/dbbf317b-80d2-4992- b5a9-20b83526a9c2 / stockage-espaces-supprimer-disque-physique? forum = winserver8gen ), mais ce travail est immédiatement terminé, "réussi" bien sûr, sans aucun effet.
La tentative de remise en ligne du disque virtuel échoue, indiquant qu'une ressource de cluster en réseau n'est pas disponible. Pour autant que je sache, cela ne pourrait faire référence qu'au pool de stockage (disponible), car les disques manquants ne sont pas des ressources de cluster. Le pool ne montre aucune erreur à corriger. L'exécution du test de compatibilité de cluster revendique une configuration non adaptée à un cluster.
Je ne trouve aucune pièce qui bougerait d'un pouce, le tout semble définitivement bloqué. Avez-vous des idées sur la façon d'empêcher un WSFC en cours d'exécution de se déclencher de cette façon?
Je n'ai rencontré aucun message d'erreur que j'ai trouvé particulièrement instructif, et je ne voulais pas bombarder encore plus la page en les publiant tous. Si quelqu'un veut avoir des détails spécifiques, faites le moi savoir.
Merci beaucoup pour votre temps, les gars!
Karsten
la source
Get-PhysicalDisk -CanPool $true | Sort Model | ft FriendlyName, BusType, CanPool, OperationalStatus, HealthStatus, Usage, Size
De plus, y a-t-il une chance que vous ayez commis une erreur lors de la reconfiguration de File-RAID en affectant un lecteur S2D à un nouveau RAID?Réponses:
Oui, vous pouvez désactiver le comportement de regroupement automatique. L'expérience n'est pas géniale, mais elle est certainement faisable et prise en charge. Le nom du paramètre et l'exemple de syntaxe de cmdlet se trouvent dans la section Paramètres de ce document public:
https://technet.microsoft.com/en-us/windows-server-docs/failover-clustering/health-service-overview
Exécutez essentiellement ceci en tant qu'administrateur:
Cluster Get-StorageSubSystem * | Set-StorageHealthSetting -Name "System.Storage.PhysicalDisk.AutoPool.Enabled" -Value False
J'espère que cela t'aides! - Cosmos (@cosmosdarwin), Microsoft PM
la source
La solution de contournement que j'ai trouvée à ce problème est de changer le type de bus des volumes ou disques RAID en le changeant d'un des types pris en charge à un type non pris en charge.
Vous devrez identifier le pilote du contrôleur à partir du Gestionnaire de périphériques et après aller dans le registre et trouver le nom du pilote à l'emplacement ci-dessous.
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ SmartPqi \ Parameters
Dans mon cas, j'ai changé la clé de registre qui correspond à SAS en RAID
«BusType» = 0x00000008 (RAID) (au lieu de 0x0000000a) (SAS)
redémarrer la machine
Après cette modification, vous pouvez avoir le pool de stockage dans le sous-système de stockage Windows au lieu des espaces de stockage en cluster
Soyez prudent si vous souhaitez appliquer ce type de solution de contournement car il ne s'agit pas d'une solution validée et peut exposer votre environnement de production à un risque élevé.
la source