Los grandes fabricantes de software popular cuidan a sus clientes de diferentes maneras. Una forma es crear un programa de certificación. De modo que cuando los clientes en el pensamiento deambulan entre las configuraciones de hardware para un software específico, el fabricante de este software puede aparecer y señalar con un dedo con confianza: "Toma esto y todo estará bien".
Tal programa para su SQL Server fue desarrollado por Microsoft - SQL Server Fast Track (DWFT). Certifica las configuraciones de los almacenes de datos, aquellos que cumplen con los requisitos de la carga de trabajo y pueden implementarse con menos riesgo, costo y complejidad. Suena genial, pero es interesante evaluar estos criterios en la práctica. Para hacer esto, analizaremos en detalle una de las configuraciones que tienen la certificación Fast Track de SQL Server Data Warehouse.

Para empezar, un poco más sobre DWFT. Este programa incluye no solo la certificación de arquitecturas de referencia de proveedores de sistemas, sino también una serie de guías de mejores prácticas, si desea crear algo propio. Microsoft está actualizando el programa para el desarrollo de nuevas características, y se basa en los comentarios de los clientes.
Con el almacenamiento compatible con DWFT, puede estar seguro de que todas las características de SQL Server estarán disponibles. Las tecnologías de almacenamiento en columna en memoria mejoran el rendimiento en las cargas de trabajo transaccionales y analíticas. Se admitirán tanto Big Data relacional estructurado como no estructurado tradicional, en Hadoop, Spark o Azure Data Lake. Con la función PolyBase de SQL Server, puede combinar grandes datos en el Universo SQL Server, consultar datos relacionales y no estructurados, fusionándolos sin tener que moverlos.
Una lista general de arquitecturas certificadas se encuentra al final de
esta página . A continuación presentaremos uno de ellos.
Arquitectura de "referencia"
Ahora, para analizar una de las arquitecturas certificadas por DWFT. Se basa en nuestros servidores BullSequana S400 y S800 y en el almacenamiento Dell EMC VMAX. El almacenamiento se puede aumentar hasta 4 PB si escala el servidor BullSequana S a 32 procesadores.
Para garantizar una alta disponibilidad de la base de datos, también se recomienda Windows Failover Clustering. Es decir, el uso de al menos dos servidores. A través de los servicios de clústeres de Microsoft, un servidor de base de datos se configura como el servidor primario (activo) y el segundo como el servidor secundario (pasivo). El servidor pasivo debe tener la misma configuración que el servidor primario.
Lista y características de los componentes de la infraestructura.
Esquema general de dos configuracionesComponentes de hardware
Servidor BullSequana S800
El servidor BullSequana S800 es un servidor de ocho procesadores con hasta 12 TB de memoria, E / S avanzadas y módulos adicionales con almacenamiento SSD / HDD / NVMe o con GPU NVidia Tesla.
La línea BullSequana S está disponible en opciones desde el S200 con dos procesadores hasta el S3200 con 32 procesadores. El paso de escala de la línea son dos procesadores. Para la arquitectura DWFT de SQL Server 2017, los modelos S200, S400 y S800 están igualmente certificados.

Adaptador de bus host Emulex LPe31002-M6 16 Gbps
En comparación con las generaciones anteriores de dispositivos, los adaptadores Emulex Gen 6 FC con arquitectura dinámica multinúcleo ofrecen un mayor rendimiento, menor latencia, mejores diagnósticos y capacidad de administración. Proporciona velocidades de hasta 12.800 MB / s (dos puertos 32GFC o cuatro puertos 16GFC), un rendimiento de 1,6 millones de IOPS por adaptador. La versión de cuatro puertos del LPe32004 proporciona hasta 3.2 millones de IOPS por adaptador.
Interruptor Brocade 6510
El conmutador Brocade 6510 de Broadcom es un conmutador Fibre Channel montado en el servidor de 1U y 48 puertos.
- Rendimiento del canal de fibra: 16 Gb / s
- Hasta 48 puertos que proporcionan un rendimiento agregado de 768 Gb / s
- Trunking de cuadros de hasta 128 Gbps
- Consumo de energía: 14 W / Gb / s
Dell EMC VMAX 250F
VMAX All Flash se centra en los volúmenes de datos de petabytes y el procesamiento de grandes transacciones. VMAX All Flash escala e integra cientos de procesadores Intel multi-core para cargas de trabajo dinámicas mixtas. El elemento central de VMAX All Flash es V-Brick: es posible combinar hasta ocho V-Bricks como un solo sistema con capacidades de conectividad, procesamiento y ancho de banda completamente separadas. Cada V-Brick admite hasta 72 núcleos de procesador para escalar el rendimiento, hasta 576 núcleos por matriz. Para el escalado, se utilizan los módulos Flash Capacity Packs.
El almacenamiento debe cumplir claramente los requisitos para el procesamiento de transacciones en tiempo real (OLTP) de alta precisión, aplicaciones virtualizadas y bases de datos Oracle y SQL. Los requisitos se cumplen para millones de IOPS, rendimiento de petabytes y rendimiento predecible (tiempo de respuesta de 350 μs).
Finalmente, la arquitectura debe tener un aislamiento de errores mejorado, una verificación de integridad de datos confiable y actualizaciones comprobadas de hardware y software a prueba de fallas. Otro requisito: Disponibilidad para operaciones 24x7 utilizando el software SRDF.
Cómo se conecta el almacenamiento
Configuración de VMAX 250F (todo flash):
- 2 vBrick con 2 TB de caché por bloque.
- 32 * 16 Gbps host FC ports
- 64 * 3.84 TB flash (Raid5-7 + 1) + reserva
Apariencia de VMAX vBricks en un estante:

