Conception de centre de données virtualisé

Conception de centre de données virtualisé

introduction

Un système d'information du point de vue de l'utilisateur est bien défini dans GOST RV 51987 - "un système automatisé dont le résultat est la présentation d'informations de sortie pour une utilisation ultérieure". Si nous considérons la structure interne, alors, par essence, tout SI est un système d'algorithmes interconnectés implémentés dans le code. Au sens large de la thèse de Turing-Church, un algorithme (ou SI) transforme un ensemble de données d'entrée en un ensemble de données de sortie.
On pourrait même dire que la transformation des données d’entrée est le sens de l’existence d’un système d’information. En conséquence, la valeur du SI et de l’ensemble du complexe SI est déterminée par la valeur des données d’entrée et de sortie.
Sur cette base, la conception doit commencer et être axée sur les données, en adaptant l'architecture et les méthodes à la structure et à la signification des données.

Les données stockées
Une étape clé de la préparation à la conception consiste à obtenir les caractéristiques de tous les ensembles de données prévus pour le traitement et le stockage. Ces caractéristiques comprennent :
- Volume de données ;
— Informations sur le cycle de vie des données (croissance de nouvelles données, durée de vie, traitement des données obsolètes) ;
— Classification des données du point de vue impact sur le cœur de métier de l'entreprise (la triade confidentialité, intégrité, disponibilité) ainsi que sur les indicateurs financiers (par exemple, le coût de la perte de données au cours de la dernière heure) ;
— Géographie du traitement des données (localisation physique des systèmes de traitement) ;
— Exigences réglementaires pour chaque classe de données (par exemple, loi fédérale 152, PCI DSS).

Systèmes d'information

Les données sont non seulement stockées, mais également traitées (transformées) par les systèmes d'information. L'étape suivante après l'obtention des caractéristiques des données est l'inventaire le plus complet des systèmes d'information, de leurs caractéristiques architecturales, de leurs interdépendances et des exigences en matière d'infrastructure dans les unités conventionnelles pour quatre types de ressources :
— Puissance de calcul du processeur ;
— Quantité de RAM ;
— Exigences relatives au volume et aux performances du système de stockage de données ;
— Exigences relatives au réseau de transmission de données (canaux externes, canaux entre composants du SI).
Dans ce cas, il doit y avoir des exigences pour chaque service/microservice dans le cadre du SI.
Par ailleurs, il convient de noter que, pour une conception correcte, la disponibilité de données sur l'impact du SI sur le cœur de métier de l'entreprise sous la forme du coût des temps d'arrêt du SI (roubles par heure) est obligatoire.

Modèle de menace

Il doit exister un modèle formel de menaces contre lesquelles il est prévu de protéger les données/services. De plus, le modèle de menace inclut non seulement des aspects de confidentialité, mais également d’intégrité et de disponibilité. Ceux. Par exemple:
— Panne du serveur physique ;
— Défaillance du commutateur supérieur du rack ;
— Perturbation du canal de communication optique entre les centres de données ;
— Défaillance de l'ensemble du système de stockage opérationnel.
Dans certains cas, les modèles de menace sont écrits non seulement pour les composants de l'infrastructure, mais également pour des systèmes d'information spécifiques ou leurs composants, comme par exemple une panne de SGBD avec destruction logique de la structure des données.
Toutes les décisions prises dans le cadre du projet pour se protéger contre une menace non décrite sont inutiles.

Exigences réglementaires

Si les données traitées sont soumises à des règles spéciales établies par les régulateurs, des informations sur les ensembles de données et les règles de traitement/stockage sont requises.

Objectifs RPO/RTO

La conception de tout type de protection nécessite de disposer d'indicateurs de perte de données cibles et d'un temps de récupération de service cible pour chacune des menaces décrites.
Idéalement, le RPO et le RTO devraient être associés à des coûts de perte de données et de temps d'arrêt par unité de temps.

Conception de centre de données virtualisé

Division en pools de ressources

