Build pour du stockage reseaux en NVMe sur un reseau 10G/40GB

a marqué ce sujet comme résolu.

Bonjour,

Comme vous avez pu le constater avec ce sujet, ou celui-ci, je suis une bille en materiel et en reseau. C’est pourquoi je reviens avec ce sujet et d’autres idees debiles et beaucoup trop dures a mettre en place par moi meme. :D

Grosso-modo, mon objectif est de construire un NAS pour tres peu d’utilisateurs (domestique, on va dire 2 a 5 clients max, en moyenne 1) sur un reseau 10Gb et eventuellement 40Gb. Il y peut-etre moyen d’avoir de l’aggregation 2x10GB, du WIFI 6e et du Thunderbolt x1 ou x2.

Il faut savoir que le NAS ne fera pas que de la sauvegarde a froid mais aussi et surtout sera un des piliers de mon infra: toutes mes VMs et containers utiliseront du stockage sur le NAS mais auront aussi leur boot/image dessus. L’utilisation a terme c’est que ce NAS soit dans un cluster Proxmox et/ou openshift et servent le stockage a chaud et a froid pour l’integralite de l’hyperviseur. Pour donner un example, prenons une application native quelconque comme Obsidian. Celle-ci est contenairisee et disponible sur le reseau local via KasmVNC - l’acces pouvant se faire via un thin-client quelconque -. Le NAS expose au moins deux endpoints (pour simplifier): le premier qui contient le containeur lui-meme qui est monte directement sur le compute node du cluster, et un second de "stockage" qui est monte dans le containeur lui meme pour permettre le bon fonctionnement de l’application.

Si j’explique cela c’est parce que je me doute que ce genre d’utilisation donne lieu a des contraintes differentes qu’un NAS qui ne sert que de sauvegarde a froid de donnees.

Je detaille mon raisonnement parce que je suis peut-etre completement a cote de la plaque.

  • Je souhaite partir sur du SSD pour eviter le bruit et avoir une plus grande duree de vie
  • En terme d’interface, j’ai exclu le SATA qui monte a 0.5GB/s et donc souhaite me tourner vers du tout NVMe
  • Idealement, il me faudrait au moins 8 disques (+ quelque chose sur la CM directement comme boot disk)

Pour les disques, un NVMe PCIe 3 avec 3.5GB/s suffit a saturer du 10Gb (1.250GB/s) mais pas du 40Gb - mais disons qu’on reste sur du 10Gb pour simplifier comme je n’ai pas la certitude de passer en 40Gb partout.

Pour gerer au moins 8 disques, j’ai trouve plusieurs solutions:

  • 2x PCIe risers avec bifurcation 4X4 mode(~80e pour les deux en PCIe 3.0)
  • 2x PCIe switches avec un PLX PEX 874x ce qui ne requiert pas de bifurcation (~300e pour deux avec frais de ports)
  • 2x ASUS Hyper M.2 X16 PCIe 4.0 X4 Expansion Card Supports 4 NVMe M.2 mais requiert un CM avec des slots "hyper M2".(~150e pour les deux)
  • 2x KONYEAD Quad PCIe 4.0 avec bifurcation 4X4 mode (~80e pour les deux en PCIe 4.0)
  • 1x HighPoint SSD7540 PCIe 4.0 x16 8-Port M.2 NVMe (~1500 euros)
  • 1x ICY Dock PCIe 4 with 8 x OCuLink (~1100 euros)

Je suis ouvert a d’autres idees evidemment.

Il me semble qu’il y a deux facteurs importants parmi ces options:

  1. PCIe 3.0 ou PCIe 4.0
  2. Bifurcation 4x4 ou non

(Q1) Si j’utilise une CM avec disons deux PCI 3.0 x16 et deux risers avec 4 ports chacun, il me faudrait en theorie un CPU avec au moins 32 lanes (sans compter d’autres cartes PCIe comme la carte reseau) ce qui ne semble pas exister, et du coup, le CPU serait le facteur limitant? Du coup, si je veux vraiment utiliser pleinement les disques, il me faudrait passer necessairement en PCIe 4, n’est-ce pas?

Si j’ai bon sur (Q1), il me semble que les deux options les moins cheres seraient de trouver une CM avec 2 slots PCIe 4.0 x16 qui supporte la biffurcation 4x4. Des idees de telles CMs? Une autre idee?

(Q2) Sinon, comme il me semble que le PCIe 3.0 n’est pas le facteur limitant pour les operations sur les disques, est-ce que cela sert a quelque chose d’utiliser des risers PCI 4.0? Probablement pas si les acces disques ne se font que sur le reseau qui est le facteur limitant? Du coup, est-ce que je pourrais prendre une CM avec 2x PCIe 4.0 (x8 ou x16) et utiliser soit les deux risers ou les deux PCIe switches en PCIe 3.0?

(Q3) La plupart des produits qui ne sont pas tout NVMe proposent des caches NVMe. Mais dans mon cas, si je suis en tout NVMe, y a-t-il un interet a avoir un cache? Peut-etre si j’avais beaucoup d’utilisateurs a la fois, ce qui n’est pas mon cas? Dans mon cas, un utilisateur est soit un acces direct depuis un PC comme stockage a froid, ou les deux ou trois compute nodes de mon reseau local pour servir les VM/containers.

Et evidemment, tout conseil ou remarque sur une telle aventure me serait utile et est le bienvenu.

Je n’ai pas de réponse à apporter à tes questions (trop pointues pour moi), mais le sujet m’interpelle, alors je demande quand même :

Quel est ton usage pour avoir un tel besoin de performances ? (c’est juste de la curiosité, pas de souci si tu ne veux pas répondre).

Quel est ton usage pour avoir un tel besoin de performances ? (c’est juste de la curiosité, pas de souci si tu ne veux pas répondre).

SpaceFox

Pour le plaisir ? Bidouiller, prototyper, essayer. De la même manière, j’ai câblé toute ma résidence en 10Ge/s et certaines parties en 40Ge juste "parce que" et pour apprendre.

Je crois que tu ne te rends pas compte du prix de la machine.

Avant de vouloir passer du temps, quel est ton budget estimatif ?

Pour les CPU, ne t’inquiète pas, on fait du 128 lanes chez AMD.

zeqL

Pas de limite de budget. Ça passera en frais d’entreprise. Après le but du jeu c’est de minimiser les coûts - hors disques - et la consommation électrique. S’il y a des compromis à faire, pas de soucis. Typiquement, c’est pour ça que je demandais si des risers PCIe 3.0 seraient suffisant sachant que le réseau va être assez vite limitant si je comprends bien.

EDIT: J’ai trouve cette CM qui me semble une bonne base: https://www.asrockrack.com/general/productdetail.asp?Model=X570D4I-2T

  • un PCIe 4.0 x16
  • 2 OcuLink + 1 M.2, les deux en PCI 4.0

Le compromis serait d’avoir du RJ45 et pas SFP+ mais je suppose que je peux survivre.

+0 -0

Je te conseille donc :

  • ASRock ROMED6U-2L2T Sockel SP3 CM Micro-ATX avec :
  • 2 x RJ45 10Gbps (liaison de backup)
  • 2 x RJ45 1Gbps (liaison contrôle)
  • 4 x PCIe 4.0 16x
  • SlimSAS / SATA
  • CPU : AMD Epyc 7282 16x 2.80GHz So.SP3 16 coeurs / 32 Thread pour un prix acceptable (autour de 450€), tu peux en prendre un avec plus de coeurs, je ne sais pas combien tu fais tourner de VM.

  • 64Go ou 128Go de RAM (DDR4) Pareil je ne sais pas combien il y a de VM

  • Carte réseau Mellanox (Nvidia) 2 x 25G ou 2 x 100Gbps

  • Stockage : Il reste 3 ports PCIe 16x, je te propose une solution évolutive et sécurisée avec une carte HighPoint SSD7505 qui semble comporter un contrôleur RAID (y a pas trop de détails) et qui ne comporte que 4 slots M.2.
    Le but c’est de faire fonctionner la carte en RAID 10.

