tout sur les solutions de haute disponibilité et disaster recovery de sql server et windows azure...

40
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database (DAT305) Richard PRADE Senior Consultant SQL/BI Microsoft Services Serveurs / Entreprise / Réseaux / IT Christophe LAPORTE •SQL Server MCM / MVP •Consultant Indépendant •Blog : http:// conseilit.wordpress.com/ •Twitter : @Conseilit •Email : [email protected]

Upload: microsoft-technet-france

Post on 14-Dec-2014

901 views

Category:

Technology


5 download

DESCRIPTION

Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

TRANSCRIPT

Page 1: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure

SQL Database (DAT305)

Richard PRADESenior Consultant

SQL/BIMicrosoft Services

Serveurs / Entreprise / Réseaux / IT

Christophe LAPORTE•SQL Server MCM / MVP•Consultant Indépendant• Blog : http://conseilit.wordpress.com/• Twitter : @Conseilit• Email : [email protected]

Page 2: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Haute disponibilité– Rappels– Options et solutions

• SQL Server 2012 : AlwaysON– Failover Cluster Instance– Availability Groups

• Migration– Database Miroring -> Availibility Group

• Combinaisons d’architecture

Agenda

Page 3: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Définition basique– Garantir la disponibilité d’un service, d’un accès aux

données

• 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 4: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Définition d’une stratégie

Quantifier l’indisponibilité

• Chiffre d’affaire• Salaires

Granularité• Datacenter -> Instance -> Groupe de

bases -> Base -> Table -> Traitement• Coordination des dépendances

RPO •Perte maximale de données autorisée

RTO •Durée maximale de non disponibilité autorisée

Période ouvrée •24 H / 24 , 7 J /7•Entre 8h00 et 18h00 les jours ouvrés …

En cas de panne •Même niveau de performance requis ?•Dégradation acceptable ?

Str

até

gie

Page 5: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Les « neufs »

Mesurer la disponibilité

Page 6: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Indisponibilité pendant les interruptions planifiées

• Installation des correctifs / Service Pack• Mise à jour matérielle / logicielle• Maintenance des bases de données• Mise à jour applicative

Protection contre les interruptions non planifiées

• Erreur humaine (le plus courant)• Désastre sur un site• Défaillance matérielle• Corruption de donnée• Crash logiciel

Les sources d’indisponibilités

Page 7: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Des fonctionnalités

Table

Online index Operations

Online LOB index Operations

Table Partitioning

Page 8: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• 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

Page 9: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Démo SQL Server ! Mise en place DBM

Page 10: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Windows Azure SQL Databases• Disponibilité de 99,9 % mensuelle (43,2

minutes …)

• Windows Azure VMs IaaS• Disponibilité de 99,9%• Etendre les groupes de disponibilité pour le

PRA• Perte de données < 30mn

Windows Azure

Page 11: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Création d’une VM Windows Azure• Connexion RDP

• Connexion SQL Azure

Azure - Demos

Page 12: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

VM sur Windows Server 2012 - Hyper-V 3.0• RAM 1TB • Architecture NUMA• 64 vCPUs• Fichiers VHDX 4KB• Disques PassThrough• Cartes FC• NIC Teaming

• VMs en haute disponibilité

• Cluster 64 nœuds• SMB 3.0

• Live migration• Live storage

migration• P2V

• DR site distant• RPO 5 minutes

Haute performa

nce

Haute disponibilit

é

Migrations

facilitéesRéplicasHyper-V

Page 13: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Demo : Live migration d’une VM

Page 14: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Sauvegarde vers Windows Azure Blob Storage SP1 CU2– Externalisation des sauvegardes– Transfert entre OnPremise et Windows Azure

• Nouvelles opérations en ligne supportées– Reconstruction en ligne d’index de type :

varchar(max), nvarchar(max), varbinary(max), ou XML– Ajout de colonne avec une valeur par défaut

SQL Server 2012 : des améliorations

• Migration Windows 2008R2 Vers Windows 2012 SP1– Migration en s’appuyant sur une architecture Availability Group

Page 15: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Solutions incomplètesRPO=0 RTO

Pas

de

per

te d

e donnée

s

Inst

ance

SQ

