mga uri ng dfs. Isang step-by-step na gabay sa paggamit ng isang distributed file system. Sa pahinang ito

Ang Distributed File System (DFS) ay naka-configure sa Windows 2000 Server operating system ( Control PanelPangangasiwa - DFS Distributed File System) at pinapayagan kang pagsamahin mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer sa isang namespace. Kaya, sa halip na isang network na binubuo ng isang malaking bilang ng mga makina, nakikita ng user ang isang istraktura ng mga lohikal na pangalan na nauugnay sa mga nakabahaging mapagkukunan.

Mga Bentahe ng DFS:

· pagkakataon lohikal na representasyon karaniwang mapagkukunan na matatagpuan sa iba't ibang mga server mga network;

· maginhawang pangangasiwa ng volume – ang isang nakabahaging mapagkukunan na bahagi ng dami ng DFS ay maaaring hindi paganahin nang walang anumang epekto sa iba pang namespace;

Availability ng isang graphical administration tool;

· ang kakayahang ayusin ang mga scheme ng pag-iimbak ng impormasyon na hindi mapagparaya - ang isang lohikal na pangalan ay maaaring tumutugma sa ilang mga kopya ng isang mapagkukunan (mga replika), ang pagkakaroon nito ay malinaw sa gumagamit;

· balanseng pagkarga sa ibinahaging mapagkukunan ng network sa pamamagitan ng pag-uugnay ng isang pangalan ng mapagkukunan sa iba't ibang mga replika ng mapagkukunang ito;

· transparency ng pagsusulatan sa pagitan ng lohikal na representasyon ng data at ang pisikal na lokasyon nito - hindi alam ng mga user ang tungkol sa mga pagbabago sa pisikal na lokasyon ng mapagkukunan;

· pagsasama sa modelo ng seguridad ng Windows 2000 – ginagamit ang mga solong user account;

· intelligent na data caching sa client side;

· kakayahang makipag-ugnayan sa ibang network file system.

Ang pangangailangan na mag-deploy ng isang distributed file system ay maaaring lumitaw kapag mayroong maramihang mga file server sa network o kapag may pangangailangan na magbigay ng maraming user ng patuloy na access sa maramihang mga shared resources.

Ang panimulang punto para sa mga lohikal na pangalan ng puno ng DFS ay ugat distributed file system, upang lumikha kung saan kailangan mong tukuyin ang ilang nakabahaging mapagkukunan na matatagpuan sa server. Ang lahat ng iba pang pangalan ng DFS ay nasa susunod na hierarchical level. Ang mga nakabahaging mapagkukunan sa isang network ng computer sa puno ng DFS ay kinakatawan gamit ang mga lohikal na pangalan na mayroong sumusunod na lugar sa ganap na kwalipikadong pangalan ng mapagkukunan sa network: \\Server_Name \DFS_Logical_Name\ Path\File.



Ang DFS distributed file system ay nagbibigay-daan sa hanggang 32 kahaliling pagbabahagi (replicas) na konektado sa isang solong lohikal na pangalan. Kung ang mga replika ay matatagpuan sa isang partition ng NTFS 5.0 sa isang distributed file system na nilikha sa mga server ng Windows 2000 at isinama sa Active Directory, kung gayon ang awtomatikong pag-synchronize - ang data reconciliation (replication) ay maaaring i-configure para sa kanila. Sa ibang mga kaso, ang replica na negosasyon ay dapat isagawa mano-mano.

Mga Elemento ng Pagsasama ng System

Sa mga distributed computing system o pampublikong computer network, tulad ng Internet, maraming bagay na interesante - tulad ng mga database, printer, fax service server, application, user. Dapat mahanap at magamit ng mga user ang mga bagay na ito. Kailangang pamahalaan ng mga administrator ang paggamit ng mga bagay na ito.

Serbisyong direktoryo

Ang direktoryo ay tinatawag mapagkukunan ng impormasyon, ginagamit upang mag-imbak ng impormasyon tungkol sa mga bagay na kinaiinteresan. Sa mga file system, ang isang direktoryo ay nag-iimbak ng impormasyon tungkol sa mga file.

Ang isang serbisyo ng direktoryo ay naiiba sa isang direktoryo dahil ito ay parehong mapagkukunan ng data at isang serbisyo kung saan maa-access at magagamit ng mga user ang data na iyon.

Maaaring gawin ng isang serbisyo sa direktoryo ang mga sumusunod na gawain:

· Tiyakin ang antas ng seguridad na tinukoy ng mga administrator upang maprotektahan ang data mula sa hindi awtorisadong pag-access.

· Ipamahagi ang direktoryo sa iba't ibang mga computer sa network.

· Gayahin ang direktoryo upang magbigay ng access sa mas maraming user at pagbutihin ang seguridad ng network laban sa mga pagkabigo.

· Hatiin ang direktoryo sa ilang mga seksyon upang payagan ang pag-imbak ng isang malaking bilang ng mga bagay.

Ang serbisyo ng direktoryo ay parehong administrator tool at end user tool. Habang lumalaki ang bilang ng mga bagay sa isang network, tumataas ang kahalagahan ng mga serbisyo sa direktoryo. Ang serbisyo ng direktoryo ay ang axis kung saan umiikot ang isang malaking distributed system.

Aktibong Direktoryo ay isang serbisyo ng direktoryo na kasama sa operating system ng Windows 2000/2003 Server. Ito ay isang malinaw na halimbawa ng pagsasama-sama ng system - pinapalawak nito ang mga kakayahan ng mga dati nang serbisyo sa direktoryo na nakabatay sa Windows at nagdaragdag ng ganap na mga bagong kakayahan.

Ang serbisyo ng direktoryo ng Active Directory ay nagbibigay ng mga kakayahan sa seguridad, pamamahagi, paghahati, at pagtitiklop. Ito ay idinisenyo upang mai-install sa isang sistema ng anumang laki - mula sa isang server na may ilang daang mga bagay hanggang sa isang sistema ng libu-libong mga server na may milyun-milyong mga bagay. Nagbibigay ang Active Directory ng maraming bagong feature upang gawing mas madali ang paghahanap at pamamahala malalaking volume data at makatipid ng oras para sa parehong mga administrator at end user.

Ang serbisyo ng direktoryo ng Active Directory ay lumilikha ng isang namespace kung saan ang pangalan ng isang bagay sa direktoryo ay lumulutas sa mismong bagay.

Bagay ay isang hiwalay na pinangalanang hanay ng mga katangian na kumakatawan sa isang partikular na bagay - halimbawa, isang user, isang printer, isang application.

Mga Katangian naglalaman ng data na naglalarawan sa entity na kinilala ng object ng direktoryo. Ang mga katangian ng user, halimbawa, ay maaaring magsama ng pangalan, apelyido, at email address ng user.

Klase ng bagay tumutukoy sa uri ng impormasyong nilalaman sa Active Directory para sa mga pagkakataon (mga bagay) ng klaseng ito. Samakatuwid, ang bawat bagay ay nabibilang sa hindi bababa sa isang klase ng bagay, na isang pamilya ng mga bagay na may ilang karaniwang katangian.

Scheme Ang serbisyo ng direktoryo ng Active Directory ay ipinatupad bilang isang koleksyon ng mga pagkakataon ng mga klase ng object na naka-imbak sa isang direktoryo. Samakatuwid, ang isang schema ay isang koleksyon (matrix) ng lahat ng mga katangian at klase.

Lalagyan ay katulad ng isang bagay dahil mayroon itong mga katangian at bahagi ng namespace ng serbisyo ng direktoryo ng Active Directory. Ngunit ito, hindi katulad ng isang bagay, ay hindi kumakatawan sa isang bagay na tiyak. Ito ay isang "shell" lamang para sa isang pangkat ng mga bagay at iba pang mga lalagyan.

Termino puno ginamit upang ilarawan ang hierarchy ng mga bagay at lalagyan. Ang mga vertex ng puno ay karaniwang mga bagay. Ang mga node ng puno (mga punto kung saan ang mga sanga ng puno) ay mga lalagyan. Ang isang puno ay nagpapakita ng kaugnayan sa pagitan ng mga bagay o ang landas mula sa isang bagay patungo sa isa pa. Ang isang simpleng direktoryo ay isang lalagyan. Ang isang computer network o domain ay isa ring lalagyan. Ang tuluy-tuloy na subtree ay anumang walang patid na landas sa puno, kasama ang lahat ng bahagi ng bawat lalagyan na kasama sa landas na ito (Larawan 3.5).

Larawan 3.5. Magkadikit na subtree ng direktoryo ng file

Tinutukoy ng pangalan ang anumang object ng serbisyo ng direktoryo ng Active Directory. Mayroong dalawang uri ng mga pangalan: distinguished name at relative distinguished name.

Natatanging pangalan(DN - kilalang pangalan) ay tumutukoy sa domain na naglalaman ng bagay, pati na rin buong landas sa pamamagitan ng hierarchy ng mga lalagyan na humahantong sa bagay na ito. Ang isang karaniwang DN ay maaaring magmukhang:

/O=Internet/DC=COM/DC=Microsoft/CN=Users/CN=James Smith

Kinikilala ng DN na ito ang object ng user na "James Smith" sa domain ng Microsoft.com. Narito ang ibig sabihin ng CN karaniwang pangalan. (Larawan 3.6)

kanin. 3.6. Graphical na representasyon ng kilalang pangalan

Kamag-anak na kilalang pangalan(RDN - Relative Distinguished Name) ng isang bagay ay isang bahagi ng pangalan nito, na isang katangian ng mismong bagay. Sa nakaraang halimbawa, ang RDN ng object ng user na "James Smith" ay magiging CN=James Smith. Ang RDN ng parent object nito ay CN=Users.

Nagbibigay ang serbisyo ng direktoryo ng Active Directory mabisang gawain kumplikadong kapaligiran ng korporasyon, na nagbibigay ng mga sumusunod na kakayahan.

· Single sign-on sa network. Maaaring mag-log on ang mga user sa isang network na may isang username at password at makakuha ng access sa lahat ng mapagkukunan ng network (server, printer, application, file, atbp.) anuman ang kanilang lokasyon sa network.

· Seguridad ng Impormasyon. Ang pagpapatotoo at mga kontrol sa pag-access sa mapagkukunan na binuo sa Active Directory ay nagbibigay ng sentralisadong seguridad sa network. Ang mga karapatan sa pag-access ay maaaring tukuyin hindi lamang para sa bawat object ng direktoryo, kundi pati na rin para sa bawat property (attribute) ng object.

· Sentralisadong pamamahala. Ang mga administrator ay maaaring sentral na pamahalaan ang lahat ng mga mapagkukunan ng kumpanya. Ang mga karaniwang gawain sa pangangasiwa ay hindi kailangang ulitin sa maraming bagay sa network.

· Pamamahala gamit ang mga patakaran ng grupo. Kapag nag-boot ang isang computer o nag-log in ang isang user sa system, natutugunan ang mga kinakailangan sa patakaran ng grupo; ang kanilang mga setting ay naka-store sa Group Policy Objects (GPOs) at "naka-link" sa mga site, domain, o unit ng organisasyon. Tinutukoy ng mga patakaran ng grupo, halimbawa, ang mga karapatan sa pag-access sa iba't ibang mga object o mapagkukunan ng direktoryo, pati na rin ang maraming iba pang "mga panuntunan" para sa pagtatrabaho sa system.

· Flexibility ng pagbabago. Ang serbisyo ng direktoryo ay flexible na sumusunod sa mga pagbabago sa istruktura ng isang kumpanya o organisasyon. Kasabay nito, ang muling pag-aayos ng direktoryo ay hindi nagiging mas kumplikado, at maaari pa ngang pasimplehin. Bilang karagdagan, ang serbisyo ng direktoryo ay maaaring maiugnay sa Internet upang makipag-ugnayan sa mga kasosyo sa negosyo at suportahan ang e-commerce.

· Pagsasama ng DNS. Ang Active Directory ay malapit na nauugnay sa DNS. Nakakamit nito ang pagkakaisa sa pagbibigay ng pangalan sa mga mapagkukunan ng lokal na network at ng pandaigdigang Internet, bilang isang resulta kung saan ang koneksyon ng network ng gumagamit sa Internet ay pinasimple. Ginagamit ng serbisyo ng direktoryo ng Active Directory Sistema ng DNS bilang isang serbisyo sa lokasyon. Ang mga domain name ng Windows 2000/2003 ay mga DNS domain name.

· Pagpapalawig ng direktoryo. Ang mga administrator ay maaaring magdagdag ng mga bagong object class sa catalog schema o magdagdag ng mga bagong attribute sa mga kasalukuyang class.

· Scalability. Ang Active Directory ay maaaring sumasaklaw sa isang domain o maraming domain, isang domain controller o maramihang domain controllers, upang matugunan nito ang mga pangangailangan ng mga network ng anumang laki. Maaaring i-link ang maraming domain sa isang domain tree, at maaaring i-link ang maraming domain tree sa isang kagubatan.

· Pagtitiklop ng impormasyon. Gumagamit ang Active Directory ng replikasyon ng impormasyon ng serbisyo sa isang multi-master scheme, na nagpapahintulot sa direktoryo na mabago sa anumang domain controller. Ang pagkakaroon ng ilang controllers sa isang domain ay nagbibigay ng fault tolerance at ang kakayahang ipamahagi ang network load.

· Kakayahang umangkop sa query ng catalog. Mabilis na makakahanap ang mga user at administrator ng network ng mga bagay sa network gamit ang mga katangian ng object (halimbawa, user name o email address, uri o lokasyon ng printer, atbp.). Ito, sa partikular, ay maaaring gawin gamit ang command Simulan - Maghanap folder Aking kapaligiran ng network o kagamitan Aktibong Direktoryomga gumagamit at mga computer.Nakamit ang pinakamainam na pamamaraan sa paghahanap sa pamamagitan ng paggamit ng isang pandaigdigang katalogo.

· Mga Karaniwang Interface . Para sa mga developer ng application, ang mga serbisyo ng direktoryo ay nagbibigay ng access sa lahat ng mga kakayahan sa direktoryo at sumusuporta sa mga tinatanggap na pamantayan at mga interface ng programming (API). Ang serbisyo ng direktoryo ay mahigpit na pinagsama sa operating system, na nag-iwas sa pagdoble ng functionality ng system, tulad ng seguridad, sa mga application.