Ubicaciones del puerto:

La configuración de matriz lógica en una arquitectura certificada está alineada con la configuración y las mejores prácticas de Dell EMC.
- Versión HyperMaxOS: 5977.1131.1131
- Cifrado: habilitado
- Compresión: deshabilitado
- Perfil de rendimiento del sistema: básico
Distribución principal:


Configuración de LUN
Todos los LUN están configurados como THIN LUN en un grupo virtual creado en 64 unidades. Los datos se distribuyen en todas las unidades flash en ambos vBricks. Se definen un total de 35 LUN en Dell EMC VMAX:
- 16 LUN de 8 TB para datos de usuario (128 TB en total)
- 16 LUN o 2 TB para tempdb (32 TB en total)
- Tamaño de 2 LUN de 2 TB para la revista (4 TB en total)
Los puertos frontales de Fibre Channel (FC) están configurados para usar cuatro dominios de conmutación por error en modo de puerto virtual. Cada puerto está conectado uno a uno a un puerto en el VMAX, que sirve solo un LUN de datos y un LUN Tempdb. Para cada uno de ellos hay un LUN para separar las operaciones de lectura y escritura en el LUN (al ejecutar GROUP BY u ORDER BY, los datos se escriben primero en Tempdb antes de usarse en otra parte de la consulta o presentarse al usuario). Cada LUN se asigna a cuatro puertos FA y es accesible de cuatro maneras.
Mapeo de puertos:

Grupos de almacenamiento VMAX (SG)
Se han creado los siguientes grupos de almacenamiento:

Leer y escribir caché
El caché VMAX es global, se usa dinámicamente para leer y escribir. La configuración predeterminada se usa para limitar la espera de grabación en el sistema. Como el sistema usa solo una aplicación, no es necesario crear particiones de caché.
Conectarse al servidor y MPIO
Windows Server 2016 utilizó su propio MPIO. Su alternativa es el software PowerPath para aplicaciones Dell EMC.
Enrutamiento de cable
Los puertos superiores de los conmutadores Brocade se utilizan para conectar el servidor BullSequana S800. Cada puerto par de Emulex HBA está conectado a los puertos superiores a la izquierda del conmutador Brocade. Cada uno de los puertos Outbus Emulex HBA está conectado a los puertos superiores a la izquierda del conmutador Brocade_2. Los puertos inferiores se usan solo para conectar los puertos Dell EMC VMAX FC.
Configuración de servidor único
El siguiente diagrama muestra el cableado entre el BullSequana S800 y el Dell EMC VMAX 250F. La ubicación de HBA puede variar según la ubicación de los módulos de HBA.

Conexiones de cable en alta configuración de servidor disponible
El siguiente diagrama muestra cómo conectar dos servidores BullSequana S800 en una configuración de alta disponibilidad con un Dell EMC VMAX 250F. Nuevamente, la ubicación del HBA puede variar según la ubicación de los módulos de HBA.

Arriba, en el lado izquierdo del conmutador Brocade, se resalta la mitad izquierda de los puertos para el primer servidor S800, y en el lado derecho de la imagen están los puertos correctos, y el segundo servidor S800 está conectado a ellos.
Configuración del servidor BullSequana S800
BIOS del sistema
Todos los parámetros, excepto la configuración de red BMC, se dejaron en la configuración predeterminada de fábrica. La configuración del Procesador lógico en la sección Configuración del procesador permanece activada de manera predeterminada. Esto activa la tecnología Intel Hyper-Threading, que maximiza la cantidad de procesadores lógicos disponibles para SQL Server.
Emulex LPe31002-M6 16 Gbps
Todos los HBA Emulex están disponibles a través de Emulex OneCommand Manager. Las versiones de firmware y controlador utilizadas durante la certificación Microsoft DWH Fast Track son 12.0.193.13.

Es importante que todos los HBA tengan el mismo firmware. El último firmware se puede descargar desde el sitio web de Broadcom. Las actualizaciones de firmware se pueden realizar utilizando el botón "Descargar firmware" en Emulex OneCommand Manager. Cambiar el controlador y / o firmware puede requerir un reinicio del servidor.
Con la excepción del parámetro QueryDept, que se cambió de 32 a 64, todos los demás parámetros de host y HBA permanecieron de forma predeterminada.

Configuración de Windows Server 2016
Instalación
La instalación de Windows se realizó con la configuración predeterminada. Después de la instalación, se activó la función MPIO de Windows, como se muestra en la figura a continuación.

Después de instalar la función MPIO, Windows debe reiniciarse.
Instalar controladores y paquetes
Es importante tener controladores y paquetes en el almacenamiento USB, ya que no están incluidos en el catálogo de controladores de Windows incluido en el DVD de instalación (los adaptadores de red son más nuevos que Windows Server 2016). Después de instalar Windows y MPIO, se instalaron los siguientes controladores y paquetes (en el orden especificado):
- Chipset Intel INF versión 10.1.17711.8088_PV o posterior (se requiere reiniciar)
- Controlador MegaRAID para Windows 2016 versión 6.14-6.714.05.00-WHQL (se requiere reiniciar)
- PROWinx64 para la familia Intel XL7xx versión 23_2 o posterior
- OneInstall-Setep-12.0.193.18.exe o posterior
Configuraciones de energía
Para maximizar el rendimiento, el servidor se configuró para usar un plan de alto rendimiento.

Bloquear páginas en la memoria
Para evitar que el sistema operativo Windows envíe páginas de datos a la memoria virtual en el disco y SQL Server pueda usar el proceso para guardar datos en la memoria física (RAM), se activó la opción Bloquear páginas en memoria para la cuenta de servicio de SQL Server. Debe reiniciar SQL Server para que esta opción surta efecto.
Unidades de Windows
Después de completar la división en zonas en los conmutadores VMAX y LUN, se muestran en la Administración de discos de Windows.

Si todas las unidades están formateadas correctamente, la Administración de discos de Windows muestra la siguiente lista:

Hay 34 LUN en total:
- 16 LUN de 8 TB para datos de usuario (128 TB en total)
- 16 LUN o 2 TB para tempdb (32 TB en total)
- Tamaño de 2 LUN de 2 TB para la revista (4 TB en total)
Para arquitecturas de referencia DWFT, Dell EMC y yo recomendamos usar puntos de montaje para volúmenes en lugar de letras de unidad. Recomendamos que asigne el volumen apropiado y los nombres de los puntos de montaje para simplificar la resolución de problemas y el análisis de rendimiento. Idealmente, los nombres de los puntos de montaje deben asignarse de manera que se simplifique la identificación del volumen VMAX para este volumen de Windows.
La siguiente tabla muestra las etiquetas de volumen y las rutas de acceso utilizadas para la configuración de referencia:

Una vez que todos los LUN están listos, el directorio C: \ Storage se ve así:

MPIO
La política de MPIO para todos los volúmenes se establece en la sección del Departamento de cola mínima.

