L’installation de base d’un cluster SQL Server 2008 avec Windows 2008 R2 se passe relativement bien dans des environnements dit « classiques ». Cependant il arrive quelques fois où l’on se trouve dans des contextes bien plus spécifiques qui ne permettent pas, par exemple, les mises à jour dynamiques des enregistrements DNS ou encore pour lesquels il existe des GPO qui peuvent interférer au bon déroulement de l’installation du cluster Windows ou SQL Server. On peut même se retrouver dans une situation où la politique d’entreprise fait que l’on interdise la création dynamique des objets dans l’AD. Dans ce cas il n’est pas rare de se retrouver avec l’événement portant l’ID 1194 pendant l’installation du cluster SQL dû principalement à un problème de droit sur la création ou le paramétrage des objets de cluster. La solution est donc de pré installer ces objets et de configurer la sécurité associée.
Personnellement j’ai rencontré ce genre de situation il y a peu de temps chez un de mes clients. D’habitude l’installation du cluster SQL se résume presque à la simplicité du « next next next » mais là d’un coup à la fin de l’installation du cluster SQL Server je vois apparaître un message d’erreur et qui m’explique que l’installation ne s’est pas correctement déroulée .. et moi qui était tranquille avec mon café  En y regardant de plus près, je me suis vite aperçu que l’activation de la ressource de nom du cluster SQL Server était problème. Un rapide coup d’oeil dans les logs du cluster Windows et je me retrouve un Event ID 1194 qui m’indique l’erreur suivante :
The computer account for Cluster resource ‘Network Name Resource’ in domain mon:domaine could not be created for the following reason: Unable to set DnsHostName attribute.
Autant dire qu’ici il faut connaître un minimum sur le mécanisme de création des objets de cluster dans l’active Directory et le paramétrage de sécurité de ces derniers. Voici pour commencer un schéma d’architecture simplifié des objets Active Directory impliqués dans une installation d’un cluster SQL Server. On pourra remarquer qu’il existe un certain nombre d’objets et d’interactions entre ces derniers.
Â
Â
Alors comment sont créés et paramétrés les objets de cluster dans l’active Directory lors d’une installation d’un cluster SQL Server ?
Pendant l’installation du cluster Windows un objet d’ordinateur de cluster est créé dans l’active Directory ainsi qu’enregistrement DNS associé (si celui-ci est paramétré). L’administrateur du cluster (préalablement créé) se voit octroyé les pleins pouvoirs sur cet objet. Par la suite l’installation du cluster SQL Server créé l’application SQL Server sur le cluster Windows (Application est équivalent aux groupes de ressources sur les versions antérieures de cluster). Cette application possède donc un ensemble de ressources comme le nom du cluster SQL Server, une adresse IP, du stockage et les services SQL Server. Le nom du cluster SQL Server est associé à un second objet d’ordinateur créé dans l’AD. Celui-ci est configuré directement par le biais du compte d’ordinateur du cluster Windows. C’est ce compte qui doit avoir les droits nécessaires (nous verrons cela un peu plus loin dans le billet) pour réaliser cette tâche. C’est souvent ici que le bas blesse car on peut penser que c’est le compte d’administrateur du cluster qui est concerné. Il faut savoir que tout objet d’ordinateur qui sera associé à une application de cluster sera paramétré par le biais du compte d’ordinateur du cluster Windows.
Â
Voici maintenant la procédure détaillée permettant de pré installer les objets de cluster Active Directory ainsi que la sécurité :
Création d’un compte d’administration du cluster et paramétrage de la sécurité
La première chose à faire est de créer un compte de domaine qui sera administrateur du cluster. Celui-ci devra posséder le droit « Créer un compte d’ordinateur » sur l’OU dans laquelle les comptes d’ordinateurs seront placés. De plus ce compte devra être aussi administrateur local de chaque noeud qui composera le cluster.
Création de l’objet d’ordinateur associé au nom du cluster et paramétrage de la sécurité
La seconde chose à faire est de créer un objet d’ordinateur qui sera associée au nom du cluster Windows. A ce stade il est également possible de créer l’enregistrement DNS associé. Il faut ensuite donner au compte de domaine d’administration du cluster créé précédemment le droit complet sur cet objet d’ordinateur. Pour pouvoir visualiser et modifier les propriétés de sécurité d’un objet d’ordinateur dans la console d’administration de l’Active Directory il faut activer l’affichage des fonctionnalités avancées. Important !!! Il faut penser à désactiver le compte d’ordinateur pendant l’installation du cluster Windows. En effet si ce compte est activé l’installation du cluster échouera. On pourra activer ce compte par la suite.
Création de l’objet d’ordinateur associé à l’application SQL Server et paramétrage de la sécurité
La dernière chose à faire est de créer le compte d’ordinateur associé à l’application SQL Server (ou autre comme MSDTC) du cluster Windows. Il y a ici une étape importante de paramétrage liée à la sécurité. Comme expliqué précédemment c’est le compte d’ordinateur du cluster lui même qui doit avoir certains privilèges pour pouvoir paramétrer le(s) compte(s) d’ordinateur(s) liés aux applications. Les droits suivants doivent être octroyés au compte d’ordinateur du cluster (compte d’ordinateur + $) :
- Allowed to authenticate
- Change password
- Read
- Read account restritions
- Read DNS HostName attributes
- Read MS-TS-GatewayAccess
- Read Personnal Information
- Read Public information
- Receive as
- Reset Password
- Send As
- Validated write account restrictions
- Write DNS Host name Attributes
- Write To DNS host name
- Write MS-TS-GatewayAccess validated
- Write to Service Princ
Â
En principe en suivant ces étapes de configuration l’installation de votre cluster SQL Server 2008 devrait se dérouler trop de problème .. du moins je l’espère
David BARBARIN (Mikedavem)
MVP SQL Server