Tout sur les solutions de haute disponibilité et disaster recovery de sql server et windows azure...
-
Upload
christophe-laporte -
Category
Technology
-
view
290 -
download
4
Transcript of Tout sur les solutions de haute disponibilité et disaster recovery de sql server et windows azure...
• HA : Rappels
• HA : options et solutions
• SQL Server 2012 : AlwaysON– Failover Cluster Instance
– Availability Groups
• Migration– DBM -> AAG
– Cluster Windows 2008R2 -> Windows 2012
• Combinaisons d’architecture
Agenda
• 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é
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
Str
até
gie
• Les « neufs »
Mesurer la disponibilité
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
Des fonctionnalités
Table
Online index Operations
Online LOB index Operations
Table Partitioning
Database
Fast Recovery
Partial Database Availability
Online piecemeal restore
Database Snapshot
Infrastructure
Instant File Initialization
Auto page repair
Hot-add CPU / Memory
Resource Governor
• 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
Démo SQL Server 2005 ! Mise en place DBM
• Windows Azure SQL Databases• Disponibilité de 99,9 % mensuelle (43,2 minutes …)
• Windows Azure VMs• Disponibilité de 99,9%
• Etendre les groupes de disponibilité pour le PRA
• Perte de données < 30mn
Azure
• Création d’une VM Windows Azure
• Connexion RDP
• Connexion SQL Azure
Azure - Demos
VM sur Windows Server 2012 - Hyper-V 3.0
• Live migration
• Live storage migration
• P2V
• DR site distant
• RPO 5 minutes
• VMs en haute disponibilité
• Cluster 64 nœuds
• SMB 3.0
• RAM 1TB
• Architecture NUMA
• 64 vCPUs
• Fichiers VHDX 4KB
• Disques PassThrough
• Cartes FC
• NIC TeamingHaute
performance
Haute
disponibilité
Migrations
facilitées
Réplicas
Hyper-V
Demo : Live migration d’une VM
• 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
• Sauvegarde vers Windows Azure Blob Storage– Externalisation des sauvegardes
– Transfert entre OnPremise et Windows Azure
SQL Server 2012 : des améliorations
Solutions incomplètesRPO=0 RTO
Pas
de p
ert
e d
e d
on
nées
Inst
an
ce S
QL S
erv
er
Base
de d
on
nées
Tab
le
Pro
tecti
on
au
tom
ati
qu
e
Lectu
re
Mu
ltip
les
seco
nd
air
es
Ecri
ture
po
ssib
le
Log Shipping
Database Mirroringsynchrone
avec témoin
synchrone
sans témoin
asynchrone
Windows Failover Cluster
Réplication transactionelle
Réplication Peer-to-Peer
Unité de protection
Redondance et
réutilisation
Solutions SQL Server
AlwaysOn : une marque !
AlwaysOn
Cluster de
basculement
( FCI )
Groupe de
disponibilité
( AAG )
Versions antérieures
Granularité instance
Stockage centralisé
VIP
Pas de modification chaines de connexion
SQL Server 2012
Stratégies de basculement flexible
Réseaux multiples
Predictable Recovery Time
Changement de quorum (votes)
TEMPDB Stockage Local
Le cluster de basculement (FCI)
Le cluster de basculement - Principe
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)
• 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
Failover Cluster Instance (FCI)
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
Les groupes de disponibilité
• Listeners (Routing lists)
• RO Secondaires
• Sauvegardes déportées
• Réplicas asynchrones
• Stats en TempDB
• Compression des Flux
• 3 Réplicas synchrones
• Failover auto (2 réplicas)
• Auto page repair
• Listeners (dispo
applicative)
• Réplica asynchrone
• DataCenter distant
• Failover auto / manuel
• Flexibilité (déploiement)
• Cloud Public pour DR
DR HA
Répartition
de chargePerformance
•Création du cluster
•Activation de AlwaysOn
WSFC
•Création des EndPoints
•Sauvegarde des bases
•Création du groupe de
disponibilité
Primary•Création des EndPoints
•Restauration des bases
•Ajout du nœud
•Ajout des bases
Secondaire(s)
•Création du listener
•Création des routing list
Listener
Mise en place d’un groupe de disponibilité
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é
• 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 : création d’un groupe de disponibilié
• 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
Démo : Migration d’un Database Mirroring
Démo : réparation automatique d’une page
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
• 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
HA et DR SQL Server solutionPotential Data
Loss (RPO)
Potential
Recovery
Time (RTO)
Automatic
FailoverScope
Readable
Secondaries
NB
replicas
AlwaysOn Availability Group - synchronous-commit Zero Secondes Oui DB(s) 0 - 2 2
AlwaysOn Availability Group - asynchronous-commit Secondes Minutes Non DB(s) 0 - 4 4
AlwaysOn Failover Cluster Instance NA(5) Secondes
-> minutes
Oui Inst NA
Database Mirroring - High-safety (sync + witness) Zero Seconds Non DB NA 1
Database Mirroring - High-performance (async) Secondes Secondes Non DB NA 1
Log Shipping Minutes Minutes
-> Heures
Non DB Hors
restauration
n
Backup / Restore Heures Heures
->Jours
Non DB Hors
restauration
NA
Comparaison des solutions
• AG HA + DR sur site distant
Différentes architectures
v
Primaire SecondaireSecondaire
Synchrone
Asynchrone
Data center principal Data center Secours
Windows 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é
• AG HA + redondance dans le cloud
Différentes architectures
v
Primaire SecondaireSecondaire
Synchrone
Asynchrone
Data center principal
Windows Server Failover Cluster (WSFC)
Availibility Group
• FCI pour HA et AG+FCI
Différentes architectures
vv
SQLFCIA\Inst1
Synchrone/Asynchrone
Primaire
Data center principal Data center Secours
Windows 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
• 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
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
v
Failover Cluster + Availibility Group
Modèle de Quorum - Votes
v
SQLFCIA\Inst1
Synchrone/Asynchrone
Primaire
Data center principal Data center Secours
Windows Server Failover Cluster (WSFC)
Availibility Group
File Share
Vote
Vote
VoteSQLFCIB\Inst2
Secondaire
VoteVote
• Configuration /administration
Modèle de quorum - Votes
(Get-ClusterNode "NodeName").NodeWeight = 0
Cluster.exe. nœud <NodeName> /prop NodeWeight = 0
http://support.microsoft.com/kb/2494036
Conclusion
Questions / réponses