1 Hálózati Operációs Rendszerek NFS, AFS, CODA SMB, CIFS DFS LanStore Előadó: Bilicki Vilmos [email protected] www.inf.u-szeged.hu/~bilickiv
Jan 16, 2016
1
Hálózati Operációs Rendszerek
NFS, AFS, CODASMB, CIFS
DFSLanStore
Előadó: Bilicki [email protected]/~bilickiv
2
Az előző előadás tartalma(1) Virtuális Magánhálózat
Fogalma, Felhasználási területe Átviteli megoldások:
Internet Protocol Security Alagút mód Átviteli mód
Layer 2 Transport Protocol L2TP/IPSec
Point to Point Transport Protocol Point-to-Point Protocol
PAP CHAP MS-CHAP, MS-CHAP v2 EAP
3
Az előző előadás tartalma (2) AAA - Felhasználó azonosítás, naplózás
Remote Access Dial-Up Service Internet Authentication Service Terminal Access Controller Access System
4
Tartalom Network File System (NFS) Andrew File System (AFS) CODA File System (CODA) Server Message Bolck (SMB), Common Internet
File System (CIFS) Distributed File System (DFS) LanStore
5
Források(1) NFS:
http://www.cs.sfu.ca/CC/401/tiko/lecnotes/ch4.3.pdf http://citeseer.ist.psu.edu/cache/papers/cs/27631/
http:zSzzSzwww.pdos.lcs.mit.eduzSz6.824zSzpaperszSzsandberg-nfs.pdf/
sandberg85design.pdf
AFS: http://reports-archive.adm.cs.cmu.edu/anon/itc/CMU-ITC-062.pdf
CODA: http://citeseer.ist.psu.edu/cache/papers/cs/2670/http:zSzzSzwww.cs.cmu.eduzSzafs
zSzcs.cmu.eduzSzprojectzSzcodazSzWebzSzdocdirzSzwwos2.pdf/satyanarayanan90coda.pdf
http://citeseer.ist.psu.edu/cache/papers/cs/26981/http:zSzzSzwww-
2.cs.cmu.eduzSzafszSzcs.cmu.eduzSzuserzSzsatyazSzWebzSzMCSALINKzSzPAP
ERSzSzkistler92.pdf/kistler92disconnected.pdf
6
Források(2) SMB:
http://samba.anu.edu.au/cifs/docs/what-is-smb.html CIFS:
http://ubiqx.org/cifs/
http://www.codefx.com/CIFS_Explained.pdf DFS:
http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/techref/en-us/Default.asp?url=/resources/documentation/windowsServ/2003/all/techref/en-us/W2K3TR_dfs_intro.asp
http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/techref/en-us/Default.asp?url=/resources/documentation/windowsServ/2003/all/techref/en-us/W2K3TR_frs_intro.asp
7
Elosztott fájl rendszerek Rendelkezésünkre áll a hálózat Hogyan tudunk sok klines számára robosztus,
skálázható fájl szolgáltatást nyújtani. Offline fájl kezelés? Hatékony sávszélesség használat? Robosztus tárolás? Skálázható tárolás? Transzpares tárolás? Fájl rendszer támogatás? Biztonság? Elosztott adminisztráció? Központosított adminisztráció? Sebesség?
8
Hálózati Fájl Rendszer SUN Network File System (1985) Eredeti cél:
Heterogén környezetben fájl megosztás Hardver és OS független Összeomlás után is működőképes legyen Transzparens hozzáférés Unix fájl rendszer szemantika támogatás Megfelelő teljesítmény
Tulajdonságai: A kliensek gyorsírótáraznak (fix méretű blokkok, timeout Tc, Tm) Hálózati átvitel nagy blokkokban LAN-hoz illeszkedik legjobban
Alkotó elemei: NFS protokoll NFS szerver NFS kliens
9
NFS alkotóelemek(1) NFS protokoll
RPC hívás gyűjtemény Szinkron (jó mert helyi hívásként működik/rossz mert
blokkolódik) Állapotmentes
Minden egyes RPC hívás tartalmaz minden paramétert, nem függ az előzőektől
Kliens és Szerver összeomlás után is egyszerű a dolga: csak újra kell küldeni az utolsó RPC-t.
Nincs open/close Átviteli protokoll független (mert az RPC az), UDP-t használ Leggyakrabban az fhandle nevű struktúra közlekedik (ezt persze
csak a szerver érti). Néhány gyakoribb függvény:
lookup(dirfh, name), (newfh, attr)create(dirfh, name, attr), (status)remove(dirfh, name), (status)symlink(dirfh, name, string)
10
NFS alkotóelemek(2) NFS szerver
Mivel állapotmentes ezért a hívások visszatérése előtt elment minden adatot a háttértárolóra (így nehézkes a gyorsítótár)
NFS kliens Transzparens hozzáférés Mount paranccsal tetszőleges
könyvtárhoz csatolható (ezt egyszer kell megtenni)
Virtual File System(VFS) interfész a kernelben File handle -> i-node Azért hogy a különböző fájl
rendszerek egyformán használhatóak legyenek.
Az egész fájlrendszerre tartalmaz műveleteket
Virtual Node (vnode) interfész fájl műveleteket ír le
11
VFS/Vnode műveletek VFS
unmount(vfs) (vnode)root(vfs) statfs(vfs) sync(vfs)
Vnode open(vnode,flags) bread(vnode, blockno) mkdir(dvnode,name) …
12
NFS mount szolgáltatás /etc/exports (rpc.mountd) mount() -> file handle a könyvtárra Auto mount Hard vs. Soft mount
13
Andrew File System (AFS) Carnegie Mellon , IBM (1986-1990) Célok:
Jól skálázható ~ 7000 kliens Unix fájl rendszerrel többé kevésbé kompatibilis (pl.: írás egy gépen
igen, írás több gépen open/close) Egész fájlokat kezeljen (nem blokk, rekord szintű, max. 2Gbyte)
Ez megfelel a Campus használatnak (nem Adatbázis) Nagy fájlokat darabokra tördelik Ha egy gép megnyit egy fájlt akkor le kell másolnia az egészet és a ott tudja
csak módosítani Csak akkor írja vissza a módosítást ha le van zárva a fájl Kicsi hálózati forgalom
Gyorsírótárazhatja, újrafelhasználhatja a fájlokat Nagyon hatékony(96-98% találati arány)
Sok kicsi szerver (egy nagy helyett) Skálázható Üzembiztos
RPC alapú
14
AFS elemek(1) Logikai Kötetek
Fájl csoportok Tipikusan egy felhasználó fájlai A mentés, terhelés elosztás, hely elosztás alapegységei Csak olvasható nézet (programok, …) RégiFájlok néven elérhetőek az előző napi fájlok
Fájl szerverek Itt nem lehet közvetlenül hozzáférni a fájlokhoz Logikai kötetek halmaza
Létrehozás Klónozás Mozgatás Mentés
15
AFS elemek (2) Kliensek (Andrew Cache Manager) Venus
Megkeresik, letöltik a fájlokat Emulálja a Unix fájl rendszert a transzparens működés érdekében Egy gyökér /cmu (helyszín transzparens) Ha a gyorstárban van akkor megnyitáskor ellenőrzi a fájl aktualitását A Close() után a kliens frissíti a szerveren lévő verziót Callback:
A szerver adott fájl írásakor értesíti azokat a klienseket akik ezt igénylik A kliensek ekkor cancelled állapotba teszik a fájlt és amikor legközelebb
valaki hozzá akar férni akkor frissítik. Ha többen is írják ugyanazt a fájlt akkor a legutolsó az érvényes, a
közbülső változások elvesznek AFS cellák
/afs alatti könyvtárak Különálló adminisztratív egységek Egy számítógép egy cellához tartozhat Szabályok, konfiguráció, …
16
CODA fájl rendszer Nagy elosztott adattár Carnegie Mellon (1989) Komoly offline támogatás (egy, két nap is!) Megbízható szerver, megbízhatatlan kliens Helyszín független Az AFS utóda
Hibamentes működésben ugyanaz Hibák esetén robosztusabb (magas rendelkezésreállás)
Ha a szerver nem elérhető csak akkor tagadja meg a hozzáférést egy adott fájlhoz, könyvtárhoz, ha biztos benne, hogy az elavult
Ez konfliktusokhoz vezethet A konfliktusok elfogadhatóak, ha ritkák, jól detektálhatóak és
kezelhetőek Az érzékeny fájlokra kikapcsolható a magas
rendelkezésreállást támogató mehanizmus
17
Szerver replikáció Kötet (Volume) a replikáció alapegysége
Fájlok gyűjteménye melyek egy szerveren vannak tárolva és a megosztott névtér egy alfáját alkotják
A szerverek gyűjteményét melyek egy kötetet tartalmaznak kötet tároló csoportnak nevezzük (Volume Storage Group - VSG)
Azon adatokat melyeket nem akarunk magas rendelkezésreálásúnak tudni olyan kötetekben gyűjthetjük melyek nincsennek replikálva
Csak olvasható replikák (AFS örökség) Elsőosztályú/Második osztályú replikák Optimista replikáció (Ritkán van a Unix-ban írás ütközés 0,75%) Hozáférhető kötet tároló csoportnak (Accessible Volume Storage Group
- AVSG) – a kliens nyilvántartja Timeout Read-one, write-all Miután a klines befejezte az íást minden ASVG szervernek elküldi az új
változatot (Nem terheli a szervereket/ Lassú terjedés) Preferált szerver (Preferred server) – CPU, .... Ellenőrzi az adat
helyességét más szervernél is, ha nem jó akkor új preferált szervert választ
Callback a preferált szerver felé
18
Kapcsolamentes működés Az ASVG üres Transzparens a felhasználó számára Az online üzemmód a preferált (mobil esetén nem
feltétlenül) Az átmenet transzparens a felhasználó számára Csak a helyszínen lévő fájlokat használhatja Ha nem talál valamit a gyorstárban az csak rövid kiesés
online üzemódban. Offline üzemmódban a felhasználó megszakításáig próbálkozik.
LRU (Legutoljára használt) gyorstár algoritmus rövid kimaradásoknál (megfelelő: szöveg szerkesztés, programozás, ...)
A felhasználó definiálhat egy prioritás listát a gyorstárban tartandó fájlokról
A klines képes megjegyezni az egyes programoknál használt fájlokat
19
NetBIOS PC network IBM ~ 80 entitás számára Network Basic Input Output System (NetBIOS) szoftver
interfész a hardver felé Jelenlegi szolgáltatásai:
Név (16 bájtos string), dinamikus UDP 137 B node, Wins P node Csoport Egyedi
Datagram (UDP, TCP csomagolás) Viszony (TCP 139)
DOS 3.1 NetBIOS API SMB fájl szolgáltatás üzenetek kezelése Redirector (tábla keresés) subst, net use
NetBIOS tcp/ip felett NetBT Network Control Block
20
Server Message Block 198x IBM, 1988 Microsoft Állapot tartó, komplex
(nyomtató, üzenet, ...) Rekord alapú Protokoll független TCP/IP felett 445-ös port,
NBT felett 139-es port Univerzális Elnevezési
Konvenció UNC \\gepev\könyvtár\fajl
SMB URL smb://gepnev/könyvtárnév/fajlnév
Jelenlegi neve CIFS Offline műveletek támogatása (Hosszú fájl, könyvtár nevek ....)
21
Distributed File System Megosztott mappák csoportosítása névterekbe Egységes nézet, a felahasználó számára nem
észrevehető, hogy egyes mappák más-más gépeken vannak
Elszakadhatunk a C:, D: ... –tól Robosztus megoldás Támogatja a terhelés elosztást Active Directory szükséges a használatához Alapból NetBIOS neveket használ
22
Használati esetek Szerver konszolidáció Alkalmazások
publikálása
23
Terhelés elosztás Véletlen
Helyen belül Helyen kívül
Legolcsóbb helyek között Véletlen
24
DFS típusai Tartományi Önálló
ICAI2004 25
Egy diplomamunka (LanStore) Mit biztosít:
Kicsi, közepes hálózatok támogatása (< 256 szerver) Biztonságos Robosztus Egyszerű Decentralizált Elosztott I/O
Mit nem biztosít: Skálázhatóság Helyi tárhoz mérhető hozáférési idő
ICAI2004 26
Részletek Hálózati réteg Adat redundancia réteg Biztonsági réteg Adatbázis réteg
File
1234...
1.2
Erasure Codes
1.11.2...
1.
2.
1.
2.
Data Nodes
27
Adat Redundancia réteg Hibajavító kódok:
Reed-Solomon Galois mező műveletek Típusai
Vandermonde Cauchy
Teljesítméye egy PIII 800 MHz 256 MByte RAM PC
Eredmények (100 adat csomópont / 25 hibajavító): GF(2^8) ~ 1,4 Mbyte/s GF(2^16) ~ 0,58 Mbyte/s
Low-Density Parity-Check codes: XOR operations Types:
Systematic Gallager IRA
File
1234...
1.2
Erasure Codes
1.11.2...
1.
2.
1.
2.
Data Nodes
28
Biztonsági, Adatbázis réteg Adatbázis:
Metaadatok: Kivonat Útvonal Név ACL
Digitális bizonyítványok Önjavító
Biztonság: PKI Szimmetrikus titkosítás
29
Adatbázis
Három adatbázis: Fájl darab tároló (fájlrendszer) Azonosítás:
Certificate Viszony kulcs
Tartalom: File ID (hash – 20 Mbyte/s) Name, …
Helyi
Replikált
30
Önjavító A hiányzó UDP csomagokat ki tudjuk számítani A hiányzó adatokat a kiesett szerverre ki tudjuk
számítani
31
Hálózati réteg
LAN-ra optimalizált: UDP csomagok Multicast képesség
Data NodeCommon ServiceMulticast Channel
Client Specific MulticastChannel
Data Node SpecificUnicast Channel
Data NodeAnycast Channel
Every Node
Client Group Nodes
32
Fájl letöltés minta
Clinet Data Node
File Upload(hash,name,mac,mcastch,cid,length)
Search(hash)
Data Node
Data Node
ReadyForStoring(dnid)
ReadyForStoring(dnid)
ReadyForStoring(dnid)
File Upload(hash,name,mac,*data,serial)
Segmentation()
File Upload(hash,name,mac,*data,serial)
File Upload(hash,name,mac,*data,serial)
Error(serial)
{ etc.}
Commit(hash)
33
Tartalom Network File System (NFS) Andrew File System (AFS) CODA File System (CODA) Server Message Bolcks (SMB) Common Internet File System (CIFS) Distributed File System (DFS) LanStore
34
A következő előadások tartalma
Tárló Tömb Hálózat (Storage Array Network - SAN) Szerepe Típusai ISCSI
Hálózati biztonság Tűzfalak szolgáltatásai és típusai Proxy szolgáltatásai és típusai Behatolás detektálása
A félév anyagának áttekintése