A prumuzione di Bcachefs à u Kernel Linux

Kent Overstreet, l'autore di u BCache SSD block device caching system, chì face parte di u kernel Linux, hà sintetizatu i risultati di u travagliu nantu à a prumuzione di u sistema di schedari Bcachefs in u so discorsu à a cunferenza LSFMM 2023 (Linux Storage, Filesystem, Memory Management). & BPF Summit). in a cumpusizioni principali di u kernel Linux è hà parlatu di i piani per u sviluppu ulteriore di stu FS. In u maghju, un settore aghjurnatu di patches cù l'implementazione di u Bcachefs FS hè statu prupostu per rivisione è inclusi in a cumpusizioni principali di u kernel Linux. FS Bcachefs si sviluppa da circa 10 anni. A prontezza per rivisione l'implementazione di Bcachefs prima di l'inclusione in u core hè stata annunziata à a fine di u 2020, è a versione attuale di i patchs piglia in contu i cumenti è i difetti identificati durante a revisione precedente.

L'ughjettu di sviluppu di Bcachefs hè di ghjunghje à u livellu XFS in rendiment, affidabilità è scalabilità, mentre furnisce funzioni supplementari inerenti in Btrfs è ZFS, cum'è includendu parechji dispositi in una partizione, layout di almacenamento multi-layer, replicazione (RAID 1/10), caching, compressione di dati trasparenti (modi LZ4, gzip è ZSTD), fette di statu (snapshots), verificazione di integrità per checksums, capacità di almacenà codici di correzione di errore Reed-Solomon (RAID 5/6), almacenamentu criptatu di informazioni (ChaCha20 è Poly1305). sò usati). In quantu à u rendiment, Bcachefs hè davanti à Btrfs è altri sistemi di fugliale basati nantu à u mecanismu Copy-on-Write, è dimostra u rendiment vicinu à Ext4 è XFS.

Di l'ultimi rializazioni in u sviluppu di Bcachefs, a stabilizazione di l'implementazione di snapshots dispunibuli per a scrittura hè nutata. Comparatu à Btrfs, i snapshots in Bcachefs sò avà assai megliu scalabili è liberi da i prublemi inherenti à Btrfs. In pratica, u travagliu di i snapshots hè statu pruvatu à urganizà backups MySQL. Bcachefs hà ancu fattu assai travagliu per migliurà a scalabilità - u sistema di fugliale hà fattu bè in teste in 100 TB di almacenamiento, è Bcachefs hè previstu di esse implementatu in 1 PB storage in un futuru vicinu. Un novu modu nocow hè statu aghjuntu per disattivà u mecanismu "copy-on-write" (nocow). Duranti l'estiu, pensanu à purtà l'implementazione di codici di correzione d'errore è RAIDZ à un statu stabile, è ancu di risolve i prublemi cù un altu cunsumu di memoria quandu restaurà è cuntrollà i sistemi di schedari cù l'utilità fsck.

Di i piani per u futuru, u desideriu di utilizà a lingua Rust in u sviluppu di Bcachefs hè mintuatu. Sicondu l'autore di Bcachefs, li piace à u codice, micca à debug codice, è avà hè pazza di scrive codice in C quandu ci hè una opzione megliu. Rust hè digià implicatu in Bcachefs in l'implementazione di alcune di l'utilità di u spaziu di l'utilizatori. In più, l'idea hè ghjunta per riscrive gradualmente completamente Bcachefs in Rust, postu chì l'usu di sta lingua risparmia significativamente u tempu di debugging.

In quantu à u muvimentu di Bcachefs in u mainstream di u kernel Linux, u prucessu di adopzione pò esse ritardatu per via di a grandezza di i cambiamenti (2500 patches è circa 90 mila linee di codice), chì hè difficiule di rivisione. Per accelerà a revisione, alcuni sviluppatori anu suggeritu di sparghje a serie di patch in parti più chjuche è più logicamente separate. Duranti a discussione, certi participanti anu ancu attiratu l'attenzione à u sviluppu di u prugettu da un sviluppatore è u periculu chì u codice puderia esse lasciatu senza mantenimentu se qualcosa succede à u so sviluppatore (dui impiegati Red Hat sò interessati à u prugettu, ma u so travagliu hè sempre. correzioni di bug limitate).

Bcachefs hè sviluppatu utilizendu tecnulugii digià pruvati in u sviluppu di u dispositivu di bloccu Bcache, pensatu per cache l'accessu à i discu duru lenti nantu à i dischi SSD veloci (inclusi in u kernel da a versione 3.10). Bcachefs utilizeghja u mecanismu Copy-on-Write (COW), in quale i cambiamenti ùn portanu micca à a sovrascrittura di dati - u novu statu hè scrittu à un novu locu, dopu chì l'indicatore di u statu attuale cambia.

Una caratteristica di Bcachefs hè u supportu per a cunnessione multi-layer di unità, in quale l'almacenamiento hè cumpostu di parechji strati - i drive più veloci (SSD) sò cunnessi à a capa di fondu, chì sò usati per cache di dati spessu usati, è e forme di capa superiore. dischi più capienti è più economici chì almacenanu dati menu dumandati. A cache di scrittura pò esse usata trà strati. Unità pò esse aghjuntu dinamicamente è staccatu da una partizione senza interrompe l'usu di u sistema di fugliale (i dati migranu automaticamente).

Source: opennet.ru

Add a comment