ΠΠ΅Π½Ρ ΠΠ²Π΅ΡΡΡΡΠΈΡ (Kent Overstreet) ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π²ΡΠΏΡΡΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Bcachefs 1.37.0. ΠΡΠΏΡΡΠΊ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ°: bcachefs-kernel-dkms Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΡΠ΄ΡΠ°, ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ DKMS (Dynamic Kernel Module Support), ΠΈ bcachefs-tools Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΉ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ bcachefs, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ (mkfs), ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π€Π‘. ΠΠ°ΠΊΠ΅ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π΄Π»Ρ Debian, Ubuntu, Fedora, openSUSE, NixOS ΠΈ Arch Linux. DKMS-ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄ΡΠ°ΠΌΠΈ Linux, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 6.16.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ RAID 5/6. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π ΠΈΠ΄Π°-Π‘ΠΎΠ»ΠΎΠΌΠΎΠ½Π°, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎ N ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΡΡΠ°ΠΉΠΏΠ΅ (stripe) ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ N ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ². ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°Π²ΡΠΈΡ ΡΡΡΠ°ΠΉΠΏΠΎΠ². ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ Ρ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌΠΈ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΄ΡΠ° Linux 7.0.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«subvolume listΒ» Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ; Β«subvolume list-snapshotsΒ» Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π° ΡΠ½Π°ΠΏΡΠΎΡΠΎΠ² Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅β; Β«subvolume reflink-option-propagateΒ» Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°ΠΉΠ»Π°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΆΠ°ΡΠΈΠ΅, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ°, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅Π²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΊ ΡΠΊΡΡΠ΅Π½ΡΠ°ΠΌ ΡΠ°ΠΉΠ»Π°.
- Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ°ΡΠΊΡΡΡΠΊΠΈ (rewind) ΠΆΡΡΠ½Π°Π»Π°.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ° ΠΏΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ (flush ΠΈ FUA).
- Π£ΡΠΊΠΎΡΠ΅Π½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ.
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π€Π‘, ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΠΎΠΉΡΡΠ².
- ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΈΠ»ΠΈΡΡ bcachefs ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π½Π° Rust ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π€Π‘, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ°. ΠΠ°ΡΠ°Π»Π°ΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Verus Π΄Π»Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π° Rust.
ΠΡΠΎΠ΅ΠΊΡΠΎΠΌ Bcachefs ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π°ΡΠ΅Π»Π΅Π½Π½Π°Ρ Π½Π° ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΠΎΠΉ Btrfs ΠΈ ZFS, ΠΈ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ, Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ XFS. Bcachefs ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΡΡΠΎΠΉΡΡΠ², ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠΉΠ½ΡΠ΅ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ (Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ»ΠΎΠΉ Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π° Π±Π°Π·Π΅ Π±ΡΡΡΡΡΡ
SSD, Π° Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΠ»ΠΎΠΉ Ρ ΠΌΠ΅Π½Π΅Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· ΠΆΠ΅ΡΡΠΊΠΈΡ
Π΄ΠΈΡΠΊΠΎΠ²), ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ (RAID 1/10), ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
(ΡΠ΅ΠΆΠΈΠΌΡ LZ4, gzip ΠΈ ZSTD), ΡΡΠ΅Π·Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (ΡΠ½Π°ΠΏΡΠΎΡΡ), Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌ ΡΡΠΌΠΌΠ°ΠΌ, ΠΊΠΎΠ΄Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ChaCha20 ΠΈ Poly1305).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
