vineri, decembrie 6, 2024

Filesystem-ul e baza

În IT, ca și în alte domenii ale tehnicii și în general ale activităților umane, există zone vizibile și zone mai puțin vizibile în care se petrec schimbările. Îmi plac exemplele din construcții pentru că e o disciplină care are baze științifice stabilite cu 200 de ani în urmă, rădăcini milenare și produce rezultate vizibile. Așa că voi pierde un minut vorbind despre betonul armat. Introducerea acestuia în construcții nu a avut în sine nici un efect vizibil, grinzile, fundațiile și pilonii fiind oricum acoperite de zidărie, ornamente și tencuieli de cele mai multe ori. Însă rezultatul general a fost posibilitatea ridicării unor construcții de dimensiuni mult mai mari: zgârie-nori, viaducte uriașe, piloni incredibili.

Un astfel de ingredient de bază este în IT filesystem-ul. Acesta se referă în principal la modul în care informația este stocată pe disc. Sună plictisitor, tot ceea ce trebuie să știm este să apăsăm butonul “Save” ; restul este problema sistemului de operare.

Computerele personale au folosit inițial un filesystem foarte simplu, date fiind pretențiile limitate de la început, e vorba de celebrul FAT, completat ulterior cu câteva extensii neesențiale.

FAT și-a făcut treaba ( și încă și-o mai face ) fiind simplu, codul sursă care se ocupă de această treabă este și el simplu și deci robust .

Principala limitare esențială (cele neesențiale, precum dimensiunea maximă a discului pe care îl putea accesa s-au putut sau s-ar fi putut cumva rezolva) a apărut abia când Microsoft a avut nevoie să treacă la sistemele de operare multiuser , cu Windows NT și apoi familia Windows 2000. Fișierele stocate pe disc nu aveau nici un fel de informație referitoare la: cărui user aparțin, cine are dreptul să le citească sau să le scrie și cine nu etc.

Bineînțeles, aceleași probleme se puseseră deja și în lumea Unix, unde sistemele au fost de la început gândite ca fiind multiuser ( scenariul tipic de lucru fiind un computer la care sunt atașate mai multe terminale) . La momentul respectiv exista deja ext2, filesystem care încă destul de folosit ( mai ales prin succesorii săi ext3 și ext4) le mașinile Linux; acesta conține un sistem simplu și robust de definire a drepturilor de acces, așa că dezvolatorii NTFS au avut o sursă de inspirație și au reușit să implementeze un filesystem modern, fiabil și puternic, deși destul de stufos.

Abia în ultimii ani, pe măsură ce datele devin din ce în ce mai multe iar prelucrarea lor e o provocare, a început să se vorbească de o nouă generație de filesysteme. Am mai vorbit într-un articol precedent, cel despre moștenirea SUN, despre zfs. ZFS este o adevărată “mașinărie infernală”  care permite administratorului să  organizeze datele în RAID , să le cripteze , să le comprime , să realizeze “snapshot-uri” ( adică să păstreze situația datelor la un moment dat în timp ce computerul le modifică )

Facilitatea centrală este cea de copy on write în care datele nu sunt modificate la scriere, ci se realizează o copie a lor.

ZFS este un filesystem foarte interesant, însă folosirea sa este limitată de probleme de licențiere; nu am studiat exact situația însă suportul pentru acesta nu a putut fi inclus în kernel-ul de Linux ( se poate face folosind un driver în “userspace” însă nu e chiar același lucru)

Din aceeași familie face parte și BTRFS, un filesystem a cărui istorie începe tot la Oracle ( acolo unde se sfârșește momentan istoria ZFS prin achiziția SUN)  . Acesta este licențiat sub GPL și este inclus de ceva vreme în kernelul Linux, însă în general administratorii de system se cam tem de el, considerându-l insuficient testat. Ori, probabil un filesystem cu bug-uri e cam cel mai rău lucru care se poate întâmpla cu o bază de date, exceptând poate, intrarea unui Boeing cu tot cu pasageri în clădirea respectivă.