Ang mga pangunahing bahagi ng anumang serbisyo sa direktoryo ay isang database na naglalaman kinakailangang impormasyon, at isa o higit pang mga protocol na nagbibigay ng paghahatid ng data sa mga user. Nagbibigay ang Active Directory ng storage para sa anumang impormasyong naa-access ng publiko. Tulad ng ibang mga serbisyo ng direktoryo, ang Active Directory ay nagbibigay ng ilang mekanismo para sa pag-iimbak ng impormasyon at mga protocol para sa pag-access dito.

Masasabi na Aktibong serbisyo Ang direktoryo ay "nakatayo sa tatlong haligi":

Karaniwang X.500

· DNS (Domain Name Service)

· LDAP (Lightweight Directory Access Protocol)

Bahagyang ipinapatupad ng Active Directory ang modelo ng data na inilarawan ng pamantayang X.500. Tradisyonal sa mga TCP/IP network serbisyo ng DNS ginamit, sa partikular, upang maghanap ng mga controller ng domain, at salamat sa LDAP protocol, mahahanap ng mga kliyente ang mga kinakailangang bagay sa Active Directory ayon sa pangalan at ma-access ang kanilang mga katangian.

Upang maunawaan ang istruktura ng Active Directory, tingnan muna natin Mga pagkakaiba sa Windows 2000 mula sa mga nakaraang bersyon Mga operating system ng Windows server. Ang mga Windows 2000 na computer ay nakaayos pa rin sa mga domain. Ang mga domain ay kilalang solusyon para sa pangangasiwa ng grupo, na nagbibigay sa bawat gumagamit ng account sa isang partikular na domain. Gayunpaman, hindi tulad ng Windows NT Server 4.0, kung saan ang mga domain ay binigyan ng mga simpleng string name (NetBIOS names), sa Windows 2000 Server, ang bawat domain ay dapat may pangalan na sumusunod sa mga convention ng pagbibigay ng pangalan. mga domain Name System (DNS). Kaya, kapag nag-a-update ng domain na may pangalan ng NetBIOS na MainOffice, maaari itong makatanggap ng bagong pangalan tulad ng mainoffice.company.com.

Sa bawat domain, dapat kumilos ang isa o higit pang mga computer bilang mga controller ng domain. Sa isang kapaligiran ng Windows 2000 Server, ang bawat controller ng domain ay naglalaman ng kumpletong kopya ng database ng Active Directory ng domain na iyon.

Gumagamit ang Active Directory ng tinatawag na Extended Storage Engine (ESE) at dalawang magkaibang protocol upang paganahin ang komunikasyon sa pagitan ng mga kliyente at ng database.

Para maghanap ng domain controller, gumagamit ang kliyente ng protocol na inilarawan sa DNS, ang "standard" na serbisyo ng direktoryo na kasalukuyang ginagamit para sa mga TCP/IP network.

Upang ma-access ang data sa Active Directory, ginagamit ng kliyente ang Lightweight Directory Access Protocol (LDAP) (Figure 3.7).

Larawan 3.7. Pag-access ng data gamit ang LDAP

Kapag natuklasan ang tamang domain controller gamit ang DNS, ginagamit ang LDAP para i-access ang data ng Active Directory. Gumagana ang LDAP protocol sa ibabaw ng TCP/IP at—gaya ng iminumungkahi ng pangalan ng protocol—tumutukoy kung paano maa-access ng mga kliyente ang isang direktoryo.

Bilang karagdagan sa mekanismo ng pag-access protocol na ito nagpapatupad ng mga kumbensyon para sa pagbibigay ng pangalan sa impormasyon sa catalog, sa tahasan naglalarawan sa istruktura ng impormasyong ito. Para sa kliyente, ang lahat ng data na nakaimbak sa database ng LDAP ay ipinakita bilang isang hierarchical tree. Ang bawat node ng puno (bagay o elemento) ay maaaring maging lalagyan o dahon. Ang pagkakaiba sa pagitan ng dalawa ay medyo halata: ang mga lalagyan ay maaaring maglaman ng iba pang mga elemento, ngunit ang mga dahon ay hindi.

Ang bawat elemento (lalagyan o sheet) ay kumakatawan sa isang object class na tumutukoy sa mga katangian (tinatawag ding mga katangian) ng elementong iyon. Dahil parehong may mga katangian ang mga lalagyan at dahon, ang impormasyong nakaimbak sa puno ng direktoryo ay ipinamamahagi sa lahat ng mga node.

Ang uri ng impormasyon (mga klase ng bagay at mga uri ng katangian) na nilalaman sa isang partikular na database ng Active Directory ay tinutukoy ng schema na tinukoy para sa direktoryong iyon. Sa Aktibo Scheme ng direktoryo Ang bawat direktoryo ay kinakatawan ng mga elemento na direktang nakaimbak sa mismong direktoryo. Tinutukoy ng Microsoft ang isang karaniwang schema, ngunit ang mga user at developer software maaaring magdagdag ng mga bagong klase at uri ng katangian. Ang pagbabago sa schema ng direktoryo ay isang kapaki-pakinabang na tampok na dapat gamitin nang maingat, dahil ang mga pagbabagong ito ay maaaring magkaroon ng napakalaking kahihinatnan.

Sa ngayon, mahirap sorpresahin ang sinumang may mga branched network na may mga kumplikadong topologies at ang pagkakaroon ng mga remote at mobile na opisina. Para sa isang tagapangasiwa, ang pag-aayos ng anumang serbisyo sa ganitong mga kondisyon ay hindi isang madaling gawain. Ngunit hindi namin dapat kalimutan ang tungkol sa aming mga gumagamit - sa kasong ito kailangan nilang makipagtulungan isang malaking bilang magkakaibang mga aparato at mapagkukunan na matatagpuan sa iba't ibang mga computer at network server, nang naaayon, ang paghahanap ng kinakailangang impormasyon ay maaaring maging lubhang mahirap.

nagbibigay-daan sa iyo upang malutas ang problemang ito. Tingnan natin nang eksakto kung paano.

Layunin at kakayahan ng DFS (Ibinahagi ang File System DFS Naipamahagi File System ) ay lumitaw bilang karaniwang bahagi nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin DFS nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin, hindi kailangang mag-alala ng user tungkol sa aktwal na lokasyon ng file. Kapag nakipag-ugnayan sa kanya ang isang kliyente, ililipat lang siya sa direktoryo na kailangan niya. Ang pinagmulan kung saan ang mga link point ay maaaring maging anumang operating system na ang mga mapagkukunan ay maaaring ma-access gamit ang UNC (Windows, Linux, xBSD, NetWare). Mga pisikal na bagay na naka-link sa pamamagitan ng mga link sa , ay tinatawag na target mga bagay (target) o mga replika

Ngunit ang kaginhawahan para sa mga gumagamit at mga administrator ay malayo hindi ang pinakamahalaga sa mga pangunahing bentahe ng DFS. Ang katotohanan ay ang isang lohikal na pangalan ay maaaring iugnay sa ilang mga nakabahaging mapagkukunan na nag-iimbak ng magkaparehong impormasyon. Ang nasabing koleksyon ng mga alternatibong nakabahaging mapagkukunan na nauugnay sa isang solong lohikal na pangalan nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin, ay tinatawag na replica set. At kung ang mga nakabahaging mapagkukunan ay nasa parehong domain root space nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin at matatagpuan sa mga server ng Win2k o Win2k3, posibleng i-configure ang awtomatikong pag-synchronize ng impormasyon sa pagitan nila. Ang gumagamit na nakipag-ugnayan nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin, kadalasang nagre-redirect sa pinakamalapit na replica, at kung hindi ito available, magre-redirect ito sa isang alternatibong mapagkukunan. Para bawasan ang load sa server nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin sa panig ng kliyente, ang data ay naka-cache, kaya kung madalas mong i-access ang parehong mapagkukunan, bawat kahilingan sa nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin ay hindi ginawa. Kaya, awtomatiko pagpapareserba mahalagang impormasyon , ipinatupad sa DFS, pinapataas din ang fault tolerance ng buong system (ang pagkabigo ng isang server o disk device ay hindi makakaapekto sa gawain ng mga user). Bagama't dapat itong tandaan nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin ay hindi nilikha upang gumana sa madalas na na-update na data, at lalo na para sa mga kaso kapag ang file ay maaaring i-update nang sabay-sabay sa ilang mga lugar (sa nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin nananatili ang bersyon ng file kung saan ginawa ang mga huling pagbabago).

Sa pagpapatupad DFS sa Win2k Posibleng maglagay lamang ng isang namespace sa Win2k3 ay maaaring marami na sa kanila. Sa Win2k3 R2 ay lumitaw bagong bersyon ang sistemang ito - Mga Namespace ng DFS, kung saan maraming isyu ang nalutas na. Responsable para sa pagtitiklop ng data sa Win2k3 SP1 at SP2 FRS (File Replication Server), sa Win2k3 R2 – DFS Replicatio n. Ang kanilang pangunahing pagkakaiba ay sa FRS ang pinakamaliit na bagay na gagawin ay isang file, in Pagtitiklop ng DFS mas advanced na teknolohiya ang ginagamit RDC (Remote Differential Compression), na maaaring kopyahin lamang ang mga binagong bahagi ng file, at ang cross-file function RDC naglalagay ng mas kaunting load sa channel kapag kumukopya ng mga bagong file. Kaya gamit nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin Binabawasan din nito ang pagkarga sa network, na lalong mahalaga para sa mga malalayong opisina na may hindi sapat na bandwidth. Sa serbisyo nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin walang karagdagang mga hakbang sa seguridad ang ginagamit. Kapag nag-a-access ng mga target, tanging ang mga karapatan sa pag-access ng file system at ang mga pahintulot na itinakda para sa mga bagay na ito sa direktoryo ng Active Directory ang sinusuri.

Ang iba't ibang mga ugat na ito

Ang panimulang punto para sa lahat ng mga pangalan ng puno nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin nagsisilbing ugat ng distributed file system. Sa katunayan, ang ugat ay ilang nakabahaging mapagkukunan na matatagpuan sa server, lahat ng iba pa Mga lohikal na pangalan ng DFS system ikokonekta bilang susunod na hierarchical level. Nag-ugat sa nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin Maaaring may dalawang uri, bawat isa ay magkakaiba sa mga paraan at kakayahan sa pag-iimbak ng data. Isolated (autonomous) root ( Nakapag-iisang DFS) ay hindi nauugnay sa Active Directory, at lahat ng mga link sa mga mapagkukunan ng network ay naka-imbak sa registry ng server mismo nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin. Ang ugat na ito ay hindi gumagamit Pagtitiklop ng DFS, ibig sabihin, hindi ito nagsasangkot ng pagdoble ng impormasyon sa ibang mga mapagkukunan, at samakatuwid ay hindi nagbibigay ng pagpapahintulot sa kasalanan. Sa kaso ng pagkabigo Mga server ng DFS ang buong hierarchy ay nagiging hindi magagamit, bagama't ang mga user ay maaaring direktang mag-access ng mga mapagkukunan. nga pala, ilang Standalone DFS server may kakayahang tumakbo sa isang kumpol, kaya ang problemang ito ay malulutas. Kung ang server nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin ay isang miyembro ng isang domain, ang domain root ay ginagamit ( DFS na nakabatay sa domain). Sa pagpipiliang ito, maaari mong ikonekta ang ilang mga replika at gamitin Pagtitiklop ng DFS para sa pagtitiklop ng parehong ugat mismo at mga link nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin. Kung nasa DFS na nakabatay sa domain Ang mga ugat ay matatagpuan sa mga computer na nagpapatakbo ng Win2k at Win2k3, kung gayon ang naturang ugat ay tinatawag na " Mixed mode na domain na DFS“.

Gamit ang domain nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin lahat ng impormasyon ng namespace ay matatagpuan sa domain controller, na pana-panahong ina-access ng server nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin. Isinasaalang-alang ang pag-synchronize sa pagitan DFS sa isang domain na nagiging mas kumplikado sa tuwing nagbabago ang istraktura, ang mga query na ito ay maaaring maging isang bottleneck sa system, kaya may ilang mga limitasyon din sa kasong ito. Kaya sa Win2k mayroong limitasyon ng 16 na mga ugat para sa isang namespace. Sa Win2k3 ang paghihigpit na ito ay tinanggal, dahil ang server nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin maaari na ngayong ma-access ang anumang DC, hindi lamang ang PDC emulator. Ang pangalawang limitasyon ng mga ugat ng domain ay dahil sa ang katunayan na ang buong istraktura ay naka-imbak sa isang espesyal na bagay, na kailangan ding i-duplicate sa lahat ng mga DC para sa anumang kaunting pagbabago sa istraktura nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin. Inirerekomenda ng dokumentasyon na limitahan ang maximum na laki ng bagay sa 5 MB, na humigit-kumulang tumutugma sa 5000 link (mga direktoryo). Ang halagang ito ay nakasalalay sa maraming mga parameter, ang haba ng pangalan ng link, ang presensya at laki ng mga komento, na naka-imbak din sa bagay na ito. Ngunit sa karaniwan nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin bihirang lumampas sa 50-100 mga link, at pagkatapos paunang setup ito ay nananatiling higit na static, na nangangahulugang hindi ito madalas na madodoble, at ang mga limitasyong ito ay hindi maaaring makamit. Sa pamamagitan ng paraan, sa hinaharap Windows 2008 Ang 5,000 na limitasyon sa link ay inalis na, ngunit para magawa ito ang lahat ng mga server ay dapat na nagpapatakbo ng Longhorn. Para sa Ang standalone na limitasyon ng link na inirerekomenda ng DFS isang order ng magnitude na mas mataas at katumbas ng 50,000 mga link.

Pagse-set up ng DFS

Halimbawa, i-configure natin nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin sa isang computer na nagpapatakbo ng Win2k3 na may SP2, ang lahat ng mga setting sa SP1 ay magkatulad. Sa mga setting nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin Mayroong ilang mga pagkakaiba sa R2 at Win2k, ngunit hindi masyadong pandaigdigan na hindi mo maisip ito sa iyong sarili. Ang lahat ng pamamahala ng distributed file system ay isinasagawa sa gitna gamit ang MMC snap-in Layunin at kakayahan ng DFS“, na maaaring ma-access sa tab na “Administration” ng Windows Control Panel. Sa tulong nito maaari kang lumikha at magtanggal ng mga ugat, kumonekta sa anumang mga ugat nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin. Maginhawa na maraming mga ugat ang maaaring ipakita sa isang tab nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin. Sa kaso ng root na gumagana sa " Mixed mode na domain na DFS", iyon ay, kapag ang mga replika at ugat nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin na matatagpuan sa mga computer na nagpapatakbo ng iba't ibang bersyon ng Windows, pamamahala nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin dapat gawin mula sa isang computer na nagpapatakbo ng Win2k3. Bilang kahalili, maaari mong i-install ang package Pangangasiwa ng Win2k3 Tools Pack (adminpak.msi), na malayang magagamit sa website ng korporasyon. Sa kasong ito, ang mga computer na may WinXP ay maaaring gamitin para sa pamamahala. Ang impormasyon sa package na ito ay matatagpuan sa support.microsoft.com/kb/304718. Bilang karagdagan, upang magtrabaho kasama nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin Maaari mo ring gamitin ang command line utilities dfscmd.exe at dfsutil.exe. Ang huli ay may higit pang mga tampok, ngunit hindi kasama sa operating system bilang default upang magamit ito, dapat mong i-install ang Win2k3 Support Tools package. Pakitandaan na upang matagumpay na mai-install ang Support Tools, kailangan mong mag-download ng dalawang file: suptools.msi at support.cab.

Upang lumikha ng bagong ugat, tawagan ang snap-in, mag-click sa pamagat at piliin ang "Bagong Root" sa menu ng konteksto, maaari kang pumili ng katulad na item sa menu na "Action". Lumilitaw ang Bagong Root Wizard, sundin ang mga senyas nito. Sa ikalawang hakbang, piliin ang uri ng root na gagawin (domain o isolated), tukuyin ang host domain at server. Pagkatapos suriin ang koneksyon sa napiling server, ipasok ang root name. Bigyang-pansin kung ano ang magiging hitsura ng landas ng UNC patungo sa bagong ugat, bilang default na \\server\nameshare. Dahil kasalukuyang walang nakabahaging direktoryo, ang susunod na hakbang ay ang pumili ng lokal na direktoryo na gagamitin bilang nakabahaging direktoryo. Ang direktoryo na ito ay hindi naglalaman ng totoong data, ito ay naglalaman ng mga link na tumuturo sa pisikal na lokasyon datos. Gumagawa ang wizard ng mga mapagkukunan na nababasa at naisasagawa ng mga miyembro ng pangkat ng Mga User. Dapat ayusin ang mga pahintulot kung kinakailangan. Ngayon i-click ang pindutan ng Tapusin, ang bagong ugat ay lilitaw sa console window. Kung ang server ay nagpapatakbo ng Win2k3, gumagawa kami ng iba pang mga ugat sa parehong paraan. Gamit ang Check Status command, na tinatawag mula sa console menu o context menu, maaari mong suriin ang status ng replica. Ipapahiwatig ang katayuan sa column ng parehong pangalan at lalabas ang isang bilog na may marka sa tabi ng pangalan. Kung ito ay berde, kung gayon ang lahat ay maayos. Upang suriin, maaari kang pumunta sa tinukoy na UNC o gamitin ito sa lokal na kompyuter command na “net share” o “net view computer_name” mula sa remote. Ipapakita ang command na "dfsutil /Root:\\server\share /View". impormasyon tungkol sa DFS.

>dfsutil /Root:\\server.com\first /View
DFS Utility Bersyon 5.2 (itinayo noong 5.2.3790.3959)
Domain Root na may 0 Link
Pangalan ng Root="\\SERVER\first" Comment="first Root" State="1" Timeout="300"
Target Server="GRINDERS" Folder="first" State="2"

Kapag nalikha na ang ugat, maaari mo itong i-publish sa Active Directory. Upang gawin ito, piliin ang Properties sa menu ng konteksto, pumunta sa tab na Pag-publish at lagyan ng check ang checkbox na "I-publish ang ugat na ito sa Active Directory". Ang mga ugat ng domain ay awtomatikong na-publish at walang kabiguan.

Paglikha ng Link

Pagkatapos gawin ang ugat, maaari mong simulan ang pagkonekta ng mga nakabahaging mapagkukunan. Upang gawin ito, sa parehong menu ng konteksto, piliin ang Bagong Link. Sa window na lilitaw " Bagong link”, sa field na “Pangalan ng link,” ipasok ang pangalan ng link kung saan ito magiging available sa DFS, pagkatapos ay sa ibaba lamang ng UNC path patungo sa target na direktoryo (dapat mayroon na). Upang maghanap ng mga ibinahaging mapagkukunan, maaari mong gamitin ang pindutang Mag-browse, sa ibaba mo lamang mababago ang oras ng pag-cache ng link na ito para sa mga kliyente nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin(default 1800 sec). Kapag tapos na, i-click ang OK. Dapat ipakita ng command na "dfsutil /view" ang status ng lahat ng konektadong link at ang mga katangian ng mga ito. Kung maraming server na tumatakbo sa network, posibleng magdagdag ng replika na tumuturo sa isang kahaliling link. Ang isang replica sa isang ugat o isang hiwalay na bagay ay nilikha sa parehong paraan, tanging sa unang kaso pipiliin namin ang item na "Lumikha ng root target na folder" sa menu ng konteksto, at sa pangalawang kaso - "Lumikha ng folder".

Ang mga nakabahaging mapagkukunan kung saan isasagawa ang pagtitiklop ay dapat na matatagpuan sa mga partisyon na may NTFS file system sa mga computer na nagpapatakbo ng mga bersyon ng server ng Windows mula 2000 (mas mabuti 2003). Sa field na "Path to target shared folder" ng window na lilitaw, ilagay o gamitin ang Browse button upang isaad ang isang shared resource na matatagpuan sa isa pang computer. Kung plano mong gumamit ng mga alternatibong programa upang i-synchronize ang impormasyon sa pagitan ng mga mapagkukunang ito (o ang pag-synchronize ay gagawin nang manu-mano), dapat mong alisan ng check ang checkbox na "Idagdag ang target na ito sa set ng replikasyon". I-click ang OK at lalabas ang Configure Replication Wizard, na tutulong sa iyong pumili ng master replica at replication topology. Sa unang hakbang, tinukoy namin ang direktoryo na gagamitin bilang pangunahing destinasyon; Ang huli ay dapat na walang laman; kung mayroong mga file sa loob nito, sila ay makokopya sa isang pansamantalang direktoryo at pagkatapos ay tatanggalin. Kung sa ilang kadahilanan ang ibinahaging mapagkukunan ay hindi angkop para sa pagtitiklop (halimbawa, hindi ito matatagpuan sa isang partisyon ng NTFS), ito ay mamarkahan ng isang pulang krus kapag sinubukan mong magpatuloy sa susunod na hakbang, ipo-prompt ka ng wizard upang tukuyin ang isa pang link o tapusin ang trabaho.

Sa pamamagitan ng pagpindot sa " Pansamantalang imbakan” (Staging Folder) maaari mong baguhin ang lokasyon ng direktoryo na gagamitin para sa pansamantalang pag-iimbak ng kinokopyang data. Bilang default, ang direktoryong ito ay inilalagay sa ibang partition mula sa isa kung saan nauugnay ang bahagi nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin. Susunod, ipo-prompt ka ng wizard na pumili ng topology ng pagtitiklop. Kakailanganin mong tukuyin ang isa sa mga sumusunod na opsyon:

  • singsing- lahat ng mga replika ay nagpapalitan ng impormasyon sa dalawang magkalapit;
  • Star (Hub at nagsalita)- nagpapahiwatig ng pangunahing link kung saan ang lahat ng iba pang mga replika ay magpapalitan ng impormasyon;
  • Full mesh (Mesh)- lahat ng mga replika ay nagpapalitan sa isa't isa;
  • Espesyal (Custom)- mamaya ang administrator ay independiyenteng i-configure ang pagtitiklop para sa bawat pares ng mga server.

Ang topology ng ring ay ang default at angkop para sa karamihan ng mga kaso. Sa isip, ang napiling replication topology ay dapat tumugma sa disenyo ng network. Halimbawa, kung mayroong isang sentral na tanggapan kung saan matatagpuan ang mga pangunahing mapagkukunan, at maraming mga sangay ang konektado sa kanila kung kinakailangan, kung gayon sa kasong ito ang Star scheme ay mas angkop. Kung wala sa mga preset ang angkop, dapat kang sumangguni sa Espesyal na item.

Pagkatapos mong gumawa ng replica para sa isang link, magbabago ang kaukulang icon nito sa snap-in window. Dalawang bagong item ang lalabas din sa menu ng konteksto: Ipakita/Itago ang status ng pagtitiklop at Ihinto ang pagtitiklop. Ang field ng replication status ay maaaring magkaroon ng isa sa tatlong resulta. Kung ang proseso ng pagtitiklop ay nakumpleto nang normal, ang mga icon ay magkakaroon ng mga berdeng checkmark. Ang isang pulang krus sa icon ng replika ay magsasaad na ito ay kasalukuyang hindi magagamit sa patlang ng Katayuan, ang label ay magiging Offline. Kung ilang replika lang ang hindi available sa link na iyong sinusuri, may lalabas na dilaw na tandang padamdam sa icon.

Bago tanggalin ang isa sa mga kahaliling replika, kailangan mo munang huwag paganahin ang pagtitiklop. Kapag nagpapatuloy ang pagtitiklop, sasalubungin ka ng parehong master. Kung ang server ay isang domain controller, magkasama kasama ang lahat ng data ng DFS gagayahin din ang mga nilalaman ng dami ng SYSVOL. Samakatuwid, dapat tandaan na hanggang sa maganap ang kumpletong pagtitiklop ng lahat ng mga replika, simulan ang anumang mga pagbabago sa pagsasaayos nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin napaka-peligro, maaari nitong guluhin ang buong domain.

Kung ang napiling opsyon sa replication topology ay hindi angkop sa ilang kadahilanan, ang replication topology ay madaling mabago sa ibang pagkakataon sa pamamagitan ng pagpili sa property window ng kaukulang link at pagpunta sa Replication tab. May iilan pa dito kapaki-pakinabang na mga setting. Bilang default, patuloy na tumatakbo ang pagtitiklop sa pamamagitan ng pag-click sa pindutan ng Iskedyul, maaari mong baguhin ang iskedyul ng pagtitiklop para sa lahat ng koneksyon. Nasa ibaba lamang ang mga filter para sa mga file at subfolder na hindi gagayahin. Upang gawin ito, i-click ang I-edit at ilagay ang mga template ng file o subdirectory.

Upang pilitin ang pagkopya ng impormasyong nakaimbak sa isang partikular na server, maaari mong gamitin ang NtfrsUtl.exe utility, na kasama sa package Mga Tool sa Suporta. Ang utos ay simple: "ntfrsutl poll /now server.com". Upang makita ang nakatakdang mga agwat ng oras kung saan nangyayari ang pagtitiklop, ilagay ang “ntfrsutl poll”. Ang lahat ng mga pag-install ay magagamit gamit ang command na "ntfrsutl sets server.com".

Sa window ng properties nakabahaging mapagkukunan ipinakita sa serbisyo nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin, lalabas ang isa pang tab - nasa Win2k pa rin. Ang layunin nito ay gawing mas madali ang pamamahala, pag-access at paghahanap ng data sa network. Upang gawin ito, ang mga mapagkukunan ng file na matatagpuan sa iba't ibang mga computer ay pinagsama sa isang solong lohikal na namespace. Ang user, sa halip na alalahanin ang mga pangalan ng lahat ng network share (Universal Naming Convention (UNC), gaya ng \\Server\Folder, ay magre-refer sa isang UNC namespace na pinagsasama ang lahat ng server at share sa network. At kung saan partikular na computer matatagpuan ang hiniling na file ay isang alalahanin. Sa pamamagitan ng pagbubukas nito, makikita ng user kung aling mga pampublikong folder ang nauugnay sa link na ito, tingnan ang katayuan ng replika, at piliin ang aktibong replika kung saan siya unang ire-redirect.

Para sa kontrol, dapat na madalas na tingnan ng administrator ang log ng “Administration – Event Viewer – File Replication Service,” kung saan makakahanap ka ng impormasyon tungkol sa lahat ng kaganapang nagaganap sa serbisyo ng FRS.

Dalawang pangunahing layunin.

Transparency ng network.
Ang pinakamahalagang layunin ay magbigay ng parehong mga kakayahan para sa pag-access ng mga file na ipinamahagi sa isang network ng mga computer na ibinibigay sa mga sistema ng pagbabahagi ng oras sa mga sentralisadong computer.

Mataas na kakayahang magamit.
Ang isa pang mahalagang layunin ay upang matiyak ang mataas na kakayahang magamit. Ang mga error sa system o pagkopya at pagpapatakbo ng pagpapanatili ay hindi dapat magresulta sa pagiging hindi magagamit ng mga file.

Ang konsepto ng file service at file server .

Serbisyo ng file ay kung ano ang ibinibigay ng file system sa mga kliyente nito, i.e. interface sa file system.
File server ay ang proseso na nagpapatupad ng serbisyo ng file.

Hindi kailangang malaman ng user kung gaano karaming mga file server ang mayroon o kung saan sila matatagpuan.

Dahil ang isang file server ay karaniwang isang regular na proseso ng user, maaaring mayroong iba't ibang mga file server sa system na nagbibigay ng iba't ibang mga serbisyo (halimbawa, UNIX file service at MS-DOS file service).

5.1 Arkitektura ng mga distributed file system

Ang isang distributed system ay karaniwang may dalawang makabuluhang magkaibang bahagi - ang file service mismo at ang directory service.

5.1.1 File server interface

Para sa anumang file system, ang unang pangunahing tanong ay kung ano ang isang file. Sa maraming mga sistema, tulad ng UNIX at MS-DOS, ang isang file ay hindi binibigyang kahulugan ang pagkakasunod-sunod ng mga byte. Sa marami Sa mga sentralisadong computer (IBM/370), ang isang file ay kinakatawan ng isang pagkakasunud-sunod ng mga talaan na maaaring tukuyin ng numero nito o ng mga nilalaman ng isang partikular na field (key). Dahil ang karamihan sa mga distributed system ay batay sa UNIX at MS-DOS na kapaligiran, ginagamit nila ang unang bersyon ng konsepto ng file.

Maaaring mayroon ang file mga katangian(impormasyon tungkol sa file na hindi bahagi nito). Ang mga karaniwang katangian ay may-ari, laki, petsa ng paggawa, at mga pahintulot.

