Igbega Bcachefs si Linux Kernel

Kent Overstreet, onkọwe ti eto caching ẹrọ dina BCache lori awọn awakọ SSD ti o wa ninu ekuro Linux, ninu ọrọ rẹ ni apejọ LSFMM 2023 (Ipamọ Linux, Eto faili, Iṣakoso Iranti & Summit BPF) ṣe akopọ awọn abajade iṣẹ lati ṣe igbega awọn Bcachefs eto faili sinu akopọ akọkọ ti ekuro Linux ati sọ nipa awọn ero fun idagbasoke siwaju ti FS yii. Ni Oṣu Karun, eto imudojuiwọn ti awọn abulẹ pẹlu imuse ti Bcachefs FS ni a dabaa fun atunyẹwo ati ifisi ni ekuro Linux akọkọ. FS Bcachefs ti n dagbasoke fun bii ọdun 10. Imurasilẹ lati ṣe atunyẹwo imuse Bcachefs ṣaaju ifisi sinu ekuro ni a kede ni ipari 2020, ati pe ẹya lọwọlọwọ ti awọn abulẹ gba sinu akiyesi awọn asọye ati awọn ailagbara ti a ṣe idanimọ lakoko atunyẹwo iṣaaju.

Ibi-afẹde ti Bcachefs ni lati ṣaṣeyọri ipele XFS ti iṣẹ ṣiṣe, igbẹkẹle ati iwọn, lakoko ti o pese awọn ẹya afikun ti Btrfs ati ZFS, gẹgẹbi ipin awọn ẹrọ pupọ, awọn ipilẹ awakọ pupọ-Layer, atunkọ (RAID 1/10), caching, transparent data funmorawon (LZ4, gzip ati awọn ipo ZSTD), awọn ege ipinlẹ (awọn aworan ifaworanhan), ijẹrisi iduroṣinṣin nipa lilo awọn sọwedowo, agbara lati ṣafipamọ awọn koodu atunṣe aṣiṣe Reed-Solomon (RAID 5/6), titoju alaye ni fọọmu ti paroko (ChaCha20 ati Poly1305 ti lo) . Ni awọn ofin ti iṣẹ ṣiṣe, Bcachefs wa niwaju Btrfs ati awọn ọna ṣiṣe faili miiran ti o da lori ilana Daakọ-lori-Kọ, ati ṣafihan iyara iṣẹ ti o sunmọ Ext4 ati XFS.

Awọn aṣeyọri tuntun ni idagbasoke ti Bcachefs pẹlu imuduro imuse ti awọn aworan aworan kikọ. Ti a fiwera si Btrfs, awọn aworan aworan ni Bcachefs ni bayi ṣe iwọn dara julọ ati pe o ni ofe awọn iṣoro ti o wa ninu Btrfs. Ni iṣe, iṣẹ ti snapshots ti ni idanwo nigbati o n ṣeto awọn afẹyinti MySQL. Bcachefs tun ti ṣe ọpọlọpọ awọn iṣẹ lati mu iwọn iwọn pọ si - eto faili ṣe daradara nigba idanwo lori awọn ibi ipamọ TB 100, ati pe a nireti Bcachefs ni imuse ni awọn ibi ipamọ 1 PB ni ọjọ iwaju nitosi. Ṣafikun ipo nocow tuntun lati mu ẹrọ-daakọ-on-write (nocow) ṣiṣẹ. Lakoko igba ooru wọn gbero lati mu imuse ti awọn koodu atunṣe aṣiṣe ati RAIDZ wa si ipo iduroṣinṣin, bi daradara bi yanju awọn iṣoro pẹlu agbara iranti giga nigba mimu-pada sipo ati ṣayẹwo FS pẹlu ohun elo fsck.

Awọn ero ọjọ iwaju pẹlu ifẹ lati lo ede Rust nigba idagbasoke Bcachefs. Gẹgẹbi onkọwe ti Bcachefs, o nifẹ siseto, kii ṣe koodu n ṣatunṣe aṣiṣe, ati pe o jẹ aṣiwere lati kọ koodu C ni bayi pe aṣayan ti o dara julọ ti farahan. Ipata ti kopa tẹlẹ ninu Bcachefs ni imuse diẹ ninu awọn ohun elo ti o ṣiṣẹ ni aaye olumulo. Pẹlupẹlu, ero naa ti wa ni idasilẹ lati ṣe atunkọ awọn Bcachefs patapata ni Rust, niwọn igba ti lilo ede yii ni pataki fipamọ akoko aṣiṣe.

Bi fun igbega Bcachefs si apakan akọkọ ti ekuro Linux, ilana isọdọmọ le jẹ idaduro nitori iwọn ti o tobi pupọ ti awọn iyipada (awọn abulẹ 2500 ati nipa awọn laini koodu 90 ẹgbẹrun), eyiti o nira lati ṣe atunyẹwo. Lati yara atunyẹwo, diẹ ninu awọn olupilẹṣẹ ti dabaa fifọ lẹsẹsẹ ti awọn abulẹ sinu awọn apakan ti o kere ati ti o ya sọtọ. Lakoko ijiroro naa, diẹ ninu awọn olukopa tun fa ifojusi si idagbasoke iṣẹ akanṣe nipasẹ olupilẹṣẹ kan ati ewu ti koodu naa le wa lainidi ti nkan ba ṣẹlẹ si olupilẹṣẹ rẹ (awọn oṣiṣẹ Red Hat meji ni o nifẹ si iṣẹ naa, ṣugbọn iṣẹ wọn tun ni opin. atunṣe aṣiṣe).

Bcachefs ti wa ni idagbasoke ni lilo awọn imọ-ẹrọ ti o ti ni idanwo tẹlẹ ninu idagbasoke ẹrọ bulọọki Bcache, ti a ṣe apẹrẹ lati kaṣe iraye si fa fifalẹ awọn awakọ lile lori awọn awakọ SSD iyara (pẹlu ekuro ti o bẹrẹ pẹlu itusilẹ 3.10). Bcachefs nlo ilana Daakọ-lori-Kọ (COW) ninu eyiti awọn ayipada ko yorisi atunkọ data - ipinlẹ tuntun ni a kọ si ipo tuntun, lẹhin eyiti itọkasi si ipo lọwọlọwọ ti yipada.

Ẹya kan ti Bcachefs jẹ atilẹyin fun asopọ ti ọpọlọpọ-Layer ti awọn awakọ, ninu eyiti ibi ipamọ jẹ ti awọn fẹlẹfẹlẹ pupọ - awọn awakọ ti o yara ju (SSD) ti sopọ si Layer isalẹ, eyiti a lo lati kaṣe data ti a lo nigbagbogbo, ati awọn fọọmu Layer oke. Awọn disiki ti o ni agbara diẹ sii ati din owo ti o tọju data ti o kere si. Ikọwe kikọ le ṣee lo laarin awọn fẹlẹfẹlẹ. Awọn awakọ le ṣe afikun ni agbara si ati ya sọtọ lati ipin kan laisi idilọwọ lilo eto faili (data n lọ ni adaṣe laifọwọyi).

orisun: opennet.ru

Fi ọrọìwòye kun