Ever worked in a #datacenter ? You’ll enjoy this #Halloween story... ▻http://packetlife.net/blog/2014/oct/31/pdu-12c
Ever worked in a #datacenter ? You’ll enjoy this #Halloween story... ▻http://packetlife.net/blog/2014/oct/31/pdu-12c
#Cumulus #Linux - first impressions:
▻http://packetlife.net/blog/2014/oct/1/cumulus-linux-first-impressions #SDN #networking
TL;DR : Linux all the way, ready for large-scale provisioning automation.
Il existe des versions libres equivalentes ?
Et il est possible de faire du bonding dans ces versions libres ?
La beauté du truc c’est qu’à la base c’est Linux - une #Debian en l’occurrence. C’est packagé sous blister avec de beaux logos, des bonus propriétaires payants et des services d’intégration et de support, mais tout ça est optionnel - le coeur de la valeur est l’univers de possibilités qu’on s’ouvre en posant une distribution Linux généraliste sur du matériel réseau spécifique ou on n’avait autrefois pas d’autre choix que le firmware du constructeur.
Donc oui, bondage - euh, bonding et toutes ces sortes de choses !
Outre le contrat de support et la couche de vernis, l’énorme différence avec ce que tu peux faire avec Debian nue sur du matériel généraliste est la performance en commutation : un commutateur dédié a une matrice de commutation où les paquets transitent sans jamais solliciter le CPU... Le matériel est spécifique et les pilotes propriétaires.
A la maison, j’utilise comme routeur (shorewall, routage inter-VLAN etc.) une boite mini-ITX avec six ports Ethernet et un Celeron M (▻http://www.mini-itx.com/store/~FX5624) et je plafonne à environ 500 Mb/s en routage par saturation du CPU par les interruptions. On peut aller au-delà avec un CPU plus puissant mais au bout d’un moment il faut passer à un vrai commutateur de niveau 3.
Un peu de discussion a eu lieu sur HN où j’ai aussi posté et l’un des fondateurs de Cumulus est intervenu : ▻https://news.ycombinator.com/item?id=8400953
OK en lisant un peu, je comprends que :
– Cumulus Linux est fait pour les whitebox switches, c’est à dire les switches sans software (ej : ▻http://cumulusnetworks.com/support/linux-hardware-compatibility-list)
– la plus-value de Cumulus Linux sur Debian est le code intégré à l’ASIC de ces switches (programmation en VHDL ?) pour faire l’expédition de paquets (packet forwarding) en hardware. Code qui n’est pas libre.
– cette programmation hardware permet d’atteindre 2+ Tb/s avec un switch qui consomme moins de 200W, alors qu’un serveur qui ferait la même chose en software serait 50x plus lent (40 Gb/s, ce qui n’est pas mal non plus) en consommant beaucoup plus.
Quelques questions :
– pour fabriquer des routers comme ▻http://cumulusnetworks.com/support/linux-hardware-compatibility-list, quels seraient les composants de base ?
– sur un router comme le tien, est-ce qu’on ne pourrait pas utiliser un GPU au lieu du CPU pour accélérer le traitement (même si ce n’est sûrement pas le plus adapté, en particulier en termes de consommation),
– existe-t-il du code libre pour faire le packet forwarding (qui a l’air d’être l’opération la plus consommatrice de ressources) sur un ASIC ?
Pour les composants matériels dédiés au réseau, le mot clé est « merchant silicon » : ▻http://etherealmind.com/analysis-merchant-custom-silicon - en résumé presque plus personne n’a les moyens ou les compétences pour produire ses propres #ASIC alors sont apparus des spécialistes qui fournissent les intégrateurs.
A vue de nez, je parierai que fournir des pilotes libres motive ces constructeurs tout autant que les constructeurs de chipsets graphiques - c’est à dire vraiment pas beaucoup.
Sur mon petit routeur, l’adaptateur graphique est réduit à sa plus simple expression - je ne sais même pas ce que c’est et je n’ai pas utilisé l’unique port VGA neuf broches après l’installation initiale... J’aurais pu utiliser une console sur le port série (fonctionnalité tellement rare sur un PC x86 que j’aurai du le faire juste pour le plaisir)... Les capacités graphiques ne sont pas vraiment la spécialité d’un matériel dédié au réseau. Mais pour utiliser des #GPU là où il y en a, un bon exemple est #PacketShader : ▻http://shader.kaist.edu/packetshader - bon, c’est quand même moins bien que de traiter les paquets tellement bas qu’ils ne touchent même pas le bus PCIe. Sinon il y a #NetFPGA qui fait dans le #FPGA réseau librement programmé : ▻http://netfpga.org/main.html
Miam miam, plein de références.
On va d’abord essayer d’installer Debian (ou OpenWRT ?) sur un router Mikrotik (▻http://wiki.openwrt.org/toh/mikrotik/rb750gl).