Configuración de Windows Defender
Windows Defender es un componente estándar de antivirus y antispam. Para evitar que se escaneen los datos de SQL Server y los archivos de registro (para el rendimiento), se deben agregar las siguientes excepciones.
Carpetas en un servidor:
- C: \ Archivos de programa (x86) \ Microsoft SQL Server
- C: \ Archivos de programa \ Microsoft SQL Server
- C: \ Storage (solución de servidor único)
Carpetas en una solución de alta disponibilidad (HA):
- C: \ Archivos de programa (x86) \ Microsoft SQL Server
- C: \ Archivos de programa \ Microsoft SQL Server
- C: \ ClusterStorage (solución altamente asequible)
- C: \ Windows \ Cluster
- Unidad de quórum
- Unidad MSDTC
Tipos de archivo:
Configuración de SQL Server 2017 Enterprise Edition
La instalación se realiza principalmente utilizando la configuración predeterminada. Algunas excepciones se enumeran a continuación. Durante la instalación de SQL Server 2017, se selecciona la opción Realizar tarea de mantenimiento de rendimiento.
Configuración Tempdb
La base de datos Tempdb está configurada para usar 16 archivos del mismo tamaño. Los archivos de datos Tempdb se encuentran en 16 volúmenes. El archivo de registro de transacciones tempdb se coloca en el disco donde se guardan los registros. El zoom automático está activado.
Opciones de inicio para una instancia de SQL Server
SQL Server 2017 establece automáticamente los indicadores de seguimiento -T1117 y -T1118, por lo que ya no necesita agregarlos a las opciones de inicio de la instancia. Si no utiliza el indicador de seguimiento -T834, se logra un mejor rendimiento. Microsoft recomienda no usar este indicador cuando se usan índices de almacenamiento en columna agrupados.
El único parámetro de inicio es el indicador -E:

Para obtener más información sobre este tema, consulte Microsoft
DBCC TRACEON - Indicadores de seguimiento y
opciones de inicio del servicio del motor de base de datos .
Memoria máxima del servidor SQL
La memoria máxima del servidor para esta arquitectura de referencia debe establecerse en 11.534.336 MB o 11.264 GB, donde se asignan 1.024 GB al sistema operativo. Si aplicaciones adicionales comparten el servidor, debe ajustar la cantidad de memoria disponible para el sistema operativo.

Concurrencia máxima (MAXDOP)
El grado máximo de paralelismo se establece en 448, que corresponde al número de núcleos lógicos disponibles en el servidor.

Gestión de recursos
Dependiendo del tipo de carga de trabajo utilizada, el almacenamiento con el mayor número de filas (RS) o el almacenamiento en columna agrupado (CS), debe configurar el regulador de recursos en consecuencia.
Para el almacén de cadenas, el parámetro regulador de recursos utilizado para limitar la cantidad máxima de memoria se establece en 12 por ciento.
ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=12); ALTER RESOURCE GOVERNOR RECONFIGURE;
Para el almacenamiento de columnas, la configuración del controlador de recursos utilizada para limitar la cantidad máxima de memoria se establece en un 25 por ciento.
ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=25); ALTER RESOURCE GOVERNOR RECONFIGURE;
Configuración de la base de datos
La base de datos del almacén de datos se configuró para usar varios grupos de archivos, cada uno de los cuales contiene 16 archivos distribuidos uniformemente en dieciséis volúmenes de datos. Todos los archivos pueden crecer automáticamente. Los grupos de archivos se han configurado con el parámetro AUTOGROW_ALL_FILES para garantizar que todos los archivos en un grupo de archivos dado permanezcan iguales.
ALTER DATABASE <database name> MODIFY FILEGROUP <file group name> AUTOGROW_ALL_FILES;
Complementos de arquitectura de enlace de alta disponibilidad (HA)
La arquitectura de referencia de HA utiliza Windows Failover Clustering para proporcionar alta disponibilidad. La configuración de un clúster de conmutación por error de Windows tiene problemas de almacenamiento adicionales. La configuración recomendada permite que todas las voces del clúster voten por el quórum y usen el disco.
Se debe crear y configurar un volumen adicional como disco testigo. Dell EMC recomienda usar 2 GB de espacio en disco. Todos los volúmenes deben asignarse a cada nodo del clúster, configurarse como un recurso del clúster y agregarse al grupo de recursos del clúster de SQL Server.
Conclusión
En conclusión, probablemente destacaremos la ventaja más importante de la configuración: la capacidad de conectar una gran cantidad de adaptadores HBA. Esto le permite equilibrar el aumento de los módulos de almacenamiento con ellos.
Y este es el certificado para la configuración de ATOS BullSequana S800 y Dell EMC VMAX 250F. Puedes ver métricas de prueba en él.En un futuro cercano, planeamos transferir soluciones a la arquitectura de Cascade Lake. Esto conducirá al inicio de una nueva certificación que complementará la actual. Estaremos encantados de responder sus preguntas sobre la certificación y nuestra arquitectura en los comentarios.