ืงื ื ืืืืจืกืืจืื, ืืืืจ ืืืืื Linux ืืขืจืืืช ืืืกืื ืืืืืื ืฉื ืืชืงื ื SSD ืฉื BCache, ืืืฆืืช ืฉืื ืืื ืก LSFMM 2023 (Linux Storage, Filesystem, Memory Management & BPF Summit) ะพะฑะพะฑัะธะป ัะตะทัะปััะฐัั ัะฐะฑะพัั ะฟะพ ะฟัะพะดะฒะธะถะตะฝะธั ัะฐะนะปะพะฒะพะน ัะธััะตะผั Bcachefs ะฒ ะพัะฝะพะฒะฝะพะน ัะพััะฐะฒ ัะดัะฐ Linux ะธ ัะฐััะบะฐะทะฐะป ะพ ะฟะปะฐะฝะฐั ะฟะพ ะดะฐะปัะฝะตะนัะตะผั ัะฐะทะฒะธัะธั ะดะฐะฝะฝะพะน ะคะก. ะ ะผะฐะต ะดะปั ัะตัะตะฝะทะธัะพะฒะฐะฝะธั ะธ ะฒะบะปััะตะฝะธั ะฒ ะพัะฝะพะฒะฝะพะน ัะพััะฐะฒ ัะดัะฐ Linux ะฑัะป ะฟัะตะดะปะพะถะตะฝ ะพะฑะฝะพะฒะปัะฝะฝัะน ะฝะฐะฑะพั ะฟะฐััะตะน ั ัะตะฐะปะธะทะฐัะธะตะน ะคะก Bcachefs. ะคะก Bcachefs ัะฐะทะฒะธะฒะฐะตััั ัะถะต ะพะบะพะปะพ 10 ะปะตั. ะ ะณะพัะพะฒะฝะพััะธ ัะตัะตะฝะทะธัะพะฒะฐะฝะธั ัะตะฐะปะธะทะฐัะธะธ Bcachefs ะฟะตัะตะด ะฒะบะปััะตะฝะธะตะผ ะฒ ัะพััะฐะฒ ัะดัะฐ ะฑัะปะพ ะพะฑััะฒะปะตะฝะพ ะตัั ะฒ ะบะพะฝัะต 2020 ะณะพะดะฐ ะธ ะฒ ัะตะบััะตะผ ะฒะฐัะธะฐะฝัะต ะฟะฐััะตะน ัััะตะฝั ะฒััะฒะปะตะฝะฝัะต ะฟัะธ ะฟัะพัะปะพะผ ัะตัะตะฝะทะธัะพะฒะฐะฝะธะธ ะทะฐะผะตัะฐะฝะธั ะธ ะฝะตะดะพัะฐะฑะพัะบะธ.
ืืืจืช ืืคืืชืื ืฉื Bcachefs ืืื ืืืืืข ืืจืืช XFS ืืืืฆืืขืื, ืืืื ืืช ืืืืจืืืืช, ืชืื ืืชื ืชืืื ืืช ื ืืกืคืืช ืืืืืืืช ื-Btrfs ื-ZFS, ืืืื ืืืืืช ืืชืงื ืื ืืจืืืื ืืืืืฆื, ืคืจืืกืืช ืืืกืื ืจื-ืฉืืืชืืืช, ืฉืืคืื (RAID 1/10), ืฉืืืจื ืืืืืื, ืืืืกืช ื ืชืื ืื ืฉืงืืคืื (ืืฆืื LZ4, gzip ื-ZSTD), ืคืจืืกืืช ืืฆื (ืฆืืืืื ืืฆื), ืืืืืช ืชืงืื ืืช ืขื ืืื ืกืืืื ืืืืงื, ืืืืืช ืืืืกื ืงืืื ืชืืงืื ืฉืืืืืช ืฉื Reed-Solomon (RAID 5/6), ืืืกืื ืืืฆืคื ืฉื ืืืืข (ChaCha20 ื-Poly1305 ืืฉืืืฉืื). ืืืืื ืช ืืืฆืืขืื, Bcachefs ืืงืืืื ืืช Btrfs ืืืขืจืืืช ืงืืฆืื ืืืจืืช ืืืืืกืกืืช ืขื ืื ืื ืื Copy-on-Write, ืืืืืืื ืืืฆืืขืื ืงืจืืืื ื-Ext4 ื-XFS.
ืืืื ืืืืฉืืื ืืืืจืื ืื ืืคืืชืื Bcachefs, ืืฆืืื ืืชืืืฆืืืช ืืืืฉืื ืชืฆืืืื ืืฆื ืืืืื ืื ืืืชืืื. ืืืฉืืืื ื-Btrfs, ืฆืืืืื ืืฆื ื-Bcachefs ื ืืชื ืื ืืืจืืื ืืจืื ืืืชืจ ืืื ืืืืคืฉืืื ืืืืขืืืช ืืืืืืืช ื-Btrfs. ืืคืืขื, ืขืืืืช ืืชืืื ืืช ื ืืืงื ืืขืช ืืจืืื ืืืืืื MySQL. Bcachefs ืื ืขืฉืชื ืขืืืื ืจืื ืืื ืืฉืคืจ ืืช ืืืืจืืืืช - ืืขืจืืช ืืงืืฆืื ืขืฉืชื ืืืฆืืขืื ืืืืื ืืืืืงืืช ืืืืกืื ืฉื 100 TB, ื-Bcachefs ืฆืคืืื ืืืืืช ืืืืฉืืช ืืืืกืื 1 PB ืืขืชืื ืืงืจืื. ืืฆื nocow ืืืฉ ื ืืกืฃ ืืื ืืืฉืืืช ืืช ืื ืื ืื "ืืขืชืง ืขื ืืชืืื" (nocow). ืืืืื ืืงืืฅ, ืื ืืชืื ื ืื ืืืืื ืืช ืืืืฉืื ืฉื ืงืืื ืชืืงืื ืฉืืืืืช ื-RAIDZ ืืืฆื ืืฆืื, ืืื ืื ืืคืชืืจ ืืขืืืช ืขื ืฆืจืืืช ืืืืจืื ืืืืื ืืขืช ืฉืืืืจ ืืืืืงืช ืืขืจืืืช ืงืืฆืื ืขื ืืื ืืฉืืจืืช fsck.
ืืืื ืืชืืื ืืืช ืืขืชืื ืืืืืจ ืืจืฆืื ืืืฉืชืืฉ ืืฉืคืช Rust ืืคืืชืื Bcachefs. ืืืืจื ืืืืืจ ืฉื Bcachefs, ืืื ืืืื ืืงืืื, ืื ืื ืคืืช ืืืืื ืืงืื, ืืขืืฉืื ืื ืืืืจืฃ ืืืชืื ืงืื ื-C ืืฉืืฉ ืืคืฉืจืืช ืืืื ืืืชืจ. Rust ืืืจ ืืขืืจืืช ื-Bcachefs ืืืืฉืื ืฉื ืืืง ืืฉืืจืืชื ืืจืื ืืืฉืชืืฉ. ืืชืจื ืืื, ื ืืงืข ืืจืขืืื ืืฉืืชื ืืืืจืื ืืืืืืื ืืช Bcachefs ื-Rust, ืฉืื ืืฉืืืืฉ ืืฉืคื ืื ืืืกื ืืืืคื ืืฉืืขืืชื ืืื ื ืืคืื ืืืืื.
ะงัะพ ะบะฐัะฐะตััั ะฟัะพะดะฒะธะถะตะฝะธั Bcachefs ะฒ ะพัะฝะพะฒะฝะพะน ัะพััะฐะฒ ัะดัะฐ Linux, ัะพ ะฟัะพัะตัั ะฟัะธะฝััะธั ะผะพะถะตั ะทะฐััะฝััััั ะธะท-ะทะฐ ะดะพััะฐัะพัะฝะพะน ะฑะพะปััะพะณะพ ัะฐะทะผะตัะฐ ะธะทะผะตะฝะตะฝะธะน (2500 ะฟะฐััะตะน ะธ ะพะบะพะปะพ 90 ััััั ัััะพะบ ะบะพะดะฐ), ะบะพัะพััะน ัััะดะฝะพ ัะตัะตะฝะทะธัะพะฒะฐัั. ะะปั ััะบะพัะตะฝะธั ัะตัะตะฝะทะธัะพะฒะฐะฝะธั ะฝะตะบะพัะพััะต ัะฐะทัะฐะฑะพััะธะบะธ ะฟัะตะดะปะพะถะธะปะธ ัะฐะทะฑะธัั ัะตัะธั ะฟะฐััะตะน ะฝะฐ ะฑะพะปะตะต ะผะตะปะบะธะต ะธ ะปะพะณะธัะตัะบะธ ัะฐะทะดะตะปัะฝะฝัะต ัะฐััะธ. ะ ะฟัะพัะตััะต ะพะฑััะถะดะตะฝะธั, ะฝะตะบะพัะพััะต ััะฐััะฝะธะบะธ ัะฐะบะถะต ะพะฑัะฐัะธะปะธ ะฒะฝะธะผะฐะฝะธะต ะฝะฐ ัะฐะทะฒะธัะธะต ะฟัะพะตะบัะฐ ะพะดะฝะธะผ ัะฐะทัะฐะฑะพััะธะบะพะผ ะธ ะพะฟะฐัะฝะพััั ัะพะณะพ, ััะพ ะบะพะด ะผะพะถะตั ะพััะฐัััั ะฑะตะท ัะพะฟัะพะฒะพะถะดะตะฝะธั, ะฒ ัะปััะฐะต ะตัะปะธ ั ะตะณะพ ัะฐะทัะฐะฑะพััะธะบะพะผ ััะพ-ัะพ ัะปััะธัััั (ะบ ะฟัะพะตะบัั ะฟัะพัะฒะปััั ะธะฝัะตัะตั ะดะฒะฐ ัะพัััะดะฝะธะบะฐ Red Hat, ะฝะพ ะธั ัะฐะฑะพัะฐ ะฟะพะบะฐ ะพะณัะฐะฝะธัะธะฒะฐะตััั ะธัะฟัะฐะฒะปะตะฝะธะตะผ ะพัะธะฑะพะบ).
Bcachefs ืคืืชืื ืืืืฆืขืืช ืืื ืืืืืืืช ืฉืืืจ ื ืืืงื ืืคืืชืื ืืืฉืืจ ื-Bcache block, ืฉื ืืขื ืืืืกืื ืืืืืื ืืืื ื ืื ืงืฉืืืื ืืืืืื ืืืื ื ื SSD ืืืืจืื (ืืืื ืืงืจื ื ืืื ืฉืืจืืจ 3.10). Bcachefs ืืฉืชืืฉืช ืืื ืื ืื Copy-on-Write (COW), ืื ืฉืื ืืืื ืืื ื ืืืืืืื ืืืืืคืช ื ืชืื ืื โ ืืืฆื ืืืืฉ ื ืืชื ืืืืงืื ืืืฉ, ืืืืืจ ืืื ืืืืื ืืืฆื ืื ืืืื ืืฉืชื ื.
ืชืืื ื ืฉื Bcachefs ืืื ืชืืืื ืืืืืืจ ืจื-ืฉืืืชื ืฉื ืืื ื ืื, ืฉืืื ืืืืกืื ืืืจืื ืืืกืคืจ ืฉืืืืช - ืืืื ื ืื ืืืืืจืื ืืืืชืจ (SSD) ืืืืืจืื ืืฉืืื ืืชืืชืื ื, ืืืฉืืฉืื ืืืืกืื ื ืชืื ืื ืืฉืืืืฉ ืชืืืฃ, ืืืฉืืื ืืขืืืื ื ื ืืฆืจืช. ืืืกืงืื ืืจืืืืื ืืืชืจ ืืืืืื ืืืชืจ ืืืืืกื ืื ื ืชืื ืื ืคืืืช ื ืืจืฉืื. ื ืืชื ืืืฉืชืืฉ ืืืืืื ืฉื ืืชืืื ืืืืจืช ืืื ืฉืืืืช. ื ืืชื ืืืืกืืฃ ืืื ืชืง ืืื ื ืื ืืืืคื ืืื ืื ืืืืืฆื ืืืื ืืืคืจืืข ืืฉืืืืฉ ืืืขืจืืช ืืงืืฆืื (ืื ืชืื ืื ืขืืืจืื ืืืืืืืืช).
ืืงืืจ: OpenNet.ru
