ืงื™ื“ื•ื Bcachefs ืœื’ืจืขื™ืŸ Linux

ืงื ื˜ ืื•ื‘ืจืกื˜ืจื™ื˜, ืžื—ื‘ืจ ื”ืœื™ื‘ื” 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

ืงื ื” ืื™ืจื•ื— ืืžื™ืŸ ืœืืชืจื™ื ืขื ื”ื’ื ืช DDoS, ืฉืจืชื™ VPS VDS ๐Ÿ”ฅ ืงื ื” ืื—ืกื•ืŸ ืืชืจื™ื ืืžื™ืŸ ืขื ื”ื’ื ืช DDoS, ืฉืจืชื™ VPS VDS | ProHoster