Ang isang mahalagang aspeto ng modelo ng file ay kung magagawa ng mga file mabago pagkatapos ng paglikha. Kadalasan maaari nila, ngunit may mga system na may hindi nababagong mga file. Ang ganitong mga file ay nagpapalaya sa mga developer mula sa maraming mga problema kapag nag-cache at nagpaparami.

Proteksyon ay ibinibigay ng parehong mga mekanismo tulad ng sa mga single-processor na computer - mga utos at listahan ng mga karapatan sa pag-access. Ang mandato ay isang uri ng tiket na ibinibigay sa user para sa bawat file na nagsasaad ng mga karapatan sa pag-access. Ang listahan ng mga karapatan sa pag-access ay tumutukoy para sa bawat file ng isang listahan ng mga user na may kanilang mga karapatan. Ang pinakasimpleng scheme na may mga karapatan sa pag-access ay ang UNIX scheme, na nakikilala ang tatlong uri ng pag-access (basahin, isulat, isakatuparan), at tatlong uri ng mga gumagamit (may-ari, mga miyembro ng kanyang grupo, at iba pa).

Ang isang file service ay maaaring batay sa isa sa dalawang modelo - ang naglo-load/nagbabawas at mga modelo malayuang pag-access. Sa unang kaso, ang file ay inilipat sa pagitan ng kliyente (memorya o mga disk) at ng server sa kabuuan, at sa pangalawa, ang serbisyo ng file ay nagbibigay ng maraming mga operasyon (pagbubukas, pagsasara, pagbabasa at pagsulat ng bahagi ng file, paglilipat ng pointer, pagsuri at pagbabago ng mga katangian, atbp.). Ang unang diskarte ay nangangailangan ng malaking halaga ng memorya sa kliyente at mga gastos para sa paglipat ng mga hindi kinakailangang bahagi ng file. Sa pangalawang diskarte, ang file system ay nagpapatakbo sa server ang kliyente ay maaaring walang mga disk o isang malaking halaga ng memorya.

5.1.2 Direktoryo ng interface ng server

Nagbibigay ng mga operasyon para sa paglikha at pagtanggal ng mga direktoryo, pagpapangalan at pagpapalit ng pangalan ng mga file, paglipat ng mga file mula sa isang direktoryo patungo sa isa pa.

Tinutukoy ang alpabeto at syntax ng mga pangalan. Para sa pagtutukoy uri impormasyon sa file, bahagi ng pangalan (extension) o isang tahasang katangian ay ginagamit.

Ang lahat ng mga distributed system ay nagbibigay-daan sa mga direktoryo na maglaman ng mga subdirectory - tinatawag ang naturang file system hierarchical . Binibigyang-daan ka ng ilang system na lumikha ng mga pointer o link sa mga di-makatwirang direktoryo na maaaring ilagay sa loob ng isang direktoryo. Sa kasong ito, posible na bumuo ng hindi lamang mga puno, kundi pati na rin ang mga di-makatwirang mga graph (ang pagkakaiba sa pagitan ng mga ito ay napakahalaga para sa mga distributed system, dahil sa kaso ng isang graph, ang pag-alis ng koneksyon ay maaaring humantong sa paglitaw ng mga hindi maabot na mga subtree. Ito ay ay napakahirap tuklasin ang mga naturang subtree sa mga distributed system).

Ang isang pangunahing desisyon kapag nagdidisenyo ng isang distributed file system ay kung ang mga makina (o mga proseso) ay dapat makita ang hierarchy ng direktoryo sa parehong paraan. Ang malapit na nauugnay sa solusyon na ito ay ang pagkakaroon ng isang root directory (maaari kang magkaroon ng ganoong direktoryo na may mga subdirectory para sa bawat server).

Pagpangalan sa transparency.
Dalawang anyo ng transparency ng pagbibigay ng pangalan ang nakikilala - ang transparency ng lokasyon (/server/d1/f1) at transparency ng paglipat (kung saan ang pagpapalit ng lokasyon ng isang file ay hindi nangangailangan ng pagpapalit ng pangalan).

    Mayroong tatlong paraan ng pagbibigay ng pangalan:

  • kotse + landas;
  • pag-mount ng mga malayuang sistema ng file sa isang lokal na hierarchy ng file;
  • ang tanging namespace na mukhang pareho sa lahat ng machine.
Ang huling diskarte ay kinakailangan upang makamit ang hitsura ng isang distributed system bilang isang solong computer, ngunit ito ay kumplikado at nangangailangan ng maingat na disenyo.

Dalawang antas na pagpapangalan.
Karamihan sa mga system ay gumagamit ng ilang anyo ng dalawang antas na pagpapangalan. Ang mga file (at iba pang mga bagay) ay may mga simbolikong pangalan para sa mga user, ngunit maaari ding magkaroon ng mga panloob na binary na pangalan para gamitin ng system mismo. Halimbawa, sa operasyon upang buksan ang isang file, ang gumagamit ay tumutukoy ng isang simbolikong pangalan, at bilang tugon ay tumatanggap ng isang binary na pangalan, na ginagamit niya sa lahat ng iba pang mga operasyon sa file na ito.

machine na may server, o ang network address ng server, pati na rin ang file number.

Bilang tugon sa isang simbolikong pangalan, ang ilang mga sistema ay maaaring magbalik ng maraming binary na pangalan (para sa file at mga duplicate nito), na nagpapabuti sa pagiging maaasahan ng pagtatrabaho sa file.

5.1.3 Mga semantika ng paghihiwalay ng file
UNIX semantics

Ang natural na semantika ng isang single-processor na computer ay kung ang isang write operation ay sinusundan ng isang read, ang resulta ay tinutukoy ng huli sa mga nakaraang write operations. Sa isang distributed system, ang mga naturang semantika ay madaling makamit lamang kapag mayroong isang file server at ang mga kliyente ay walang mga cache. Sa pagkakaroon ng mga cache, ang mga semantika ay nilabag. Kinakailangan na agad na ipakita ang lahat ng mga pagbabago sa mga cache sa mga file, o upang baguhin ang mga semantika ng paghahati ng file. Mga Hindi Nababagong File
- isang napaka-radikal na diskarte sa pagbabago ng semantika ng paghihiwalay ng file. Dalawang operasyon lamang - lumikha at magbasa. Maaari mong palitan ang luma ng isang bagong file - i.e. maaari kang magpalit ng mga direktoryo. Kung binabasa ng isang proseso ang isang file at pinapalitan ito ng isa pa, maaari mong payagan ang unang proseso na tapusin ang paggawa sa lumang file habang ang ibang mga proseso ay maaari nang gumana sa bago. Semantics ng session

Ang mga pagbabago sa isang bukas na file ay makikita lamang ng proseso (o makina) na gumagawa ng mga pagbabagong ito, at pagkatapos lamang isara ang file ay makikita ang mga ito ng iba pang mga proseso (o mga makina). Ano ang mangyayari kung gumagana ang dalawang proseso sa parehong file sa parehong oras - matutukoy ang resulta ng prosesong huling nagsara ng file, o maaari lamang sabihin na isa sa dalawang bersyon ng file ang magiging kasalukuyang isa.
Ang isang proseso ay naglalabas ng isang TRANSACTION START na operasyon, na nagpapahiwatig na ang mga kasunod na operasyon ay dapat magpatuloy nang walang interbensyon ng iba pang mga proseso. Pagkatapos ay maglalabas ng sequence ng reads and writes, na nagtatapos sa END OF TRANSACTION operation. Kung magsisimula ang ilang mga transaksyon sa parehong oras, ginagarantiyahan ng system na ang resulta ay magiging pareho kung ang mga transaksyon ay naisakatuparan nang sunud-sunod (sa isang hindi tiyak na pagkakasunud-sunod). Ang isang halimbawa ay ang mga operasyon sa pagbabangko.

5.2 Pagpapatupad ng mga distributed file system

Ang mga tinalakay sa itaas na aspeto ng mga distributed file system na nakikita ng user. Ang mga aspeto ng pagpapatupad ay tinalakay sa ibaba.

5.2.1 Paggamit ng mga file

Sa pagsisimula ng pagpapatupad, napakahalagang maunawaan kung paano gagamitin ang system. Narito ang mga resulta ng ilang pag-aaral sa paggamit ng mga file (static at dynamic) sa mga unibersidad. Napakahalaga na masuri ang pagiging kinatawan ng data na pinag-aaralan.

  • Karamihan sa mga file ay mas mababa sa 10K ang laki (dapat i-download nang buo).
  • ang pagbabasa ay mas karaniwan kaysa sa pagsusulat (caching).
  • Ang mga pagbabasa at pagsusulat ay sunud-sunod, ang random na pag-access ay bihira (pag-cache sa unahan, basahin nang may headroom, pop pagkatapos ng pagsulat ay dapat na nakagrupo).
  • karamihan sa mga file ay may maikling buhay (lumikha ng file sa kliyente at panatilihin ito doon hanggang sa masira).
  • ilang mga file ang ibinabahagi (caching sa client at session semantics).
  • Mayroong iba't ibang mga klase ng mga file na may iba't ibang mga katangian (ang sistema ay dapat magkaroon ng iba't ibang mga mekanismo para sa iba't ibang mga klase).

5.2.2 Istraktura ng system

meron ba pagkakaiba sa pagitan ng mga kliyente at server? Mayroong mga system kung saan ang lahat ng mga makina ay may parehong software at anumang makina ay maaaring magbigay ng isang file service. May mga system kung saan ang mga server ay mga ordinaryong proseso ng user at maaaring i-configure upang tumakbo sa parehong makina bilang mga kliyente o sa iba't ibang mga. May mga system kung saan ang mga kliyente at server ay sa panimula ay magkaibang mga makina sa mga tuntunin ng hardware o software (nangangailangan ng iba't ibang mga operating system, halimbawa).

Pangalawang tanong- kung ang file server at direktoryo ng server ay dapat na magkahiwalay na mga server o pinagsama sa isang server. Binibigyang-daan ka ng partitioning na magkaroon ng iba't ibang directory server (UNIX, MS-DOS) at isang file server. Nagbibigay-daan sa iyo ang pagsasama-sama na bawasan ang mga gastos sa komunikasyon.

Sa kaso ng paghihiwalay ng server at kung mayroon iba't ibang mga server mga direktoryo para sa iba't ibang mga subtree, lumitaw ang sumusunod na problema. Kung ang unang tinawag na server ay nag-a-access sa lahat ng mga kasunod, pagkatapos ay lumitaw ang malalaking gastos sa komunikasyon. Kung ipapasa ng unang server ang natitirang pangalan sa pangalawa, at iyon sa pangatlo, atbp., hindi nito pinapayagan ang paggamit ng RPC.

Ang isang posibleng solusyon ay ang paggamit ng hint cache. Gayunpaman, sa kasong ito, kung ang kliyente ay nakatanggap ng hindi napapanahong binary name mula sa direktoryo ng server, dapat itong maging handa na tanggihan ng file server at makipag-ugnayan muli sa direktoryo ng server (ang kliyente ay maaaring hindi ang end user!).

Huling mahalagang tanong- kung ang mga server ay dapat mag-imbak ng impormasyon tungkol sa mga kliyente.

Mga stateful server. Mga kalamangan.

  • Mas maiikling mensahe (ginagamit ng mga binary name ang open files table).
  • mas mataas na kahusayan (ang impormasyon tungkol sa mga bukas na file ay maaaring maimbak sa RAM).
  • ang mga bloke ng impormasyon ay maaaring basahin nang maaga.
  • Mas madaling i-verify ang bisa ng isang kahilingan kung mayroong estado (halimbawa, pag-iimbak ng numero ng huling kahilingan).
  • posible ang isang operasyon sa pagkuha ng file.

Mga Stateless Server . Mga kalamangan.

  • pagpaparaya sa pagkakamali.
  • walang OPEN/CLOSE operation na kailangan.
  • walang kinakailangang memorya para sa mga talahanayan.
  • Walang mga paghihigpit sa bilang ng mga bukas na file.
  • walang problema kung nag-crash ang kliyente.

5.2.3 Pag-cache

Sa isang client-server system na may memorya at mga disk, mayroong apat na potensyal na lugar upang mag-imbak ng mga file o bahagi ng mga ito.

Una, ang pag-iimbak ng mga file sa mga server disk. Walang problema sa pagkakaugnay dahil may isang kopya ng file. Pangunahing problema- kahusayan, dahil ang pakikipagpalitan sa isang file ay nangangailangan ng paglipat ng impormasyon sa parehong direksyon at pakikipagpalitan sa disk.

Pag-cache sa memorya ng server. Dalawang problema ang paglalagay ng buong mga file o mga bloke ng disk sa cache, at kung paano itulak ang mga ito palabas ng cache.

Nananatili ang mga gastos sa komunikasyon.

Ang pag-cache sa makina ng kliyente ay nagbibigay-daan sa iyong alisin ang mga komunikasyon.

Ang Client disk caching ay maaaring hindi magbigay ng anumang benepisyo sa server memory caching, at ang pagiging kumplikado ay tumataas nang malaki.

Samakatuwid, tingnan natin ang pag-aayos ng caching sa memorya ng kliyente.

  • pag-cache sa bawat proseso. (Mabuti kung ang isang proseso ay aktibong gumagana sa file - paulit-ulit na pagbubukas at pagsasara ng file, pagbabasa at pagsulat, halimbawa sa kaso ng isang proseso ng database).
  • pag-cache sa kernel. (Overhead ng pag-access sa kernel).
  • cache manager bilang isang hiwalay na proseso. (Ang kernel ay naalis sa mga function ng filesystem, ngunit mahirap gamitin ang memorya nang mahusay sa antas ng user, lalo na sa virtual memory. Ang mga page commit ay posible upang maiwasan ang disk swap.)
Ang pagpili ng isang paraan o iba ay maaari lamang masuri sa pamamagitan ng pagsasaalang-alang sa likas na katangian ng mga aplikasyon at data sa pagganap ng mga processor, memorya, disk at network.
    Pagkakaugnay ng cache.
Write-through na algorithm.
Ang pangangailangang suriin kung ang impormasyon sa cache ay luma na. Ang pagsusulat ay nagdudulot ng mga gastos sa komunikasyon (MS-DOS).

