Ke hoʻolaha nei i nā Bcachefs i ka Linux Kernel

ʻO Kent Overstreet, ka mea kākau o ka BCache SSD block device caching system, kahi ʻāpana o ka Linux kernel, hōʻuluʻulu i nā hopena o ka hana ma ka hoʻolaha ʻana i ka ʻōnaehana faila Bcachefs i kāna ʻōlelo ma ka LSFMM 2023 conference (Linux Storage, Filesystem, Memory Management. & BPF Summit). i loko o ka haku mele Linux a kamaʻilio e pili ana i nā hoʻolālā no ka hoʻomohala hou ʻana o kēia FS. I ka mahina o Mei, ua noi ʻia kahi hoʻonohonoho hou o nā patch me ka hoʻokō ʻana o ka Bcachefs FS no ka loiloi a hoʻokomo ʻia i loko o ka haku mele o ka Linux kernel. Ke ulu nei ʻo FS Bcachefs ma kahi o 10 mau makahiki. Ua hoʻolaha ʻia ka mākaukau no ka loiloi ʻana i ka hoʻokō ʻana i nā Bcachefs ma mua o ka hoʻokomo ʻana i ke kumu i ka hopena o 2020, a ʻo ka mana o kēia manawa o nā patch e noʻonoʻo i nā ʻōlelo a me nā hemahema i ʻike ʻia i ka wā o ka loiloi mua.

ʻO ka pahuhopu hoʻomohala Bcachefs e hōʻea i ka pae XFS i ka hana, hilinaʻi a me ka scalability, ʻoiai e hāʻawi ana i nā hiʻohiʻona ʻē aʻe i loko o Btrfs a me ZFS, e like me ka hoʻokomo ʻana i nā mea he nui i loko o kahi ʻāpana, nā hoʻonohonoho hoʻonohonoho multi-layer, replication (RAID 1/10), caching, ka hoʻopaʻa ʻana i ka ʻikepili (LZ4, gzip a me nā ʻano ZSTD), nā ʻāpana mokuʻāina (nā kiʻi paʻi), ka hōʻoia pono ʻana e nā checksums, ka hiki ke mālama i nā code hoʻoponopono hewa Reed-Solomon (RAID 5/6), mālama ʻia i ka ʻike (ChaCha20 a me Poly1305 hoʻohana ʻia). Ma ke ʻano o ka hana, ʻoi aku ka Bcachefs ma mua o Btrfs a me nā ʻōnaehana faila ʻē aʻe e pili ana i ka mīkini Copy-on-Write, a hōʻike i ka hana kokoke i Ext4 a me XFS.

ʻO nā hoʻokō hou loa i ka hoʻomohala ʻana o Bcachefs, ʻike ʻia ka hoʻokō ʻana o ka hoʻokō ʻana i nā snapshot i loaʻa no ke kākau ʻana. Ke hoʻohālikelike ʻia me Btrfs, ʻoi aku ka maikaʻi o nā kiʻi paʻi ma Bcachefs i kēia manawa a ʻoi aku ka maikaʻi o ka scalable a me ka manuahi mai nā pilikia i loaʻa ma Btrfs. I ka hoʻomaʻamaʻa, ua hoʻāʻo ʻia ka hana o nā snapshot i ka wā e hoʻonohonoho ai i nā backup MySQL. Ua hana nui ʻo Bcachefs i nā hana e hoʻomaikaʻi ai i ka scalability - ua hana maikaʻi ka ʻōnaehana faila i ka hoʻāʻo ʻana i ka waiho ʻana o 100 TB, a ua manaʻo ʻia e hoʻokō ʻia nā Bcachefs ma kahi waihona 1 PB i ka wā e hiki mai ana. Ua hoʻohui ʻia kahi ʻano nocow hou no ka hoʻopau ʻana i ke ʻano hana "copy-on-write" (nocow). I ke kauwela, hoʻolālā lākou e lawe i ka hoʻokō ʻana i nā code hoʻoponopono hewa a me RAIDZ i kahi kūlana paʻa, a me ka hoʻoponopono ʻana i nā pilikia me ka hoʻomanaʻo hoʻomanaʻo kiʻekiʻe i ka wā e hoʻihoʻi ai a nānā i nā ʻōnaehana faila me ka pono fsck.

