Paglabas ng Bcachefs 1.33.0 file system

Кент Оверстрит (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.

Ang bagong bersyon ay nagdaragdag ng functionality na "reconcile" (rebalance_v2), na itinuturing na pinakamalaking pagbabago sa file system sa nakalipas na dalawang taon. Hindi tulad ng dating available na "rebalance" mode, ang mekanismong "reconcile" ay nagbibigay-daan para sa muling pagbabalanse hindi lamang sa data (halimbawa, pagkopya ng maraming kopya sa iba't ibang drive) kundi pati na rin sa file system metadata (halimbawa, upang mag-migrate ng metadata pagkatapos magdagdag ng karagdagang drive sa pool). Higit pa rito, nalalapat na ngayon ang reconcile sa lahat ng opsyon sa I/O, hindi lang sa background copy at compression operations. Awtomatikong isinasaalang-alang din ng Reconcile ang mga pagbabago sa mga opsyon o setting ng device at agad na muling kinokopya ang nasira na data at metadata.

Gumagamit ang Reconcile ng magkakahiwalay na index para sa: mga operasyong may mataas na priyoridad; pag-optimize ng pagproseso ng data sa mga disk drive; at data na nakaiskedyul para sa pagproseso na kasalukuyang hindi magagamit (halimbawa, dahil sa kakulangan ng espasyo). Ang suporta ay idinagdag para sa paglikha ng isang file system sa isang drive sa dual replication mode (replicas=2). Sa configuration na ito, ang pagdaragdag ng pangalawang drive ay awtomatikong gagayahin ang data sa idinagdag na drive, nang walang anumang pakikipag-ugnayan ng user.

Kabilang sa iba pang mga pagbabago:

  • Idinagdag ang mga command na "reconcile status" at "reconcile wait". Idinagdag ang mga opsyon sa pag-mount na "mount_trusts_udev" at "writeback_timeout". Hindi na ginagamit ang mga command na "data rereplicate" at "data job drop_extra_replicas."
  • Nagdagdag ng "merge_btree_nodes" recovery mode na sumusuri sa lahat ng node sa mga istruktura ng btree na napapailalim sa mga operasyon ng pagsasanib.
  • Ang code ay inihanda para sa paglipat sa Rust na wika. Ang bilang ng mga pagpapatakbo ng goto na ginamit sa code ay nabawasan mula 2500 hanggang 600. Ang mga bukas na naka-code na vector ay pinalitan ng DARRAY() macro, na nagbibigay ng functionality na katulad ng mga dynamic na array sa C++ at Rust. Ang paghawak ng error ay pinangangasiwaan gamit ang try() macro, na hiniram mula sa Rust.
  • Ang command na "bcachefs fs usage" ay tama na ngayong nag-uulat ng nasirang data.
  • Ang paghawak ng mga counter na ipinapakita ng command na "bcachefs fs top" ay muling ginawa. Ang pagdaragdag ng mga bagong counter ay pinasimple, at ang kakayahang mag-convert ng mga tracepoint sa printbuf ay ipinatupad.
  • Ang kalidad ng mga mensahe ng error ay napabuti. Kasama na sa mga ito ang impormasyon tungkol sa mga uri ng mga pagkabigo (software o hardware), mga pagkilos upang malutas ang error (hal., pagsisimula ng proseso ng pagbawi), mga I/O error code na natanggap mula sa mga block device, at mga nawawalang device. Kapag nag-scan ng mga istruktura ng btree, ang impormasyon tungkol sa kung ang mga node ng problema ay maaaring mabawi ay ipinapakita na ngayon.
  • Kapag sumusulat sa log, ang kakayahang magkahiwalay na tukuyin ang mga limitasyon sa intensity ng output ng iba't ibang uri ng error ay naidagdag. Pinipigilan ng mga limitasyong ito ang mga mensahe tungkol sa mga nakahiwalay na problema sa hardware na mawala sa gitna ng malaking bilang ng mga mensahe ng error sa software.
  • Ang mga tagapagpahiwatig ng pag-unlad ay idinagdag para sa lahat ng mga yugto ng pagbawi.

Ang proyekto ng Bcachefs ay bumubuo ng isang file system na naglalayong pagsamahin ang advanced na functionality ng Btrfs at ZFS sa pagganap, pagiging maaasahan, at scalability ng XFS. Sinusuportahan ng Bcachefs ang mga feature gaya ng maraming device sa bawat partition, multi-layered na mga layout ng drive (ang ibabang layer na may madalas na naa-access na data batay sa mga mabilis na SSD, at ang tuktok na layer na may hindi gaanong madalas na na-access na data mula sa mga hard drive), replikasyon (RAID 1/10), caching, transparent na data compression (LZ4, gzip, at ZSTD modes), pag-imbak ng mga mode ng integridad, pag-imbak ng integridad, mga hiwa ng estado Reed-Solomon error correction code (RAID 5/6), at naka-encrypt na storage ng data (gamit ang ChaCha20 at Poly1305). Sa mga tuntunin ng pagganap, ang Bcachefs ay higit na gumaganap sa Btrfs at iba pang mga file system batay sa mekanismo ng Copy-on-Write, at nagpapakita ng bilis ng pagpapatakbo malapit sa Ext4 at XFS.

Pinagmulan: opennet.ru

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster