Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF
description
Transcript of Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF
![Page 1: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/1.jpg)
#JSS2013
Les journéesSQL Server 2013
Un événement organisé par GUSS
![Page 2: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/2.jpg)
#JSS2013
Les journéesSQL Server 2013
Un événement organisé par GUSS
Session Haute-disponibilité
Christophe LAPORTE David BARBARIN David BAFFALEUF
![Page 3: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/3.jpg)
#JSS2013
Présentation
~ depuis 19976.5 <= SQL Server <= 2014
@conseilit
http://conseilit.wordpress.com/
Christophe LAPORTE
~ depuis 20027 <= SQL Server <= 2014
@mikedavem
http://blog.developpez.com/mikedavem
David BARBARIN
~ depuis 19997.0 <= SQL Server <= 2014
@dbaffaleuf
http://blog.capdata.fr
David BAFFALEUF
![Page 4: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/4.jpg)
#JSS2013
Merci à nos sponsors
![Page 5: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/5.jpg)
#JSS2013
• Des questions– Pourquoi la haute disponibilité– La non disponibilité– Définition d’une stratégie– Problèmes et limitations
• Les solutions– Des plus anciennes aux plus récentes
Agenda
![Page 6: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/6.jpg)
#JSS2013
• Des questions– Pourquoi la haute disponibilité– La non disponibilité– Définition d’une stratégie– Problèmes et limitations
• Les solutions– Des plus anciennes aux plus récentes
![Page 7: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/7.jpg)
#JSS2013
• Définition basique– Etre capable d’accéder à une donnée lorsque l’on en a besoin
dans un laps de temps acceptable !• BD point central dans le SI
– Sharepoint, sites Web de paris ou commerce en ligne– Progiciels (RH, Compta, production, CRM)– Logiciels « maison »
• La non disponibilité a un coût– Chiffre d’affaire …– Coût en temps– Salaires d’employés …
Pourquoi la haute disponibilité
![Page 8: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/8.jpg)
#JSS2013
Mesurer la haute disponibilité
![Page 9: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/9.jpg)
#JSS2013
Cause de non disponibilité• Création / Reconstruction d’index non cluster : éventuellement pas de
modifications sur la table• Création / Reconstruction d’index cluster : éventuellement pas de lecture
et modifications sur la table• Changement de matériel, application de Service Packs
Coupure de service planifiée
• Perte du Datacenter (électricité, réseau, catastrophe naturelle, incendie)• Perte du serveur (alimentation, CPU, mémoire, réseau, OS crash)• Problème disque (corruption d’I/O, panne contrôleur disque, panne
disque, panne carte RAID)
Coupure de service non planifiée
• HA et DR …
Ne pas confondre PCA et PRA
![Page 10: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/10.jpg)
#JSS2013
Définition d’une stratégie•Chiffre d’affaire•SalairesQuantifier
l’indisponibilité•Datacenter -> Instance -> Groupe de bases -> Base -> Table -> Traitement
•Coordination des dépendancesGranularité
• Perte maximale de données autoriséeRPO
• Durée maximale de non disponibilité autoriséeRTO
• 24 H / 24 , 7 J /7• Entre 8h00 et 18h00 les jours ouvrés …Période ouvrée
• Même niveau de performance requis ?• Dégradation acceptable ?En cas de panne
Stra
tégi
e
![Page 11: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/11.jpg)
#JSS2013
• Des questions– Pourquoi la haute disponibilité– La non disponibilité– Définition d’une stratégie– Problèmes et limitations
• Les solutions– Des plus anciennes aux plus récentes
![Page 12: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/12.jpg)
#JSS2013
Cluster de basculement SQL
Terminologie• Cluster, nœud, quorum, SAN, LUN,
groupe de ressources, dépendance, instance virtuelle
Technologie éprouvée• Couche cluster Windows
![Page 13: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/13.jpg)
#JSS2013
Tolérance de panne• Matérielle, logicielle
Instance virtuelle• Adresse IP et Nom réseau virtuels
Granularité• Instance (donc agent SQL …)
Avantages du FCI
![Page 14: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/14.jpg)
#JSS2013
• Quorum dynamiqueWindows 2012
• TempDB localeSQL 2012
• Témoin dynamiqueWindows 2012 R2
• Data sur disque CSVSQL 2014
Points remarquables
![Page 15: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/15.jpg)
#JSS2013
• Ajout d’une instance sur disque CSVDémo
![Page 16: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/16.jpg)
#JSS2013
Inconvénients de la solutionDéfaillance du système disque
• SPOF
Répartition de charge impossible• Un seul nœud actif à la fois
Coût• Cartes, switch, fibres, SAN …
Durée de recovery• Nombre de bases
Granularité• Protection de niveau instance
![Page 17: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/17.jpg)
#JSS2013
• != Multi subnet failover cluster• Résolution SPOF disque• Solutions constructeur
– EMC, HP, Unisys• Solutions logicielles
– DoubleTake, DataKeeper (Démo à suivre)• Solutions SQL Server
– Database mirroring, log shipping, réplication– Groupes de disponibilité
GEO Cluster
![Page 18: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/18.jpg)
#JSS2013
• Ajout d’un disque cluster SIOS DataKeeper
Démo
![Page 19: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/19.jpg)
#JSS2013
Database Mirroring
Log Shipping
Réplication (transactionnelle)
Outsiders
![Page 20: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/20.jpg)
#JSS2013
• Prises indépendamment elles ne présentent que peu d’avantages par rapport aux solutions ‘reines’.
• Mais si on les combine toutes les trois ?
L’union fait la force
FCI Virtualisation Availability Groups
Database
Mirroring
Log Shipping
Réplication (?)
![Page 21: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/21.jpg)
#JSS2013
Exemple DBM + LS + Réplication
Réplication
Log Shipping
Database Mirroring
TP
Reporting
TPTP
Secours dormant
Données ouvertes
pour DSS
Refresh -8h contre
les erreurs
humaines
.trn.trn.trn.trn
![Page 22: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/22.jpg)
#JSS2013
• Exemple d’une topologie combinéeDémo
![Page 23: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/23.jpg)
#JSS2013
Intérêts de la solutionPerte de la machine principale, perte du stockage local, problème OS, corruption…• On bascule sur le miroir • Qui est aussi paramétré pour reprendre le rôle
d’éditeur et de source du LSMoins d’indisponibilité sur les plages de maintenance.
![Page 24: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/24.jpg)
#JSS2013
Réplication vs réplicas readonly, avantagesVolumétrie:
• On n’est pas obligé de dupliquer toute la volumétrie
Indexes DSS:• On peut créer des indexes custom DSS sur les bases abonnées
Store & forward• Perte de la connexion avec l’abonné, la base distribution joue le rôle de tampon. Pas d’impact sur le journal de transactions primaire.
Coût:• Pas besoin d’avoir toutes les instances en édition Enterprise.
Scale-out• En ajoutant des abonnés, pas de limitation à 2 réplicas.
Contrainte AD:• Moins d’adhérence avec un domaine
![Page 25: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/25.jpg)
#JSS2013
Inconvénients de la solutionRéactivité:
• Pas de bascule automatisée (sauf avec witness)
DBM et reporting? • db snapshot pas très pratique quand même
Complexité• Plusieurs systèmes à maintenir au lieu d’un seul.
Point d’entrée unique:• Pas de détection d’intention pour la lecture seule (ApplicationIntent)
Conflits en mise à jour:• L’abonné est ouvert en lecture /écriture donc pas de garde-fou contre le conflit en mise à jour.
Paramétrage manuel :• La bascule est transparente pour la réplication, mais pas pour le log shipping (paramétrage manuel).
![Page 26: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/26.jpg)
#JSS2013
SQL Server AlwaysOn Terminologie• Groupe de disponibilités, réplicas, cluster,
nœud, quorum, stockage asymétrique, réplication synchrone et asynchrone
Technologie éprouvée• Couche cluster Windows, mirroring ++
![Page 27: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/27.jpg)
#JSS2013
Tolérance de panne• Matérielle, logicielle, corruption physique des donnéesConnexion unique via point d’accès client (listener)• Adresse IP et Nom réseau virtuel
Granularité• Groupe de base de données
Avantages des groupes de disponibilité
![Page 28: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/28.jpg)
#JSS2013
Rentabilisation des serveurs secondaires standby• Répartition de charge avec utilisation en lecture seule en temps réel,
sauvegardes Stockage• Indépendance vis-à-vis d’un stockage partagé, • Stockage asymétrique avec disaster recovery sur site distant
Complexité• Une seule fonctionnalité pour gérer la haute disponibilité et les
situations de désastre
Avantages des groupes de disponibilité
![Page 29: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/29.jpg)
#JSS2013
• Quorum dynamiqueWindows 2012
• 4 réplicas secondairesSQL 2012• Quorum amélioré (témoin dynamique, résilience du quorum, arbitrage des
votes)• Support CSV• Déploiement de cluster sans dépendance d’objets dans l’active directory
Windows 2012 R2
• 8 réplicas secondaires + plus forte intégration avec Azure + support Hekaton SQL 2014
Points remarquables
![Page 30: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/30.jpg)
#JSS2013
Démo
Réplicationasynchrone
Réplica synchrone
Read
TPTP
Standby
Backups
DSS
Réplication synchrone
![Page 31: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/31.jpg)
#JSS2013
• Exemple d’une topologie AlwaysOn avec Windows Server 2012 et SQL14
Démo
![Page 32: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/32.jpg)
#JSS2013
Inconvénients de la solutionCoût
• Nécessite une édition Enterprise de SQL Server 2012 avec licence par cœur logique• Chaque serveur secondaire actif (backup ou lecture seule) doit être licencié
Limite du nombre de réplicas synchrones• Limite à 3 réplicas
Lecture / écriture sur un seul point d’entrée• Pas de possibilité d’avoir plusieurs réplicas primaires en même temps
Répartition de charge en lecture seule impossible via les listeners• L’algorithme de redirection des connexions en intention de lecture seule sont toujours redirigés vers le même réplica
Paramétrage • Certains paramétrages s’effectuent depuis la GUI alors que d’autres ne sont disponibles que par T-SQL ou PowerShell
Monitoring• Pas forcément évident en utilisant les divers axes de troubleshooting en natif avec SQL Server• Pas de solution réelle de monitoring fournie en natif
![Page 33: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/33.jpg)
#JSS2013
Flexibilité• Live storage migration• Live migration• MàJ hyperviseur• Mémoire dynamique• Redimensionnement VHDX
HA• Live migration• Storage live migration• Host cluster• Guest cluster• Peu ou pas de coupure de service• Scénario supporté (KB956893)
DR• Hyper-V replica (30 secs, 5 mins, 15 mins))• Attention compatibilité avec autres solutions
Virtualisation
![Page 34: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/34.jpg)
#JSS2013
Exploitation• Rapidité déploiement• Export et clonage de VM à chaud• Cluster Aware Updating
Performance• Quasi similaire (6% – 7%)• VHDX secteurs 4KB, max 64 TB• Storage tiering• Storage QoS• Offloaded Data Transfer (ODX)
Virtualisation
![Page 35: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/35.jpg)
#JSS2013
• Si le temps le permet …Demo – Shared VHDX
![Page 36: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/36.jpg)
#JSS2013
Questions / Réponses
Merci à tous pour votre présence.
![Page 37: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/37.jpg)
#JSS2013#JSS2013
![Page 38: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/38.jpg)
#JSS2013
• Définition basique– Etre capable d’accéder à une donnée lorsque l’on en a
besoin dans un laps de temps acceptable !• BD point central dans le SI
– Sharepoint, sites Web de paris ou commerce en ligne– Progiciels (RH, Compta, production, CRM)– Logiciels « maison »
• La non disponibilité a un coût– Chiffre d’affaire …– Salaires d’employés …
Rappels : haute disponibilité
![Page 39: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/39.jpg)
#JSS2013
Définition d’une stratégie•Chiffre d’affaire•SalairesQuantifier
l’indisponibilité•Datacenter -> Instance -> Groupe de bases -> Base -> Table -> Traitement
•Coordination des dépendancesGranularité
• Perte maximale de données autoriséeRPO
• Durée maximale de non disponibilité autoriséeRTO
• 24 H / 24 , 7 J /7• Entre 8h00 et 18h00 les jours ouvrés …Période ouvrée
• Même niveau de performance requis ?• Dégradation acceptable ?En cas de panne
Stra
tégi
e
![Page 40: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/40.jpg)
#JSS2013
• Les « neufs »Mesurer la disponibilité
![Page 41: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/41.jpg)
#JSS2013
Des fonctionnalités
Table
Online index OperationsOnline LOB index OperationsTable Partitioning
Database
Fast RecoveryPartial Database AvailabilityOnline piecemeal restore
Database Snapshot
Infrastructure
Instant File Initialization
Auto page repair
Hot-add CPU / Memory
Resource Governor
![Page 42: Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF](https://reader030.fdocument.pub/reader030/viewer/2022020118/56813a8e550346895da288e2/html5/thumbnails/42.jpg)
#JSS2013
• Log Shipping• Failover Cluster• Database Mirroring• Réplication• Windows Azure SQL Databases / Federation• Virtualisation
– On Premise (Hyper-V)– Off Premise (Windows Azure)
Des solutions connues