Blksnap mehānisms ir ierosināts, lai izveidotu blokierīču momentuzņēmumus operētājsistēmā Linux

Veeam, uzņēmums, kas ražo dublēšanas un avārijas atkopšanas programmatūru, ir ierosinājis blksnap moduli iekļaušanai Linux kodolā, kas ievieš mehānismu blokierīču momentuzņēmumu izveidei un blokierīču izmaiņu izsekošanai. Lai strādātu ar momentuzņēmumiem, ir sagatavota komandrindas utilīta blksnap un bibliotēka blksnap.so, kas ļauj mijiedarboties ar kodola moduli, izmantojot ioctl zvanus no lietotāja vietas.

Moduļa izveides mērķis ir organizēt disku un virtuālo disku dublējumkopijas, nepārtraucot darbu - modulis ļauj momentuzņēmumā ierakstīt visas bloka ierīces pašreizējo stāvokli, nodrošinot izolētu daļu dublēšanai, kas nav atkarīga no notiekošajām izmaiņām. . Svarīga blksnap īpašība ir iespēja vienlaikus veidot momentuzņēmumus vairākām blokierīcēm vienlaikus, kas ļauj ne tikai nodrošināt datu integritāti blokierīču līmenī, bet arī panākt konsekvenci dažādu bloku ierīču stāvoklī rezerves kopijā.

Lai izsekotu izmaiņām, blokierīču apakšsistēma (bdev) ir pievienojusi iespēju pievienot filtrus, kas ļauj pārtvert I/O pieprasījumus. blksnap ievieš filtru, kas pārtver rakstīšanas pieprasījumus, nolasa veco vērtību un saglabā to atsevišķā izmaiņu sarakstā, kas nosaka momentuzņēmuma stāvokli. Izmantojot šo pieeju, loģika darbam ar blokierīci nemainās, ierakstīšana oriģinālajā blokierīcē tiek veikta tāda, kāda tā ir, neatkarīgi no momentuzņēmumiem, kas novērš datu bojājumu iespējamību un novērš problēmas pat tad, ja blksnap un programmā rodas neparedzamas kritiskas kļūdas. izmaiņām atvēlētā vieta ir pilna.

Modulis arī ļauj noteikt, kuri bloki tika mainīti laika periodā starp pēdējo un jebkuru iepriekšējo momentuzņēmumu, kas var būt noderīgi, lai ieviestu papildu dublējumus. Lai saglabātu izmaiņas attiecībā uz momentuzņēmuma stāvokli, jebkurā blokierīcē var piešķirt patvaļīgu sektoru diapazonu, kas ļauj saglabāt izmaiņas atsevišķos failos blokierīču failu sistēmā. Izmaiņu glabāšanas apgabala lielumu var palielināt jebkurā laikā, pat pēc momentuzņēmuma izveides.

Blksnap pamatā ir veeamsnap moduļa kods, kas iekļauts Veeam Agent for Linux produktā, taču tas ir pārveidots, lai ņemtu vērā piegādes specifiku galvenajā Linux kodolā. Konceptuālā atšķirība starp blksnap un veeamsnap ir filtra sistēmas izmantošana, kas pievienota blokierīcei, nevis atsevišķa bdevfilter komponente, kas pārtver I/O.

Avots: opennet.ru

Pievieno komentāru