Après il y a une version avec 8 ports M.2 si ca t’enchante. Mais tu fais évoluer la machine en rajoutant une carte (populée) dans un port.

Dans les SSD 2To, un Crucial P5 Plus, un WD Black SN850X ou un Samsung 980 Pro, en moyenne 200€. Avec le Raid 10 tu auras 4To en mirroir

  • Switch 25Gbps : Qnap QSW-M5216–1T

En terme de prix on est sur :

  • CM : 700€
  • CPU : 450€ (EPYC 7352, plus puissant est à 900€)
  • DDR : 150€ / 300€
  • Carte réseau 2 x 25G : 400€
  • Module stockage (1 x Highpoint SSD7505 + 4 x 2To) : 800€ + 800€ = 1600€

Avec tout le reste (SSD système, heatsink, boitier, etc.) on est sur une machine à au moins 4000€.

Après faut rajouter le prix du Qnap QSW-M5216–1T : 1500€. Plus les liaisons réseau (cable DAC ou fibre) et peut-être des cartes 25Gbps pour les PC user.

Si les 4To sont pleins, tu rajoute une carte "module stockage" pour environ 1600€. Tu peux prendre des cartes avec 8 M.2 si besoin.

Enfin pour des données qui ont besoin de moins de performance, tu peux brancher des disques en Sata ou sur les ports SlimSAS

Salut,

Je pense que j’ai mal exprime la separation entre l’existant et mes besoins.

J’ai deja les switches et toute mon infrastructure, clients compris, en 10G. C’est une contrainte non-negotiable et probablement le facteur limitant de tout ca. Pour plus de details, j’ai des switch Mikrotik et Qnaq 10G, avec AP Wifi 6. Je sers mes clients "domestiques" (comprendre projecteurs/TV, serveur multimedia, ce genre de choses) en RJ45 (10Base-T) et mes clients "pro" (comprendre mon bureau) soit en RJ45 (10Base-T) soit en fibre avec SFP+ (pas de DAC, j’ai ~17m lineaire du bureau au switch).

J’ai deja les serveurs qui font tourner les VM. Ce sont eux qui spawnent les VMs et containers. Ces serveurs sont dans un cluster Proxmox. Une VM avec TrueNas sur chaque noeud. Pour le moment, chacun a des petits SSD aggreges dans des volumes qui sont ensuite exposes a l’integralite du cluster. Petit detail: les serveurs existant seront a ~17m du NAS.

Mon but c’est donc de construire un noeud qui ne soit dedie qu’au stockage. Pas de VM autre que TrueNas. Je ne pense meme pas utiliser le noeud comme HA.

Du coup, je pense que je n’ai pas besoin d’un CPU overkill, ni de beaucoup de RAM, ni de 25 ou 100Gbps a priori(?).

Pour le coup, tu proposes le Highpoint SSD7505 que j’avais repere, mais c’est l’option la plus chere (meme si la plus simple a mettre en place: 8 slots sur un PCI 4.0 x16 et basta). De la meme maniere, la CM a 4x PCIe 4.0 x16, ce qui me semble overkill.

Que penses-tu de:

Il n’y a qu’un seul PCIe 4.0 x4 uplink entre le chipset X570 et le CPU mais dans mon cas, ca ne semble pas etre un soucis sachant que le seul truc en PCIe sur le chipset serait tout ce qui est reseau. Hightpoint et M.2. serait directement relies au CPU.

Est-ce qu’il serait possible de s’en sortir avec un

Cela represente 1500 euros d’economise sur la Highpoint SSD7505…

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte