Elosztott rendszerek: Alpelvek és prdigmák Distriuted Systems: Priniples nd Prdigms Mrten vn Steen 1 Kitlei Róert 2 1 VU Amsterdm, Dept. Computer Siene 2 ELTE Informtiki Kr 11. rész: Elosztott fájlrendszerek 2015. május 24.
Trtlomjegyzék Fejezet 01: Bevezetés 02: Arhitektúrák 03: Folymtok 04: Kommunikáió 05: Elnevezési rendszerek 06: Szinkronizáió 07: Konziszteni & replikáió 08: Hitűrés 10: Ojektumlpú elosztott rendszerek 11: Elosztott fájlrendszerek 12: Elosztott welpú rendszerek Mrten vn Steen, Kitlei Róert Elosztott rendszerek 2 / 15
Elosztott fájlrendszerek Cél: fájlrendszer átlátszó elérését iztosítni távoli kliensek számár. 1. File moved to lient Old file New file Requests from lient to ess remote file File stys on server Távoli hozzáférési modell 2. Aesses re done on lient 3. When lient is done, file is returned to Feltöltés/letöltés modell Mrten vn Steen, Kitlei Róert Elosztott rendszerek 3 / 15
Péld: NFS rhitektúr Az NFS (Network File System) elosztott fájlok távoli elérését teszi lehetővé. Az lklmzások helyi VFS (Virtul File System) réteget érik el, ez iztosítj távoli elérés átlátszóságát. System ll lyer System ll lyer Virtul file system (VFS) lyer Virtul file system (VFS) lyer Lol file system interfe NFS lient NFS server Lol file system interfe RPC lient stu RPC server stu Network Mrten vn Steen, Kitlei Róert Elosztott rendszerek 4 / 15
NFS fájlműveletek Művelet Verzió Leírás Crete v3 Hgyományos fájl létrehozás Crete v4 Nem-hgyományos fájl létrehozás (hgyományos: Open) Link v3 és v4 Vlódi stolás (hrd link) létrehozás fájlr Symlink v3 Szimolikus stolás (soft link, symlink) létrehozás fájlr Mkdir v3 Alkönyvtár létrehozás Mknod v3 Különleges fájl létrehozás Renme v3 és v4 Fájl átnevezése Remove v3 és v4 Fájl eltávolítás fájlrendszeről Rmdir v3 Üres könyvtár eltávolítás Open v4 Fájl megnyitás Close v4 Fájl ezárás Lookup v3 és v4 Fájl megkeresése név szerint Reddir v3 és v4 Könyvtár trtlmánk lekérése Redlink v3 és v4 Szimolikus stolás elérési útvonlánk olvsás Getttr v3 és v4 Fájl tuljdonságink lekérdezése Setttr v3 és v4 Egy vgy tö tuljdonság írás Red v3 és v4 Fájl trtlmánk olvsás Write v3 és v4 Fájl dtink írás Mrten vn Steen, Kitlei Róert Elosztott rendszerek 5 / 15
Fürt (luster) lpú fájlrendszerek Ngy fájlrendszerek esetén kliens-szerver lpú megközelítés nem elég jó fájlokt síkokr ontjuk (striping), így részeiket párhuzmosn érjük el. Ennek élj rendszer gyorsítás és iztonságosá tétele. File lok of file File lok of file e d e d e d e Whole-file distriution e d d d e e File-striped system Mrten vn Steen, Kitlei Róert Elosztott rendszerek 6 / 15
Péld: Google File System GFS lient file nme, hunk index ontt ddress Mster Instrutions Chunk-server stte Chunk ID, rnge Chunk dt Chunk server Linux file system Chunk server Linux file system Chunk server Linux file system A fájlt 64 MB méretű részekre (hunk) ontjuk, és tö szerveren elosztv, replikálv tároljuk. A központ (mster) sk zt tárolj, melyik szerver melyik részek felelőse I/O terhelése lsony A szerverek elsődleges másolton lpuló replikáiós protokollt hsználnk; központot ez nem terheli Mrten vn Steen, Kitlei Róert Elosztott rendszerek 7 / 15
RPC fájlrendszereken Egy lehetőség távoli fájlrendszerek megvlósításár, h távoli eljáráshívások segítségével végezzük fájlműveleteket. H távoli gép elérése költséges, lterntív megoldásokr vn szükség, pl. z NFSv4 támogtj tö művelet összekominálását egy hívás. LOOKUP LOOKUP OPEN READ Lookup nme Lookup nme Time READ Red file dt Time Open file Red file dt () () Mrten vn Steen, Kitlei Róert Elosztott rendszerek 8 / 15
Péld: RPC Cod fájlrendszeren H replikált fájlokkl dolgozunk (pl. Cod kliensei he-elhetik fájlokt), kkor kérések sorrendjének kikényszerítése (() ár) túlságosn költséges lehet, mert h összeomlik egy kliens, kkor sk hosszú timeout után jöhet következő. Invlidte Reply Invlidte Reply Invlidte Reply Invlidte Reply Time Time () () Mrten vn Steen, Kitlei Róert Elosztott rendszerek 9 / 15
A fájlmegosztás szemntikáj H egyszerre tö kliens is hozzáférhet egy fájlhoz, konkurens írási és olvsási műveletek lehetséges végrehjtási sorrendjeit és kijöhető eredményeket (összefogllv: rendszer szemntikáját) rögzíteni kell. Single mhine Originl file mhine #1 Proess A 2. Write "" File server 1. Red "" Proess A 3. Red gets "" mhine #2 Proess B Proess B 1. Write "" 2. Red gets "" () Mrten vn Steen, Kitlei Róert Elosztott rendszerek 10 / 15 ()
A fájlmegosztás szemntikáj Sokfjt szemntik jöhet szó. Megváltoztthttln fájlok: fájlok trtlmát nem lehet módosítni létrehozás után; ez modell sk ritkán hsználhtó UNIX szemntik: z olvsási műveletek mindig legutolsó írási művelet eredményét dják fájlól sk egy példányunk lehet z elosztott rendszeren (z előző () ár) Trnzkiós szemntik: rendszer minden fájlr külön iztosít trnzkiókt Munkmenet szemntik: onnntól, hogy kliens megnyitj fájlt, odáig, míg vissz nem írj, z írási és olvsási műveletei sk sját mg számár látsznk (gykori válsztás rendszereken; z előző () ár) Mrten vn Steen, Kitlei Róert Elosztott rendszerek 11 / 15
Péld: fájlmegosztás Cod rendszeren A Cod fájlrendszer munkmenetei trnzkiós szemntikát vlósítnk meg. A megnyitott fájl trtlm átmásolódik kliensre; h más módosítj fájlt, rról kliens értesítést kp. H kliens sk olvs (pl. z árán S A ), kkor folytthtj működését úgy tekintjük, hogy trnzkió, melyet végez, már korán lezárult. Session S A Open(RD) File f Invlidte Close Open(WR) File f Close Session S B Time Mrten vn Steen, Kitlei Róert Elosztott rendszerek 12 / 15
Konziszteni és replikáió A modern elosztott fájlrendszereken kliensoldli gyorsítótárzás szerepe főleg teljesítmény növelése, szerveroldli replikáió élj hitűrés iztosítás. A kliensek tárolhtják fájlokt (vgy részeket előlük), és szerver kiértesíti őket, h ezt jogot visszvonj tőlük szerverek áltlán állpotteljesek. 1. sks for file 2. delegtes file Old file Lol opy 3. rells delegtion 4. sends returns file Updted file Mrten vn Steen, Kitlei Róert Elosztott rendszerek 13 / 15
Péld: kliensoldli gyorsítótárzás Cod rendszeren A Session S A Session SA Open(RD) File f Invlidte (llk rek) Close Open(RD) File f Close File f OK (no file trnsfer) Open(WR) Open(WR) Close Close B Session S B Session S B Time A trnzkiós szemntik segítségével teljesítmény tová növelhető. Mrten vn Steen, Kitlei Róert Elosztott rendszerek 14 / 15
Rendelkezésre állás növelése P2P rendszereken Sok P2P lpú, deentrlizált fájlrendszer létezik. Ezeken prolém lehet, h túl gyorsn változik tgság (hurn), mert kiléphet kár egy fájlt trtlmzó összes sús. Ennek kivédéséhez replikálhtjuk fájljinkt (rányát jelölje r rep ). Másik megközelítés: ersure oding: z F fájlt ontsuk m részre, és minden szerverre tegyünk n részt, hol n > m. A replikáiós rány ekkor r e = n/m. Ez z rány áltlán sokkl kise, mint r rep, h rendszerünk változékony. r rep r e 2.2 2.0 1.8 1.6 1.4 0.2 0.4 0.6 0.8 1 Node vilility Mrten vn Steen, Kitlei Róert Elosztott rendszerek 15 / 15