Après avoir collecté toutes les informations d’entrée initiales, la première étape consiste à regrouper les ensembles de données et les adresses IP dans des pools basés sur des modèles de menaces et des exigences réglementaires. Le type de division des différents pools est déterminé - par programmation au niveau du logiciel système ou physiquement.
Exemples:
— Le circuit traitant les données personnelles est complètement physiquement séparé des autres systèmes ;
— Les sauvegardes sont stockées sur un système de stockage distinct.

Dans ce cas, les pools peuvent être incomplètement indépendants, par exemple, deux pools de ressources informatiques sont définis (puissance processeur + RAM), qui utilisent un seul pool de stockage de données et un seul pool de ressources de transmission de données.

Puissance de calcul

Conception de centre de données virtualisé

Résumé, les besoins en puissance de traitement d'un centre de données virtualisé se mesurent en termes de nombre de processeurs virtuels (vCPU) et de leur taux de consolidation sur les processeurs physiques (pCPU). Dans ce cas particulier, 1 pCPU = 1 cœur de processeur physique (hors Hyper-Threading). Le nombre de processeurs virtuels est additionné dans tous les pools de ressources définis (chacun pouvant avoir son propre facteur de consolidation).
Le coefficient de consolidation pour les systèmes chargés est obtenu de manière empirique, sur la base de l'infrastructure existante, ou via une installation pilote et des tests de charge. Pour les systèmes non chargés, les « meilleures pratiques » sont utilisées. Plus précisément, VMware cite le ratio moyen comme étant de 8:1.

Mémoire opérationnelle

La quantité totale de RAM requise est obtenue par simple sommation. L’utilisation d’un surabonnement à la RAM n’est pas recommandée.

Ressources de stockage

Les besoins en stockage sont obtenus en additionnant simplement tous les pools par capacité et performances.
Les exigences de performances sont exprimées en IOPS combinées à un ratio lecture/écriture moyen et, si nécessaire, une latence de réponse maximale.
Les exigences de qualité de service (QoS) pour des pools ou des systèmes spécifiques doivent être spécifiées séparément.

Ressources du réseau de données

Les exigences du réseau de données sont obtenues en additionnant simplement tous les pools de bande passante.
Les exigences en matière de qualité de service (QoS) et de latence (RTT) pour des pools ou des systèmes spécifiques doivent être spécifiées séparément.
Dans le cadre des exigences relatives aux ressources du réseau de données, les exigences d'isolation et/ou de chiffrement du trafic réseau et les mécanismes préférés (802.1q, IPSec, etc.) sont également indiqués.

Sélection d'architecture

Ce guide ne traite d'aucun choix autre que l'architecture x86 et la virtualisation du serveur à 100 %. Par conséquent, le choix de l'architecture du sous-système informatique se résume au choix de la plate-forme de virtualisation du serveur, du facteur de forme du serveur et des exigences générales de configuration du serveur.

Le point clé du choix est la certitude d'utiliser une approche classique avec séparation des fonctions de traitement, de stockage et de transmission des données ou une approche convergente.

