You are on page 1of 41

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn

SVTH: L Hong Thanh

I/ Tng quan v h phn tn


I.1/ H phn tn l g?
C nhiu nh ngha cho 1 h phn tn. Tuy nhin, ta c th nh ngha h phn tn l mt tp hp bao gm cc my tnh t tr c lin kt vi nhau qua mt mng my tnh, v c ci t phn mm h phn tn. Phn mm h phn tn cho php my tnh c th phi hp cc hot ng ca n v chia s ti nguyn ca h thng nh phn cng, phn mm v d liu. Mt s tnh cht quan trng ca mt h phn tn: Th nht chng cho php chng ta chy nhng ng dng khc nhau trn nhiu my khc nhau thnh mt h thng duy nht. Mt u im khc ca h phn tn l khi mt h thng c thit k ng cch, mt h phn tn c th c kh nng thay i tu theo quy m ca h thng rt tt. Tuy nhin, tt c mi th u c hai mt ca n, mt h phn tn cng vy bn cnh nhng mt u vit th n cng c nhng nhc im l tnh bo mt km Nhng ng dng ca h phn tn: Cung cp nhng thun li cho vic tnh ton a mc ch n nhng nhm ngi dng, t ng ho cng vic ngn hng v h thng truyn thng a phng tin, ngoi ra chng cn bao qut ton b nhng ng dng thng mi v k thut. H phn tn tr thnh tiu chun t chc v mt tnh ton. N c th c s dng cho vic thc hin tng tc h thng tnh ton a mc ch trong UNIX v h tr cho phm vi rng ca thng mi v ng dng cng nghip ca nhng my tnh

I.2/ Cc c trng c bn ca h phn tn


a/ Kt ni ngi s dng vi ti nguyn Chia s ngun ti nguyn l mt c tnh c bn ca h thng phn tn, n l c s cho nhng c tnh khc v n nh hng n nhng kin trc phn mm c sn trong cc h phn tn. Cc ngun ti nguyn c th l mc d liu, phn cng v cc thnh phn ca phn cng. Cc ngun ti nguyn c phn bit t mt d liu c qun l vi nhng qu trnh x l n bi nhu cu ca vi qu trnh x l chia s chng b/ Tnh trong sut (transparency) Mt h phn tn c gi l trong sut nu n c kh nng che du tnh ri rc v nhng nhc im c th ca n i vi ngi s dng cui v ngi lp trnh ng dng. C 8 dng trong sut : Trong sut truy cp : che du cch biu din d liu v cch thc truy cp ti nguyn. Trong sut v tr : che du v tr thc ca ti nguyn. Trong sut di tr : che du kh nng di tr (di chuyn t ni ny sang ni khc) ca ti nguyn. Trong sut nh v li : che du kh nng ti nguyn c th di chuyn t ni ny n ni khc ngay c khi ang c s dng. Trong sut bn sao : che du cc bn sao c nhn ra. Trong sut v tng tranh. Trong sut v li. Trong sut truy cp nhanh. 3

c/ Tnh m (openess)

H thng file phn tn

SVTH: L Hong Thanh

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)

II/ Cc nguyn l ca h phn tn


Trong phn ny, ta s xem xt 1 cch tng quan, tm tt cc nguyn l ca h phn tn. Bi nu i su th bn thn trong mi nguyn l li cn c rt nhiu vn cn phn tch. C tng cng 7 nguyn l c bn i vi 1 h phn tn, bao gm: 1. Truyn thng (Commmunication). 2. Tin trnh (Processes). 3. nh danh (Naming). 4. ng b ha (Synchronization). 5. Nht qun v nhn bn (Consistency & Replication). 6. Chu li (Fault tolerance). 7. An ton an ninh (Security). Sau y ta i vo phn tch s b tng nguyn l ca h phn tn.

II.1/ Truyn thng


Truyn thng gia cc tin trnh rt quan trng trong mt h phn tn. Truyn thng c th chia thnh 2 mc: Truyn thng mc mng my tnh. Truyn thng mc midleware: bao gm 4 m hnh c s dng rng ri: Gi th tc t xa (RPC), Triu gi i tng t xa (RMI), Truyn thng hng thng ip (MOC) v Truyn thng hng dng (SOC).

II.1.1/ Truyn thng mc mng


M hnh OSI c thit k cho php cc h thng m truyn thng vi nhau, phc v cho cc ng dng phn tn. Cc tng trong m hnh OSI: 1. Tng vt l (Physical layer) 2. Tng lin kt d liu (Data link) 3. Tng mng (Network) 4. Tng vn chuyn (Transport) 5. Tng phin (Session) 4

H thng file phn tn 6. Tng trnh din (Presentation) 7. Tng ng dng (Application)

SVTH: L Hong Thanh

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.

II.1.2/ Truyn thng mc midleware


