Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF

42
#JSS2013 es journées SQL Server 2013 n événement organisé par GUSS

description

Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF. Présentation. David BARBARIN. Christophe LAPORTE. David BAFFALEUF. ~ depuis 2002 7

Transcript of Session Haute-disponibilité Christophe LAPORTE David BARBARIN David BAFFALEUF

Page 1: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#JSS2013

Les journéesSQL Server 2013

Un événement organisé par GUSS

Page 2: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#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

#JSS2013

Présentation

~ depuis 19976.5 <= SQL Server <= 2014

@conseilit

[email protected]

http://conseilit.wordpress.com/

Christophe LAPORTE

~ depuis 20027 <= SQL Server <= 2014

@mikedavem

[email protected]

http://blog.developpez.com/mikedavem

David BARBARIN

~ depuis 19997.0 <= SQL Server <= 2014

@dbaffaleuf

[email protected]

http://blog.capdata.fr

David BAFFALEUF

Page 4: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#JSS2013

Merci à nos sponsors

Page 5: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#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

#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

#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

#JSS2013

Mesurer la haute disponibilité

Page 9: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#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

#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

#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

#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

#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

#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

#JSS2013

• Ajout d’une instance sur disque CSVDémo

Page 16: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#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

#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

#JSS2013

• Ajout d’un disque cluster SIOS DataKeeper

Démo

Page 19: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#JSS2013

Database Mirroring

Log Shipping

Réplication (transactionnelle)

Outsiders

Page 20: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#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

#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

#JSS2013

• Exemple d’une topologie combinéeDémo

Page 23: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#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

#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

#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

#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

#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

#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

#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

#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

#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

#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

#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

#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

#JSS2013

• Si le temps le permet …Demo – Shared VHDX

Page 36: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#JSS2013

Questions / Réponses

Merci à tous pour votre présence.

Page 37: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#JSS2013#JSS2013

Page 38: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#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

#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

#JSS2013

• Les « neufs »Mesurer la disponibilité

Page 41: Session Haute-disponibilité Christophe LAPORTE   David BARBARIN     David BAFFALEUF

#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

#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