Linux ntsiav 6.2 yuav suav nrog kev txhim kho rau RAID5/6 hauv Btrfs

Kev txhim kho Btrfs tau raug thov kom suav nrog hauv Linux 6.2 kernel los kho qhov teeb meem sau qhov hauv RAID 5/6 kev siv. Lub ntsiab lus ntawm qhov teeb meem los ntawm qhov tseeb tias yog tias muaj kev sib tsoo tshwm sim thaum kaw, nws yog thawj zaug tsis tuaj yeem nkag siab txog qhov thaiv qhov twg RAID ntaus ntawv tau sau kom raug, thiab qhov twg cov ntaub ntawv tsis tiav. Yog tias koj sim rov qab kho RAID hauv qhov xwm txheej no, cov blocks cuam tshuam nrog cov ntawv sau hauv qab yuav raug rhuav tshem vim tias lub xeev ntawm RAID blocks tsis sib xws. Qhov teeb meem no tshwm sim hauv ib qho RAID1/5/6 arrays qhov twg tshwj xeeb ntsuas tsis tau coj los tawm tsam cov nyhuv no.

Hauv kev siv RAID, zoo li RAID1 hauv btrfs, qhov teeb meem no tau daws los ntawm kev siv checksums hauv ob daim ntawv luam; yog tias muaj qhov tsis sib xws, cov ntaub ntawv tsuas yog rov qab los ntawm daim ntawv thib ob. Txoj hauv kev no tseem ua haujlwm yog tias qee lub cuab yeej pib xa cov ntaub ntawv tsis raug es tsis txhob ua tiav.

Txawm li cas los xij, nyob rau hauv rooj plaub ntawm RAID5 / 6, cov ntaub ntawv kaw lus tsis khaws cov ntawv txheeb xyuas rau cov blocks parity: nyob rau hauv ib qho xwm txheej, qhov siv tau ntawm cov blocks raug txheeb xyuas los ntawm qhov tseeb tias lawv tag nrho cov checksummed, thiab cov parity block tuaj yeem tsim kho dua. los ntawm cov ntaub ntawv. Txawm li cas los xij, nyob rau hauv cov ntaub ntawv ntawm ib feem ntawm cov ntaub ntawv kaw tseg, txoj hauv kev no yuav tsis ua haujlwm hauv qee qhov xwm txheej. Hauv qhov no, thaum rov kho qhov array, nws muaj peev xwm ua tau tias cov blocks uas poob rau hauv cov ntaub ntawv tsis tiav yuav rov qab tsis raug.

Nyob rau hauv cov ntaub ntawv ntawm btrfs, qhov teeb meem no feem ntau cuam tshuam yog tias cov ntaub ntawv raug tsim me dua cov kab txaij. Hauv qhov no, cov ntaub ntawv kaw lus yuav tsum ua haujlwm nyeem-hloov-sau (nyeem-hloov-sau, RMW). Yog tias qhov no ntsib cov blocks nrog kev sau tsis tiav, tom qab ntawd RMW kev ua haujlwm yuav ua rau muaj kev noj nyiaj txiag uas yuav tsis raug kuaj pom, tsis hais txog cov tshev nyiaj. Cov neeg tsim tawm tau hloov pauv uas RMW kev ua haujlwm tshawb xyuas cov checksum ntawm cov blocks ua ntej ua qhov haujlwm no, thiab yog tias nws tsim nyog los kho cov ntaub ntawv, nws kuj kuaj xyuas cov checksums tom qab kaw. Hmoov tsis zoo, nyob rau hauv ib qho xwm txheej nrog kev sau ib daim kab txaij tsis tiav (RMW), qhov no ua rau cov nyiaj siv ua haujlwm ntxiv rau kev suav cov nyiaj tshev, tab sis ua rau muaj kev ntseeg siab ntau ntxiv. Rau RAID6, cov laj thawj zoo li no tseem tsis tau npaj, txawm li cas los xij, rau qhov tsis ua tiav hauv RAID6 nws yog qhov tsim nyog tias kev sau ntawv tsis ua tiav ntawm 2 cov khoom siv ib zaug, uas yog qhov tsawg dua.

Tsis tas li ntawd, peb tuaj yeem nco ntsoov cov lus pom zoo rau kev siv RAID5/6 los ntawm cov neeg tsim khoom, qhov tseem ceeb ntawm uas yog hauv Btrfs cov metadata thiab cov ntaub ntawv khaws cia profile yuav txawv. Hauv qhov no, koj tuaj yeem siv qhov profile RAID1 (daim iav) lossis txawm tias RAID1C3 (3 daim ntawv theej) rau cov ntaub ntawv metadata, thiab RAID5 lossis RAID6 rau cov ntaub ntawv. Qhov no ua kom ntseeg tau qhov kev tiv thaiv metadata thiab tsis muaj "sau qhov," ntawm ib sab, thiab siv qhov chaw zoo dua, tus yam ntxwv ntawm RAID5/6, ntawm lwm qhov. Qhov no tso cai rau metadata kev noj nyiaj txiag kom zam tau thiab cov ntaub ntawv kev noj nyiaj txiag tuaj yeem raug kho.

Nws tseem tuaj yeem raug sau tseg tias rau SSDs hauv Btrfs hauv kernel 6.2, kev ua haujlwm asynchronous ntawm "tso pov tseg" kev ua haujlwm yuav raug qhib los ntawm lub neej ntawd (kos npe cov blocks dawb uas tsis tas yuav khaws lub cev lawm). Qhov kom zoo dua ntawm hom no yog kev ua haujlwm siab vim yog kev ua haujlwm zoo ntawm "tshem tawm" ua haujlwm hauv ib kab thiab kev ua haujlwm ntxiv ntawm cov kab los ntawm cov txheej txheem keeb kwm yav dhau los, uas yog vim li cas cov haujlwm FS ib txwm tsis qeeb, zoo li cov ntaub ntawv nrog synchronous " pov tseg" raws li cov blocks raug tso tawm, thiab SSD tuaj yeem txiav txim siab zoo dua. Ntawm qhov tod tes, koj yuav tsis tas yuav siv cov khoom siv xws li fstrim, vim tias tag nrho cov blocks muaj yuav raug tshem tawm hauv FS yam tsis tas yuav muaj kev tshuaj xyuas ntxiv thiab tsis ua haujlwm qeeb.

Tau qhov twg los: opennet.ru

Ntxiv ib saib