a/ Gi th tc t xa (Remote Procedure Call): RPC cho php gi cc th tc nm trn cc my khc. Khi 1 tin trnh trn my A gi 1 th tc trn my B, th tin trnh gi trn my A s b tm dng, thay vo s thc thi th tc c gi trn my B. Phng php ny c gi l Gi th tc t xa (RPC). y l k thut c s dng rng ri nht trong cc h phn tn. RPC xy ra vi cc bc tm tt nh sau: 1. Th tc client gi client stub mt cch bnh thng. 2. Client stub xy dng mt thng ip v gi h iu hnh cc b. 3. H iu hnh ca client gi thng ip n h iu hnh t xa. 4. H iu hnh t xa gi thng ip cho server stub. 5. Server stub m gi cc tham s ra v gi server. 6. Server thc thi v tr kt qu n stub. 7. Server stub ng gi n vo thng ip v gi h iu hnh cc b. 8. H iu hnh ca server gi thng ip cho h iu hnh ca client. 9. H iu hnh ca client trao thng ip n client stub. 10. Stub m gi kt qu v tr v cho client. b/ Triu gi i tng t xa (Remote Object Invocation): K thut hng i tng c dng rt ph bin hin nay trong vic pht trin cc ng dng phn tn (distributed) v khng phn tn (non-distributed). Mt trong iu quan trng ca i tng l n n giu i nhng g bn trong ca n vi bn ngoi, m n s ch cung cp cc giao din (interface). Hng tip cn ny cho php cc i tng d dng c thay th v chnh sa. RPC v ROI gip n du thng tin trong cc h phn tn, tng cng s truy cp trong sut. c/ Truyn thng hng thng ip (Message Oriented Communication) C ch truyn thng ip c hai loi: 1. Truyn thng tm thi hng thng ip. 2. Truyn thng hng thng ip di lu. d/ Truyn thng hng dng (Stream Oriented Communication)

H thng file phn tn

SVTH: L Hong Thanh

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.

II.2/ Tin trnh


Tin trnh (process) l 1 chng trnh ang trong qu trnh thc thi ngha l mt chng trnh hin ang c thc thi bi mt trong cc b x l o ca h iu hnh. i vi tin trnh th vn qun l v lp lch cho cc tin trnh nhng vn quan trng cn gii quyt. Nhiu tin trnh c th ng thi chia s cng mt CPU v cc ti nguyn phn cng khc.

II.2.1/ Lung (threads) v m hnh a lung (multi-threading)


Lung (thread) tng t mt tin trnh, tuy nhin cng c im khc bit c bn gia lung vi tin trnh. Mt lung l mt n v x l c bn trong h thng . Mi lung x l tun t on code ca n, s hu mt con tr lnh, tp cc thanh ghi v mt vng nh stack ring. Cc lung chia s CPU vi nhau ging nh cch chia s gia cc tin trnh: khi 1 lung ang x l th cc lung khc s phi ch cho n lt. Mt lung cng c th to lp cc lung con. V 1 tin trnh c th s hu nhiu lung. Mt thuc tnh quan trng ca lung l chng cho php kha cc li gi h thng m khng cn phi kha ton b tin trnh m c lung ang chy. K thut a lung (multi-threading) cho php khai thc tnh song song khi thc thi mt chng trnh trn mt h thng nhiu b x l. Khi , mi lung c gn cho mt CPU khc nhau trong khi d liu dng chung c lu tr trong b nh chnh dng chung. Phng php ny thng c dng trong mi trng UNIX.

II.2.2/ Di tr m (code migration)


Di chuyn tin trnh t my ny sang my khc l mt nhim v phc tp v tn km nhng n s ci thin v mt hiu sut. Ton b hiu sut h thng c th c nng ln, nu cc tin trnh c di chuyn t my c mc x l qu nhiu n my c mc x l t hn. Di tr m ng c th gip tng hiu sut bng cch tn dng c ch song song m khng cn quan tm n vn lp trnh song song. Bn cnh l tnh mm do ca m di tr. Cch xy dng ng dng phn tn truyn thng l tch ri ng dng thnh cc phn khc nhau, v quyt nh phn no c thc thi. Tuy nhin nu m c th di chuyn gia cc my khc nhau ta c th cu hnh ng h phn tn. Quy c 1 tin trnh bao gm 3 thnh phn : 1. Code segment : cha tp lnh chng trnh. 2. Resource segment: cha cc tham chiu n ti nguyn bn ngoi m tin trnh cn. 3. Execution segment : cha trng thi thc thi hin hnh ca tin trnh. C hai m hnh c bn cho vic di tr m (di tr tin trnh) : M hnh di ng yu (weak mobility): ch chuyn code segment km theo 1 s iu kin ban u. Mt c im ca m hnh m di tr yu l mt chng trnh c chuyn lun bt u trng thi khi to ca n. Li th ca di tr yu l tnh n gin, n ch cn my ch c th thc thi m l c. M hnh di ng mnh (strong mobility): chuyn lun c 3 thnh phn. c im ny ca m hnh ny l tin trnh ang chy c th c dng, sau di chuyn n my khc v ri c thit lp li trng thi b dng trc . R rng m hnh m di tr di ng mnh tt hn nhiu so vi m hnh m di tr yu, tuy nhin s kh thc hin hn.

II.2.3/ Tc t mm (software agents)


6

H thng file phn tn

SVTH: L Hong Thanh

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.

II.3.1/ Cc khi nim c bn


Tn (name): l mt chui cc bit hoc cc k t c dng tham chiu n 1 thc th trong h phn tn. c th thao tc trn mt thc th, ta cn phi truy cp (access) vo thc th . Do chng ta cn mt im truy cp (access point). Tn ca access point c gi l a ch (address). Mt thc th c th c nhiu access point. Access point c th thay i ti nhng thi im khc nhau. V d: khi bn s dng mt laptop v di chuyn t vng ny n vng khc th chc chn a ch IP ca my s b thay i. nh danh (identifier): l mt loi tn c nhng c tnh sau: 1. Mt nh danh tham chiu nhiu nht n 1 thc th. 7

H thng file phn tn

SVTH: L Hong Thanh

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.3.2/ Xo b nhng thc th khng cn c tham chiu


lm gim bt nhng vn lin quan n vic xa nhng thc th khng cn c tham chiu, h phn tn cung cp 1 s cc tin ch t ng xa mt thc th khi n khng cn cn na. Nhng tin ch c gi chung l h thng thu gom rc phn tn (distributed garbage collectors). Trong phn ny chng ta s tm hiu mi quan h gia vic nh danh (naming) v tham chiu cc thc th (referencing entities), v vic t ng thu gom nhng thc th khng cn c tham chiu na.

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

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn

SVTH: L Hong Thanh

II.4.5/ Loi tr nhau (mutual exclusion)


Gii thut tp trung (centralized algorithm). Gii thut phn tn (distributed algorithm). Gii thut s dng token (token ring algorithm).

II.4.6/ Giao tc phn tn (distributed transaction)


a/ Cc tnh cht ca giao tc - ACID 1. A (nguyn t - Atomic): i vi th gii bn ngoi th giao tc khng th phn chia c na. 2. C (nht qun - consistent): giao tc khng xm phm cc bt bin ca h thng. 3. I (cch ky - isolated): cc giao tc ng thi khng gy tr ngi cho nhau. 4. D (lu bn-durable):khi 1 giao tc cam kt th cc thay i l ko di lu bn. b/ Phn loi giao tc (Classifications of Transactions) Giao tc phng (flat transaction) L giao tc n gin nht, tha mn 4 tnh cht ACID trn. Hn ch chnh ca giao tc phng l chng khng cho php tch ring cc kt qu c cam kt (commited) hay hy b (aborted). Ni cch khc mc ca tnh nguyn t ca giao tc phng l yu. Giao tc lng nhau (nested transaction) Khc phc cc hn ch ca giao tc phng ta s dng giao tc lng nhau. Mt giao tc lng nhau c cu trc t mt s giao tc con, hay ni cch khc l trong giao tc li bao gm cc giao tc khc. Mi giao tc con cng c th thc thi mt hay nhiu giao tc con ca chnh n. Giao tc phn tn (distributed transaction). iu khin tng tranh, c 2 tip cn: iu khin tng tranh bi quan (pessimistic concurrency control) v iu khin tng tranh lc quan (optimistic concurrency control).

II.5/ Nht qun v nhn bn


Trong h phn tn, vic s dng cc bn sao ng vai tr kh quan trng. C nhng l do sau ta dng cc bn sao: 1. Tng tnh tin cy. Nu mt h thng file c sao lu n c th tip tc lm vic sau khi gp s c bng cch chuyn n lm vic vi cc bn sao khc. C nhiu bn sao gip bo v chng c vic d liu b h hng. 2. Tng hiu nng, t tng tnh sn sng s dng ti nguyn. Tuy nhin, ta cng phi tr gi cho vic s dng cc bn sao. Vn c t ra y l lm th no m bo tnh nht qun. C 2 nhm m hnh nht qun: Cc m hnh nht qun ly d liu lm trung tm (data centric consistency models) Cc m hnh nht qun ly client lm trung tm (client centric consistency models).

II.5.1/ Cc m hnh nht qun ly d liu lm trung tm


a/ Cc m hnh nht qun mnh Cn c vo bn thn cc thao tc n l c/ghi trn cc d liu dng chung, ta c cc m hnh nht qun mnh. Bao gm: 11

H thng file phn tn

SVTH: L Hong Thanh

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).

II.5.2/ Cc m hnh nht qun ly client lm trung tm

II.5.3/ Cc giao thc phn tn


a/ Sp t cc bn sao (replica placement) Vn thit k chnh t ra cho kho d liu phn tn, l quyt nh xem khi no, u, v do ai sp t cc bn sao ca kho d liu. C 3 loi bn sao nh sau: Cc bn sao thng trc (permanent replicas). 12

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)

SVTH: L Hong Thanh

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.

II.6.1/ Cc khi nim c bn


Sau y l cc i hi cho 1 h phn tn: Tnh sn sng (availability): h thng sn sng s dng ngay bt k lc no. Ni chung, thuc tnh ny m bo cho h thng lun hot ng mt cch chnh xc mi thi im c yu cu v sn sng hot ng theo yu cu ca ngi s dng. Tnh tin cy (reliability): h thng chy lin tc m khng b li. Ngc vi tnh sn sng, tnh tin cy c nh ngha lin quan n mt khong thi gian thay v mt im thi gian. Mt h thng c tin cy cao c th lm vic lin tc m khng b gin on trong khong thi gian kh di Tnh an ton (safety): h thng c li tm thi th vn khng c thm ho xy ra. V d nh cc tin trnh hot ng trong h thng iu khin nng lng nguyn t hay a con ngI ln v tr cn mt an ton cao. Nu cc h thng iu khin nh th tm thi hng trong 1 khonh khc, hu qu tht kinh khng. Tnh bo tr c (maintainability): kh nng ny gip h thng b li nhanh chng khc phc li. Nu mt h thng c c c 4 tnh trn th c gi l mt h thng c tin cy (dependability). Khi phn loi cc li ca h phn tn, ta c 3 loi li sau: Li nht thi (transient faults) l nhng li ch xy ra 1 ln, mt i, v khng lp li na. Li lp (intermittent faults) l nhng li xy ra, mt i, v sau lp li. Li lu di hay cn gi l li thng trc (permanent faults). Bn cnh cc loi li trn, ta cn c cc m hnh li sau: li sp (crash failure) khi server b treo, li b st (omission failure) khi server khng p ng c nhu cu gi hoc nhn, li thi gian (timing failure) khi thi gian c tr li nhng li qu thi gian quy nh, li p ng (respond failure) server c tr li nhng khng ng, v cui cng l li tu tin (arbitrary failure) khi server tr li 1 cch tu tin vo cc thi im ty tin.

