Virtualización de Microsoft SQL Server en dispositivos convergentes

Anuncio
Virtualización de Microsoft SQL
Server en dispositivos convergentes
de escala web Dell serie XC con
tecnología de software Nutanix
Nota técnica sobre Dell serie XC
El aumento en la virtualización de aplicaciones críticas como Microsoft SQL Server dio origen al
concepto de hiperconvergencia en el centro de datos. En esta nota técnica se repasan las ventajas del
rendimiento y de las mejores prácticas de la infraestructura convergente para Microsoft SQL Server.
SQL Server en una infraestructura convergente
Si hay una tendencia tecnológica que está revolucionando los centros de datos empresariales tanto
como el flash, es la hiperconvergencia. Esto significa que el almacenamiento y los procesos (CPU
y RAM) se proporcionan en un mismo bloque modular que se conecta mediante redes de Ethernet
estándar. En esta nota técnica se repasan aspectos clave sobre el rendimiento de Microsoft SQL Server
y los beneficios que aporta el uso de Dell XC convergente con tecnología de Nutanix para las cargas
de trabajo clave de SQL Server.
El dispositivo Dell XC es una solución de infraestructura diseñada especialmente para entornos de
virtualización y servicios en la nube. Este agrupa los diversos beneficios y aspectos económicos
de las arquitecturas de escala web de empresas como Google, Facebook y Amazon por medio del
sistema de archivos distribuido de Nutanix (NDFS). La solución Dell XC incluye almacenamiento de alta
densidad y procesos del servidor (CPU y memoria) en un mismo bloque de plataforma. Cada bloque
está basado en tecnología estándar de procesador/servidor de alto rendimiento Intel y proporciona
una arquitectura unificada, de escalamiento horizontal y de nodos independientes sin punto de falla
único (SPOF). Lo que diferencia a Dell XC de otras soluciones de almacenamiento es su simplicidad
inflexible. Esta simplicidad no solo se demuestra en la facilidad de la implementación (30 minutos) y de
las operaciones, tales como el aumento dinámico del tamaño del sistema, sino también en la facilidad
del diseño y de la creación de soluciones exitosas; incluso para aplicaciones clave para el negocio
como Microsoft SQL Server.
La administración de almacenamiento en su totalidad está centrada en la VM y utiliza discos virtuales.
La E/S de almacenamiento de un disco virtual se ve tal cual es y está optimizada por el NDFS. Existe
un bloque de almacenamiento compartido en toda la solución Dell XC distribuida que incluye SSD
basados en flash. Estos proporcionan un alto rendimiento y HDD de baja latencia y alta capacidad que
aseguran una capacidad asequible. Los diferentes tipos de dispositivos de almacenamiento del bloque
de almacenamiento se nivelan en forma automática mediante algoritmos, para garantizar que los
datos que se usan con mayor frecuencia estén disponibles en la memoria o en el flash.
En la figura 1 se muestra una vista general de XC que incluye cada uno de los hosts del Hypervisor
(VMware ESXi o Microsoft Hyper-V), VM de Microsoft SQL Server (VM de usuario), VM de controladora
de almacenamiento (VM de controladora Nutanix) y sus discos locales. Cada una de las VM de
controladora está conectada en forma directa a la controladora de almacenamiento local y a sus
discos asociados. Gracias al uso de controladoras de almacenamiento local en cada host de ESXi,
el acceso a los datos por medio de NDFS es localizado. No siempre es necesario que los datos
sean transferidos por la red, lo que mejora la latencia. El sistema NDFS garantiza la replicación
de las operaciones de escritura, lo que distribuye los datos dentro de la plataforma para lograr
mayor resiliencia. La controladora de almacenamiento local en cada host garantiza el aumento del
rendimiento de almacenamiento y de la capacidad de almacenamiento, cuando se agregan nodos
adicionales a Dell XC.
Usuario de VM
Hipervisor
Controladora SCSI
E/S de VN
VM de
controladora
Usuario de VM
Hipervisor
Controladora SCSI
E/S de VN
VM de
controladora
Usuario de VM
Hipervisor
Controladora SCSI
E/S de VN
VM de
controladora
NDFS
ESCALA
Figura 1: Dell XC escala fácilmente sin las restricciones del almacenamiento tradicional
2
Virtualización de Microsoft SQL en dispositivos convergentes de escala web Dell serie XC con tecnología de software Nutanix
Mientras que el almacenamiento es local en cada nodo de la arquitectura de escalamiento horizontal
distribuido, aparece ante Hypervisor como almacenamiento compartido y, por lo tanto, se integra
perfectamente en la capa de virtualización. En el caso de VMware vSphere, incluye VMware DRS,
VMware High Availability y VMware Fault Tolerance. La combinación de almacenamiento local en SSD
y HDD junto con la nivelación automatizada inteligente equilibran costo y rendimiento, mientras que
las técnicas de resiliencia de NDFS eliminan las penalizaciones de rendimiento asociadas a RAID. La
localización de datos permite que se ofrezca rendimiento y QoS en cada host, de modo que las VM
ruidosas no produzcan un gran impacto en el rendimiento de sus vecinos. Esto permite la presencia
de grandes clústeres mixtos de carga de trabajo de vSphere que son más eficaces en cuanto a la
capacidad y el rendimiento y son más resilientes a fallas.
En el momento en que se publicó este informe, el rendimiento típico de un modelo de rango medio
con cuatro nodos que ocupan 8 RU de espacio es de un máximo de 100 K 4 K de E/S de lectura
aleatoria, 50 K 4 K de E/S de escritura aleatoria y un rendimiento de 1,4 GB/s de escritura secuencial y
3 GB/s de lectura secuencial.
La naturaleza simplificada de la arquitectura de Dell XC y el sistema NDFS simplifican el diseño de
almacenamiento. En la figura 3 se muestra un diseño de ejemplo que es estándar en el entorno
de Dell XC. Consta de un solo almacén de datos NFS (o, en el caso de Hyper-V, un solo recurso
compartido SMB 3.0) y un solo bloque de almacenamiento. No hay necesidad de ocuparse de
múltiples LUN ni de las profundidades de cola asociadas. Los pasos que se muestran a continuación
se aplican a VMware vSphere, pero también se pueden aplicar a Microsoft Hyper-V.
VM de SQL
[DATA/LOG]N
DBLog
DBData
VMDK de n GB
VMDK de n GB
VMDK de n GB
VMDK de n GB
Controladora PV-SCSI
VMDK de n GB
VMDK de n GB
VMDK de 80 GB
Controladora PV-SCSI
Registro de TempDB
Datos de TempDB
Pagefile
SO + SQL
Discos de BD de SQL
Almacén de datos NFS
RF2 CTR VM
CTR N
SPI (PCIe SSD, SATA SSD,SATA HDD)
Nutanix DFS (NDFS)
Figura 2: Diseño de disco de VM de SQL Server en Dell XC
3 Virtualización de Microsoft SQL en dispositivos convergentes de escala web Dell serie XC con tecnología de software Nutanix
El diseño de almacenamiento simplificado y la localización de datos en cada nodo donde se está
ejecutando la VM proporciona una serie de beneficios de rendimiento para cada tipo de base de datos
de SQL.
Características y beneficios de Dell XC
Base de datos
transaccional
OLTP de SQL
Base de datos analítica
OLAP de SQL
• E/S localizada para operaciones de baja latencia.
• Flash para índice y archivos de base de datos clave.
• Fácil manejo de cargas de trabajo aleatorias y secuenciales.
• Consultas e informes de alto rendimiento con E/S localizada.
• Proceso de lectura y escritura secuencial abundante.
• Fácil escalamiento para tener en cuenta el crecimiento.
Tabla 1: Beneficios de rendimiento para bases de datos OLTP y OLAP de SQL
Para demostrar el rendimiento de Dell XC en aplicaciones como Microsoft SQL Server, se realizaron
una serie de simulaciones de SQLIO como parte de las Notas técnicas de las mejores prácticas de
SQL en Nutanix. En las siguientes figuras, de la 3 a la 7, se muestran los resultados de las pruebas de
simulación:
E/S por seg
SQLIO: E/S por seg aleatoria de
VM única por tamaño de bloque
40,000
35,000
30,000
25,000
20,000
15,000
10,000
5,000
0
Lectura
Escritura
512 KB
64 KB
8 KB
Figura 3: E/S por seg aleatoria de VM única de SQL Server por tamaño de bloque con SQLIO
SQLIO: Rendimiento secuencial de
VM única por tamaño de bloque
1,400
Rendimiento (MBps)
1,200
1,000
800
Lectura
600
Escritura
400
200
0
8 KB
64 KB
512 KB
Figura 4: Rendimiento de VM única de SQL Server por tamaño de bloque con SQLIO
4 Virtualización de Microsoft SQL en dispositivos convergentes de escala web Dell serie XC con tecnología de software Nutanix
E/S por seg aleatoria de SQL en
escala por cantidad de nodos
600,000
E/S por seg
500,000
400,000
300,000
SK Read IOPS
200,000
SK Write IOPS
100,000
0
1
4
8
16
Cantidad de nodos
Figura 5: Escalabilidad de E/S por seg de VM múltiple de SQL Server con SQLIO
E/S por seg aleatoria de SQL en
escala por cantidad de nodos
Rendimiento (MBps)
25,000
20,000
15,000
MB por seg de lectura
para 512K
MB por seg de
escritura para 512K
10,000
5,000
0
1
4
8
16
Cantidad de nodos
Figura 6: Escalabilidad de rendimiento de E/S por seg de VM múltiple de SQL Server con SQLIO
Dell XC puede coexistir con las inversiones de almacenamiento existentes y las cargas de trabajo de
descarga de las plataformas de almacenamiento existentes, lo que libera tanto la capacidad como el
rendimiento hasta que el entorno existente esté listo para una actualización. Es fácil migrar a Dell XC.
La capacidad de rendimiento y la escalabilidad lineal, combinadas con la simplicidad inflexible de Dell
XC, crean una excelente opción para proveer datos a la base de datos de SQL Server como iniciativa
de servicio.
Nutanix creó una serie de documentos sobre la virtualización de Microsoft SQL Server. Estos
informes se pueden encontrar en www.nutanix.com en la sección de recursos:
• VMware vSphere on Nutanix Best Practices White Paper (Notas técnicas sobre las mejores
prácticas de VMware vSphere en Nutanix).
• SQL Server Best Practices White Paper and Reference Architecture (Notas técnicas sobre las
mejores prácticas y la arquitectura de referencia de SQL Server).
• Nutanix Bible: Technology Guide (La biblia de Nutanix: Guía tecnológica).
Apéndice: Lista de comprobación de mejores prácticas de Microsoft SQL
Server en Nutanix
Las mejores prácticas de MS SQL Server en Nutanix se pueden resumir en los siguientes puntos de
alto nivel.
NOTA: La mayoría de los beneficios de configuración y optimización de las mejores prácticas se
encuentra a nivel de MS SQL Server.
General
• Realice un análisis del estado actual para identificar las cargas de trabajo y su tamaño.
• Dedique tiempo por adelantado para diseñar una solución que satisfaga tanto las necesidades
actuales como las futuras.
• Realice un diseño que proporcione rendimiento, confiabilidad y escalabilidad constantes.
• Que el tamaño no sea demasiado pequeño ni demasiado grande; que sea el tamaño justo.
• Comience con un PoC, probar, optimizar, iterar y escalar.
Componentes principales
5 Virtualización de Microsoft SQL en dispositivos convergentes de escala web Dell serie XC con tecnología de software Nutanix
• Microsoft SQL Server.
o Rendimiento y escalabilidad.
 Utilice varios controladores para registro/datos de TempDB y registro/datos de
