- KFC,
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.
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:
- PCIe 3.0 ou PCIe 4.0
- 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.