[NFS] NFS of Servers groeperen/loadbalancen?

Pagina: 1
Acties:

  • ofniedan
  • Registratie: December 2004
  • Laatst online: 10-02-2023
Ik heb een aantal servers, met ieder een paar honderd gb aan data erop. Op het moment is alle data verspreid over alle servers, dus elke server heeft zijn eigen deel, wat alleen op die server staat. Op elke server draait ook een webserver die de files aan de client served.
Het probleem met deze setup is dat sommige files veel meer gedownload worden dan anderen, wat ervoor zorgt dat sommige servers 10x hogere load hebben dan anderen.

Nu willen we hier vanaf, en hadden we 2 opties in gedachten,
Optie1:
1-3 'file' servers met ALLE files op ELKE server, en dit dus 1-3x afhankelijk van hoeveel belasting qua cpu en netwerk erop komt. Het idee is dan om op deze file servers nfs te zetten, en de map met alle files over het netwerk mounten op alle servers met apache, zodat deze niet meer files local hoeven te storen. Nadeel hiervan is dat ELKE file over het netwerk moet worden gehaald, wat enorm veel traffic gaat geven.
Oplossing voor dit probleem is het cachen van de meest gedownloade files op de webservers zelf, zodat de meest populaire files niet meer over het netwerk gekopieerd te hoeven worden. (btw waarschijnlijk trekken alle populaire files, wat ong 5% van alle files is, rond de 80-90% van totale bandwidth, dus dit scheelt enorm bij lokaal cachen.)

Optie2:
ong 8-10 webservers, onder verdeeld in 2 groepen met even veel servers.
Elke groep krijgt de helft van alle files op elke server in die groep, en de andere helft van de files staat dus op elke server van de 2e groep.
Request komt binnen, wordt naar de juiste groep gestuurd en hier pakt een loadbalancer de server binnen die groep met de minste load en laat deze server de file naar client sturen.

Nou heb ik zelf een beetje met nfsv4 zitten kloten, en dat heb ik wel draaiend gekregen maar de speeds waren behoorlijk laag, zowel met sync als async (ong 5-10x trager dan via ftp of scp).
Nou weet ik niet of dit aan mijn kromme config/setup ligt, of dat nfs gewoon niet zulke speeds support, of misschien is v4 van nfs wel niet de goede versie.

De 'file' servers uit optie 1 worden waarschijnlijk poweredges met goeie scsi en raid kaarten, en tyfus snelle schijven, etc etc, webservers hetzelfde, maar dan met minder hdd ruimte (behalve dan weer in optie 2). Hardware zal iig geen probleem zijn voor deze setup voor zover ik kan zien.
Mijn vraag is, KAN nfs hoge speeds aan (in de richting van paar honderd MB/s, ergens tussen 100-500 req/s)? Dit zou natuurlijk mooi zijn omdat dan niet elke webserver ook meteen paar duizend aan schijfruimte nodig heeft.

Als iemand van jullie ervaring heeft met nfs of andere doe-het-zelf netwerk storage manieren, dan hoor ik graag jullie ervaringen en/of suggesties, zodat ik hopelijk snel alles draaiende kan krijgen =]

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 04-02 23:43

SA007

Moderator Tweaking
Ik heb hier geen slechte ervaringen met NFS, al zit ik hier met 100mbit, hij trekt beter dan scp hier.

Ik zou zelf voor optie 1 kiezen, en dan met 2 webservers, flinke hoeveelhead ram (linux cached zelf veelgebruikte files), enentueel een i-ram achtig systeem voor extra cache.
En dan 1 fileserver die met apparte 1gbit lijnen aan beide servers hangen, met dan snelle schijven in raid oid.

Btw, sync/async heeft alleen effect op het schrijven, het beste kan je sync gebruiken indien je de nfs op meerdere plekken mount.