Bcachefs Linux Kernelera sustatzea

Kent Overstreet-ek, Linux nukleoaren parte den BCache SSD bloke-gailuen cache-sistemaren egileak, Bcachefs fitxategi-sistema sustatzeko lanaren emaitzak laburbildu zituen LSFMM 2023 konferentzian (Linux Storage, Filesystem, Memory Management) bere hitzaldian. & BPF Summit). Linux kernelaren osaera nagusian sartu eta FS hau garatzeko planei buruz hitz egin zuen. Maiatzean, Bcachefs FSren ezarpenarekin adabaki sorta eguneratua proposatu zen berrikusteko eta Linux nukleoaren osaera nagusian sartzeko. FS Bcachefs-ek 10 urte inguru daramatza garatzen. Nukleoan sartu aurretik Bcachefs inplementazioa berrikusteko prest zegoela 2020aren amaieran iragarri zen, eta adabakien egungo bertsioak aurreko berrikuspenean identifikatutako iruzkinak eta gabeziak hartzen ditu kontuan.

Bcachefs garapenaren helburua errendimendu, fidagarritasun eta eskalagarritasun XFS mailara iristea da, Btrfs eta ZFS-en berezko ezaugarri osagarriak eskaintzen dituen bitartean, hala nola gailu anitz partizio batean sartzea, geruza anitzeko biltegiratze diseinuak, erreplikazioa (RAID 1/10), cachea, datuen konpresio gardena (LZ4, gzip eta ZSTD moduak), egoera zatiak (instantaneak), osotasuna egiaztatzea checksumen bidez, Reed-Solomon akatsak zuzentzeko kodeak gordetzeko gaitasuna (RAID 5/6), informazioa biltegiratze zifratua (ChaCha20 eta Poly1305). erabiltzen dira). Errendimenduari dagokionez, Bcachefs Btrfs eta Copy-on-Write mekanismoan oinarritutako beste fitxategi-sistemen aurretik dago, eta Ext4 eta XFS-tik gertu dagoen errendimendua erakusten du.

Bcachefs-en garapenean izandako azken lorpenen artean, idazteko eskuragarri dauden argazkien ezarpenaren egonkortzea nabarmentzen da. Btrfs-ekin alderatuta, Bcachefs-en argazkiak orain askoz hobeto eskalagarriak dira eta Btrfs-en berezko arazoetatik libre daude. Praktikan, argazkien lana probatu zen MySQL babeskopiak antolatzean. Bcachefs-ek ere lan handia egin du eskalagarritasuna hobetzeko - fitxategi-sistemak ondo funtzionatu du 100 TB-ko biltegian probak egiteko, eta etorkizun hurbilean Bcachefs 1 PB-ko biltegian inplementatzea espero da. Nocow modu berri bat gehitu da "copy-on-write" (nocow) mekanismoa desgaitzeko. Udan, akatsak zuzentzeko kodeak eta RAIDZ ezarpena egoera egonkor batera eramatea aurreikusi dute, baita fsck utilitatearekin fitxategi-sistemak leheneratu eta egiaztatzeko memoria-kontsumo handiko arazoak konpontzeko ere.

Etorkizunerako planetatik, Bcachefs-en garapenean Rust hizkuntza erabiltzeko nahia aipatzen da. Bcachefs-en egilearen esanetan, kodetzea gustatzen zaio, ez kodea araztea, eta orain zoramena da kodea C-n idaztea aukera hoberik dagoenean. Rust-ek dagoeneko parte hartzen du Bcachefs-en erabiltzaile-espazioko utilitate batzuen inplementazioan. Gainera, pixkanaka-pixkanaka Bcachef-ak Rust-en berridazteko ideia sortzen ari da, hizkuntza hau erabiltzeak arazketa-denbora nabarmen aurrezten baitu.

Bcachefs Linux kernelaren korronte nagusira eramateari dagokionez, adopzio-prozesua atzeratu egin daiteke aldaketen tamaina handia dela eta (2500 adabaki eta 90 mila kode-lerro inguru), berrikustea zaila dena. Berrikuspena bizkortzeko, garatzaile batzuek adabaki seriea zati txikiago eta logikoki bereizietan banatzea proposatu dute. Eztabaidan zehar, parte-hartzaile batzuek garatzaile batek proiektuaren garapenaz eta bere garatzaileari zerbait gertatuz gero kodea mantendu gabe uzteko arriskuaz ere jarri zuten arreta (Red Hat-eko bi langile proiektuan interesatuta daude, baina euren lana oraindik ere badago). akatsen konponketa mugatua).

Bcachefs Bcache bloke gailuaren garapenean dagoeneko probatutako teknologien bidez garatu da, SSD azkarretan disko gogor moteletarako sarbidea gordetzeko diseinatua (3.10 bertsiotik aurrera nukleoan sartuta). Bcachefs-ek Copy-on-Write (COW) mekanismoa erabiltzen du, eta bertan aldaketek ez dute datuak gainidaztea eragiten; egoera berria kokapen berri batean idazten da, eta ondoren uneko egoeraren adierazlea aldatzen da.

Bcachefs-en ezaugarri bat geruza anitzeko unitateen konexioa onartzen da, zeinetan biltegiratzea hainbat geruzaz osatuta - disko azkarrenak (SSD) beheko geruzara konektatuta daude, maiz erabiltzen diren datuak cacheatzeko erabiltzen direnak eta goiko geruzako formak. eskari gutxiagoko datuak gordetzen dituzten disko zabalagoak eta merkeagoak. Idazketa-cachea geruzen artean erabil daiteke. Unitateak dinamikoki gehi daitezke eta partizio batetik kendu daitezke fitxategi-sistemaren erabilera eten gabe (datuak automatikoki migratzen dira).

Iturria: opennet.ru

Gehitu iruzkin berria