II.6.2/ Che du nhng h hng bng s d tha.


Nu mt h thng phi chu li, cch tt nht l c gng n i s xut hin ca cc li t nhng tin trnh khc. K thut chnh cho vic che du li l s dng d tha. C 3 loi d tha:

13

H thng file phn tn

SVTH: L Hong Thanh

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

II.6.3/ Khi phc tin trinh (process resilience)


khi phc tin trnh, ta t chc thnh cc nhm tin trnh ging nhau. Cc nhm tin trnh trn c th ng, ni cch khc chng c th thm vo hoc bt i cc thnh vin. Tuy nhin, vn cn gii quyt y s l qun l cc nhm tin trnh nh th no. Nu ng v phng din nhm, ta s c gii php cho vn trn l phn thnh nhm ngang hng v nhm phn cp. Tng ng, nu ng trn phng din thnh vin ca nhm, ta s c: qun l tp trung v qun l phn tn. Ngoi ra, ta cn phi tnh n nn c bao nhiu bn sao tin trnh. l vn che du li v c ch dng bn sao.

II.6.4/ Truyn thng theo m hnh client/server tin cy


Trong nhiu trng hp, tnh chu li trong h phn tn ch tp trung vo cc tin trnh b li. Tuy nhin, chng ta cng cn quan tm n cc li truyn thng. Trong thc t, khi xy dng cc h thng truyn thng tin cy, vn ct yu l phi kim sot cc li b st v li sp . Cc li tu tin c th xy ra di dng sao chp cc thng ip, kt qu l trong cc h thng mng, cc thng ip ny c th c lu gi trong mt thi gian kh di v sau li c a ln mng sau khi ngi gi gi i mt thng ip truyn li. Cc phng php truyn thng tin cy: Truyn thng im ti im (Point to point communication) Ng ngha RPC trong cc li hin thi (RPC Semantics in the Presence of Failures)

II.6.5/ Truyn thng theo m hnh nhm tin cy


Mi tin trnh thit lp 1 kt ni im - imm vi tin trnh khc m n mun truyn thng. Hin nhin, mt t chc nh vy l khng hiu qu khi n c th hoang ph di thng mng. Tuy nhin, nu s lng tin trnh nh, th nh th vic t c tin cy xuyn sut nhiu knh im-im tin cy l kh n gin, khng h phc tp.

II.6.6/ Cam kt phn tn (distributed commit)


Gii thut cam kt 2 pha (2PC) vi 2 pha l: pha bu c (voting phase) v pha quyt nh (decision phase). Tuy nhin, khc phc trng hp iu phi vin b sp , ngi ta xut ra gii thut cam kt 3 pha 3PC.

II.6.5/ Phc hi li (recovery)


Mt khi c li xy ra, th vic hi phc li l iu ht sc cn thit. Phc hi li li (backward recovery): a h thng t trng thi li hin hnh tr v trng thi ng trc . Phc hi li tin (forward recovery): mt khi h thng i vo trng thi li, thay v phi quay lui, ta c gng em h thng n trng thi ng mi trc m ti ta li c th tip tc thc hin bnh thng. 14

H thng file phn tn

SVTH: L Hong Thanh

II.7/ An ton an ninh II.7.1/ M u


a/ Mi e do bo mt, cc chnh sch v c ch an ton an ninh Bo mt trong h thng my tnh l chng ta c gng bo v cc dch v v d liu ca h thng, chng li cc s e do. Sau y l 4 loi e do vn bo mt m chng ta cn xem xt: 1. Interception (Chn): nhm ni n tnh hung mt phn t no khng c u quyn m li ginh c quyn truy cp vo cc dch v hoc d liu. Hay ni cch khc l cc truy cp tri php, nghe trm.V d: Giao tip thng qua phng tin truyn thng gia hai i tng b nghe trm bi mt i tng no . S chn ng cng xy ra khi d liu b sao chp khng hp php khi vo th mc ca ngi khc trong h thng file. 2. Interruption (Ngt): nhm ni n tnh hung trong cc dch v hoc d liu tr nn mt tc dng, b ph hu, khng tm thyv d nh khi mt file b h hng hay b mt. Trong trng hp ny cc dch v hoc d liu b mt k no c ch tm ph hoi nhm lm cho ngi khc khng th truy cp c. 3. Modification (Bin i): s bin i gy ra s thay i d liu lm cho d liu khng cn gi nguyn c nhng c im ban u. Thng d liu b chn ng tc c k truy nhp bt hp php v sau thay i d liu truyn i, thay i chng trnh b mt truy nhp vo cc hot ng ca ngi c php s dng hp php chng trnh. 4. Fabrication (Ch to): nhm ch n trng thi trong vic pht sinh cc d liu thm vo hay cc hot ng bt thng. V d: Mt k xm nhp c thm cho bng c 1 mc (entry) vo file mt khu hay c s d liu. Cc c ch bo mt: Encryption (Mt m): l nn tng ca bo mt trong h thng my tnh. M ho s chuyn i d liu thnh mt dng no khin cho mt k xm nhp tri php khng hiu c. M ha cng cung cp c ch cho php kim tra tnh ton vn d liu. Authentication (Xc thc): c s dng nhn dng chnh xc cc yu cu ca user, client, serverTrong trng hp ca client, tin c bn trc khi server p ng nhu cu ca client l server phi nhn dng c client. Thng thng, server nhn dng client thng qua password, ngoi ra cn cc phng php nhn dng khc. Authorization (U quyn): sau khi client c xc thc, iu cn thit l kim tra xem khi no client c cp quyn bt u thc hin cc hnh ng p ng yu cu t user. Hay ni cch khc, u quyn gip kim tra cc quyn c thc hin cc hnh ng yu cu. Auditing (Kim ton): cng c kim ton c s dng pht hin ra client no truy nhp vo ci g v bng cch no. Mc d kim nh khng tht s cung cp bt c tnh nng bo v no chng li s e do bo mt nhng n tht s hu dng trong vic phn tch tm ra nhng l hng bo mt sau c cch chng li x xm nhp. Cng chnh v l do ny, cc hacker khng bao gi li du vt c th dn n vic pht hin ra h.

