ZFS (sistem de fișiere)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
ZFS
Date generale
Dezvoltator Sun Microsystems
Numele complet ZFS
Introducere Noiembrie 2005 OpenSolaris
Structura
Structura conținutului directorului Masa extensibila extensibila
Limite
Dimensiunea maximă a unui fișier 16 exabytes
Numărul maxim de fișiere 2 48
Dimensiunea maximă a volumului 16 exabytes
Caracteristici
Furculiţă Da (numite atribute extinse)
Atribute POSIX
Permisiuni de sistem de fișiere POSIX
Compresie transparentă Da
Criptare transparentă Da [1]

ZFS este un sistem de fișiere open source dezvoltat de Sun Microsystems pentrusistemul său de operareSolaris . A fost proiectat de o echipă condusă de Jeff Bonwick . [2] Numele original ar fi trebuit să fie „ Zettabyte File System”, dar a devenit un acronim.

ZFS este cunoscut pentru capacitatea sa ridicată și pentru integrarea mai multor concepte preluate din diferite sisteme de fișiere într-un singur produs.

ZFS a fost anunțat în septembrie 2004 [3] . Codul sursă a fost lansat alături de codul Solaris la 31 octombrie 2005 [4] și lansat în versiunea OpenSolaris 27 pe 16 noiembrie 2005 . ZFS a fost livrat împreună cu actualizarea Solaris 10 6/06 în iunie 2006 [5] .

ZFS a fost lansat sub licența de dezvoltare și distribuție comună ( CDDL ).

În iunie 2007, a fost anunțată adoptarea ZFS pentru Mac OS X Leopard de la Apple , apoi a negat știrea în timpul WWDC07 Brian Croll, director senior de marketing de produse pentru Mac OS, care a declarat că „ZFS nu va fi”.

Capacitate

ZFS este un sistem de fișiere pe 128 de biți , deci poate oferi spațiu de 18,4 miliarde de ori mai mare decât capacitatea sistemelor de fișiere pe 64 de biți . Limitele ZFS sunt concepute astfel încât să fie atât de largi încât să nu fie atinse niciodată în nicio operațiune practică. Bonwick a spus că „toate discurile de pe pământ nu ar fi suficiente pentru a umple un sistem de fișiere pe 128 de biți”.

Unele dintre limitările teoretice ale sistemului de fișiere Zettabyte (ZFS):

  • 2 48 - numărul instantaneelor ​​(3 × 10 14 );
  • 2 48 - numărul dosarului (3 × 10 14 );
  • 16 exabytes - dimensiunea maximă a unui sistem de fișiere;
  • 16 exabytes - dimensiunea maximă a unui singur fișier;
  • 16 exabytes - dimensiunea maximă a unui atribut;
  • 3 × 10 23 petabytes - dimensiunea maximă a unui zpool;
  • 2 56 - numărul de atribute ale unui fișier (în prezent limitat la 2 48 );
  • 2 56 - numărul de fișiere dintr-un director (în prezent limitat la 2 48 );
  • 2 64 - numărul de dispozitive pentru fiecare zpool;
  • 2 64 - numărul zpool;
  • 2 64 - numărul de sisteme de fișiere dintr-un zpool.

Un utilizator care dorea să creeze o mie de fișiere pe secundă ar dura 9000 de ani pentru a ajunge la limită.

„Deși ne dorim ca legea lui Moore să poată continua pentru totdeauna, mecanica cuantică impune niște limite fundamentale pentru calculul de calcul și capacitatea de stocare a oricărei unități fixe. În special, s-a demonstrat că un kilogram de materie limitată într-un litru de spațiu poate efectua cel mult 10 51 de operații pe secundă pe cel mult 10 31 de biți de informație (vezi Seth Lloyd, „Limite fizice finale la calcul”. Nature 406 , 1047 -1054 (2000)). Un pool de stocare completat pe 128 de biți ar trebui să conțină 2 128 blocuri (nibble) = 2 137 bytes = 2 140 bits; deci spațiul minim necesar ar trebui să fie (2 140 biți) / (10 31 biți / kg) = 136 miliarde kg.
Cu limita de 10 31 biți / kg, întreaga masă a unui computer ar trebui să fie sub formă de energie pură. Conform ecuației E = mc 2 , energia reziduală de 136 miliarde kg este de 1,2x10 28 J. Masa oceanului este de aproximativ 1,4x10 21 kg. Ar fi nevoie de 4.000 J pentru a crește temperatura cu 1 kg de apă la 1 grad Celsius și aproximativ 400.000 J pentru a fierbe 1 kg de apă cu gheață. Etapa de vaporizare necesită încă 2 milioane J / kg. Energia necesară fierberii oceanului este de aproximativ 2,4x10 6 J / kg * 1,4x10 21 kg = 3,4x10 27 J. Deci, umplerea stocării pe 128 de biți ar trebui să necesite mai multă energie decât fierberea oceanelor. "

