31 votes

Vitesse d'écriture requise : 1.1GB/s possibilités ?

Nous aurons une machine au travail, qui, au maximum de ses performances, devrait pouvoir pousser 50 ("têtes d'écriture") x 75GB de données par heure. Cela représente une performance de pointe de ~1100MB/s en vitesse d'écriture. Pour obtenir cela de la machine, il faut deux lignes de 10GBi. Ma question est la suivante : quel type de serveur et de technologie peut gérer/stocker un tel flux de données ?

Actuellement, pour le stockage des données, nous travaillons avec ZFS, bien que les vitesses d'écriture n'aient jamais été un problème. (nous ne sommes même pas proches de ces vitesses) ZFS (zfs sur linux) serait-il une option ? Nous avons également besoin de stocker beaucoup de données, le "guide informatique" suggère quelque chose entre 50-75 TB au total. Donc, il ne peut probablement pas y avoir que des SSD, sauf si nous voulons offrir notre premier enfant.

Quelques ajouts basés sur les excellentes réponses :

  • le maximum est de 50x75GB/heure pendant la période de pointe qui est inférieure à 24h (la plupart des probablement <6h)
  • Nous ne nous attendons pas à ce que cela se produise bientôt, mais il est plus probable que nous 5-10x75GB/heure
  • il s'agit d'une machine pré-alpha, mais les exigences devraient être satisfaites (même si de nombreux points d'interrogation sont en jeu).
  • nous utiliserions NFS comme connexion de la machine au serveur
  • disposition : machine génératrice -> stockage (celui-ci) -> (raid 6 sécurisé) -> cluster de calcul
  • donc la vitesse de lecture n'est pas essentielle mais il serait agréable de l'utiliser à partir du cluster de calcul (mais c'est totalement facultatif).
  • il s'agira très probablement de gros fichiers de données (pas beaucoup de petits)

23voto

shodanshok Points 42743

Pour une vitesse d'écriture aussi extrême, je vous conseille de ne pas utiliser ZFS, BTRFS ou tout autre système de fichiers CoW. J'utiliserais plutôt XFS, qui est extrêmement efficace sur les transferts volumineux/en continu.

Il manque de nombreuses informations (comment comptez-vous accéder à ces données ? la vitesse de lecture est-elle importante ? allez-vous écrire en gros morceaux ? etc.) pour vous donner des conseils spécifiques, mais voici quelques conseils généraux :

  • utiliser XFS au-dessus d'une partition brute ou d'un gros volume LVM (ne pas utiliser de volumes fins)
  • ajuster la taille des ioblocks pour faire face efficacement aux écritures de données volumineuses
  • utilisez une carte RAID matérielle avec un cache d'écriture protégé contre les pertes de puissance ; si l'utilisation du RAID matériel est hors de question, utilisez un schéma RAID10 logiciel (en évitant tout mode RAID basé sur la parité)
  • utiliser deux interfaces réseau 10Gb/s avec LACP (agrégation de liens)
  • assurez-vous d'activer les Jumbo Frames
  • comme vous allez utiliser NFS, pensez à utiliser pNFS (v4.1) pour une évolutivité accrue
  • sûrement beaucoup d'autres choses...

19voto

ewwhite Points 193555

Absolument... ZFS sur Linux est une possibilité si l'architecture est correcte. Il existe de nombreux cas de mauvaise conception de ZFS mais si elle est bien faite, vos exigences peuvent être satisfaites.

Le principal facteur déterminant sera donc la manière dont vous vous connecterez à ce système de stockage de données. Est-ce NFS ? CIFS ? Comment les clients se connectent-ils au stockage ? Ou bien le traitement, etc. est-il effectué sur le système de stockage ?

Remplissez quelques détails supplémentaires et nous verrons si nous pouvons vous aider.

Par exemple, s'il s'agit de NFS et de montages synchrones, il est tout à fait possible de faire évoluer ZFS sous Linux pour répondre aux besoins de performance en écriture tout en maintenant la capacité de stockage requise à long terme. Les données sont-elles compressibles ? Comment chaque client est-il connecté ? Gigabit ethernet ?


Edita:

Ok, je vais mordre :

Voici une spécification qui est approximativement 17 000 $ à 23 000 $. et tient dans un espace de rack 2U.

HP ProLiant DL380 Gen9 2U Rackmount
2 x Intel E5-2620v3 or v4 CPUs (or better)
128GB RAM
2 x 900GB Enterprise SAS OS drives 
12 x 8TB Nearline SAS drives
1 or 2 x Intel P3608 1.6TB NVMe drives

Cette configuration vous fournira 80 To d'espace utilisable en utilisant soit le RAID6 matériel, soit le RAIDZ2 ZFS.

Puisque l'accent est mis sur les performances basées sur NFS (en supposant des écritures synchrones), nous pouvons absorber tous ces éléments facilement avec les disques NVMe P3608 (SLOG en bandes). Ils peuvent accueillir 3 Go/s en écritures séquentielles et ont un indice d'endurance suffisamment élevé pour gérer en continu la charge de travail que vous avez décrite. Les disques peuvent facilement être surprovisionnés pour ajouter des protections dans un cas d'utilisation SLOG.

Avec la charge de travail NFS, les écritures seront regroupées et évacuées sur le disque rotatif. Sous Linux, nous réglerions cela pour un vidage toutes les 15-30 secondes. Les disques rotatifs peuvent gérer cela et peuvent même en bénéficier davantage si ces données sont compressibles.

Le serveur peut être étendu avec 4 autres emplacements PCIe ouverts et un port supplémentaire pour les adaptateurs FLR 10GbE à double port. Vous disposez donc d'une grande souplesse de mise en réseau.

4voto

Chopper3 Points 99341

L'Ethernet à 25 Gbps est déjà à la limite du courant dominant, tandis que le NVMe à base de PCIe absorbera facilement ce trafic.

À titre de référence, j'ai récemment construit une petite solution de " capture de logs " en utilisant quatre serveurs ordinaires à deux hexagones (HPE DL380 Gen9s dans ce cas), chacun avec 6 disques NVMe. J'ai utilisé l'IP sur Infiniband, mais ces NIC à 25/40Gbps seraient les mêmes et nous capturons jusqu'à 8GBps par serveur - cela fonctionne à merveille.

En gros, ce n'est pas bon marché mais c'est très faisable de nos jours.

2voto

Luke McCarthy Points 31

Ça n'a pas l'air d'être un gros problème. Notre fournisseur local de matériel informatique a ce produit en tant que produit standard - Apparemment, il peut pousser 1400MB/s en mode d'enregistrement CCTV, ce qui devrait être plus difficile que vos besoins de pointe.

(Le lien renvoie à la configuration par défaut de 12 Go, mais il est précisé que l'option 20x4 To est également possible. Aucune expérience personnelle avec ce modèle particulier de serveur).

2voto

honzas Points 551

Les écritures séquentielles à 1100MB/s ne sont pas un problème avec le matériel moderne. A titre anecdotique, ma configuration domestique avec 8 disques d'ordinateur portable à 5900 tours/minute, 2 disques à 15000 tours/minute et 2 disques à 7200 tours/minute permet de maintenir 300 Mo/s avec une charge utile unique de 16 Go.

Le réseau est un 10GbE avec des câbles en fibre, 9000 MTU sur ethernet, et la couche application est Samba 3.0. Le stockage est configuré en raid50 avec trois bandes sur trois volumes raid5 à 4 disques. Le contrôleur est un LSI MegaRAID SAS 9271-8i avec jusqu'à 6Gb/s par port (j'ai un port-multiplicateur supplémentaire, plus lent).

Demandez à n'importe quel administrateur système expérimenté et il devrait être en mesure de vous dire exactement quel(s) contrôleur(s) et quels disques répondraient à vos besoins.

Je pense que vous pouvez essayer avec n'importe quel contrôleur 12Gb/s et configurer deux bandes en miroir de huit disques 7200 RPM chacune (presque n'importe quel disque devrait faire l'affaire). Démarrez 3-4 connexions TCP pour saturer le lien et si une seule paire de cartes 10GbE ne peut pas le gérer, utilisez quatre cartes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X