ΠΠ΅Π½Ρ ΠΠ²Π΅ΡΡΡΡΠΈΡ (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), ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ (snapshot), ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° ΡΡΠ΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΡΠΌΠΈ, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π·Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° Π ΠΈΠΉΠ΄βΠ‘ΠΎΠ»ΠΎΠΌΠΎΠ½ (RAID 5/6), ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ Π²ΠΈΠ΄ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅ ChaCha20 ΠΈ Poly1305). ΠΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Bcachefs Π΅ Π½Π°ΠΏΡΠ΅Π΄ ΠΎΡ Btrfs ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Copy-on-Write, ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠΊΠΎΡΠΎΡΡΠΈ, Π±Π»ΠΈΠ·ΠΊΠΈ Π΄ΠΎ Ext4 ΠΈ XFS.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
