Bcachefs нь Линукс дээр суурилсан үйлдлийн системд зориулсан бичих дээр хуулбарлах файлын систем юм.
BcacheFS-ийн зохиогчийн хүчин чармайлт саяхан үр дүнгээ өгсөн бололтой танил болсон түүнийх гэсэн мэдээ файлын системийг эцэст нь хүлээн зөвшөөрч чадсан болон Линуксийн цөмийн кодтой нэгдэж, тодорхой болсон linux-дараагийн салбарт (энэ нь Линуксийн цөмийн ирээдүйн хувилбаруудын онцлогуудыг шалгадаг).
BcacheFS-ийн зохиогч Кент Оверстрит ердөө 3 жил гаруй хугацаанд өөрийн файлын системийг Линукс цөмийн үндсэн салбарын кодонд оруулахын тулд өнгөлөх талаар шаргуу ажилласан.
BcacheFS-ийг хүлээн зөвшөөрсөн ч гэсэн болон linux-дараагийн салбар болох хүсэлт рүү нэгдсэн код оруулахын тулд задлана BcacheFS үндсэн салбарт үүнийг Линус Торвалдс татгалзсан. Линуксийн эцгийн тайлбарт тэрээр Кент Оверстритэд эхлээд Linux-next-ийн туршилтын салбарт санал болгож буй засваруудын тохирлыг үнэлэхийг зөвлөсөн тул хэрэв шалгалт амжилттай болвол BcachefsFS-ийг 6.7 цөмд оруулах боломжтой. арванхоёрдугаар сард хүлээгдэж байна.
BcachefsFS-ийн талаар мэдэхгүй хүмүүсийн хувьд та үүнийг мэдэх ёстой энэ бол файлын систем юм боловсруулсан технологи ашиглах хөгжүүлэлтэд аль хэдийн туршиж үзсэн Bcache блок төхөөрөмж, хурдан SSD дээр удаан хатуу хөтчүүдэд хандах хандалтыг кэш хийхэд зориулагдсан (3.10 хувилбараас хойш цөмд орсон).
Bcachefs-ийг Линукс дээр аль хэдийн хүлээн зөвшөөрсөн дэлгэцийн агшин
Bcachefs бичих дээр хуулбарлах механизмыг ашигладаг (COW) өөрчлөлт нь өгөгдлийг дарж бичихэд хүргэдэггүй: шинэ төлөвийг шинэ байршилд бичиж, дараа нь одоогийн төлөвийн заагчийг өөрчилдөг.
Bcachefs-ийн зорилго нь XFS-ийн гүйцэтгэл, найдвартай байдал, өргөтгөх чадварын түвшинд хүрэх явдал юм. олон төхөөрөмж хуваах, олон давхаргат дискний байршил, хуулбарлах (RAID 1/10), ил тод өгөгдөл болон кэш хийх, LZ4, gzip болон ZSTD горимд шахах, эрүүл мэндийн тасалдал, хяналтын нийлбэр ашиглан бүрэн бүтэн байдлыг шалгах зэрэг нэмэлт Btrfs болон ZFS функцуудыг хангахын зэрэгцээ , Reed-Solomon алдаа засах кодыг хадгалах чадвар (RAID 5/6), мэдээллийг шифрлэгдсэн хэлбэрээр хадгалах (ChaCha20 ба Poly1305 ашигладаг).
Гүйцэтгэлийн хувьд, Bcachefs нь Btrfs болон бусад файлын системүүдээс түрүүлж байна Бичих дээр хуулбарлах механизм дээр суурилсан бөгөөд Ext4 болон XFS-тэй ойролцоо ажиллах хурдыг харуулдаг.
Онцлог шинж чанар Bcachefs нь олон давхаргат хөтөч холболтыг дэмждэгХадгалах хэсэг нь хэд хэдэн давхаргаас бүрддэг: илүү хурдан хөтчүүд (SSD) нь байнга ашиглагддаг өгөгдлийг кэш хийхэд ашигладаг доод давхаргад холбогдсон, дээд давхарга нь илүү хурдан дискний хөтчүүдээс бүрддэг. Өргөн цар хүрээтэй бөгөөд хэмнэлттэй. бага ашиглагддаг өгөгдлийг хадгалах сангаар хангах.
Буцаан бичих горимын кэшийг давхаргууд хооронд ашиглаж болно. Файлын системийг ашиглахаа зогсоохгүйгээр хөтчүүдийг динамикаар нэмж, салгаж болно (өгөгдөл автоматаар шилжинэ).
Үүнийг дурдах нь зүйтэй болов уу хамгийн сүүлийн үеийн ололт амжилтуудын тухай Bcachefs-ийг хөгжүүлэхэд бичих боломжтой хормын хувилбаруудын хэрэгжилтийг тогтворжуулах нь онцгой ач холбогдолтой юм. Btrfs-тэй харьцуулахад, Bcachefs дахь хормын хувилбарууд одоо илүү сайн цар хүрээтэй болж, Btrfs-д байдаг асуудалгүй болсон. Практикт MySQL нөөцлөлтийг зохион байгуулахдаа хормын хувилбаруудыг туршиж үзсэн.
Ирээдүйн төлөвлөгөөний тухайд Rust хэлийг ашиглах хүслийг багтаана Bcachefs боловсруулах үед. Кодыг дибаг хийхээс илүү програмчлалд дуртай Bcachefs-ийн зохиогчийн хэлснээр, одоо илүү сайн сонголт байгаа тул C хэл дээр код бичих нь галзуу юм.
Rust аль хэдийн Bcachefs-д хэрэглэгчийн орон зайд ажилладаг зарим хэрэгслийг хэрэгжүүлэхэд оролцдог. Нэмж дурдахад, энэ хэлийг ашиглах нь дибаг хийх цагийг ихээхэн хэмнэдэг тул Bcachefs-ийг аажмаар Rust дээр бүрэн дахин бичих санаа гарч ирж байна.
Эх сурвалж: https://www.phoronix.com