Tamad magsulat ng algorithm.
Sa mga regular na pagitan, ang lahat ng binagong bloke ay isinusulat sa isang file. Ang kahusayan ay mas mataas, ngunit ang mga semantika ay hindi malinaw sa gumagamit (UNIX).

Algorithm para sa pagsulat sa isang file kapag isinasara ang isang file .
Nagpapatupad ng session semantics. Ito ay hindi gaanong mas masahol kaysa sa kaso kung saan ang dalawang proseso sa parehong computer ay nagbukas ng isang file, basahin ito, baguhin ito sa kanilang memorya, at isulat muli sa file.

Sentralisadong algorithm ng kontrol .
Maaari itong pangasiwaan ang UNIX semantics, ngunit ito ay hindi mahusay, hindi mapagkakatiwalaan, at hindi mahusay na sukat.

5.2.4 Pagpaparami

Ang system ay maaaring magbigay ng isang serbisyo tulad ng pagpapanatili ng maraming kopya ng mga tinukoy na file sa iba't ibang mga server. Pangunahing layunin:
  1. Dagdagan ang pagiging maaasahan.
  2. Dagdagan ang kakayahang magamit (ang pagkabigo ng isang server ay hindi nagiging sanhi ng hindi naa-access ng mga dobleng file.
  3. Ipamahagi ang load sa ilang mga server.
  4. Tahasang pagpaparami (opaque). Bilang tugon sa pagbubukas ng isang file, binibigyan ang user ng maraming binary na pangalan na dapat niyang gamitin upang tahasan ang pagdoble ng mga pagpapatakbo ng file.
  5. Tamad na pagpaparami. Ang isang kopya ay nilikha sa isang server, at pagkatapos ay awtomatiko itong lumilikha (sa libreng oras) karagdagang mga kopya at tinitiyak ang kanilang pagpapanatili.
  6. Symmetrical reproduction. Ang lahat ng mga operasyon ay sabay-sabay na tinatawag sa maramihang mga server at pinaandar nang sabay-sabay.
Mga protocol ng pagwawasto.
Ang simpleng pagpapadala ng mga mensahe na may operasyon sa pagwawasto para sa bawat kopya ay hindi isang napakahusay na solusyon, dahil sa kaso ng mga aksidente ang ilang mga kopya ay maaaring manatiling hindi naitama. Mayroong dalawang mga algorithm na lumulutas sa problemang ito.
  1. Paraan ng pagpaparami ng pangunahing kopya. Ang isang server ay idineklara na master, at ang iba ay mga alipin. Ang lahat ng mga pagbabago sa file ay ipinadala sa pangunahing server. Itinatama muna nito ang lokal na kopya nito at pagkatapos ay nagpapadala ng mga tagubilin sa pagwawasto sa mga downstream na server. Maaaring basahin ng anumang server ang file. Upang maprotektahan laban sa pagbagsak ng pangunahing server bago makumpleto ang lahat ng pagwawasto, bago maitama ang pangunahing kopya, iniimbak ng pangunahing server ang gawain sa pagwawasto sa stable na memorya. Kahinaan - ang pagkabigo ng pangunahing server ay hindi nagpapahintulot ng mga pagwawasto.
  2. Paraan ng pagboto. Ang ideya ay humiling ng pagbabasa at pagsulat ng isang file mula sa maraming mga server (pagsusulat mula sa lahat!). Ang isang kahilingan ay maaaring maaprubahan ng kalahati ng mga server kasama ang isa. Sa kasong ito, dapat mayroong kasunduan tungkol sa kasalukuyang numero ng bersyon ng file. Ang bilang na ito ay tumataas ng isa sa bawat pagwawasto ng file. Maaari kang gumamit ng iba't ibang halaga para sa read quorum (Nr) at isulat ang quorum (Nw). Sa kasong ito, dapat masiyahan ang kaugnayan Nr+Nw>N. Dahil ang pagbabasa ay higit pa madalas na operasyon, kung gayon natural na kunin ang Nr=1. Gayunpaman, sa kasong ito, ang lahat ng mga server ay kakailanganin para sa isang recording quorum.

5.2.5 Halimbawa: Sun Microsystems Network File System (NFS)

Orihinal na ipinatupad ng Sun Microsystem noong 1985 para magamit sa mga workstation na nakabatay sa UNIX. Kasalukuyang sinusuportahan din ng ibang mga kumpanya para sa UNIX at iba pang mga operating system (kabilang ang MS-DOS). Ang mga sumusunod na aspeto ng NFS ay kawili-wili - arkitektura, mga protocol at pagpapatupad. Arkitektura ng NFS. Binibigyang-daan kang magkaroon ng isang arbitrary na hanay ng mga kliyente at server sa mga arbitrary na computer sa isang lokal o malakihang network.

Ang bawat server ay nag-e-export ng isang tiyak na bilang ng mga direktoryo nito para ma-access ng mga malalayong kliyente. Sa kasong ito, ang mga direktoryo kasama ang lahat ng kanilang mga subdirectory ay na-export, i.e. talagang mga subtree. Ang listahan ng mga na-export na direktoryo ay naka-imbak sa espesyal na file, na nagbibigay-daan sa iyong awtomatikong i-export ang mga ito kapag nag-boot ang server.

Ang kliyente ay nakakakuha ng access sa mga na-export na direktoryo sa pamamagitan ng pag-mount sa kanila. Kung ang kliyente ay walang mga disk, maaari itong mag-mount ng mga direktoryo sa root directory nito.

Kung maraming kliyente ang nag-mount sa parehong direktoryo nang sabay-sabay, maaari silang magbahagi ng mga file sa nakabahaging direktoryo nang walang anumang karagdagang pagsisikap. Ang pagiging simple ay ang kabutihan ng NFS. Mga protocol ng NFS. Dahil ang isa sa mga layunin ng NFS ay suportahan ang mga heterogenous system, ang mga kliyente at server ay maaaring tumakbo sa iba't ibang mga computer na may iba't ibang arkitektura at iba't ibang OS. Samakatuwid, kinakailangan na magkaroon ng mahigpit na mga protocol para sa kanilang pakikipag-ugnayan. Ang NFS ay may dalawang ganoong protocol.
Sinusuportahan ng unang protocol pag-mount . Ang kliyente ay maaaring magpadala sa server ng isang kwalipikadong pangalan ng direktoryo (pathname) at humingi ng pahintulot na i-mount ito. Kung saan i-mount ng kliyente ang direktoryo ay hindi mahalaga sa server at samakatuwid ay hindi naiulat dito. Kung ang path ay tinukoy nang tama at ang direktoryo ay tinukoy bilang na-export, pagkatapos ay ibabalik ng server ang direktoryo ng descriptor sa kliyente. Naglalaman ang descriptor ng mga field na natatanging tumutukoy sa uri ng computer, disk, i-vertex number (konsepto ng UNIX OS) para sa isang partikular na direktoryo, pati na rin ang impormasyon tungkol sa mga karapatan sa pag-access dito. Ang hawakan na ito ay ginagamit ng kliyente sa mga susunod na operasyon ng direktoryo.

Maraming mga kliyente ang awtomatikong nag-mount ng mga kinakailangang remote na direktoryo sa pagsisimula (gamit ang UNIX shell command procedure).

Ang bersyon ng UNIX OS na binuo ng Sun (Solaris) ay may sariling espesyal na mode awtomatikong pag-mount. Ang bawat lokal na direktoryo ay maaaring magkaroon ng maraming malayuang direktoryo na nauugnay dito. Kapag ang isang file ay binuksan na wala sa lokal na direktoryo, ang OS ay nagpapadala ng mga kahilingan sa lahat ng mga server (na nagmamay-ari ng mga tinukoy na direktoryo). Kung sino ang unang sumagot ay ipapa-mount ang kanyang direktoryo. Tinitiyak ng diskarteng ito ang pagiging maaasahan at kahusayan (ang mga mas malaya ay tutugon nang mas maaga). Ipinapalagay nito na ang lahat ng mga alternatibong direktoryo ay magkapareho. Dahil hindi sinusuportahan ng NFS ang pagpaparami ng mga file o direktoryo, ang awtomatikong mounting mode na ito ay pangunahing ginagamit para sa mga direktoryo na may mga program code o iba pang mga file na bihirang baguhin.

Ang pangalawang protocol ay para sa pag-access ng mga direktoryo at mga file. Ang mga kliyente ay nagpapadala ng mga mensahe upang manipulahin ang mga direktoryo at magbasa at magsulat ng mga file. Maaari kang makakuha ng mga katangian ng file. Karamihan sa mga UNIX OS system call ay sinusuportahan, hindi kasama ang OPEN at CLOSE. Upang makakuha ng isang file descriptor sa pamamagitan ng simbolikong pangalan nito, ang LOOKUP na operasyon ay ginagamit, na naiiba sa pagbubukas ng isang file na walang mga panloob na talahanayan na nilikha. Kaya, ang mga server sa NFS ay stateless. Samakatuwid, ang isang espesyal na mekanismo ay ginagamit upang makuha ang file.

Ginagamit ng NFS ang mekanismo ng seguridad ng UNIX. Sa mga unang bersyon, lahat ng kahilingan ay naglalaman ng identifier ng user at ng kanyang grupo (upang suriin ang mga karapatan sa pag-access). Ang ilang taon ng pagpapatakbo ng system ay nagpakita ng kahinaan ng diskarteng ito. Ginagamit na ngayon ang isang pampublikong key cryptographic na mekanismo upang i-verify ang pagiging lehitimo ng bawat kahilingan at tugon. Hindi naka-encrypt ang data.

Ang lahat ng mga key na ginagamit para sa access control ay sinusuportahan ng isang espesyal na serbisyo (at mga server) - network serbisyo ng impormasyon(NIS). Sa pamamagitan ng pag-iimbak ng mga pares (key, value), tinitiyak ng serbisyo na ibabalik ang halaga ng code kapag nakumpirma nang tama ang mga susi. Bukod pa rito, nagbibigay ito ng pagpapakita ng mga pangalan ng makina sa kanilang mga address ng network, at iba pang mga display. Gumagamit ang mga server ng NIS ng master-slave scheme para ipatupad ang propagation (lazy propagation). Pagpapatupad ng NFS(XDR - External Data Representation)

Ang layunin ng virtual file system layer ay upang mapanatili, para sa bawat bukas na file, ang isang hilera sa talahanayan (v-vertex), katulad ng UNIX i-vertex. Ang linyang ito ay nagpapahintulot sa iyo na makilala mga lokal na file mula sa mga malalayo. Para sa mga malayuang file, lahat ng kinakailangang impormasyon ay naka-imbak sa isang espesyal na r-vertex sa NFS client, na tinutukoy ng v-vertex. Ang server ay walang anumang mga talahanayan.

Paglipat ng impormasyon sa pagitan ng kliyente at NFS server ginawa sa 8K bloke (para sa kahusayan).

Dalawang cache - isang data cache at isang file attribute cache (madalas silang na-access; ang mga developer ng NFS ay nag-assume ng isang pagtatantya na 90%). Ipinatupad ang lazy write semantics, isang paksa ng kritisismo para sa NFS.

Mayroon ding hint cache upang mapabilis ang pagkuha ng v-vertex sa pamamagitan ng simbolikong pangalan. Kapag gumagamit ng legacy na pahiwatig, makikipag-ugnayan ang kliyente ng NFS sa server ng NFS at i-update ang cache nito (hindi kailangang malaman ng user ang anumang bagay tungkol dito).

Laboratory ng Parallel Information Technologies, Research Computing Center MSU

Isang file system na may hindi nababasag na format ng pag-record ng file. Ginamit sa mga personal na computer BC sa mga operating system na MKDOS, AO-DOS, NORD, MicroDOS, NORTON-BC, PascalDOS, atbp. Sinusuportahan ang read-only sa ANDOS. Madalas na sinusuportahan ng iba't ibang operating system ang iba't ibang pagbabago na hindi palaging ganap na tugma.
  1. Isang advanced na journaling file system na magagamit para sa pamilya ng AmigaOS ng mga operating system, pati na rin ang MorphOS at AROS. Ang isa sa mga tampok ng system na ito ay ang kakayahang mag-defragment kahit na nagtatrabaho sa mga file. Mga Tala - Martin Marshall.<…>“Intel-Architecture Unix: Still a Moving Target” (English) // InfoWorld. - 1989. - P. 64.
  2. “Ang bagong release ng SCO ay nagdaragdag din ng mabilis na file system na idinisenyo ng Acer Counterpoint
  3. Ayon sa tagapamahala ng produkto ng SCO Xenix na si Bill Brothers, ang pagganap ng Acer Fast File System ay maaaring kasing taas ng 600 hanggang 800 kilobytes bawat segundo, kumpara sa humigit-kumulang 100 kilobytes bawat segundo para sa karaniwang mga format ng Unix file. .
  4. 1.3 release na nakumpirma noong Setyembre 16, 1988 ni Carolyn Scheppner ng CATS sa amiga.dev sa . Kopya ng BIX announcement mula sa USENET
  5. (hindi natukoy) Unang ipinakilala sa NTFS 3.0 Ayon sa tagapamahala ng produkto ng SCO Xenix na si Bill Brothers, ang pagganap ng Acer Fast File System ay maaaring kasing taas ng 600 hanggang 800 kilobytes bawat segundo, kumpara sa humigit-kumulang 100 kilobytes bawat segundo para sa karaniwang mga format ng Unix file. . Rob Radez. 2.4.15-pangwakas
  6. Linux kernel mailing list (Nobyembre 23, 2001). Nakuha noong Nobyembre 30, 2010. Na-archive noong Agosto 26, 2011. Ang Pagtutol ng Microsoft sa Motion ng Datel para sa Bahagyang Buod ng Paghuhukom (PDF file sa website ng Electronic Frontier Foundation) - «
  7. Ang FatX ay isang hindi nai-publish, pagmamay-ari na format na hindi nababasa gamit ang mga karaniwang tool na available sa isang Macintosh, Windows, o Linux na computer. ", maraming teksto ang nakapinta. Ayon sa tagapamahala ng produkto ng SCO Xenix na si Bill Brothers, ang pagganap ng Acer Fast File System ay maaaring kasing taas ng 600 hanggang 800 kilobytes bawat segundo, kumpara sa humigit-kumulang 100 kilobytes bawat segundo para sa karaniwang mga format ng Unix file. Sergey Ptashnick.
  8. "Ang code para sa Next3 ay bukas - isang file system para sa Linux na may suporta para sa mga snapshot ng FS" Ayon sa tagapamahala ng produkto ng SCO Xenix na si Bill Brothers, ang pagganap ng Acer Fast File System ay maaaring kasing taas ng 600 hanggang 800 kilobytes bawat segundo, kumpara sa humigit-kumulang 100 kilobytes bawat segundo para sa karaniwang mga format ng Unix file. . (09 Hunyo 2010). Nakuha noong Pebrero 17, 2011. Na-archive noong Agosto 26, 2011.
  9. ReFS file system mula sa loob Inilabas. R.Lab (Marso 16, 2012). Sininop mula sa orihinal noong Mayo 31, 2012.
  10. "Btrfs at Squashfs pinagsama sa Linux kernel"
  11. (Ingles) (Enero 10, 2009). Nakuha noong Enero 4, 2011. Na-archive noong Agosto 26, 2011. Ayon sa tagapamahala ng produkto ng SCO Xenix na si Bill Brothers, ang pagganap ng Acer Fast File System ay maaaring kasing taas ng 600 hanggang 800 kilobytes bawat segundo, kumpara sa humigit-kumulang 100 kilobytes bawat segundo para sa karaniwang mga format ng Unix file. Tulong - IBM AIX Compiler VERITAS Foundation Suite at Foundation Suite HA 3.5

(hindi available na link)[ | ]

Ang solid state media, tulad ng mga flash drive, ay katulad sa kanilang data interface sa mga regular na hard drive, ngunit may sariling mga problema at disadvantages. Bagama't ang oras ng pagkuha ng data ay halos nababawasan sa zero, ang mga espesyal na algorithm ay kinakailangan upang ma-optimize ang pag-record at pagtanggal ng data, halimbawa.

Write-oriented na mga file system[ | ]

Ang mga file ay iniimbak bilang isang koleksyon ng mga talaan (sa halip na isang hindi nakaayos na koleksyon ng mga byte). Ang ganitong mga file system ay pangunahing nauugnay sa mas lumang mainframe at minicomputer operating system. Ang mga programa ay nagbabasa at nagsusulat ng mga buong tala, sa halip na mga byte na nakasulat, sa isang partikular na pagkakasunud-sunod; Ang ganitong paraan ng pagtatrabaho sa mga file ay makikita sa mga I/O na pahayag sa mga mas lumang bersyon ng FORTRAN na wika.

Mga sistema ng file para sa imbakan ng network[ | ]

File system para sa mga shared disk (kilala rin bilang File system para sa network (shared) storage (SAN file system) o clustered file system) ay pangunahing ginagamit sa network-attached storage, kung saan ang lahat ng node sa network ay may direktang access sa block storage device kung saan matatagpuan ang file system. Ang ganitong mga file system ay gumagana kahit na nabigo ang isa sa mga node. Ang mga file system na ito ay karaniwang ginagamit sa mga high availability cluster kasama ng hardware RAID. Ang network-attached storage file system ay karaniwang hindi lumalawak nang higit sa 64 o 128 node.

Maaari silang maging simetriko, kapag ipinamahagi ang metadata sa pagitan ng mga node, o walang simetriko, na may mga sentralisadong imbakan ng metadata.

  • (XFS para sa Cluster) ay isang file system na nagpapalawak ng XFS para magamit sa isang network na may mga SGI server. Ang saklaw ng aplikasyon ay tipikal para sa mga solusyon sa Silicon Graphics - pag-edit ng video, pagproseso ng mga array ng video.
  • mula sa EMC. Magagamit para sa AIX, HP-UX, IRIX, Solaris at Windows operating system. Asymmetrical.
  • (Ingles)- distributed file system na binuo ng IBM
  • Ang Files-11 ay isang file system para sa mga VMS cluster, na inilabas ng DEC noong 1983, ngayon ay isang kumpanya. Symmetrical.
  • (GFS) ay isang kumpanya ng Red Hat. Inilabas sa Linux sa ilalim ng lisensya ng GNU GPL. Symmetrical () at asymmetrical ().
  • (CFS) (TruCluster) - kumpanya. Magagamit para sa Tru64 UNIX.
  • - kumpanya. Magagamit para sa Windows. Symmetrical.
  • - file system mula sa kumpanya. Magagamit sa Linux at Solaris. Asymmetrical.
  • OCFS - Oracle Cluster File System, isang cluster file system mula sa Oracle. Lisensya ng GNU GPL. Symmetrical
  • (PSFS) - kumpanya - ginagamit sa kanilang, na nakatutok sa pag-export sa mga kliyente sa pamamagitan ng CIFS o NFS, katulad ng Microsoft SQL Server at Oracle 9i RAC at 10g. Magagamit sa Linux at Windows. Symmetrical.
  • (Ingles) mula sa. Asymmetrical. Available sa AIX, HP-UX, IRIX, Linux, Mac OS, Solaris at Windows. Tugma sa Xsan.
  • QFS, nilikha ng Sun Microsystems. Available sa Linux (lamang bahagi ng kliyente) at Solaris (ganap). Asymmetrical.
  • (CFS) - binuo ng Symantec. Available sa AIX, HP-UX, Linux at Solaris. Asymmetrical.
  • Ang Xsan ay isang cluster file system na nilikha ng Apple Computer, Inc. Asymmetrical, available sa Mac OS. Katugma sa.
  • - binuo ng VMware/EMC Corporation. Magagamit sa VMware ESX Server. Symmetrical.

Ibinahagi ang mga file system[ | ]

Ang mga distributed file system ay kilala rin bilang network file system.

  • Andrew File System (AFS) ay scalable at lokasyon-independent, may malakas na cache client at gumagamit ng Kerberos para sa awtorisasyon. Gumagamit ang iba't ibang pagpapatupad ng mga orihinal na bahagi mula sa IBM (dating), Arla at OpenAFS.
  • - malayang magagamit na server at kliyente na may suporta sa AFS
  • Apple Filing Protocol (AFP) - FS mula sa Apple Computer. Maaaring gamitin ng AFP ang Kerberos protocol para sa pagpapatunay.
  • Ang CIFS ay isang distributed file system batay sa SMB na may suporta para sa mga karapatan at lock ng UNIX, habang gumagamit ng mga pangalan ng DNS machine, hindi NetBIOS, hindi tulad ng SMB.
  • (/DFS) - Ang FS mula sa IBM (dating) ay katulad ng AFS at ganap na sumusunod sa POSIX at mga pamantayan ng system mataas na kakayahang magamit. Available para sa AIX at Solaris OS sa ilalim ng pagmamay-ari na lisensya.
  • NetWare Core Protocol (NCP) - FS mula sa Novell. Ginagamit sa mga network na nakabatay sa NetWare.
  • Ang Network File System (NFS), na orihinal na mula sa Sun Microsystems, ay isa na ngayong pamantayan sa mga network na tulad ng UNIX. Maaaring gamitin ng NFS ang Kerberos protocol para sa pagpapatunay at cache ng kliyente.
  • (Remote File Sharing - pagbabahagi ng malalayong file) - isang network file system para lang sa UNIX System V, simula sa Release 3. Gumagamit ng TLI transport layer interface protocol.
  • (Ingles)- Isang File System, isang ganap na naka-journal na ipinamamahaging file system na binuo ni. Binibigyang-daan kang mag-imbak ng higit sa 150 TB ng data.
  • - bukas na pagpapatupad ng distributed file system AFS.
  • (SFS), isang pandaigdigang network file system na idinisenyo para sa secure na pag-access sa mga file sa iba't ibang administrative domain.
  • Server Message Block (SMB) - orihinal na binuo ng IBM (karamihan pangkalahatang bersyon mabigat na binago ng Microsoft) ay isang pamantayan sa mga network na nakabatay sa Windows. Ang SMB ay kilala rin bilang Karaniwang Internet File System (CIFS)- Karaniwang File System sa Internet. Maaaring gamitin ng SMB ang Kerberos protocol para sa pagpapatunay.
  • - distributed file system para sa OS Plan 9 at Inferno.

Failure-proof na ipinamahagi parallel file system[ | ]

Ibinahagi ang mga file system, na parallel at fail-safe, paghahati at pagkopya ng data sa maraming server para sa mataas na pagganap at integridad ng data. Kahit na nabigo ang server, hindi nawawala ang data. Ang mga file system na ito ay ginagamit sa high-speed computing at high-availability clusters.

Ang lahat ng mga file system na nakalista dito ay nakatuon sa mataas na kakayahang magamit, scalability, at mataas na pagganap maliban kung iba ang nabanggit.

  • Ang Ceph ay isang libreng ipinamahagi na file system na maaaring magamit sa mga system na binubuo ng ilang mga makina o libu-libong mga node. Hindi nangangailangan ng anumang espesyal na suporta mula sa kernel. Maaaring tumakbo sa ibabaw ng mga block device, sa loob ng isang file, o gamit ang isang umiiral nang file system.
  • Ang Coda ay isang file system na nilikha sa Carnegie Mellon University at naglalayon sa mga operasyong umaangkop sa bandwidth ng channel (kabilang ang mga mode operations). Gumagamit ng client-side cache para sa mga mobile na computer. Ang FS na ito ay isang inapo ng AFS-2 at available para sa Linux sa ilalim ng lisensya ng GNU GPL.
  • - FS mula sa mga kumpanya ng Fermilab at DESY. Ay libreng software (ngunit hindi libreng software) software dahil sa mga paghihigpit sa paglilisensya).
  • - ipinamahagi ang FS mula sa. Dumating bilang bahagi ng solusyon sa Linux NAS na tumatakbo sa Intel hardware, na naghahatid ng NFS v2/v3, SMB/CIFS at AFP para sa Microsoft Windows, Mac Os, Linux at iba pang mga kliyente ng UNIX. Magagamit sa ilalim ng isang pagmamay-ari na lisensya.
  • - FS gamit

