LolYangccool Posté(e) 12 novembre 2016 Partager Posté(e) 12 novembre 2016 Bonsoir ! Je possède déjà un Raspberry Pi, mais j'ai comme projet de créer un cluster de Raspberry Pi. Le but est d'avoir 2 ou 4 Raspberry Pi qui partagent le même espace de stockage cumulé de chaque carte micro SD de chaque Raspberry Pi, et que leur puissance soit cumulée sur une seule installation de Raspbian. Je pense que ça serait pas mal pour découvrir le cluster de serveur à moindre coût, dans un premier temps. J'ai quelques questions, puisque je crois me souvenir que certains d'entre vous ont des Pi aussi. Quels sont les pré-requis, hormis d'autres Raspberry Pi, alim et carte SD ? Peux-t'on utiliser un seul chargeur pour tous les Pi afin de mieux maitriser la consomation électrique ? Est-ce faisable avec 2 Pi, ou en faut-il obligatoirement 4 au minimum (j'ai vu que certains l'ont même fait avec 64 Raspberry Pi ! ) Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sethenès Posté(e) 13 novembre 2016 Partager Posté(e) 13 novembre 2016 J'ai rapidement regardé 2-3 sites et si je comprends bien, il s'agit juste de mettre plusieurs ordinateur sur un réseau commun. Si je comprends toujours bien, ça peut se faire avec 2 Pi - ou - 2 Macs. Le tout est d'écrire les programmes qui vont communiquer par réseau. Imaginons que l'un soit maitre et l'autre esclave en attente. Le maitre reçoit une demande de calcul et il partage celui-ci en plusieurs paquet. Il en garde (éventuellement) un pour lui et s'adresse aux autres via le réseau. Les modules esclaves écoutent en permanence sur une porte réseau (comme un serveur http qui écoute sur le port 80). Dès qu'un message arrive, il est traité par le programme, le calcul se lance et le résultat est retourné par la même voie. Comme d'hab pour que ça soit intéressant (comme le multithreading) il faut que le problème soit sécable en plusieurs sous-problèmes fortement indépendant. J'avais déjà envisagé de faire ce genre de chose, mais beaucoup plus tordu. Je sais qu'il est possible de se faire construire des Pi, avec les interfaces qu'on souhaite, mais il faut 1000 unité minimum je crois ... Ce que j'aurais fait est de supprimer tout ce qui est inutile mais d'y inclure 4 connexions réseaux. Le but n'est pas de relier les 4 connecteurs au même switch mais bien de créer une sorte d'hypercube. Evidemment, il faut un sacré algorithme pour que chaque tâche sache exactement où tournent toutes les autres pour faire transiter l'information par le chemin minimum entre Pi-switch-Pi-switch- ... Vous me direz que c'est inutile qu'un réseau classique peut faire ça aussi bien mais l'idée est d'adapter la topologie des Pi au problème. A la limite, pour un problème à 2 dimensions avec des noeuds orthogonaux, il n'y a même pas besoin de switch car des cross-cable reliant directement l'une des 4 connexions du Pi (appelons la "Nord" par exemple) avec une autre connexion réseau du Pi voisin (par exemple la connexion "Sud" du Pi situé au Nord). Dans un tel exemple on mesure bien tout l'intérêt puisque chaque Pi communique directement avec le Pi destinataire du message. Bon pour que ça devienne vraiment intéressant, il faudrait (pour un problème 3D) 7 connecteurs réseaux (Nord, Sud, Est, Ouest, Dessus, Dessous) dont une dédiée au transfert des résultats (par exemple à un PC). Déjà que je ne suis pas certain qu'il soit possible d'en mettre 4 sur une carte Pi ... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sethenès Posté(e) 13 novembre 2016 Partager Posté(e) 13 novembre 2016 J'ajoute (pour la petite histoire) que je me suis amusé à simuler ce genre de chose sur le Hack (mais en Windows car je maitrise nettement mieux tant la programmation réseau que les connexions DB en Windows). 12 processus qui étaient chacun connectés à leur propre DB (répartie sur 2 disques, c'était juste un test) et qui communiquaient tous entre eux par réseau (il y avait donc 66 connexion réseaux virtuelles). Dès qu'un processus avait besoin d'une info présente dans un autre processus, il lui envoyait une requête. Ce dernier recherchait l'info dans la DB et la renvoyait au premier. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 13 novembre 2016 Auteur Partager Posté(e) 13 novembre 2016 Oula, merci Sethenès, ça n'a pas l'air évident du tout à mettre en place tout ça. :/ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sethenès Posté(e) 13 novembre 2016 Partager Posté(e) 13 novembre 2016 Oula, merci Sethenès, ça n'a pas l'air évident du tout à mettre en place tout ça. :/ J'ai trouvé cet article pas mal fait. Dans mon exposé, j'ai présenté l'un des types d'usage pour le cluster. L'autre, qui concerne la disponibilité est également développé. https://www.sebastien-han.fr/blog/2011/07/04/introduction-au-cluster-sous-linux/ Avec ce genre de configuration, tu pourrais avoir deux Pi qui se partagent les requêtes http provenant des utilisateurs par exemple. Tu partages la charge et si un tombe, c'est l'autre qui reprend tout. Mais imaginer que tu pourras, sans trop d'effort, transformer deux (ou plus) Pi en une sorte de carte mère virtuelle ayant deux processeurs (ou plus) est illusoire. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 13 novembre 2016 Auteur Partager Posté(e) 13 novembre 2016 Ok, le but c'est d'avoir une répartition de charge et une sorte de RAID1 de machine physique aussi, comme tu le dis : Si un lache (stockage HS ou Raspberry complet HS), tout le trafic passe sur l'autre. Je regarde ton lien, merci. Mais comment ça se passe pour le stockage du coup, par exemple ? Et l'OS ? On l'installe comment ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 13 novembre 2016 Auteur Partager Posté(e) 13 novembre 2016 Ok, j'ai regardé ton lien. Je pense qu'il doit être possible avec 3 Pi d'en avoir deux qui calculent et le troisième qui distribue la charge à l'un ou l'autre ? Mais c'est pas simple à mettre en place... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 13 novembre 2016 Auteur Partager Posté(e) 13 novembre 2016 J'ai trouvé ça aussi : http://www.sublimigeek.fr/parallelknoppix-ou-le-cluster-du-pauvre Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sethenès Posté(e) 13 novembre 2016 Partager Posté(e) 13 novembre 2016 Il faut quand même se rendre compte qu'en principe un des noeuds peut disparaitre à n'importe quel moment et que ça ne devrait pas compromettre l'intégrité du système. Nous avions de telles machines basées sur Windows Server Cluster au taf' mais si nous les utilisions et les administrions, c'était d'autres collègues spécialisés dans ce domaine qui venaient nous aider pour les upgrades et les installations. Ceci dit, c'est un domaine dans laquelle une expertise peut être intéressante au niveau professionnel. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 4 février 2017 Auteur Partager Posté(e) 4 février 2017 Bon, j'attendais un Raspberry Pi 4 début 2017 mais à priori il ne sera pas des nôtres cette année... Du coup, je pense commander 3 autres Raspberry Pi 3 pour tenter l'installation d'un cluster avec 4 RPi 3. Je vais voir le coût que ça va me faire, 3 RPi 3 + 3 boitier + des alimentations, faut que je vois ce que j'ai déjà aussi, je dois encore avoir 3 chargeurs qui pourraient servir. Niveau câble Ethernet ça devrait le faire aussi. En gros je pense devoir acheter les 3 RPi3 qu'il me manque pour le cluster, forcément, mais aussi 2 cartes micro SD de 32Go (j'en ai déjà deux), mais du coup j'aurai bien 32 x 4 = 128Go de stockage, c'est bien ça ? Je dois aussi acheter 3 boitiers et je pense que c'est tout. Câble ethernet, j'en ai en pagaille, switch c'est bon aussi, il m'en reste un, alimentation aussi. J'ai trouvé un tutoriel sur YouTube, en plusieurs parties ou le gars a l'air de tout expliquer en détail. Ca serait kiffant. J'ai vu un cluster de 33 RaspBerry Pi (version 1 par contre). Question pour Sethenès (ou quelqu'un d'autre s'il a la réponse) : Est-il facile de rajouter des noeuds à un cluster pour augmenter la puissance de calcul ? Si un noeud lâche, que se passe t'il ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sethenès Posté(e) 4 février 2017 Partager Posté(e) 4 février 2017 Comme je l'ai écrit, nous administrions des clusters windows mais c'était des spécialistes qui venaient le configurer et le maintenir. Dans cette configuration, il y a une partition particulière, appelée "quorum device" (et qui apparemment, je le découvre n'est pas propre à Microsoft : https://www.google.be/#q=quorum+device ) qui sert en quelque sorte de main courante dans laquelle tous les noeuds du cluster écrivent ce qu'ils font. C'est au départ de ce log, que les autres noeuds peuvent prendre le relais en cas de problèmes. D'ailleurs le reboot des machines du cluster devait suivre un protocole bien précis (notamment pour les shares). Ici apparemment quelqu'un qui s'est amusé à cela avec 2 Pi : https://www.raspberrypi.org/forums/viewtopic.php?f=51&t=8575 Et en fait, c'est un peu mon conseil. Commence par 2. L'investissement est moindre et cela constituera une base. Car le problème est que "cluster", c'est un peu tout et n'importe quoi. 2,3 ou 4 Pi reliés à un composant réseau sans plus, ne feront jamais plus que 2,3 ou 4 macs reliés à un composant réseau. Ce sont les paramétrages d'applis, d'OS, voir de version spéciale d'OS qui font le cluster (et éventuellement des hardwares spécifiques). Mais encore une fois, ce sont des connaissances utiles. Je ne veux surtout pas te dissuader de les acquérir mais il faut plonger des les arcanes des réseaux, des disques et des OS pour y arriver. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 4 février 2017 Auteur Partager Posté(e) 4 février 2017 Merci Sethenès, j'avais préparé mon panier pour 3 Pie et ce qui va avec, mais je vais commencer par deux. Merci. Ca fais moins de frais, parce que là, tel que mon panier est prêt, j'en ai pour un peu moins de 187€... 51€ pour juste 1 de plus puisque j'ai du matériel en moins à acheter. C'est commandé ! Je vais les alimenter sur un hub USB 4 ports que j'ai déjà que je connecterai à un adaptateur secteur samsung, comme ça j'aurai encore deux ports USB libres pour les deux futurs RPi. Mais j'espère qu'un seul adaptateur suffira pour en alimenter deux puis 4. Il faut 2,5A par RPi... Au pire je les alimenterai séparément. Réception du second prévue lundi ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 4 février 2017 Auteur Partager Posté(e) 4 février 2017 Je démarre à l'instant la configuration de mon premier RPi comme premier noeud du cluster. Pas besoin du deuxième pour le moment, alors je prends un peu d'avance. C'est kiffant. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 5 février 2017 Auteur Partager Posté(e) 5 février 2017 Mes deux micro SD sont prêtes, je n'ai plus que de la configuration à faire une fois que j'aurai reçu le deuxième RPi, c'est à dire demain. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
LolYangccool Posté(e) 6 février 2017 Auteur Partager Posté(e) 6 février 2017 J'ai reçu le second Raspberry Pi. Premier essai de clusterisation : échec, je réessaye ça un peu plus tard. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.