L Se

rver

Bas

e de

donnée

s

Table

Pro

tect

ion a

uto

mat

ique

Lect

ure

Multip

les se

condai

res

Ecritu

re p

oss

ible

Log Shipping

Database Mirroringsynchrone

avec témoin

synchronesans témoin

asynchrone

Windows Failover Cluster

Réplication transactionelle

Réplication Peer-to-Peer

Unité de protectionRedondance et

réutilisation

Solutions SQL Server

Page 16: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

AlwaysOn : une marque !

AlwaysOn

Cluster de basculement

( FCI )

Groupe de disponibilité

( AAG )

Page 17: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Versions antérieures

Granularité instance

Stockage centralisé

VIPPas de modification chaines de connexion

Le cluster de basculement (FCI)

Page 18: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Le cluster de basculement - PrincipeClients

Noeud A Noeud B

LUN partagés

HeartbeatSQL instanceNoeud passif

Défaillance

Réservation

annulée

Bascule de l’instance, accès aux

clients

SQL instance

Nouvelle réservation

Page 19: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Flexible Failover Policy• Bascule en fonction d’un niveau de diagnostic• Personnalisable en fonction du niveau d’erreur• Default – Niveau 3 – Fréquence 60 sec

Le cluster de basculement (FCI)

Page 20: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Précédent checkpoints mode– Variation du temps de bascule– Variation de la charge IO

• Nouveau en SQL Server 2012 :– checkpointing en tâche de fond– charge IO lissée– Temps de bascule plus prédictibles– Configurable par base de données– Par défaut désactivé

Indirect Checkpoint

Page 21: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Geo-Cluster Multi Site

App A

App BApp A

IP1

Cluster

WAN

App B

App A

App AIP2

Site 1 – VLAN 1

Site 2 – VLAN 2

Synchronisation

TEMPDB TEMPDB

Fonctions Clefs• Tempdb stocage local• Support Multi Vlan

Page 22: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Failover Cluster Instance (FCI)

Page 23: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Les groupes de disponibilité• Réplica asynchrone• DataCenter distant• Failover auto /

manuel• Flexibilité

(déploiement)• Cloud Public pour

DR

• 3 Réplicas synchrone

• Failover auto (2 réplicas)

• Auto page repair• Listeners (dispo

applicative)

• Listeners (Routing lists)

• RO Secondaires• Sauvegardes

déportées

• Réplicas asynchrones

• Stats en TempDB• Compression des

Flux

DR HA

Répartition de charge

Performance

Page 24: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Création du cluster• Activation de AlwaysOn

WSFC

Mise en place d’un groupe de disponibilité

Page 25: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

PowerShell• Backup-SqlDatabase• Restore-SqlDatabase• New-SqlHadrEndpoint• New-SqlAvailabilityGroup• Join-SqlAvailabilityGroup• Add-SqlAvailabilityDatabase• New-

SqlAvailabilityGroupListener• Switch-SqlAvailabilityGroup

T-SQL• Backup Database• Restore Database• Create Endpoint• Create Availability Group• Alter Availability Group Join• Alter Database Set hadr

Availability • Alter Availability Group Add

Listener• Alter Availability Group Failover

Mise en place d’un groupe de disponibilité

Page 26: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Déjà vu !– Interface graphique– T-SQL

• Challenges – En PowerShell– Migration depuis un DBM– Avec des gants de boxe• Désolé, le timing est un peu short …

Démo : creation d’un groupe de dispo

Page 27: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Developpement

• Existant– 2 serveurs– Session de mise en miroir créée

• 2 réplicas synchrones• Pas de témoin (pour gagner du temps)

• Scénario de le démo– Création de cluster Windows– Création du groupe de disponibilité– Ajout de la base DBM dans le groupe de disponibilité

Démo : Migration d’un Database Mirroring

Page 28: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Démo : Migration d’un Database Mirroring

Page 29: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Démo : réparation automatique d’une page

Page 30: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Primary Data CenterDisaster Recovery

Data Center

SQL ServerPrimary

SQL ServerSecondary

Windows Server Failover Cluster (single WSFC crossing two data centers)

Availability Group

Synchronous

Asynchronous

SQL Server

Secondary

Documentation : Migration Depuis un DBM + LS

– SQL Server AlwaysOn team blog : http://blogs.msdn.com/b/sqlalwayson/archive/2012/10/16/how-to-migrate-to-alwayson-alwayson-from-prior-deployments-combining-database-mirroring-and-log-shipping-part-1.aspx

• Upgrade Secondary LS• Upgrade DBM Witness• Upgrade DBM Mirror• Upgrade DMB Principal• Create WSFC cluster• Configure AAG

Page 31: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Décharge le Primaire des lectures– ApplicationIntent = ReadOnly– Définition d’une liste de routage– Redirection automatique

Démo : Read Only Routing

Primaire SecondaireSecondaire

ApplicationIntent= Readonly

Win2012srv1 Win2012srv2 Win2012srv3

Page 32: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Comparaison des solutions

Page 33: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• AG HA + DR sur site distant

Différentes architectures

v

Primaire SecondaireSecondaire

Synchrone

Asynchrone

Data center principal Data center SecoursWindows Server Failover Cluster (WSFC)

Availibility Group

• Stockage Local non partagé• Configuration HA avec Bascule Automatique , redirection automatique• Configuration DR avec Bascule manuelle, redirection automatique• Les 2 secondaires accessibles en lecture seule : besoin BI , Scalabilité

Page 34: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• AG HA + redondance dans le cloud

Différentes architectures

vPrimaire SecondaireSecondaire

Synchrone

Asynchrone

Data center principalWindows Server Failover Cluster (WSFC)

Availibility Group

• Extension de la solution vers le Cloud Windows Azure Iaas• Mise en place d’un VPN• Configuration DR / externalisation des données

Page 35: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• FCI pour HA et AG+FCI

Différentes architectures

vv

SQLFCIA\Inst1

Synchrone/Asynchrone

Primaire

Data center principal Data center SecoursWindows Server Failover Cluster (WSFC)

Availibility Group

SQLFCIB\Inst2

Secondaire

• 2 instances FCI stockage SAN • Configuration HA avec Bascule manuelle, redirection automatique• Configuration DR avec Bascule manuelle, redirection automatique

Page 36: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Le quorum est géré par le service WSFC indépendamment du nombre d’instance SQL FCI ou Standalone

• Objectif : S’assurer que l’indisponibilité du site de DR ou la connectivité n’impacte pas le quorum du WSFC

• 2 leviers :– Affectation de droit de vote aux nœuds

Hotfix pour Windows 2008 /2008 R2 : http://support.microsoft.com/kb/2494036

– Le modèle de quorum

Quorum Configuration

Page 37: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Availibility Group HA et DR

Modèle de Quorum - Votes

v

SQL ServerPrimaire

SQL ServerSecondaire

SQL ServerSecondaire

Synchrone

Asynchrone

Data center principal Data center Secours

Windows Server Failover Cluster (WSFC)

Availibility Group

File Share

Vote Vote

Vote

Vote

Page 38: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

v

Failover Cluster + Availibility Group

Modèle de Quorum - Votes

v

SQLFCIA\Inst1

Synchrone/Asynchrone

Primaire

Data center principal Data center SecoursWindows Server Failover Cluster (WSFC)

Availibility Group

File Share

Vote

Vote

VoteSQLFCIB\Inst2

Secondaire

VoteVote

Page 39: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

• Configuration /administration

Modèle de quorum - Votes

Visualisation du modèle de quorum

Windows Failover Cluster Manager GUIPowerShellCluster.exe

SQL Server DMVsAlwaysOn Dashboard dans SSMS

Modification du modèle de Quorum

Windows Failover Cluster Manager GUIPowerShellCluster.exe

Visualisation des noeuds votants

PowerShellCluster.exe

SQL Server DMVsAlwaysOn Dashboard dans SSMS

Modification des votes

PowerShell (Get-ClusterNode

"NodeName").NodeWeight = 0Cluster.exe

Cluster.exe. nœud <NodeName> /prop NodeWeight = 0

Pour Windows 2008 et Windows 2008R2 Correctif : http://

support.microsoft.com/kb/2494036

Page 40: Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Server et Windows Azure SQL Database

Questions