Solution de répartition de charge

Bonjour,
Je souhaite proposer la possibilité de se connecter via 1 adresse IP(toujours la même) automatiquement sur l’un de mes serveurs dédié (le moins chargé en calcul CPU). En plus simple l’utilisateur X doit pouvoir se connecter sur l’adresse AAA.AAA.AAA.AAA qui lancera un processus sur l’un des cœurs du CPU de la machine la moins chargé en ressource. Je dispose de machine OVH et je voudrais savoir si vous aviez des solutions de répartition efficace à me proposer ? A défaut de réponse pour ma première question, la solution de répartition “inter-serveur” me convient aussi. Le basculement d’un bloc d’IP entre plusieurs machines d’un parc est t’il possible et surtout viable ? Demandez moi si vous avez besoin de détails, c’est possible que je soit pas très clair.

Tu as deux possibilités suivant tes besoins :

  • si tes serveurs sont tous chez OVH, tu peux utiliser leur service de LoadBalancing, cependant cette solution n’est pas viable si c’est pour faire du HTTP car les sessions ne sont pas suivie, c’est du LoadBalancing bas niveau si on veut

  • sinon tu peux sur une autre machine installer un frontal qui va se charger de transmettre la requête mais cela nécessite une machine supplémentaire et voir même une autre si tu veux redonder ce frontal (Exemple : pound)

Oky, enfaite toute mes machines sont chez OVH et je ne souhaite pas utiliser du HTTP sur les machines en question donc je pense utiliser la solution de load balancing.
Par contre je sais pas trop comment fonctionne leurs système étant donné que je souhaite me connecter via une adresse IP fixe sur le processus que le système de load balancing aura lancé sur l’un des coeurs de la machine la moins utilisé.
En gros l’utilisateur doit pouvoir se connecter au serveur via l’adresse IP(qui ne changera pas) qui lui à été donné quelque soit la machine ou le processus à été lancé. Et n’importe quel autre personne en utilisant la même adresse IP doit pouvoir se connecter au même processus. Comme si j’attribuais une redirection de l’IP Load Balancing vers une adresse IP virtuel(associé a l’utilisateur qui lance le processus). Comme ça n’importe qui utilisant cette IP load balancing sera basculé vers l’IP Virtuel associé au processus de l’utilisateur qui à lancé le processus. Tout en sachant qu’il me faudrait dans un tel cas au moins 35 IP par machines.

Il y a pas mal d’information sur cette page : ovh.com/fr/items/ip_load_balancing.xml

Il s’agit ici de répartition de charge entre machine plutôt que entre cœurs CPU non ? Ou le service d’OVH permet aussi de faire ce que je souhaite ?
En tout cas merci de prendre le temps de me répondre :slightly_smiling:

Désolé j’ai mal lu le point sur les cores du CPU.
Le système Debian à ma connaissance gère très bien les CPU multi-core et la répartition des processes donc je ne vois pas l’intérêt de tes recherches.
Peux tu nous en dire plus sur l’objectif final ?

Désolé pour la réponse tardive.
C’est pour de l’hébergement de serveurs de jeux. En sachant qu’un serveur n’utilise qu’un seul processeur, il faudrait que la répartition soit faite du coté machine aussi bien que coté cœurs CPU.
Comme ça le lancement du processus sera fait sur le cœur CPU le moins chargé de la machine dédié la moins chargé. Je sais que c’est possible mais je cherche la méthode à procéder et le grand problème que je me pose c’est par rapport à l’adresse IP qui est censé suivre l’utilisateur qui lance le processus(soit l’admin du serveur).
Toute les machines proviennent du même datacenter.

Tu peux éventuellement lancer un serveur sur chaque core en utilisant les commandes screen et taskset.

Exemple de Clochette :

Je pense pouvoir me débrouiller avec le load balancing. Maintenant il me reste une interrogation.
Une idée sur la technique à utiliser pour que suite au lancement du processus sur tel ou tel machine, les maps et configurations serveurs de l’utilisateurs puisse aussi basculer sur la machine approprié ? Je pourrais aussi bien dupliquer et synchroniser chaque répertoire de chaque utilisateurs mais au final ça ne fera que doubler (pour 2 machines en load balancing), voir tripler (pour 3 machines en load balancing) ainsi de suite l’utilisation du disque dur de chaque machines.

Je ne pense pas que le LoadBalancing soit viable pour des serveurs de jeux dans le sens où c’est un le même principe que des sessions, à chaque requête le joueur risque d’être envoyer sur un autre serveur et cela risque de poser quelques soucis.

Pour ton soucis d’espace du peut très bien mettre en place un serveur de fichier sous nfs.
Le soucis est que si le serveur nfs tombe tous les autres n’ont plus accès aux maps.
Donc par sécurité je pense qu’il vaut mieux avoir une réplique exacte du dossier qui contiennent les maps avec rsync par exemple.