II.7.2/ Knh an ton (secure channels)


C 3 phng php xc thc chnh: Xc thc da trn kho b mt: y c xem l mt phng php c l ph bin trong vic chuyn cc thng tin quan trng thi im m my tnh cha pht trin. Khi my tnh c ra i v pht trin th vic m ho bng kho b mt c thc hin trn cc 15

H thng file phn tn

SVTH: L Hong Thanh

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.3/ Kim sot truy cp (access control)


K thut m ha kt hp vi ma trn iu khin truy cp (access control matrix) c th c thi hnh trong trng hp h phn tn c lp, cch ly vi th gii bn ngoi. Cn trong trng hp bn ngoi cng c php truy cp vo h thng th chng ta phi s dng bc tng la (firewall). C hai kiu tng la : 1. Cng lc cc gi tin (packet-filtering gateway). 2. Cng mc ng dng (application-level gateway) M di ng an ton (secure mobile code): trong h phn tn th l kh nng di tr m gia cc host l ht sc cn thit v quan trng. Tuy nhin, m di ng li xut hin km theo cc mi e da an ninh nghim trng. V d nh, khi gi 1 tc t qua Internet, ta s phi chng li nhng host nguy him, c nh n cp hoc sa i thng tin ca tc t. Mt vn khc l cc host cn c bo v chng li cc tc t gy hi.

II.7.4/ Qun tr an ton an ninh


Qun tr kho (key management) Qun tr nhm an ton (secure group management) Qun tr u quyn (authorization management)

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.

II.7.7/ Thanh ton in t (electronic payment system)


Ta c 2 loi h thng thanh ton in t: 16

H thng file phn tn

SVTH: L Hong Thanh

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)

III/ H thng qun tr file (tp) phn tn


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. Tt c 7 nguyn l m ta ni trn u c p dng cho cc h thng file phn tn. Tm tt ni dung: Trong phn ny ta xem xt h thng file phn tn ng vai tr nh 1 m thc cho cc h phn tn. Ta s gii thiu 2 h thng file phn tn l Sun NFS (Network File System - H thng file mng) v Coda. Trong 2 h thng , ta s tp trung vo phn tch k NFS. Ta cng s xem xt ngn gn thm v 3 h thng file khc. V cui cng l so snh gia cc h thng file phn tn vi nhau.

III.1/ Sun Network File System


Tn y l H thng file mng ca Sun Microsystem - thng c gi tt l NFS. NFS ban u c pht trin bi Sun dnh cho cc my trm UNIX, tuy nhin n cng c th chy tt trn cc h iu hnh khc. tng c bn ca NFS l mi file server (my ch file) cung cp 1 khung nhn c chun ha v h thng file cc b ca n. Ni cch khc, bt k h thng file cc b c thi hnh nh th no, th mi NFS server (my ch h thng file mng) h tr cng m hnh. M hnh ny cng vi 1 giao thc truyn thng cho php cc client truy cp n cc file lu tr trn server. Hng tip cn ny cho php 1 tp khng thun nht cc tin trnh, c kh nng chy trn cc my v cc h iu hnh khc nhau, cng chia s 1 h thng file chung. S lc lch s ca NFS: Phin bn u tin ca NFS khng c pht hnh m ch c lu hnh ni b trong Sun. Phin bn th 2 c kt hp trong h iu hnh SunOS 2.0 (1985). Vi nm sau, phin bn th 3 ca NFS c pht hnh (1994) ri n phin bn 4.

III.1.1/ Tng quan v NFS a/ Kin trc ca NFS


Trong m hnh Dch v file t xa (remote file service), cc client truy cp 1 cch trong sut n h thng file c qun l bi 1 server xa. V th, thng thng cc client khng bit ch thc s ca cc file. Thay vo , chng c cung cp 1 giao din n h thng file, tng t nh giao din ca cc h thng file cc b thng thng. Trong trng hp ring, client ch c cung cp 1 giao din cha nhiu cc thao tc file khc nhau, server ch c nhim v thc thi cc thao tc file . Chnh v vy m hnh ny cn c gi l M hnh truy cp t xa (remote access model). (H.1) File trn server server

