1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chuyên đề hệ thống phân tán 25 09 2012

39 384 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cùng với sự phát triển của mạng máy tính, việc tính toán và quản lý ngày nay không chỉ đơn giản chỉ tập trung trong các máy tính đơn lẻ như trước. Công việc đó đòi hỏi các hệ thống tính toán phải được kết hợp từ một số lượng lớn các máy tính kết nối dựa trên mạng tốc độ cao. Chúng ta thường được gọi là các hệ thống phân tán để phân biệt với các hệ thống tập trung trước đây. Ngày nay, hệ thống phân tán phát triển rất nhanh và được ứng dụng rộng khắp. Đó có thể là các dịch vụ thông tin phân tán, như các dịch vụ trên Internet chẳng hạn. Hay cũng có thể là các cơ sở dữ liệu phân tán như các hệ thống đặt vé máy bay, tàu hỏa…hoặc các hệ thống tính toán phân tán. Mục đích của chuyên đề này nhằm khái quát những khái niệm, những nguyên lý cơ bản của một hệ phân tán nói chung. Đồng thời phân tích sâu vào việc chia sẻ dữ liệu trong hệ phân tán – một trong những chức năng cơ bản nhất của hệ phân tán. Chúng ta thường gọi đó là hệ thống quản trị file phân tán (Distributed File Systems). Chuyên đề cũng lần lượt nghiên cứu và trình bày các mô hình khác nhau của hệ thống file phân tán như: Sun NFS, Coda, Plan 9, XFS…

I HC QUC GIA H NI TRNG I HC KHOA HC T NHIấN Chuyên đề TIếN Sĩ Chuyờn ngnh: m bo Toỏn hc cho mỏy tớnh v h thng tớnh toỏn Mó s : 62 46 35 01 Hệ thống file phân tán (Distributed File System) Hc viờn: Lấ C NHNG Trng i hc Hi Phũng H Ni, 09/2012 M U Cựng vi s phỏt trin ca mng mỏy tớnh, vic tớnh toỏn v qun lý ngy khụng ch n gin ch trung cỏc mỏy tớnh n l nh trc Cụng vic ú ũi hi cỏc h thng tớnh toỏn phi c kt hp t mt s lng ln cỏc mỏy tớnh kt ni da trờn mng tc cao Chỳng ta thng c gi l cỏc h thng phõn tỏn phõn bit vi cỏc h thng trung trc õy Ngy nay, h thng phõn tỏn phỏt trin rt nhanh v c ng dng rng khp ú cú th l cỏc dch v thụng tin phõn tỏn, nh cỏc dch v trờn Internet chng hn Hay cng cú th l cỏc c s d liu phõn tỏn nh cỏc h thng t vộ mỏy bay, tu hahoc cỏc h thng tớnh toỏn phõn tỏn Mc ớch ca chuyờn ny nhm khỏi quỏt nhng khỏi nim, nhng nguyờn lý c bn ca mt h phõn tỏn núi chung ng thi phõn tớch sõu vo vic chia s d liu h phõn tỏn mt nhng chc nng c bn nht ca h phõn tỏn Chỳng ta thng gi ú l h thng qun tr file phõn tỏn (Distributed File Systems) Chuyờn cng ln lt nghiờn cu v trỡnh by cỏc mụ hỡnh khỏc ca h thng file phõn tỏn nh: Sun NFS, Coda, Plan 9, XFS MC LC Tng quan v h phõn tỏn 1.1 H phõn tỏn l gỡ? Cú nhiu nh ngha cho mt h phõn tỏn Tuy nhiờn, ta cú th nh ngha h phõn tỏn l mt hp bao gm cỏc mỏy tớnh t tr c liờn kt vi qua mt mng mỏy tớnh, v c ci t phn mm h phõn tỏn Phn mm h phõn tỏn cho phộp mỏy tớnh cú th phi hp cỏc hot ng ca nú v chia s ti nguyờn ca h thng nh phn cng, phn mm v d liu Mt s tớnh cht quan trng ca mt h phõn tỏn: Th nht chỳng cho phộp chỳng ta chy nhng ng dng khỏc trờn nhiu mỏy khỏc thnh mt h thng nht Mt u im khỏc ca h phõn tỏn ú l mt h thng c thit k ỳng cỏch, mt h phõn tỏn cú th cú kh nng thay i tu theo quy mụ ca hthng rt tt Tuy nhiờn, tt c mi th u cú hai mt ca nú, mt h phõn tỏn cng vy bờn cnh nhng mt u vit thỡ nú cng cú nhng nhc im ú l tớnh bo mt kộm Nhng ng dng ca h phõn tỏn: Cung cp nhng thun li cho vic tớnh toỏn a mc ớch n nhng nhúm ngi dựng, t ng hoỏ cụng vic ngõn hng v h thng truyn thụng a phng tin, ngoi chỳng cũn bao quỏt ton b nhng ng dng thng mi v k thut H phõn tỏn ó tr thnh tiờu chun t chc v mt tớnh toỏn Nú cú th c s dng cho vic thc hin tng tỏc h thng tớnh toỏn a mc tiờu UNIX v h tr cho phm vi rng ca thng mi v ng dng cụng nghip ca nhng mỏy tớnh 1.2 Cỏc c trng c bn ca h phõn tỏn Kt ni ngi s dng vi ti nguyờn: Chia s ngun ti nguyờn l mt c tớnh c bn ca h thng phõn tỏn, nú l c s cho nhng c tớnh khỏc v nú nh hng n nhng kin trỳc phn mm cú sn cỏc h phõn tỏn Cỏc ngun ti nguyờn cú th l mc d liu, phn cng v cỏc thnh phn ca phn cng Cỏc ngun ti nguyờn c phõn bit t mt d liu c qun lý vi nhng quỏ trỡnh x lý n bi nhu cu ca vi quỏ trỡnh x lý chia s chỳng [1] Tớnh sut (Transparency): Mt h phõn tỏn c gi l sut nu nú cú kh nng che du tớnh ri rc v nhng nhc im cú th ca nú i vi ngi s dng cui v ngi lp trỡnh ng dng Cú dng sut : - Trong sut truy cp: che du cỏch biu din d liu v cỏch thc truy cp ti nguyờn - Trong sut v trớ: che du v trớ thc ca ti nguyờn - Trong sut di trỳ: che du kh nng di trỳ (di chuyn t ni ny sang ni khỏc) ca ti nguyờn - Trong sut nh v li : che du kh nng ti nguyờn cú th di chuyn t ni ny n ni khỏc c ang c s dng - Trong sut bn sao: che du cỏc bn c nhõn - Trong sut v tng tranh Tớnh m (Openess): Mt h phõn tỏn c gi l cú tớnh m nu nú cú kh nng b sung thờm cỏc dch v mi m khụng lm nh hng xu n cỏc dch v ó cú Tớnh co dón (Scalability): Mt h phõn tỏn c gi l cú tớnh co dón nu nú cú th thớch nghi c vi nhng s thay i qui mụ ca h thng Tớnh co dón th hin trờn khớa cnh - D dng b sung thờm ti nguyờn v ngi s dng - H thng thay i qui mụ v mt a lý - H thng thay i qui mụ v qun tr Tớnh chu li (Fault tolerance): X lý c nhng li xy quỏ trỡnh lm vic Bờn cnh tớnh chu li luụn i kốm theo l khc phc li Tớnh an ton an ninh (Security) Cỏc nguyờn lý ca hphõn tỏn Trong phn ny, ta s xem xột tng quan, túm tt cỏc nguyờn lý ca h phõn tỏn Cú nguyờn lý c bn i vi h phõn tỏn [2-3], bao gm: Truyn thụng (Commmunication) Tin trỡnh (Processes) nh danh (Naming) ng b húa (Synchronization) Nht quỏn v nhõn bn (Consistency & Replication) Chu li (Fault tolerance) An ton an ninh (Security) 2.1 Truyn thụng Truyn thụng gia cỏc tin trỡnh rt quan trng mt h phõn tỏn Truyn thụng cú th chia thnh mc: - Truyn thụng mc mng mỏy tớnh - Truyn thụng mc midleware: bao gm mụ hỡnh c s dng rng rói: + Gi th tc t xa (RPC: Remote Procedure Call) + Triu gi i tng t xa (RMI: Remote Object Invocation) + Truyn thụng hng thụng ip (MOC: Message Oriented Communication) + Truyn thụng hng dũng (SOC: Stream Oriented Communication) 2.1.1 Truyn thụng mc mng Mụ hỡnh OSI c thit k cho phộp cỏc h thng m truyn thụng vi nhau, phc v cho cỏc ng dng phõn tỏn Cỏc tng mụ hỡnh OSI: Tng vt lý (Physical layer) Tng liờn kt d liu (Data link) Tng mng (Network) Tng chuyn (Transport) Tng phiờn (Session) Tng trỡnh din (Presentation) Tng ng dng (Application) Mi tng ca mụ hỡnh OSI gii quyt mt phn ca vic giao tip V mi tng li cú giao thc riờng ca nú Mi h thng m cú cỏc qui tc v nh dng, ni dung, v ng ngha ca thụng ip gi v nhn cỏc qui tc ny c gi l cỏc giao thc (protocol) mt nhúm cỏc mỏy tớnh cú th truyn thụng c vi nhau, cn phi cú cỏc giao thc thng nht gia cỏc mỏy tớnh Cú loi giao thc khỏc nhau: - Giao thc hng kt ni (Connection-Oriented protocol) phi thit lp kt ni trc truyn nhn d liu, sau xong phi gii phúng kt ni - Ggiao thc phi kt ni (Connectionless-Oriented protocol): khụng cn kt ni, thụng tin c truyn ó sn sng 2.1.2 Truyn thụng mc midleware 2.1.2.1 Gi th tc t xa (Remote Procedure Call): RPC cho phộp gi cỏc th tc nm trờn cỏc mỏy khỏc Khi mt tin trỡnh trờn mỏy A gi mt th tc trờn mỏy B, thỡ tin trỡnh gi trờn mỏy A ú s b tm dng, thay vo ú s thc thi th tc c gi trờn mỏy B Phng phỏp ny c gi l Gi th tc t xa (RPC) õy l kthut c sdng rng rói nht cỏc hphõn tỏn RPC xy vi cỏc bc túm tt nh sau: Th tc client gi client stub mt cỏch bỡnh thng Client stub xõy dng mt thụng ip v gi h iu hnh cc b H iu hnh ca client gi thụng ip n h iu hnh t xa H iu hnh t xa gi thụng ip cho server stub Server stub m gúi cỏc tham s v gi server Server thc thi v tr kt qu n stub Server stub úng gúi nú vo thụng ip v gi h iu hnh cc b H iu hnh ca server gi thụng ip cho h iu hnh ca client H iu hnh ca client trao thụng ip n client stub 10 Stub m gúi kt qu v tr v cho client 2.1.2.2 Triu gi i tng t xa (Remote Object Invocation): K thut hng i tng c dựng rt ph bin hin vic phỏt trin cỏc ng dng phõn tỏn (distributed) v khụng phõn tỏn (non-distributed) Mt iu quan trng ca i tng ú l nú n giu i nhng gỡ bờn ca nú vi bờn ngoi, m nú s ch cung cp cỏc giao din (interface) Hng tip cn ny cho phộp cỏc i tng d dng c thay th v chnh sa RPC v ROI giỳp n du thụng tin cỏc h phõn tỏn, tng cng s truy cp sut 2.1.2.3 Truyn thụng hng thụng ip (Message Oriented Communication) C chtruyn thụng ip cú hai loi: - Truyn thụng tm thi hng thụng ip - Truyn thụng hng thụng ip di lõu 2.1.2.3 Truyn thụng hng dũng (Stream Oriented Communication) Cng cú mt s dng truyn thụng m yu t ỏp ng thi gian úng vai trũ ct yu nh dliu õm hoc hỡnh nh chng hn Do ú cn phi cú c ch truyn thụng hng dũng 2.2 Tin trỡnh Tin trỡnh (process) l chng trỡnh ang quỏ trỡnh thc thi ngha l mt chng trỡnh hin ang c thc thi bi mt cỏc b x lý o ca h iu hnh i vi tin trỡnh thỡ qun lý v lp lch cho cỏc tin trỡnh nhng quan trng cn gii quyt Nhiu tin trỡnh cú th ng thi chia s cựng mt CPU v cỏc ti nguyờn phn cng khỏc 2.2.1 Lung (Threads) v mụ hỡnh a lung (Multi-threading) Lung (Thread) tng t mt tin trỡnh, nhiờn cng cú im khỏc bit c bn gia lung vi tin trỡnh Mt lung l mt n v x lý c bn h thng Mi lung x lý tun t on code ca nú, s hu mt tr lnh, cỏc ghi v mt vựng nh stack riờng Cỏc lung chia s CPU vi ging nh cỏch chia s gia cỏc tin trỡnh: lung ang x lý thỡ cỏc lung khỏc s phi ch cho n lt Mt lung cng cú th to lp cỏc lung V tin trỡnh cú th s hu nhiu lung Mt thuc tớnh quan trng ca lung l chỳng cho phộp khúa cỏc li gi h thng m khụng cn phi khúa ton b tin trỡnh m cú lung ang chy K thut a lung (multi-threading) cho phộp khai thỏc tớnh song song thc thi mt chng trỡnh trờn mt h thng nhiu b x lý Khi ú, mi lung c gỏn cho mt CPU khỏc d liu dựng chung c lu tr bnh chớnh dựng chung Phng phỏp ny thng c dựng mụi trng UNIX 2.2.2 Di trỳ mó (Code migration) Di chuyn tin trỡnh t mỏy ny sang mỏy khỏc l mt nhim v phc v tn kộm nhng nú s ci thin v mt hiu sut Ton b hiu sut h thng cú th c nõng lờn, nu cỏc tin trỡnh c di chuyn t mỏy cú mc x lớ quỏ nhiu n mỏy cú mc x lớ ớt hn Di trỳ mó ng cú th giỳp tng hiu sut bng cỏch tn dng c ch song song m khụng cn quan tõm n lp trỡnh song song Bờn cnh ú l tớnh mm ca mó di trỳ Cỏch xõy dng ng dng phõn tỏn truyn thng l tỏch ri ng dng thnh cỏc phn khỏc nhau, v quyt nh phn no c thc thi Tuy nhiờn nu mó cú th di chuyn gia cỏc mỏy khỏc ta cú th cu hỡnh ng h phõn tỏn Quy c tin trỡnh bao gm thnh phn : Code segment: cha lnh chng trỡnh Resource segment: cha tham chiu n ti nguyờn bờn ngoi m tin trỡnh cn Execution segment: cha trng thỏi thc thi hin hnh ca tin trỡnh Cú hai mụ hỡnh c bn cho vic di trỳ mó (di trỳ tin trỡnh) : - Mụ hỡnh di ng yu (weak mobility): ch chuyn code segment kốm theo mt s iu kin ban u Mt c im ca mụ hỡnh mó di trỳ yu l mt chng trỡnh c chuyn luụn bt u trng thỏi to ca nú Li th ca di trỳ yu ú l tớnh n gin, nú ch cn mỏy ớch cú th thc thi mó l c - Mụ hỡnh di ng mnh (strong mobility): chuyn luụn c thnh phn c im ny ca mụ hỡnh ny l tin trỡnh ang chy cú th c dng, sau ú di chuyn n mỏy khỏc v ri c thit lp li trng thỏi ó b dng trc ú Rừ rng mụ hỡnh mó di trỳ di ng mnh tt hn nhiu so vi mụ hỡnh mó di trỳ yu, nhiờn s khú thc hin hn 2.2.3 Tỏc t mm (software agents) Agent cú c tớnh c bn ú l: t tr v tng tỏc Ngoi cũn cú cỏc c tớnh riờng tu theo tng tỏc t, ú l: - Tớnh di ng: tng ng ta s cú tỏc t di ng (mobile agent) Mt tỏc t di ng l mt tỏc t cú kh nng chuyn i gia cỏc mỏy khỏc Cỏc tỏc t di ng ũi hi phi cú tớnh di ng mnh Cỏc tỏc t di ng thng yờu cu phi h tr mụ hỡnh mó di ng mnh (strong mobility), khụng nht thit - Tớnh thụng minh: tng ng ta s cú tỏc t thụng minh (intelligent agent) Ngoi ta cũn cú cỏc loi tỏc t khỏc nh: - Tỏc t giao din (interface agent) giỳp h tr cho ngi sdng vic chy mt hoc nhiu ng dng - Tỏc t thụng tin (information agent) l tỏc tliờn quan mt thit vi tỏc t giao din Chc nng chớnh ca cỏc tỏc t ny l qun lớ thụng tin t nhiu ti nguyờn khỏc Qun lớ thụng tin gm sp xp, sng lc, Bng Mt s thuc tớnh quan trng ca tỏc t gia cỏc loi tỏc t khỏc 2.3 nh danh Cỏc tờn úng vai trũ quan trng tt c cỏc h thng mỏy tớnh Chỳng c dựng chia scỏc ti nguyờn, nh danh nht cỏc thc th, tham chiu n cỏc ni Vic t tờn to c s cho phộp cỏc tin trỡnh cú th truy cp n thc th thụng qua tờn ca chỳng Trong mt h thng phõn tỏn, vic inh danh thng c thc thi phõn tỏn trờn nhiu mỏy Cú ba chớnh vic inh danh h phõn tỏn t tờn theo cỏch gn gi vi ngi Cỏc tờn c s dng nh v cỏc thc th di ng Gii quyt cỏch t chc tờn 2.3.1 Cỏc khỏi nim c bn Tờn (name): l mt chui cỏc bit hoc cỏc kớ t c dựng tham chiu n thc th h phõn tỏn cú th thao tỏc trờn mt thc th, ta cn phi truy cp (access) vo thc th ú Do ú chỳng ta cn mt im truy cp (access point) Tờn 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 khỏc Vớ d: bn s dng mt laptop v di chuyn t vựng ny n vựng khỏc thỡ chc chn a ch IP ca mỏy s b thay i nh danh (identifier): l mt loi tờn cú nhng c tớnh sau: Mt nh danh tham chiu nhiu nht n thc th Mi thc th c tham chiu nhiu nht bi nh danh Mt nh danh luụn tham chiu ti cựng thc th Nh dựng nh danh, chỳng ta d dng hn cp n mt thc th Chỳng ta cng khụng th s dng a ch lm nh danh c vỡ address cú th thay i Khụng gian tờn (namespace): l cỏch t chc cỏc tờn h phõn tỏn Biu din bng th cú hng - th tờn (name graph) Phõn gii tờn (name resolution): duyt th tờn theo namepath tỡm kim tờn hoc nh danh ca thc th 2.3.2 nh v thc th di ng Mt phng phỏp ph bin h tr cỏc thc th di ng mng cú phm vi ln ú l home-based, bng cỏch a 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 Mt vớ dv k thut home-based l Mobile IP Mi host di ng s dng a ch IP c nh Tt c cỏc giao tip n a ch IP ú u tiờn s c n mobile hosts home agent(ni qun lý cỏc host di ng) Ni qun lý ny c t trờn mt mng LAN tng ng vi a chmng cha a ch IP ca host di ng Bt c no host di ng chuyn ti mt mng khỏc, nú u yờu cu mt a ch tm thi dựng cho cỏc hot ng giao tip a ch chuyn tip (care of address) ny c ng ký ti home agent Khi home agent nhn c mt gúi tin gi cho mt host di ng, nú s tỡm kim a im hin ti ca host di ng ú Nu host di ng ú ang mng cc b hin hnh thỡ gúi tin s c chuyn tip mt cỏch d dng Ngc li, nú s to mt ng ngang ti ni m host di ng ang nm bng cỏch gúi (wrap) d liu mt gúi IP v gi n a ch chuyn tip m nú ang qun lý Cựng lỳc ú thỡ ni gi gúi tin i c thụng bỏo ca a im hin ti ca host di ng Chỳ ý rng a ch IP c s dng mt cỏch hiu qu cú nh danh cho host di ng Ngoi hng tip cn trờn cũn nhiu hng khỏc na gii quyt thc th di ng 2.3.2 Xoỏ b thc th khụng cũn c tham chiu lm gim bt nhng liờn quan n vic xúa nhng thc th khụng cũn c tham chiu, h phõn tỏn cung cp s cỏc tin ớch t ng xúa mt thc th nú khụng cũn cn na Nhng tin ớch ú c gi chung l h thng thu gom rỏc phõn tỏn (distributed garbage collectors) Trong phn ny chỳng ta s tỡm hiu mi quan h gia vic nh danh (naming) v tham chiu cỏc thc th (referencing entities), v vic t ng thu gom nhng thc th khụng cũn c tham chiu na 2.4 ng b húa Trong h phõn tỏn, vic tớnh thi gian ca mi mỏy tớnh l khỏc nhau, vỡ vy cn phi cú mt khỏi nim gi l thi gian vt lý thng nht v thi gian gia cỏc mỏy tớnh trờn ton cu Bờn cnh ú, cỏc tin trỡnh cựng yờu cu mt n v d liu cựng mt thi gian thỡ s khụng trỏnh tng tranh bt kh khỏng Nhng iu trờn chớnh l cỏc chớnh cn c gii quyt vic ng b hoỏ [4-5] 2.4.1 ng b hoỏ ng h vt lý Mi mỏy tớnh u ci t ng h vt lý, ú l cỏc mch m xung nhp Tht chỳng khụng phi ng h quan im thụng thng Nhiu ta gi chỳng l cỏc b m nh thi (timer) B nh thi mỏy tớnh thng l tinh th thch anh chy rt chớnh xỏc Khi c gi mt hiu in th, tinh th thch anh dao ng vi tn s n nh tựy thuc vo loi tinh th ú Liờn kt vi tinh th thch anh l hai ghi, b m (counter) v ghi gi (holding register) Mc dự tn s ca b dao ng tinh th luụn khỏ n nh, nú khụng th m bo cỏc tinh th cỏc mỏy tớnh khỏc u chy chớnh xỏc cựng tn s Thc t mt h thng cú nhiu mỏy tớnh thỡ tt c cỏc tinh th s chy vi tn s khỏc chỳt ớt, dn gõy s mt ng b v giỏ tr c s khỏc S khỏc v giỏ tr thi gian c gi l s sai lch ca ng h V kt qu ca s sai khỏc ny l chng trỡnh cú s ũi hi thi gian liờn kt vi file, i tng, tin trỡnh, hay thụng ip s khụng cũn chớnh xỏc 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ú cỏc ng h vt lớ ngoi Vic dựng nhiu ng h vt lớ nh th s ny sinh : Lm th no ng b chỳng vi ng Lm th no ng b chỳng vi Vic ng b gia cỏc ng h vt lý cn phi da vo thi gian chun cú giỏ tr ton cu thi gian phi hp ton cu UTC (universal coordinated time) Nu cỏc mỏy tớnh cú cỏc wwv receiver thỡ vic ng b húa s c thc hin theo UTC Ngc li, nu cỏc mỏy tớnh khụng cú wwv receiver thỡ phi s dng cỏc gii thut ng b húa ng h vt lý Cú gii thut ph bin, ú l: Gii thut Cristian Gii thut Berkeley Gii thut trung bỡnh Tt c cỏc thut toỏn u cú cựng mụ hỡnh h thng c bn Mi mỏy xem nh cú mt b m thi gian, nú to mt ngt H ln mt giõy Gi giỏ tr ca ng h ny l C Khi thi gian UTC l t, thỡ giỏ trca ng htrờn mỏy p s l Cp(t) Trong mt th gii lớ tng chỳng ta cú Cp(t) = t cho tt c p v t Hay núi cỏch khỏc, lớ tng l C(p).t = B nh thi thc khụng ngt chớnh xỏc H ln mt giõy Theo lớ thuyt, b nh thi vi H = 60 cn phỏt 216000 tick mt gi Thc t nhng sai s tng i t c vi cỏc chip m thi gian hin i t khong 10-5, cú ngha l mt mỏy no ú cú th ly giỏ tr t 215998 n 216002 tick mt gi Mt cỏch chớnh xỏc hn, tn ti mt hng s tho món: - dC.dt + m b nh thi lm vic chớnh xỏc Hng s c xỏc nh bi nh sn xut v c gi l Maximum Drift Rate 10 Chỳng c lu tr cựng vi file (hoc th mc) v NFS s cung cp cỏc thao tỏc c v ghi cỏc giỏ tr thuc tớnh Cú tng cng 12 thuc tớnh file bt buc (Bng 3) Thuc tớnh TYPE SIZE CHANGE FSID Mụ t Kiu ca file (chớnh quy, th mc, liờn kt biu trng) di ca file tớnh bng byte Cho client bit nu cú no file b thay i nh danh nht ca h thng file Bng 3.(a) Mt s cỏc thuc tớnh file bt buc ph bin NFS Thuc tớnh Mụ t ACL Mt danh sỏch iu khin truy cp c kt hp vi file FILEHANDLE Cung cp iu khin file FILEID nh danh nht cho file FS-LOCATIONS nh v trờn mng, ni h thngfile ny cú th c tỡm thy OWNER Tờn (chui.ký t) ca chshu file TIME-ACCESS Thi im m d liu file c truy cp ln cui TIME-MODIFY Thi im m d liu file c chnh sa ln cui TIME-CREAT Thi im m d liu file c to Bng 3.(b) Mt s cỏc thuc tớnh file c ngh ph bin Cỏc thuc tớnh file c ngh ph bin c lit kờ bng 3b Phiờn bn NFS hin ti cú n 43 thuc tớnh c ngh 3.1.5 ng b húa Cỏc file h thng file phõn tỏn c chia s bi nhiu client Nu vic chia s khụng bao gi xy ra, thỡ qu tht nh th chng cũn ý ngha ca h thng file phõn tỏn Vic chia s cỏc file ũi hi cn phi cú s ng b húa S ng b húa s l khỏ n gin nu cỏc file c gi trờn server trung tõm Tuy nhiờn y hiu nng s l Bi th, cỏc client thng c phộp gi bn cc b ca file chỳng ang c v ghi ni dung file Cỏch ny tng t vi mụ hỡnh upload.download phn u ó trỡnh by 3.1.5.1 Ng ngha ca vic chia s file Khi hoc nhiu hn ngi s dng chia s cựng file, thỡ cn thit phi nh ngha ng ngha (semantics) ca vic c v ghi cỏch chớnh xỏc trỏnh phin toỏi gii thớch cỏc ng ngha ca vic chia s file NFS, trc ht chỳng ta hóy xem xột vi cú liờn quan n vic chia s file 25 Hỡnh (a) Trờn vi x lý n, thao tỏc c theo sau thao tỏc ghi, thỡ giỏ tr c tr v bi c giỏ tr va c ghi (b) Trong h phõn tỏn vi b m, cỏc giỏ tr ccú th c tr v Trong cỏc h thng vi x lý n cho phộp cỏc tin trỡnh chia s file, chng hn nh UNIX, ng ngha thng l thao tỏc c theo sau thao tỏc ghi, thao tỏc c tr v giỏ tr va lỳc c (Hỡnh 8) Tng t nh th, thao tỏc ghi xy k tip nhau, theo sau l thao tỏc c, giỏ tr c l nhng giỏ tr c lu bi ln ghi cui cựng Trong thc t, h thng s bt ộp thi gian tuyt i vi tt c cỏc thao tỏc v luụn luụn tr v giỏ tr gn nht Ta gi mụ hỡnh ny l ng ngha UNIX (UNIX semantics) Trong h phõn tỏn, ng ngha UNIX cú th d dng cú c vi iu kin ch cú file server v cỏc client khụng gi cỏc file Tt c cỏc thao tỏc c v ghi u n trc tip file server, v file server s x lý chỳng cỏch tun t Tuy nhiờn thc t, hiu nng ca h phõn tỏn thng rt thp nu ú tt c cỏc yờu cu file u phi i n server Vn ny s c gii quyt bng cỏch cho phộp cỏc client trỡ cỏc bn cc b ca cỏc file thng c dựng nhiu (heavily used files) bnh m riờng (cc b) ca nú 3.1.5.2 Khoỏ file NFS Trong NFS, vic khoỏ file c iu khin bi giao thc riờng bit, v c thc thi bi b qun lý khúa (lock manager) Tuy nhiờn, vỡ nhiu lý khỏc nhau, vic khúa file s dng giao thc khúa NFS khụng c ph bin phiờn bn 4, vic khúa file ó c tớch hp vo giao thc truy cp file NFS Cỏch tip cn ny lm mi vic n gin hn cho cỏc client khúa file Tuy nhiờn, vic khúa file h thng file phõn tỏn cng phc bi cỏc client v server cú th li ú cỏc khúa c gi li Khi ú, vic khụi phc li cỏch thớch hp s tr nờn quan trng m bo tớnh nht quỏn ca cỏc file c chia s Bõy gi ta hóy xem xột c th vic khúa file NFS phiờn bn Khúa file phiờn bn ny khỏ n gin, ch cn thao tỏc cú liờn quan n vic khúa file ny (bng 4) Thao tỏc Lock Mụ t To khúa cho dóy cỏc byte 26 Lockt Locku Renew Kim tra xem khúa xung t c cp hay khụng? Xúa khúa dóy cỏc byte Hi phc (lm mi li) thi gian cp cho khúa Bng Cỏc thao tỏc NFS phin bn liờn quan n khúa file Thao tỏc lock (khúa) c dựng yờu cu khúa c (read lock) hoc khúa ghi (write lock) trờn dóy liờn tip cỏc byte file Thao tỏc lockt c dựng kim tra xem th cú khúa xung t no tn ti hay khụng.Vớ d nh, client cú th kim tra xem cú khúa c no ó c cp trờn mt dóy cỏc byte xỏc nh file hay khụng, trc nú yờu cu khúa ghi cho cỏc byte ú Trong trng hp xung t, nú s cho bit chớnh xỏc nguyờn nhõn ca vic xung t v c dóy byte m xung t xy trờn ú na xoỏ khúa file ta dựng thao tỏc locku Cỏc khúa u c cp cho thi gianxỏc nh (thi gian ny c quyt nh bi server) Tr client hi phc li (lm mi li - renew) khong thi gian ú trờn cỏc khúa ó c cp, cũn nu khụng thỡ server s t ng hu cỏc khúa ú i Bờn cnh cỏc thao tỏc ny, cng cũn cú cỏch na khúa file, ú l chia s ch t trc (share reservation) Nú c dựng thc thi NFS trờn cỏc h thng da trờn Windows Khi client m file, nú s xỏc nh, ch kiu truy cp m nú yờu cu (c th l READ,WRITE hoc BOTH), v kiu truy cp m server s t chi cỏc client khỏc (NONE, READ, WRITE hoc BOTH) bit chớnh xỏc iu gỡ s xy mt client m file , m file ú ó c m thnh cụng bi client khỏc, ta hóy xem (Bng 5) sau: Bng Kt qu ca thao tỏc c vi share reservation NFS 3.1.6 Lu m (caching) v bn (replication) Cng nh cỏc h thng file phõn tỏn khỏc, NFS s dng b m cho client tng hiu nng Thờm vo ú, nú cng h tr vic to cỏc bn ca file 3.1.6.1 Lu tm cho client (client caching) Trc õy, vic lu tm (caching) phiờn bn ca NFS ó cú nhiu nhc im, nú dn n vic cú nhiu cỏch thc hin theo nhng chớnh sỏch khỏc V hu ht cỏc cỏch ú u khụng m bo c tớnh nht quỏn Tuy nhiờn, n phiờn bn 4, ó cú s thay i m bo tớnh nht quỏn ny Mụ hỡnh lu tm (caching model) tng quỏt ca NFS nh sau: (Hỡnh 10) 27 Hỡnh Lu tm (m) bờn phớa client NFS Mi client cú th cú b nh m (memory cach) cha d liu trc ú c t server Ngoi ra, cũn cú th cú m a (disk cach) c thờm vo m rng b nh m, s dng chung cỏc tham s nht quỏn NFS phiờn bn s dng cỏch cho vic lu tm (m) d liu file - caching file data Cỏch n gin nht l client m file v lu tm dliu m nú nhn c t server nh vo thao tỏc c Thao tỏc ghi cng cú th c thc hin b nh m Khi client úng file, NFS yờu cu rng, nu cú s thay i no ó c din ra, thỡ d liu c lu tm ú phi c y v li server Mt file ó c lu tm, thỡ client cú th gi d liu ca nú b m thm sau úng file NFS ũi hi rng, bt k no client m1 file ó úng trc ú (m ó c lu tm), client phi lp tc revalidate (tỏi hiu lc) d liu ó lu tm Thờm im ta cn chỳ ý na l server cú th u nhim (delegate) s quyn ca nú n cho client mt file ó c m Open delegation (unhim m file) din mỏy client c phộp xlý c b cỏc thao tỏc úng v m (file) t cỏc client khỏc trờn cựng mỏy Thụng thng thỡ server phi m nhim vic kim soỏt dự cho vic m file cú thnh cụng hay khụng Vi Open delegation, mỏy client ụi cng c cho phộp t a cỏc quyt nh, trỏnh vic phi cn liờn lc vi server Mt h qu ca vic u nhim file n client, ú l server cn cú th gi trli (recall) u nhim, vớ d nh, client khỏc trờn mỏy khỏc cn nhn quyn truy cp n file Server cú th gi client -ang c u nhim - tr li u nhim (Hỡnh 10) Mt gi li theo c ch ny thỡ ũi hi server phi lu li vt ca cỏc client m nú ó u nhim file n Vic lu tr tm iu khin file v cỏc th mc cng dựng cỏch tip cn ging nh trờn Hỡnh 10 C ch gi tr li y nhim file NFS phiờn bn 3.1.6.2 Bn cỏc server 28 NFS phiờn bn h tr khụng nhiu cho vic nhõn bn file Ch ton b h thng file mi cú th c nhõn bn (bao gm cỏc file, cỏc thuc tớnh, cỏc th mc, v cỏc d liu) 3.1.7 Chu li 3.1.7.1 Li RPC Vn vi c ch RPC c dựng bi NFS ú l nú khụng m bo tớnh tin cy Trờn thc t, cỏc client v server RPC stub cú th c sinh da trờn hoc l giao thc chuyn hng kt ni tin cy nh TCP, hoc l giao thc chuyn phi kt ni khụng tin cy nh UDP Mt nhng chớnh na, ú l thiu vic tỡm cỏc yờu cu trựng lp (duplicate request) Nhvy s xy trng hp, hi ỏp RPC b mt v client truyn li (retransmit) thnh cụng yờu cu gc n server, v kt qu l server s phi thc hin li yờu cu ú thờm ln na Nhng trờn c khc phc bng b m cỏc yờu cu trựng lp (duplicaterequest cache) thc thi bi server Mi yờu cu RPC t client s c gn nh danh giao tỏc (transaction identifier - XID) nht phn header ca nú, v nú s c server lu tm nú n server Chcn server khụng gi hi ỏp, nú s ch nh yờu cu RPC ang c thc hin Khi yờu cu ó c x lý xong, hi ỏp kt hp (associated reply) ca nú s c lu tm li, sau ú hi ỏp s chớnh thc c gi tr cho client Hỡnh 11 Ba tỡnh ca vic x lý truyn li (a) Yờu cu ang c thc hin (b) Hi ỏp va mi c tr v (c) Hi ỏp ó gi trc ú, nhng b li Cú tỡnh c t cn gii quyt õy: Trong trng hp th nht (Hỡnh 11a), client gi i yờu cu, v ng b nh thi Nu ht thi gian trc cú hi ỏp, client s truyn li yờu cu gc ú vi XID ging nh c Tuy nhiờn, bờn phớa server, thỡ server cha hon tt xong yờu cu ban u, vỡ thnú s t chi yờu cu m client truyn li Trng hp 2, server cú th nhn yờu cu c truyn li ch sau nú ó gi i hi ỏp cho client Nu thi im n ca yờu cu c truyn li ú gn sỏt vi thi im m server gi hi ỏp (Hỡnh 11b), thỡ server s kt lun rng vic truyn li vi vic hi ỏp l ó b chộo nhau, v vỡ th server cng li t chi yờu cu truyn li ú Trng hp 3, hi ỏp b mt v yờu cu truyn li s c ỏp ng bng cỏch gi n client cỏc kt qu m trc õy ta ó lu tm b m (Hỡnh 11c) õy ta chỳ ý rng cỏc kt qu ca thao tỏc file luụn c trỡ b m 29 3.1.7.2 Khúa file cú li Vic khúa file NFS phiờn bn c x lý thụng qua server riờng bit Theo cỏch ny, thỡ cỏc cú liờn quan n chu li c x lý bng cỏch khúa server Trong phiờn bn 4, c gii quyt tng i n gin khúa file, client a yờu cu khúa n server Gi s rng khúa c cp cho client, thỡ ta cng cú th gp rc ri mt client hoc server b sp gii quyt client b sp, server a lease (dnh riờng) trờn mi khúa m nú cp cho client Mt lease ht hn, server s xúa khúa i, bng cỏch ú nú gii phúng cỏc ti nguyờn liờn kt (tc cỏc file) cho server xúa khúa, client s lm mi li (hi phc li - renew) lease ca nú trc b ht hn bng thao tỏc renew Tuy nhiờn cng cú tỡnh cỏc khúa b xúa i, c client khụng b sp Vic xúa khụng ỳng ny cú th xy nu khụng th a thao tỏc renew n cho server, vớ d ú mng tm thi b t chng hn Khi server b sp v sau ú c phc hi, cú th nú s mt thụng tin trờn cỏc khúa m nú ó cp cho client Trong phiờn bn 4, ngi ta a thờm vo grace period (tm dch l giai on tm hoón) m giai on ny client cú th khụi phc, ci to li cỏc khúa ó c cp trc ú cho nú Vic hi phc khúa ny khụng h ph thuc vo vic hi phc cỏc d liu b mt khỏc Trong sut grace period, ch cỏc yờu cu khụi phc khúa núi chung mi c chp nhn, cũn cỏc yờu cu khúa thụng thng khỏc s b t chi cho n chng no grace period kt thỳc Nh ta thy trờn, vic dựng cỏc lease trờn cỏc khúa s lm ny sinh nhiu liờn quan n tớnh n nh ca vic gi thụng ip lm mi lease Vớ d nh, nu thụng ip ny b li hoc n server tr, thỡ lease vụ tỡnh s b ht hn dự cho nú ó yờu cu c lm mi li Trong c trng hp ny, server s khc phc bng cỏch phi a lease mi cho client, trc client sau tip tc dựng file 3.1.7.3 U quyn m cú li U quyn m c a gii quyt client hoc server b sp 3.1.8 An ton an ninh Nh ta ó núi trc, ý tng chớnh ca NFS ú l h thng file t xa s c hin din ti client nh th nú l h thng file cc b ca client Cng chớnh vỡ vy m an ton an ninh NFS luụn c trung chớnh vo truyn thụng gia client v server Truyn thụng an ton cú ngha l cú kờnh an ton c thit lp gia server v client, nh phn 2.7.2 ta ó cp Thờm vo ú, cỏc RPC an ton, thỡ cn thit phi iu khin cỏc truy cp n file, vic ny c x lý, iu khin bi cỏc thuc tớnh file iu khin truy cp (access control file attributes) NFS Mt file server ph trỏch vic xỏc minh cỏc quyn truy cp ca cỏc client ca nú Cựng vi an ton cỏc RPC, kin trỳc an ton an ninh NFS c trỡnh by (Hỡnh 12) 30 Hỡnh 12 Kin trỳc an ton an ninh NFS 3.1.8.1 RPC an ton Trong NFS phiờn bn 4, thỡ ch cú vic xỏc thc c quan tõm ta núi n RPC an ton Cú cỏch xỏc thc: - System authentication (xỏc thc h thng): l phng thc xỏc thc c s dng rng rói nht Xỏc thc h thng cũn l phng thc xỏc thc da trờn UNIX Trong ú, cỏc client n gin ch truyn ID ngi dựng (user ID) v ID nhúm (group ID) ca nú n cho server, cựng vi danh sỏchcỏc nhúm m nú phi ũi hi l thnh viờn Thụng tin ny c client gi i di hỡnh thc cú th hiu c ca bn ó c mó hoỏ (plaintext) - Secure NFS (NFS an ton): phng thc xỏc thc ny s dng trao i khúa Diffie-Hellman thit lp khúa phiờn (sesion key), nú c dựng cỏc phiờn bn NFS c Cỏch xỏc thc ny tt hn so vi xỏc thc h thng, nhng bự li nú phc hn, ú nú cng ớt c dựng hn - V giao thc xỏc thc th ú l Kerberos (phiờn bn 4) Trong NFS phiờn bn 4, an ton an ninh cng ó c nõng cao vi vic h tr RPCSEC - GSS.RPCSEC-GSS l1 b khung (framework) an ton an ninh tng quỏt, cú th h tr rt nhiu c ch an ton an ninh cho vic thit lp cỏc kờnh truyn an ton Khụng nhng h tr cho cỏc h thng xỏc thc khỏc nhau, m nú cũn h tr c vic tớch hp cỏc thụng ip (message integrity) v s cn mt (confidentiality), c tớnh khụng c h tr cỏc phiờn bn NFS trc õy RPCSEC-GSS c da trờn giao din chun cho cỏc dch v an ton an ninh, cú tờn l GSS-API 3.1.8.2 iu khin truy cp U quyn NFS cng tng t vi secure RPC (RPC an ton): nú cung cp cỏc c ch, nhng li khụng ch rừ chớnh sỏch c th no Vic iu khin truy cp c htr bi thuc tớnh file ACL (ACL file attribute) Thuc tớnh ny l danh sỏch cỏc mc (entry) iu khin vic truy cp, ú mi mc ch cỏc quyn truy cp cho nhúm hoc ngi s dng xỏc nh NFS phõn bit nhiu loi thao tỏc khỏc Ta chỳ ý n thao tỏc Synchronize (ng b húa), thao tỏc ny dựng bỏo cho bit rng, tin trỡnh cng ch vi server cú th trc tip truy cp vo file c hay khụng, b qua giao thc NFS t ú cú th tng hiu nng Mụ hỡnh NFS cho vic iu khin truy cp cú nhiu ng ngha hn so vi hu ht cỏc mụ hỡnh UNIX, bi vic ũi hi NFS cú th liờn tỏc vi h thng Windows 2000 31 Bng Phõn loi cỏc thao tỏc c nhn din bi NFS i vi vic iu khin truy cp Mt iu khỏc na lm cho iu khin truy cp file khỏc bit so vi cỏc h thng file chng hn nh UNIX, ú l vic truy cp cú th c ch nh cho nhng ngi s dng khỏc v nhng nhúm khỏc Bi theo truyn thng thỡ vic truy cp n file c ch nh dnh cho ngi s dng (ch s hu ca file), nhúm ngi s dng (chng hn cỏc thnh viờn ca nhúm d ỏn), v cho mi ngi khỏc NFS cú nhiu loi ngi dựng v tin trỡnh khỏc c trỡnh by bng sau (Bng 7) Bng Cỏc loi ngi dựng v tin trỡnh khỏc c phõn bit bi NFS i vi vic iu khin truy cp 3.2 H thng file Coda Coda [10] c phỏt trin ti trng i hc Carnegie Mellon (CMU) vo nhng nm 1990,v bõy gi nú ó c tớch hp vo cỏc h iu hnh da trờn UNIX ph bin, chng hn nh Linux 32 Coda l h thng file phõn tỏn cú tớnh co dón (v qui mụ- scalable), cú tớnh an ton, v cú tớnh sn sng cao (high available) Coda l hu du ca h thng file Andrew (AFS) phiờn bn 2, cng CMU phỏt trin Nú kt tha nhiu im kin trỳc ca AFS Vi AFS, nú cú th c thc thi vi khong 10.000 mỏy trm cn truy cp n h thng ỏp ng yờu cu ny, cỏc nỳt AFS s c chia thnh nhúm Nhúm th nht bao gm s tng i ớt cỏc Vice file server, chỳng s c qun tr cỏch trung Nhúm cũn li bao gm lng rt ln cỏc mỏy trm Virtue, a cho cỏc ngi s dng v cỏc tin trỡnh truy cp n h thng file Hỡnh 13 T chc tng th ca AFS Coda cng c t chc ging vi AFS Mi mỏy trm Virtue cú tin trỡnh cp ngi dựng (user-level) thỡ c gi l Venus, vai trũ ca nú tng t nh NFS client m trc õy ta ó xột Mt tin trỡnh Venus cú nhim v cung cp truy cp n cỏc file c trỡ trờn cỏc Vice file server Khụng ging nh NFS, Coda cung cp khụng gian tờn chia s tng th (globally shared name space) c trỡ bi cỏc Vice server Cỏc client truy cp n khụng gian tờn ny bng thmc c bit khụng gian tờn cc b ca chỳng, chng hn nh afs Mi client truy tỡm tờn th mc ny, Venus m bo rng phn thớch hp ca khụng gian tờn chia s c t (mount) sang client Truyn thụng: Vic truyn thụng gia cỏc tin trỡnh Coda c thc hin bng cỏch dựng cỏc RPC Tuy nhiờn, h thng RPC2 dnh cho Coda phc hn nhiu so vi cỏc h thng RPC truyn thng chng hn nh ONC RPC, c dựng bi NFS RPC2 cũn h tr cỏc side effect (tm gi l hiu ng mt) Mt side effect l c ch m bng cỏch ú client v server cú th truyn thụng s dng giao thc ng dng c th (application-specific) Vớ d, client ang m file ti video server iu cn thit trng hp ny ú l thit lp lung d liu liờn tc vi ch truyn ng thi (nh v thi gian) Hay núi cỏch khỏc, d liu truyn t server n client c m bo nm khong ln nht n nht thi gian tr u cui (end-to-end delay) RPC2 cho phộp client v server thit lp kt ni riờng bit truyn d liu video n client kp thi Mt c im khỏc na m RPC2 khỏc so vi cỏc h thng RPC cũn li, ú l nú h tr k thut multicasting Tin trỡnh: Vi Coda thỡ cú s khỏc bit rừ rng gia cỏc tin trỡnh client v tin trỡnh server Tng ng vi client v server ú l cỏc tin trỡnh Venus v Vice C kiu tin trỡnh 33 c t chc bờn nh mt cỏc lung ng thi (concurrent threads) Cỏc lung Coda khụng cú s u tiờn v nú hot ng ton khụng gian ngi s dng nh danh: Coda trỡ h thng tờn tng t nh UNIX Cỏc file c nhúm li vo nhng n v gi l volume Mt volume ging vi phõn vựng a UNIX (tc l h thng file thc s) Volume quan trng bi lý Th nht, chỳng to n v c bn c dựng cu trỳc nờn ton b khụng gian tờn Lý th hai ú l chỳng to n v cho vic lp bờn phớa server Cú mt iu quan trng m ta cn chỳ ý ú l volume t khụng gian tờn chia s c t vo khụng gian tờn ca client, Venus s theo cu trỳc ca khụng gian tờn chia s (shared name space) Cng nh vy, cỏc client c m bo rng cỏc file chia s qu thc cú tờn nh nhau, dự vic phõn gii tờn li da trờn thc thi cc b khụng gian tờn Nh th, ta thy cỏch tip cn ny khỏc c bn so vi NFS 3.3 Cỏc h thng file phõn tỏn khỏc Ngoi h thng file m ta núi trờn, thỡ cũn cú s cỏc h thng file khỏc na Tuy nhiờn, hu ht u ging vi NFS hoc Coda õy ta xột n h thng file khỏc na, ú l Plan 9, XFS, v SFS Trong Plan thỡ mi ti nguyờn u c i x nh mt file Cũn XFS l vớ d in hỡnh ca h thng file khụng cú server (serverless) V cui cựng l SFS- h thng file m ú cỏc tờn file cng cha thụng tin an ton an ninh 3.3.1 Plan - Ti nguyờn thng nht vi file Trong Plan [10], tt c cỏc ti nguyờn u c truy cp theo cựng cỏch, c th ú l cỏc thao tỏc v cỳ phỏp ging file í tng ny c k tha t UNIX, nhiờn nú tt v nht quan hn Plan Mi server a khụng gian tờn phõn cp n cỏc ti nguyờn m nú iu khin Mt client cú th t vo mt khụng gian tờn cc b c a bi server, nh vy vic xõy dng khụng gian tờn riờng ca chớnh nú tng t vi cỏch tip cn NFS cho phộp vic chia s, cỏc phn ca khụng gian tờn ny cng s c chun húa Hỡnh 14.T chc tng quỏt ca Plan Mt h thng Plan bao gm cỏc server cung cp ti nguyờn cho cỏc client di dng khụng gian tờn cc b truy cp n cỏc ti nguyờn ca server, client t khụng gian tờn ca server vo khụng gian tờn ca chớnh nú 34 õy ta chỳ ý rng, Plan s khỏc bit gia client v server khụng thc s quỏ rừ rng Vớ d nh, cỏc server thng hnh ng nh cỏc client, cỏc client li cng cú th xut ti nguyờn ca chỳng sang cho server nh trỡnh by (Hỡnh 14) 3.3.2 XFS - h thng file khụng cú server (serverless) xFS c phỏt trin nh phn ca d ỏn Berkeley NOW õy ta cn chỳ ý l cú h thng file phõn tỏn khỏc hon ton khỏc c gi l XFS (X vit hoa) c phỏt trin cựng thi im vi xFS Sau ny, ta dựng xFS v XFS ch núi n h thng c phỏt trin l phn h thng ca d ỏn NOW Vic thit k m khụng cú server ca XFS l iu khỏ l Ton b h thng file c phõn tỏn qua nhiu mỏy, bao gm cỏc client Hng tip cn ny trỏi ngc vi cỏc h thng file khỏc, thụng thng c t chc theo kiu trung, thm cũn cú nhiu server dựng cho vic phõn tỏn v to bn cỏc file XFS c thit k hot ng trờn mng cc b, ú cỏc mỏy c kt ni vi thụng qua cỏc ng liờn kt tc cao.XFS c thit k vi mc ớch t co dón cao (tc thay i v quy mụ - scalability) v c tớnh chu li cao Trong kin trỳc ca XFS, cú loi tin trỡnh khỏc nhau: - Storage server (lu tr server): l tin trỡnh cú nhim v lu tr cỏc phn ca file Chỳng thc thi dóy (array) cỏc a o tng t nh vic thc thi ca cỏc dóy a di dng RAID - Metadata manager (qun lý siờu dliu): l tin trỡnh cú nhim v lu li vt, ni d liu file tht s c lu - Client: l tin trỡnh chp nhn cỏc yờu cu ca ngi s dng thao tỏc trờn file Mụt nguyờn lý thit k c bn ca XFS ú l bt k mỏy no cng cú th úng vai trũ ca client, manager, server Trong h thng i xng hon ton, mi mỏy s cú c tin trỡnh trờn chy Tuy nhiờn, cng cú th s dng cỏc mỏy dnh chy cỏc tin trỡnh storage server, mỏy khỏc li ch chy tin trỡnh client hoc tin trỡnh manager (Hỡnh 15) Hỡnh 15 Phõn tỏn cỏc tin trỡnh ca XFS qua nhiu mỏy 3.3.3 SFS - an ton an nỡnh cú th thay i, co dón (scalable security) Trong h thng file an ton (Secure File System SFS) [10], nguyờn lý thit k chớnh ú l tỏch riờng vic qun lý ca cỏc khoỏ vi an ton an ninh h thng file Hay núi cỏch khỏc, SFS m bo rng cỏc client khụng th truy cp file m khụng s hu khoỏ mt thớch hp T chc tng th ca SFS c trỡnh by (Hỡnh 16) m bo tớnh di 35 chuyn c qua nhiu mỏy, SFS ó tớch hp nhiu thnh phn NFS phiờn bn khỏc Trờn mỏy client, cú cthy thnh phn, khụng tớnh n chng trỡnh ca ngi s dng NFS client c s dng nh1 giao din n cỏc chng trỡnh ngi s dng, v trao i thụng tin vi SFS client SFS client cú nhim v thit lp kờnh an ton vi SFS server Nú cng cú nhim vgiao tip vi tỏc t ngidựng SFS (SFSuser agent), ú l chng trỡnh t ng x lý xỏc thc ngi s dng Hỡnh 16 T chc ca SFS bờn phớa server cng cú thnh phn Cỏc NFS server giao tip vi SFS server, thao tỏc nh NFS client n NFS server SFS server s to tin trỡnh nhõn (core process) ca SFS Tin trỡnh ny cú nhim v x lý cỏc yờu cu file t cỏc SFS client 3.4 So sỏnh gia cỏc h thng file phõn tỏn 3.4.1 Trit lý ca h thng Mc tiờu ca cỏc h thng file khỏc thỡ thng cng khỏc Nh NFS, thỡ mc ớch ca nú l cung cp h thng cho phộp client truy cp sut n h thng file c lu ti server t xa xỏc nh Vi Coda thỡ khỏc, mc tiờu ca nú l tớnh sn sng cao (high available) Coda tha k mc ớch thit k ca AFS, ú mt iu quan trng ú l tớnh co dón (scalability) Vic kt hp tớnh sn sng cao vi tớnh co dón giỳp phõn bit Coda vi hu ht cỏc h thng file phõn tỏn khỏc Cũn mc ớch chớnh ca Plan l cung cp h thng chia s thi gian (timesharing) phõn tỏn, ú tt c cỏc ti nguyờn c truy cp theo cỏch nh nhau, m c th l nh file Vi XFS thỡ mc ớch ca nú cng khỏ ging vi cỏc h thng file phõn tỏn khỏc, ú l tớnh sn sng cao v tớnh co dón Tuy nhiờn, iu quan trng l t c mc tiờu ny bng h thng m khụng cú server (serverlesss) Mc tiờu ca SFS li l an ton an ninh cú thay i, co dón (scalable security) Nú thc hin mc tiờu ny bng cỏch chia tỏch vic qun lý vi an ton an ninh hthng file v cho phộp ngi dựng bt u dch v SFS ca h m khụng cú s can thip t authority (quyn) trung tõm 3.4.2 Truyn thụng Khi so sỏnh v truyn thụng, thỡ hu ht cỏc h thng file phõn tỏn u da trờn cỏc dng ca RPCs Vi NFS, Coda v SFS thỡ u s dng trc tip h thng RPC c s (underlying RPC system), ụi c ti u thờm x lý cỏc trng hp c bit Plan cng sdng h thng RPC, nhng trờn thc t giao thc ó c bin i i ỏp ng cỏc thao tỏc file ca nú, iu ny lm cho nú khỏc ụi chỳt so vi cỏc giao thc cũn 36 li XFS cng bt u vi h thng RPC x lý, iu khin tt c cỏc truyn thụng Tuy nhiờn bi lý hiu nng v mt s lý khỏc na XFS, m h thng RPC ó c thay th bng cỏc active messages 3.4.3 Tin trỡnh Cỏc h thng khỏc cỏch m client úng vai trũ i vi ton h thng file Vi vic dựng cỏch tchc client-server, NFS phiờn bn 3, hu ht cỏc cụng vic thc s ch c lm bi file server, ú NFS client ch n thun yờu cu cỏc thao tỏc c server tin hnh i vi NFS phiờn bn thỡ cỏc client ó c cho phộp lu tm cỏc file v x lý cỏc thao tỏc cỏch cc b Vi AFS v Coda phớa client ta scú tin trỡnh Venus, m nhim lng ln cụng vic bờn phớa client Ngc li, cỏc nh phỏt trin Plan li c gng gi cho cỏc client n gin n mc cú th Tuy nhiờn tin trỡnh client cng c cho phộp lu tm (caching) cỏc file, nhng h thng lm vic tt nu cỏc b m khụng c dựng gỡ c Cỏc server cng rt khỏc so sỏnh gia cỏc h thng 3.4.4 nh danh Cú hng tip cn cn bn vic t chc khụng gian tờn Hng th nht l mi ngi s dng ly khụng gian tờn riờng ca chớnh h Cỏch ny c dựng NFS v Plan Nhc im ca khụng gian tờn trờn mi ngi dựng nh th ny, ú l khú chia s cỏc file da trờn tờn ca nú V gim bt nhc im ny, cỏc phn ca khụng gian tờn s c chun húa Hng tip cn th l cung cp khụng gian tờn chia stng th, c dựng Coda, xFS v SFS Trong tt c cỏc hthng ny, mi ngi s dng cng cú kh nng gia thờm vo khụng gian tờn tng th khụng gian tờn cc b riờng Vớ d, SFS client s cho phộp ngi s dng to cc b cỏc liờn kt biu trng (symbolic link) Cỏc tờn ny l riờng t vi ngi dựng, v s khụng th thy vi ngi dựng cỏc SFS client khỏc Ngoi ra, cng cú nhiu im khỏc i vi tham chiu file gia cỏc h thng file phõn tỏn 3.4.5 ng b húa NFS cung cp cỏc ng ngha phiờn (session semantics), iu ny cú ngha ch cỏc cp nht ca tin trỡnh cui úng file l c nh bi server Trong Coda, cỏc ng ngha giao tỏc (transactional semantics) c h tr theo hng, ch cỏc phiờn c cho phộp ny mi cú th c tun t húa Tuy nhiờn, thao tỏc b ngt kt ni, cỏc ng ngha ú cú th khụng c m bo, bi th dn n cp nht cỏc xung t cn c gii quyt sau ny Bi cỏc thao tỏc trờn file Plan c bn c xlý bi file server, nờn Plan cung cp cỏc ng ngha UNIX Cỏc ng ngha ny cng c cung cp bi xFS 3.4.6 Lu tm (caching) v nhõn bn (replication) Tt c cỏc h thng m ta ó xột u h tr vic lu tm bờn phớa client Ch cú Plan l mi cỏc thao tỏc ghi c chuyn tc thỡ n server Cỏc h thng khỏc u thc thi cỏc m ghi li (write-back caches), cho phộp client thc hin lot cỏc thao tỏc ghi trờn d liu c lu tm trc y thng vo b m Cỏc h thng file phõn tỏn ny cng h tr vic lp file bi server 3.4.7 Chu li 37 i vi Coda, nú dựng m lu tm v cỏc bn ca nú cú th t c tớnh sn sng cao (high available) Cũn xFS, k thut striping c dựng bo v server n b sp Vic hi phc da trờn client c dựng NFS Theo cỏch ny, server ó b mt thụng tin nú b sp , thỡ cỏc client c phộp khụi phc li cỏc ti nguyờn nh cỏc khúa chng hn XFS thỡ s dng cỏc im kim tra (checkpoint), v cỏc client ghi li nht ký (log) phc v vic phc hi n im m d liu ca manager (b qun lý ) nht quỏn vi thụng tin c lu nht ký 3.4.8 An ton an ninh NFS phiờn bn tỏch bit gia c ch an ton an ninh vi vic thc thi cỏc c ch ny thc thi cỏc kờnh an ton, NFS cung cp giao din chun dng RPCSEC-GSS, bng cỏch ú cỏc h thng an ton an ninh ang tn ti cú th c truy cp NFS phiờn bn cũn cung cp danh sỏch m rng cỏc thao tỏc c dựng cho iu khin truy cp (ACL) Coda v Plan cng cung cp cỏc kờnh truyn an ton, nhng c u thc thi da trờn giao thc xỏc thc Needham-Schroeder Cỏc khúa mt chia s c dựng cỏch tip cn ny Coda cng cú cỏch khỏc vi NFS vic iu khin truy cp Nú ch x lý iu khin truy cp i vi cỏc thao tỏc trờn th mc Vi Plan (v c xFS) thỡ chyu theo hng tip cn UNIX chun, bng cỏch phõn bit cỏc thao tỏc c, ghi, v thc thi SFS cú cỏch riờng ca nú cung cp cỏc kờnh an ton Nú da vo c ch xỏc thc server vi ngi s dng, cú th dựng thờm cỏc tỏc t c bit SFS k tha cỏc c ch iu khin truy cp t NFS phiờn bn Bng tng hp li s so sỏnh gia h thng file phõn tỏn NFS Coda Mc tiờu thit k Truy cp sut Mụ hỡnh truy cp T xa Tớnh sn sng cao Up.Downloa d Truyn thụng RPC RPC c bit Thin.Fat Khụng Mi Client File Server Phiờn File (v4) Ti tiu Truyn thụng tin cy Da vo Client Cỏc c ch ang tn ti Fat Cú Ton cc Ton cc Giao dch File ROWA Nhõn bn l lu tm Thin Khụng Mi tin trỡnh Server UNIX File Khụng Truyn thụng tin cy Khụng c ch NeedhamSchroeder im kim tra v ghi nht ký Khụng ng dn tờn Da trờn Unix Da trờn Unix Tin trỡnh Client Cỏc nhúm Server Khụng gian tờn Phm vi ID file Ng ngha chia s n v lu m Nhõn bn Chu li Hi phc Cỏc kờnh an ton iu khin truy cp Nhiu thao tỏc Khụi phc NeedhamSchroeder Cỏc thao tỏc th mc Plan xFS SFS Tớnh nh H thng khụng Server An ton an tỡnh thay i T xa Log-based T xa Kt lun 38 Thụng ip linh ng Fat Cú Ton cc Ton cc UNIX Khi Striping Striping RPC Va Khụng Ton cc H thng file Khụng c ch Khụng c ch Khụng Truyn thụng tin cy Khụng c ch T chng nhn Da trờn NFS H phõn tỏn l mt h thng cú chc nng v d liu phõn tỏn trờn cỏc trm (mỏy tớnh) c kt ni vi qua mng mỏy tớnh Vic thit k h phõn tỏn phi tuõn theo nguyờn lý m ta ó cp n phn u Trong vic xõy dng cỏc h phõn tỏn, thỡ nhng mụ thc quan trng ca nú ú l cỏc h thng file phõn tỏn Nh ta bit, chia s d liu l nhng chc nng c bn ca h phõn tỏn H thng file phõn tỏn cho phộp nhiu tin trỡnh cựng chia s d liu khong thi gian di cỏch an ton v tin cy trờn ta cng ó xem xột s cỏc h thng file khỏ ph bin nh: NFS, Coda, Plan 9, xFS, SFS Khi phõn tớch cỏc h thng ny, giỳp ta hiu sõu hn v cỏc nguyờn lý ca h phõn tỏn núi chung Tuy ó cú nhiu c gng ca bn thõn, nhng bi s hn ch v kin thc nờn chuyờn cũn nhiu sai sút Em mong mun nhn c nhng ý kin úng gúp t cỏc Thy cụ em hon tt chuyờn ny Tài liệu tham khảo [1] A.S.Tanenbaum, M.V.Steen, Distributed system: principlesand paradigms [2] G.Couloms, J.Dollimore, T.Kinberg, Distributed system: concepts and design [3] Hagit Attiya, Jennifer Welch Distributed Computing: Fundamentals, Simulations, and Advanced Topics, Second Edition John Wiley & Sons, 2004 [4] Valmir C Barbosa An Introduction to Distributed Algorithms MIT Press, 1996 [5] Vijay K Garg Elements of Distributed Computing John Wiley & Sons, 2002 [6] Vijay K Garg Concurrent and Distributed Computing in Java John Wiley & Sons, 2004 [7] Nancy A Lynch Distributed Algorithms Morgan Kaufmann, 1997 [8] Gerard Tel Introduction to Distributed Algorithms, Second Edition Cambridge University Press, 2001 [9] en.wikipedia.org.wiki.Network_File_System_(Sun) [10] courses.washington.edu.css434.students.NFS.ppt 39

Ngày đăng: 31/08/2016, 23:43

Xem thêm: Chuyên đề hệ thống phân tán 25 09 2012

TỪ KHÓA LIÊN QUAN

Mục lục

    1. Tổng quan về hệ phân tán

    1.1. Hệ phân tán là gì?

    1.2. Các đặc trưng cơ bản của hệ phân tán

    2. Các nguyên lý của hệphân tán

    2.1.1. Truyền thông ở mức mạng

    2.1.2. Truyền thông ở mức midleware

    2.1.2.1. Gọi thủ tục từ xa (Remote Procedure Call):

    2.1.2.2 Triệu gọi đối tượng từ xa (Remote Object Invocation):

    2.1.2.3 Truyền thông hướng thông điệp (Message Oriented Communication)

    2.1.2.3 Truyền thông hướng dòng (Stream Oriented Communication)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w