ืงื ื ืืืืจืกืืจืื, ืืืืืจ ืฉื ืืขืจืืช ืืืืจืื ืืืืืื BCache SSD ืืืืง, ืฉืืื ืืืง ืืืืืช ืืื ืืงืก, ืกืืื ืืช ืชืืฆืืืช ืืขืืืื ืขื ืงืืืื ืืขืจืืช ืืงืืฆืื Bcachefs ืื ืืืื ืืื ืก LSFMM 2023 (Linux Storage, Filesystem, Memory Management & BPF Summit). ืืชืื ืืืจืื ืืจืืฉื ืฉื ืืืืช ืืื ืืงืก ืืืืืจ ืขื ืชืืื ืืืช ืืคืืชืื ื ืืกืฃ ืฉื FS ืื. ืืืื, ืกื ืืขืืืื ืฉื ืชืืงืื ืื ืขื ืืืฉืื ื-Bcachefs FS ืืืฆืข ืืืืืงื ืืืืืื ืืืจืื ืืจืืฉื ืฉื ืืืืช ืืื ืืงืก. FS 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 ืืืืื ืกืืจืื ืฉื ืืืืช ืืื ืืงืก, ืชืืืื ืืืืืืฅ ืขืืื ืืืชืขืื ืืืื ืืืืื ืืืืื ืืืื ืฉื ืืฉืื ืืืื (2500 ืชืืงืื ืื ืื-90 ืืืฃ ืฉืืจืืช ืงืื), ืฉืงืฉื ืืกืงืืจ. ืืื ืืืืืฅ ืืช ืืกืงืืจื, ืืืง ืืืืคืชืืื ืืฆืืขื ืืคืฆื ืืช ืกืืจืช ืืชืืงืื ืื ืืืืงืื ืงืื ืื ืืืชืจ ืืืืคืจืืื ืืฆืืจื ืืืืื ืืช. ืืืืื ืืืืื, ืืืง ืืืืฉืชืชืคืื ืื ืืกืื ืืช ืชืฉืืืช ืืื ืืคืืชืื ืืคืจืืืงื ืขื ืืื ืืคืชื ืืื ืืืกืื ื ืฉืืงืื ืื ืืืฉืืจ ืื ืืงืจื ืืฉืื ืืืคืชื ืฉืื (ืฉื ื ืขืืืื Red Hat ืืขืื ืืื ืื ืืคืจืืืงื, ืื ืขืืืืชื ืขืืืื ืืืืื ืืชืืงืื ื ืืืืื).
Bcachefs ืคืืชืื ืืืืฆืขืืช ืืื ืืืืืืืช ืฉืืืจ ื ืืืงื ืืคืืชืื ืืืฉืืจ ื-Bcache block, ืฉื ืืขื ืืืืกืื ืืืืืื ืืืื ื ืื ืงืฉืืืื ืืืืืื ืืืื ื ื SSD ืืืืจืื (ืืืื ืืงืจื ื ืืื ืฉืืจืืจ 3.10). Bcachefs ืืฉืชืืฉืช ืืื ืื ืื Copy-on-Write (COW), ืื ืฉืื ืืืื ืืื ื ืืืืืืื ืืืืืคืช ื ืชืื ืื โ ืืืฆื ืืืืฉ ื ืืชื ืืืืงืื ืืืฉ, ืืืืืจ ืืื ืืืืื ืืืฆื ืื ืืืื ืืฉืชื ื.
ืชืืื ื ืฉื Bcachefs ืืื ืชืืืื ืืืืืืจ ืจื-ืฉืืืชื ืฉื ืืื ื ืื, ืฉืืื ืืืืกืื ืืืจืื ืืืกืคืจ ืฉืืืืช - ืืืื ื ืื ืืืืืจืื ืืืืชืจ (SSD) ืืืืืจืื ืืฉืืื ืืชืืชืื ื, ืืืฉืืฉืื ืืืืกืื ื ืชืื ืื ืืฉืืืืฉ ืชืืืฃ, ืืืฉืืื ืืขืืืื ื ื ืืฆืจืช. ืืืกืงืื ืืจืืืืื ืืืชืจ ืืืืืื ืืืชืจ ืืืืืกื ืื ื ืชืื ืื ืคืืืช ื ืืจืฉืื. ื ืืชื ืืืฉืชืืฉ ืืืืืื ืฉื ืืชืืื ืืืืจืช ืืื ืฉืืืืช. ื ืืชื ืืืืกืืฃ ืืื ืชืง ืืื ื ืื ืืืืคื ืืื ืื ืืืืืฆื ืืืื ืืืคืจืืข ืืฉืืืืฉ ืืืขืจืืช ืืงืืฆืื (ืื ืชืื ืื ืขืืืจืื ืืืืืืืืช).
ืืงืืจ: OpenNet.ru