client Yu cu t client truy cp file t 17 xa.

H thng file phn tn

SVTH: L Hong Thanh

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

Tng h thng file o (VFS)

Tng h thng file o (VFS)

Giao din h thng file cc b

NFS client

NFS server

Giao din h thng file cc b

RPC client stub mng

RPC server stub

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

H thng file phn tn

SVTH: L Hong Thanh

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.

b/ M hnh h thng file


M hnh h thng file c a ra bi NFS cng ging nh m hnh c a ra bi h thng da trn UNIX. Cc file s c xem nh dy tun t cc byte. Chng c t chc phn cp trong 1 th nh danh, trong cc nt biu din cc th mc v cc file. truy cp 1 file, client phi tm tn ca n trong 1 dch v nh danh (naming service) v s nhn c iu khin file kt hp (associated file handle). Ngoi ra mi file c 1 s cc thuc tnh m gi tr ca chng c th c tm v thay i. Ta xem xt chi tit chng phn sau. Cc thao tc vi file ca NFS phin bn 3 v 4 : Thao tc to mi (creat) c s dng to ra 1 file, y cng s khc bit gia NFS phin bn 3 vi phin bn 4. Trong phin bn 3, thao tc ny c dng to ra cc file chnh quy (regular file), trong khi cc file phi chnh quy (non-regular file) li c to ra bi cc thao tc ring khc. Thao tc lin kt c dng to cc lin kt cng, cn symlink s c dng to cc lin kt biu trng (symbolic link). Mkdir to cc th mc con. i vi cc file c bit nh cc file thit b, cc socket th c to bi thao tc mknod. Tuy nhin, trong phin bn 4 th thao tc to mi li c dng to ra 1 file phi chnh quy, bao gm c cc lin kt tng trng, cc th mc v cc file c bit. (H.4) Thao tc Creat Creat Link Symlink Mkdir Mknod Rename Remove Rmdir Open Close Lookup Readdir Ph.bn 3 C Khng C C C C C C C Khng Khng C C Ph.bn 4 Khng C C Khng Khng Khng C C Khng C C C C To 1 file chnh quy To 1 file phi chnh quy To 1 lin kt cng n 1 file To 1 lin kt tng trng n 1 file To 1 th mc con trong th mc cho To 1 file c bit i tn 1 file Xa 1 file khi 1 h thng file Xa 1 th mc con rng khi 1 th mc M 1 file ng 1 file Tm 1 file theo tn ca n c cc mc trong 1 th mc 19 M t

H thng file phn tn Readlink Getattr Setattr Read Write C C C C C C C C C C

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.

III.1.2/ Truyn thng


Mt iu quan trng trong NFS l s c lp vi h iu hnh, kin trc mng, v cc giao thc vn chuyn. V d nh, cc client chy trn h thng Windows vn c th giao tip vi 1 my ch file (file server) UNIX. Trong NFS, tt c truyn thng gia client v server u theo giao thc Open Network Computing RPC (ONC RPC). Ni chung th ONC RPC hon ton tng t vi cc h thng RPC khc. Mi thao tc NFS u c th thi hnh khi 1 th tc n t xa gi n 1 file server. V d nh, c d liu t 1 file ln u tin, trc ht 1 client thng thng phi dng thao tc lookup truy tm iu khin file, sau n mi c th gi 1 yu cu c (H.5a). Trong v d ny ca ta, client kt hp c yu cu tm v yu cu c vo trong 1 RPC n (H.5b). Trong trng hp phin bn 4, ta cng cn phi thao tc m file trc khi hnh ng c din ra. Sau khi iu khin file c tm thy, s chuyn sang m file, v sau 20

H thng file phn tn

SVTH: L Hong Thanh

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.3/ Stateless - Stateful


NFS l 1 h thng client server truyn thng, m trong cc client gi yu cu n 1 file server (my ch file) thc hin cc thao tc trn file. Mt trong nhng im phn bit khi s snh vi cc h thng file phn tn khc, l vic cc server c th l stateless (tm dch l phi trng thi). Ni cch khc, giao thc NFS khng i hi cc server duy tr bt k trng thi client no. NFS phin bn 2 v 3 th vn cn dng cch tip cn ny, tuy nhin n phin bn 4 th khng dng na. Li ch chnh ca cch tip cn ny l n gin. V d, khi 1 stateless server b sp, th v c bn ta khng cn pha phc hi (recovery phase) a server tr li trng thi trc . phin bn 4, hng tip cn stateless b b i d rng giao thc theo cch ny cho php server khng cn phi duy tr nhiu thng tin trn cc client ca n. Bn cnh stateless ta cn c hng tip cn stateful (tm dch l theo trng thi). Mt trong nhng l do quan trng dng stateful l do NFS phin bn 4 c th lm vic qua cc mng din rng (wide-area networks). Chnh iu ny i hi cc client phi hiu qu trong vic s dng cc b nh m (cach). T cn phi c cc giao thc nht qun b m (cach consistency protocol). Ta cn c dp bn thm v vn ny phn sau.

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

H thng file phn tn

SVTH: L Hong Thanh

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

Xut th mc t sang client

Xut th mc t sang client

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

bin draw install

packages draw install install

Client cn nhp th mc con t Server B sang

Client nhp th 22 mc t Server A sang

Server A nhp th mc t Server B sang

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn

SVTH: L Hong Thanh

home

tmp_mnt home

alice

/tmp_mnt/home/alice lin kt tng trng H.9. S dng cc lin kt biu trng.

