Creation cluster SQL avec Storage iSCSI sur 2012R2

De Ikoula Wiki
Révision datée du 9 octobre 2015 à 09:17 par Elocart87fda (discussion | contributions) (Annulation des modifications 9843 de Elocart87fda (discussion))
Jump to navigation Jump to search

de:Erstellen von SQL mit Storage 2012R2 iSCSI cluster nl:SQL maken met opslag 2012R2 iSCSI-cluster it:Creazione di SQL con cluster di iSCSI Storage 2012R2 pt:Criação de SQL com cluster de iSCSI Storage 2012R2 es:Creación de SQL con almacenamiento 2012R2 iSCSI del racimo en:Creating SQL with Storage 2012R2 iSCSI cluster

Problème

Nous voulons monter un cluster SQL avec un storage sur un serveur accessible en iSCSI, le tout sur des serveurs en Windows 2012 R2.

Debug

Cette plateforme nécessite 3 serveurs :

  • 2 Windows 2012R2 avec SQL 2014 avec 5 ports Ethernet (ce nombre peut être réduit en fonction des besoins) : ServSQL01 et ServSQL02
  • 1 Windows 2012R2 en serveur de stockage avec 9 ports Ethernet (ce nombre peut être réduit en fonction des besoins) ServStor01


Solution

En prérequis, on installe Windows 2012 R2 sur les 3 serveurs et on les met à jour. les deux serveurs SQL doivent être sur le même domaine.

Schéma réseau "simplifié" de la plateforme (Les switchs ne sont pas présents afin de bien pouvoir suivre qui est relié à quoi) :

Schema reseau simple.PNG

Configuration du serveur ServStor01

Sur ce serveur nous avons 9 ports réseaux utilisés. 1 dédié au management. 2 x 4 ports dédiés à l'iSCSI.

NIC1, NIC2 et NIC3 correspondent aux trois cartes réseaux présentes, chacune possédant 4 ports gigabits. (Voir schéma pour repérer les branchements)

Pour le réseau iSCSI, nous utiliserons des IP en 192.168.0.0/24 Voici les IP configurées sur le serveur ServStor01 :

NIC1 port 1 : Votre IP de votre serveur
NIC1 port 2 : Non utilisé
NIC1 port 3 : Non utilisé
NIC1 port 4 : Non utilisé

NIC2 Port 1 : 192.168.0.11
NIC2 Port 2 : 192.168.0.12
NIC2 Port 3 : 192.168.0.13
NIC2 Port 4 : 192.168.0.14

NIC3 Port 1 : 192.168.0.15
NIC3 Port 2 : 192.168.0.16
NIC3 Port 3 : 192.168.0.17
NIC3 Port 4 : 192.168.0.18

Pour toutes les cartes en 192.168.0.x on va dans les paramètres avancés, onglet DNS, et on décoche la case "Register this connection's addresses in DNS"

Register dns.PNG

Sur le serveur ServStor01, on installe le rôle iSCSI Target Server

Roles servstor01.PNG

Dans le Server Manager, on va créer les disques iSCSI (qui sont au final des VHDx) et les Target iSCSI qui leur vont avec :

ISCSI servstor01.PNG

On fait donc :

  • task / New iSCSI virtual disk
  • On sélectionne le volume
  • On lui donne un nom (on peut remarquer son futur chemin en bas)
  • On choisit la taille en "Fixed Size" (On laisse "Clear the virtual disk on allocation")
  • On choisit "New iSCSI Target"
  • On donne un nom à cette "iSCSI Target"
  • Cliquez sur ADD dans la partie "access Servers"
  • Dans le choix de la méthode d'identification de l'initiateur, choisiez en bas par IP et mettez une IP, on changera ça plus tard.
  • On laisse CHAP et Reverse CHAP décoché
  • On termine par "Create" puis "close" une fois terminé

A partir de la, vous avez un disque partagé en iSCSI. Répétez l'opération autant de fois que nécessaire. Dans notre cas nous allons créer 3 disques :

  • 1 pour les bases de données
  • 1 pour les logs
  • 1 pour le quorum (1Go suffira)

Configuration iSCSI des serveurs ServSQL01 et 02