architecture classique implique l'utilisation de sous-systèmes externes intelligents pour stocker et transmettre des données, tandis que les serveurs contribuent uniquement à la puissance de traitement et à la RAM au pool commun de ressources physiques. Dans les cas extrêmes, les serveurs deviennent complètement anonymes, possédant non seulement leurs propres disques, mais même pas d'identifiant système. Dans ce cas, le système d'exploitation ou l'hyperviseur est chargé à partir d'un support flash intégré ou d'un système de stockage de données externe (démarrage depuis SAN).
Dans le cadre de l'architecture classique, le choix entre lames et racks se fait principalement selon les principes suivants :
— Rentable (en moyenne, les serveurs montés en rack sont moins chers) ;
— Densité de calcul (plus élevée pour les lames) ;
— Consommation d'énergie et dissipation thermique (les pales ont une unité spécifique par unité plus élevée) ;
— Évolutivité et contrôlabilité (les lames nécessitent généralement moins d'effort pour les grandes installations) ;
- Utilisation de cartes d'extension (choix très limité pour les blades).
Architecture convergente (aussi connu sous le nom hyperconvergé) implique de combiner les fonctions de traitement et de stockage des données, ce qui conduit à l'utilisation de disques de serveurs locaux et, par conséquent, à l'abandon du format lame classique. Pour les systèmes convergés, on utilise soit des serveurs rack, soit des systèmes en cluster, combinant plusieurs serveurs lames et disques locaux dans un seul boîtier.

Processeur/Mémoire

Pour calculer correctement la configuration, vous devez comprendre le type de charge pour l'environnement ou chacun des clusters indépendants.
Lié au processeur – un environnement limité en performances par la puissance du processeur. L'ajout de RAM ne changera rien en termes de performances (nombre de VM par serveur).
Mémoire liée – environnement limité par la RAM. Plus de RAM sur le serveur vous permet d'exécuter plus de machines virtuelles sur le serveur.
Go / MHz (Go / pCPU) – le rapport moyen de consommation de RAM et de puissance du processeur par cette charge particulière. Peut être utilisé pour calculer la quantité de mémoire requise pour une performance donnée et vice versa.

Calcul de configuration du serveur

Conception de centre de données virtualisé

Tout d’abord, vous devez déterminer tous les types de charge et décider de combiner ou de diviser différents pools de calcul en différents clusters.
Ensuite, pour chacun des clusters définis, le rapport GB/MHz est déterminé à une charge connue à l'avance. Si la charge n'est pas connue à l'avance, mais que vous disposez d'une compréhension approximative du niveau d'utilisation de l'énergie du processeur, vous pouvez utiliser des ratios vCPU:pCPU standard pour convertir les exigences du pool en exigences physiques.

Pour chaque cluster, divisez la somme des exigences du pool de processeurs virtuels par le coefficient :
vCPUsum / vCPU:pCPU = pCPUsum – nombre requis d'unités physiques. noyaux
pCPUsum / 1.25 = pCPUht – nombre de cœurs ajustés pour l'Hyper-Threading
Supposons qu'il soit nécessaire de calculer un cluster avec 190 cœurs / 3.5 To de RAM. Dans le même temps, nous acceptons une charge cible de 50 % de la puissance du processeur et 75 % de la RAM.

CPU
190
Utilisation du processeur
50%

Mem
3500
Utilitaire de mémoire
75%

Douille
Core
Serveur/CPU
Mém Srv
Serviteur/Mémoire

2
6
25,3
128
36,5

2
8
19,0
192
24,3

2
10
15,2
256
18,2

2
14
10,9
384
12,2

2
18
8,4
512
9,1

Dans ce cas, nous utilisons toujours l'arrondi à l'entier le plus proche (=ROUNDUP(A1;0)).
D'après le tableau, il devient évident que plusieurs configurations de serveur sont équilibrées pour les indicateurs cibles :
— 26 serveurs 2*6c / 192 Go
— 19 serveurs 2*10c / 256 Go
— 10 serveurs 2*18c / 512 Go

Le choix de ces configurations doit alors être fait en fonction de facteurs supplémentaires, tels que le package thermique et le refroidissement disponible, les serveurs déjà utilisés ou le coût.

Caractéristiques du choix d'une configuration de serveur

Machines virtuelles étendues. S'il est nécessaire d'héberger des VM étendues (comparables à 1 nœud NUMA ou plus), il est recommandé, si possible, de sélectionner un serveur avec une configuration permettant à ces VM de rester au sein du nœud NUMA. Avec un grand nombre de VM larges, il existe un risque de fragmentation des ressources du cluster, et dans ce cas, les serveurs sont sélectionnés pour permettre aux VM larges d'être placées aussi densément que possible.

Taille du domaine à défaillance unique.

Le choix de la taille du serveur repose également sur le principe de minimiser le domaine de défaillance unique. Par exemple, au moment de choisir entre :
— 3 x 4*10c / 512 Go
— 6 x 2*10c / 256 Go
Toutes choses égales par ailleurs, vous devez choisir la deuxième option, car lorsqu'un serveur tombe en panne (ou est maintenu), ce n'est pas 33 % des ressources du cluster qui sont perdues, mais 17 %. De la même manière, le nombre de VM et IS touchés par l’accident est divisé par deux.

Calcul des systèmes de stockage classiques basé sur les performances

Conception de centre de données virtualisé

Les systèmes de stockage classiques sont toujours calculés en utilisant le pire des cas, excluant l'influence du cache opérationnel et l'optimisation des opérations.
Comme indicateurs de performances de base, nous prenons les performances mécaniques du disque (IOPSdisk) :
– 7.2 75 – XNUMX IOPS
– 10 125 – XNUMX IOPS
– 15 175 – XNUMX IOPS

Ensuite, le nombre de disques dans le pool de disques est calculé à l'aide de la formule suivante : = TotalIOPS * ( RW + (1 –RW) * RAIDPen) / IOPSdisque. Où:
- TotalIOPS – performances totales requises en IOPS du pool de disques
- RW – pourcentage d’opérations de lecture
- Stylo RAID – Pénalité RAID pour le niveau RAID sélectionné

En savoir plus sur le RAID des périphériques et la pénalité RAID ici - Performances de stockage. Partie un. и Performances de stockage. Deuxième partie. и Performances de stockage. Partie trois

Sur la base du nombre de disques résultant, les options possibles sont calculées pour répondre aux exigences de capacité de stockage, y compris les options avec stockage à plusieurs niveaux.
Le calcul des systèmes utilisant le SSD comme couche de stockage est considéré séparément.
Fonctionnalités des systèmes de calcul avec Flash Cache

Cache Flash – un nom commun pour toutes les technologies propriétaires permettant d'utiliser la mémoire flash comme cache de deuxième niveau. Lors de l'utilisation d'un cache flash, le système de stockage est généralement calculé pour fournir une charge constante à partir de disques magnétiques, tandis que le pic est servi par le cache.
Dans ce cas, il est nécessaire de comprendre le profil de charge et le degré de localisation de l'accès aux blocs de volumes de stockage. Le cache Flash est une technologie destinée aux charges de travail avec des requêtes hautement localisées et est pratiquement inapplicable aux volumes chargés de manière uniforme (comme pour les systèmes d'analyse).