la base de datos.
• Comience con un mínimo de 2 controladores para entornos pequeños
o 4 para entornos más grandes.
• Busque la contención PAGEIOLATCH_XX y aumente la cantidad de controladores según sea
necesario.
• Utilice una unidad de asignación NTFS de 64 KB para controladores MSSQL.
• Páginas bloqueadas habilitadas en memoria para la cuenta de servicio de MSSQL Server (NOTA: Si
se usa esta configuración, se debe bloquear la memoria de la VM. Solo se aplica con memoria >
8 GB.)
• Archivos de datos TempDB.
• Configure el tamaño de TempDB entre el 1 y el 10% del tamaño de la base de datos de instancias.
• Si la cantidad de núcleos es < 8, la cantidad de núcleos = cantidad de archivos de datos.
• Si la cantidad de núcleos es > 8, utilice 8 archivos de datos.
o Busque la contención para la asignación en memoria
(PAGELATCH_XX) y escale 4 archivos de una vez hasta que se
elimine la contención.
 Archivos de datos de la base de datos.
• Utilice el tamaño adecuado y habilite AUTOGROW (crecimiento
automático) en relación con el crecimiento de la base de datos.
• No utilice la opción AUTOSHRINK (autorreducción) para archivos de
datos y de registro.
• Como máximo, mantenga la utilización de la capacidad de disco por
debajo del 80%.
• Utilice múltiples archivos de datos y controladores.
o Busque la contención para la asignación en memoria
(PAGELATCH_XX), si hay contención, aumente la cantidad de
archivos.
o Busque la contención del subsistema de E/S (PAGEIOLATCH_
XX), si hay contención, reparta los archivos de datos en varios
controladores.
 Marcadores de seguimiento.
