Выпуск Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Bcachefs 1.37.0

ΠšΠ΅Π½Ρ‚ ΠžΠ²Π΅Ρ€ΡΡ‚Ρ€ΠΈΡ‚ (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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