Professional Documents
Culture Documents
MC LC
Li m u...2 I/ Tng quan v h phn tn I.1 H phn tn l g?...........................................................................................3 I.2 Cc c trng c bn ca h phn tn............................................................3 II/ Cc nguyn l ca h phn tn II.1 Truyn thng.................................................................................................4 II.2 Tin trnh.......................................................................................................5 II.3 nh danh......................................................................................................7 II.4 ng b ho..................................................................................................8 II.5 Nht qun v Nhn bn.................................................................................11 II.6 Chu li..........................................................................................................12 II.7 Anh ton An ninh.......................................................................................14 III/ H thng qun tr tp phn tn III.1 Sun File Network System..............................................................................16 III.1.1 Tng quan v NFS........................................................................17 III.1.2 Truyn thng.................................................................................20 III.1.3 Stateless - Stateful.........................................................................21 III.1.4 nh danh......................................................................................21 III.1.5 ng b ha..................................................................................25 III.1.6 Lu m v bn sao......................................................................28 III.1.7 Chu li..........................................................................................29 III.1.8 An ton an ninh..........................................................................31 III.2 H thng file Coda........................................................................................33 III.3 Cc h thng file phn tn khc....................................................................34 III.4 So snh gia cc h thng file phn tn........................................................37 IV/ Kt lun..40
LI M U
Cng vi s pht trin ca mng my tnh, vic tnh ton, qun l ngy nay khng ch n gin tp trung trong my tnh n nh trc na. N i hi cc h thng tnh ton phi c kt hp t mt s lng ln cc my tnh kt ni vi nhau qua 1 mng tc cao. Chng thng c gi l cc mng my tnh hay cn c tn khc l cc H phn tn, nhm m ch tng phn vi H tp trung trc y. Ngy nay, h phn tn pht trin rt nhanh v c ng dng rng khp. c th l cc dch v thng tin phn tn, nh cc dch v trn Internet chng hn. cng c th l cc c s d liu phn tn nh cc h thng t v my bay, xe lahoc cc h thng tnh ton phn tn. Mc ch ca tiu lun ny nhm nu ra 1 cch khi qut nht nhng khi nim, nhng nguyn l c bn ca mt h phn tn ni chung. ng thi phn tch su vo vic chia s d liu trong h phn tn, 1 trong nhng chc nng c bn nht ca h phn tn. Chng ta thng gi l h thng qun tr file phn tn. Ta cng s ln lt nghin cu cc m hnh khc nhau ca h thng file phn tn nh Sun NFS, Coda, Plan 9, XFS Cui cng em xin chn thnh cm n thy Nguyn Thc Hi gip em hon thnh cun tiu lun ny. Sinh vin thc hin L Hong Thanh
c/ Tnh m (openess)
Mt h phn tn c gi l c tnh m nu n c kh nng b sung thm cc dch v mi m khng lm nh hng xu n cc dch v c. d/ Tnh co dn (scalability) Mt h phn tn c gi l c tnh co dn nu n c th thch nghi c vi nhng s thay i qui m ca h thng.. Tnh co dn th hin trn 3 kha cnh. D dng b sung thm ti nguyn v ngi s dng. H thng thay i qui m v mt a l. H thng thay i qui m v qun tr.
e/ Tnh chu li (Fault tolerance) X l c nhng li xy ra trong qu trnh lm vic. Bn cnh tnh chu li lun i km theo l khc phc li. f/ Tnh an ton an ninh (security)
H thng file phn tn 6. Tng trnh din (Presentation) 7. Tng ng dng (Application)
Mi tng ca m hnh OSI gii quyt mt phn ca vic giao tip. V mi tng li c giao thc ring ca n. Mi h thng m c cc qui tc v nh dng, ni dung, v ng ngha ca thng ip gi v nhn cc qui tc ny c gi l cc giao thc (protocol). 1 nhm cc my tnh c th truyn thng c vi nhau, cn phi c cc giao thc thng nht gia cc my tnh. C 2 loi giao thc khc nhau: giao thc hng kt ni (Connection-Oriented protocol) phi thit lp kt ni trc khi truyn/nhn d liu, sau khi xong phi gii phng kt ni. V giao thc phi kt ni (Connectionless-Oriented protocol): khng cn kt ni, thng tin c truyn ngay khi sn sng.
Cng c mt s dng truyn thng m yu t p ng thi gian ng vai tr ct yu nh d liu m thanh hoc hnh nh chng hn. Do cn phi c 1 c ch truyn thng hng dng.
Agent c 2 c tnh c bn l: t tr v tng tc. Ngoi ra cn c cc c tnh ring tu theo tng tc t, l: 1. Tnh di ng: tng ng ta s c tc t di ng (mobile agent). Mt tc t di ng l mt tc t c kh nng chuyn i gia cc my khc nhau. Cc tc t di ng i hi phi c tnh di ng mnh. Cc tc t di ng thng yu cu phi h tr m hnh m di ng mnh (strong mobility), tuy khng nht thit. 2. Tnh thng minh: tng ng ta s c tc t thng minh (intelligent agent). Ngoi ra ta cn c cc loi tc t khc nh: Tc t giao din (interface agent) gip h tr cho ngi s dng trong vic chy mt hoc nhiu ng dng. Tc t thng tin (information agent) l tc t lin quan mt thit vi tc t giao din. Chc nng chnh ca cc tc t ny l qun l thng tin t nhiu ti nguyn khc nhau. Qun l thng tin gm sp xp, sng lc, Thuc tnh Autonomous Reactive Proactive Communicative Chung cho tt c cc tc t ? C C C C M t
C th hot ng trn chnh n p ng ng lc thay i mi trng. Khi to cc hnh ng tc ng n mi trng. C th trao i thng tin vi ngi s dng v cc tc t khc. Continuos Khng Khong thi gian sng (life) tng i di Mobile Khng C th di tr t ni ny n ni khc Adaptive Khng C kh nng hc Mt vi thuc tnh quan trng ca tc t gia cc loi tc t khc nhau.
II.3/ nh danh
Cc tn ng vai tr quan trng trong tt c cc h thng my tnh. Chng c dng chia s cc ti nguyn, nh danh duy nht cc thc th, tham chiu n cc ni Vic t tn to c s cho php cc tin trnh c th truy cp n thc th thng qua tn ca chng. Trong mt h thng phn tn, vic inh danh thng c thc thi phn tn trn nhiu my. C ba vn chnh trong vic inh danh trong h phn tn. 1. t tn theo cch gn gi vi con ngi. 2. Cc tn c s dng nh v cc thc th di ng. 3. Gii quyt cch t chc tn.
2. Mi thc th c tham chiu nhiu nht bi 1 nh danh. 3. Mt nh danh lun tham chiu ti cng 1 thc th. Nh dng nh danh, chng ta d dng hn khi cp n mt thc th. Chng ta cng khng th s dng a ch lm nh danh c v address c th thay i. Khng gian tn (namespace): l 1 cch t chc cc tn trong h phn tn. Biu din bng 1 th c hng - th tn (name graph). Phn gii tn (name resolution): duyt th tn theo namepath tm kim tn hoc nh danh ca 1 thc th.
II.3.2/ nh v thc th di ng
Mt phng php ph bin h tr cc thc th di ng trong mng c phm vi ln l home-based, bng cch a ra 1 a im ch (home location), ni s gi li vt ca a im hin ti ca thc th. Trong thc t th a im ch thng c chn ti ni m thc th c to ra. Mt v d v k thut home-based l trong Mobile IP (IP di ng) Mi host di ng s dng a ch IP c nh. Tt c cc giao tip n a ch IP u tin s c n mobile hosts home agent (ni qun l cc host di ng). Ni qun l ny c t trn mt mng LAN tng ng vi a ch mng cha trong a ch IP ca host di ng. Bt c khi no host di ng chuyn ti mt mng khc, n u yu cu mt a ch tm thi dng cho cc hot ng giao tip. a ch chuyn tip (care of address) ny c ng k ti home agent. Khi home agent nhn c mt gi tin gi cho mt host di ng, n s tm kim a im hin ti ca host di ng . Nu host di ng ang mng cc b hin hnh th gi tin s c chuyn tip mt cch d dng. Ngc li, n s to mt ng ngang ti ni m host di ng ang nm bng cch gi (wrap) d liu trong mt gi IP v gi n a ch chuyn tip m n ang qun l. Cng lc th ni gi gi tin i c thng bo ca a im hin ti ca host di ng. Ch rng a ch IP c s dng mt cch hiu qu khi c 1 nh danh cho host di ng. Ngoi hng tip cn trn cn nhiu hng khc na gii quyt vn thc th di ng.
II.4/ ng b ha
Trong h phn tn, vic tnh thi gian ca mi my tnh l khc nhau, v vy cn phi c mt khi nim gi l thi gian vt l thng nht v thi gian gia cc my tnh trn ton cu. Bn cnh , khi cc tin trnh cng yu cu mt n v d liu trong cng mt thi gian th s khng trnh khi tng tranh bt kh khng. Nhng iu trn chnh l cc vn chnh cn c gii quyt trong vic ng b ho.
II.4.1/ ng b ho ng h vt l
Mi my tnh u ci t 1 ng h vt l, l cc mch m xung nhp. Tht ra chng khng phi ng h trong quan im thng thng. Nhiu khi ta gi chng l cc b m nh thi (timer). B nh thi trong my tnh thng l tinh th thch anh chy rt chnh xc. Khi c gi mt hiu in th, tinh th thch anh dao ng vi tn s n nh 8
ty thuc vo loi tinh th . Lin kt vi tinh th thch anh l hai thanh ghi, 1 b m (counter) v thanh ghi gi (holding register). Mc d tn s ca b dao ng tinh th lun kh n nh, n khng th m bo cc tinh th trong cc my tnh khc nhau u chy chnh xc cng tn s. Thc t khi mt h thng c nhiu my tnh th tt c cc tinh th s chy vi tn s khc nhau cht t, dn gy ra s mt ng b v gi tr c ra s khc nhau. S khc nhau v gi tr thi gian c gi l s sai lch ca ng h. V kt qu ca s sai khc ny l chng trnh c s i hi thi gian lin kt vi file, i tng, tin trnh, hay thng ip s khng cn chnh xc. Trong mt s h thng thi gian thc, thi gian ng h l rt quan trng. i vi nhng h thng ny i hi c cc ng h vt l ngoi. Vic dng nhiu ng h vt l nh th s ny sinh ra 2 vn : 1. 2. Lm th no ng b chng vi ng h th gii thc. Lm th no ng b chng vi nhau. Vic ng b gia cc ng h vt l cn phi da vo 1 thi gian chun c gi tr ton cu thi gian phi hp ton cu UTC (universal coordinated time). Nu cc my tnh c cc wwv receiver th vic ng b ha s c thc hin theo UTC. Ngc li, nu cc my tnh khng c wwv receiver th phi s dng cc gii thut ng b ha ng h vt l. C 3 gii thut ph bin, l: 1. Gii thut Cristian. 2. Gii thut Berkeley. 3. Gii thut trung bnh. Tt c cc thut ton u c cng m hnh h thng c bn. Mi my xem nh c mt b m thi gian, n to ra mt ngt H ln trong mt giy. Gi gi tr ca ng h ny l C. Khi thi gian UTC l t, th gi tr ca ng h trn my p s l Cp(t). Trong mt th gii l tng chng ta c Cp(t) = t cho tt c p v t. Hay ni cch khc, l tng l C(p)/t = 1. B nh thi thc khng ngt chnh xc H ln trong mt giy. Theo l thuyt, b nh thi vi H = 60 cn pht ra 216000 tick trong mt gi. Thc t nhng sai s tng i t c vi cc chip m thi gian hin i t khong 10 -5, c ngha l mt my no c th ly gi tr t 215998 n 216002 tick trong mt gi. Mt cch chnh xc hn, tn ti mt hng s tho mn: 1 - dC/dt 1 + m b nh thi lm vic chnh xc. Hng s c xc nh bi nh sn xut v c gi l Maximum Drift Rate.
II.4.2/ ng b ho ng h logic
a/ Tem thi gian Lamport (1978) ng b ng h logic, Lamport nh ngha mt mi quan h gi c gi l happens-before (xy ra - trc khi). S kin a xy ra trc s kin b (K hiu: ab) c gi l ng nu: 1. a, b l hai s kin xy ra trong cng 1 tin trnh, v a xy ra trc b. 2. a, b khng thuc mt tin trnh nhng a gi mt thng ip i v b l s kin nhn thng ip . Happens before l mt quan h ko theo, v th nu ab v bc th ta s c ac. Nu hai s kin x v y xy ra trong hai tin trnh khc nhau (thm ch khng gin tip qua 9
i tng th ba) th xy l khng ng, v c yx cng th. Nhng s kin ny c gi l ng thi. Nu ta c s kin x, th k hiu C(x) l tem thi gian ca x, tha mn cc iu kin sau: Nu a xy ra trc b trong cng 1 tin trnh th C(a) < C(b). Nu a v b biu din tng ng vic gi nhn thng ip th C(a) < C(b). Mi s kin phn bit a v b th C(a) C(b). b/ Nhn thi gian vector (Vector Timestamps) Mt nhn thi gian vector VT(a) c gn cho mt s kin a c thuc tnh. Nu s kin a trc s kin b th ta c VT(a) < VT(b). Vector nhn thi gian c xy dng bng cch mi tin trnh Pi duy tr mt vector Vi vi hai thuc tnh sau: 1. Vi[i] l s s kin xy ra cho n by gi Pi. 2. Nu Vi[j] = k th Pi hiu rng k s kin xy ra Pi. Thuc tnh u tin c duy tr bi vic tng Vi[i] ng thi vi mi s kin mi xy ra Pi. Thuc tnh th hai c duy tr bng cc piggy-backing vector cng vi cc thng ip c gi
II.4.3/ Trng thi tng th (global state) II.4.4/ Cc gii thut bu chn (election algorithm)
Nhiu thut ton phn tn i hi 1 tin trnh ng vai tr nh iu phi vin (coordinator), ngi khi xng (initiator), hoc khng th thc hin 1 vai tr c bit. Trong phn ny ta s xem xt cc thut ton bu chn iu phi vin. Thut ng iu phi vin c dng nh 1 tn tng qut cho tin trnh c bit. Nu tt c cc tin trnh u ging ht nhau, khng c cc c im phn bit, th khng c cch no chn ra mt tin trnh c bit. V th chng ta s gi s rng mi tin trnh c mt con s duy nht, v d nh a ch mng ca n ( n gin ta cng cho rng mi tin trnh trn 1 my). Ni chung, cc thut ton bu chn s c gng xc nh tin trnh vi s tin trnh (process number) l cao nht v ch nh n l iu phi vin. Cc thut ton khc nhau th s khc nhau trong cch xc nh ny. a/ Gii thut p o (bully algorithm Garcia Molina, 1982) Khi mt tin trnh bt k ch rng iu phi vin khng cn p ng cc yu cu na, th n bt u mt cuc bu c. Mt tin trnh P s t chc 1 cuc bu theo cc bc sau: 1. P gi mt thng ip bu c (ELECTION) cho tt c cc tin trnh vi s tin trnh cao hn. 2. Nu khng c ai phn hi, P s thng c v tr thnh iu phi vin. 3. Nu c ai vi s tin trnh cao hn tr li li, n chuyn li, v cng vic ca P xong. b/ Gii thut vng (ring algorithm) Gi s rng cc tin trnh c sp theo trt t vt l v logic mi tin trnh bit c tin trnh k tip l ai. Khi mt tin trnh thng bo khng tm thy iu phi vin, n xy dng mt thng ip bu c gm s hiu ring ca n v gi thng ip cho tin trnh k tip n. Nu tin trnh k tip down, bn gi s b qua v nhy n tin trnh k tip trn vng, cho n khi mt tin trnh ang chy c xc nh. Ti mi bc, tin trnh gi s thm s hiu tin trnh (process number) ca chnh n vo danh sch trong thng ip n tr thnh 1 ng vin trong vic bu iu phi vin. 10
M hnh nht qun cht (strict consistency): khi tha iu kin sau: Bt k thao tc c no trn n v d liu x th u s tr v mt gi tr tng ng vi thao tc ghi gn nht trn x. M hnh nht qun tun t (sequential consistency): l 1 m hnh nht qun yu hn 1 t so vi m hnh nht qun cht. N c a ra bi Lamport (1979), theo ng cnh b nh c chia s cho cc h thng a vi x l M hnh nht qun tuyn tnh. M hnh nht qun tuyn tnh (linearizability consistency): m hnh nht qun ny yu hn m hnh nht qun cht nhng li mnh hn m hnh nht qun tun t M hnh nht qun nhn qu (causal consistency): phn trc chng ta cng ni n tnh nhn qu khi cp n vector tem thi gian. Nu s kin B b tc ng v nh hng bi s kin A trc , tnh nhn qu i hi rng mi ngi phi thy A trc khi thy B. M hnh nht qun FIFO. M hnh nht qun yu (weak consistency): m hnh ny c nhng c im sau: b/ Cc m hnh nht qun yu 1. Truy cp n cc bin ng b ho (synchronization variables) c kt hp vi mt kho d liu (data store), nht qun mt cch tun t. 2. Khng c thao tc trn mt bin ng b c php thc hin cho n khi tt c cc thao tc ghi trc hon thnh mi ni. 3. Khng c thao tc c ghi trn cc n v d liu c php thc hin cho n khi tt c cc thao tc trc n cc bin ng b c thc hin. M hnh nht qun i ra (release consistency): ni chung mt kho d liu c gi l nht qun nh nu n tun theo cc qui tc sau: 1. Trc khi mt thao tc c ghi hoc ghi trn n v d liu chia s c thc hin, tt c yu cu thc hin trc bi cc tin trnh phi c hon tt thnh cng. 2. Trc khi mt s gii phng (i ra - release) c php thc thi, tt c cc thao tc c v ghi trc thc hin bi cc tin trnh phi c hon tt. 3. S truy cp n cc bin ng b ho l nht qun FIFO M hnh nht qun i vo (entry consistency) M hnh nht cui cng (eventual consistency). M hnh nht qun c u (monotonic reads). M hnh nht qun ghi u (monotonic writes). M hnh nht qun c thao tc ghi (read your writes). M hnh nht qun ghi theo sau c (writes your reads).
H thng file phn tn Cc bn sao my ch khi to (server-initiated replicas) Cc bn sao my khch khi to (client-initiated replicas)
b/ Lan truyn cp nht (update propagation) Vn c gii quyt y l lm th no lan truyn cc cp nht t 1 bn sao n cc bn sao khc.
II.6/ Chu li
Mt c tnh ring bit ca h phn tn gip phn bit vi h thng my n l khi nim ca li ring phn (partial failure). Mt li ring phn c th xy ra khi mt thnh phn trong h thng b s c, v li ny c th nh hng n hot ng chung ca cc thnh phn khc. Mt mc tiu quan trng trong thit k h phn tn l xy dng nn 1 h thng m n c th t ng hi phc li cc li ring phn m khng lm nh hng g nghim trng n ton b hiu nng.
13
D tha thng tin: bit tha c thm vo cho php hi phc nhng bit b sai khc, b li. V d, m Hanmming c th c thm vo d liu truyn hi phc khi c nhiu trn ng truyn. D tha thi gian: mt hnh c thc hin, v sau , nu cn, n li c thc hin ln na. D tha vt l: l 1 k thut rt ph bin cho vic chu li. N c dng trong sinh vt hc (ng vt c v th c 2 mt, 2 tai, 2 phi), trong k thut hng khng (Boeing 747 c n 4 ng c nhng ch dng 3 ci bay), trong th thao (nhiu trng ti ch trong 1 tnh hung phm li). N cng c dng chu li trong cc mch in t
h thng my tnh. N c m ho vi s lng kho a dng hn v cc hm dng m ho cng phc tp hn. Vic ci tin cc kho ny c xem l vn cn thit. Ci tin y l ci tin v kch thc ca kho phi c m rng v cc hm m ho kho phi c phi c la chn cn thn sao cho thng tin b ly i nhng khng s dng c do khng gii m c n. Mt trong s cc thut ton c xem nh p ng c yu cu ci tin ny l thut ton DES. Xc thc s dng 1 trung tm phn phi kho: mt trong nhng vn khi s dng kha b mt xc thc l tnh co dn. Nu h phn tn c N my ch, th h thng ni chung cn qun l N(N-1)/2 kha, v mi my ch phi qun l N-1 kha (v mi my ch u i hi chia s mt kho chia s vi mi N-1 my ch khc). Mt s la chn khc l s dng mt trung tm phn phi kha (KDC-Key Distribution Center). KDC chia s kha b mt vi cc my ch, nhng khng c hai my ch no c cng mt kha chia s. Nh vy nh s dng KDC chng ta ch cn qun l N kha thay v N(N-1)/2, iu ny r rng l mt s ci tin. Xc thc s dng kho cng khai.
II.7.5/ Kerberos
Mt trong nhng h thng an ton an ninh c s dng rng ri l Kerberos. Kerberos c pht trin bi MIT. N c da trn giao thc xc thc NeedmanSchroeder m ta ni phn trn (giao thc xc thc s dng trung tm phn phi kha KDC). Mc ch ca n l to lp knh an ton gia client v server.
II.7.6/ SESAME
SESAME l 1 h thng an ton an ninh khc, n cng kh ging vi Kerberos. Tuy nhin, n li dng m ho cng khai kt hp vi cc kho b mt chia s. D n SESAME c bt u bi s n lc tham gia ca cc cng ty ln Chu u, nhm pht trin cc chun an ton-an ninh cho h thng m. SESAME c vit tt t Secure European System for Application in a Multi-vendor Environment.
Thanh ton trc tip gia ngi bn v ngi mua. Cc hnh thc thanh ton c th l tin mt, chuyn khon, th tn dng. Thanh ton da trn vic chuyn tin gia cc ngn hng: lnh chuyn tin (money order), phiu ghi n (debit order)
H.1. M hnh truy cp t xa Tri li, trong m hnh Upload / Download (ti ln / ti xung) th 1 client ch truy cp n 1 file cc b sau khi ti n xung (download) t server. Mt khi client hon tt thao tc vi file xong th n s ti file ln (upload) li server, file c th c cc client khc s dng. Dch v FTP ca Internet dng theo chnh cch ny. (H.2) client File di chuyn n client server File c File mi Cc truy cp c thao tc trn client client thao tc xong, file c tr v H.2. M hnh upload/download NFS da trn UNIX, tuy nhin n cng c th dng cho nhiu h iu hnh khc nhau. Vi tt c h thng UNIX hin i, ni chung NFS c thc thi theo kin trc phn tng nh sau (H.3) Client Server Tng gi h thng Tng gi h thng
NFS client
NFS server
H.3. Kin trc NFS c bn dnh cho h thng UNIX Mt client truy cp n h thng file s dng li gi h thng c cung cp bi h iu hnh ca n. Tuy nhin, giao din h thng file UNIX cc b c thay bi 1 giao din n H thng file o (VFS). Cc thao tc trn giao din VFS hoc c chuyn n 1 h thng file cc b, hoc c chuyn n 1 thnh phn ring bit gi l NFS client, m trch vic iu khin truy cp n cc file c lu server t xa. Trong NFS, tt c client server giao tip thng qua cc RPC. NFS client thi hnh cc thao tc h thng file NFS khi cc RPC n server. Lu rng cc thao tc c a ra bi giao din VFS c th khc vi cc thao tc c a ra bi NFS client. Nh vy tng chnh ca VFS l n i s khc bit gia cch thng file. 18
bn server, chng ta thy t chc hon ton tng t. NFS server c nhim v x l cc yu cu n t client. Ta thy, mt li ch quan trng ca s trn l s c lp ca cc h thng file cc b. Theo nguyn tc th n s khng h quan tm d h iu hnh ti client hay server chy 1 h thng file UNIX, 1 h thng file Windows 2000, hay thm ch l 1 h thng file MSDOS c. Ch c 1 iu quan trng cn ch l cc h thng file ny phi ty theo m hnh h thng file c a ra bi NFS.
SVTH: L Hong Thanh c tn ng dn lu trong 1 lin kt biu trng Ly cc gi tr thuc tnh ca 1 file Thit lp1 hoc nhiu gi tr thuc tnh ca 1 file c d liu ch trong 1 file Ghi d liu vo 1 file
H.4. Danh sch cc thao tc h thng file c h tr bi NFS Thao tc rename c dng thay i tn ca 1 file c. File s b xa bi thao tc remove. Trong phin bn 4 th thao tc ny s xa bt k loi file no. Tuy nhin trong phin bn 3 th rmdir s xa th mc con. Mt file c xa bi tn ca n, v khi s cc lin kt cng n n s b gim i 1. Nu s cc ng lin kt gim xung 0 th file s b hy i. Phin bn 4 cho php cc client m v xa cc file (chnh quy). m 1 file, client s cung cp tn file , cng vi cc gi tr khc nhau cho cc thuc tnh. Sau khi 1 file c m thnh cng, client c th truy cp file bng iu khin file (file handle) ca n. iu khin cng c dng ng file, bng cch client c th ni vi server rng n khng cn truy cp n file na. server khi ny c th gii phng trng thi m n duy tr cung cp cho client truy cp n file. Thao tc lookup (tm) c dng truy tm 1 iu khin file cho 1 tn ng dn cho trc. Thao tc readlink (c lin kt) c dng c d liu lin kt vi 1 symbolic link. Cc file s c cc thuc tnh km theo. Cc thuc tnh in hnh l: kiu ca file, di file, nh danh (identifier) ca h thng file cha file , v ln cui cng file c chnh sa. Cc thuc tnh ca file c th c hoc thit lp bng cch s dng cc thao tc getattr v setattr. Cui cng l cc thao tc c (read) d liu t 1 file, v ghi (write) d liu vo 1 file. Vi thao tc c file (c thng ti), client ch ra s lng cc byte v khong cch gia cc byte c. client s c tr v s cc byte c c. Vi thao tc ghi d liu vo file, client phi ch r ra v tr bt u ghi trong file, s lng cc byte c ghi, v d liu ghi.
server mi tip tc vi thao tc c. Nh vy ta c th thy, ton b ch cn c 2 thng ip phi trao i gia client v server. Cc thao tc s c nhm li vi nhau trong 1 th tc ghp (compound procedure). Nu c li thao tc d bt k l do g, th khng thao tc no na trong th tc ghp c thc hin, v kt qu cho n lc s c tr v cho client. V d nh, nu thao tc truy tm b li, th vic m file tip theo s khng c thc hin na. client
Truy tm
server
client
Truy tm M c
server
Truy tm tn
c
Truy tm tn M file
thi gian
c d liu
thi gian
c d liu
H.5. (a) c d liu t 1 file trong NFS phin bn 3. (b). c d liu s dng th tc ghp trong phin bn 4.
III.1.4/ nh danh
Cng nh bt k h phn tn no khc, vic nh danh cng ng vai tr quan trng trong NFS. tng chnh cho m hnh nh danh NFS l cho cc client truy cp trong sut y n 1 h thng file t xa c duy tr bi 1 server. S trong sut ny c c bi client c th t (mount) 1 h thng file t xa vo trong h thng file cc b ca n. (H.6). Thay v phi t (mount) ton b c h thng file sang, th NFS cho php cc client ch cn t 1 phn ca h thng file m thi (H.6). Mt server c gi l xut (export) 1 th mc i khi n lm cho th mc cng c bn client. Th mc xut i c th c t trong 1 khng gian tn cc b ca client. 21
Nh th, theo nguyn tc th ngi s dng khng chia s cc khng gian tn. Ta hy xem li (H.6), file c tn l /remote/vu/mbox ti client A li c tn l /work/me/mbox ti client B. Bi vy, tn ca file ph thuc vo vic cc client t chc khng gian tn ca chng nh th no, v ni t cc th mc c xut sang. Nhng b li, theo cch ny th vic chia s cc file s tr nn kh khn hn. V d nh, A khng th ni cho B bit tn m A dng gn cho file, bi tn ca s hon ton khc khi n nm trong khng gian tn ca B. Tuy nhin, cng c vi cch khc phc vn ny. Cch thng dng nht l cung cp cho mi client 1 khng gian tn c chun ha. V d nh, mi client u dng th mc cc b chun l /usr/bin t 1 h thng file vo (trn cc client khc cng c h thng file ). Client A Server Client B remote vu mbox bin users steen mbox work me mbox bin
H.6. t (mounting) 1 phn h thng file t xa trong NFS y ta ch rng, 1 NFS server cng c th t (mount) vo bn thn n cc th mc c xut sang bi cc server khc. Tuy nhin, n li khng c php xut cc th mc ny sang cho cc client ca n. gii quyt c vic ny, ta hy xem xt v d sau (H.7). Gi s rng server A c h thng file FSA , m t xut i th mc /packages. Th mc ny cha 1 th mc con l /draw ng vai tr nh 1 im t (mount point) cho h thng file FSB, c xut sang bi server B v c t bi A. n phin server A cng s xut /packages/draw sang cho cc client ca n, v ta gi s rng client t /packages vo trong th mc cc b /bin ca n (H.7).
Th mc xut sang Client c cha th Client mc con nhp t Server B sang Server A
Server B
H.7 .Vic t (mounting) cc th mc t nhiu server trong NFS Nu vic phn gii tn b lp (nh trong trng hp NFS phin bn 3), th phn gii tn /bin/draw/install, client s lin h vi server A khi n phn gii cc b /bin v yu cu A tr v 1 iu khin file cho th mc /draw. Trong trng hp , server A s tr v 1 iu khin file bao gm 1 nh danh cho server B, ch c B c th phn gii phn cn li ca tn ng dn, trng hp ny l /install. Nh ta ni, loi phn gii tn ny khng c NFS h tr.
a/ iu khin file
Mt iu khin file l 1 tham chiu n 1 file trong h thng file. N khng ph thuc vo tn ca file m n tham chiu n. Mt iu khin file c to ra bi server ang c h thng file trn , v l duy nht i vi tt c cc h thng file c xut i bi server. iu khin file c to ra khi file c to ra. Client khng bit ni dung thc ca iu khin file. iu khin file dng 32 byte trong NFS phin bn 2, nhng cng c th ty bin di ln n 64 byte trong phin bn 3 v 128 byte trong phin bn 4. Mt iu khin file c thc thi nh 1 nh danh thc s cho 1 file trong h thng file. iu ny c ngha l chng no file cn tn ti, th n s ch c 1 iu khin file. Mt trong li ch ca iu khin file l lm tng hiu nng. Bi mt khi hu ht cc thao tc file ch i hi 1 iu khin file thay v tn ca file, nh vy client c th trnh phi lp li vic tm tn file trc mi thao tc vi file. Mt li ch khc na l client c th truy cp n file ngay m khng ph thuc vo tn (tn hin ti) ca n. V 1 iu khin file c th c lu tr cc b ti 1 client, nn c 1 im quan trng cn ch l 1 server khng th ti s dng li 1 iu khin file sau khi xa file. Bi nu khng, 1 client c th b li khi truy cp n file. truy cp n cc file 1 h thng file xa, client s cn phi cung cp cho server 1 iu khin file ca th mc, cng vi tn ca file hoc th mc c phn gii. NFS phin bn 3 gii quyt vn ny thng qua 1 giao thc t (mount protocol) ring bit. Sau khi t, client c a iu khin file gc (root file handle) ca h thng file t, m sau c th dng nh 1 im bt u cho vic truy tm cc tn file. iu khin file gc c th c s dng tm iu khin file khc trong h thng file ca server. Nh vy ta c thm im li l khng cn n 1 giao thc t. Thay vo , vic t (mounting) ny c th c tch hp vo trong giao thc chun dnh cho vic truy tm file.
b/ Automounting
Nh chng ra ni trn, m hnh nh danh NFS (NFS naming model) v c bn cung cp cho ngi s dng khng gian tn ca h. Vic chia s trong m hnh ny c th s kh khn mt khi ngi s dng t tn khc nhau cho cng 1 file. Mt trong nhng gii php cho vn ny l cung cp cho mi ngi s dng 1 khng gian tn cc b c chun ha, ri sau mi client u dng th mc cc b chun t h thng file vo. Mt vn na vi m hnh nh danh NFS l phi quyt nh xem khi no th 1 h thng file t xa s c t (mount) sang. Chng ta hy xem xt 1 h thng ln vi hng ngn ngi s dng. Gi s rng mi ngi s dng u c 1 th mc cc b /home c dng t cc th mc ch (home directories) ca ngi s dng khc sang. V d nh th mc ch ca Alice l /home/alice, mc d cc file thc ra c lu tr trn 1 server xa. Th mc ny c th c t (mounted) vo 1 cch t ng khi Alice vo my tnh ca 23
mnh. Thm vo , Alice cng c th truy cp n cc file cng cng (public file) ca Bob bng cch truy cp qua th mc /home/bob ca Bob. Nh vy, ta thy mt trong nhng li ch ca hng tip cn ny l tan b h thng s trong sut i vi Alice. Tuy nhin cch tip cn ny cng c nhng nhc im ca n. Vic t cc h thng file t xa trong NFS (tht ra l th mc c xut iexported directories), s c iu khin bi 1 automounter, n chy nh 1 tin trnh ring bit trn my ca client. Ta hy xem xt 1 automounter n gin c thi hnh nh 1 server NFS cp ngi s dng (user-level NFS server) trn h iu hnh UNIX. Gi s rng, th mc ch ca tt c ngi s dng l c sn thng qua th mc cc b /home, nh trn ta m t. Khi 1 my client khi ng, automounter s bt u vi vic t th mc ny. Nh vy, h khi 1 chng trnh c gng truy cp n /home, nhn UNIX (UNIX kernel) s thc hin thao tc truy tm (lookup) n NFS client, trong trng hp ny, n s thc hin vic yu cu n automounter vi vai tr nh 1 NFS server (H.8). V d, gi s rng Alice ng nhp. Chng trnh ng nhp s th c th mc /home/alice tm kim thng tin, chng hn nh cc kch bn ng nhp (login script). Automounter v th s nhn yu cu truy tm th mc con /home/alice. Trc tin n to 1 th mc con /alice trong /home. Sau n tm xem NFS server no xut i th mc ch (home directory) ca Alice ri t th mc trong /home/alice. Vn y l automounter phi c bao gm lun trong cc thao tc file m bo tnh trong sut. Nu 1 file c tham chiu khng c sn bi h thng file tng ng cha c t sang, th automounter cng phi bit. My client 1.Tm /home/alice 3. Yu cu t alice My server users
NFS client
Automounter
2.To th mc con alice Giao din h thng file cc b home alice t th mc con alice sang client t bn server H.8. Mt automounter n gin cho NFS Cch tip cn trn cng c nhc im ca n. V 1 trong nhng gii php n gin l automounter t cc th mc vo trong 1 th mc con c bit, v thit lp 1 lin kt tng trng (symbolic link) n mi th mc c t. (H.9) Trong v d ny, th mc ch (home directories) ngi s dng c t sang thnh th mc con ca /tmp_mnt. Khi Alice ng nhp, automounter t th mc ch ca Alice trong /tmp_mnt/home/alice v to 1 lin kt biu trng /home/alice tham chiu n th mc con . 24
home
tmp_mnt home
alice
Thi im m d liu file c truy cp ln cui. Thi im m d liu file c chnh sa ln cui. Thi im m d liu file c to ra. (b)
H.10. (a) Mt s cc thuc tnh file bt buc ph bin trong NFS. (b) Mt s cc thuc tnh file c ngh ph bin. Cc thuc tnh file c ngh ph bin c lit k trong (H.10b). Phin bn 4 NFS hin ti c n 43 thuc tnh c ngh.
III.1.5/ ng b ha
Cc file trong 1 h thng file phn tn c chia s bi nhiu client. Nu vic chia s khng bao gi xy ra, th qu tht nh th chng cn ngha ca h thng file phn tn. Vic chia s cc file i hi cn phi c s ng b ha. S ng b ha s l kh n gin nu cc file c gi trn 1 server trung tm. Tuy nhin khi y hiu nng s l 1 vn . Bi th, cc client thng c php gi 1 bn sao cc b ca file trong khi chng ang c v ghi ni dung file. Cch ny tng t vi m hnh upload/download phn u ta ni (H.2).
2. c ab
H.11. (a) Trn 1 vi x l n, khi 1 thao tc c theo sau 1 thao tc ghi, th gi tr c tr v bi c gi tr va c ghi. (b) Trong 1 h phn tn vi b m, cc gi tr c c th c tr v. Trong cc h thng vi x l n cho php cc tin trnh chia s file, chng hn nh UNIX, ng ngha (semantics) thng l khi 1 thao tc c theo sau 1 thao tc ghi, thao tc c tr v gi tr va lc c khi (H.11). Tng t nh th, khi 2 thao tc ghi xy ra k tip nhau, theo sau l 1 thao tc c, gi tr c l nhng gi tr c lu bi ln ghi cui cng. Trong thc t, h thng s bt p 1 thi gian tuyt i vi tt c cc thao tc v lun lun tr v gi tr gn nht. Ta gi m hnh ny l ng ngha UNIX (UNIX semantics). Trong 1 h phn tn, ng ngha UNIX c th d dng c c vi iu kin ch c 1 file server v cc client khng gi cc file. Tt c cc thao tc c v ghi u n trc tip file server, v file server s x l chng 1 cch tun t. Tuy nhin trong thc t, hiu nng ca 1 h phn tn thng rt thp nu trong tt c cc yu cu file u phi i n 1 server. Vn ny s c gii quyt bng cch cho php cc client duy tr cc bn sao cc b ca cc file thng c dng nhiu (heavily used files) trong b nh m ring (cc b) ca n.
H.12. Cc thao tc trong NFS phin bn 4 lin quan n kha file. Thao tc lock (kha) c dng yu cu 1 kha c (read lock) hoc kha ghi (write lock) trn 1 dy lin tip cc byte trong file. Thao tc lockt c dng kim tra xem th c kha xung t no tn ti hay khng. V d nh, 1 client c th kim tra xem c kha c no c cp trn 1 dy cc byte xc nh trong file hay khng, trc khi n yu cu 1 kha ghi cho cc byte . Trong trng hp xung t, n s cho bit chnh xc nguyn nhn ca vic xung t v c dy byte m xung t xy ra trn na. xo 1 kha khi 1 file ta dng thao tc locku. 27
Cc kha u c cp cho 1 thi gian xc nh (thi gian ny c quyt nh bi server). Tr phi 1 client hi phc li (lm mi li - renew) khong thi gian trn cc kha c cp, cn nu khng th server s t ng hu cc kha i. Bn cnh cc thao tc ny, cng cn c 1 cch na kha 1 file, l chia s ch t trc (share reservation). N c dng thc thi NFS trn cc h thng da trn Windows. Khi 1 client m 1 file, n s xc nh, ch ra kiu truy cp m n yu cu (c th l READ, WRITE hoc BOTH), v kiu truy cp m server s t chi cc client khc (NONE, READ, WRITE hoc BOTH). bit chnh xc iu g s xy ra khi 1 client mi 1 file , m file c m thnh cng bi 1 client khc, ta hy xem (H.13) sau: Trng thi t chi file hinhnh NONE READ Yu cu truy cp WRITE BOTH Thnh cng Thnh cng Thnh cng READ Li Thnh cng Li (a) Trng thi t chi file c yu cu NONE Trng READ thi truy cp hin WRITE hnh BOTH Thnh cng Thnh cng Thnh cng READ Li Thnh cng Li (b) H.13. Kt qu ca thao tc c vi share reservation trong NFS. WRITE Thnh cng Li Li BOTH Li Li Li WRITE Thnh cng Li Li BOTH Li Li Li
NFS server
m a mng 28
H.14. Lu tm (m) bn pha client trong NFS Mi client c th c 1 b nh m (memory cach) cha d liu trc c t server. Ngoi ra, cn c th c m a (disk cach) c thm vo m rng b nh m, s dng chung cc tham s nht qun. NFS phin bn 4 s dng 2 cch cho vic lu tm (m) d liu file - caching file data. Cch n gin nht l khi 1 client m 1 file v lu tm d liu m n nhn c t server nh vo thao tc c. Thao tc ghi cng c th c thc hin trong b nh m. Khi client ng file, NFS yu cu rng, nu c s thay i no c din ra, th d liu c lu tm phi c y v li server. Mt khi 1 file c lu tm, th client c th gi d liu ca n trong b m thm ch sau khi ng file. NFS i hi rng, bt k khi no client m 1 file ng trc (m c lu tm), client phi ngay lp tc revalidate (ti hiu lc) d liu lu tm. Thm 1 im ta cn ch na l server c th u nhim (delegate) 1 s quyn ca n n cho client mt khi file c m. Open delegation (u nhim m file) din ra khi my client c php x l c b cc thao tc ng v m (file) t cc client khc trn cng 1 my. Thng thng th server phi m nhim vic kim sot d cho vic m 1 file c thnh cng hay khng. Vi Open delegation, my client i khi cng c cho php t a ra cc quyt nh, trnh vic phi cn lin lc vi server. Mt h qu ca vic u nhim 1 file n client, l server khi cn c th gi tr li (recall) u nhim, v d nh, khi 1 client khc trn 1 my khc cn nhn quyn truy cp n file. Server c th gi client -ang c u nhim - tr li u nhim (H.15). Mt khi gi li theo c ch ny th i hi server phi lu li vt ca cc client m n u nhim file n. 1. Client yu cu file 2. Server u nhim file bn sao cc b (local copy) 3. Server gi tr u nhim File c cp nht 4. Client gi tr li file H.15. C ch gi tr li y nhim file trong NFS phin bn 4. Vic lu tr tm iu khin file v cc th mc cng dng cch tip cn ging nh trn.
Client
Server File c
b/ Bn sao cc server
NFS phin bn 4 h tr khng nhiu cho vic nhn bn file. Ch ton b h thng file mi c th c nhn bn (bao gm cc file, cc thuc tnh, cc th mc, v cc khi d liu).
Mt trong nhng vn chnh na, l thiu vic tm ra cc yu cu trng lp (duplicate request). Nh vy s xy ra trng hp, khi 1 hi p RPC b mt v client truyn li (retransmit) thnh cng yu cu gc n server, v kt qu l server s phi thc hin li yu cu thm ln na. Nhng vn trn c khc phc bng 1 b m cc yu cu trng lp (duplicaterequest cache) thc thi bi server. Mi yu cu RPC t client s c mang theo 1 nh danh giao tc (transaction identifier - XID) duy nht phn header ca n, v n s c server lu tm khi n n server. Ch cn server khng gi hi p, n s ch nh yu cu RPC ang c thc hin. Khi yu cu c x l xong, hi p kt hp (associated reply) ca n s c lu tm li, sau hi p s chnh thc c gi tr cho client. C 3 tnh hung c t ra cn gii quyt y: Trong trng hp th nht (H.16a), client gi i 1 yu cu, v khi ng 1 b nh thi. Nu ht thi gian trc khi c hi p, client s truyn li yu cu gc vi XID ging nh c. Tuy nhin, bn pha server, th do server cha hon tt xong yu cu ban u, v th n s t chi yu cu m client truyn li. Trng hp 2, server c th nhn 1 yu cu c truyn li ch sau khi n gi i hi p cho client. Nu thi im n ca yu cu c truyn li gn st vi thi im m serv7er gi hi p (H.16b), th server s kt lun rng vic truyn li vi vic hi p l b cho nhau, v v th server cng li t chi yu cu truyn li .
Client
Server
Client
Server
Client
Server
XID = 1234
XID = 1234
x l yu cu
XID = 1234 hi p b mt
hi p thi gian
b m thi gian
b m
XID = 1234
b m
thi gian H.16. Ba tnh hung ca vic x l truyn li. (a) Yu cu vn ang c thc hin. (b) Hi p va mi c tr v. (c) Hi p gi trc , nhng b li. Trong trng hp th 3, hi p b mt v yu cu truyn li s c p ng bng cch gi n client cc kt qu m trc y ta lu tm trong b m (H.16c). y ta ch rng cc kt qu ca thao tc file vn lun c duy tr trong b m.
cc ti nguyn lin kt (tc cc file). cho server khi xa 1 kha, client s lm mi li (hi phc li - renew) lease ca n trc khi b ht hn bng thao tc renew. Tuy nhin cng c tnh hung cc kha b xa i, ngay c khi client khng b sp . Vic xa khng ng ny c th xy ra nu khng th a thao tc renew n cho server, v d do khi mng tm thi b t chng hn. Khi 1 server b sp v sau c phc hi, c th n s mt thng tin trn cc kha m n cp cho client. Trong phin bn 4, ngi ta a thm vo 1 grace period (tm dch l giai on tm hon) m trong giai on ny client c th khi phc, ci to li cc kha c cp trc cho n. Vic hi phc kha ny khng h ph thuc vo vic hi phc cc d liu b mt khc. Trong sut grace period, ch cc yu cu khi phc kha ni chung mi c chp nhn, cn cc yu cu kha thng thng khc s b t chi cho n chng no grace period kt thc. Nh ta thy trn, vic dng cc lease trn cc kha s lm ny sinh ra nhiu vn lin quan n tnh n nh ca vic gi thng ip lm mi lease. V d nh, nu thng ip ny b li hoc n server tr, th lease v tnh s b ht hn d cho n yu cu c lm mi li. Trong c 2 trng hp ny, server s khc phc bng cch phi a ra 1 lease mi cho client, trc khi client sau tip tc dng file.
c/ U quyn m khi c li
U quyn m c a ra gii quyt vn 1 client hoc server b sp
NFS client
NFS server
a/ RPC an ton
31
Trong NFS phin bn 4, th ch c vic xc thc c quan tm khi ta ni n 1 RPC an ton. C 3 cch xc thc: System authentication (xc thc h thng): l phng thc xc thc c s dng rng ri nht. Xc thc h thng cn l phng thc xc thc da trn UNIX. Trong , cc client n gin ch chuyn ID ngi dng (user ID) v ID nhm (group ID) ca n n cho server, cng vi 1 danh sch cc nhm m n phi i hi l thnh vin. Thng tin ny c client gi i di hnh thc c th hiu c ca 1 vn bn c m ho (plaintext). Secure NFS (NFS an ton): phng thc xc thc ny s dng trao i kha Diffie Hellman thit lp 1 kha phin (sesion key), n c dng trong cc phin bn NFS c. Cch xc thc ny tt hn so vi xc thc h thng, nhng b li n phc tp hn, do n cng t c dng hn. V giao thc xc thc th 3 l Kerberos (phin bn 4) m ta tng cp n trong phn II.7.5 trc y. Trong NFS phin bn 4, an ton an ninh cng c nng cao vi vic h tr RPCSEC - GSS. RPCSEC-GSS l 1 b khung (framework) an ton an ninh tng qut, c th h tr rt nhiu c ch an ton an ninh cho vic thit lp cc knh truyn an ton. Khng nhng h tr cho cc h thng xc thc khc nhau, m n cn h tr c vic tch hp cc thng ip (message integrity) v s cn mt (confidentiality), 2 c tnh khng c h tr trong cc phin bn NFS trc y. RPCSEC-GSS c da trn 1 giao din chun cho cc dch v an ton an ninh, c tn l GSS-API.
b/ iu khin truy cp
U quyn (authorization) trong NFS cng tng t vi secure RPC (RPC an ton): n cung cp cc c ch, nhng li khng ch r ra chnh sch c th no. Vic iu khin truy cp c h tr bi thuc tnh file ACL (ACL file attribute). Thuc tnh ny l 1 danh sch cc mc (entry) iu khin vic truy cp, trong mi mc ch ra cc quyn truy cp cho 1 nhm hoc 1 ngi s dng xc nh. Thao tc Read_data Write_data Append_data Execute List_directory Add_file Add_subdirectory Delete Delete_child Read_acl Write_acl M t Cho php c d liu cha trong 1 file. Cho php chnh sa d liu ca file. Cho php thm d liu vo file. Cho php thc thi 1 file Cho php lit k ni dung ca 1 th mc. Cho php thm 1 file mi vo th mc Cho php to 1 th mc con trong 1 th mc Cho php xa 1 file Cho php xa 1 file hoc th mc trong 1 th mc Cho php c ACL (danh sch iu khin truy cp) Cho php ghi ACL 32
Kh nng c cc thuc tnh c bn khc ca file. Cho php thay i cc thuc tnh c bn khc ca file. Cho php c cc thuc tnh c nh danh ca file. Cho php thay i ch.
Write_named_attrs Cho php ghi cc thuc tnh c nh danh ca file. Synchronize Cho php truy cp cc b 1 file ti server vi cc thao tc c, ghi ng b.
H.18. Phn loi cc thao tc c nhn din bi NFS i vi vic iu khin truy cp. NFS phn bit nhiu loi thao tc khc nhau. Ta ch n thao tc Synchronize (ng b ha), thao tc ny dng bo cho bit rng, 1 tin trnh cng ch vi server c th trc tip truy cp vo 1 file c hay khng, b qua giao thc NFS t c th tng hiu nng. M hnh NFS cho vic iu khin truy cp c nhiu ng ngha hn so vi hu ht cc m hnh UNIX, bi vic i hi NFS c th lin tc vi h thng Windows 2000. Mt iu khc na lm cho iu khin truy cp file khc bit so vi cc h thng file chng hn nh UNIX, l vic truy cp c th c ch nh cho nhng ngi s dng khc nhau v nhng nhm khc nhau. Bi theo truyn thng th vic truy cp n 1 file c ch nh dnh cho 1 ngi s dng (ch s hu ca file), 1 nhm ngi s dng (chng hn cc thnh vin ca 1 nhm d n), v cho mi ngi khc. NFS c nhiu loi ngi dng v tin trnh khc nhau c trnh by trong bng sau (H.19) Kiu ngi dng Owner Group Everyone Interactive Network Dialup Batch Anonymous Authenticated M t Ch s hu file Nhm cc ngi s dng c lin h vi file. Bt k ngi s dng hoc tin trnh no. Bt k tin trnh no ang truy cp file t 1 trm tng tc. Bt k tin trnh no ang truy cp file qua mng. Bt k tin trnh ang truy cp file thng qua kt ni dialup n server. Bt k tin trnh ang truy cp file nh 1 phn ca cng vic theo khi. Nhng ai truy cp file m khng xc thc. Bt k ngi s dng hoc tin trnh c xc thc.
H.19. Cc loi ngi dng v tin trnh khc nhau c phn bit bi NFS i vi vic iu khin truy cp.
Andrew (AFS) phin bn 2, cng do CMU pht trin. N kt tha nhiu im trong kin trc ca AFS. Vi AFS, n c th c thc thi vi khong 10.000 my trm cn truy cp n h thng. p ng yu cu ny, cc nt AFS s c chia thnh 2 nhm. Nhm th nht bao gm 1 s tng i t cc Vice file server, chng s c qun tr 1 cch tp trung. Nhm cn li bao gm 1 lng rt ln cc my trm Virtue , a cho cc ngi s dng v cc tin trnh truy cp n h thng file.
Truy cp trong sut n 1 Vice file server
Coda cng c t chc ging vi AFS. Mi my trm Virtue c 1 tin trnh cp ngi dng (user-level) th c gi l Venus, vai tr ca n tng t nh NFS client m trc y ta xt. Mt tin trnh Venus c nhim v cung cp truy cp n cc file c duy tr trn cc Vice file server. Khng ging nh NFS, Coda cung cp 1 khng gian tn chia s tng th (globally shared name space) c duy tr bi cc Vice server. Cc client truy cp n khng gian tn ny bng 1 th mc con c bit trong khng gian tn cc b ca chng, chng hn nh /afs. Mi khi 1 client truy tm 1 tn trong th mc con ny, Venus m bo rng phn thch hp ca khng gian tn chia s c t (mount) sang client. Truyn thng Vic truyn thng gia cc tin trnh trong Coda c thc hin bng cch dng cc RPC. Tuy nhin, h thng RPC2 dnh cho Coda phc tp hn nhiu so vi cc h thng RPC truyn thng chng hn nh ONC RPC, c dng bi NFS. RPC2 cn h tr cc side effect (tm gi l hiu ng mt). Mt side effect l 1 c ch m bng cch client v server c th truyn thng s dng 1 giao thc ng dng c th (application-specific). V d, 1 client ang m 1 file ti 1 video server. iu cn thit trong trng hp ny l thit lp 1 lung d liu lin tc vi ch truyn ng thi (nh nhau v thi gian). Hay ni cch khc, d liu truyn t server n client c m bo nm trong khong ln nht n b nht thi gian tr u cui (end-to-end delay). RPC2 cho php client v server thit lp 1 kt ni ring bit truyn d liu video n client kp thi. Mt c im khc na m RPC2 khc so vi cc h thng RPC cn li, l n h tr k thut multicasting. Tin trnh 34
Vi Coda th c 1 s khc bit r rng gia cc tin trnh client v tin trnh server. Tng ng vi client v server l cc tin trnh Venus v Vice. C 2 kiu tin trnh c t chc bn trong nh 1 tp cc lung ng thi (concurrent threads). Cc lung trong Coda khng c s u tin v n hot ng trong ton khng gian ngi s dng. nh danh Coda duy tr 1 h thng tn tng t nh UNIX. Cc file c nhm li vo trong nhng n v gi l volume. Mt volume ging vi 1 phn vng a UNIX (tc l 1 h thng file thc s). Volume quan trng bi 2 l do. Th nht, chng to ra n v c bn c dng cu trc nn ton b khng gian tn. L do th 2 l chng to ra n v cho sao vic lp bn pha server. C mt iu quan trng m ta cn ch l khi 1 volume t khng gian tn chia s c t vo trong khng gian tn ca client, Venus s theo cu trc ca khng gian tn chia s (shared name space). Cng nh vy, cc client c m bo rng cc file chia s qu thc c tn nh nhau, d vic phn gii tn li da trn 1 thc thi cc b khng gian tn. Nh th, ta thy cch tip cn ny khc c bn so vi NFS. ng b ha. Lu tm (caching) v nhn bn (replication). Chu li.
i ra Internet NS2 NS3 Client Client t sang NS1 (khng gian tn 1) v NS2
NS1
NS2
35
Client
H.21.T chc tng qut ca Plan 9 Mt h thng Plan 9 bao gm 1 tp cc server cung cp ti nguyn cho cc client di dng khng gian tn cc b. truy cp n cc ti nguyn ca 1 server, client t khng gian tn ca server vo trong khng gian tn ca chnh n. y ta ch rng, trong Plan 9 s khc bit gia client v server khng thc s qu r rng. V d nh, cc server thng hnh ng nh cc client, trong khi cc client li cng c th xut ti nguyn ca chng sang cho server. T chc ca Plan 9 c trnh by trong (H.21) 2. XFS - h thng file khng c server (serverless) xFS c pht trin nh 1 phn ca d n Berkeley NOW. y ta cn ch l c 1 h thng file phn tn khc hon ton khc c gi l XFS (X vit hoa) c pht trin cng thi im vi xFS. Sau ny, ta dng xFS v XFS ch ni n h thng c pht trin l 1 phn h thng ca d n NOW. Vic thit k m khng c server ca XFS l 1 iu kh l. Ton b h thng file c phn tn qua nhiu my, bao gm cc client. Hng tip cn ny tri ngc vi cc h thng file khc, thng thng c t chc theo kiu tp trung, thm ch cn c nhiu server dng cho vic phn tn v to bn sao cc file. XFS c thit k hot ng trn mng cc b, trong cc my c kt ni vi nhau thng qua cc ng lin kt tc cao. XFS c thit k vi mc ch t co dn cao (tc thay i v quy m - scalability) v c tnh chu li cao. Trong kin trc ca XFS, c 3 loi tin trnh khc nhau: Storage server (lu tr server): l tin trnh c nhim v lu tr cc phn ca 1 file. Chng thc thi 1 dy (array) cc a o tng t nh vic thc thi ca cc dy a di dng RAID. Metadata manager (qun l siu d liu): l tin trnh c nhim v lu li vt, ni 1 khi d liu file tht s c lu Client: l 1 tin trnh chp nhn cc yu cu ca ngi s dng thao tc trn file. Mt nguyn l thit k c bn ca XFS l bt k my no cng c th ng vai tr ca client, manager, server. Trong 1 h thng i xng hon ton, mi my s c c 3 tin trnh trn chy. Tuy nhin, cng c th s dng cc my dnh chy cc tin trnh storage server, trong khi my khc li ch chy tin trnh client hoc tin trnh manager (H.22)
Client Manager Manager Storage server Client Storage server Storage server Client Manager
H.22. Phn tn cc tin trnh ca XFS qua nhiu my. 3. SFS - an ton an nnh c th thay i, co dn (scalable security) Trong H thng file an ton (Secure File System SFS), nguyn l thit k chnh l tch ring ra vic qun l ca cc kho vi an ton an ninh h thng file. Hay ni cch khc, SFS m bo rng cc client khng th truy cp 1 file m khng s hu 1 kho b mt thch hp. 36
T chc tng th ca SFS c trnh by trong (H.23). m bo tnh di chuyn c qua nhiu my, SFS tch hp nhiu thnh phn NFS phin bn 3 khc nhau. Trn my client, c c thy 3 thnh phn, khng tnh n chng trnh ca ngi s dng. NFS client c s dng nh 1 giao din n cc chng trnh ngi s dng, v trao i thng tin vi SFS client. SFS client c nhim v thit lp 1 knh an ton vi SFS server. N cng c nhim v giao tip vi tc t ngi dng SFS (SFS user agent), l 1 chng trnh t ng x l xc thc ngi s dng.
My client My server
Xc thc server
NFS client
RPC
SFS client
NFS client
SFS client
RPC
H.23. T chc ca SFS. bn pha server cng c 3 thnh phn. Cc NFS server giao tip vi SFS server, thao tc nh 1 NFS client n NFS server. SFS server s to tin trnh nhn (core process) ca SFS. Tin trnh ny c nhim v x l cc yu cu file t cc SFS client.
Vi NFS, Coda v SFS th u s dng trc tip 1 h thng RPC c s (underlying RPC system), i khi c ti u thm x l cc trng hp c bit. Plan 9 cng s dng 1 h thng RPC, nhng trn thc t giao thc c bin i i p ng cc thao tc file ca n, iu ny lm cho n khc i cht so vi cc giao thc cn li. XFS cng bt u vi 1 h thng RPC x l, iu khin tt c cc truyn thng. Tuy nhin bi l do hiu nng v mt s l do khc na trong XFS, m h thng RPC c thay th bng cc active messages. 3. Tin trnh Cc h thng khc nhau cch m client ng vai tr i vi ton h thng file. Vi vic dng cch t chc client-server, trong NFS phin bn 3, hu ht cc cng vic thc s ch c lm bi file server, trong khi 1 NFS client ch n thun yu cu cc thao tc c server tin hnh. i vi NFS phin bn 4 th cc client c cho php lu tm cc file v x l cc thao tc 1 cch cc b. Vi AFS v Coda pha client ta s c tin trnh Venus, m nhim 1 lng ln cng vic bn pha client. Ngc li, cc nh pht trin Plan 9 li c gng lm sao gi cho cc client n gin n mc c th. Tuy nhin 1 tin trnh client cng c cho php lu tm (caching) cc file, nhng h thng vn lm vic tt nu cc b m khng c dng g c. Cc server cng rt khc nhau khi so snh gia cc h thng.
4. nh danh
C 2 hng tip cn cn bn trong vic t chc khng gian tn. Hng th nht l mi ngi s dng ly khng gian tn ring ca chnh h. Cch ny c dng trong NFS v Plan 9. Nhc im ca khng gian tn trn mi ngi dng nh th ny, l kh chia s cc file da trn tn ca n. V gim bt nhc im ny, cc phn ca khng gian tn s c chun ha. Hng tip cn th 2 l cung cp 1 khng gian tn chia s tng th, c dng trong Coda, xFS v SFS. Trong tt c cc h thng ny, mi ngi s dng cng c kh nng gia thm vo khng gian tn tng th 1 khng gian tn cc b ring. V d, SFS client s cho php 1 ngi s dng to cc b cc lin kt biu trng (symbolic link). Cc tn ny l ring t vi ngi dng, v s khng th thy vi ngi dng cc SFS client khc. Ngoi ra, cng c nhiu im khc nhau i vi tham chiu file gia cc h thng file phn tn. 5. ng b ha NFS cung cp cc ng ngha phin (session semantics), iu ny c ngha ch cc cp nht ca tin trnh cui ng file l c nh bi server. Trong Coda, cc ng ngha giao tc (transactional semantics) c h tr theo hng, ch cc phin c cho php ny mi c th c tun t ha. Tuy nhin, trong thao tc b ngt kt ni, cc ng ngha c th khng c m bo, bi th dn n cp nht cc xung t cn c gii quyt sau ny. Bi cc thao tc trn file trong Plan 9 c bn c x l bi file server, nn Plan 9 cung cp cc ng ngha UNIX. Cc ng ngha ny cng c cung cp bi xFS. 6. Lu tm (caching) v nhn bn (replication) 38
Tt c cc h thng m ta xt u h tr vic lu tm bn pha client. Ch c Plan 9 l mi cc thao tc ghi c chuyn tc th n server. Cc h thng khc u thc thi cc m ghi li (write-back caches), cho php 1 client thc hin 1 lot cc thao tc ghi trn d liu c lu tm trc khi y thng vo b m. Cc h thng file phn tn ny cng h tr vic sao lp file bi server. 7. Chu li i vi Coda, n dng m lu tm v cc bn sao ca n c th t c tnh sn sng cao (high available). Cn trong xFS, k thut striping c dng bo v server n khi b sp . Vic hi phc da trn client c dng trong NFS. Theo cch ny, 1 server b mt thng tin khi n b sp , th cc client c php khi phc li cc ti nguyn nh cc kha chng hn. XFS th s dng cc im kim tra (checkpoint), v cc client ghi li nht k (log) phc v vic phc hi n im m d liu ca manager (b qun l ) nht qun vi thng tin c lu trong nht k. 8. An ton an ninh NFS phin bn 4 tch bit gia c ch an ton an ninh vi vic thc thi cc c ch ny. thc thi cc knh an ton, NFS cung cp 1 giao din chun dng RPCSEC-GSS, bng cch cc h thng an ton an ninh ang tn ti c th c truy cp. NFS phin bn 4 cn cung cp 1 danh sch m rng cc thao tc c dng cho iu khin truy cp (ACL). Coda v Plan 9 cng cung cp cc knh truyn an ton, nhng c 2 u thc thi da trn giao thc xc thc Needham Schroeder. Cc kha mt chia s c dng trong cch tip cn ny. Coda cng c cch khc vi NFS trong vic iu khin truy cp. N ch x l iu khin truy cp i vi cc thao tc trn th mc. Vi Plan 9 (v c xFS) th ch yu theo hng tip cn UNIX chun, bng cch phn bit cc thao tc c, ghi, v thc thi. SFS c cch ring ca n cung cp cc knh an ton. N da vo c ch xc thc server vi ngi s dng, c th dng thm cc tc t c bit. SFS k tha cc c ch iu khin truy cp t NFS phin bn 3. Bng (H.24) gip tng hp li s so snh gia 5 h thng file phn tn. NFS Mc tiu thit k M hnh truy cp Truyn thng Tin trnh client Cc nhm server Khng Truy cp trong sut T xa RPC Thin/Fat Khng Mi client Coda Tnh sn sng cao Up/Download RPC Fat C Ton cc Plan 9 Tnh nh nhau T xa c bit Thin Khng Mi tin trnh 39 xFS H thng khng server Log-based Thng ip linh ng Fat C Ton cc SFS An ton an ninh thay i T xa RPC Va Khng Ton cc
H thng file phn tn gian tn Phm vi ID file Ng ngha chia s n v lu tm (m) Nhn bn Chu li Hi phc File server Phin File (v4) Ti thiu Truyn thng tin cy Da vo client Cc c ch ang tn ti Nhiu thao tc Ton cc Giao tc File ROWA Nhn bn v lu tm Khi phc Server UNIX File Khng Truyn thng tin cy Khng c ch ra Needham Schroeder Da trn UNIX
Ton cc UNIX Khi Striping Striping im kim tra v ghi nht k Khng ng dn tn Da trn UNIX
H thng file Khng c ch ra Khng c ch ra Khng Truyn thng tin cy Khng c ch ra T chng nhn Da trn NFS
IV/ Kt lun
H phn tn l 1 h thng c chc nng v d liu phn tn trn cc trm (my tnh) c kt ni vi nhau qua 1 mng my tnh. Vic thit k 1 h phn tn phi tun theo 7 nguyn l m ta cp n phn u. Trong vic xy dng cc h phn tn, th 1 trong nhng m thc quan trng ca n l cc h thng file phn tn. Nh ta bit, chia s d liu l 1 trong nhng chc nng c bn ca h phn tn. H thng file phn tn cho php nhiu tin trnh cng chia s d liu trong khong thi gian di 1 cch an ton v tin cy. trn ta cng xem xt 1 s cc h thng file kh ph bin nh: NFS, Coda, Plan 9, xFS, SFS. Khi phn tch cc h thng ny, gip ta hiu su hn v cc nguyn l ca 1 h phn tn ni chung. Tuy c nhiu c gng ca bn thn, nhng bi s hn ch v kin thc nn trong tiu lun vn cn nhiu sai st. Cui cng, em xin cm n thy GS-TS. Nguyn Thc Hi gip em trong sut qu trnh hon tt tiu lun ny. Cc ti liu tham kho c dng trong tiu lun:
[1]. Distributed system: principles and paradigms A.S.Tanenbaum, M.V.Steen. [2]. Distributed system: concepts and design G.Couloms, J.Dollimore, T.Kinberg. [3]. Cc a ch website:
http://www.cs.sfu.ca/CC/401/tiko/lecnotes/ch4.3.pdf http://en.wikipedia.org/wiki/Network_File_System_(Sun)
40
http://courses.washington.edu/css434/students/NFS.ppt
41