Platforme

ZFS este inclus în Solaris pe sistemele SPARC și x86 . Pool-urile și sistemele de fișiere ZFS asociate pot fi mutate între sistemele SPARC și x86, indiferent de ordinea octeților.

Portat pe Linux [6] . Trebuie remarcat faptul că, datorită licenței care protejează ZFS, acesta nu poate fi integrat în kernel, ci trebuie să funcționeze în mod necesar la nivelul utilizatorului prin intermediul FUSE sau să fie distribuit ca un modul extern. Proiectul ZFS pe Linux [7] a fost într-adevăr portat la nivelul nucleului, permițând utilizatorilor să utilizeze acest sistem de fișiere cu performanțe native. Acest lucru este posibil, deoarece incompatibilitatea dintre licența GNU GPL (cu care este licențiat kernel-ul Linux) și CDDL este limitată doar la integrarea directă și distribuția acestui sistem de fișiere în kernel. Aceasta înseamnă că nu veți putea distribui un nucleu cu ZFS integrat, dar îl veți putea distribui ca un modul extern.

Echipa de dezvoltare BSD portează, de asemenea, acest sistem de operare. Pe FreeBSD , ZFS este deja disponibil, chiar și în producție, de la versiunea 7.0. Portarea pe NetBSD este în curs. OpenBSD a declarat că nu va implementa ZFS deoarece consideră licența incompatibilă cu politica lor de dezvoltare [8] .

ZFS este implementat în prezent în PC-BSD ca sistem de fișiere implicit. Există proiecte pentru portarea pe macOS și Windows .

Model tranzacțional copiere pe scriere

ZFS folosește metoda tranzacțională de copiere pe scriere orientată pe obiect. Toate indicatoarele de bloc conțin o sumă de control pe 256 de biți. Blocul este verificat la fiecare citire. Blocurile care conțin date nu sunt niciodată suprascrise: în schimb este alocat un bloc nou unde sunt scrise datele modificate; orice bloc de metadate care se referea la vechiul bloc este realocat. Pentru a reduce cheltuielile generale, scrierile multiple sunt grupate în tranzacții.

Instantanee

Deoarece ZFS nu suprascrie datele din blocurile lor inițiale, realizarea unui instantaneu înseamnă a nu șterge blocurile care conțin date vechi. Avantajul este că instantaneele sunt foarte rapide.

Dimensiunea blocului variabil

Sistemul de fișiere ZFS utilizează blocuri de dimensiuni variabile de până la 128 KB.

Dacă este activată compresia, datele pot fi scrise într-o dimensiune mai mică a blocului.

Bazinele de depozitare

ZFS este construit pe un set de pool-uri de stocare virtuală. Piscinele se bazează pe unul sau mai multe dispozitive virtuale (vdevs), fiecare dintre acestea putând face referire la un dispozitiv fizic, la o oglindă ( RAID 1 ) a unuia sau mai multor dispozitive sau la un grup de dispozitive RAID Z. Spațiul tuturor vdev-urilor este pus la dispoziția tuturor sistemelor de fișiere din zpool.

Pentru a limita spațiul, a fost stabilită gestionarea cotei de disc .

Crearea unui sistem de fișiere ușor

Crearea unui sistem de fișiere ușor într-un pool de stocare ZFS este rapidă și ușor de realizat, aproape la fel ca crearea unui director.

Caracteristici suplimentare

  • Prioritate I / O cu programare limită
  • Comandare și agregare I / O optimă
  • Flux de preluare multiplu și automat
  • Operațiile din director funcționează în paralel și cu o unitate de timp constantă
  • ZFS respectă standardul POSIX în ceea ce privește sistemele de fișiere: nu este necesară modificarea aplicațiilor, acestea lucrează deja cu noul sistem de fișiere.

Notă

  1. ^ Oracle Solaris 11 Express 2010.11 - Ce este nou
  2. ^ Blogul lui Jeff Bonwick. Arhivat 13 februarie 2010 la Internet Archive ., Sun Microsystems
  3. ^ http://www.sun.com/2004-0914/feature/ Arhivat 28 aprilie 2006 la Internet Archive . ZFS: ultimul cuvânt din sistemele de fișiere
  4. ^ Copie arhivată la blogs.sun.com . Adus la 30 aprilie 2006 (arhivat din original la 13 octombrie 2012) . ZFS: Ultimul cuvânt din sistemele de fișiere
  5. ^ http://www.sun.com/smi/Press/sunflash/2006-06/sunflash.20060620.1.xml Sun sărbătorește aniversarea cu succes de un an a OpenSolaris
  6. ^ Sun Microsystems
  7. ^ http://zfsonlinux.org/ Pagina principală a proiectului ZFS pe Linux
  8. ^ https://www.openbsd.org/faq/faq1.html#HowAbout OpenBSD FAQ

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT