Architecture certifiée Fast Track (DWFT) de SQL Server Data Warehouse: ce que cela signifie et comment cela fonctionne

Les grands fabricants de logiciels populaires prennent soin de leurs clients de différentes manières. Une façon consiste à créer un programme de certification. Pour que les clients réfléchissent entre les configurations matérielles de logiciels spécifiques, le fabricant de ce logiciel puisse venir et pointer du doigt avec confiance: "Prenez cela et tout ira bien."

Un tel programme pour son serveur SQL a été développé par Microsoft - SQL Server Fast Track (DWFT). Il certifie les configurations des entrepôts de données - celles qui répondent aux exigences de la charge de travail et peuvent être mises en œuvre avec moins de risques, de coûts et de complexité. Cela semble génial, mais il est intéressant d'évaluer ces critères dans la pratique. Pour ce faire, nous analyserons en détail l'une des configurations disposant de la certification Fast Track de SQL Server Data Warehouse.



Pour commencer - un peu plus sur DWFT. Ce programme comprend non seulement la certification des architectures de référence des fournisseurs de systèmes, mais aussi un certain nombre de guides de bonnes pratiques - si vous souhaitez créer votre propre architecture. Microsoft met à jour le programme pour le développement de nouvelles fonctionnalités et sur la base des commentaires des clients.

Avec un stockage compatible DWFT, vous pouvez être sûr que toutes les fonctionnalités de SQL Server seront disponibles. Les technologies de stockage en colonne en mémoire améliorent les performances des charges de travail transactionnelles et analytiques. Les mégadonnées relationnelles structurées traditionnelles et non structurées seront prises en charge - dans Hadoop, Spark ou Azure Data Lake. Avec la fonctionnalité SQL Server PolyBase, vous pouvez combiner des données volumineuses dans SQL Server Universe, interroger des données relationnelles et non structurées, les fusionner sans avoir à les déplacer.

Une liste générale des architectures certifiées se trouve au bas de cette page . Ensuite, nous allons présenter l'un d'eux.

Architecture "de référence"


Maintenant - pour analyser une des architectures certifiées par DWFT. Il est basé sur nos serveurs BullSequana S400 et S800 et sur le stockage Dell EMC VMAX. Le stockage peut être augmenté jusqu'à 4 PB si vous faites évoluer le serveur BullSequana S à 32 processeurs.

Pour garantir une haute disponibilité de la base de données, le clustering de basculement Windows est également recommandé. Autrement dit, l'utilisation d'au moins deux serveurs. Grâce aux services de mise en cluster Microsoft, un serveur de base de données est configuré comme serveur principal (actif) et le second comme serveur secondaire (passif). Le serveur passif doit avoir la même configuration que le serveur principal.


Liste et caractéristiques des composants d'infrastructure


Aperçu général de deux configurations

Composants matériels


Serveur BullSequana S800


Le serveur BullSequana S800 est un serveur à huit processeurs avec jusqu'à 12 To de mémoire, des E / S avancées et des ajouts de modules avec stockage SSD / HDD / NVMe ou avec des GPU NVidia Tesla.

La gamme BullSequana S est disponible en options du S200 avec deux processeurs au S3200 avec 32 processeurs. L'étape d'échelle de la ligne est constituée de deux processeurs. Pour l'architecture DWFT SQL Server 2017, les modèles S200, S400 et S800 sont également certifiés.



Adaptateur de bus hôte Emulex LPe31002-M6 16 Gbps


Par rapport aux générations précédentes, les adaptateurs Emulex Gen 6 FC avec une architecture multicœur dynamique offrent des performances supérieures, une latence plus faible, de meilleurs diagnostics et une meilleure gérabilité. Il fournit des vitesses allant jusqu'à 12 800 Mo / s (deux ports 32GFC ou quatre ports 16GFC), un débit de 1,6 million d'IOPS par adaptateur. La version à quatre ports du LPe32004 fournit jusqu'à 3,2 millions d'IOPS par adaptateur.

Brocade 6510 Switch


Le commutateur Brocade 6510 de Broadcom est un commutateur Fibre Channel 1U, 48 ports monté sur serveur.
  • Performances Fibre Channel: 16 Gb / s
  • Jusqu'à 48 ports offrant un débit total de 768 Gb / s
  • Jusqu'à 128 Gbps trunking de trame
  • Consommation électrique: 14 W / Gb / s

Dell EMC VMAX 250F