c/ Cc thuc tnh ca file


Mt NFS file c 1 s cc thuc tnh kt hp. Trong phin bn 4, tp cc thuc tnh file c chia ra thnh: 1 tp cc thuc tnh bt buc (mandatory attributes) - mi s thc thi u phi h tr. 1 tp cc thuc tnh c ngh (recommended attributes) - nn c h tr l tt nht. V thm 1 tp cc thuc tnh c nh danh (named attributes). Cc thuc tnh c nh danh (named attributes) c m ho thnh 1 mng ca cc cp (thuc tnh, gi tr), trong thuc tnh c biu din l 1 chui (string) v gi tr ca n l 1 dy cc byte. Chng c lu tr cng vi file (hoc th mc) v NFS s cung cp cc thao tc c v ghi cc gi tr thuc tnh. C tng cng 12 thuc tnh file bt buc (H.10a). Thuc tnh TYPE SIZE CHANGE FSID M t Kiu ca file (chnh quy, th mc, lin kt biu trng). di ca file tnh bng byte Cho client bit nu c khi no file b thay i nh danh duy nht ca h thng file. (a) Thuc tnh ACL FILEHANDLE FILEID FS-LOCATIONS M t Mt danh sch iu khin truy cp c kt hp vi file. Cung cp iu khin file. nh danh duy nht cho file. nh v trn mng, ni h thng file ny c th c tm thy 25

H thng file phn tn OWNER TIME-ACCESS TIME-MODIFY TIME-CREAT Tn (chui/k t) ca ch s hu file.

SVTH: L Hong Thanh

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).

a/ Ng ngha ca vic chia s file


Khi 2 hoc nhiu hn ngi s dng chia s cng 1 file, th cn thit phi nh ngha ng ngha (semantics) ca vic c v ghi 1 cch chnh xc trnh phin toi. gii thch cc ng ngha ca vic chia s file trong NFS, trc ht chng ta hy xem xt 1 vi vn c lin quan n vic chia s file. File gc My n Tin trnh A a b My client #1 Tin trnh A a b

a a 1. Ghi c Tin trnh B a (a) b c 1. Ghi c File server

2. c ab

2. c ly ra abc 3. c ly ra ab My client #2 Tin trnh B (b) 26 a b

H thng file phn tn

SVTH: L Hong Thanh

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.

b/ Kho file trong NFS


Trong NFS, vic kho file c iu khin bi 1 giao thc ring bit, v c thc thi bi 1 b qun l kha (lock manager). Tuy nhin, v nhiu l do khc nhau, vic kha file s dng giao thc kha NFS khng c ph bin. trong phin bn 4, vic kha file c tch hp vo trong giao thc truy cp file NFS. Cch tip cn ny lm mi vic n gin hn cho cc client khi kha file. Tuy nhin, vic kha file trong 1 h thng file phn tn cng phc tp bi cc client v server c th li trong khi cc kha vn c gi li. Khi , vic khi phc li 1 cch thch hp s tr nn quan trng m bo tnh nht qun ca cc file c chia s. By gi ta hy xem xt c th vic kha file trong NFS phin bn 4. Kha file trong phin bn 4 ny kh n gin, ch cn 4 thao tc c lin quan n vic kha file ny (H.12) Thao tc Lock Lockt Locku Renew M t To ra 1 kha cho 1 dy cc byte Kim tra xem kha xung t c cp hay khng Xa 1 kha khi 1 dy cc byte Hi phc (lm mi li) thi gian cp cho kha

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

H thng file phn tn

SVTH: L Hong Thanh

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

III.1.6/ Lu m (caching) v bn sao (replication)


Cng nh cc h thng file phn tn khc, NFS s dng b m cho client tng hiu nng. Thm vo , n cng h tr vic to cc bn sao ca file.

a/ Lu tm cho client (client caching)


Trc y, vic lu tm (caching) trong phin bn 3 ca NFS c nhiu nhc im, n dn n vic c nhiu cch thc hin theo nhng chnh sch khc nhau. V hu ht cc cch u khng m bo c tnh nht qun. Tuy nhin, n phin bn 4, c 1 s thay i m bo tnh nht qun ny. M hnh lu tm (caching model) tng qut ca NFS nh sau: (H.14) B nh m ng dng ca client

NFS server

m a mng 28

H thng file phn tn

SVTH: L Hong Thanh

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).

III.1.7/ Chu li a/ Li RPC


Vn vi c ch RPC khi c dng bi NFS l n khng m bo tnh tin cy. Trn thc t, cc client v server RPC stub c th c sinh ra da trn hoc l giao thc vn chuyn hng kt ni tin cy nh TCP, hoc l giao thc vn chuyn phi kt ni khng tin cy nh UDP. 29

H thng file phn tn

SVTH: L Hong Thanh

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

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.

b/ Kha file khi c li


Vic kha file trong NFS phin bn 3 c x l thng qua 1 server ring bit. Theo cch ny, th cc vn c lin quan n chu li c x l bng cch kha server. Trong phin bn 4, vn c gii quyt tng i n gin. kha 1 file, client a ra 1 yu cu kha n server. Gi s rng kha c cp cho client, th ta cng c th gp rc ri mt khi client hoc server b sp . gii quyt vn client b sp, server a ra 1 lease (dnh ring) trn mi kha m n cp cho client. Mt khi lease ht hn, server s xa kha i, bng cch n gii phng 30

