La haute disponibilité avec SQL Server

Download Report

Transcript La haute disponibilité avec SQL Server

3 Octobre 2013

Les Communautés MS

Benjamin Vesan

http://blog.capdata.fr [email protected]

AllDB © DBA à distance infogérance

www.capdata.fr

Conseil

Service

Formation

Management d’infrastructures IT hétérogènes

www.osmozium.com

Support Management

Technical Management

Data Management

Production Management

La haute disponibilité avec SQL Server

• • •

Quelles solutions ?

Quel coût ?

Pour quel type d’application ?

Notion de Disponibilité

La disponibilité

• • mesurée du point de vue des utilisateurs d’applications est construite sur un ensemble de composants

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.

Application Middleware Base de données Stockage Réseau Système exploitation Serveur

4

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é

Désastre Corruption des données Erreurs humaines Perte de serveurs Opération de maintenance Pannes du stockage Jours Heures Minutes Secondes Instantanées 6

Augmenter la disponibilité

Coût Cluster + réplication Réplication Cluster

Sauvegarde Configuration

Disponibilité

7

Les solutions de haute disponibilité

Replication Database Mirroring

VM

Log Shipping

VM

Hot Standby Warm Standby 8

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 VM 2

HYPERVISEUR

VM 3 VM 3

Une granularité de solution au niveau de la machine

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

• • • 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).

22 • • Chaque instance SQL Server est une instance « Stand Alone »

RW Listener 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 Cluster Réplication Virtualisation Azure HADR-AG Complexité

Grande Modérée Faible Faible

Coût

Elevé Modéré Faible Faible

Bascule automatique

Oui Oui* Non**** Oui

Chaine de connexion fixe

Oui Oui** Oui Oui

Corruption

Non Oui Non Oui

Géographi que

Non*** Oui Oui Oui

Granularité

Instance Base Machine Base ou Instance Grande Elevé Oui Oui Oui Oui Groupe de bases * ** *** **** 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 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