E hoʻokomo ʻo Linux kernel 6.2 i nā hoʻomaikaʻi i RAID5/6 ma Btrfs

Ua manaʻo ʻia nā hoʻomaikaʻi Btrfs no ka hoʻokomo ʻana i ka Linux 6.2 kernel e hoʻoponopono i ka pilikia puka kākau i ka hoʻokō RAID 5/6. ʻO ke kumu o ka pilikia e iho mai i ka ʻoiaʻiʻo inā loaʻa kahi ulia i ka wā o ka hoʻopaʻa ʻana, ʻaʻole hiki ke hoʻomaopopo mua i ka poloka i kākau pololei ʻia ai ka mea RAID, a ʻaʻole i pau ka hoʻopaʻa ʻana. Inā ʻoe e hoʻāʻo e hoʻihoʻi i kahi RAID i kēia kūlana, hiki ke luku ʻia nā poloka e pili ana i nā poloka underwritten no ka mea ʻaʻole i hana ka mokuʻāina o nā poloka RAID. Loaʻa kēia pilikia ma nā ʻāpana RAID1/5/6 kahi i hana ʻole ʻia ai nā hana kūikawā e hakakā i kēia hopena.

Ma kahi hoʻokō RAID, e like me RAID1 i nā btrfs, ua hoʻopau ʻia kēia pilikia ma ka hoʻohana ʻana i nā checksums i nā kope ʻelua; inā he mismatch, hoʻihoʻi wale ʻia ka ʻikepili mai ka kope ʻelua. Hoʻohana pū ʻia kēia ala inā hoʻomaka kekahi mea hana e hoʻouna i ka ʻikepili pololei ma mua o ka hāʻule ʻole.

Eia nō naʻe, i ka hihia o RAID5/6, ʻaʻole mālama ka ʻōnaehana faila i nā checksums no nā poloka parity: ma kahi kūlana maʻamau, hōʻoia ʻia ka pono o nā poloka e ka ʻoiaʻiʻo ua hoʻopaʻa ʻia lākou a pau, a hiki ke kūkulu hou ʻia ka poloka parity. mai ka ʻikepili. Eia nō naʻe, i ka hihia o ka hoʻopaʻa ʻana hapa, ʻaʻole pono kēia ala i kekahi mau kūlana. I kēia hihia, i ka wā e hoʻihoʻi ai i kahi array, hiki ke hoʻihoʻi hewa ʻia nā poloka i hāʻule ma lalo o kahi moʻolelo piha ʻole.

I ka hihia o btrfs, pili loa kēia pilikia inā ʻoi aku ka liʻiliʻi o ka moʻolelo i hana ʻia ma mua o ke kāʻei. I kēia hihia, pono e hana ka ʻōnaehana waihona i kahi hana heluhelu-modify-write (heluhelu-modify-write, RMW). Inā loaʻa kēia i nā poloka me ke kākau piha ʻole, a laila hiki i ka hana RMW ke hana i ka palaho ʻaʻole e ʻike ʻia, me ka nānā ʻole i nā helu helu. Ua hoʻololi nā mea hoʻomohala i kahi e nānā ai ka hana RMW i ka checksum o nā poloka ma mua o ka hana ʻana i kēia hana, a inā pono e hoʻihoʻi i ka ʻikepili, e nānā pū i nā checksums ma hope o ka hoʻopaʻa ʻana. ʻO ka mea pōʻino, ma ke ʻano me ke kākau ʻana i kahi paʻi piha ʻole (RMW), alakaʻi kēia i ke poʻo ʻē aʻe no ka helu ʻana i nā checksums, akā hoʻonui nui i ka hilinaʻi. No ka RAID6, ʻaʻole i mākaukau kēlā ʻano loiloi, akā naʻe, no kēlā hemahema i RAID6 pono e hāʻule ke kākau ʻana ma nā mea 2 i ka manawa hoʻokahi, ʻaʻole i emi iki.

Eia hou, hiki iā mākou ke hoʻomaopopo i nā ʻōlelo aʻoaʻo no ka hoʻohana ʻana iā RAID5/6 mai nā mea hoʻomohala, ʻo ke ʻano o ia mea ma Btrfs hiki ke ʻokoʻa ka metadata a me ka ʻikepili mālama ʻikepili. I kēia hihia, hiki iā ʻoe ke hoʻohana i ka profile RAID1 (mirror) a i ʻole RAID1C3 (3 kope) no ka metadata, a me RAID5 a i ʻole RAID6 no ka ʻikepili. Mālama kēia i ka palekana metadata hilinaʻi a me ka loaʻa ʻole o kahi "puka kākau," ma kekahi ʻaoʻao, a ʻoi aku ka maikaʻi o ka hoʻohana ʻana i ka lewa, ʻano o RAID5/6, ma kekahi. ʻAe kēia i ka pale ʻana i ka palaho metadata a hiki ke hoʻoponopono ʻia ka palaho ʻikepili.

Hiki ke hoʻomaopopo ʻia no nā SSD ma Btrfs i ka kernel 6.2, e hoʻokō ʻia ka hana asynchronous o ka hana "discard" ma ka paʻamau (e hōʻailona ana i nā poloka i hoʻokuʻu ʻia ʻaʻole pono e mālama kino ʻia). ʻO ka maikaʻi o kēia ʻano he hana kiʻekiʻe ma muli o ka hui pū ʻana o nā hana "hoʻolei" i loko o kahi pila a me ka hoʻomaʻamaʻa hou ʻana o ka pila e kahi kaʻina hana hope, ʻo ia ke kumu e lohi ʻole ai nā hana FS maʻamau, e like me ka synchronous " e hoʻolei" ʻoiai ua hoʻokuʻu ʻia nā poloka, a hiki i ka SSD ke hana i nā hoʻoholo maikaʻi aʻe. Ma ka ʻaoʻao ʻē aʻe, ʻaʻole pono ʻoe e hoʻohana i nā mea pono e like me fstrim, no ka mea, e hoʻomaʻemaʻe ʻia nā poloka āpau i loaʻa i ka FS me ka pono ʻole o ka nānā ʻana a me ka hoʻolohi ʻole i nā hana.

Source: opennet.ru

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