ΠΠ΅Π½Ρ ΠΠ²Π΅ΡΡΡΡΠΈΡ (Kent Overstreet) ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π²ΡΠΏΡΡΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Bcachefs 1.33.0. ΠΡΠΏΡΡΠΊ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ°: bcachefs-kernel-dkms Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΡΠ΄ΡΠ°, ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ DKMS (Dynamic Kernel Module Support), ΠΈ bcachefs-tools Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΉ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ bcachefs, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ (mkfs), ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π€Π‘. ΠΠ°ΠΊΠ΅ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π΄Π»Ρ Debian, Ubuntu, Fedora, openSUSE, NixOS ΠΈ Arch Linux. DKMS-ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄ΡΠ°ΠΌΠΈ Linux, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 6.16.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Β«reconcileΒ» (rebalance_v2), ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½Π°Ρ ΠΊΠ°ΠΊ ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΠ΅ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° Π³ΠΎΠ΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π€Π‘. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ°Π½Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Β«rebalanceΒ», ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Β«reconcileΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΏΠΈΠΉ Π½Π° ΡΠ°Π·Π½ΡΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΠΈ), Π½ΠΎ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π² Π€Π‘ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΠΏΡΠ» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, reconcile ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΆΠ°ΡΠΈΡ. Π reconcile ΡΠ°ΠΊΠΆΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΉ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΡΡΡΡΡ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°Π²ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅.
Π reconcile Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π»Ρ: Π²ΡΡΠΎΠΊΠΎΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ; ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΡΡ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΡ ; Π΄Π°Π½Π½ΡΡ , Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΊΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·-Π·Π° Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΌΠ΅ΡΡΠ°). ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ (replicas=2) β Π² ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ Π΄ΠΈΡΠΊ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
Π‘ΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«reconcile statusΒ» ΠΈ Β«reconcile waitΒ». ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«mount_trusts_udevΒ» ΠΈ Β«writeback_timeoutΒ». ΠΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ Π² ΡΠΈΡΠ»ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«data rereplicateΒ», Β«data job drop_extra_replicasΒ».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Β«merge_btree_nodesΒ», Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΡΠ΅Ρ ΡΠ·Π»ΠΎΠ² Π² btree-ΡΡΡΡΠΊΡΡΡΠ°Ρ , ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡΡΠΈΡ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π° ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Rust. Π§ΠΈΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ goto ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΎ Ρ 2500 Π΄ΠΎ 600. ΠΠΌΠ΅ΡΡΠΎ ΠΎΡΠΊΡΡΡΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΠΌΠ°ΠΊΡΠΎΡ DARRAY(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΡ ΠΎΠΆΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ C++ ΠΈ Rust. ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΠΌΠ°ΠΊΡΠΎΡ try(), Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ· Rust.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«bcachefs fs usageΒ» ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°Π²ΡΠΈΡ Π΄Π°Π½Π½ΡΡ .
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΡΡΠΈΠΊΠΎΠ², ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Β«bcachefs fs topΒ». Π£ΠΏΡΠΎΡΠ΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΡΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ (tracepoint) Π² Π±ΡΡΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄Π° (printbufs).
- ΠΠΎΠ²ΡΡΠ΅Π½ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ ΡΠ±ΠΎΠ΅Π² (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅), Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ), ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΡ Π±Π»ΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΊΠΎΠ΄Π°Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ . ΠΡΠΈ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ btree-ΡΡΡΡΠΊΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ Π²ΡΠ²ΠΎΠ΄ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΡ ΡΠ·Π»ΠΎΠ².
- ΠΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠ³ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π»ΠΈΠΌΠΈΡΠΎΠ² Π½Π° ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΡΠ΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Π½Π° ΡΠΎΠ½Π΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°Ρ .
- ΠΠ»Ρ Π²ΡΠ΅Ρ ΡΡΠ°Π΄ΠΈΠΉ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ°.
ΠΡΠΎΠ΅ΠΊΡΠΎΠΌ Bcachefs ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π°ΡΠ΅Π»Π΅Π½Π½Π°Ρ Π½Π° ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΠΎΠΉ Btrfs ΠΈ ZFS, ΠΈ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ, Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ XFS. Bcachefs ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΡΡΠΎΠΉΡΡΠ², ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠΉΠ½ΡΠ΅ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ (Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ»ΠΎΠΉ Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π° Π±Π°Π·Π΅ Π±ΡΡΡΡΡΡ
SSD, Π° Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΠ»ΠΎΠΉ Ρ ΠΌΠ΅Π½Π΅Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· ΠΆΠ΅ΡΡΠΊΠΈΡ
Π΄ΠΈΡΠΊΠΎΠ²), ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ (RAID 1/10), ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
(ΡΠ΅ΠΆΠΈΠΌΡ LZ4, gzip ΠΈ ZSTD), ΡΡΠ΅Π·Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (ΡΠ½Π°ΠΏΡΠΎΡΡ), Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌ ΡΡΠΌΠΌΠ°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π ΠΈΠ΄Π°βΠ‘ΠΎΠ»ΠΎΠΌΠΎΠ½Π° (RAID 5/6), Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ChaCha20 ΠΈ Poly1305). ΠΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Bcachefs ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Btrfs ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π€Π‘ Π½Π° Π±Π°Π·Π΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Copy-on-Write, ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ, Π±Π»ΠΈΠ·ΠΊΡΡ ΠΊ Ext4 ΠΈ XFS.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
