MooseFS este o tolerant rețea distribuită sistem defect, de fișiere care se raspandeste de date pe mai multe servere fizice, care sunt vizibile utilizatorului ca o resursă & nbsp; pentru operațiunile de fișiere standard MooseFS acționează ca alte sisteme de fișiere Unix-deopotrivă.:
& Nbsp; * O structură ierarhică (arborescentă director)
& Nbsp; * atribute de fișier Magazine POSIX (permisiuni, timpii de acces și ultima modificare)
& Nbsp; * Suportă fișiere speciale (bloc și caractere dispozitive, țevi și prize de curent)
& Nbsp; * link-uri simbolice (nume de fișiere arătând spre țintă fișiere, nu neaparat pe MooseFS) și link-uri hard (diferite nume de fișiere care se referă la aceleași date pe MooseFS)
& Nbsp; * Acces la sistemul de fișiere poate fi limitat pe baza adresei IP și / sau parola
Caracteristici distinctive ale MooseFS sunt:
& Nbsp; * ridicat de fiabilitate (mai multe copii ale datelor pot fi stocate pe computere separate)
& Nbsp; * Capacitatea este dinamic extinsa prin atașarea calculatoare noi / discuri
& Nbsp; * Fișierele șterse sunt păstrate pentru o perioadă de timp configurabil (un nivel de sistem de fișiere "gunoi")
& Nbsp; * instantanee coerente de fișiere, chiar în timp ce fisierul este scris / accesate
MooseFS este format din patru componente:
& Nbsp; * serverul de Management (server master) & ndash; o singură mașină de gestionare întreg sistem de fișiere, stocarea metadatelor pentru fiecare fișier (informații cu privire la mărimea, atributele și fișierul locație (s), inclusiv toate informațiile despre fișiere ocazionali, adică directoare, prize, conducte și dispozitive).
& Nbsp; * serverele de date (servere bucată) - orice număr de servere de mărfuri stocare fișierele de date și de sincronizare se între ei (în cazul în care un anumit fișier ar trebui să existe în mai mult de o copie).
& Nbsp; * server de backup Metadata (e) (server metalogger) - orice număr de servere, toate de schimbări magazin de metadate și descărcarea de fișiere periodic principal de metadate; astfel încât să promoveze aceste servere la rolul serverului de Management când stăpânul primar nu mai funcționează.
& Nbsp; * computerele client care accesează (montare) dosarele în MooseFS - orice număr de mașini care folosesc proces mfsmount pentru a comunica cu serverul de gestionare (pentru a primi și de a modifica metadate fișier) și cu chunkservers (pentru a face schimb de date fișier reale).
mfsmount se bazează pe mecanismul de FUSE (Sistem de fișiere în mod utilizator), astfel MooseFS este disponibil pe fiecare sistem de operare cu o punere în aplicare FUSE de lucru (Linux, FreeBSD, MacOS X, etc.)
Metadata este stocat în memoria serverului de gestionare și simultan salvate pe disc (ca un fișier binar actualizate periodic și actualizează imediat busteni elementare). Principalul Fișierul binar cât și pe bușteni sunt sincronizate cu metaloggers (dacă este prezent).
Datele de fișiere este împărțit în fragmente (bucati de) cu un maxim de 64MiB fiecare. Fiecare bucată este ea însăși un fișier de pe discuri selectate de pe serverele de date (chunkservers).
Înaltă fiabilitate se realizează prin configurarea cat mai multe servere de date diferite, după caz, să realizeze valoarea "poartă" (număr de copii pentru a menține) stabilite pentru fișierul dat.
CUM FUNCȚIONEAZĂ SISTEMUL
Toate operațiunile de fișiere pe un computer client care a montate MooseFS sunt exact la fel ca ei ar fi cu alte sisteme de fișiere. Nucleul sistemului de operare transferă toate operațiunile de fișiere la modulul FUSE, care comunică cu procesul de mfsmount. Procesul mfsmount comunică prin intermediul rețelei ulterior cu serverul de date și servere de management (servere bucată). Tot acest proces este complet transparent pentru utilizator.
mfsmount comunică cu serverul de gestionare de fiecare dată este necesară o operație pe metadate dosar:
& Nbsp; * crearea fișierelor
& Nbsp; * ștergerea fișierelor
& Nbsp; * directoare de lectură
& Nbsp; * citire și schimbarea atributelor
& Nbsp; * schimba fișiere cu dimensiuni
& Nbsp; * la începutul citirii sau scrierii datelor
& Nbsp; * pe orice acces la fișiere speciale pe MFSMETA
mfsmount utilizează o conexiune directă la serverul de date (serverul bucată), care stochează bucată relevant de un fișier. Când scrieți un fișier, după terminarea procesului de scriere a serverului de gestionare primește informații de la mfsmount pentru a actualiza lungime-un fișier și ultima dată de modificare.
În plus, serverele de date (servere bucată) comunică între ele pentru a reproduce date pentru a obține un număr corespunzător de exemplare ale unui fișier pe mașini diferite.
& Nbsp;
toleranță la defecte
& Nbsp;
Comenzile administrative permite administratorului de sistem pentru a specifica "gol", sau numărul de copii care ar trebui să fie menținute, pe un nivel pe-director sau pe-fișier. Setarea scopul de a mai mult de un an și care au mai mult de un server de date va furniza toleranță la deranjamente. În cazul în care datele sunt stocate în fișierul multe exemplare (pe mai mult de un server de date), sistemul este rezistent la defecțiuni sau întreruperi temporare ale rețelei un singur server de date.
Aceasta, desigur, nu se referă la fișiere cu "obiectivul" setat la 1, caz în care dosarul va exista doar pe un singur server de date, indiferent de cât de multe date servere sunt dislocate în sistem.
În mod excepțional fișierele importante pot avea scopul lor setat la un număr mai mare de doi, ceea ce va permite aceste fișiere pentru a fi rezistente la o defalcare de mai mult de un server dintr-o dată.
În general, setarea pentru numărul de copii disponibile ar trebui să fie unul mai mult decât numărul anticipat de servere inaccesibile sau out-of-order.
În cazul în care un singur server de date prezintă o defecțiune sau deconectarea de la rețea, fișierele stocate în aceasta, care a avut cel puțin două exemplare, va rămâne accesibil de pe un alt server de date. Datele care este acum "de la scopul său" va fi replicat pe un alt server de date accesibile pentru a oferi din nou numărul necesar de exemplare.
Trebuie remarcat faptul că dacă numărul de servere disponibile este mai mic decât "gol" stabilit pentru un fișier dat, numărul necesar de exemplare nu poate fi păstrată. În mod similar, dacă există același număr de servere ca obiectivul stabilit în prezent și dacă un server de date a ajuns la 100% din capacitatea sa, nu va putea să înceapă să dețină o copie a unui fișier care este acum sub pragul de poartă din cauza altul server de date merge offline. În aceste cazuri, un nou server de date ar trebui să fie conectate la sistemul cât mai curând posibil, în scopul de a menține numărul dorit de copii ale dosarului.
Un nou server de date poate fi conectat la sistemul în orice moment. Noua capacitate va deveni disponibile pentru utilizare pentru stocarea de noi fișiere sau să dețină copii replicat ale fișierelor de pe alte servere de date imediat.
Exista utilitati administrative pentru a interoga starea fișierelor în sistemul de fișiere pentru a determina dacă oricare dintre fișierele sunt în prezent sub obiectivul lor (număr de exemplare). Acest utilitar poate fi de asemenea utilizat pentru a modifica setarea scop, după caz.
Fragmentele de date stocate în bucăți sunt versiuni, așa re-conectarea unui server de date cu copie mai veche a datelor (cum ar fi în cazul în care ar fi fost offline pentru o perioadă de timp), nu va cauza fișierele pentru a deveni incoerent. Serverul de date se va sincroniza să dețină versiunile actuale ale bucăți, în cazul în care bucăți învechite vor fi eliminate, iar spațiul liber va fi realocate să dețină noile bucăți.
Eșecurile de o mașină client (care ruleaza procesul mfsmount) va avea nici o influență asupra coerenței sistemului de fișiere sau cu privire la operațiunile de altă clientului. În cel mai rău caz, datele care nu a fost încă trimis de la computerul client nu a reușit să se piardă.
& Nbsp;
Platforme
& Nbsp; MooseFS este disponibil pe fiecare sistem de operare cu o punere în aplicare FUSE de lucru:
& Nbsp; * Linux (Linux 2.6.14 și în sus au suport Siguranta inclusa în kernel oficial)
& Nbsp; * FreeBSD
& Nbsp; * OpenSolaris
& Nbsp; * MacOS X
Serverul master, serverul metalogger și chunkservers poate fi, de asemenea, rula pe Solaris sau Windows cu Cygwin. Din păcate, fără FUSE nu va fi posibil pentru a monta sistemul de fișiere în aceste sisteme de operare
Ce este nou în această versiune:.
- < li> Cele mai importante modificări se numără semnal fix de manipulare în module multithreaded, limite de gol și trashtime în mfsexport.cfg, și un cec simplu pentru fișierele descărcate de metadate.
Ce este nou în versiunea 1.6.19:
- modificări substanțiale au fost introduse în aparat metalogger și metarestore instrument pentru o mai bună integritate a metadatelor.
- O bară de progres scanare din CS a adăugat.
- Numele de master este acum rezolvată, atunci când o conexiune eșuează.
- O nouă sesiune este creat atunci când cea anterioară este pierdut.
- s-au făcut o mulțime de alte bug fixat și îmbunătățiri.
Ce este nou în versiunea 1.6.17:
- În această versiune am introdus un automat de gestionare a cache a datelor .
- Este de ajuns pentru a face upgrade doar serverul master (nicio modificare în serverele bucată "sau clienților codul s-au făcut).
- Mecanismul de cache nucleu mereu a existat, dar până în prezent cache-ul a fost mereu deviată la deschiderea unui fișier. Acum MooseFS controlează dacă să-l sau nu clar de a verifica dacă fișierul a fost sau nu modificat de un alt client. Să ne uităm la unele scenarii.
- Primul scenariu:
- 1. Computer Un fișier citește X
- 2. Computer B citește fișier X
- 3. Computer Un vrea să citească fișierul X - am lăsa cache (fișierul nu a fost modificat)
- Al doilea scenariu:
- 1. Computer Un fișier citește X
- 2. Computer Un scrie fișier X
- 3. Computer Un vrea tor citit dosarul X - am lăsa cache (fișierul a fost schimbat, dar de calculator O stie despre aceste schimbari)
- scenariu a treia:
- 1. Computer Un fișier citește X
- 2. Computer B scrie la dosar X
- 3. Computer Un vrea să citească fișierul X - aici avem de a forța pentru a goli cache-ul (pentru că modificările au fost făcute de calculator B și Informatică A nu știe despre ele)
- În medii reale prima și a doua scenarii se intampla cu mult mai des decât al treilea scenariu și de aceea este rezonabil să părăsească conținutul cache și pentru a obține performanța generală a sistemului.
- Desigur, există unele scenarii medii (dar și a existat înainte) ca acesta:
- 1. Computer Un deschide dosar X și îl citește complet (fișierul rămâne în cache)
- 2. Computer B modifică fișierul X
- 3. Computer Un citește din nou fișier X (dar fără a închide sau redeschiderea ea - doar se deplasează la poziția 0 și recitind-l)
- În această situație computer A ar primi aceleași date ca și în etapa 1, dar la fel sa întâmplat și în MooseFS înainte.
- O nodatacache atribut a fost introdus, de asemenea, care interzice la cache-un fișier. De la versiunea 1.6.17 a fișierelor cu nodatacache atribut se comporte ca fișiere făcut în versiunile mai vechi ale MooseFS. Acest pavilion poate fi utilizat cu instrumente mfsseteattr, mfsdeleattr și mfsgeteattr.
- Acest drapel a fost adaugat preventiv și, probabil, nu va fi nevoie să-l folosească. Dacă după un timp, se pare că acest lucru este într-adevăr inutil acesta va fi șters. Dar dacă veți găsi orice caz / scenariu care solicită dezactivarea mecanismul automat cache vă rugăm să împărtășească cu noi.
Comentariile nu a fost găsit