webForumDet fria alternativet

Nytt distribuerat, redundant filsystem

Programmeringur Hemelektronik, mobiltelefoner och prylar

6 svar · 332 visningar · startad av Peter_B

Medlem sedan apr. 2000642 inlägg
Frågan#1

Jag tänkte ge mig på att försöka designa (och kanske implementera litegrann) ett nätverksbaserat filsystem;

Man ska kunna koppla in nya servrar som då automatiskt ska börja ta hand om filer.

Varje fil ska finnas på minst 2, helst 3 olika servrar samtidigt. Om en server går ner, ska filen dupliceras till en ny server. Om för många servrar har en fil, ska filen försvinna från en server. Filen ska helst kunna "migrera" sig mot den server eller klient som är mest intresserad av den, så man måste ha någon form av "routingtabeller" som beskriver var i nätet datat finns etc. Det gör inte så mycket om man får relativt mycket overhead i form av meta-data på det sättet. Helst vill man ha något system med delegeringar ala nfsv4, eller liknande callbacks som tex i afs.

Syftet med detta är att med billiga IDE-baserade noder kunna bygga kompletta, snabba filsystem som ska kunna skala bra uppåt flera hundra TB, samtidigt som de är feltoleranta.

Fillåsning, synkronisering etc skall helst vara garanterad, men det går kanske att slippa och nöja sig med nästan garanterad. Nån nackdel måste ju finnas.

Givetvis är detta ett ganska stort jobb, (omöjligt för en/några personer?). Jag behöver inte jobba så mycket med annat själv, så jag personligen skulle ha tid med det, några timmar om dan. Jag har dock redan ett protokoll för generell meddelandehantering som jag skrev när jag gjorde nätverkssystemet + server till ett multiplayer-spel, som jag tänkte använda.

Servrarna är tänkta ska authentisera mot varandra med en shared secret och klienterna som ska mounta datat behöver kanske bara komma ur en ip-serie, ala nfs. Säkerheten ska vara ungefär som i nfsv3 m a o, inget speciellt där.

Behövs en sån här grej till att börja med? Helst vill jag ju att någon använder det hela på slutet. Är jag helt galen som känner att det här är en idé jag vill utforska? Har någon gjort nått liknande tidigare (utom google, de känner jag till).

Medlem sedan apr. 200010 782 inlägg
#2

ta och läs lite om den här ftp mjukvaran på http://drftpd.org/ det uppfyller tyvärr inte alla dina krav, men det tror jag blir svårt att göra ;) den här mjukvaran är skriven i Java, men det finns liknade i .net platformen

Medlem sedan apr. 2000642 inlägg
#3

Litegrann samma idé, men inte riktigt ;).

Även transarc (ibm) har lite addons till afs verkar det som (som heter dfs), men det är fortfarande inte hela vägen...

microsoft har sin egen dfs-idé som går ut på att slå ihop olika shares till en enda, verkar det som. Inte heller hela vägen...

Det jag egentligen vill veta är om det kan finnas ett användningsområde i praktiken för liknande massiva filsystem. Om det inte behövs finns det ju ingen anledning att fundera på det ;)

Medlem sedan apr. 200010 782 inlägg
#4

Det jag egentligen vill veta är om det kan finnas ett användningsområde i praktiken för liknande massiva filsystem

ftp.sunet.se :q

Medlem sedan apr. 2000642 inlägg
#5

Jovisst, det skulle nog kunna vara nått,... Men mycket större system än så, då scsi-arrayer och liknande blir opraktiska är nog vad det skulle användas till. System på bara i storleksordningen några TB fixar man nog på klassiskt vis.

Jag ska prata med lite folk och eventuellt sjösätter vi ett projekt, till att börja med för att göra en feasibility study och testa lite saker (lite proof-of-concept kod ska det projektet isf resultera i, om allt går bra).

Men mer tips på användningsområden ;)

Medlem sedan maj 20031 472 inlägg
#6

Jag skulle gärna hjälpa till men jag är för dålig på c++ mfl språk. Men jag tycker det låter väldigt intressant.

Skulle även va intressant om det går att ha filservrarna på olika ställen och så att man alltid laddade från den som var snabbat i förhållande till där man var. Alltså skulle man kunna få snabb tillgång till filer även om man är på olika kontor.

Medlem sedan apr. 2000642 inlägg
#7

Jo, det vore coolt. Man måste isåfall migrera filerna åt det håll där de används mest. Men det får samtidigt inte finnas någon central styrpunkt som tar hand om detta, då detta skulle begränsa skalbarheten onödligt mycket.

Men det ska väl inte vara såå svårt att ha en algoritm för att kunna lista ut om en nod är mer intresserad av en fil än en annan nod. Men eventuellt blir det ett problem för senare versioner. Förmodligen kommer version 1 inte att innefatta speciell hantering av noder som är utspridda geografiskt. Det var i alla fall inte min tanke.

138 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)