• Implemente el marcador de seguimiento 1118 al comienzo para
eliminar las asignaciones de página única.
• Implemente el marcador de seguimiento 834 para permitir páginas
grandes (para rendimiento de nivel 1).
 Utilice el Analizador de procedimientos recomendado (BPA) de MSSQL para
identificar posibles problemas.
 Utilice la inicialización de archivo rápida.
 Escale la cantidad de VM de MSSQL vs. la cantidad de instancias de MSSQL por
VM.
 Más memoria = mayor rendimiento, si se observa presión de memoria, aumente
la memoria de la VM.
 Utilice un disco específico para el archivo de la página de Microsoft.
o Disponibilidad.
 En la mayoría de los casos, vSphere HA proporciona un nivel de disponibilidad
y un tiempo de actividad adecuados para las aplicaciones de nivel 1 que no son
críticas.
 Para aplicaciones críticas de nivel 1:
• MSSQL 2012: Utilice grupos de disponibilidad AlwaysOn (se prefiere).
6 Virtualización de Microsoft SQL en dispositivos convergentes de escala web Dell serie XC con tecnología de software Nutanix
• MSSQL 2008 y anterior: Utilice envío de registro o MSSQL en clúster
mediante el uso de clústeres MSCS.
 Realice capturas instantáneas/respaldos de la base de datos en forma
