Upload
sydnee
View
52
Download
0
Embed Size (px)
DESCRIPTION
Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF. Présentation. David BARBARIN. Christophe LAPORTE. David BAFFALEUF. ~ depuis 2002 7
Citation preview
#JSS2013
Les journéesSQL Server 2013
Un événement organisé par GUSS
#JSS2013
Les journéesSQL Server 2013
Un événement organisé par GUSS
Session Haute-disponibilité
Christophe LAPORTE David BARBARIN David BAFFALEUF
#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
#JSS2013
Merci à nos sponsors
#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
#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
#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é
#JSS2013
Mesurer la haute disponibilité
#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
#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
#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
#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
#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
#JSS2013
• Quorum dynamiqueWindows 2012
• TempDB localeSQL 2012
• Témoin dynamiqueWindows 2012 R2
• Data sur disque CSVSQL 2014
Points remarquables
#JSS2013
• Ajout d’une instance sur disque CSVDémo
#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
#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
#JSS2013
• Ajout d’un disque cluster SIOS DataKeeper
Démo
#JSS2013
Database Mirroring
Log Shipping
Réplication (transactionnelle)
Outsiders
#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 (?)
#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
#JSS2013
• Exemple d’une topologie combinéeDémo
#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.
#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
#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).
#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 ++
#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é
#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é
#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
#JSS2013
Démo
Réplicationasynchrone
Réplica synchrone
Read
TPTP
Standby
Backups
DSS
Réplication synchrone
#JSS2013
• Exemple d’une topologie AlwaysOn avec Windows Server 2012 et SQL14
Démo
#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
#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
#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
#JSS2013
• Si le temps le permet …Demo – Shared VHDX
#JSS2013
Questions / Réponses
Merci à tous pour votre présence.
#JSS2013#JSS2013
#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é
#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
#JSS2013
• Les « neufs »Mesurer la disponibilité
#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
#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