Pr0grammer Oktubre 29, 2009 sa 01:31

Naipamahagi na file system GFS (Google File System)

  • Pagbuo ng website

Sa kasalukuyan, sa paglaki ng impormasyon, lumilitaw ang mga problema sa pag-iimbak at pagproseso ng napakalaking halaga ng data. Samakatuwid, ang data na ito ay pinoproseso sa ilang mga server nang sabay-sabay, na bumubuo ng mga kumpol. Upang gawing simple ang pagtatrabaho sa data sa mga kumpol, ang mga distributed file system ay binuo. Susuriin natin ang isang halimbawa ng isang distributed file system Google File System, ginagamit ng kumpanya Google. (Ang artikulo ay, sa katunayan, isang libre at pinaikling pagsasalin ng orihinal na artikulo).

GFS ay marahil ang pinakasikat na distributed file system. Ang maaasahan at nasusukat na imbakan ng data ay mahalaga para sa anumang application na gumagana sa data na kasing laki ng lahat ng mga dokumento sa Internet. GFS ay ang pangunahing plataporma para sa pag-iimbak ng impormasyon sa Google. GFS- isang malaking distributed file system na may kakayahang mag-imbak at magproseso ng malaking halaga ng impormasyon.
GFS ay binuo batay sa mga sumusunod na pamantayan:

  • Ang sistema ay binuo mula sa isang malaking halaga ng ordinaryong murang kagamitan, na kadalasang nabigo. Dapat mayroong pagsubaybay sa mga pagkabigo, at ang kakayahang ibalik ang paggana ng system sa kaganapan ng pagkabigo ng anumang kagamitan.
  • Ang sistema ay dapat mag-imbak ng maraming malalaking file. Bilang isang patakaran, ilang milyong mga file, bawat 100 MB o higit pa. Madalas mo ring kailangang harapin ang mga multi-gigabyte na file, na kailangan ding maimbak nang mahusay. Ang mga maliliit na file ay dapat ding naka-imbak, ngunit ang system ay hindi na-optimize para sa kanila.
  • Kadalasan, mayroong dalawang uri ng mga pagbabasa: pagbabasa ng malaking sunud-sunod na piraso ng data at pagbabasa ng maliit na halaga ng random na data. Kapag nagbabasa ng malaking stream ng data, karaniwan nang humiling ng fragment na 1MB o mas malaki. Ang ganitong mga sunud-sunod na operasyon mula sa parehong kliyente ay madalas na nagbabasa ng magkakasunod na mga chunks ng parehong file. Ang pagbabasa ay hindi malaking sukat ang data, bilang panuntunan, ay may dami ng ilang kilobytes. Ang mga application na kritikal sa oras ay dapat makaipon ng isang tiyak na bilang ng mga naturang kahilingan at pag-uri-uriin ang mga ito sa pamamagitan ng offset mula sa simula ng file. Maiiwasan nito ang pagala-gala kapag nagbabasa.
  • Kadalasan mayroong mga operasyon ng pagsulat ng isang malaking sunud-sunod na piraso ng data na kailangang idugtong sa isang file. Karaniwan, ang dami ng data na isusulat ay kapareho ng pagkakasunud-sunod ng para sa pagbabasa. Ang mga pagsusulat ng maliliit na volume, ngunit sa mga di-makatwirang lugar sa file, ay karaniwang hindi gumaganap nang mahusay.
  • Dapat ipatupad ng system ang mahigpit na tinukoy na semantika magkatulad na gawain ilang mga kliyente, kung sabay-sabay nilang subukang magdagdag ng data sa parehong file. Sa kasong ito, maaaring mangyari na daan-daang kahilingang sumulat sa isang file nang sabay-sabay. Upang makayanan ito, ang atomicity ng mga operasyon ng pagdaragdag ng data sa isang file ay ginagamit, na may ilang pag-synchronize. Iyon ay, kung dumating ang isang read operation, ito ay isasagawa bago ang susunod na write operation o pagkatapos.
  • Mas mainam ang mataas na throughput kaysa sa mababang latency. Kaya, karamihan sa mga application sa Google ay nagbibigay ng kagustuhan sa pagtatrabaho sa malaking halaga ng data, mataas na bilis, at ang pagpapatupad ng iisang read and write operation, sa pangkalahatan, ay maaaring palawigin.
Ang mga file sa GFS ay nakaayos ayon sa hierarchy gamit ang mga direktoryo, tulad ng sa anumang iba pang file system, at kinikilala sa pamamagitan ng kanilang landas. Maaari mong gawin ang mga karaniwang operasyon sa mga file sa GFS: lumikha, magtanggal, magbukas, magsara, magbasa at magsulat.
Bukod dito, sinusuportahan ng GFS ang mga backup, o mga snapshot. Maaari kang lumikha ng mga naturang backup para sa mga file o mga puno ng direktoryo, at sa maliit na halaga.

