Mon entreprise essaie de déterminer le type de SAN à acheter. Ceci est spécifiquement pour les serveurs de base de données qui deviennent limités en E / S (le stockage est actuellement DAS, mais nous atteignons la limite d'un seul serveur et nous aimerions également ajouter le clustering).
Nous avons besoin d'une solution qui produira environ 3000 IOPS à long terme (nous atteignons actuellement environ 1000 IOPS). La plupart de nos opérations de base de données sont de petites lectures / écritures. Sur la base de discussions avec des ingénieurs HP et d'autres personnes en ligne, un HP P2000 avec 24 disques durs SAS dans une configuration RAID 10 fournira juste en deçà de cette vitesse pour environ 20 000 $. Ajouter des contrôleurs et d'autres éléments pour construire le SAN nous place autour de notre budget maximum de 30 000 $.
Mais en ligne, je constate que de nombreux SSD SAS offrent des vitesses de 80 000 IOPS +. Est-ce réaliste d'attendre? Dans l'affirmative, serait-il réaliste d'obtenir un P2000 ou un SAN d'entrée de gamme similaire et d'y ajouter quelques SSD? Nos bases de données sont petites, seulement quelques TB au total. Si nous faisions cela, nous aurions de l'argent pour acheter un deuxième SAN pour la mise en miroir / basculement, ce qui semble prudent.
la source
Réponses:
Je peux parler des détails de ce que vous essayez d'accomplir. Honnêtement, je ne considérerais pas un HP P2000 / MSA2000 d'entrée de gamme pour votre usage.
Ces périphériques ont de nombreuses limitations et, du point de vue des fonctionnalités SAN, ne sont rien de plus qu'une boîte de disques. Pas de hiérarchisation, pas de mise en cache intelligente, un maximum de 16 disques dans un groupe de disques virtuels , de faibles capacités IOPS, une mauvaise prise en charge des SSD (en particulier sur l'unité que vous avez sélectionnée).
Vous devrez passer au HP MSA2040 pour voir tout avantage de performance ou support officiel avec les SSD. De plus, voulez-vous vraiment utiliser iSCSI?
Le DAS peut être votre meilleure option si vous pouvez tolérer le stockage local. Le stockage flash PCIe sera inclus dans votre budget, mais la capacité devra être soigneusement planifiée.
Pouvez-vous élaborer sur les spécifications de vos serveurs actuels? Marque / modèle, etc.
Si la mise en cluster est un must-have, une autre option est de faire l'unité HP MSA2040, mais utilisez une unité SAS au lieu d'iSCSI. Ceci est moins coûteux que les autres modèles, vous permet de connecter 4 à 8 serveurs, offre une faible latence et un excellent débit et peut toujours prendre en charge les SSD. Même avec les modèles Fibre ou iSCSI, cette unité vous offrirait plus de flexibilité que celle que vous avez liée.
la source
La règle de base que j'utilise pour les disques IO est la suivante:
75 IOP par broche pour SATA.
150 IOP par broche pour FC / SAS
1500 IOP par broche pour SSD.
Les IOP par baie prennent également en compte les IOP par téraoctet. Il n'est pas rare de se retrouver avec un très mauvais rapport IOP par To si l'on fait SATA + RAID6. Cela peut ne pas sembler trop, mais vous vous retrouverez souvent avec quelqu'un qui repérera de «l'espace libre» sur un tableau et voudrez l'utiliser. Il est courant que les gens achètent des concerts et ignorent les iops, alors que le contraire est vrai dans la plupart des systèmes d'entreprise.
Ajoutez ensuite le coût de la pénalité d'écriture pour le RAID:
La pénalité en écriture peut être partiellement atténuée par de belles caches d'écriture et dans les bonnes circonstances. Si vous avez beaucoup d'E / S d'écriture séquentielle (comme les journaux DB), vous pouvez réduire ces pénalités d'écriture sur RAID 5 et 6 de manière assez significative. Si vous pouvez écrire une bande complète (par exemple un bloc par broche), vous n'avez pas à lire pour calculer la parité.
Supposons un ensemble RAID 6 8 + 2. En fonctionnement normal pour une seule E / S d'écriture, vous devez:
Avec une écriture pleine bande mise en cache - par exemple, 8 «morceaux» consécutifs de la taille de la bande RAID, vous pouvez calculer la parité sur l'ensemble du lot, sans avoir besoin d'une lecture. Vous n'avez donc besoin que de 10 écritures - une pour chaque donnée et deux parités.
Cela rend votre pénalité en écriture 1.2.
Vous devez également garder à l'esprit que l'écriture d'E / S est facile à mettre en cache - vous n'avez pas besoin de l'obtenir sur le disque immédiatement. Il fonctionne sous une contrainte de temps douce - tant que, en moyenne, vos écritures entrantes ne dépassent pas la vitesse de la broche, elles pourront toutes s'exécuter à la «vitesse du cache».
La lecture d'E / S, en revanche, souffre d'une contrainte de temps difficile - vous ne pouvez pas terminer une lecture tant que les données n'ont pas été récupérées. Les algorithmes de mise en cache de lecture et de chargement de cache deviennent importants à ce stade - les modèles de lecture prévisibles (par exemple séquentiels, comme vous le feriez avec la sauvegarde) peuvent être prédits et prélus, mais les modèles de lecture aléatoires ne le peuvent pas.
Pour les bases de données, je vous suggère généralement de supposer que:
la plupart de vos E / S de base de données sont lues au hasard. (par exemple, mauvais pour l'accès aléatoire). Si vous pouvez vous permettre la surcharge, RAID1 + 0 est bon - car les disques en miroir offrent deux sources de lectures.
la plupart de vos entrées / sorties «log» sont des écritures séquentielles. (par exemple, bon pour la mise en cache, et contrairement à ce que de nombreux administrateurs de base de données suggèrent, vous souhaiterez probablement RAID50 plutôt que RAID10).
Le rapport des deux est difficile est difficile à dire. Cela dépend de ce que fait la DB.
Parce que les E / S en lecture aléatoire sont le pire des cas pour la mise en cache, c'est là que le SSD entre vraiment en jeu - de nombreux fabricants ne prennent pas la peine de mettre en cache le SSD car il est de toute façon à peu près à la même vitesse. Ainsi, en particulier pour les choses comme les bases de données temporaires et les index, le SSD offre un bon retour sur investissement.
la source
Votre analyse est assez correcte.
Utilisez quelques disques durs pour beaucoup de Go et beaucoup de disques durs pour quelques IOps.
Utilisez quelques SSD pour de nombreux IOP et de nombreux SSD pour quelques Go
Qu'est-ce qui est le plus important pour toi? L'espace est le principal facteur de coût pour les solutions SSD, car le prix par Go est beaucoup plus élevé. Si vous parlez d'une base de données de 200 Go nécessitant des IOP 4K, une paire de SSD vous y mènera. Ou une baie de 24 disques de 15 000 disques, vous laissant beaucoup d'espace pour le stockage en vrac.
Le nombre d'E / S que vous obtiendrez réellement de ces SSD varie beaucoup en fonction de l'infrastructure de stockage (ewwhite en parlera), mais il est raisonnable d'obtenir ce type de vitesses. Surtout avec Raid10, où la parité n'est pas calculée.
la source
J'ai récemment construit une paire de serveurs de stockage pour mon employeur, en utilisant le châssis Dell C2100, exécutant FreeBSD 10.1 avec douze disques SATA d'entreprise Western Digital «SE» de 2 To à 7200 tr / min. Les disques sont dans un seul pool ZFS composé de deux périphériques virtuels RAIDZ-2 à 6 disques (vdevs). Attachés au pool sont une paire de SSD Intel DC S3500 qui sont protégés par supercap contre les coupures de courant, ils sont utilisés à la fois comme SLOG et L2ARC. En testant ce serveur sur iSCSI, j'ai pu atteindre 7500-8200 IOPS. Notre coût total, disques durs compris, était d'environ 2700 $ par serveur.
Pendant le fonctionnement de ces systèmes basés sur BSD, l'une de nos unités SAN HP MSA2012i a rencontré deux défauts de contrôleur, et notre autre unité MSA2012i a corrompu un grand volume NTFS nécessitant 12 heures d'indisponibilité pour réparer.
Dell et HP vous vendent 10% de matériel et 90% de promesse d'assistance que vous ne pourrez jamais utiliser.
la source