Dans cette partie, on va relier les deux serveurs SQL au serveur de storage par des liaisons iSCSI. Nous allons utiliser le MPIO afin d'utiliser nos 4 liens réseaux et de partager la charge.

Configuration IP des serveurs:

NIC1 et NIC2 correspondent aux deux cartes réseaux présentes sur les serveurs. NIC1 possède 4 ports, NIC2 en a 2. Voici la configuration :

ServSQL01 :

NIC1 port 1 : 192.168.0.22
NIC1 port 2 : 192.168.0.26
NIC1 port 3 : IP du serveur
NIC1 port 4 : non utilisé

NIC2 port 1 : 192.168.0.25
NIC2 port 2 : 192.168.0.21

ServSQL02 :

NIC1 port 1 : 192.168.0.24
NIC1 port 2 : 192.168.0.28
NIC1 port 3 : IP du serveur
NIC1 port 4 : non utilisé

NIC2 port 1 : 192.168.0.27
NIC2 port 2 : 192.168.0.23

Pour toutes les cartes en 192.168.0.x on va dans les paramètres avancés, onglet DNS, et on décoche la case "Register this connection's addresses in DNS"

Register dns.PNG

  • Sur les deux serveurs, on installe la feature "Multipath I/O".

Feature mpio.PNG

  • Une fois installé, dans l'interface metro de 2012R2 (cliquez sur le menu démarré donc) tapez simplement "MPIO" et cliquez sur le résultat :

Mpio.PNG

  • Dans l'onglet "Discover Multipaths" on coche "Add Support for iSCSI devices" puis on clique sur ADD. Cela propose de redémarrer, on le fait.
  • Une fois redémarré, on relance MPIO, et on s'assure que "MSFT2005iSCSIBusType_0x9" est présent dans le "device hardware id".
  • On lance ensuite "iSCSIinitiator " sur les deux serveurs SQL
  • On se rend dans l'onglet "configuration" et on récupère le "Initiator Name" (sous la forme "iqn.1991-05.com.microsoft:ServSQL01.domain.tld")
  • On retourne sur le serveur ServSTOR01
  • Dans Server Manager, "File and storage Services", "iSCSI", on clique droit sur la Target pour aller dans ses propriétés puis dans initiators
  • On clique sur ADD
  • On coche "Enter a value for the selected type"
  • On met en type "IQN" et on met l'adresse trouvée plus tôt sur le serveur SQL.
  • On clique sur OK, on répète l'opération pour ajouter les "IQN" des deux SQL sur toutes les Targets
  • On retire l'IP qu'on avait précédemment mit ici.
  • une fois validé, on retourne sur nos serveurs SQL, toujours dans l'iSCSI initiator, on va dans l'onget "Targets" et on se connecte au serveur de storage.
  • On va dans l'onglet "Favorite Targets", on sur va la Target visible puis on fait remove.
  • On retourne sur l'onglet "Targets" puis on va sur properties pour l'une des Target
  • La on déconnecte la session active, puis on clique sur Add Session. On coche enable Multipath, on clique sur advanced. On choisit "Microsoft iSCSI initiator" dans "local adapter". En initiator IP on choisit la première IP iSCSI du serveur SQL. En Target portal IP on choisit la première IP iSCSI du serveur de storage. On valide 2 fois. On répète l'opération pour chaque carte réseau en passant à l'ip suivante donc.

Au final on doit avoir les IPs liées de cette forme :

Initiator IP Target Portal IP Sur le serveur
192.168.0.21 192.168.0.11 ServSQL01
192.168.0.22 192.168.0.12 ServSQL01
192.168.0.23 192.168.0.13 ServSQL02
192.168.0.24 192.168.0.14 ServSQL02
192.168.0.25 192.168.0.15 ServSQL01
192.168.0.26 192.168.0.16 ServSQL01
192.168.0.27 192.168.0.17 ServSQL02
192.168.0.28 192.168.0.18 ServSQL02
  • On retourne dans "Favorite Targets" et on regarde les détails de celles-ci. On vérifie qu'on retrouve bien les relations d'IP du tableau précédent.

