Vous êtes sur un 2012 R2 Enterprise ou Datacenter.
Une version standard ne suffira pas.
Notez également qu'au niveau de l'AD, à un moment donné un compte d'ordinateur va chercher à créer un autre compte d'ordinateur pour le listener. Il faudra donc qu'il ait les droits de lecture/écriture sur l'OU sinon le listener ne va pas se créer.
Lancez ServerManager
Sur vos 2 serveurs SQL ajoutez un rôle
Cliquez sur Next etc
Dans les Features, cochez Failover Clustering
Cliquez sur Add Features
Cliquez sur Next
Et Install
Pour appréhender la solution on va commencer par une solution simple, cad le Node and File Share Majority
Sur un troisième serveur on va créer un partage qui servira de témoin.
Aussi créez un répertoire sur ce 3ème serveur, faites un clic droit sur ce partage puis cliquez sur Properties
Cliquez sur Sharing puis Advanced Sharing
Cochez "Share this folder" puis cliquez sur "Caching"
Sélectionnez "No files or programs etc" puis cliquez sur Ok
Cliquez sur Permissions
Dans un premier temps, donnez le droit "Change" pour le groupe "Everyone"
Cliquez maintenant sur Add
Ajoutez le groupe des administrateurs locaux ou du domaine et donnez leur tous les droits.
Terminez en cliquant sur Ok
Cliquez sur Ok
Cliquez sur Security
Cliquez sur Edit
Cliquez sur Add
Donnez temporairement les droits de modification au groupe tout le monde
Maintenant revenez sur les serveurs à mettre en Cluster.
Dans les tools, lancez le Failover Cluster Manager
Faites un clic droit sur Failover Cluster>Create Cluster
Entrez le nom des serveurs qui doivent intégrer le cluster et cliquez sur Next
Ici dans le cadre d'un environnement de production, cliquez sur Yes pour effectuer des tests. Si vous êtes certain de vous cliquez sur No
Donnez un nom à votre pour Cluster.
C'est ce nom qui permettra d'accéder à vos machines intégrées dans le cluster.
Cliquez sur Next
Le cluster se configure
On a ici une erreur car nous n'avons pas fait de disque de Quorum
Comme indiqué sur le site http://blogs.technet.com/b/windowsinternals/archive/2009/03/30/le-quorum-et-le-cluster.aspx
un disque de Quorum peut servir d'arbitre ou de votant
Or actuellement nous ne mettons pas en place un disque de Quorum mais une première solution plus simple, cad un partage qui servira de témoin dans le cadre du mode Node and File Share Majority
Pour continuer la mise en place du partage et le déclarer en tant que témoin,
faites un clic droit sur votre Cluster puis cliquez sur
More Actions>Configure Cluster Quorum Settings
Indiqué le chemin du partage créé précédemment et qui servira de témoin.
Terminez en cliquant sur Next
Sélectionnez "Configure a file share witness" et cliquez sur Next
Indiquez le nom du serveur qui contient le partage à utiliser pour le Quorum,
sélectionnez le partage et cliquez sur Next
Sélectionnez "Select the quorum witness" et cliquez sur Next
Cliquez sur Next
Cliquez sur Finish
Limitez l'accès au partage qui sert de témoin en retirant le groupe tout le monde et en mettant à la place le compte de service utilisé par le moteur de SQL Server (à vérifier si il ne faut pas mettre les comptes des serveurs SQL aussi)
Si vous souhaitez allez plus loin, ne pas utiliser un partage qui sert de témoin mais un disque de Quorum qui servira d'arbitre ou de votant,
Il faut commencer par déclarer un disque le disque Quorum que l'on présentera ensuite aux 2 serveurs SQL
Aller sur un serveur avec un OS MS 2012. Ce dernier va héberger physiquement le disque de Quorum.
Installer la feature iSCSI Target server. Pour cela tapez la commande
DISM /Online /Enable-Feature /featurename:iSCSITargetServer /All
Lien vers le fichier : cliquez ici
Pour le faire en interface graphique cliquez sur
Manage>Add Roles and Features
Dans les rôles ajoutez "iSCSI Target Server" comme montré ici
Cliquez sur Next puis Next
Cliquez sur Install
Cliquez sur Close
Maintenant dans Server Manager allez sur File ans Storage Services
Cliquez sur TASKS et créez un nouveau disque iSCSI virtuel
Cliquez sur le disque qui va héberger le disque iSCSI.
Notez que ce disque pourra encore par la suite héberger des données autres.
Donnez un nom à votre disque virtuel iSCSI.
Cliquez sur Next
Donnez lui une taille et cliquez sur Next
Un iSCSI target va être créé et associé à ce disque.
Cliquez sur Next
Donnez lui un nom et cliquez sur Next
On va indiquer quels serveurs peuvent voir le volume.
Cliquez sur Add
Cliquez sur Browse
Entrez le nom d'une première machine autorisée et cliquez sur Ok
Recommencez pour le second serveur du cluster
Terminez en cliquant sur Next
Vous pouvez protéger l'accès par mot de passe mais ce n'est pas obligatoire. Cliquez sur Next
Cliquez sur Create
Cliquez sur Close
On se retrouve avec cette vue dans l'outil
Allez sur le premier serveur qui doit être mis en cluster.
Il va avoir besoin d'accéder au volume en tant que client.
Pour ce faire cliquez sur iSCSI Initiator
Cliquez sur Yes
Cliquez sur Discover Portal
Entrez le nom du serveur qui héberge votre volume iSCSI
Maintenant dans l'onglet Targets cliquez sur Connect
Cliquez sur Ok
Le statut doit maintenant être en Connected
Lancez diskmgmt pour gérer vos disques
Un nouveau disque doit être détecté.
Cliquez sur Ok
Créez un volume, formatez le etc
Allez maintenant sur le second serveur à mettre en cluster et faites la même opération pour déclarer le disque de quorum.
Puis lancez diskmgmt
Vous devez être capable d'accéder au même disque présenté par le serveur qui héberge physiquement le disque de Quorum
On va maintenant déclarer ce disque dans le cluster.
Pour cela allez dans
Storage>Disks>Add Disk
Allez chercher votre disque et cliquez sur Ok
Le disque apparait dans l'interface.
La déclaration n'a besoin d'être faite que sur un des serveurs du cluster.
Au niveau du cluster faites un clic droit puis cliquez sur
More Actions>Configure Cluster Quorum Settings
Cliquez sur "Advanced quorum configuration" puis Next
Sélectionnez tous vos nœuds et cliquez sur Next
Configurez un "disk witness" et cliquez sur Next
Sélectionnez votre disque de quorum et cliquez sur Next
Cliquez sur Next
Cliquez sur Next
Une ip a été attribuée au cluster dans le DNS
Un compte d'ordinateur a également été créé pour le cluster dans l'AD
Ceci fait, on va passer à la partie SQL Server.
Installez SQL Server Enterprise ou Datacenter de façon identique sur les serveurs du cluster
SQL doit tourner avec un compte de service créé au niveau du domaine avec les droits d'admin sous peine d'avoir cette erreur par la suite
Une fois SQL Server installé, lancez SQL Server Configuration Manager
Allez dans SQL Server Services et allez dans les propriétés de SQL Server
Dans l'onglet AlwaysOn High Availability, cochez
Enable AlwaysOn Availability Groups
Cliquez sur Ok
Il est indiqué qu'il faudra redémarrer le service de SQL Server
Chose que l'on peut faire d'un simple clic droit
Allez dans les propriétés de votre instance SQL
Vérifiez que "Is HADR Enabled" est à True
Créez une nouvelle base de données
Son "recovery model" doit être sur Full
Sauvegardez la base une première fois
Les options par défaut suffisent
Créez ensuite un partage auquel chaque compte de service SQL pourra accéder ..
.. en modification
Cliquez sur Next
Sous AlwaysOn High Availability>Availability Groups
faites un "New Availability Group Wizard"
Nommez le et cliquez sur Next
Sélectionnez la base à ajouter dans le Availability Group et cliquez sur Next
Cochez
Automatic Failover
Synchronous Commit
mettez Readable Secondary à Yes
Cliquez sur Add Replica
Entrez le nom du second serveur SQL puis cliquez sur Connect
Si vous n'arrivez pas à ajouter le second serveur, vérifiez que le serveur cile n'a pas son firewall d'actif
Cochez également
Automatic Failover
Synchronous Commit
passez Readable Secondary à Yes
Cliquez sur Listener,
Cochez Create an availability group listener,
donnez un nom, assignez un port comme le 5025
Cliquez sur Add
Assignez une Ip et cliquez sur Ok
Cliquez sur Next
Cliquez sur Next
Cochez Full,
indiquez le chemin du partage créé précédemment puis cliquez sur Next
Cliquez sur Next
Cliquez sur Finish
Cela se configure
Les créations se font etc...
Si vous cliquez sur More details pour visualiser l'avancement des différentes étapes
Dans le partage fait pour l'occasion on voit un backup et un fichier de transaction
Quand terminé, vérifiez sur le serveur primaire que tout est Ok
Même chose sur le second
Un compte d'ordinateur pour le listener doit avoir été créé
Une entrée DNS doit également apparaitre
Un Dashboard est disponible au niveau de votre Availability Group.
Vos bases doivent y être en Synchronized
Pour forcer une bascule, aller sur votre groupe de disponibilité puis cliquez sur Failover
Cliquez sur Next
Sélectionnez le serveur cible puis cliquez sur Next
Cliquez sur Connect
Cliquez sur Finish
Cliquez sur Connect puis Next
Cliquez sur Close
Le Primary server doit être passé Secondary et inversement
Au niveau du journal d'application du serveur SQL cible, on trouve un event 9406 en début de bascule ainsi qu'un 41074
Dans le journal applicatif source c'est un event id 41075 que l'on trouve
Pages Web
Site Web | Description |
---|---|
Sharepointengineer.com | Create the alwayson availability group on sql server 2012 step by step |
Blogs.technet.com | Le quorum et le cluster |
Blogs.technet.com | Introduction of iSCSI Target in Windows Server 2012 |