Arkitektura ng GFS

Ang figure ay kinuha mula sa orihinal na artikulo.

Sa system mayroong mga master server at chunk server, na talagang nag-iimbak ng data. Bilang isang tuntunin, GFS ang cluster ay binubuo ng isang pangunahing master machine (master) at maraming machine na nag-iimbak ng mga fragment ng mga file - mga chunk server (chunkservers). May access ang mga customer sa lahat ng machine na ito. Ang mga file sa GFS ay nahahati sa mga piraso - chunks (chunk, maaari mong sabihin fragment). Ang isang tipak ay may nakapirming laki na maaaring iakma. Ang bawat naturang tipak ay may natatangi at pandaigdigang 64-bit na susi, na ibinibigay ng master kapag gumagawa ng tipak. Ang mga server ng tipak ay nag-iimbak ng mga tipak tulad ng mga regular Linux file, sa iyong lokal na hard drive. Para sa pagiging maaasahan, ang bawat chunk ay maaaring kopyahin sa iba pang mga chunk server. Karaniwang tatlong replika ang ginagamit.
Ang master ay responsable para sa pagtatrabaho sa metadata ng buong file system. Kasama sa metadata ang mga namespace, impormasyon ng kontrol sa pag-access ng data, pagmamapa ng mga file sa mga chunks, at ang kasalukuyang lokasyon ng mga chunks. Kinokontrol din ng master ang lahat ng mga aktibidad sa pandaigdigang sistema tulad ng pamamahala ng mga libreng chunks, pagkolekta ng basura (pagkolekta ng mga chunks na hindi na kailangan) at paglipat ng mga chunks sa pagitan ng mga chunk server. Ang master ay patuloy na nakikipagpalitan ng mga mensahe (HeartBeat messages) sa mga chunk server upang magbigay ng mga tagubilin at matukoy ang kanilang katayuan (alamin kung sila ay buhay pa).
Nakikipag-ugnayan ang kliyente sa master para lang magsagawa ng mga operasyong nauugnay sa metadata. Ang lahat ng mga operasyon gamit ang data mismo ay direktang isinasagawa sa mga chunk server. GFS- hindi sinusuportahan ng system ang POSIX API, kaya hindi na kailangang guluhin ng mga developer ang VNode layer ng Linux.
Ang mga developer ay hindi gumagamit ng data caching, bagama't ang mga kliyente ay gumagawa ng cache metadata. Sa mga chunk server, ang Linux operating system ay naka-cache na ng mga pinaka ginagamit na block sa memorya. Sa pangkalahatan, ang pagtanggi sa pag-cache ay nagbibigay-daan sa iyo na huwag isipin ang problema ng validity ng cache (cache coherence).

Master

Ang paggamit ng isang wizard ay makabuluhang pinapasimple ang arkitektura ng system. Binibigyang-daan kang magsagawa ng mga kumplikadong paggalaw ng mga tipak at ayusin ang mga pagtitiklop gamit ang pandaigdigang data. Mukhang ang pagkakaroon lamang ng isang master ay dapat na ang bottleneck ng system, ngunit hindi ito ang kaso. Ang mga kliyente ay hindi kailanman nagbabasa o nagsusulat ng data sa pamamagitan ng master. Sa halip, tatanungin nila ang master kung aling chunk server ang dapat nilang kontakin, at pagkatapos ay direktang makipag-usap sila sa mga chunk server.
Tingnan natin kung paano binabasa ng kliyente ang data. Una, alam ang laki ng tipak,
pangalan ng file at offset na nauugnay sa simula ng file, tinutukoy ng kliyente ang chunk number sa loob ng file. Pagkatapos ay nagpapadala ito ng kahilingan sa master na naglalaman ng pangalan ng file at ang chunk number sa file na ito. Ang master ay nag-isyu ng mga chunk server, isa sa bawat replica, na nag-iimbak ng tipak na kailangan namin. Inilabas din ng master ang chunk identifier sa kliyente.
Pagkatapos ay magpapasya ang kliyente kung aling replika ang pinakagusto nito (karaniwan ay ang pinakamalapit) at nagpapadala ng kahilingan na binubuo ng isang tipak at isang offset na nauugnay sa simula ng tipak. Ang karagdagang pagbabasa ng data ay hindi nangangailangan ng interbensyon ng wizard. Sa pagsasagawa, bilang panuntunan, ang kliyente ay nagsasama ng ilang mga chunks sa isang read request, at ang master ay nagbibigay ng mga coordinate ng bawat isa sa mga chunks sa isang tugon.
Ang laki ng tipak ay isang mahalagang katangian ng system. Karaniwan, ito ay nakatakda sa 64 megabytes, na mas malaki kaysa sa laki ng block sa isang regular na file system. Ito ay malinaw na kung ito ay kinakailangan upang mag-imbak ng maraming mga file, ang mga sukat na kung saan ay mas maliit kaysa sa laki ng tipak, pagkatapos ay maraming dagdag na memorya ang mauubos. Ngunit ang pagpili ng ganoong kalaking chunk size ay dahil sa mga gawaing kailangang lutasin ng Google sa mga kumpol nito. Bilang isang patakaran, ang isang bagay ay kailangang kalkulahin para sa lahat ng mga dokumento sa Internet, at samakatuwid ang mga file sa mga gawaing ito ay napakalaki.

Metadata

Ang master ay nag-iimbak ng tatlong mahahalagang uri ng metadata: file at chunk namespaces, file-to-chunk mappings, at ang posisyon ng chunk replicas. Ang lahat ng metadata ay naka-imbak sa memorya ng master. Dahil ang metadata ay nakaimbak sa memorya, ang mga pagpapatakbo ng wizard ay mabilis. Maaaring malaman ng master ang estado ng mga gawain sa system nang simple at epektibo. Ini-scan nito ang mga chunk server sa background. Ang mga pana-panahong pag-scan na ito ay ginagamit para sa pangongolekta ng basura, mga karagdagang replikasyon kung sakaling makita ang isang hindi available na chunk server at paggalaw ng mga chunks upang balansehin ang load at libreng espasyo sa mga hard drive ng chunk server.
Sinusubaybayan ng master ang posisyon ng mga chunks. Kapag nagsimula ang isang chunk server, naaalala ng master ang mga chunks nito. Sa panahon ng operasyon, kinokontrol ng master ang lahat ng paggalaw ng mga chunks at ang estado ng mga chunk server. Kaya, nasa kanya ang lahat ng impormasyon tungkol sa posisyon ng bawat tipak.
Ang isang mahalagang bahagi ng metadata ay ang log ng transaksyon. Iniimbak ng master ang pagkakasunud-sunod ng mga operasyon para sa paglabag sa mga pagbabago sa metadata. Batay sa mga markang ito sa log ng operasyon, ang lohikal na oras ng system ay tinutukoy. Ito ang lohikal na oras na tumutukoy sa mga bersyon ng mga file at mga chunks.
Dahil ang log ng transaksyon ay isang mahalagang bahagi, dapat itong ligtas na maiimbak, at lahat ng mga pagbabago dito ay dapat makita lamang ng mga kliyente kapag nagbago ang metadata. Ang log ng pagpapatakbo ay ginagaya sa ilang malalayong makina, at ang sistema ay tumugon sa isang operasyon ng kliyente pagkatapos lamang i-save ang log na ito sa master disk at sa mga disk ng mga malalayong makina.
Ibinabalik ng wizard ang estado ng system sa pamamagitan ng pagsasagawa ng log ng mga operasyon. Ang log ng transaksyon ay nananatiling medyo maliit sa laki, na nag-iimbak lamang ng mga pinakabagong transaksyon. Sa proseso ng trabaho, lumilikha ang master mga control point, kapag ang laki ng log ay lumampas sa isang tiyak na halaga, at ang system ay maibabalik lamang sa pinakamalapit na checkpoint. Dagdag pa, gamit ang log, maaari mong i-replay ang ilang mga operasyon, upang ang system ay maaaring bumalik sa isang punto na nasa pagitan ng huling checkpoint at kasalukuyang oras.

Mga pakikipag-ugnayan sa loob ng system

Ang arkitektura ng system ay inilarawan sa itaas, na nagpapaliit sa interbensyon ng master sa pagsasagawa ng mga operasyon. Ngayon tingnan natin kung paano nakikipag-ugnayan ang client, master, at chunk server upang ilipat ang data, magsagawa ng atomic writes, at gumawa ng backup na kopya (snapshot).
Ang bawat pagbabago sa isang chunk ay dapat na madoble sa lahat ng mga replika at baguhin ang metadata. SA GFS ang master ay nagbibigay ng isang tipak sa pagmamay-ari(lease) sa isa sa mga server na nag-iimbak ng tipak na ito. Ang nasabing server ay tinatawag na pangunahing replika. Ang natitirang mga replika ay idineklara na pangalawa. Kinokolekta ng pangunahing replika ang sunud-sunod na pagbabago sa isang tipak, at sinusunod ng lahat ng replika ang pagkakasunud-sunod na ito kapag nangyari ang mga pagbabagong iyon.
Mekanismo ari-arian Ang tipak ay idinisenyo sa paraang mabawasan ang pagkarga sa master. Kapag naglalaan ng memorya, maghintay muna 60 segundo At pagkatapos, kung kinakailangan, ang pangunahing replika ay maaaring humiling sa master na palawigin ang agwat na ito at, bilang panuntunan, ay tumatanggap ng isang positibong tugon. Sa panahon ng paghihintay na ito, maaaring i-undo ng wizard ang mga pagbabago.
Isaalang-alang natin nang detalyado ang proseso ng pagtatala ng data. Ito ay ipinapakita nang sunud-sunod sa figure, na may mga manipis na linya na kumakatawan sa mga control flow at mga bold na linya na kumakatawan sa mga daloy ng data.


Ang figure na ito ay kinuha din mula sa orihinal na artikulo.
  1. Tinanong ng kliyente ang master kung alin sa mga chunk server ang nagmamay-ari ng chunk, at kung saan matatagpuan ang chunk na ito sa ibang mga replika. Kung kinakailangan, ibinibigay ng master ang tipak sa ibang tao para sa pagmamay-ari.
  2. Tumugon ang master gamit ang isang pangunahing replika at ang natitirang (pangalawang) mga replika. Iniimbak ng kliyente ang data na ito para sa mga karagdagang aksyon. Ngayon, maaaring kailanganin lang ng kliyente na makipag-ugnayan sa master kung hindi na magagamit ang pangunahing replika.
  3. Susunod, ang kliyente ay nagpapadala ng data sa lahat ng mga replika. Magagawa niya ito sa anumang pagkakasunud-sunod. Ang bawat chunk server ay mag-iimbak sa kanila espesyal na buffer hanggang sa sila ay kailanganin o maging lipas na.
  4. Kapag tinanggap na ng lahat ng replika ang data na ito, magpapadala ang kliyente ng kahilingan sa pagsulat sa pangunahing replika. Ang kahilingang ito ay naglalaman ng pagkakakilanlan ng data na ipinadala sa hakbang 3. Itinatakda na ngayon ng pangunahing replika ang pagkakasunud-sunod kung saan ang lahat ng mga pagbabagong natatanggap nito ay dapat isagawa, posibleng mula sa maraming kliyente nang magkatulad. At pagkatapos, ginagawa nito ang mga pagbabagong iyon nang lokal sa partikular na pagkakasunud-sunod na iyon.
  5. Ipinapasa ng pangunahing replika ang kahilingan sa pagsulat sa lahat ng pangalawang replika. Ginagawa ng bawat pangalawang replika ang mga pagbabagong ito sa pagkakasunud-sunod na tinukoy ng pangunahing replika.
  6. Iniuulat ng mga pangalawang replika ang matagumpay na pagkumpleto ng mga operasyong ito.
  7. Ang pangunahing replika ay nagpapadala ng tugon sa kliyente. Ang anumang mga error na nakatagpo sa anumang replika ay ipinapadala din sa kliyente. Kung may naganap na error sa pagsulat sa pangunahing replika, hindi mangyayari ang pagsusulat sa pangalawang replika, kung hindi, ang pagsulat ay naganap sa pangunahing replika at isang subset ng pangalawang replika. Sa kasong ito, pinoproseso ng kliyente ang error at magpapasya kung ano ang susunod na gagawin dito.
Mula sa halimbawa sa itaas, makikita mo na pinaghiwalay ng mga tagalikha ang daloy ng data at ang daloy ng kontrol. Kung ang daloy ng kontrol ay napupunta lamang sa pangunahing replika, ang daloy ng data ay mapupunta sa lahat ng mga replika. Ginagawa ito upang maiwasan ang paglikha ng mga bottleneck sa network, at bilang kapalit ay gamitin nang husto ang bandwidth ng bawat makina. Gayundin, upang maiwasan ang mga bottleneck at masikip na koneksyon, isang pamamaraan ng paglipat sa pinakamalapit na kapitbahay sa topology ng network ay ginagamit. Sabihin nating nagpapadala ang kliyente ng data sa mga chunk server S1,..., S4. Ang kliyente ay nagpapadala ng data sa pinakamalapit na server, hayaan S1. Pagkatapos ay ipapasa ito sa pinakamalapit na server, hayaan ito S2. Susunod S2 ipapasa sila sa pinakamalapit S3 o S4, at iba pa.
Gayundin, ang pagkaantala ay mababawasan sa pamamagitan ng paggamit ng pipelining ng mga packet ng ipinadalang data sa pamamagitan ng TCP. Iyon ay, sa sandaling natanggap ng chunk server ang ilang bahagi ng data, agad itong magsisimulang ipadala ito. Walang network congestion, mainam na oras para sa pagpapadala ng mga volume ng data B byte bawat R magkakaroon ng mga replika B/T + RL, Saan T bandwidth ng network, at L- pagkaantala kapag nagpapadala ng isang byte sa pagitan ng dalawang makina.
GFS sumusuporta sa mga operasyon tulad ng atomically appending data sa isang file. Karaniwan, kapag nagsusulat ng ilang data sa isang file, ipinapahiwatig namin ang data na ito at ang offset. Kung maraming kliyente ang nagsasagawa ng katulad na operasyon, hindi maaaring palitan ang mga operasyong ito (maaaring humantong ito sa maling operasyon). Kung gusto lang naming magdagdag ng data sa file, pagkatapos ay sa kasong ito ipinapahiwatig lamang namin ang data mismo. GFS ay idaragdag ang mga ito sa isang atomic na operasyon. Sa pangkalahatan, kung ang isang operasyon ay nabigo sa isa sa mga pangalawang replika, kung gayon GFS, ay magbabalik ng isang error, at ang data ay magiging iba sa iba't ibang mga replika.
Isa pang kawili-wiling bagay tungkol sa GFS- Ito ay mga backup na kopya (maaari mo ring sabihin ang isang snapshot) ng isang file o puno ng direktoryo, na halos agad-agad na nilikha, habang halos hindi nakakaabala sa mga patuloy na operasyon sa system. Ito ay nakakamit sa pamamagitan ng teknolohiya katulad ng kopyahin sa pagsulat. Ginagamit ng mga user ang feature na ito para gumawa ng data forks o kung paano intermediate point, para magsimula ng ilang eksperimento.