H thng file phn tn

SVTH: L Hong Thanh

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

III.1.8/ An ton an ninh


Nh ta ni trc, tng chnh ca NFS l 1 h thng file t xa s c hin din ti client nh th n l 1 h thng file cc b ca client. Cng chnh v vy m an ton an ninh trong NFS lun c tp trung chnh vo truyn thng gia client v server. Truyn thng an ton c ngha l c 1 knh an ton c thit lp gia server v client, nh trong phn II.7.2 ta cp. Thm vo , cc RPC an ton, th cn thit phi iu khin cc truy cp n file, vic ny c x l, iu khin bi cc thuc tnh file iu khin truy cp (access control file attributes) trong NFS. Mt file server ph trch vic xc minh cc quyn truy cp ca cc client ca n, ta s gii thch iu ny ngay sau y. Cng vi an ton cc RPC, kin trc an ton an ninh NFS c gii thiu trong (H.17)
Client Server

Tng h thng file o iu khin truy cp Giao din h thng file cc b

Tng h thng file o iu khin truy cp Giao din h thng file cc b

NFS client

NFS server

RPC client stub


Knh an ton

RPC server stub

H.17. Kin trc an ton an ninh NFS

a/ RPC an ton
31

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn Read_attributes Write_attributes Read_named_attrs Write_owner

SVTH: L Hong Thanh

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.

III.2/ H thng file Coda


Coda c pht trin ti trng i hc Carnegie Mellon (CMU) vo nhng nm 1990, v by gi n c tch hp vo cc h iu hnh da trn UNIX ph bin, chng hn nh Linux. Coda l 1 h thng file phn tn c tnh co dn (v qui m - scalable), c tnh an ton (secure), v c tnh sn sng cao (high available). Coda l hu du ca h thng file 33

H thng file phn tn

SVTH: L Hong Thanh

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

Virtue client Vice file server

H.20. T chc tng th ca AFS

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

H thng file phn tn

SVTH: L Hong Thanh

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.

III.3/ Cc h thng file phn tn khc


Ngoi 2 h thng file m ta ni trn, th cn c 1 s cc h thng file khc na. Tuy nhin, hu ht u ging vi NFS hoc Coda. y ta xt n 3 h thng file khc na, l Plan 9, XFS, v SFS. Trong Plan 9 th mi ti nguyn u c i x nh 1 file. Cn XFS l 1 v d in hnh ca 1 h thng file khng c server (serverless). V cui cng l SFS, l 1 h thng file m trong cc tn file cng cha thng tin an ton an ninh. 1. Plan 9 - Ti nguyn thng nht vi file Trong Plan 9, tt c cc ti nguyn u c truy cp theo cng 1 cch, c th l cc thao tc v c php ging file. tng ny c k tha t UNIX, tuy nhin n tt v nht quan hn trong Plan 9. Mi server a ra 1 khng gian tn phn cp n cc ti nguyn m n iu khin. Mt client c th t vo cc b 1 khng gian tn c a ra bi server, nh vy vic xy dng khng gian tn ring ca chnh n tng t vi cch tip cn trong NFS. cho php vic chia s, cc phn ca khng gian tn ny cng s c chun ha.
Gateway NS1 Giao din mng File Server NS2 Tin trnh CPU Server NS3

i ra Internet NS2 NS3 Client Client t sang NS1 (khng gian tn 1) v NS2

NS1

NS2

35

Client

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn

SVTH: L Hong Thanh

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

Chng trnh ngi dng

Tc t ngi dng (user agent)

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.

III.4/ So snh gia cc h thng file phn tn


1. Trit l ca h thng Mc tiu ca cc h thng file khc nhau th thng cng khc nhau. Nh NFS, th mc ch ca n l cung cp 1 h thng cho php client truy cp trong sut n 1 h thng file c lu ti 1 server t xa xc nh. Vi Coda th khc, mc tiu ca n l tnh sn sng cao (high available). Coda tha k mc ch thit k ca AFS, trong mt iu quan trng l tnh co dn (scalability). Vic kt hp tnh sn sng cao vi tnh co dn gip phn bit Coda vi hu ht cc h thng file phn tn khc. Mc ch chnh ca Plan 9 l cung cp 1 h thng chia s thi gian (timesharing) phn tn, trong tt c cc ti nguyn c truy cp theo cch nh nhau, m c th l nh 1 file. Vi XFS th mc ch ca n cng kh ging vi cc h thng file phn tn khc, l tnh sn sng cao v tnh co dn. Tuy nhin, iu quan trng l t c mc tiu ny bng 1 h thng m khng c server (serverlesss). Mc tiu ca SFS li l an ton an ninh c thay i, co dn (scalable security). N thc hin mc tiu ny bng cch chia tch vic qun l vi an ton an ninh h thng file v cho php ngi dng bt u dch v SFS (SFS service) ca h m khng c s can thip t 1 authority (quyn) trung tm. 2. Truyn thng Khi so snh v truyn thng, th hu ht cc h thng file phn tn u da trn cc dng ca RPCs. 37

H thng file phn tn

SVTH: L Hong Thanh

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

H thng file phn tn

SVTH: L Hong Thanh

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

SVTH: L Hong Thanh

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

Cc knh an ton iu khin truy cp

Needham Schroeder Cc thao tc th mc

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

H thng file phn tn

SVTH: L Hong Thanh

http://courses.washington.edu/css434/students/NFS.ppt

41

You might also like