Calcul des systèmes hybrides bas/milieu de gamme

Les systèmes hybrides des classes inférieures et moyennes utilisent un stockage à plusieurs niveaux avec des données se déplaçant entre les niveaux selon un calendrier. Dans le même temps, la taille du bloc de stockage multiniveau pour les meilleurs modèles est de 256 Mo. Ces fonctionnalités ne nous permettent pas de considérer la technologie de stockage hiérarchisé comme une technologie permettant d’augmenter la productivité, comme beaucoup le croient à tort. Le stockage à plusieurs niveaux dans les systèmes de classe basse et moyenne est une technologie permettant d'optimiser les coûts de stockage pour les systèmes présentant des irrégularités de charge prononcées.

Pour le stockage hiérarchisé, les performances du niveau supérieur sont calculées en premier, tandis que le niveau de stockage inférieur est considéré comme contribuant uniquement à la capacité de stockage manquante. Pour un système hybride multiniveau, il est obligatoire d'utiliser la technologie de cache flash pour le pool multiniveau afin de compenser la baisse de performances due aux données soudainement chauffées du niveau inférieur.

Utilisation d'un SSD dans un pool de disques hiérarchisé

Conception de centre de données virtualisé

L'utilisation de disques SSD dans un pool de disques multi-niveaux varie en fonction de la mise en œuvre spécifique des algorithmes de cache Flash par un fabricant donné.
La pratique générale en matière de politique de stockage pour un pool de disques avec un niveau SSD est SSD d'abord.
Cache Flash en lecture seule. Pour un cache flash en lecture seule, la couche de stockage sur le SSD s'accompagne d'une localisation importante des écritures, quel que soit le cache.
Cache Flash en lecture/écriture. Dans le cas du cache flash, la taille du cache en écriture est d'abord définie sur la taille maximale du cache, et le niveau de stockage SSD apparaît uniquement lorsque la taille du cache est insuffisante pour gérer l'intégralité de la charge de travail localisée.
Les calculs de performances du SSD et du cache sont effectués à chaque fois sur la base des recommandations du fabricant, mais toujours pour le pire des cas.

Source: habr.com

Ajouter un commentaire