Configuration du Failover des serveurs ServSQL01 et 02

On commence par installer la feature Failover clustering sur les 2 serveurs SQL.

Pendant ce temps là on peut aller dans le disk management (clic droit sur le menu Windows, "disk management"). De là on passe les disques en "online" et on les initialise (GPT). On créé aussi les partitions et on formate.


On lance ensuite "Failover cluster Manager" et on fait Validate Configuration afin de vérifier que tout est ok. Quelques avertissements peuvent être présents au niveau du réseau. On fait ensuite "Create cluster" :

  • On entre le nom des deux serveurs SQL
  • On entre le nom du cluster, dans notre exemple nous allons prendre clusterSQL01
  • On met l'IP du cluster
  • On laisse "Add all eligible storage to the cluster" coché
  • On valide

Il faut maintenant configurer le quorum. Pour cela, on clic sur le nom du cluster, puis "more actions" et "configure cluster quorum settings".

  • On fait next
  • Select the quorum witness
  • Configure a disk witness
  • On coche le disque correspondant au quorum
  • on fait next puis finish.
  • Pour les deux autres disques, on fait "add to clustershared volume" (Dans "disks", on sélectionne les disques en questions afin de le faire)

Nous obtenons le disque des logs en volume 1 et le disque des BDD en volume 2 dans notre cas.


Nous avons maintenant un cluster configuré.

Installation de SQL 2014 en cluster

Nous commençons par ServSQL01

  • On installe la fonctionnalité .net 3.5
  • On lance l'installation, on choisit "New SQL Server Failover cluster installation"

Install SQL1.PNG

  • Au choix des fonctionnalités, dans notre cas (future utilisation avec CRM 2015) nous allons cocher Database Engine Services, SQL Server Replication, Full-Text and Semantic Extractions for Search, reporting services-native, management Tools basic / complete
  • Choisissez un nom réseau pour le SQL. Dans notre cas nous allons utiliser SQLServ
  • Sur cluster Disk Selection on choisit ceux qu'on veut utiliser. Dans notre cas, on prend les cluster Disk 1 et 3 (le 2 étant le quorum, le 1 et 2 étant les volumes databases et logs)
  • On choisit ensuite l'ip du failover SQL
  • On choisit les comptes et mots de passe pour les services (dans notre cas nous avons créés des comptes de services dédiés)
  • Dans la partie "Database engine Configuration" dans notre cas nous allons utiliser le Mixed mode. On clique aussi sur ajouter l'utilisateur courant.
  • Toujours dans la même partie, dans l'onglet Data Directories, on spécifie les dossiers des bases de données (on choisit donc nos volumes en iSCSI)
  • Pour le reporting Services on met "Install & configure"
  • On lance l'installation


Si vous rencontrez l'erreur suivante durant l'installation :

The following error has occurred:

Updating permission setting for folder 'C:\clusterstorage\Volume2' failed. The folder permission setting were supposed to be set to 'D:P(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;OICI;FA;;;CO)(A;OICI;FA;;;S-1-5-80-3880718306-3832830129-1677859214-2598158968-1052248003)'.

Click 'Retry' to retry the failed action, or click 'Cancel' to cancel this action and continue setup.

For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20<span class="notranslate">SQL</span>%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=12.0.2000.8&EvtType=0x0ADF5303%25400xBB814387

Il faut vous rendre dans le volume concerné avec l'explorateur windows, faire s'afficher les fichiers cachés et fichiers protégés du système et changer les droits sur le dossier system volume information.

Une fois l'intervention terminée, on passe à ServSQL02.

  • On installe le .net framework 3.5
  • On lance l'installation avec "Add a node to a SQL Server Failover cluster"

Install SQL2.PNG

  • On suit les étapes, la plupart étant pré-remplies
  • On retape les mots de passe si nécessaire.
  • On lance l'installation


Une fois l'installation terminée, vous avez votre SQL 2014 en failover avec storage connecté en iSCSI sur un Windows 2012 R2. Vous pouvez apporter des améliorations, comme un lien entre les 2 serveurs pour le heartbeat par exemple, mais c'est optionnel.


Vous n'êtes pas autorisé à publier de commentaire.