virtualizar o no virtualizar, esa es la cuestión | solidq summit 2012

42
Virtualizar o no virtualizar, esa es la cuestión RUBÉN GARRIGÓS REL300002 Mentor – Relacional MCP – MCAD – MCSD – MCTS – MCT – MCITP [email protected]

Upload: solidq

Post on 26-May-2015

528 views

Category:

Technology


2 download

DESCRIPTION

http://summit.solidq.com/madrid Cuando el rendimiento de nuestro servidor de base de datos está en juego, ¿compensarán los beneficios de la virtualización respecto a los inconvenientes? En esta sesión discutiremos aquellos pros y contras que conlleva virtualizar nuestros servidores SQL Server. Nos centraremos especialmente en aquellos puntos más críticos que puedan inclinar la balanza a favor o en contra de la virtualización.

TRANSCRIPT

Page 1: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Virtualizar o no virtualizar, esa es la cuestión

RUBÉN GARRIGÓS

REL300002

Mentor – Relacional MCP – MCAD – MCSD – MCTS – MCT – MCITP

[email protected]

Page 2: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Objetivos de la sesión

Objetivos virtualización

Pros de la virtualización en SQL Server

Contras de la virtualización en SQL Server

Conclusiones

Page 3: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Optimización de infraestructura

Page 4: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Consumo eléctrico

Page 5: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Aumento del retorno de la inversión

Disminuir los costes de operación Electricidad

Refrigeración

Espacio

Mantenimiento

Licencias

Personal de IT

Paso previo para migrar a nube de virtualización Más reducción de personal de IT

Más demanda de especialistas en cloud, virtualización y negocio

Objetivos virtualización

Objetivos de negocio

Page 6: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Facilitar las operaciones de mantenimiento

Simplificación de la infraestructura I/O Red

Almacenamiento

Aumentar la disponibilidad No todas las aplicaciones/servicios disponen de alternativas como

Failover clustering, Database Mirroring, etc.

Rapidez de aprovisionamiento de servidores

Objetivos virtualización

Objetivos técnicos

Page 7: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Simplifica la consolidación de N instancias pequeñas en hardware más potente

Más flexible que otras alternativas de consolidación Distintas instancias y nombres

Distintos operativos

Distintas versiones de SQL Server

Distintas configuraciones a nivel de servidor

Mejor aprovechamiento del hardware Disponer de más capacidad para picos de IO

Es el enfoque utilizado para la DBCA (Database Consolidation Appliance) dentro de la propuesta de SQL Server Private Cloud

Pros de la virtualización en SQL Server

Page 8: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

DBC Appliance

Propuesta económica

Diseña la solución

Compra el hardware

Compra el software

Instala el hardware

Instala el software

Testea, valida, stress..

Ajustes de rendimiento

Comienza a consolidar

Compra el appliance

Conecta al CPD

Comienza a consolidar

Mu

ch

os

mese

s

Po

cas

sem

an

as Hazlo tu mismo DBC Appliance

Page 9: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Facilita la creación de entornos de testing En ocasiones no podemos justificar económicamente el tener N

entornos físicos (desarrollo, integración…)

Posibilidad de disponer de plantillas de operativo + SQL Server para el rápido aprovisionamiento

Sysprep + Prepare Image de SQL Server

Solo para engine, replicación, Full-text y Reporting

Instancias no clusterizadas

Como mínimo siempre podremos utilizar una plantilla de operativo + SP + instalación de SQL Server desatendida como acelerador

Pros de la virtualización en SQL Server

Page 10: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Permite añadir recursos extra a la máquina con un downtime mínimo

Podemos dimensionar a la baja y ampliar fácilmente en caso necesario

El clúster de virtualización tiene que tener margen

Permite mover sistemas antiguos no soportados a hardware nuevo

Windows NT + SQL Server 7

Windows 2000 + SQL Server 2000

Pros de la virtualización en SQL Server

Page 11: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Complica detectar los cuellos de botella Sistemas menos predecibles

Menos aptos para tiempo real

El hypervisor nos limita los recursos disponibles respecto a la máquina física vCPUs < CPUs

Capacidades de I/O y CPU mermadas respecto al hardware nativo

Throughput más reducido

Latencias incrementadas

Contras de la virtualización de SQL Server

Rendimiento

Page 12: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Algunos proveedores no certifican sus aplicaciones sobre entornos virtuales

Aunque los clúster de virtualización suelen disponer de “pseudo HA” no sustituyen a soluciones nativas

Clustering sobre nodos virtuales

Requiere almacenamiento compartido virtual

Database Mirroring sobre nodos virtuales

Puede ser también parte de un plan ante desastres geográficos

Grupos de disponibilidad en SQL Server 2012

No requiere almacenamiento compartido

Clustering por debajo

Parte de plan de desastres

Mejora la escalabilidad

Contras de la virtualización de SQL Server

Page 13: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Algunas funcionalidades de los hipervisores pueden traernos problemas

Lock pages in memory + balloon driver

Páginas grandes de memoria

Limitadores de IO/CPU

Live migration con nivel de carga medio-alto

Normalmente son problemas técnicamente salvables Implica convencer a los administradores de la plataforma para que

“cambien el chip” para las virtuales con SQL Server

Es habitual encontrarnos con “luchas políticas” al existir conflictos de intereses

Contras de la virtualización de SQL Server

Page 14: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Podemos tener problemas con características que sí tendríamos disponibles nativamente

Drivers multipath FC

Aceleración hardware para iSCSI

Teaming de tarjetas de red

Offloading de TCP/IP

Es difícil predecir el rendimiento que tendrá nuestra solución una vez virtualizada

Ojo a las frecuencias de trabajo de las CPUs

Cuidado con quienes vamos a compartirlas

Contras de la virtualización de SQL Server

Page 15: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Podemos acabar creando “demasiadas” VMs 1:1:1 1 SO + 1 SQL Server + 1 base de datos

Memoria de 1 SO + 1 SQL Server infrautilizada

Aumento del uso de CPU y de I/O

Complicadas de mantener

Actualizaciones SO y SQL Server

Planes de mantenimiento

Gestión de backups compleja

BBDD de sistema

Operativos

La recomendación del SQLCAT No hacer overcommit de CPU Sum(vCPU) <= Cores

Uso intensivo de la red penalizado con más consumo de CPU

Contras de la virtualización de SQL Server

Page 16: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Utilizar solo procesadores con ayudas a la virtualización

Dimensionar considerando los picos de IO

Utilizar drivers sintéticos únicamente

Discos pass-through o VHDs fijos

Monitorizar el host y los guests por separado

Overcommit de CPUs físicas Perjudica la escalabilidad

Recomendaciones del SQLCAT

Page 17: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Recomendaciones SQLCAT

Escalabilidad sin overcommit

Page 18: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Recomendaciones SQLCAT

Escalabilidad con overcommit 2:1

Page 19: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

W2K8 R2 SP1 + SQL Server 2012 + IOmeter

Hyper-V 2.0 W2K8 R2 SP1 + SQL Server 2012 + IOmeter

Virtual 4 cores y 4 GB de RAM (3 GB para SQL)

Fichero VHD de tamaño fijo

Físico 8 cores (4 para SQL) y 16 GB de RAM (3 GB para SQL)

Carga Select, Insert, Update y Delete

Operaciones fila a fila y de conjuntos

Lecturas random 8KB y escrituras secuenciales de 2KB

Demo

Entorno

Page 20: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

DEMO Rendimiento virtual vs físico

Page 21: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Duración media (ms)

0

1000

2000

3000

4000

5000

6000

Físico Virtual

Page 22: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Físico Virtual Físico Virtual Físico Virtual Físico Virtual

Delete Insert Update Select

Duración media y operación (ms)

Page 23: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Duración media y orientación (ms)

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Físico Virtual Físico Virtual

Conjunto Fila

Page 24: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

0

2000

4000

6000

8000

10000

12000

Físico Virtual Físico Virtual

1 2

Duración media y concurrencia (ms)

Page 25: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Duración media y operación (ms)

0

2000

4000

6000

8000

10000

12000

14000

16000

Físico Virtual Físico Virtual Físico Virtual Físico Virtual

Delete Insert Update Select

Page 26: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Duración media y orientación (ms)

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

Físico Virtual Físico Virtual

Conjunto Fila

Page 27: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Duración media, orientación y concurrencia (ms)

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

1 2 1 2 1 2 1 2

Físico Virtual Físico Virtual

Conjunto Fila

Page 28: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

0

500

1000

1500

2000

2500

3000

Fisico Virtual

Total wait time (ms)

Page 29: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Total signal wait time (ms)

0

20

40

60

80

100

120

140

160

Fisico Virtual

Page 30: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Total wait time y concurrencia

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

Fisico Virtual Fisico Virtual

1 2

Page 31: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Total signal wait time por tipo (ms)

0

50

100

150

200

250

Fisico Virtual

CXPACKET

LATCH_EX

LATCH_SH

SOS_SCHEDULER_YIELD

WRITELOG

Page 32: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Total wait time por tipo excluyendo WRITELOG

0

100

200

300

400

500

600

700

800

900

1000

Fisico Virtual

CXPACKET

LOGBUFFER

PAGEIOLATCH_EX

PAGEIOLATCH_SH

Page 33: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

DEMO IOmeter

Page 34: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Iometer – IOPS, MBps, latencia

Page 35: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

IOPS

0

10000

20000

30000

40000

50000

60000

Fisico Virtual Fisico Virtual

random 8KB reads sequential 2KB writes

Page 36: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Latencia (ms)

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1,6

1,8

2

Fisico Virtual Fisico Virtual

random 8KB reads sequential 2KB writes

Page 37: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

El comportamiento de una carga sobre SQL Server físico no es extrapolable linealmente a una máquina virtual

Distinta distribución de esperas

Distinto impacto según el tipo de operación

Distinto impacto en función de la concurrencia

No hay publicados tests TPC-C, TPC-E,… sobre máquinas virtuales que nos puedan ayudar a decidir la plataforma virtual que necesitamos

Si no están publicados… probablemente es debido a que no arrojan buenas cifras

Las latencias empeoran más cuanto menores proporcionalmente

El overhead de muchas operaciones es constante

Conclusiones

Page 38: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Mover una instancia a una máquina virtual debe considerarse prácticamente como si se tratara de una migración hardware

Dimensionamiento CPU/Memoria/IO

Tests de rendimiento

Throughput

Latencia

Tests de estabilidad

Tests de escalabilidad

Limites de vCPU

Peor linealidad

Línea base de rendimiento

No descuidar la monitorización dentro y fuera de la VM

Conclusiones

Page 39: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Como estimación conservadora podemos estimar: Throughput total: - 20%

Latencia operaciones de escritura: + 25 %

Latencia operaciones de lectura: + 15%

Si migramos un servidor físico que tuviera poca carga al pasarlo a virtual lo vamos a notar menos “snappy”, más perezoso.

Mayor impacto cuanto más I/O de red/disco se realice

Las plataformas de virtualización y el soporte de virtualización del hardware seguirá mejorando

Fácil acabar con falsos mitos en pocos años vista

Conclusiones

Page 40: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Host 160 procesadores

2 TB RAM

63 nodos en clúster

4000 VMs por clúster / 1024 por host

Guest 32 procesadores

1 TB RAM

64 TB disco

NUMA virtual

En la próxima sesión…

Hyper-V 3.0

Page 41: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Conclusiones

La virtualización de SQL Server es una alternativa a las máquinas físicas y tiene su lugar. Evitar pedir peras al olmo

Es esperable merma de rendimiento

Debemos aprender a tomar las decisiones adecuadas respecto a la virtualización de SQL Server en función de nuestros escenarios Decisiones informadas, con datos que las sustenten

Page 42: Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012

Si quieres disfrutar de las mejores sesiones de

nuestros mentores de España y Latino América,

ésta es tu oportunidad.

http://summit.solidq.com/madrid/

Síguenos: