NOTA : Ce billet est repris du site Technet de Microsoft (voir lien de la source en fin d'article)
Pour obtenir des informations plus détaillées sur le cache, consultez Fonctionnement du cache dans les espaces de stockage direct.
Les espaces de stockage direct sont disponibles pour trois types de dispositifs de stockage :
|
NVMe (Non-Volatile Memory Express) désigne des disques SSD situés directement sur le bus PCIe. Les facteurs de forme courants sont les suivants : U.2 2,5 pouces, PCIe Add-In-Card (AIC) et M.2. NVMe offre un plus haut débit d’E/S par seconde et d’E/S ainsi qu’une latence plus faible que tous les autres types de disques actuellement pris en charge. |
|
SSD désigne les disques SSD connectés via un SATA ou un SAS classique. |
|
HDD désigne les disques durs de rotation magnétiques qui offrent une grande capacité de stockage. |
Les performances et la capacité des espaces de stockage direct dépendent des dispositifs de stockage sous-jacents, mais aussi de la façon dont vous configurez la résilience de vos volumes. Vous avez le choix entre plusieurs types de résilience avec des capacités de stockage différentes.
Choisissez cette option si vous souhaitez garantir une latence homogène et prévisible inférieure à une milliseconde pour toutes les opérations aléatoires de lecture et d’écriture de données, ou si vous voulez permettre un très grand nombre d’E/S (nous en avons réalisé plus de six millions !) ou d’opérations d’E/S par seconde (nous en avons réalisé plus d’1 To/s !).
Choix des types de dispositifs
Vous devez opter pour une solution « 100 % flash ». Vous avez actuellement trois moyens pour y parvenir :
- Uniquement des disques NVMe. L’utilisation de disques NVMe uniquement offre des performances sans égal, en plus d’une faible latence hautement prévisible. Si tous vos disques sont du même modèle, il n’y a pas de cache. Vous pouvez également combiner des modèles de disques NVMe plus ou moins endurants, en configurant les modèles à haute endurance pour mettre en cache les écritures sur les modèles à plus faible endurance (nécessite une configuration).
- Disques NVMe + SSD. Si vous utilisez un disque NVMe avec des disques SSD, le NVMe met automatiquement en cache les écritures sur les SSD. De cette manière, les écritures sont regroupées dans le cache et déstockées uniquement si nécessaire, afin de réduire la charge sur les SSD. Les caractéristiques d’écriture sont similaires au NVMe, mais les lectures sont effectuées directement à partir des SSD rapides.
- Disques SSD uniquement. Comme pour l’option avec uniquement des NVMe, il n’y a pas de cache si tous vos disques sont du même modèle. Si vous combinez des modèles de disques plus ou moins endurants, vous pouvez configurer les modèles à haute endurance pour mettre en cache les écritures sur les modèles à plus faible endurance (nécessite une configuration).
Remarque
L’un des avantages d’utiliser uniquement des disques NVMe ou SSD sans cache est que vous exploitez toute la capacité de stockage de chaque disque. Aucune partie de la capacité n’est utilisée pour la mise en cache, ce qui peut être intéressant pour les déploiements à petite échelle.
Choix des types de résilience
Pour optimiser les performances, tous les volumes doivent utiliser la mise en miroir pour la résilience. Sauf si vous n’avez que deux serveurs, nous vous recommandons vivement d’utiliser la mise en miroir triple, car elle offre une plus grande tolérance de panne et de meilleures performances.
Conseil
La mise en miroir est plus rapide que n’importe quel autre type de résilience.
Vous avez le choix entre plusieurs options intéressantes si votre environnement se compose d’applications et de charges de travail qui n’ont pas les mêmes exigences en termes de performances et dont certaines ont besoin d’une très grande capacité de stockage.
Choix des types de dispositifs
Vous devez opter pour une solution « hybride » avec un NVMe ou des SSD assurant la mise en cache pour les disques HDD les plus gros.
-
NVMe + HDD. Les disques NVMe accélèrent les opérations de lecture et d’écriture en les mettant toutes en cache. La mise en cache des lectures permet aux disques HDD de traiter en priorité les opérations d’écriture. La mise en cache des écritures absorbe les pics d’opérations et permet de regrouper les écritures et de les déstocker uniquement si nécessaire, d’une manière sérialisée artificielle qui optimise le débit d’E/S par seconde et d’E/S des disques HDD. Les caractéristiques d’écriture sont similaires au NVMe. Pour les données lues récemment ou fréquemment, les caractéristiques de lecture sont également similaires au NVMe.
-
SSD + HDD. Comme pour les disques précédents, les disques SSD accélèrent les opérations de lecture et d’écriture en les mettant toutes en cache. Les caractéristiques d’écriture sont similaires au disque SSD. Pour les données lues récemment ou fréquemment, les caractéristiques de lecture sont également similaires au disque SSD.
Il y a une autre option, plus marginale, qui consiste à utiliser des disques des trois types.
-
Disques NVMe + SSD + HDD. Si vous utilisez des disques des trois types, le disque NVMe assure la mise en cache pour les autres disques. L’avantage est que cela vous permet de créer des volumes sur les disques SSD et sur les disques HDD, côte-à-côte dans le même cluster et optimisés par le disque NVMe. Les premiers fonctionnent exactement comme dans un déploiement « 100 % flash » et les seconds fonctionnent exactement comme dans un déploiement « hybride », comme décrit plus haut. D’un point de vue conceptuel, cela revient à avoir deux pools, avec une gestion indépendante de la capacité, des cycles d’échec et de réparation, etc.
Important
Sur le plan des performances, il n’y a pas de différence significative par rapport à l’utilisation d’un seul volume fractionné entre des disques des trois types. Ne créez pas de volumes fractionnés sur des disques SSD et HDD dans des déploiements contenant des disques des trois types. Les disques NVMe suffisent à accélérer toutes les opérations d’E/S pour les données les plus actives en les mettant en cache et en les déstockant en temps réel.
Choix des types de résilience
Nous recommandons que tous les volumes utilisent la mise en miroir pour la résilience. Sauf si vous n’avez que deux serveurs, nous vous recommandons vivement d’utiliser la mise en miroir triple, car elle offre une plus grande tolérance de panne.
Remarque
Nous déconseillons l’utilisation combinée de la mise en miroir et de la résilience de parité pour les charges de travail générales. Nous espérons offrir cette possibilité dans le futur quand nous aurons suffisamment amélioré nos technologies. Nous recommandons cette option dans l’optique d’optimiser la capacité (voir ci-après).
Option 3 : Optimisation de la capacité
Choisissez cette option si vous avez des charges de travail avec des écritures peu fréquentes ou des charges de travail nécessitant de nombreuses opérations séquentielles, comme l’archivage, les cibles de sauvegarde ou le stockage de données passives (« froides »).
Choix des types de dispositifs
Vous devez utiliser quelques disques SSD pour la mise en cache conjointement avec de nombreux disques HDD de grande capacité.
- SSD + HDD. Les disques SSD assurent la mise en cache des lectures et des écritures, pour absorber les pics d’opérations et offrir les performances d’écriture des SSD, et les déstockent seulement quand nécessaire sur les disques HDD pour optimiser la capacité.
Choix des types de résilience
Pour l’archivage, les cibles de sauvegarde et le stockage de données passives (« froides »), nous recommandons de combiner la mise en miroir et la résilience de parité pour accélérer le codage d’effacement grâce à la mise en miroir. La plus petite partie mise en miroir accélère le traitement des opérations et amortit les pics de calcul générés par le codage de la parité à l’entrée d’écritures volumineuses.
Pour déterminer la taille des parties du volume utilisées pour la mise en mémoire et la parité, l’idéal est de prévoir une taille de miroir suffisante pour toutes les écritures à effectuer simultanément (comme c’est le cas lors des sauvegardes quotidiennes). Par exemple, si vous devez traiter 100 Go par jour en une seule opération, prévoyez un miroir de 150 Go à 200 Go.
Considérations relatives à la taille
Cache
Chaque serveur doit avoir au minimum deux lecteurs de cache pour assurer la redondance. Ces lecteurs peuvent être associés à des lecteurs de capacité à raison de 1 pour 1 ou selon tout autre ratio jusqu’à 1 pour 12 et plus. Nous vous recommandons de choisir un nombre de lecteurs de capacité qui soit un multiple du nombre de lecteurs de cache. Par exemple, si vous avez quatre lecteurs de cache, vous obtiendrez des performances plus équilibrées avec huit lecteurs de capacité (ratio de un pour deux) plutôt qu’avec sept ou neuf.
La taille du cache doit être suffisante pour prendre en charge la plage de travail de vos applications et charges de travail, autrement dit toutes les données qu’elles lisent et écrivent de manière active à un moment donné. Il n’y a pas d’autre exigence pour la taille du cache. Pour les déploiements standard, nous vous recommandons de prévoir au départ 10 % de votre capacité. Par exemple, si chaque serveur a 4 disques HDD de 4 To, représentant une capacité de 16 To, prévoyez 2 disques SSD de 800 Go, soit 1,6 To, comme taille de cache par serveur. Vous pouvez ajuster la taille à tout moment en ajoutant ou en supprimant des lecteurs de cache.
Général
Nous recommandons de limiter la capacité de stockage totale par serveur à environ 100 téraoctets (To). Plus la capacité de stockage par serveur est élevée, plus il faut de temps pour resynchroniser les données après un arrêt ou un redémarrage (par exemple, pour appliquer des mises à jour logicielles).
Actuellement, la taille maximale par pool de stockage est de 1 pétaoctets (Po), soit 1 000 téraoctets (To).