constante, la frecuencia dependerá de los RPO requeridos.
 Aproveche las herramientas nativas o de terceros para administrar los respaldos
(por ejemplo: Microsoft System Center Data Protection Manager (DPM), etc.).
o Manejabilidad.
 Estandarice, supervise y mantenga.
 Aproveche una solución de supervisión de aplicación de MSSQL (por ejemplo:
System Center, etc.).
 Cree plantillas de VM de MSSQL estandarizadas.
 Utilice cantidades de discos y esquemas de diseño coherentes para las VM de
MSSQL.
 Una MSSQL Server al dominio y utilice Active Directory para la
autenticación.
 Aproveche la autenticación de base de datos independiente (MSSQL 2012).
 Utilice instancias con nombre para las instancias de la base de datos de MSSQL,
incluso cuando planifica una sola instancia por VM.
 Para las instancias con nombre, asegúrese de que la aplicación sea compatible
con los puertos dinámicos, de lo contrario, configure la instancia para el uso de
un puerto fijo.
• VMware vSphere (aproveche las mejores prácticas que también se aplican en el caso de Hyper-V).
o Siga las mejores prácticas de rendimiento de VMware.
o Evite el exceso de suscripciones en el núcleo de la CPU (para las cargas de trabajo de
nivel 1).
o Para las VM de MSSQL pequeñas mantenga la vCPU <= a la cantidad de núcleos por
nodo NUMA físico.
o Para las VM de MSSQL grandes mida la vCPU para alinearla con los límites físicos del
nodo NUMA y aproveche vNUMA.
o Tenga en cuenta que los números de vCPU deben ser fácilmente divisibles por el
tamaño del nodo NUMA con el fin de facilitar la programación.
o Deje el recurso compartido de hyperthreading según la política predeterminada
(cualquiera sea).
o Habilite la política de potencia de host de "alto rendimiento".
o Bloquee la memoria de VM de MSSQL (para las cargas de trabajo de nivel 1).
o Mida la memoria de VM de MSSQL con la siguiente fórmula:
 Memoria de VM = Memoria máx. de SQL Server + Pila de subprocesos +