Mga operasyong isinagawa ng wizard

Ang master ay isang mahalagang link sa system. Pinamamahalaan nito ang mga chunk replication: gumagawa ng mga desisyon sa placement, gumagawa ng mga bagong chunks, at nagco-coordinate ng iba't ibang aktibidad sa loob ng system para panatilihing ganap na kopyahin ang mga chunks, mag-load ng balanse sa mga chunk server, at mangolekta ng mga hindi nagamit na mapagkukunan.
Hindi tulad ng karamihan sa mga file system GFS hindi nag-iimbak ng komposisyon ng mga file sa isang direktoryo. GFS lohikal na kumakatawan sa isang namespace bilang isang talahanayan na nagmamapa sa bawat landas patungo sa metadata. Ang nasabing talahanayan ay maaaring epektibong maimbak sa memorya sa anyo ng isang bur (isang diksyunaryo ng parehong mga landas na ito). Ang bawat node sa punong ito (naaayon sa alinman sa isang ganap na landas sa isang file o isang direktoryo) ay may kaukulang read write lock. Ang bawat master operation ay nangangailangan ng pagtatatag ng ilang mga kandado. Dito ginagamit ng system ang mga read-write lock. Karaniwan, kung ang isang operasyon ay tumatakbo sa /d1/d2/.../dn/dahon, pagkatapos ay itatakda nito ang mga read lock /d1, /d1/d2, ..., d1/d2/.../dn at pag-lock, para sa pagbabasa o pagsusulat d1/d2/.../dn/dahon. Kasabay nito dahon maaaring maging isang direktoryo o isang file.
Ipakita natin sa isang halimbawa kung paano mapipigilan ng mekanismo ng pag-lock ang paggawa ng file /home/user/foo sa panahon ng backup /home/user V /save/user. Itinatakda ng backup na operasyon ang mga read lock /bahay At /iligtas, pati na rin isulat ang mga kandado sa /home/user At /save/user. Ang operasyon ng paggawa ng file ay nangangailangan ng read lock /bahay At /home/user, pati na rin isulat ang mga kandado sa /home/user/foo. Kaya, ang pangalawang operasyon ay hindi magsisimulang isagawa hanggang sa ang una ay natapos na isagawa, dahil mayroong magkasalungat na lock sa /home/user. Kapag lumilikha ng isang file, ang isang write lock sa parent directory ay hindi kinakailangan ng isang read lock ay sapat, na pumipigil sa direktoryo na matanggal.
Mga kumpol GFS, ay lubos na ipinamamahagi at multi-layered. Karaniwan, ang naturang cluster ay may daan-daang mga chunk server na matatagpuan sa iba't ibang rack. Ang mga server na ito ay karaniwang magagamit sa isang malaking bilang ng mga kliyente na matatagpuan sa pareho o ibang rack. Ang mga koneksyon sa pagitan ng dalawang makina mula sa magkaibang rack ay maaaring dumaan sa isa o higit pang switch. Ang tiering ay nagpapakita ng napakahirap na gawain para sa pamamahagi ng data nang maaasahan, scalably, at abot-kaya.
Sinusubukan ng replica na patakaran sa lokasyon na matugunan ang mga sumusunod na katangian: pag-maximize sa pagiging maaasahan at kakayahang magamit ng data at pag-maximize sa paggamit ng bandwidth ng network. Ang mga replika ay dapat na matatagpuan hindi lamang sa iba't ibang mga disk o iba't ibang mga kotse, ngunit din sa iba't ibang stand. Tinitiyak nito na ang isang tipak ay magagamit kahit na ang buong rack ay nasira o nadiskonekta mula sa network. Sa pagsasaayos na ito, ang pagbabasa ay tumatagal ng humigit-kumulang kapareho ng oras ng bandwidth ng network, ngunit ang daloy ng data kapag nagsusulat ay dapat dumaan sa iba't ibang rack.
Kapag ang master ay lumikha ng isang tipak, pinipili niya kung saan ilalagay ang replika. Ito ay nagmumula sa ilang mga kadahilanan:
  • Maipapayo na ilagay ang bagong replica sa isang chunk server na may pinakamababang average na disk load. Sa kalaunan ay magiging katumbas nito ang pag-load ng disk sa iba't ibang mga server.
  • Maipapayo na limitahan ang bilang ng mga bagong tipak na nilikha sa bawat tipak na server. Bagama't ang paglikha ng isang tipak ay isang mabilis na operasyon sa sarili nito, ito ay nagsasangkot ng kasunod na pagsulat ng data sa tipak na iyon, na isa nang mabigat na operasyon at maaaring humantong sa isang kawalan ng timbang sa dami ng trapiko ng data sa iba't ibang bahagi ng system.
  • Tulad ng sinabi sa itaas, ipinapayong ipamahagi ang mga tipak sa iba't ibang mga rack.
Sa sandaling bumaba ang bilang ng mga replika sa isang value na natatakda ng user, muling kinokopya ng master ang tipak. Ito ay maaaring mangyari sa ilang kadahilanan: ang chunk server ay naging hindi magagamit, isa sa mga disk ay nabigo, o ang halaga na tumutukoy sa bilang ng mga replika ay nadagdagan. Ang bawat tipak na dapat kopyahin ay binibigyan ng priyoridad, na nakadepende rin sa ilang salik. Una, mas mataas ang priyoridad para sa tipak na may pinakamaliit na bilang ng mga replika. Pangalawa, upang madagdagan ang pagiging maaasahan ng pagpapatupad ng aplikasyon, ang priyoridad ng mga chunks na humaharang sa pag-unlad sa trabaho ng kliyente ay nadagdagan
Pinipili ng master ang tipak na may pinakamataas na priyoridad at kinokopya ito, na nagtuturo sa isa sa mga chunk server na kopyahin ito mula sa isang available na replika. Ang bagong replica ay matatagpuan batay sa parehong mga dahilan tulad ng noong ito ay nilikha.
Habang nagtatrabaho, patuloy na binabalanse ng master ang mga replika. Depende sa pamamahagi ng mga replika sa system, ginagalaw nito ang replika upang ipantay ang pagkarga sa mga disk at balansehin ang pagkarga. Dapat ding magpasya ang master kung alin sa mga replika ang dapat tanggalin. Bilang isang panuntunan, ang replica na matatagpuan sa chunk server na may pinakamaliit libreng espasyo sa mga hard drive.
Ang isa pang mahalagang function na namamalagi sa master ay ang koleksyon ng basura. Kapag nagtanggal ng file, GFS hindi nangangailangan ng agarang pagbabalik ng nabakanteng espasyo sa disk. Ginagawa ito sa panahon ng regular na pangongolekta ng basura, na nangyayari sa parehong antas ng tipak at file. Naniniwala ang mga may-akda na ang pamamaraang ito ay ginagawang mas simple at mas maaasahan ang system.
Kapag ang isang file ay tinanggal ng isang application, naaalala ng wizard ang katotohanang ito, tulad ng marami pang iba, sa mga log. Gayunpaman, sa halip na hilingin na agad na maibalik ang mga nabakanteng mapagkukunan, pinapalitan lamang ang pangalan ng file na may idinagdag na oras ng pagtanggal sa pangalan ng file, at nagiging invisible ito ng user. At ang wizard, sa panahon ng regular na pag-scan ng namespace ng file system, ay talagang tinatanggal ang lahat ng naturang mga nakatagong file na tinanggal ng user higit sa tatlong araw na nakalipas (ang pagitan na ito ay maaaring i-configure). Hanggang sa sandaling ito, ang file ay patuloy na nasa system bilang nakatago, at maaari itong basahin o palitan ang pangalan para sa pagbawi. Kapag ang isang nakatagong file ay tinanggal ng wizard, ang impormasyon tungkol dito ay aalisin din sa metadata, at ang lahat ng mga chunks ng file na ito ay na-unlink mula dito.
Bilang karagdagan sa regular na pag-scan sa namespace ng file, ang wizard ay gumagawa ng katulad na pag-scan ng chunk namespace. Tinutukoy ng master ang mga chunks na hiwalay sa file, inaalis ang mga ito sa metadata, at sa panahon ng regular na pakikipag-ugnayan sa mga chunk server, senyales sa kanila na ang lahat ng replicas na naglalaman ng ibinigay na chunk ay maaaring tanggalin. Ang pamamaraang ito sa pangongolekta ng basura ay may maraming mga pakinabang, na may isang disbentaha: kung ang sistema ay maubusan ng espasyo, at ang naantala na pag-alis ay nagdaragdag ng hindi nagamit na espasyo hanggang sa mismong pisikal na pag-alis. Ngunit may posibilidad na maibalik ang tinanggal na data, ang posibilidad ng nababaluktot na pagbabalanse ng pag-load sa panahon ng pagtanggal, at ang kakayahang ibalik ang system sa kaso ng anumang mga pagkabigo.

Pagpaparaya sa pagkabigo at diagnosis ng error

Ang mga may-akda ng system ay itinuturing na isa sa mga pinaka kumplikadong problema madalas na pagkabigo ng mga bahagi ng system. Ang dami at kalidad ng mga bahagi ay gumagawa ng mga pagkabigo na ito hindi lamang ang pagbubukod, ngunit sa halip ang pamantayan. Ang pagkabigo ng bahagi ay maaaring sanhi ng hindi available na bahagi o, mas masahol pa, sa pagkakaroon ng sirang data. GFS pinapanatili ang sistema sa gumaganang kaayusan gamit ang dalawa mga simpleng estratehiya: Mabilis na pagbawi at pagtitiklop.
Ang mabilis na pagbawi ay mahalagang pag-reboot ng makina. Kasabay nito, ang oras ng pagsisimula ay napakaikli, na humahantong sa isang bahagyang sagabal, at pagkatapos ay nagpapatuloy ang trabaho nang normal. Ang pagtitiklop ng tipak ay tinalakay na sa itaas. Kinokopya ng master ang isang tipak kung ang isa sa mga replika ay hindi magagamit o ang data na naglalaman ng tipak na replika ay nasira. Natutukoy ang mga nasirang tipak sa pamamagitan ng pagkalkula ng mga checksum.
Ang isa pang uri ng pagtitiklop sa system, na kakaunti ang nasabi, ay ang master replication. Ang log ng operasyon at mga checkpoint ay ginagaya. Ang bawat pagbabago sa mga file sa system ay nangyayari lamang pagkatapos isulat ang log ng operasyon sa mga disk ng master at ang mga disk ng mga makina kung saan ang log ay ginagaya. Sa kaso ng mga maliliit na problema, ang wizard ay maaaring mag-reboot. Sa kaso ng mga problema sa hard drive o iba pang mahahalagang imprastraktura ng master, magsisimula ang GFS ng bagong master sa isa sa mga makina kung saan kinopya ang master data. Ang mga kliyente ay nakikipag-ugnayan sa DNS master, na maaaring italaga sa bagong makina. Bagong master ay anino ng matanda, hindi isang eksaktong kopya. Samakatuwid, mayroon itong read-only na access sa mga file. Iyon ay, hindi ito nagiging isang ganap na master, ngunit pinapanatili lamang ang log ng operasyon at iba pang mga istraktura ng master.
Ang isang mahalagang bahagi ng system ay ang kakayahang mapanatili ang integridad ng data. Ordinaryo GFS ang isang kumpol ay binubuo ng daan-daang mga makina kung saan libu-libo mga hard drive, at ang mga disk na ito, kapag nagtatrabaho nang may nakakainggit na pagkakapare-pareho, ay nabigo, na humahantong sa katiwalian ng data. Maaaring ibalik ng system ang data gamit ang pagtitiklop, ngunit upang gawin ito ay kinakailangan upang maunawaan kung ang data ay naging sira. Ang paghahambing lamang ng iba't ibang mga replika sa iba't ibang chunk server ay hindi epektibo. Bukod dito, maaaring mangyari ang hindi pagkakapare-pareho ng data sa pagitan ng iba't ibang mga replika, na humahantong sa mga pagkakaiba ng data. Samakatuwid, ang bawat chunk server ay dapat independiyenteng matukoy ang integridad ng data.
Ang bawat tipak ay nahahati sa mga bloke ng haba 64 KB. Ang bawat naturang bloke ay tumutugma sa 32 -bit checksum. Tulad ng ibang metadata, ang mga halagang ito ay iniimbak sa memorya, regular na naka-save sa log, nang hiwalay sa data ng user.
Bago magbasa ng data, sinusuri ng chunk server ang mga checksum ng chunk blocks na nagsasapawan sa hiniling na data ng user o ng isa pang chunk server. Iyon ay, ang chunk server ay hindi namamahagi ng sirang data. Kung hindi tumugma ang mga checksum, ibabalik ng chunk server ang isang error sa makina na nagsumite ng kahilingan at iuulat ito sa master. Maaaring basahin ng user ang data mula sa isa pang replica, at ang master ay gagawa ng isa pang kopya mula sa data mula sa isa pang replica. Pagkatapos nito, inutusan ng master ang chunk server na ito na tanggalin ang sira na replica na ito.
Kapag nagdaragdag ng bagong data, hindi nagaganap ang pag-verify ng checksum, at ang mga bagong checksum ay isinulat para sa mga bloke. Kung ang disk ay nasira, ito ay matutukoy kapag sinusubukang basahin ang data na ito. Kapag nagsusulat, ang chunk server ay nagkukumpara lamang sa una at huling mga bloke na bumabagtas sa mga hangganan na sinusulatan, dahil ang ilan sa mga data sa mga bloke na ito ay hindi na-overwrite at ang kanilang integridad ay dapat suriin.