Je voudrais construire un serveur de stockage (basé sur GNU / Linux ou FreeBSD) qui sera allumé tout le temps. Pour éviter la corruption des données (ce qui est peu probable car je n'ai jamais eu un tel problème, mais mieux vaut prévenir que guérir), je voudrais utiliser la RAM ECC.
Bien qu'il ne soit pas aussi bon que l'EDD (?) (Ce qui est beaucoup plus cher) et offre une protection supplémentaire. ECC semble corriger uniquement les erreurs sur un seul bit.
La RAM enregistrée ECC n'est utilisable qu'avec des cartes de station de travail / serveur telles que Intel Xeon ou AMD interlagos / magny-cours / valence g34 ou c32.
ECC sans tampon est utilisable sur Intel Xeon lga1155 ou AMD AM3 + sur les cartes Asus.
La deuxième option sera beaucoup moins chère du côté du processeur et de la carte mère, et je doute que j'aurai besoin de plus de 16 Go de RAM (4x4 Go ECC sans tampon sont les plus gros bâtons abordables).
Le doute que j'ai est (principalement concernant la carte asus am3 +): la RAM sans tampon ECC est-elle aussi bonne que la RAM enregistrée ECC (du point de vue de la sécurité et de la fiabilité)? Ou est-ce un pire choix. Je ne me soucie pas beaucoup de la vitesse.
Plus de détails: le serveur utilisera un boîtier de serveur avec jusqu'à 24 disques 3,5 '' et devrait consommer le moins possible. Le LGA1155 semble être en ce sens un meilleur pari (TDP ~ 20-95W) par rapport aux autres (> 80W) pour le double du prix. Toute suggestion est la bienvenue. Disons moins de 120W au repos (~ avec 10 disques durs sur 24).
la source
Réponses:
Eh bien, si vous n'utilisez que 16 Go de RAM - ce qui n'est pas une gamme de RAM de serveur - vous serez bien avec un RAM / sys de bureau assez standard.
S'il ne s'agit que d'un serveur de stockage, vous n'aurez même pas besoin de beaucoup de performances CPU.
Comme vous l'avez dit, optez pour le pont Sandy, il vous donnera un système cool, performant et fiable.
En parlant de plages de RAM de 16 Go, vous n'avez pas à vous soucier des trucs ECC.
la source
Correct. Pour corriger plus d'erreurs, il faudrait plus de bits. En l'état, vous utilisez déjà 10 bits pour stocker 8 bits d'informations, «gaspillant» 20% des puces mémoire pour permettre une correction sur un seul bit et jusqu'à deux bits de détection d'erreur.
Cela fonctionne comme suit. Imaginez un
0
ou un1
. Si je lis l'un ou l'autre, je dois simplement espérer avoir lu la bonne chose. Si un 0 est devenu un 1 par un rayonnement cosmique ou par une mauvaise puce, je ne le saurai jamais.Dans le passé, nous avons essayé de résoudre ce problème avec parité. La parité ajoutait un neuvième bit par 8 bits stockés. Nous avons vérifié le nombre de zéros et le nombre de 1 dans l'octet. Le neuvième devait en faire un nombre pair. (pour une parité égale) Si vous avez déjà lu un octet et que le nombre était faux, alors vous saviez que quelque chose n'allait pas. Cependant, vous ne savez pas quel morceau était faux.
ECC a développé cela. Il utilise 10 bits et un algorithme complexe pour découvrir quand un seul bit a basculé. Il sait également quelle était la valeur d'origine. Un moyen très simple d'expliquer comment cela se fait:
Remplacez tous les
0
s par000
. Remplacez tous les1
s par111
.Vous pouvez maintenant lire six combinaisons:
000
001
010
100
101
111
Nous ne sommes jamais sûrs à 100% de ce qui a été stocké à l'origine. Si nous lisons,
000
cela aurait pu être exactement ce à000
quoi nous nous attendions, ou les trois bits auraient pu basculer. Ce dernier est très improbable. Les bits ne retournent pas au hasard, bien que cela se produise. Disons que cela se produit une fois sur dix pour des calculs faciles (la réalité est beaucoup moins). Cela correspond aux chances suivantes de lire la valeur correcte:000
-> Soit000
(sûr à 99,9%), soit un triple flip (1/1000 chance)001
-> Nous savons que quelque chose a mal tourné. Mais c'était le cas000
et un bit a été renversé (1:10 chance), ou c'était le cas111
et deux bits ont été retournés (une chance de 1: 100). Alors, traitons-le comme si nous lisions000
mais enregistrions l'erreur.010
-> Comme ci-dessus.100
-> Comme ci-dessus.011
-> Identique à ci-dessus, mais en supposant qu'il s'agissait d'un111
101
-> Identique à ci-dessus, mais en supposant qu'il s'agissait d'un111
110
-> Identique à ci-dessus, mais en supposant qu'il s'agissait d'un111
111
-> Soit111
(sûr à 99,9%), soit un triple flip (1/1000 chance)111
-> Soit000
(sûr à 99,9%), soit un triple flip (1/1000 chance)Les ECC font des tours similaires mais le font plus efficacement. Pour 8 bits (un octet), ils n'utilisent que 10 bits pour détecter et corriger.
J'ai déjà mentionné ce qu'était la partie ECC, maintenant la partie enregistrée vs non tamponnée.
Dans les processeurs modernes, le contrôleur de mémoire est sur la puce du processeur, depuis longtemps pour les puces AMD Opteron et avec la série Core i pour Intel. La plupart des processeurs de bureau communiquent alors directement avec les sockets DIMM contenant la RAM. Cela fonctionne et aucune logique supplémentaire n'est nécessaire. C'est peu coûteux à construire et la vitesse est élevée car il n'y a pas de retard entre le contrôleur de mémoire et la RAM.
Mais un contrôleur de mémoire ne peut piloter un courant limité qu'à des vitesses élevées. Cela signifie qu'il y a une limite au nombre de sockets mémoire pouvant être ajoutés à une carte mère. (Et pour le rendre plus complexe, à combien les modules DIMM peuvent utiliser, ce qui conduit à des rangs de mémoire. Je vais sauter cela car c'est déjà long).
Sur les cartes serveur, vous souhaitez souvent utiliser plus de mémoire qu'un système de bureau. Par conséquent, un tampon "registre" est ajouté à la mémoire. Les lectures des puces du module DIMM sont d'abord copiées dans ce tampon. Un cycle d'horloge plus tard, ce tampon se connecte au contrôleur de mémoire pour transférer les données.
Ce tampon / registre retarde les choses, rendant la mémoire plus lente. C'est indésirable et donc il n'est utilisé / nécessaire que sur des cartes qui ont beaucoup de banques de mémoire. La plupart des cartes grand public n'en ont pas besoin et la plupart des processeurs grand public ne le prennent pas en charge.
RAM directement connectée et non tamponnée vs RAM tamponnée / enregistrée n'est pas un cas où l'un est meilleur ou pire que l'autre. Ils ont juste des compromis différents en termes de nombre d'emplacements de mémoire que vous pouvez avoir. La RAM enregistrée permet plus de RAM au prix d'une certaine vitesse (et éventuellement de dépenses). Dans la plupart des cas, lorsque vous avez besoin d'autant de mémoire que possible, cette mémoire supplémentaire compense largement la RAM fonctionnant à une vitesse légèrement plus lente.
Du point de vue de la sécurité et de la stabilité, ECC sans tampon et ECC enregistré sont les mêmes.
24 disques vont consommer beaucoup d'énergie. Combien dépend des lecteurs. Mon disque SAS de 140 Go à 15 000 tr / min consomme à peine 10 watts au ralenti, comme le disque 1 To SATA 7k2. À l'utilisation, les deux dessinent plus.
Multipliez cela par 24. 24 x 10 watts au ralenti signifie 240 watts juste en gardant les disques en rotation, surmontant la résistance à l'air. Doublez-le pour l'utiliser.
Intel est meilleur pour les processeurs à faible consommation, au moment de la rédaction et pour les processeurs que vous avez mentionnés.
Si vous optez pour FreeBSD, regardez attentivement ZFS. Ça peut être génial. Beaucoup de ses fonctionnalités plus avancées (par exemple la déduplication et / ou la compression) utilisent une puissance CPU importante et veulent beaucoup de mémoire. ZFS pour une utilisation de base avec ZRAID fera l'affaire sur les deux ensembles de processeurs que vous avez mentionnés et avec 16 Go, mais si vous activez des fonctionnalités telles que la déduplication, vous devez examiner attentivement la mémoire recommandée nécessaire pour la capacité de votre disque; jusqu'à 5 Go par To de stockage est recommandé par certains guides .
Deux autres choses:
la source
Deux questions distinctes.
ECC contre non ECC
Enregistré vs sans tampon:
la source