No nā hoʻolālā no ka wā e hiki mai ana, ua ʻōlelo ʻia ka makemake e hoʻohana i ka ʻōlelo Rust i ka hoʻomohala ʻana o Bcachefs. Wahi a ka mea kākau o Bcachefs, makemake ʻo ia i ke code, ʻaʻole i ka debug code, a i kēia manawa he pupule ke kākau code ma C ke loaʻa kahi koho ʻoi aku ka maikaʻi. Ua komo ʻo Rust i Bcachefs i ka hoʻokō ʻana i kekahi o nā mea hoʻohana-space. Eia kekahi, ke kuhi ʻia nei ka manaʻo e kākau hou i nā Bcachefs ma Rust, ʻoiai ʻo ka hoʻohana ʻana i kēia ʻōlelo e mālama nui i ka manawa debugging.

No ka hoʻoneʻe ʻana i nā Bcachefs i loko o ke kumu nui o ka kernel Linux, hiki ke hoʻopaneʻe ʻia ke kaʻina hana no ka nui o nā loli (2500 patches a ma kahi o 90 tausani mau laina code), he mea paʻakikī ke nānā. No ka wikiwiki ʻana i ka loiloi, ua manaʻo kekahi mau mea hoʻomohala e wāwahi i ka pūʻulu patch i nā ʻāpana liʻiliʻi a hoʻokaʻawale ʻia. I ka wā o ke kūkākūkā ʻana, ua huki pū kekahi poʻe i ka hoʻomohala ʻana o ka papahana e kekahi mea hoʻomohala a me ka pōʻino e waiho ʻole ʻia ke code inā loaʻa kekahi mea i kāna mea hoʻomohala (makemake ʻelua mau limahana Red Hat i ka papahana, akā ʻo kā lākou hana mau. hoʻoponopono ʻino i kaupalena ʻia).

Hoʻokumu ʻia ʻo Bcachefs me ka hoʻohana ʻana i nā ʻenehana i hoʻāʻo ʻia i ka hoʻomohala ʻana i ka hāmeʻa block Bcache, i hoʻolālā ʻia e hūnā i ke komo ʻana i ka hiki ke hoʻolohi i nā paʻakikī paʻakikī ma nā SSD wikiwiki (i loko o ka kernel mai ka hoʻokuʻu ʻana 3.10). Ke hoʻohana nei ʻo Bcachefs i ke ʻano Copy-on-Write (COW), kahi e hoʻololi ʻole ai nā loli i ka overwriting ʻikepili - ua kākau ʻia ka mokuʻāina hou i kahi wahi hou, a laila hoʻololi ka hōʻailona mokuʻāina o kēia manawa.

ʻO kahi hiʻohiʻona o Bcachefs ke kākoʻo no ka hoʻopili ʻana i ka multi-layer o nā drive, kahi i hoʻopaʻa ʻia ai nā ʻāpana he nui - ua pili nā drive wikiwiki loa (SSDs) i ka papa lalo, kahi i hoʻohana ʻia e hūnā i ka ʻikepili i hoʻohana pinepine ʻia, a me nā ʻano papa luna. ʻoi aku ka nui a me ka ʻoi aku ka maikaʻi o nā disks e mālama i ka ʻikepili i koi ʻia. Hiki ke hoʻohana ʻia ka hoʻopaʻa ʻana ma waena o nā papa. Hiki ke hoʻohui ikaika ʻia nā drives a wehe ʻia mai kahi ʻāpana me ka hoʻopau ʻole i ka hoʻohana ʻana i ka ʻōnaehana faila (neʻe ʻokoʻa ka ʻikepili).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka