Configuration de cluster basée sur SQL Server (mise en cache de Windows Server AppFabric)
Windows Server AppFabric permet d'utiliser une base de données SQL Server pour stocker les paramètres de configuration du cluster. L'Assistant Configuration d'AppFabric prépare automatiquement la base de données cible pour la gestion de la configuration du cluster. AppFabric utilise ensuite cette base de données comme point de référence principal pour définir le cluster de cache, les hôtes de cache et les caches nommés. Tous les serveurs de cache dans le cluster doivent accéder à la base de données de configuration du cluster.
Pour plus d'informations sur la préparation d'une base de données SQL Server comme emplacement de stockage de la configuration du cluster, consultez le document Windows Server AppFabric Installation Guide (https://go.microsoft.com/fwlink/?LinkId=169172) (en anglais).
Dans le cadre de la configuration des fonctionnalités de mise en cache d'AppFabric, vous pouvez spécifier une base de données SQL Server existante ou laisser l'Assistant Installation créer une base de données sur le serveur SQL spécifié. Tous les serveurs de cache dans le cluster doivent accéder à la base de données de configuration du cluster.
Conseil
Par défaut, le service de mise en cache d'AppFabric ne démarre pas automatiquement. Vous devez le démarrer à l'aide de la commande Start-CacheCluster
dans une invite de commande Windows PowerShell d'administration. Toutefois, lorsque SQL Server est utilisé comme magasin de configuration, vous pouvez configurer le démarrage automatique du service sur chaque hôte de cache. Pour ce faire, modifiez les propriétés du service de mise en cache d'AppFabric dans l'outil d'administration Services sur chaque serveur de cache pour utiliser le type de démarrage automatique.
Considérations relatives à la disponibilité
L'emplacement de stockage de la configuration du cluster peut constituer un point de défaillance pour votre système de cache distribué. Pour cette raison, il est recommandé d'accroître la disponibilité de la base de données SQL Server qui stocke les paramètres de configuration du cluster. Vous pouvez utiliser le clustering avec basculement dans Microsoft Windows Server 2008 (https://go.microsoft.com/fwlink/?LinkId=130692) pour héberger une ressource de base de données en cluster comme emplacement de stockage de la configuration du cluster de cache.
Vous pouvez également utiliser la mise en miroir de bases de données SQL Server. Pour plus d’informations, consultez la rubrique Mise en miroir de bases de données (https://go.microsoft.com/fwlink/?LinkId=190691). Notez que pour utiliser cette technique, trois exigences s'imposent :
Ajoutez les propriété Failover Partner à la chaîne de connexion.
Ajoutez le compte d'ordinateur pour chaque hôte de cache comme connexion SQL Server sur le serveur partenaire. Par exemple, si le nom d'ordinateur est
CacheServer1
dans le domaineDomain1
, le compte d'ordinateur estDomain1\CacheServer1$
. Cela s'effectue automatiquement pour le serveur SQL principal, mais doit être effectué manuellement pour le serveur partenaire de basculement.Ajoutez le compte d'ordinateur pour chaque hôte de cache comme utilisateur dans la base de données de configuration en miroir sur le serveur partenaire. Cet utilisateur doit disposer d'autorisations db_datareader et db_datawriter.
Si le cluster de cache est déjà configuré, vous pouvez modifier la chaîne de connexion manuellement à l'aide de commandes Windows PowerShell. Sur chaque ordinateur hôte de cache, procédez comme suit :
Ouvrez une fenêtre de commande Windows PowerShell, puis exécutez la commande
Use-CacheCluster
.Exécutez les commandes
Remove-CacheHost
etRemove-CacheAdmin
.Exécutez la commande
Add-CacheHost
, en spécifiant la nouvelle chaîne de connexion avec la propriété Failover Partner. Par exemple :Add-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2" -Account "NT Authority\Network Service"
Exécutez la commande
Add-CacheAdmin
, en spécifiant la nouvelle chaîne de connexion avec la propriété Failover Partner. Par exemple :Add-CacheAdmin -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"
Conseil
Vos pouvez télécharger un script, ChangeConnString.ps1, pour automatiser les changements de chaîne de connexion sur tous les hôtes de cache. Pour plus d'informations, consultez la rubrique ChangeConnString.ps1 download (en anglais).
Notes
L'administrateur de cluster de cache doit disposer d'autorisations db_owner sur la base de données du magasin de configuration du cluster de cache pour exécuter des commandes de mise en cache dans Windows PowerShell après un basculement.
Autorisations
Tous les hôtes de cache doivent disposer des autorisations de connexion au serveur qui héberge la base de données de configuration du cluster. Les paramètres de sécurité de la base de données de configuration du cluster doivent également être configurés afin que chaque serveur de cache dispose d'une connexion SQL Server, et des autorisations db_datareader, db_datawriter et EXECUTE sur la base de données.
Notes
Le programme d'installation tente de configurer ces autorisations automatiquement. Notez que l'identité de sécurité de la personne exécutant l'installation doit disposer des autorisations db_owner sur la base de données SQL Server et d'une connexion SQL Server à l'instance de SQL Server.
Si vous créez un groupe de sécurité Windows pour gérer l'accès à la base de données de configuration du cache, vous devez simplement définir la connexion à SQL Server et les autorisations sur la base de données une seule fois. Par exemple, vous pouvez définir le groupe de sécurité Windows ClusterACacheServers
pour indiquer les serveurs de cache autorisés à faire partie du cluster de cache ClusterA
.
Après avoir créé le groupe de sécurité ClusterACacheServers
, accordez aux comptes d'ordinateur de domaine des serveurs de cache appropriés l'appartenance à ce groupe (par exemple, domain\computername$
). Accordez au groupe de sécurité ClusterACacheServers
une connexion SQL Server, et les autorisations db_datawriter, db_datareader et EXECUTE sur la base de données. Désormais, chaque fois que vous ajoutez un serveur au cluster de cache, vous devez simplement ajouter le compte d'ordinateur de domaine du nouveau serveur au groupe de sécurité.
Structure de la base de données
Lorsque vous configurez les fonctionnalités de mise en cache d'AppFabric la première fois via l'option de configuration basée sur SQL Server, l'outil de configuration crée plusieurs tables dans la base de données spécifiée. Plusieurs procédures stockées sont également ajoutées pour les opérations internes du cluster.
Notes
Les données dans la base de données de configuration du cluster ne doivent pas être modifiées manuellement. Pour garantir le fonctionnement continu du cluster, seuls les hôtes de cache et le programme d'installation doivent écrire dans la base de données.
Sécurité de la base de données
L'utilisation de mots de passe dans des chaînes de connexion constitue un risque pour la sécurité et doit être évitée autant que possible. Les chaînes de connexion sont stockées en texte clair dans le fichier de configuration de l'hôte de cache sur chaque serveur de cache, dans DistributedCacheService.exe.config. Pour minimiser ce risque, utilisez la sécurité intégrée pour établir une connexion approuvée avec SQL Server. Cette approche vous dispense de stocker un mot de passe dans la chaîne de connexion. En l'absence de la sécurité intégrée, un mot de passe en texte clair sera requis dans la chaîne de connexion. La meilleure façon de sécuriser votre chaîne de connexion est de procéder comme suit (dans l'ordre croissant de risque) :
Utiliser la sécurité intégrée.
Sécuriser les chaînes de connexion avec des mots de passe et réduire le transfert des chaînes de connexion.
Minimiser la durée de vie et les points de contact de toutes les chaînes de connexion.
Connexions à la base de données
Lorsque vous utilisez une base de données SQL Server 2005 ou d'une version ultérieure pour stocker les paramètres de configuration du cluster, vérifiez que le serveur est configuré pour autoriser un nombre de connexions simultanées suffisant pour prendre en charge tous les hôtes de cache du cluster. Le dépassement du nombre de connexions simultanées disponibles par le nombre d'hôtes de cache du cluster n'est pas pris en charge.
Le serveur peut être configuré pour utiliser un nombre illimité de connexions simultanées. L'administrateur de la base de données peut également configurer ce paramètre à un niveau bas pour d'autres raisons. Dans ce cas, assurez-vous que le serveur peut prendre en charge des connexions supplémentaires avant d'ajouter des hôtes de cache au cluster de cache.
Voir aussi
Concepts
Configuration de cluster basée sur un dossier partagé (mise en cache de Windows Server AppFabric)
Paramètres de configuration du cluster (mise en cache de Windows Server AppFabric)
Options de configuration du client (mise en cache de Windows Server AppFabric)
Configuration du cluster de cache (mise en cache de Windows Server AppFabric)
Développement d'un client de cache (mise en cache de Windows Server AppFabric)
2011-12-05