Iată însă că în ultima vreme sunt câteva vești interesante de la Facebook: aceștia au angajat o parte din dezvoltatorii care lucrează la BTRFS și se pare că plănuiesc să înceapă câteva teste pe serverele lor Deocamdată s-a anunțat că e vorba de partea de web , care e mai ușor de restaurat în caz de “catastrofă” ( datele fiind păstrate în baza de date, cel mult putem avea surpriza să nu funcționeze site-ul sau să funcționeze prost, ceea ce nici măcar n-ar fi o noutate) . Chiar dacă până acum Facebook nu s-ar spune că a excelat în materie de inovație tehnică, vestea mă bucură pentru că e vorba de o bază de test semnificativă; dacă filesysemul va funcționa la Facebook, probabil că va putea fi folosit oriunde altundeva. De asemenea, nu cred că un eventual prim eșec ar fi chiar o catastrofă majoră, dat fiind specificul companiei. Probabil că e pentru prima dată când sintagma “teste pe oameni” nu mă sperie.

Distribuie acest articol

9 COMENTARII

  1. Domnule, sunteti tare!
    Nu glumesc deloc, urmaresc articolele Dvs de cand ati devenit Contributor :) . Foarte tari! Desi stiu ca nu se pot compara mere cu pere atat de usor, eu am sa incerc: daca si ceilalti Contributori ar fi la fel de profesionisti si de pasionati de domeniul lor ca Dvs, ar fi si mai bine decat e. Asta nu inseamna, insa, ca acum e rau…
    Cu stima!

    • Eu imi permit sa fiu critic, cred ca articolul de fata este unul dintre cele mai slabe de pe acest site: Personal nu am inteles despre ce este vorba si asta cu siguranta nu dintr-o prea putina cultura IT. Nu inteleg de ce Filesystem-ul este baza, de ce nu sistemul de operare, procesorul, driverele, alocarea memoriei, whatever… oricare dintre ele cantaresc in functionarea unui sistem dar pana la urma niciunul nu este nici o baza luat de unul singur. …o sa presupun ca titlul se datoreaza unui tic verbal al autorului caci altfel nu se poate explica.
      Nu inteleg care este scopul articolului. Doreste sa faca o prezentare a sistemelor de fisiere existente? atunci este absolut superficial si lipsit de orice strucutura. Doreste sa anunte ca Facebook lucreaza la implementarea unui sistem de fisiere? …atunci modul de prezentare este absolut nepotrivit 90% din articol fiind pe langa subiect.
      Nu inteleg de ce unele cuvinte trebuiesc sa stea intre ghilimele ex. „catastrofa” si de ce exista farnturi de idei care au sens doar in mintea autorului, ex: Probabil că e pentru prima dată când sintagma “teste pe oameni” nu mă sperie.

      Poate este o forma de arta necunoscuta mie, dar din punct de vedere tehnic cat si literar articolul are valoare zero.

      • Pai si ce-ati facut? V-ati risipit talentul tehnico-literar si bunatate de nuvela (aproape) comentand ceva ce nu exista? Zero? Mai ca-mi vine sa recit refrenul din opusul Dvs de mai sus: nu inteleg…

      • Desigur ca nu am ce sa fac ca sa va placa articolul: nu v-a placut- asta e, se mai intamplă…
        Totusi, daca v-ati facut timp sa comentati, ințeleg că ați dori ceva de la această rubrică, și îndraznesc sa va rog sa detaliați.
        Pot sa va raspund însă la întrebarea „de ce e filesystemul baza” ( titlul aparține redacției, dar consider că reflectă relativ ok conținutul). O problema la sistemul de operare se poate remedia relativ simplu, în cel mai rău caz prin reinstalare. Datele sunt acolo. In momentul în care filesystemul – driverele lui mai precis încep să facă un puzzle din datele de pe disc, datele respective nu se mai recuperează decât poate în filmele cu Matrix. Din cauza asta administratorii sunt extrem de conservatori cu mașinile de producție și din cauza asta un test pe o scara așa de largă ( încă nu e confirmat oficial și nici nu stim amploarea deploymentului, presupun ca va fi în funcție de rezultate) la Facebook ar putea fi un punct de start pentru BTRFS.

  2. Daca tot vreti sa va dati geek in fata filozofilor de pe contributors, faceti-o dupa ce va documentati: inainte de Microsoft si celebrul (si infectul in acelasi timp) FAT computerele personale foloseau diverse alte sisteme de fisiere.
    Un exemplu CP/M (lansat undeva in 1973) https://en.wikipedia.org/wiki/CP/M#File_system.
    Cei de la Microsoft au avut nevoie de aproape 20 de ani ca sa inteleaga necesitatea unui OS multiuser si sa reuseasca o implementare.
    Iar in cazul NTFS cei de la MS au dat din nou rasol – au bagat cu furca o gramada de funtionalitati cerute de varii manageri ai clientilor, precum si unele copiate dupa HPFS al IBM (http://en.wikipedia.org/wiki/High_Performance_File_System) fara sa reuseasca sa le filtreze, rezultind un Frankenstein greu de gestionat.

    PS: Legat de FB, va recomand un articol foarte interesant despre procesele lor de engineering:
    http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/

  3. Cred ca eu am scris clar „computerele personale”. Aceasta denumire se refera strict la PC-uri.
    Dealtfel am apucat si CP/M-urile.
    HPFS si NTFS au o istorie comuna, legata de colaborarea Microsoft cu IBM. Totusi NTFS e robust si are cateva facilitati utile, ca de exemplu flag-ul de „inheritance” ( da, greu de gestionat).
    Multumesc pentru link-ul referitor la Facebook.

    • A personal computer (PC) is a general-purpose computer, whose size, capabilities and original sale price makes it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator.
      via: https://en.wikipedia.org/wiki/Personal_computer

      Practic personal computer (PC) este cam orice device cu procesor pe care o persoana si-l poate permite pentru uz personal, iar aici intra si computerele de la Altair, DEC si cam toate cele realizate pe z80. Diferenta fata de mainframes e modul de access (keyboard si ceva terminal – de preferat cu capabilitati grafice) si pretul.

  4. Asta e o definitie generica, notiunea de PC se foloseste de obicei intr-un sens mai restrans. Pentru cele cu z80 s-a folosit termenul de HC ( home computer).

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.

Autor

Mihai Badici
Mihai Badici
Absolvent al Facultății de Electronică si Telecomunicații București ( 1991) Administrator de sistem cu peste zece ani de experiență cu specializari in sisteme de stocare si securitatea datelor. De asemenea a absolvit in 1996 Facultatea de Litere la Universitatea Bucuresti. In prezent, consultant IT independent, colaboreaza pe mai multe proiecte legate de infrastructura de date.

Sprijiniți proiectul Contributors.ro

Carti

 

 

Nexus – Scurta istorie a retelelor informationale

Scurtă istorie a rețelelor informaționale din epoca de piatră până la IA
Editura Polirom, 2024, colecția „Historia”, traducere de Ioana Aneci și Adrian Șerban
Ediție cartonată
Disponibil pe www.polirom.ro și în librării din 27 septembrie 2024

 

Carti noi

Definiția actuală a schimbării climei“ a devenit un eufemism pentru emisiile de CO2 din era post-revoluției industriale, emisii care au condus la reificarea și fetișizarea temperaturii medii globale ca indicator al evoluției climei. Fără a proceda la o „reducție climatică“, prin care orice eveniment meteo neobișnuit din ultimul secol este atribuit automat emisiilor umane de gaze cu efect de seră, cartea de față arată că pe tabla de șah climatic joacă mai multe piese, nu doar combustibilii fosili. Cumpără cartea de aici.

Carti noi

 

Carte recomandata

Ediția a II-a adăugită.

„Miza războiului purtat de Putin împotriva vecinului său de la vest este mai mare decât destinul Ucrainei, echilibrul regional sau chiar cel european. De felul în care se va sfârși acest conflict depinde menținerea actualei ordini internaționale sau abandonarea ei, cu consecințe imprevizibile asupra întregii lumi pe termen mediu și lung. E o bătălie între democrație și dictatură, între regimurile liberale și cele autoritare... Cumpara volumul de aici

Pagini

Esential HotNews

contributors.ro

Contributors.ro este intr-o permanenta cautare de autori care pot da valoare adaugata dezbaterii publice. Semnaturile noi sunt binevenite cata vreme respecta regulile de baza ale site-ului. Incurajam dezbaterea relaxata, bazata pe forta argumentelor.
Contact: editor[at]contributors.ro