Memoria de SO + Sobrecarga de VM
 Pila de subprocesos = Subprocesos de trabajador máx. de
SQL * 2 MB (para x64)
o Utilice controladoras de SCSI y NIC VMXNET3 paravirtuales.
o Utilice grupos de recursos con la asignación de recursos
compartidos correcta.
o Utilice reglas de antiafinidad de DRS para mantener separadas las VM
de MSSQL.
• Dell XC.
o Utilice un solo contenedor para SQL Server.
o Utilice el modelo adecuado según los requisitos de proceso y almacenamiento.
 Preferentemente, mantenga el espacio de trabajo de SSD y el tamaño de la
base de datos dentro de la capacidad del nodo.
 Seleccione un modelo en el que pueda caber la base de datos completa en un
solo nodo. NOTA: Para las bases de datos más grandes, que no caben en un
solo nodo, asegúrese de que haya un ancho de banda amplio entre los nodos.
7 Virtualización de Microsoft SQL en dispositivos convergentes de escala web Dell serie XC con tecnología de software Nutanix
 Utilice modelos de nodo de memoria más altos para las cargas de trabajo de
MSSQL con E/S intensa.
o Cree un grupo de coherencia especial con VM y aplicaciones de MSSQL.
o Aproveche las "instantáneas coherentes con la aplicación" en el grupo de coherencia
para invocar VSS al capturar las instantáneas.
Componentes de soporte
• Red
o Utilice y optimice QoS para el tráfico de NDFS y de la base de datos.
o Utilice switches de baja latencia de 10 GbE.
o Utilice los vínculos superiores redundantes de 10 GbE de cada nodo Nutanix.
o Asegúrese de que haya un rendimiento adecuado entre los nodos Nutanix y las VM de
MSSQL.
o Verifique que no haya marcos de pausa que puedan afectar la replicación y la
comunicación de la VM.
• Active Directory
o Utilice la autenticación basada en AD para las VM de MS SQL Server.
• Actualizaciones de sistema operativo y aplicaciones
o Programe las actualizaciones para que se apliquen fuera del horario comercial a fin de
evitar un impacto en el rendimiento.
o El escalonamiento se actualiza en etapas.
Soporte de Microsoft para la virtualización de SQL Server en VMware
El soporte de Microsoft para la virtualización de SQL Server en VMware se limita al "mejor esfuerzo". La
mejor práctica de Microsoft para la virtualización de SQL Server es el uso de Hyper-V, que le otorga a
los clientes un soporte completo de Microsoft para su solución. Microsoft no impide la virtualización
de las cargas de trabajo de Microsoft en VMware, pero solo puede proporcionar su "mejor esfuerzo"
para estos casos. Con el fin de obtener más información acerca del soporte de Microsoft para los
productos de las VM de VMware, visite https://www.vmware.com/support/policies/ms_support_
statement.
©2015 Dell Inc. Todos los derechos reservados. Dell y el logotipo de DELL son marcas comerciales de Dell Inc. Es posible que en este documento
se utilicen designaciones o marcas comerciales para hacer referencia a las entidades titulares de las marcas y designaciones, o a sus productos.
Dell niega todo derecho de propiedad sobre las marcas y los nombres de terceros. El presente documento tiene carácter meramente informativo.
Dell se reserva el derecho de realizar cambios a cualquier producto que aparece aquí sin previo aviso. El contenido se proporciona tal como está y
sin garantías expresas ni implícitas de ningún tipo. Arrendamiento y financiamiento proporcionados y mantenidos por Dell Financial Services L.L.C.
o su afiliado o designado ("DFS") para clientes calificados. Las ofertas pueden no estar disponibles o bien variar en determinados países. Donde
se encuentran disponibles, las ofertas pueden modificarse sin previo aviso y están sujetas a la disponibilidad del producto, aprobación crediticia,
ejecución de la documentación proporcionada y aceptada por DFS, y pueden estar sujetas a un tamaño mínimo de transacción. Las ofertas no se
encuentran disponibles para uso personal, familiar ni del hogar.
XC_Series_Tech_Note_031115
8 Virtualización de Microsoft SQL en dispositivos convergentes de escala web Dell serie XC con tecnología de software Nutanix
Descargar