Nous devons clarifier certains termes et technologies.
L'image que vous montrez est celle d'un "Load Balancer". Bien que techniquement, le Load Balancer aura généralement une ou plusieurs adresses IP "frontend" qui se connectent à un ou plusieurs serveurs "backend" - ces adresses IP frontend ne sont pas des "IP virtuelles".
Lorsque nous parlons d'adresses IP virtuelles, nous parlons de clustering de serveurs. Avec le clustering de serveurs, il n'y a pas de load balancer. Au lieu de cela, tous les serveurs du cluster assument la même adresse IP. Ils se surveillent mutuellement avec un signal de vie, et prennent des décisions sur quel serveur répondra aux demandes sur l'adresse IP qu'ils partagent.
Évidemment, vous pourriez avoir des load balancers clusterisés qui partagent une ou plusieurs adresses IP.
Voici donc quelques réponses :
1) La Machine 1 n'exécute pas de logiciel "IP virtuelle". Elle exécute un logiciel de "Load Balancing". Ce qui se passe pour le client lorsqu'un serveur tombe en panne dépend entièrement de la configuration de votre load balancer ET des capacités de votre application backeend. Si vous avez un backend sans état, ou un stockage partagé qui entraîne un partage de l'état, alors lorsque qu'un serveur échoue, l'utilisateur se connectera typiquement à l'autre serveur de manière transparente et sans interruption de sa session. En fait, dans ce scénario, chaque demande que le client fait peut effectivement se répartir sur les deux serveurs même pendant la même session. Dans d'autres cas, la nature de l'état n'est pas partagée et l'utilisateur devra initier une nouvelle session vers l'autre serveur.
2) De nouveau, ce n'est pas une IP virtuelle. L'IP virtuelle est une technologie de clustering. Les Load Balancers peuvent avoir plusieurs adresses IP publiques en fonction de votre configuration physique réelle. Cela peut être réalisé avec du matériel ou des logiciels. Des recommandations spécifiques pour des logiciels ou du matériel sont en dehors du champ d'application de ServerFault. Vous pouvez utiliser Google pour cela.
3) Oui, le load balancer peut être un point unique de défaillance. Si le load balancer tombe en panne, tout tombe en panne. Mettre en œuvre une haute disponibilité réelle est quelque chose qui nécessite beaucoup d'argent et de connaissances techniques. Dans le monde actuel du cloud computing, il vaut mieux laisser cela aux professionnels comme Microsoft Azure et Amazon AWS. Ils mettent en œuvre des systèmes redondants hautement disponibles que vous pouvez louer à bon prix.
Lorsqu'il s'agit de haute disponibilité, vous devez tenir compte de chaque point de défaillance.
Cela comprend, mais n'est probablement pas limité à :
- Alimentation
- Internet
- Routeurs
- Switches
- Câbles réseau
- Défaillances de serveurs (alimentations, cartes mères, CPUs, disques durs)
- Pannes logicielles
- DDoS et autres problèmes de surutilisation
En résumé, le scénario décrit dans votre dessin ne se rapproche pas du tout de la fourniture d'un environnement hautement disponible.