VMAX All Flash se concentre sur les volumes de données en pétaoctets et le traitement des transactions importantes. VMAX All Flash met à l'échelle et intègre des centaines de processeurs multicœurs Intel pour des charges de travail mixtes dynamiques. L'élément central de VMAX All Flash est V-Brick, qui peut combiner jusqu'à huit V-Bricks en un seul système avec des capacités de connectivité, de traitement et de bande passante complètement séparées. Chaque V-Brick prend en charge jusqu'à 72 cœurs de processeur pour améliorer les performances - jusqu'à 576 cœurs par baie. Pour la mise à l'échelle, des modules Flash Capacity Packs sont utilisés.

Le stockage doit clairement répondre aux exigences du traitement des transactions en temps réel de haute précision (OLTP), des applications virtualisées et des bases de données Oracle et SQL. Les exigences sont satisfaites pour des millions d'IOPS, une bande passante de pétaoctets et des performances prévisibles (temps de réponse de 350 μs).

Enfin, l'architecture devrait avoir une meilleure isolation des erreurs, une vérification fiable de l'intégrité des données et des mises à jour matérielles et logicielles à sécurité intégrée éprouvées. Autre exigence: disponibilité pour les opérations 24h / 24 et 7j / 7 à l'aide du logiciel SRDF.

Comment le stockage est connecté


Configuration du VMAX 250F (tout flash):

  • 2 vBrick avec 2 To de cache par bloc.
  • Ports hôtes FC 32 * 16 Gbps
  • Flash 64 * 3,84 To (Raid5-7 + 1) + réserve

Apparence de VMAX vBricks dans un rack:



Emplacements des ports:



La configuration de la baie logique dans une architecture certifiée est alignée sur la configuration Dell EMC et les meilleures pratiques.

  • Version HyperMaxOS: 5977.1131.1131
  • Cryptage: activé
  • Compression: désactivé
  • Profil de performance du système: de base

Distribution principale:




Configuration de LUN


Tous les LUN sont configurés en tant que LUNS MINCES dans un pool virtuel créé sur 64 lecteurs. Les données sont réparties sur tous les lecteurs flash sur les deux vBricks. Un total de 35 LUN sont définis sur le Dell EMC VMAX:

  • 16 LUN de 8 To pour les données utilisateur (128 To au total)
  • 16 LUN ou 2 To pour tempdb (32 To au total)
  • 2 LUN de 2 To pour le magazine (4 To au total)

Les ports frontaux Fibre Channel (FC) sont configurés pour utiliser quatre domaines de basculement en mode port virtuel. Chaque port est connecté un à un à un port du VMAX, qui ne dessert qu'un seul LUN de données et un LUN Tempdb. Pour chacun d'eux, il existe un LUN pour séparer les opérations de lecture et d'écriture sur le LUN (lors de l'exécution de GROUP BY ou ORDER BY, les données sont d'abord écrites dans Tempdb avant d'être utilisées dans une autre partie de la requête ou présentées à l'utilisateur). Chaque LUN est mappé sur quatre ports FA et est accessible de quatre manières.

Cartographie des ports:



Groupes de stockage VMAX (SG)


Les groupes de stockage suivants ont été créés:



Lecture et écriture du cache


Le cache VMAX est global, utilisé dynamiquement pour la lecture et l'écriture. Les paramètres par défaut sont utilisés pour limiter l'attente de l'enregistrement dans le système. Comme le système n'utilise qu'une seule application, il n'est pas nécessaire de créer des partitions de cache.

Se connecter au serveur et MPIO


Windows Server 2016 a utilisé son propre MPIO. Son alternative est le logiciel PowerPath pour les applications Dell EMC.

Acheminement des câbles


Les ports supérieurs des commutateurs Brocade sont utilisés pour connecter le serveur BullSequana S800. Chaque port pair d'Emulex HBA est connecté aux ports supérieurs à gauche du commutateur Brocade. Chacun des ports HBA Outbus Emulex est connecté aux ports supérieurs à gauche du commutateur Brocade_2. Les ports inférieurs sont utilisés uniquement pour connecter les ports Dell EMC VMAX FC.

Configuration à serveur unique


Le schéma suivant montre le câblage entre le BullSequana S800 et le Dell EMC VMAX 250F. Le placement du HBA peut varier en fonction du placement des modules HBA.



Connexions par câble dans une configuration de serveur hautement disponible


Le schéma ci-dessous montre comment connecter deux serveurs BullSequana S800 dans une configuration à haute disponibilité avec un Dell EMC VMAX 250F. Là encore, l'emplacement du HBA peut varier en fonction de l'emplacement des modules HBA.



Au-dessus du côté gauche du commutateur Brocade, la moitié gauche des ports du premier serveur S800 est mise en surbrillance, et du côté droit de l'image se trouvent les ports droits, et le deuxième serveur S800 y est connecté.

Configuration du serveur BullSequana S800


BIOS système


Tous les paramètres, à l'exception de la configuration du réseau BMC, ont été conservés aux paramètres d'usine par défaut. Le paramètre Processeur logique dans la section Paramètres du processeur reste activé par défaut. Cela active la technologie Intel Hyper-Threading, qui maximise le nombre de processeurs logiques disponibles pour SQL Server.

Emulex LPe31002-M6 16 Gbit / s


Tous les HBA Emulex sont disponibles via Emulex OneCommand Manager. Les versions de micrologiciel et de pilote utilisées lors de la certification Microsoft DWH Fast Track sont 12.0.193.13.



Il est important que tous les HBA aient le même firmware. Le dernier firmware peut être téléchargé sur le site Web de Broadcom. Les mises à niveau du micrologiciel peuvent être effectuées à l'aide du bouton «Télécharger le micrologiciel» dans Emulex OneCommand Manager. La modification du pilote et / ou du micrologiciel peut nécessiter un redémarrage du serveur.

À l'exception du paramètre QueryDept, qui est passé de 32 à 64, tous les autres paramètres hôte et HBA sont restés par défaut.



Configuration de Windows Server 2016


L'installation


L'installation de Windows a été effectuée avec les paramètres par défaut. Après l'installation, la fonction Windows MPIO a été activée, comme illustré dans la figure ci-dessous.



Après avoir installé la fonction MPIO, Windows doit être redémarré.

Installation de pilotes et de packages


Il est important d'avoir des pilotes et des packages sur le stockage USB, car ils ne sont pas inclus dans le catalogue de pilotes Windows inclus sur le DVD d'installation (les cartes réseau sont plus récentes que Windows Server 2016). Après l'installation de Windows et MPIO, les pilotes et packages suivants ont été installés (dans l'ordre spécifié):

  1. Intel INF Chipset version 10.1.17711.8088_PV ou version ultérieure (redémarrage requis)
  2. Pilote MegaRAID pour Windows 2016 version 6.14-6.714.05.00-WHQL (redémarrage requis)
  3. PROWinx64 pour la famille Intel XL7xx version 23_2 ou ultérieure
  4. OneInstall-Setep-12.0.193.18.exe ou version ultérieure

Paramètres d'alimentation


Pour maximiser les performances, le serveur a été configuré pour utiliser un plan hautes performances.



Verrouiller les pages en mémoire


Pour empêcher le système d'exploitation Windows d'envoyer des pages de données à la mémoire virtuelle sur le disque et SQL Server pourrait utiliser le processus pour enregistrer les données dans la mémoire physique (RAM), l'option Verrouiller les pages en mémoire pour le compte de service SQL Server a été activée. Vous devez redémarrer SQL Server pour que cette option prenne effet.

Lecteurs Windows


Une fois le zonage terminé dans les commutateurs VMAX et LUN, ils s'affichent dans la Gestion des disques Windows.



Si tous les lecteurs sont formatés correctement, la Gestion des disques Windows affiche la liste suivante:



Il y a 34 LUN au total:

  • 16 LUN de 8 To pour les données utilisateur (128 To au total)
  • 16 LUN ou 2 To pour tempdb (32 To au total)
  • 2 LUN de 2 To pour le magazine (4 To au total)

Pour les architectures de référence DWFT, Dell EMC et moi recommandons d'utiliser des points de montage pour les volumes au lieu des lettres de lecteur. Nous vous recommandons d'attribuer des noms de volume et de point de montage appropriés pour simplifier le dépannage et l'analyse des performances. Idéalement, les noms des points de montage doivent être attribués de manière à simplifier l'identification du volume VMAX pour ce volume Windows.

Le tableau suivant présente les étiquettes de volume et les chemins d'accès utilisés pour la configuration de référence:



Une fois tous les LUN prêts, le répertoire C: \ Storage ressemble à ceci:



MPIO


La stratégie MPIO pour tous les volumes est définie dans la section Least Queue Dept.


Configuration de Windows Defender


Windows Defender est un composant antivirus et anti-spam standard. Pour empêcher l'analyse des données et des fichiers journaux de SQL Server (pour les performances), les exceptions suivantes doivent être ajoutées.

Dossiers sur un seul serveur:

  • C: \ Program Files (x86) \ Microsoft SQL Server
  • C: \ Program Files \ Microsoft SQL Server
  • C: \ Storage (solution à serveur unique)

Dossiers dans une solution haute disponibilité (HA):
  • C: \ Program Files (x86) \ Microsoft SQL Server
  • C: \ Program Files \ Microsoft SQL Server
  • C: \ ClusterStorage (solution très abordable)
  • C: \ Windows \ Cluster
  • Lecteur de quorum
  • Lecteur MSDTC

Types de fichiers:
  • .ldf
  • .mdf
  • .ndf

Configuration de SQL Server 2017 Enterprise Edition


L'installation se fait principalement en utilisant les paramètres par défaut. Certaines exceptions sont répertoriées ci-dessous. Lors de l'installation de SQL Server 2017, l'option Effectuer une tâche de maintenance des performances est sélectionnée.

Configuration de Tempdb


La base de données Tempdb est configurée pour utiliser 16 fichiers de même taille. Les fichiers de données Tempdb sont situés sur 16 volumes. Le fichier journal des transactions tempdb est placé sur le disque où les journaux sont conservés. Le zoom automatique est activé.

Options de démarrage pour une instance de SQL Server


SQL Server 2017 définit automatiquement les indicateurs de trace -T1117 et -T1118, vous n'avez donc plus besoin de les ajouter aux options de démarrage de l'instance. Si vous n'utilisez pas l'indicateur de trace -T834, de meilleures performances sont obtenues. Microsoft recommande de ne pas utiliser cet indicateur lors de l'utilisation d'index de stockage de colonnes en cluster.

Le seul paramètre de démarrage est l'indicateur -E:



Pour plus d'informations sur cette rubrique, consultez Microsoft DBCC TRACEON - Indicateurs de trace et options de démarrage du service du moteur de base de données .

Mémoire SQL Server maximale


La mémoire maximale du serveur pour cette architecture de référence doit être définie sur 11,534,336 Mo ou 11,264 Go, où 1,024 Go est alloué au système d'exploitation. Si des applications supplémentaires partagent le serveur, vous devez ajuster la quantité de mémoire disponible pour le système d'exploitation.



Concurrence maximale (MAXDOP)


Le degré maximal de parallélisme est fixé à 448, ce qui correspond au nombre de cœurs logiques disponibles sur le serveur.



Gestion des ressources


Selon le type de charge de travail utilisé - le stockage avec le plus grand nombre de lignes (RS) ou le stockage de colonnes en cluster (CS) - vous devez configurer le gouverneur de ressources en conséquence.

Pour le magasin de chaînes, le paramètre de régulateur de ressources utilisé pour limiter la quantité maximale de mémoire est défini sur 12%.

ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=12); ALTER RESOURCE GOVERNOR RECONFIGURE; 

Pour le stockage sur colonne, le paramètre du contrôleur de ressources utilisé pour limiter la quantité maximale de mémoire est défini sur 25%.

 ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=25); ALTER RESOURCE GOVERNOR RECONFIGURE; 

Configuration de la base de données


La base de données de l'entrepôt de données a été configurée pour utiliser plusieurs groupes de fichiers, chacun contenant 16 fichiers répartis uniformément sur seize volumes de données. Tous les fichiers sont autorisés à croître automatiquement. Les groupes de fichiers ont été configurés avec le paramètre AUTOGROW_ALL_FILES pour garantir que tous les fichiers d'un groupe de fichiers donné restent les mêmes.

 ALTER DATABASE <database name> MODIFY FILEGROUP <file group name> AUTOGROW_ALL_FILES; 

Modules complémentaires d'architecture de lien haute disponibilité (HA)


L'architecture de référence HA utilise le clustering de basculement Windows pour fournir une haute disponibilité. La configuration d'un cluster de basculement Windows présente des problèmes de stockage supplémentaires. La configuration recommandée permet à toutes les voix de cluster de voter pour le quorum et d'utiliser le disque.

Un volume supplémentaire doit être créé et configuré comme disque témoin. Dell EMC recommande d'utiliser 2 Go d'espace disque. Tous les volumes doivent être mappés à chaque nœud de cluster, configurés en tant que ressource de cluster et ajoutés au groupe de ressources de cluster SQL Server.

Conclusion


En conclusion, nous soulignerons probablement l'avantage le plus important de la configuration - la possibilité de connecter un grand nombre d'adaptateurs HBA. Cela vous permet d'équilibrer l'augmentation des modules de stockage avec eux.


Et c'est le certificat pour la configuration de l'ATOS BullSequana S800 et Dell EMC VMAX 250F. Vous pouvez y voir des mesures de test.

Dans un avenir proche, nous prévoyons de transférer des solutions à l'architecture de Cascade Lake. Cela conduira au démarrage d'une nouvelle certification qui viendra compléter la certification actuelle. Nous nous ferons un plaisir de répondre à vos questions sur la certification et notre architecture dans les commentaires.

Source: https://habr.com/ru/post/fr438356/


All Articles