Lastverteilung mehrere Server

TAiS46

Registered User
Hallo,

ich habe 2 Server welche zusammen verbunden sind und jeweils eine Anbindung von 1 Gbits haben.
Auf den servern werden jetzt Dateien verteilt.

Nun kann es dazu kommen, das bei Server 1 die Bandbreite zu 100% ausgelastet ist und bei Server 2 zu 30%.

Jetzt fordert wer eine Datei an die auf Server 1 liegt. Diese möchte ich nun Über Server 2 auseben.

Wie realisiere ich das am besten? Ist das überhaupt möglich?

Gruss Simon
 
Wie wäre es mit einer Trennung von externen und internen Traffic? In jedem Server eine 2. Gbit LAN Karte einbauen und die Verbindung unter den Server über das interne Netz laufen lassen.
 
gucke mal unter den Stichwort : Round-Robin-Verfahren oder CDN.

Round-Robin hört sich gut an.
Nur was ich mich jetzt noch frage, im beispiel wird ein SAN vorgeschlagen.

Wie soll ich das realisieren?
Wie gesagt:
2 Server mit jeweils
2 GBit/s Karten + 1 GBit/s Anbindung die untereinander verbunden sind.
Jeweils 2 x 12x1,5TB Platten in einem Raid 10.
 
Wie wird der Netzwerktraffic momentan abgewickelt, also die externe Verbindung?

Hatte das so Verstanden:
Es sind 2 Server, jeder der Server hat eine 1 Gbit Verbindung zum Switch über welche der Traffic abgewickelt wird. Hier ist die Frage, wieviel Datentransfer extern also von Zugriffen auf den Server von außerhalb des Netzes erzeugt wird und wieviel Interne Kommunikation als Server zu Server.

Wenn z.B. extern 10 Mbit/s laufen, wäre eine Möglichkeit in den Server eine 2. Netzwerkkarte zu verbauen und die Server zu Server Verbindung über die 2. Interne Verbindung abzuwickeln und den externen Datentransfer über den Switchport.

Zwar keine dauerhafte Lösung aber eine Übergangslösung.
 
Warum den Umweg über den Switch für internen Traffic?

Was spricht gegen eine direkte Verbindung der beiden Karten?
 
Wenn z.B. extern 10 Mbit/s laufen, wäre eine Möglichkeit in den Server eine 2. Netzwerkkarte zu verbauen und die Server zu Server Verbindung über die 2. Interne Verbindung abzuwickeln und den externen Datentransfer über den Switchport.

So ist es ja wie gesagt momentan der Fall.
Beide Server verfügen über 2 Netzwerkkarten und sind untereinander Verbunden und hängen jeweils an einen 1GBit/s Port.

Sagen wir bei beiden Systemen sind verschiedene Dateien unter /home/hda abgelegt.

Eine Idee wäre:
Das ganze mit der Round-Robin Methode aufbauen.
Client fordert eine Datei an, die jedoch auf Server 2 liegt.
Die Lastverteilung (Round-Robin) leitet den Client an Server 1 weiter.
Jetzt muss Server 1 auf die Datei von Server 2 zugreifen, und diese über seinen eigenen Port an den Client schicken.

Gibt es nun die möglichkeit, /home/hda von beiden Servern zusammen zu fassen?

Server1: /home/gesamt - beinhaltet /home/hda von Server1 und Server2
Server2: /home/gesamt - beinhaltet /home/hda von Server1 und Server2

Hoffe man versteht mich einigermaßen :o
 

Attachments

  • Unbenannt-1.jpg
    Unbenannt-1.jpg
    8.5 KB · Views: 197
Server zu Server Verbindung über die 2. Interne Verbindung abzuwickeln

Warum den Umweg über den Switch für internen Traffic?

Was spricht gegen eine direkte Verbindung der beiden Karten?

Vielleicht etwas unverständlich von mir, aber eine direkt Gbit Strecke von Server zu server war gemeint.
 
mm wieso kein NAS im Backend was die Daten komplett hält und über einen Loadbalancer die Last auf Server 1 und Server 2 verteilt?
 
NAS, darüber habe ich mich schon ein wenig informiert.
Doch soweit ich das bis jetzt verstanden habe, ist NAS imprinzip eine Spiegelung.
Eine Datei wird auf Server1 abgelegt und gleichzeitig auf Server2 gespiegelt richtig?
So soll es aber nicht sein. Die Datei soll nur auf einem Server liegen aber von beiden abrufbar sein.

Edit: Sorry, NAS mit NSF verwechselt
 
Kein NAS aus dem Grund, weil es vom Anbieter nicht bereit gestellt wird.
Die 2 Server sind jetzt nun mal da und ich muss versuchen es mit denen hin zu bekommen :)
 
Ein NAS ist prinzipiell ein Dateiserver. Das NAS stellt im Netzwerk die Daten auf welche zugegriffen wird zur Verfügung. Beide Server greifen auf ein und den selben Datenbestand zu, welcher im NAS hinterlegt ist.


http://de.wikipedia.org/wiki/Network_Attached_Storage


Ergänzung:
Nur weil es ein Anbieter nicht bereitstellt, sollte man diese Option nicht außer Acht lassen :) Ein NAS kann im Grunde auch einfach ein 3. Server sein.
 
Hast du dich mal in Richtung "Distributed Filesystem" informiert?

Du willst einen zentralen Datenspeicher, wobei die Daten nicht alle auf einem Server abgelegt werden sollen.

Ein DFS wäre daher wohl eine gute Idee, oder?

EDIT:
Ich glaube nicht, dass die NAS dein Problem löst. Denn auf die NAS greifst du wieder per LAN zu. Somit hast du nur eine weitere Instanz dazwischen.
 
Last edited by a moderator:
Distributed Filesystem hört sich gar nicht mal so schlecht an.
Allerdings finde ich da leider wenig Informationen im Bezug auf Debian
 
Wie wärs mit einer Software Lösung?
Ich gehe davon aus, dass bei solch einer Datenmenge, die Files nicht direkt angesprochen werden, sondern über ein PHP (oder was auch immer) Script ausgeliefert werden. Und sicher wirst du auch irgendwo festhalten, welche Dateien existieren und günstigster Weise auch auf welchem Server sie liegen.

Erfolgt nun eine Anfrage an Server 1, ist die Datei aber auf Server2, kann Server 1 ein HTTP Redirect zu Server 2 senden. Gleiches Spiel andersherum.
Das ganze wäre auch problemlos ausbaubar auf 40 oder 50 Server. Nur dann halt mit einem oder zwei kleinen Servern, die ausschließlich die Redirects, auf die für die Datei jeweils zuständigen Server, vornehmen.

Ab einer gewissen Größe kommst du mit SAN/NAS und Loadbalancern nicht mehr weiter oder es wird sündhaft teuer. ;)
 
Ich glaube nicht, dass die NAS dein Problem löst. Denn auf die NAS greifst du wieder per LAN zu. Somit hast du nur eine weitere Instanz dazwischen.

Und wie greift man auf das DFS zu? Per RS232? :)

Naja welche Variante auch immer gewählt wird, bei Lastverteilung wird man um Ethernet schwierig herumkommen.
 
Back
Top