MooseFS ay isang kasalanan mapagparaya, network ipinamamahagi sistema ng file na spread na data sa maraming mga pisikal na mga server na kung saan ay makikita ng mga user bilang isang mapagkukunan & nbsp; Para sa mga kilos pagpapatakbo karaniwang file MooseFS ang iba pang mga Unix-magkamukha mga system file.:
& Nbsp; * Isang hierarchical istraktura (puno ng direktoryo)
& Nbsp; * katangian ng file Tindahan POSIX (mga pahintulot, huling access at pagbabago beses)
& Nbsp; * Sinusuportahan ang mga espesyal na mga file (bloke at katangian device, pipe at socket)
& Nbsp; * symbolic link (mga pangalan ng file na tumuturo i-target ang mga file, hindi kinakailangang sa MooseFS) at mga hard link (iba't ibang mga pangalan ng mga file na mag-refer sa parehong data sa MooseFS)
& Nbsp; * Access sa file system ay maaaring limitado batay sa IP address at / o password
Mga natatanging katangian ng MooseFS ay:
& Nbsp; * Mataas na pagiging maaasahan (ilang mga kopya ng data ay maaaring naka-imbak sa kabuuan ng hiwalay na mga computer)
& Nbsp; * Kapasidad ay dynamic na napapalawak sa pamamagitan ng paglakip ng mga bagong computer / disk
& Nbsp; * Tinanggal na mga file ay mananatili para sa isang nako-configure na tagal ng panahon (isang antas na file system "trash bin")
& Nbsp; * magkaugnay na mga snapshot ng mga file, kahit na habang ang file ay nakasulat / access
MooseFS ay binubuo ng apat na bahagi:
& Nbsp; * Pamamahala ng server (master server) & ndash; isang solong machine pamamahala ng buong filesystem, pag-iimbak ng metadata para sa bawat file (impormasyon sa sukat, mga katangian at (mga) lokasyon ng file, kabilang ang lahat ng impormasyon tungkol sa mga hindi regular na mga file, ibig sabihin, mga direktoryo, sockets, pipa at mga aparato).
& Nbsp; * server ng Data (tigkal server) - anumang bilang ng mga kalakal server ng pag-iimbak ng mga file ng data at pag-synchronize ito sa mga kanilang sarili (kung isang tiyak na file ay dapat na umiiral sa higit sa isang kopya).
& Nbsp; * Metadata backup (mga) server (metalogger server) - anumang bilang ng mga server, ang lahat ay changelogs tindahan metadata at pana-panahong pag-download ng pangunahing metadata file; kaya bilang upang i-promote ang mga server upang ang mga papel ng Pamamahala ng server kapag primary master tumigil sa pagtatrabaho.
& Nbsp; * computer Client na i-access ang (bundok) ang mga file sa MooseFS - anumang bilang ng mga machine gamit mfsmount proseso upang makipag-ugnay sa pamamahala ng server (na tumanggap at baguhin ang file metadata) at may chunkservers (upang makipagpalitan ng mga aktwal na file ng data).
mfsmount ay batay sa mekanismo fuse (Filesystem sa USErspace), kaya MooseFS ay magagamit sa bawat Operating System na may working sumanib sa pagpapatupad (Linux, FreeBSD, MacOS X, atbp)
Metadata ay naka-imbak sa memorya ng pamamahala ng server at sabay-sabay na naka-save sa disk (tulad ng pana-panahong ina-update binary file at agad na-update incremental mga log). Ang pangunahing binary file pati na rin ang mga log-synchronize sa metaloggers (kung mayroon).
File ng data ay nahahati sa mga fragment (chunks) na may isang maximum na 64MiB bawat isa. Ang bawat tipak ay mismong isang file sa piniling mga disk sa mga server ng data (chunkservers).
Mataas na pagiging maaasahan ay nakamit sa pamamagitan ng pag-configure ng maraming iba't ibang mga server ng data tulad ng naaangkop na mapagtanto ang halaga "layunin" (bilang ng mga kopya upang mapanatiling)-set para sa ibinigay na file.
PAANO ANG SYSTEM gumagana
Ang lahat ng mga pagpapatakbo na file sa isang client computer na iyon ay naka-mount MooseFS ay eksaktong kapareho ng kung paano sila ay may ibang mga system file. Ang operating system kernel Inililipat ang lahat ng mga pagpapatakbo ng file sa fuse module, na nakikipanayam sa proseso mfsmount. Ang proseso ng mfsmount nakikipanayam sa pamamagitan ng network pagkatapos ay sa pamamahala ng server at ang data ng server (tigkal server). Ang buong proseso ay ganap na transparent sa user.
mfsmount na nakikipanayam sa mga pamamahala ng server sa tuwing ang isang operasyon sa file metadata ay kinakailangan:
& Nbsp; * paglikha ng file
& Nbsp; * pagtanggal ng mga file
& Nbsp; * pagbabasa direktoryo
& Nbsp; * sa pagbabasa at pagpapalit ng mga katangian
& Nbsp; * pagbabago ng laki ng file
& Nbsp; * sa simula ng pagbabasa o pagsusulat ng data
& Nbsp; * sa anumang pag-access sa mga espesyal na mga file sa MFSMETA
mfsmount ay gumagamit ng isang direktang koneksyon sa server data (tigkal server) na nag-iimbak ang may-katuturang mga tipak ng isang file. Kapag sumusulat ng isang file, pagkatapos Tinatapos ang proseso ng pagpapawalang natatanggap ang pamamahala ng server ng impormasyon mula sa mfsmount i-update ang haba ng file at ang huling beses na pagbabago.
Higit pa rito, mga server ng data (tigkal server) makipag-komunikasyon sa bawat isa sa magtiklop ng data upang makamit ang naaangkop na bilang ng mga kopya ng isang file sa iba't-ibang machine.
& Nbsp;
fault tolerance
& Nbsp;
Payagan Administrative utos ng system administrator upang tukuyin ang "layunin", o bilang ng mga kopya na dapat na pinananatili, sa isang antas sa bawat direktoryo o per-file. Pagtatakda ng layunin sa higit sa isang at pagkakaroon ng server higit sa isang data magbibigay ng fault tolerance. Kapag ang file ng data ay naka-imbak sa maraming mga kopya (sa higit sa isang server ng data), ang sistema ay lumalaban sa pagkabigo o pansamantalang paghinto ng network sa isang solong server ng data.
Ito siyempre ay hindi sumangguni sa mga file na may "layunin" nakatakda sa 1, kung saan ang file ay umiiral lamang sa isang solong server ng data hindi isinasaalang-alang kung gaano karaming data server na matatagpuan sa system.
Iba mahalagang mga file ay maaaring itakda ang kanilang mga layunin sa isang numero ng mas mataas kaysa sa dalawang, na magbibigay-daan sa mga file na ito upang maging lumalaban sa isang breakdown ng higit sa isang server nang sabay-sabay.
Sa pangkalahatan ang mga setting para sa bilang ng mga kopya na magagamit ay dapat na isa ng higit pa sa inaasahang bilang ng mga hindi naa-access o out-of-order server.
Sa kaso kung saan ang isang solong server data ay nakakaranas ng kabiguan o pagtatanggal mula sa network, ang mga file na naka-imbak sa loob nito na nagkaroon ng hindi bababa sa dalawang mga kopya, ay mananatiling naa-access mula sa isa pang server ng data. Ang data na ngayon 'sa ilalim ng layunin nito' ay kinokopya sa isa pang naa-access sa server ng data upang magbigay muli ang kinakailangang bilang ng mga kopya.
Dapat itong nabanggit na kung ang bilang ng mga magagamit na mga server ay mas mababa sa "layunin"-set para sa isang naibigay na file, ang kinakailangang bilang ng mga kopya ay maaaring hindi maitatabi. Katulad din na kung mayroong parehong bilang ng mga server ng kasalukuyang nakatakda layunin at kung ang isang server data ay umabot sa 100% ng kapasidad nito, ito ay hindi upang simulan upang i-hold ang isang kopya ng isang file na ngayon sa ibaba limitasyon ng layunin nito dahil sa isa pang pagpunta server data offline. Sa mga kasong ito ng isang bagong server ng data ay dapat na nakakonekta sa system sa lalong madaling panahon upang mapanatili ang nais na bilang ng mga kopya ng mga file.
Ang isang bagong server ng data ay maaaring konektado sa sistema sa anumang oras. Ang bagong kapasidad ay agad na maging available para sa paggamit upang mag-imbak ng mga bagong file o upang i-hold Ginagaya ang mga kopya ng mga file mula sa iba pang mga server ng data.
Administrative utilities umiiral para sa mga tanong ang katayuan ng mga file sa loob ng file system upang matukoy kung ang alinman sa mga file ay kasalukuyang nasa ilalim ng kanilang mga layunin (magtakda ng bilang ng mga kopya). Pwede ring utility na ito ginagamit upang baguhin ang mga setting ng layunin gaya ng iniaatas.
Ang mga fragment data na naka-imbak sa chunks ay versioned, kaya muling pagkonekta sa isang server ng data na may mas lumang kopya ng data (tulad ng kung ito ay hindi naging offline para sa isang tagal ng panahon), ay hindi magiging dahilan ang mga file na maging hindi magkakaugnay. Ang server ng data magsi-synchronize ang sarili nito upang i-hold ang kasalukuyang bersyon ng chunks, kung saan ang laos na chunks ay aalisin at ang libreng puwang ay inilaan upang i-hold ang bagong chunks.
Hindi Nagtagumpay ng isang client machine (na nagpapatakbo ng proseso mfsmount) ay magkakaroon ng walang impluwensya sa ang pagkakaugnay-ugnay ng mga file system o sa operasyon ng iba pang mga kliyente. Sa pinakamasamang sitwasyon kaso ang data na hindi pa na ipinadala mula sa Nabigo ang client computer na maaaring mawala.
& Nbsp;
mga platform
& Nbsp; MooseFS ay magagamit sa bawat Operating System na may working sumanib sa pagpapatupad:
& Nbsp; * Linux (Linux 2.6.14 at hanggang magkaroon ng suporta piyus kasama sa opisyal na kernel)
& Nbsp; * FreeBSD
& Nbsp; * OpenSolaris
& Nbsp; * MacOS X
Pwede ring magpatakbo ng master server, metalogger ang server at chunkservers sa Solaris o Windows sa Cygwin. Sa kasamaang palad walang fuse ito ay hindi magiging posible na i-mount ang filesystem sa loob ng mga operating system na
Ano ang bagong sa paglabas:.
- < li> Ang pinakamahalagang pagbabago isama naayos signal paghawak sa multithreaded mga module, limitasyon ng layunin at trashtime sa mfsexport.cfg, at isang simpleng tseke para download na file metadata.
Ano ang bagong sa bersyon 1.6.19:
- makabuluhang pagbabago ay ipinakilala sa metalogger machine at metarestore na tool para sa mas mahusay na integridad ng metadata.
- Ang isang pag-unlad sa pag-scan bar sa CS ay idinagdag.
- Ang master pangalan nalutas ngayon kapag nabigo ang isang koneksyon.
- Ang isang bagong session ay nilikha kapag ang isang nakaraan ay nawala.
- Maraming iba pang mga pag-aayos sa bug at pagpapahusay ay ginawa.
Ano ang bagong sa bersyon 1.6.17:
- Sa paglabas ipinakilala namin ang isang awtomatikong pamamahala ng cache ng data .
- Ito ay sapat na upang mag-upgrade lang ang master server (walang pagbabago sa mga server ng tipak 'o kliyente code ay ginawa).
- Ang mekanismo ng kernel cache palaging ay umiral ngunit hanggang sa ngayon ang cache ay palaging clear sa pagbubukas ng isang file. Ngayon kumokontrol MooseFS kung upang i-clear ito o hindi sa pamamagitan ng pagsuri kung ang file ay hindi o binago ng isa pang client. Tingnan natin ang ilang mga sitwasyon Hayaan.
- Unang sitwasyon:
- 1. Ang isang computer na bumabasa sa file X
- 2. Bumabasa ng Computer B ang file X
- 3. Computer A ay nais na basahin ang mga file X - iwan namin ang cache (ang file ay hindi nabago)
- Ikalawang sitwasyon:
- 1. Ang isang computer na bumabasa sa file X
- 2. Ang isang computer na nagsusulat sa file X
- 3. Computer A Nais ng tugatog basahin ang file X - iwan namin ang cache (ang file ay binago ngunit computer na ang nakakaalam ng tungkol sa mga pagbabagong ito)
- Ikatlong sitwasyon:
- 1. Ang isang computer na bumabasa sa file X
- 2. Nagsusulat Computer B sa file X
- 3. Computer A ay nais na basahin ang mga file X - dito mayroon kaming upang pilitin alisin ang laman ng cache (dahil ang mga pagbabago ay ginawa ng Computer B at Computer Isang hindi alam tungkol sa mga ito)
- Sa tunay na kapaligiran ng una at ikalawang mga sitwasyon mangyari sa pamamagitan ng malayo mas madalas kaysa sa mga third sitwasyon at na ang dahilan kung bakit ito ay makatwiran na mag-iwan ang mga nilalaman ng cache at makakuha ng pangkalahatang pagganap ng sistema.
- Siyempre mayroong ilang mga masama sitwasyon (ngunit sila ay umiiral din bago) tulad ng isang ito:
- 1. Ang isang computer na bubukas file X at binabasa ito ganap (ang file ay mananatili sa cache)
- 2. Computer B nagbabago sa file X
- 3. Muli bumabasa ng Computer Ang isang file X (ngunit nang hindi isinasara o muling pagbubukas nito - lamang gumagalaw sa posisyon 0 at rereading ito)
- Sa situasyon na ito Computer A ay makakuha ng parehong data bilang sa hakbang 1 ngunit pareho rin ang nangyari sa MooseFS bago.
- Ang isang katangian nodatacache ay ipinakilala rin kung saan forbids i-cache ang isang file. Mula sa bersyon 1.6.17 up ng mga file sa nodatacache katangian kumilos tulad ng mga file ng ginawa sa mas lumang mga bersyon ng MooseFS. Flag na ito ay maaaring magamit sa mga tool mfsseteattr, mfsdeleattr at mfsgeteattr.
- flag na ito ay naidagdag preventively at marahil ay hindi mo na kailangang gamitin ito. Kung makalipas ang ilang panahon lumilitaw na ito ay talagang walang silbi tatanggalin ito. Ngunit kung iyong makita ang anumang kaso / sitwasyon kung saan hinihingi ang hindi pagpapagana ng mekanismo awtomatikong cache pakibahagi ito sa amin.
Mga Komento hindi natagpuan