Vai al contenuto

Bcachefs: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Contenuto cancellato Contenuto aggiunto
Creata dalla traduzione della pagina "Bcachefs"
 
Nessun oggetto della modifica
Riga 1: Riga 1:
 
 


'''Bcachefs''' è un [[file system]] COW [[Copy-on-write|(copy-on-write]]) per sistemi operativi basati su [[Linux]] . Lo sviluppatore principale del progetto, Kent Overstreet, ne annunciò la nascita nel 2015 e venne aggiunto al [[Linux (kernel)|kernel Linux]] a partire dalla versione 6.7. <ref>{{Cita web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9e87705289667a6c5185c619ea32f3d39314eb1b|sito=git.kernel.org|dataaccesso=2023-10-31}}</ref> <ref name=":0">{{Cita web|url=https://www.phoronix.com/news/Linux-6.7-Released|sito=www.phoronix.com|lingua=en|dataaccesso=2024-01-07}}</ref> È concepito per competere con le funzionalità moderne offerte da [[ZFS (file system)|ZFS]] o [[Btrfs]] e con la velocità e le prestazioni messe a disposizione da [[ext4]] o [[XFS (file system)|XFS]] .
'''Bcachefs''' è un [[file system]] COW [[Copy-on-write|(copy-on-write]]) per sistemi operativi basati su [[Linux]] . Lo sviluppatore principale del progetto, Kent Overstreet, ne annunciò la nascita nel 2015 e venne aggiunto al [[Linux (kernel)|kernel Linux]] a partire dalla versione 6.7. <ref>{{Cita web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9e87705289667a6c5185c619ea32f3d39314eb1b|sito=git.kernel.org|dataaccesso=2023-10-31}}</ref> <ref name=":01">{{Cita web|url=https://www.phoronix.com/news/Linux-6.7-Released|sito=www.phoronix.com|lingua=en|dataaccesso=2024-01-07}}</ref> È concepito per competere con le funzionalità moderne offerte da [[ZFS (file system)|ZFS]] o [[Btrfs]] e con la velocità e le prestazioni messe a disposizione da [[ext4]] o [[XFS (file system)|XFS]] .


== Caratteristiche ==
== Caratteristiche ==
Bcachefs è un [[file system]] COW che offre caratteristiche interessanti quali: capacità di gestire in modo trasparente il caching dei dati, la possibilità di memorizzare informazioni in forma crittografata, utilizzando algoritmi come ChaCha20 e Poly1305, gestire nativamente [[Compressione dei dati|la compressione]] tramite [[LZ4]], [[gzip]] <ref>{{Cita web|url=https://bcachefs-docs.readthedocs.io/en/latest/options.html#compression-types}}</ref> e [[Zstd|Zstandard]], <ref name="b.PoO">{{Cita web|url=https://bcachefs.org/bcachefs-principles-of-operation.pdf|dataaccesso=10 May 2023}}</ref> [[snapshot]], [[Cyclic redundancy check|CRC-32C]] e [[checksum]] a 64 bit.
Bcachefs è un [[file system]] COW che offre caratteristiche interessanti quali: capacità di gestire in modo trasparente il caching dei dati, la possibilità di memorizzare informazioni in forma crittografata, utilizzando algoritmi come ChaCha20 e Poly1305, gestire nativamente [[Compressione dei dati|la compressione]] tramite [[LZ4]], [[gzip]] <ref>{{Cita web|url=https://bcachefs-docs.readthedocs.io/en/latest/options.html#compression-types}}</ref> e [[Zstd|Zstandard]], <ref name="BchacheIO">{{Cita web|url=https://bcachefs.org/bcachefs-principles-of-operation.pdf|dataaccesso=10 May 2023}}</ref> [[snapshot]], [[Cyclic redundancy check|CRC-32C]] e [[checksum]] a 64 bit.


E' estremamente versatile e può estendersi su più dispositivi a blocchi, anche nelle configurazioni [[RAID]].
E' estremamente versatile e può estendersi su più dispositivi a blocchi, anche nelle configurazioni [[RAID]].
Riga 15: Riga 15:
Bcachefs viene descritto dagli stessi sviluppatori come un file system ''"funzionante e stabile, con una piccola comunità di utenti" ("working and stable, with a small community of users")''. <ref name="website_202404">{{Cita web|url=https://bcachefs.org}}</ref>
Bcachefs viene descritto dagli stessi sviluppatori come un file system ''"funzionante e stabile, con una piccola comunità di utenti" ("working and stable, with a small community of users")''. <ref name="website_202404">{{Cita web|url=https://bcachefs.org}}</ref>


Il 7 aprile 2024 però, [[Linus Torvalds]], parlando di Linux 6.9-rc3, toccò anche l'argomento bcachefs e riferendosi alla sua stabilità dichiarò che "se pensavi che bcachefs fosse già stabile, ''I have a bridge to sell you'' (modo per dire inglese che indica che qualcuno ti sta proponendo una truffa o una balla)".<ref name="lkml_012">{{cite mailing list|title=Linux 6.9-rc3|last=Torvalds|first=Linus|author-link=Linus Torvalds|date=2024-04-07|url=https://lore.kernel.org/lkml/CAHk-=whDuqyVC6xMkOnNt2EeTd-s4uqa3sYghj5UzkELFW2bpw@mail.gmail.com/|mailing-list=[[Linux kernel mailing list]]}}</ref>
Il 7 aprile 2024 però, [[Linus Torvalds]], parlando di Linux 6.9-rc3, toccò anche l'argomento bcachefs e riferendosi alla sua stabilità dichiarò che "se pensavi che bcachefs fosse già stabile, ''I have a bridge to sell you'' (modo per dire inglese che indica che qualcuno ti sta proponendo una truffa o una balla)".<ref name="lkml_012">{{cite web|title=Linux 6.9-rc3|last=Torvalds|first=Linus|author-link=Linus Torvalds|date=2024-04-07|url=https://lore.kernel.org/lkml/CAHk-=whDuqyVC6xMkOnNt2EeTd-s4uqa3sYghj5UzkELFW2bpw@mail.gmail.com/|mailing-list=[[Linux kernel mailing list]]}}</ref>


Tornato sull'argomento nell'agosto del 2024 Torvalds disse che "nessuno sano di mente utilizzerebbe bcachefs aspettandosi che sia stabile" ''("nobody sane uses bcachefs and expects it to be stable)''. <ref>{{Cita web|url=https://lore.kernel.org/lkml/CAHk-=wj1Oo9-g-yuwWuHQZU8v=VAsBceWCRLhWxy7_-QnSa1Ng@mail.gmail.com/}}</ref>
Tornato sull'argomento nell'agosto del 2024 Torvalds disse che "nessuno sano di mente utilizzerebbe bcachefs aspettandosi che sia stabile" ''("nobody sane uses bcachefs and expects it to be stable)''. <ref>{{Cita web|url=https://lore.kernel.org/lkml/CAHk-=wj1Oo9-g-yuwWuHQZU8v=VAsBceWCRLhWxy7_-QnSa1Ng@mail.gmail.com/}}</ref>

Versione delle 09:45, 12 nov 2024

 

Bcachefs è un file system COW (copy-on-write) per sistemi operativi basati su Linux . Lo sviluppatore principale del progetto, Kent Overstreet, ne annunciò la nascita nel 2015 e venne aggiunto al kernel Linux a partire dalla versione 6.7. [1] [2] È concepito per competere con le funzionalità moderne offerte da ZFS o Btrfs e con la velocità e le prestazioni messe a disposizione da ext4 o XFS .

Caratteristiche

Bcachefs è un file system COW che offre caratteristiche interessanti quali: capacità di gestire in modo trasparente il caching dei dati, la possibilità di memorizzare informazioni in forma crittografata, utilizzando algoritmi come ChaCha20 e Poly1305, gestire nativamente la compressione tramite LZ4, gzip [3] e Zstandard, [4] snapshot, CRC-32C e checksum a 64 bit.

E' estremamente versatile e può estendersi su più dispositivi a blocchi, anche nelle configurazioni RAID.

Le prime versioni di Bcachefs mettevano a disposizione tutte le funzionalità di Bcache, un sistema di cache a blocchi per Linux, con cui Bcachefs condivide circa l'80% del suo codice. A partire da dicembre 2021, la funzionalità di cache a livello di blocco è stata rimossa. [5]

A livello di struttura dati, bcachefs utilizza B-tree come molti altri file system moderni, ma con una dimensione del nodo insolitamente grande, impostata di default a 256 KiB. Questi nodi sono strutturati internamente in log, formando una struttura dati ibrida e riducendo la necessità di riscrivere i nodi durante l'aggiornamento. [6] Gli snapshot non vengono implementati clonando un albero COW, ma aggiungendo un numero di versione agli oggetti del file system. [7] La funzionalità COW e l' allocazione dei bucket consentono un'implementazione RAID che non soffrono di "write hole" (buchi di scrittura) o di frammentazione I/O. [5]

Stabilità

Bcachefs viene descritto dagli stessi sviluppatori come un file system "funzionante e stabile, con una piccola comunità di utenti" ("working and stable, with a small community of users"). [8]

Il 7 aprile 2024 però, Linus Torvalds, parlando di Linux 6.9-rc3, toccò anche l'argomento bcachefs e riferendosi alla sua stabilità dichiarò che "se pensavi che bcachefs fosse già stabile, I have a bridge to sell you (modo per dire inglese che indica che qualcuno ti sta proponendo una truffa o una balla)".[9]

Tornato sull'argomento nell'agosto del 2024 Torvalds disse che "nessuno sano di mente utilizzerebbe bcachefs aspettandosi che sia stabile" ("nobody sane uses bcachefs and expects it to be stable). [10]

Nell'agosto 2024, il responsabile Debian di bcachefs-tools, un pacchetto che fornisce "strumenti e documentazione per lo spazio utente", ha reso orfano il pacchetto, mettendo in dubbio la sua sostenibilità a lungo termine. Il responsabile ha inoltre commentato in un post del blog che: "Se si considera di utilizzare bcachef per qualsiasi tipo di utilizzo in produzione nel prossimo futuro, consiglierei di considerare prima quanto sia supportabile a lungo termine e se c'è davvero qualcuno che sta riuscendo a fornire un supporto stabile per esso". [11]

Storia

Lo sviluppatore principale è Kent Overstreet, lo stesso di Bcache, una tecnologia presente nel kernel Linux e che permette di creare dei volumi ibridi. A detta dello stesso Overstreet, Bcache è stato un "prototipo" che ha contribuito alla realizzazione di Bcachefs che ne è erede e sostituto.

L'idea di sviluppare il file system Bcachefs è nata dopo che gli sviluppatori di Bcache si sono resi conto che il codice "si stava evolvendo... in un file system POSIX completo e multiuso" ("been evolving... into a full blown, general-purpose POSIX filesystem") con un "design davvero pulito ed elegante" ("really clean and elegant design").

Dopo che Bcache venne integrato nel ramo di sviluppo principale del kernel Linux, nel 2013, Overstreet lasciò il suo lavoro presso Google per dedicarsi a tempo pieno su Bcachefs.

Nel 2015, dopo alcuni anni di sviluppo non finanziato, Overstreet annunciò Bcachefs nel 2015. La sua intenzione era quella di creare un file system avanzato con caratteristiche moderne come quelle di ZFS o Btrfs ma con la velocità e le prestazioni di file system come ext4 e XFS .

A partire dal 2017 Overstreet ha ricevuto supporto finanziario per lo sviluppo di Bcachefs tramite Patreon.


A metà del 2018 le patch per includere Bcachefs nel kernel Linux sono state inviate, ma non vennero accettate.

Nei primi mesi del 2019, le funzionalità richieste a Bcachefs sono state completate e le patch annunciate sulla KKML per essere sottoposte a revisione.

Nell'ottobre 2023 Bcachefs è stato integrato nel kernel Linux 6.7, [12] rilasciato nel gennaio 2024. [13]

Note

  1. ^ git.kernel.org, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9e87705289667a6c5185c619ea32f3d39314eb1b. URL consultato il 31 ottobre 2023.
  2. ^ (EN) www.phoronix.com, https://www.phoronix.com/news/Linux-6.7-Released. URL consultato il 7 gennaio 2024.
  3. ^ bcachefs-docs.readthedocs.io, https://bcachefs-docs.readthedocs.io/en/latest/options.html#compression-types.
  4. ^ bcachefs.org, https://bcachefs.org/bcachefs-principles-of-operation.pdf. URL consultato il 10 May 2023.
  5. ^ a b bcachefs.org, https://bcachefs.org/bcachefs-principles-of-operation.pdf. URL consultato il 10 May 2023.Overstreet, Kent (18 Dec 2021). "bcachefs: Principles of Operation" (PDF). Retrieved 10 May 2023.
  6. ^ bcachefs.org, https://bcachefs.org/Architecture/.
  7. ^ bcachefs.org, https://bcachefs.org/Snapshots/.
  8. ^ bcachefs.org, https://bcachefs.org.
  9. ^ Linus Torvalds, Linux 6.9-rc3, su lore.kernel.org, 7 aprile 2024.
  10. ^ lore.kernel.org, https://lore.kernel.org/lkml/CAHk-=wj1Oo9-g-yuwWuHQZU8v=VAsBceWCRLhWxy7_-QnSa1Ng@mail.gmail.com/.
  11. ^ jonathancarter.org, https://jonathancarter.org/2024/08/29/orphaning-bcachefs-tools-in-debian/.
  12. ^ (EN) www.phoronix.com, https://www.phoronix.com/news/Bcachefs-Merged-Linux-6.7. URL consultato il 31 ottobre 2023.
  13. ^ (EN) www.phoronix.com, https://www.phoronix.com/news/Linux-6.7-Released. URL consultato il 7 gennaio 2024.Larabel, Michael (2024-01-07). "Linux 6.7 Released With Bcachefs, Intel Meteor Lake In Good Shape & Nouveau GSP Support". www.phoronix.com. Retrieved 2024-01-07.

[[Categoria:Software del 2015]]