Hablaremos sobre los conceptos básicos, su instalación y configuración, pero sobre todo nos centraremos en daros ideas sobre buenas prácticas y escenarios interesantes con SQL Server 2012 y multi-site Clustering de "bajo coste"
Guías y recomendaciones para instalar y configurar clusters de sql server
1. Guias y Recomendaciones
para instalar y configurar
Clusters de SQL Server
Enrique Catalá (España) - @enriquecatala
MVP | MAP | MCT | MCITP | MCTS
2. Presentando a: Enrique Catalá
Mentor en SolidQ, Microsoft SQL Server MVP, colaborador destacado en la
comunidad SQL Server en MSDN. Ingeniero en informática, Microsoft Certified
Trainer (MCT) , MAP (Microsoft Active Professional).
Centrado en el motor relacional SQL Server, tanto en la resolución de
problemas de rendimiento y escalabilidad en sistemas OLTP como la definición
e implementación de entornos de alta disponibilidad confiables
Es el arquitecto principal de las soluciones para SolidQ llamadas HealthCheck,
SQL2Cloud, SCODA y del generador de SSIS de SolidQ.
2
2
3. Objetivos de la sesión
•
•
•
•
¿Qué es Failover Clustering?
Novedades en SQL Server 2012
Entender qué es y cómo funciona un Failover
Buenas prácticas
3
3
4. SQL Server FCI
Historia
Introducido en SQL Server 6.5 y NT 4.0
Bastantes novedades entre versión y versión
Antes de SQL Server 2005, requerido Enterprise Edition
Desde SQL Server 2005, versión estándar con soporte 2 nodos
SQL 2012 BI Edition también soporta 2 nodos
4
5. SQL Server FCI
Definición FCI
Una única instancia SQL Server
Hospedada en Windows Server Failover Clustering Service (WSFC)
Como servidor “virtual”
Con nombre e IP “virtual”
Utilizando discos “compartidos”
Recursos nativamente soportados
Database engine
Agente
Analisis Services
5
6. SQL Server FCI
Definición FCI
Solo activo en un único nodo
Activo/Pasivo SIEMPRE!
Se ve como una única unidad
Nombre, IP, discos y servicios
6
7. SQL Server 2012 FCI
Nuevas características
Clusters multi-subnet
Múltiples redes
Cada una puede estar en una subnet
Os suenan los clusters multi-site?
Mejorado algoritmo detección Failover
Mas flexibilidad
Nueva funcionalidad checkpoint
Tiempos de startup mas fiables
Tempdb locales
Se puede usar tu SSD comprado en mercadona para tempdb!!
7
8. SQL Server FCI
MS DTC
No requerido por defecto
Requerido MS DTC solo si:
Se instalará SQL Server Integration Services
Se van a usar transacciones distribuidas
Sigue siendo buena idea instalarlo
Se puede instalar y configurar ONLINE a posteriori
8
9. SQL Server 2012 FCI
Instalación
Dos formas de hacerlo:
1. Instalar un primer nodo usando wizard
Añadir después el resto de nodos con wizard también
2. Lanzar el “Prepare Failover Cluster setup” en cada nodo del Cluster
Finalizar el setup en cualquiera de los nodos
9
10. SQL Server 2012 FCI
Pantallas involucradas en instalación clustering
10
11. SQL Server 2012 FCI
Añadir/Quitar nodos
•
Para añadir nodo
•
•
Usar Setup
Para quitar nodo
1.
2.
Usar setup para quitarlo
Si es el último nodo hay que ir a agregar y quitar programas y eliminar las características
SQL Server existentes (SSMS)
La configuración Cluster se elimina con el último automáticamente
11
13. SQL Server FCI
Instalación
Ante errores raros, desconfía de tu .ISO
Valida MD5 y maximiza tu tiempo libre
Pon siempre contraseña y luego usuario al hacer
copia-pega
13
16. SQL Server FCI
La pantalla de la muerte
Create un SlipStream!
Corregido en SQL 2008 R2 SP2
SQL Server 2012 SP1 buggy
Listar los discos
lleva cerca de 1h
si hay una gran
cantidad
16
17. Mantenimiento SQL Server FCI
Detección de Failover
Detección de Failover hasta SQL 2008 R2
Resource DLL lanza “SELECT @@servername” cada 60 segundos
Failover iniciado si no se devuelven resultados
Peligro de Failover ante servidores sobrecargados (procesa, compila,…)
No se valida ninguna condición
Consulta demasiado simple
17
19. Mantenimiento SQL Server FCI
Detección de Failover en SQL Server 2012
Frecuencia de chequeo configurable
Propiedad HealthCheckTimeout
En milisegundos
Por defecto 60000
ALTER SERVER CONFIGURATION SET FAILOVER
CLUSTER PROPERTY HealthCheckTimeout = ###;
19
20. Mantenimiento SQL Server FCI
Detección de Failover en SQL Server 2012
La primera caja negra de SQL Server
Resource DLL ahora llama sp_server_diagnostics
3 ejecuciones por cada HealthCheckTimeout
Fallos de conexión o devolución datos causarán Failover
Conexión dedicada para evaluación de alta prioridad
sp_server_diagnostics configurable
Siguiente slide
20
21. Mantenimiento SQL Server FCI
Detección de Failover en SQL Server 2012
ALTER SERVER CONFIGURATION SET FAILOVER
CLUSTER PROPERTY FailureConditionLevel = #;
Level
Condition
Failover or Restart Conditions
0
No automatic failover or restart
No automatic failover or restart
ever
1
Failover or restart on server down
SQL Server service is down
2
Failover or restart on server unresponsive
SQL Server instance is not
responsive
3
Failover or restart on critical server errors
(default)
sp_server_diagnostics returns
Failover or restart on moderate server errors
sp_server_diagnostics returns
4
“system error”
“resource error”
5
Failover or restart on any qualified failure
condition
sp_server_diagnostics returns
“query_processing error”
21
22. SQL Server FCI
Indirect Checkpoints
Nuevo en SQL Server 2012
Activable por base de datos
Provee tiempos de Failover mas fiables
ALTER DATABASE …
SET TARGET_RECOVERY_TIME =
target_recovery_time { SECONDS | MINUTES }
22
23. Multi-Site Failover Clustering
Vistazo rápido
El Failover típicamente ocurre en disposición geográfica diferente
Poco que añadir a lo ya conocido
Muy transparente, como de costumbre
No hay discos compartidos
Se maneja con dependencias OR de IP
Necesario Hotfix de librerías de conexión .NET
Cuidado con las DNS
Cuidado con tu configuración de Quorum en el otro site
23
24. Multi-Site Failover Clustering
Versiones anteriores a SQL Server 2012
VLAN Connection
NetName: SQLClust
IP: 10.10.10.2
Node B
Node A
Data Center 1
Data Center 2
SAN Replication
24
25. Multi-Site Failover Clustering
Versiones anteriores a SQL Server 2012
Almacenamiento
Replicación de almacenamiento entre dos sites
Carísimo
Realizado vía SAN o NAS, nosotros poco podemos hacer
Red
Necesario montar VLAN entre los sites para estar en la misma red
25
26. Multi-Site Failover Clustering
A partir de SQL Server 2012
Configuración automáticamente detectada
Alguna de las redes debe estar activa
Soportado a partir de Windows Server 2008 R2
Aparece por primera vez dependencias OR en recursos IP
26
27. Multi-Site Failover Clustering
A partir de SQL Server 2012
SQL Server 2012
NetName: SQLClust
IP: 10.10.10.2
Node A
Data Center 1
OR
IP: 192.169.1.5
Node B
Data Center 2
27
30. SQL Server FCI
Buenas prácticas
Se pueden añadir varios nodos a la vez a un mismo Cluster
Pero no añadir el mismo nodo a varios clúster a la vez
No se pueden instalar varios Clusters simultáneos
Recomendable instalar primeros nodos y luego añadir todo a la vez
30
31. SQL Server FCI
Buenas prácticas
Quorum
Node y File Share Majority
Numero par de nodos
Node Majority
Numero impar de nodos
Disco
Solo recomendado para casos puntuales de maximizar nº de nodos caídos
31
32. SQL Server FCI
Buenas prácticas
Tempdb en discos locales
Misma ruta en todos los nodos
NUNCA utilizar admin dominio para cluster service account
NUNCA reutilizar el cluster service account con otros servicios
Piensa siempre en el peor escenario
32
33. Conclusiones
Objetivos de la sesión
•
•
•
•
Ya sabemos qué es Failover Clustering
Novedades en SQL Server 2012
Entender qué es y cómo funciona un Failover
Buenas prácticas
33