Kernel Linux 6.2 bakal kalebet perbaikan RAID5 / 6 dina Btrfs

perbaikan Btrfs geus diajukeun pikeun citakan dina Linux Ubuntu 6.2 kernel pikeun ngalereskeun masalah liang nulis dina razia 5/6 palaksanaan. Intina masalahna nyaéta kanyataan yén upami kacilakaan kajantenan nalika ngarékam, mimitina teu mungkin ngartos blok mana anu mana alat RAID ditulis leres, sareng dimana rékamanna henteu réngsé. Upami anjeun nyobian mulangkeun RAID dina kaayaan ieu, blok-blok anu pakait sareng blok underwritten tiasa ancur kusabab kaayaan blok RAID teu sinkron. Masalah ieu lumangsung dina sagala RAID1/5/6 arrays mana ukuran husus teu dilaksanakeun pikeun merangan éfék ieu.

Dina palaksanaan RAID, kawas RAID1 di btrfs, masalah ieu direngsekeun ku ngagunakeun checksums dina duanana salinan; lamun aya mismatch a, data ngan disimpen deui ti salinan kadua. Pendekatan ieu ogé tiasa dianggo upami sababaraha alat mimiti ngirim data anu salah tibatan gagal lengkep.

Nanging, dina kasus RAID5/6, sistem file henteu nyimpen checksums pikeun blok parity: dina kaayaan normal, validitas blok diverifikasi ku kanyataan yén aranjeunna sadayana dipariksa, sareng blok parity tiasa direkonstruksi. tina data. Sanajan kitu, dina kasus rekaman parsial, pendekatan ieu bisa jadi teu dianggo dina situasi nu tangtu. Dina hal ieu, nalika mulangkeun hiji Asép Sunandar Sunarya, mungkin wae blok nu digolongkeun dina catetan lengkep bakal dibalikkeun salah.

Dina kasus btrfs, masalah ieu paling relevan lamun rékaman dihasilkeun leuwih leutik batan belang. Dina hal ieu, sistem file kudu ngalakukeun operasi baca-modify-tulis (baca-modify-tulis, RMW). Upami ieu mendakan blok sareng tulisan anu teu lengkep, operasi RMW tiasa nyababkeun korupsi anu moal dideteksi, henteu paduli ceksum. Pamekar parantos ngadamel parobihan dimana operasi RMW mariksa checksum blok sateuacan ngalaksanakeun operasi ieu, sareng upami diperyogikeun pikeun ngabalikeun data, éta ogé pariksa checksum saatos ngarékam. Hanjakal, dina situasi jeung nulis hiji belang teu lengkep (RMW), ieu ngakibatkeun overhead tambahan pikeun ngitung checksums, tapi nyata ngaronjatkeun reliabiliti. Pikeun RAID6, logika sapertos henteu acan siap, kumaha oge, pikeun gagalna sapertos di RAID6 perlu yén nulis gagal dina 2 alat sakaligus, nu kurang kamungkinan.

Salaku tambahan, urang tiasa nyatet rekomendasi pikeun ngagunakeun RAID5 / 6 ti pamekar, hakekatna nyaéta dina Btrfs metadata sareng profil panyimpen data tiasa bénten. Dina hal ieu, anjeun tiasa nganggo profil RAID1 (eunteung) atawa malah RAID1C3 (3 salinan) pikeun metadata, sarta RAID5 atanapi RAID6 pikeun data. Ieu ensures panangtayungan metadata dipercaya jeung henteuna "liang nulis," di hiji sisi, sarta pamakéan leuwih efisien spasi, karakteristik RAID5 / 6, di sisi séjén. Ieu ngamungkinkeun korupsi metadata dihindari sareng korupsi data tiasa dilereskeun.

Éta ogé tiasa dicatet yén pikeun SSDs di Btrfs dina kernel 6.2, palaksanaan asynchronous tina operasi "piceun" bakal diaktipkeun sacara standar (nyirian blok anu dibébaskeun anu henteu kedah disimpen deui sacara fisik). Kauntungannana mode ieu kinerja tinggi alatan grup éféktif "miceun" operasi dina antrian jeung ngolah salajengna tina antrian ku processor tukang, nu naha operasi FS normal teu ngalambatkeun turun, sakumaha dina kasus sinkron ". piceun" salaku blok dibébaskeun, sarta SSD bisa nyieun kaputusan hadé. Di sisi anu sanésna, anjeun moal kedah deui nganggo utilitas sapertos fstrim, sabab sadaya blok anu sayogi bakal diberesihan dina FS tanpa peryogi scanning tambahan sareng tanpa ngalambatkeun operasi.

sumber: opennet.ru

Tambahkeun komentar