I-Linux 6.2 kernel iya kubandakanya ukuphuculwa kwe-RAID5/6 kwi-Btrfs

Uphuculo lwe-Btrfs lucetyiwe ukuba lufakwe kwi-Linux 6.2 kernel ukulungisa ingxaki yomngxuma wokubhala kwi-RAID 5/6 ukuphunyezwa. Undoqo wengxaki wehla kwinto yokuba ukuba kwenzeka ingozi ngexesha lokurekhoda, ekuqaleni akunakwenzeka ukuqonda ukuba yeyiphi ibhloko apho isixhobo se-RAID sibhalwe ngokuchanekileyo, kwaye apho ukurekhoda akuzange kugqitywe. Ukuba uzama ukubuyisela iRAID kule meko, iibhloko ezihambelana neebhloko ezibhalwe ngaphantsi zinokutshatyalaliswa ngenxa yokuba ubume beebhloko zeRAID azihambisani. Le ngxaki yenzeka kuyo nayiphi na i-RAID1/5/6 arrays apho amanyathelo akhethekileyo engakhange athathwe ukulwa nesi siphumo.

Kuphunyezo lwe-RAID, njenge-RAID1 kwi-btrfs, le ngxaki isonjululwa ngokusebenzisa i-checksums kuzo zombini iikopi; ukuba kukho ukungahambelani, idatha ibuyiselwa ngokulula kwikopi yesibini. Le ndlela ikwasebenza ukuba esinye isixhobo siqala ukuthumela idatha engalunganga endaweni yokusilela ngokupheleleyo.

Nangona kunjalo, kwimeko ye-RAID5/6, inkqubo yefayile ayigcini i-checksums yeebhloko zomlinganiso: kwimeko eqhelekileyo, ukuqinisekiswa kweebhloko kuqinisekiswa yinto yokuba zonke zitshekishwa, kwaye ibhloko ye-parity inokwakhiwa kwakhona. ukusuka kwidatha. Nangona kunjalo, kwimeko yokurekhoda inxalenye, le ndlela ayinakusebenza kwiimeko ezithile. Kule meko, xa ubuyisela uluhlu, kunokwenzeka ukuba iibhloko eziwela phantsi kwerekhodi elingaphelelanga ziya kubuyiselwa ngokungalunganga.

Kwimeko ye-btrfs, le ngxaki ibaluleke kakhulu ukuba irekhodi eveliswayo incinci kunomgca. Kule meko, inkqubo yefayile kufuneka yenze umsebenzi wokufunda-guqula-bhala (funda-guqula-bhala, RMW). Ukuba oku kudibana neebhloko ngokubhaliweyo okungaphelelanga, ngoko ukusebenza kwe-RMW kunokubangela urhwaphilizo olungayi kubhaqwa, kungakhathaliseki ukuba zithini na ii-checksums. Abaphuhlisi baye benza utshintsho apho umsebenzi we-RMW uhlola i-checksum yeebhloko ngaphambi kokwenza lo msebenzi, kwaye ukuba kuyimfuneko ukubuyisela idatha, iphinda ihlolisise i-checksums emva kokurekhoda. Ngelishwa, kwimeko yokubhala umgca ongaphelelanga (RMW), oku kukhokelela kwi-overhead eyongezelelweyo yokubala i-checksums, kodwa kwandisa kakhulu ukuthembeka. Kwi-RAID6, ingqiqo enjalo ayikabikho, nangona kunjalo, ngenxa yokungaphumeleli okunjalo kwi-RAID6 kuyimfuneko ukuba ukubhala kusilele kwizixhobo ezi-2 ngokukhawuleza, okungenakwenzeka.

Ukongezelela, sinokuqaphela iingcebiso zokusebenzisa i-RAID5/6 kubaphuhlisi, eyona nto iphambili kukuba kwi-Btrfs imethadatha kunye neprofayili yokugcina idatha inokwahluka. Kule meko, ungasebenzisa iprofayili ye-RAID1 (isibuko) okanye i-RAID1C3 (iikopi ezi-3) zemethadatha, kunye ne-RAID5 okanye i-RAID6 yedatha. Oku kuqinisekisa ukukhuselwa kwemethadatha okuthembekileyo kunye nokungabikho "komngxuma wokubhala," kwelinye icala, kunye nokusetyenziswa ngokufanelekileyo kwendawo, uphawu lwe-RAID5 / 6, kwelinye. Oku kuvumela ukonakala kwemethadatha ukuba kuphetshwe kwaye urhwaphilizo lwedatha lunokulungiswa.

Kwakhona kunokuqatshelwa ukuba kwii-SSD kwi-Btrfs kwi-kernel 6.2, ukuphunyezwa kwe-asynchronous "yokulahla" kuya kwenziwa ngokuzenzakalelayo (ukumakisha iibhloko ezikhululweyo ezingasafuneki ukuba zigcinwe ngokwasemzimbeni). Inzuzo yale ndlela kukusebenza okuphezulu ngenxa yokwahlulahlula okusebenzayo kwemisebenzi "yokulahla" emgceni kunye nokuqhubekela phambili komgca ngumqhubekekisi wangemva, yiyo loo nto imisebenzi eqhelekileyo yeFS ingacothi, njengoko kunjalo nge-synchronous " lahla” njengoko iibhloko zikhululwa, kwaye i-SSD inokwenza izigqibo ezingcono. Kwelinye icala, awusayi kuphinda ufune ukusebenzisa izinto eziluncedo ezifana ne-fstrim, kuba zonke iibhloko ezikhoyo ziya kucocwa kwiFS ngaphandle kwesidingo sokuskena okongeziweyo kwaye ngaphandle kokucotha imisebenzi.

umthombo: opennet.ru

Yongeza izimvo