Toon posts:

Netwerk bestandsysteem om bandbreedte te verlagen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Een aantal van mijn servers serveert steeds meer content en verbruikt dus ook steeds meer bandbreedte. Het gaat om grote bestanden (rond 1 GB) die op server 1 OF server 2 staan. Wanneer iemand een bestand van server 2 opvraagt is de huidige situatie is als volgt:
(user) request --> server 1 --> bestand --> server 2 --> server 1 --> user krijgt download.

Het probleem is echter dat het om veel en grote bestanden ga dus ik wil geen load balancer opzetten, de bestanden moeten namelijk niet gemirrored worden maar op 1 locatie staan. De bandbreedte tussen server 1 en 2 is niet relevant (servers staan naast elkaar) maar server 1 verstookt nu onnodig veel bandbreedte.

In de huidge opzet is 1 centrale server (server 1) waar een bestandsysteem gemount is van een andere server (server 2). Op server 1 is dan een directory met daarin de bestanden van 2 servers. Dit lukt momenteel al prima via SSHFS of NFS. Het probleem is echter dat connecties gemaakt worden naar server 1 die vervolgens content van server 2 aanbiedt en dit laat lopen via server 1 (zie ook het diagram boven).

De gewenste situatie is echter:
(user) request --> server 1 --> bestand --> server 2 --> user krijgt download.

Op deze manier wordt een bestand niet langer door server 1 naar de gebruiker gesluisd maar is server 1 na de initele aanvraag niet meer nodig. Bij een bestand van 1 GB heeft server 2 dus 1 GB dataverkeer en server 1 < 100 KB (alleen de aanvraag).

Ik zat zelf te denken aan een netwerk filesysteem waarbij ik met stat() kijk op welke fysieke server het bestand staat. Met stat() gaat iets dergelijks niet werken dus ik vraag me af of deze denkrichting wel goed is. Een andere optie lijkt mij het vastleggen op welke fysieke server een bestand staat (bijvoorbeeld in een database, de architectuur ligt er al) en een downloadlink maken rechtstreeks vanaf server 2. Dit heeft echter weer nadelen bij uitbreiding met meer servers en lijkt mij onnodig complex. Is er wel een eenvoudige oplossing voor mijn probleem mogelijk?

  • Razwer
  • Registratie: December 2000
  • Laatst online: 25-02 09:52
idd onnodig complex. Als je gezeur hebt met bandbreedte waarom niet gewoon een extra nic/interface in server 1 en dat te load balancen tussen de oude en de nieuwe nic?
in principe gebruik je server 1 als een portal/gateway. De enige optie is loadbalancing. anders moet je een 2e portal aanbieden vanaf server 2.
een extra nic bied dus uitkomst in server 1. breid je portal uit.

[ Voor 38% gewijzigd door Razwer op 16-09-2010 23:05 ]

Newton's 3rd law of motion. Amateur moraalridder.


  • teh_twisted
  • Registratie: Oktober 2005
  • Laatst online: 30-07-2025
wat is precies het probleem? dat de bandbreedte van server 1 meer is dan server 2?
heb je niet gewoon een vlan voor beide servers? dan maakt het geen drol uit toch?

Tyan S7025, 1x Xeon E5520, 32GB DDR3-1333 ECC/REG, GTX275 896MB, 2x Samsung SM 2243SN, Logitech Perf MX. Laptop: MBP 10,1/6,2. Cams: Canon EOS600D+Tamron AF18-200, Sony W350. Gadgets: iPad 64GB 3G, iPhone 5 64GB, PS1-3. Auto: W211 E220CDI


Verwijderd

Topicstarter
Probleem is dat het een cluster is van dedicated servers die elk een limiet op bandbreedte hebben. Maandelijks zijn er dus extra kosten voor dataverkeer van server 1 terwijl server 2 niet aan de datalimiet komt. Bij colo zou een extra nic uitkomst bieden maar in dit geval dus niet

Verwijderd

Verwijderd schreef op vrijdag 17 september 2010 @ 09:18:
Probleem is dat het een cluster is van dedicated servers die elk een limiet op bandbreedte hebben. Maandelijks zijn er dus extra kosten voor dataverkeer van server 1 terwijl server 2 niet aan de datalimiet komt. Bij colo zou een extra nic uitkomst bieden maar in dit geval dus niet
Waarom zou een extra nic geen oplossing zijn? Je omzeilt dan toch de opgelegde (bandbreedte) ristricties op de bestaande interface?

om de limiet op bandbreedte te omzeilen zorg je dan toch voor alle twee de servers een extra nic die je met een crosscable verbindt?

je kan dan je filesystem mounten over deze connectie die geen limieten heeft (omdat: onderlinge 1:1 connectie)

  • Razwer
  • Registratie: December 2000
  • Laatst online: 25-02 09:52
Verwijderd schreef op vrijdag 17 september 2010 @ 09:18:
Probleem is dat het een cluster is van dedicated servers die elk een limiet op bandbreedte hebben. Maandelijks zijn er dus extra kosten voor dataverkeer van server 1 terwijl server 2 niet aan de datalimiet komt. Bij colo zou een extra nic uitkomst bieden maar in dit geval dus niet
mjah en toch zul je daar aan moeten geloven, anders moet je een stukje software schrijven dat de user redirect naar server2. Ik weet niet wat je als front end hebt dus daar valt verder weinig op in te spelen.

Newton's 3rd law of motion. Amateur moraalridder.


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 11:03

CAPSLOCK2000

zie teletekst pagina 888

Is DNS loadbalancing geen oplossing?
Dat werkt het beste als je veel verschillende gebruikers hebt die allemaal maar een paar bestanden willen.

Je moet dan twee A records instellen voor je server.
Bind:
code:
1
2
server.domein.com IN A 1.1.1.1
server.domein.com IN A 2.2.2.2

This post is warranted for the full amount you paid me for it.


  • Rolfie
  • Registratie: Oktober 2003
  • Nu online
CAPSLOCK2000 schreef op zaterdag 18 september 2010 @ 17:56:
Is DNS loadbalancing geen oplossing?
Dat werkt het beste als je veel verschillende gebruikers hebt die allemaal maar een paar bestanden willen.

Je moet dan twee A records instellen voor je server.
Bind:
code:
1
2
server.domein.com IN A 1.1.1.1
server.domein.com IN A 2.2.2.2
Op zich is dit geen verkeerde oplossing toch?
Eventueel er voor zorgen dat de download altijd vanaf een andere FQDN wordt opgestart (download.mydomain.nl).

  • Razwer
  • Registratie: December 2000
  • Laatst online: 25-02 09:52
Rolfie schreef op zondag 19 september 2010 @ 13:33:
[...]

Op zich is dit geen verkeerde oplossing toch?
Eventueel er voor zorgen dat de download altijd vanaf een andere FQDN wordt opgestart (download.mydomain.nl).
dat soort truuks zijn leuk ja als je zelfde spul host op 2 verschillende bakken.
als je de start topic leest zie je dat server1 en server2 verschillende dingen hosten.
De enige manier hoe dit gaat werken is als je de front-end gelijk trekt waar ze beiden elkaars bestanden aanbieden aan de user.

Newton's 3rd law of motion. Amateur moraalridder.


  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Een apart domein voor die downloads hosten op server 2 is geen optie?

Er is volgens mij geen manier om een connectie naar server 1 transparent om te leggen naar server 2 (zou volgens mij ook een security hole van jewelste zijn als dat kon). Dit ga je niet met een netwerk filesysteem oplossen.

Je moet zorgen dat je clients rechtstreeks met server 2 connecten om de bandbreedte te laten tellen voor die server.

Maar is het niet mogelijk dat je via je provider regelt dat de bandbreedte van server 2 bij die van server 1 opgeteld word?

"Any sufficiently advanced technology is indistinguishable from magic."


  • _trickster_
  • Registratie: Mei 2005
  • Laatst online: 26-02 18:18
Bij sommige hosters is het ook mogelijk om Traffic onderling ( van server 1 naar server 2 ) uit te sluiten van het berekende dataverkeer.

het is de meest simpele oplossing, de mooiste is het mischien niet.

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 11:03

CAPSLOCK2000

zie teletekst pagina 888

Razwer schreef op zondag 19 september 2010 @ 16:16:
[...]

dat soort truuks zijn leuk ja als je zelfde spul host op 2 verschillende bakken.
als je de start topic leest zie je dat server1 en server2 verschillende dingen hosten.
Volgens mij schrijft de TS ook dat hij de bestanden kruiselings heeft geshared via het lokale en dat iedere server dus bij alle bestanden kan.

This post is warranted for the full amount you paid me for it.

Pagina: 1