Wie führe ich einen Lastenausgleich zwischen zwei Linux-Rechnern durch?

Wie führe ich einen Lastenausgleich zwischen zwei Linux-Rechnern durch?

Inspiriert durch das Stack Overflow-Netzwerk bin ich jetzt von HAProxy besessen und versuche, es selbst zu verwenden.

Im Moment verfügt jede HAProxy-Box über zwei Netzwerkkarten (also, zwei konfiguriert, ich kann maximal 4 haben und war nicht sicher, ob sie für die Verwaltung zwischen den Boxen eine eigene benötigen).

Auf beiden Maschinen ist die Backend-IP (eth1) eine private IP, die zu einem Switch führt, der mit den Webservern verbunden ist, und die Front-IP (eth0) hat eine öffentliche Internet-IP, die direkt weitergeleitet wird.

Darüber hinaus habe ich eine zusätzliche virtuelle IP für eth0 erstellt, eth0:0die eine dritte öffentliche IP-Adresse hat.

Ich verstehe gerade, wie ich es zum Lastenausgleich zwischen mehreren dahinter liegenden Webservern verwenden kann, aber der Lastenausgleich zwischen den beiden HAProxy-Boxen gelingt mir nicht – sie scheinen um die virtuelle IP zu kämpfen, aber das scheint keine kluge Lösung zu sein.

Diese Lösung scheint zu funktionieren und mir durch die Verwendung der virtuellen gemeinsam genutzten IP-Adresse tatsächlich maximale Verfügbarkeit zu bieten. Aber ist das die richtige Vorgehensweise oder gibt es eine intelligentere?

Ich habe mir andere Linux-Pakete wie Keepalived angesehen, aber ich verwende Linux (Server) erst seit einer Woche und bin mit meinem Verständnis am Rande.

Hat das schon jemand gemacht und kann einen Rat für maximale Betriebszeit geben?

Antwort1

Wenn Sie den Datenverkehr zwischen zwei verschiedenen Haproxys ausgleichen möchten, müssen Sie einen weiteren Load Balancer davor haben, und das ist nicht sinnvoll.

Wenn Sie eine höhere Verfügbarkeit wünschen, haben Sie diese bereits erreicht, indem Sie zwei Haproxies verwenden und einem von ihnen VIP per Keepalived oder Heartbeat zuweisen. Normalerweise ist dies die Lösung für HA- und Lastausgleichsprobleme.

Mir fällt eine Möglichkeit ein, zwei Haproxys gleichzeitig zu verwenden. Sie können Keepalived so konfigurieren, dass jedem Haproxy-Server ein VIP zugewiesen wird. Der Lastenausgleich kann über DNS erfolgen. Der DNS-Name sollte sich in die beiden VIPs auflösen. Wenn ein Haproxy ausfällt, hält der andere Knoten die beiden VIPs und empfängt den gesamten Datenverkehr.

verwandte Informationen