Solutions de Haute Disponibilité
Bertrand Audras, Architecte [email protected]://blogs.technet.com/baudrashttp://www.slideshare.net/baudrashttp://blogs.msdn.com/mtcparis
SQL Server 2008 R2
Définitions
• Métriques SLA– Recovery Point Objective
(RPO) = perte de données
– Recovery Time Objective (RTO) = temps d’interruption
• Haute disponibilité locale (Local HA)
• Site de secours à distance (Site DR)
Défaillances
Arrêts planifiés & maintenance
Maintenance 100% Online• Administration online
– Reconfigurations, backup, réorganisation des indexs, mise à jour des statistiques, ajout dynamique de ressources CPU-RAM-disques…
• Batch online– Chargement et consultation en concurrence, verrouillage
"optimiste", isolation des ressources– Chargements optimisés (log), SSIS, CDC
• Gestion online des ressources• Rolling Upgrades
– Database Mirorring, Windows Failover Cluster
Contrat de service
Désastre
Corruption des données
Erreurs humaines
Perte de serveurs
Opérations de maintenance
Pannes du stockageCa
uses
des
inte
rrup
tions
de
serv
ice
99.9%
99.99%
99.999%
99.9999%
8.75h/an
52min/an
5.2min/an
32sec/an
Jours Heures Minutes Secondes Instantané
RTO: Temps de redémarrage
Coût
s
RPO: Point de redémarrageJours Heures Minutes Transactions
Log shipping SQL Server• Restauration des logs sur un
serveur de secours• Granularité: base de données
• Perte de données liée à la fréquence de sauvegarde
• Temps de reprise non garanti
• Solution simple• Pas de contrainte hardware ou
réseau• Multicopies• Protection contre les erreurs
humaines en introduisant un délai
Principal
Secondaire(s)
Svg JournauxRéapplication des Journaux
Copie des Journaux
Principal
• Réplication de transactions• Granularité: table
• Perte de données liée au mode asynchrone
• Peer immédiatement dispo pour bascule ou reporting
• Solution complexe, en extension d’un besoin de distribution d’information
• Pas de contrainte hardware• Protection contre les
corruptions• Solution distribuée sans
gestion de conflit
Distributionagent
Logreaderagent
DistDB
Londre Barcelone
ParisDistributionagent
Logreaderagent
DistDB
Distributionagent
Logreaderagent
DistDB
Peer-to-PeerTransactional Replication
Réplication Peer-to-Peer
Database Mirroring• La solution ultime sans single
point of failure logique !• Alimentation au fil de l’eau
d’une base mirroir bia le log• Granularité: base de données
• Pas de perte de données en mode synchrone
• Bascule automatique et immédiate avec témoin
• Pas de contrainte hardware• Impact sur la performance lié à la
distance/performance du LAN• Accès via snapshot au mirroir
DonnéesLog
Témoin
DonnéesLog
commit
SQL Server SQL Server
ServeurPrincipal
ServeurMirroir
Application
Failover Cluster 2008
• Intégration dans un cluster• Granularité: instance SQL
• Zéro perte de données avec un stockage redondant RAID
• Temps de reprise non garanti
• Pas d’impact sur la performance• Pas de duplication des données• Bascule automatique du serveur,
serveur virtuel pour les postes clients
• Avec Windows Server 2008, nouvelle outil de validation
App A
App B
App BApp A Cluster
AdresseServeurVirtuel
Géo-Cluster• La solution ultime sans single
point of failure physique !• Granularité: instance SQL• Stretch cluster
– Réplication synchrone– Zéro perte de données– Temps de reprise non garanti– Bascule automatique du serveur,
serveur virtuel pour les postes clients
• Géo-cluster– RPO paramétrable (MB, min)– Généralement asynchrone– Problématique spécifique de
reprise d’activité (client, LAN)• Moins de contraintes avec
Windows Server 2008
App A
App BApp A
Cluster
WAN
App B
App A
App A
Solutions SQL Server Solution RPO RTO Bascule
automatiqueImpact sur lesperformances
Complexité
SQL Server Database Mirroring mode Synchrone
100% 100% Oui avec témoin
FaibleNet Roundtrip
< 10msec
Moyenne
Cluster local MSCS/WSFC 100% H+1min Oui Reconnexion client
Non Moyenne
SQL Server Log Shipping H-15min H+30min Non Faiblelié à l’activité IO
Simple
SQL Server P2P Replication 99% H+10min Non Oui HauteNiveau table
SQL Server Database Mirroring mode Asynchrone
99% H+1min Non Faiblelié à l’activité IO
Moyenne
Géo-cluster Jusqu’à 100%
H+5min Oui Reconnexion client
Non Haute
Hau
te D
ispo
nibi
lité
Seco
urs
à di
stan
ce
Environnement [email protected]% - Indisponibilité annuelle cible de 2h
R/3 – Production environment
2.5 TbSAN
Primary DB Server
SQL Server 2005
2.5 TbSAN
Secondary DB Server
SQL Server 2005
Production Data Center
R/3 – Test environment(Failover Production environment)
2.5 TbSAN
Test DB Server
SQL Server 2005
2.5 TbSAN
ThirdDB Server
SQL Server 2005
Log Shipping
Failover Data Center
Log ShippingCentral Instance:
MS, ENQ,BTC,DIA,UPD,SPOIncl. ATP check
1 Batch and 1 DialogInstance
x64 Server
One instance per server: 3 Dialog,
2 Batch, 1 CIF instance
One instance per server: 3 Dialog,
2 Batch, 1 CIF instance
1 Batch and 1 DialogInstance
x64 Server
Central Instance: MS, ENQ,BTC,DIA,UPD,SPO
Incl. ATP check
Database Mirroring
Washington State
California State
Sony Ericsson: environnement SAP• Migration d’Unix/Oracle vers SQL Server• Réduction des coûts• Simplicité et efficacité des mécanismes de haute
disponibilité• RPO 100%, PRA
– Robustesse avec plateforme HP Integrity– Cluster local– Database Mirroring à distance
Virtualisez SQL Server sous Hyper-V
Bertrand Audras, Microsoft Technology Center [email protected]
Ressources utilisées par SQL Server• Forte activité disques en lecture et écriture
– Workload (OLTP, DW, BI, repository, web…)– Volumétrie des données– La ressource la plus importante pour la performance de SQL Server
• Mémoire (à partir de 2GB, généralement OS en 64bit)• Utilisation CPU variable
– Activité utilisateur OLTP, reporting– Batchs quotidien– Import par batch– Utilisation de procédures stockées et de fonctions– Compression des données (SQL2008+)
• Traffic réseau– Chargements– Reporting et extractions– Nombre d’utilisateurs concurrents
SQL – cas d’usage de la virtualisation• Consolidation d’instances faiblement utilisées
– Repository, warm-up db, test & développement– Faible nombre d’utilisateurs– Faible fréquence d’utilisation
• Infrastructure BI– Datamart, OLAP, Reporting Services, Data Staging Area
• Solution de haute disponibilité et de flexibilité– Utilisation du Live Migration pour la maintenance– Dynamic provisionning, architecture web– Consolidation de base stand by (Database Mirroring)
• Infrastructure Sharepoint rationnalisée– Moins de 100 utilisateurs et moins de 100GB de données
Ne pas virtualiser SQL si on doit…• Utiliser plus de 4 cores et 8GB de RAM
– Limites de hyper-V à 4 vCPU– Au delà de 8GB, le ROI diminue (lié au cout de la RAM)
• Servir plus de 50 utilisateurs simultanés– Contention sur les accès disque et la bande passante réseau
• Obtenir les meilleurs performances– Overhead de 15% sur les temps de réponse
• Garantir la stabilité des performances– Partage des ressources CPU, réseau et accès disques
• Et surtout si on ne connait pas bien l’activité de l’instance SQL– Mettre en place un monitoring, SCOM ou Multi-Server Mgt
Best practices• Stockage
– Disques VHD de taille fixe– Mapping VHD-LUN, attention au LOG et à TEMPDB– Disques en mode pass-through– A tester avec SQLIO!
• Limiter la surallocation CPU– En mode nominal, bien répartir les VM sur les serveurs
• Utiliser les private Virtual Network– Entre un serveur IIS et SQL, SSIS et un DW, amélioration des
performances en mode virtuel
• Adapter la stratégie de sauvegarde et de haute disponibilité– Utilisation de VSS– Remplacement d’un cluster par du Live Migration– Utiliser le Database Mirroring asynchrone
Démo
Live Migration d’une VM SQL Server
Windows 2008 R2 Hyper-V Live Migration
• Step 1: Snapshot VM memory Copy partition memory from source VM to
Destination
Root Partition
Hypervisor
Hardware
Physical Server Source Child Partition
Partition Memory
Network Connections
Hypervisor
Hardware
Changed Pages
Storage Connections
Root Partition
Physical ServerDestination Child Partition
Partition Memory
Shared StorageLUN 2LUN 1
Network Connections
Windows 2008 R2 Hyper-V Live Migration
• Step 2: Copy changed pages from source VM to destination
Root Partition
Hypervisor
Hardware
Physical Server Source Child Partition
Partition Memory
Network Connections
Hypervisor
Hardware
Changed Pages
Storage Connections
Root Partition
Physical ServerDestination Child Partition
Partition Memory
Shared StorageLUN 2LUN 1
Network Connections
Changed Pages
Windows 2008 R2 Hyper-V Live Migration
• Step 3: Storage connections are migrated from the source VM to the destination VM
Root Partition
Hypervisor
Hardware
Physical Server Source Child Partition
Partition Memory
Network Connections
Hypervisor
Hardware
Changed Pages
Storage Connections
Root Partition
Physical ServerDestination Child Partition
Partition Memory
Shared StorageLUN 1
Network Connections
Changed Pages
Storage Connections
LUN 2
Windows 2008 R2 Hyper-V Live Migration
• Step 4: Network connections are migrated from source VM to destination VM
Root Partition
Hypervisor
Hardware
Physical Server Source Child Partition
Partition Memory
Network Connections
Hypervisor
Hardware
Changed Pages
Storage Connections
Root Partition
Physical ServerDestination Child Partition
Partition Memory
Shared StorageLUN 1
Changed Pages
Storage Connections
Network Connections
Network ConnectionsLUN 2
Windows 2008 R2 Hyper-V Live Migration
• Step 5: Destination VM is brought online Source VM is taken off line
Source Child Partition
Root Partition
Hypervisor
Hardware
Physical Server Destination Child Partition
Hypervisor
Hardware
Root Partition
Physical Server
Partition Memory
Shared StorageLUN 1
Changed Pages
Storage Connections
Network Connections
Network ConnectionsLUN 2
Références clients• Indiana University
– Réduction de 150 à 32 serveurs– Réduction du temps de déploiement (facteur 10)– Amélioration des performances et de la qualité de service
• Microsoft IT– 100.000 bases de données, 5.000 instances SQL Server– Moyenne CPU < 10%– Ratio final de 6:1
• Index Multimédia– Virtualisation des développements et de la pré-production– Jusqu’à 4 instances SQL Server par VM (4 vCPU-8GB-64bit)
• LASCOM (ISV)– Mode hébergement, garantie d’étanchéité entre les clients
Pour aller plus loin – SQL Server• Executer SQL 2008 en environnement Hyper-V
– http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL2008inHyperV2008.docx
• Consolidation SQL Server: un case study Microsoft IT– http://download.microsoft.com/download/4/8/0/48030820-12A4-4FE9-
B001-C2CF56BC42A5/AJ18_EN.zip
– http://msdn.microsoft.com/en-us/architecture/dd393309.aspx
• Politique de support de SQL Server en environnement virtualisé– http://support.microsoft.com/?id=956893 – http://blogs.msdn.com/psssql/archive/2008/10/08/sql-server-support-i
n-a-hardware-virtualization-environment.aspx
• Blog de Bertrand Audras: SQL Server, Hyper-V, Green IT– http://blogs.technet.com/baudras/
Votre potentiel. Notre passion. TM