La haute disponibilité avec SQL Server

Report
3 Octobre 2013
Les Communautés MS
Benjamin Vesan
http://blog.capdata.fr
[email protected]
Management d’infrastructures IT hétérogènes
www.osmozium.com
AllDB © DBA à distance
infogérance
www.capdata.fr
 Conseil
 Service
 Formation




Support Management
Technical Management
Data Management
Production Management
La haute disponibilité avec SQL Server
• Quelles solutions ?
• Quel coût ?
• Pour quel type
d’application ?
4
Notion de Disponibilité
La disponibilité
• mesurée du point de vue des utilisateurs d’applications
• est construite sur un ensemble de composants
Application
Middleware
Base de données
La haute disponibilité
• Réduire ou éviter l’indisponibilité, planifiée ou non, du service.
• Lors d’une défaillance de composant, l’indisponibilité est brève ou
non existante (Bascule Automatique)
• Elimination des “Single Points of Failure” (Composants redondés,
Systèmes à tolérance de panne)
Une solution de haute disponibilité comprend les caractéristiques
suivantes :
• fiabilité : doit prendre en compte la fiabilité de chaque composant
retenu dans la dite solution
• reprise : la défaillance d’un composant doit être récupérable avec
un minimum d’interventions humaines et dans un délai court.
Stockage
Réseau
Système
exploitation
Serveur
Causes d’indisponibilité
Les causes d’indisponibilité sont de deux types :
Planifiée
• Mise à jour applicatives
• Mise à jour/Patch de bases/OS/matériels
Non planifié
• Corruptions logique ou physique
• Erreurs humaines ( suppression d’objets)
• Désastres (problème électrique, crash serveur, matériel)
5
Classes de disponibilité
6
Désastre
Corruption des
données
COÛTS
Erreurs
humaines
Perte de
serveurs
Opération de
maintenance
Pannes du
stockage
Jours
Heures
Minutes
Secondes
Instantanées
7
Augmenter la disponibilité
Cluster + réplication
Coût
Cluster
Réplication
Sauvegarde
Configuration
Disponibilité
Les solutions de haute disponibilité
8
Replication
Database
Mirroring
Hot Standby
VM
Log Shipping
VM
Warm
Standby
Clusters
• Un cluster est un ensemble de serveurs, partageant une baie de disques, fonctionnant
comme un seul et même système.
• Une instance SQL Server en Cluster tourne à un instant donné sur l’un des serveurs, et
« bascule » automatiquement lors d’une défaillance de ce serveur.
ACTIF
PASSIF
Une granularité de solution au niveau de l’instance
Repose sur le mécanisme de cluster de Windows (WFC)
Nécessite une expertise DBA et Système
Nécessite une Infrastructure robuste (SAN, réseau dédié
aux clusters, LDAP redondé, …)
9
Clusters
• Avantages
• Bascule automatique
• Chaîne de connexion fixe
• Inconvénients
• Nécessite un LDAP Microsoft
• Cluster local uniquement
• Solution coûteuse et complexe à mettre en place et exploiter
• Pas de protection contre la corruption ou de l’indisponibilité des disques partagés
Il est donc impératif de prévoir un secours pour le stockage partagé !
10
Clusters
Pour qui ?
• Cluster Microsoft déjà présent dans le SI.
• Bases de données de forte volumétrie ou accueillant une forte activité
transactionnelle.
• Grand nombre de bases dans une même instance.
11
Réplication
La réplication consiste à recopier sur une base distante les pages modifiées lors d’une
transaction (réplication physique « DB Mirroring » et « Log Shipping ») ou à
rejouer sur une base distante toute transaction (réplication logique « Réplication
Transactionnelle »)
transaction
Une granularité de solution au niveau de la base ou de la table suivant le type de
réplication.
12
Réplication
Database Mirroring
• Toute transaction validée sur la base principale est envoyée sur la base cible et
rejouée.
• La base cible n’est pas ouverte, mais peut être disponible en consultation via le
mécanisme Database Snapshot.
Log shipping
• Un fichier contenant un ensemble de transactions validées est envoyé
périodiquement sur la base cible pour être rejouée.
• La base cible n’est pas ouverte , mais peut être disponible en consultation via le
mécanisme de restauration Standby.
Réplication transactionnelle
• C’est la requête qui est envoyée sur la base cible pour y être exécutée.
• La base cible est ouverte et disponible en modification (Attention aux risques de
conflits).
13
Réplication
Avantages
• Bascule automatique (miroir uniquement)
• Protection contre la corruption de page(Miroir uniquement via Automatic Page
Repair)
• Beaucoup de souplesse dans la mise en place (pas besoin de LDAP, disponible sur
des éditions de Windows et SQL Server différentes)
• Très peu de contraintes sur l’environnement (éditions et versions de Windows,
types de machines différents).
• Réplication en TCP/IP (au travers de Firewall, et sur un DataCenter distant).
• Solution peu coûteuse et simple à mettre en place et à exploiter
Inconvénients
• Chaîne de connexion non fixe (la chaîne de connexion peut inclure l’instance
Miroir pour une application .Net)
• Force le mode de recouvrement des bases à Complet
• Impact sur la performance lors des mises à jour de données
14
Réplication
Pour qui ?
•
•
•
Mélange de bases critiques et non critiques sur une même instance
Parc SQL Server hétérogène.
Activité transactionnelle raisonnable.
15
Virtualisation
• La virtualisation consiste à simuler plusieurs machines sur une machine (ou un
ensemble de machines)
• Une instance SQL Server virtualisée est donc identique à une instance classique, au
détail près qu’elle est hébergée sur une machine virtuelle.
• L’hyperviseur, gestionnaire des machines « physiques », permet de redimensionner et
déplacer les machines virtuelles sans indisponibilité de service.
•
L’hyperviseur joue le rôle de
gestionnaire de cluster.
VM 1
Une granularité de solution au niveau de
la machine
VM 2
VM 3
VM 3
HYPERVISEUR
Site A
Site B
16
Virtualisation
Avantages
• Facilité à faire évoluer la machine hôte sans impacter la machine virtuelle.
• Facilité à faire évoluer les caractéristiques de la machine virtuelle (nombre de
vCPUs, mémoire)
• Simplicité extrême en mise en œuvre
Inconvénients
• L’hyperviseur n’a pas visibilité sur le service SQL Server de la machine virtuelle
• Les problèmes de performance sont difficiles à gérer (sont-ils sur la machine
virtuelle ou sur l’hôte ?)
• Pas de bascule automatique si seule l’instance SQL Server devient indisponible.
17
Virtualisation
Pour qui ?
• Virtualisation déjà présente dans le Système d’informations, et choisie
comme solution de haute disponibilité pour un grand nombre d’applications
• Application pour laquelle le serveur applicatif et l’instance de bases de
données doivent être déployées sur la même machine.
18
SQL Azure
• SQL Azure est l’offre SQL Server de Cloud Computing Microsoft.
• Le service propose la mise à disposition d’une base ou d’une instance externalisée, avec
une disponibilité garantie contractuellement (99,999%).
Une granularité de solution au niveau de
la base ou de l’instance.
19
SQL Azure
Avantages
• Solution très simple à mettre en place
• Coût d’exploitation très faible
• Disponibilité (99,999%) garantie contractuellement
• Hébergement de la base déporté, donc survit à une indisponibilité globale du SI
Inconvénients
• Peu de fonctionnalités
• Performances non garanties
• Limitation de la consommation des ressources qui peut entraîner un blocage du service.
• L’application cliente doit pouvoir accéder au Cloud, externe au SI.
• Le stockage physique des données n’est pas connu (potentiellement hors du territoire français).
20
SQL Azure
Pour qui ?
• Application de faible volumétrie, faible activité transactionnelle mais grande
criticité
• Clients répartis sur un grand espace géographique
• Pas d’équipe DBA ou pas d’expertise SQL Server
21
Groupes de disponibilité – Always On
22
• SQL Server 2012 offre un nouveau mécanisme de Haute Disponibilité: les Groupes de
Disponibilité.
• Solution évoluée du couplage Cluster + Miroir, dans laquelle un groupe de bases est
répliqué vers un ou plusieurs miroirs.
• La connexion au groupe se fait via un listener (couple adresse IP virtuelle + port TCP).
Listener
• Chaque instance SQL Server est une instance
« Stand Alone »
• Une granularité de solution au niveau d’un
ensemble de bases (groupe)
RW
R
Groupes de disponibilité HADR
Avantages
• Bascule automatique
• Gestion d’un groupe de bases
• Les requêtes de lecture peuvent être automatiquement redirigées vers les bases
secondaires
• Chaine de connexion fixe
• Maintenance (sauvegardes, vérification de cohérence) possible sur les bases
secondaires.
Inconvénients
• Repose partiellement sur le cluster WFC
• Disponible uniquement avec SQL Server 2012 Enterprise
23
Groupes de disponibilité HADR
Pour qui ?
• Pas de stockage partagé
• Utilisation des bases en transactionnel et Reporting.
24
Tableau récapitulatif
Solution
Complexité
Coût
Bascule
automatique
Cluster
Réplication
Virtualisation
Azure
Grande
Modérée
Faible
Faible
Elevé
Modéré
Faible
Faible
Oui
Oui*
Non****
Oui
Chaine de
connexion
fixe
Oui
Oui**
Oui
Oui
HADR-AG
Grande
Elevé
Oui
Oui
*
Seul le DB Mirroring en mode Synchrone avec Témoin permet une bascule automatique
**
La chaîne de connexion doit contenir la liste des instances
***
Le cluster WSFC est un cluster local. D’autres clusters (Symantec, double Take, …) sont géographiques
****
Seule l’indisponibilité de la machine virtuelle entrainera une bascule automatique
Corruption
Géographi
que
Granularité
Non
Oui
Non
Oui
Non***
Oui
Oui
Oui
Instance
Base
Machine
Base ou Instance
Oui
Oui
Groupe de bases
25
Les risques de la Haute Disponibilité
• Dégradation des performances
• Complexité de la solution HD aboutissant à des problèmes de disponibilité
• Cas de pannes non couverts
• Données des bases non synchronisées avec les autres sources de données
26
Choisir sa solution
• Envisager un cumul de solutions
o Cluster + Miroir
o Virtualisation + Cluster
• Préférer une solution maîtrisée dans
l’entreprise
• Cohérence de la solution avec toute la
chaîne applicative
• Profiter des fonctionnalités connexes à
la solution (base en lecture seule,
redimensionnement facile de VM,
répartition de charge, …)
27
Questions / Réponses
28
Merci à Nos Sponsors
Merci à nos partenaires et
membres
Pour adhérer à l’association :
http://www.rebuild.fr/adhesions
Ou
[email protected]
Nous suivre sur Facebook :
https://www.facebook.com/lescommunautesms
Nous suivre sur Twitter :
https://twitter.com/CommunautesMS

similar documents