Ehdotettu blksnap-mekanismi tilannekuvien luomiseen lohkolaitteista Linuxissa

Varmuuskopiointi- ja palautusohjelmistoja valmistava Veeam on ehdottanut blksnap-moduulia sisällytettäväksi Linux-ytimeen, joka toteuttaa mekanismin, jolla luodaan tilannekuvia lohkolaitteista ja seurataan lohkolaitteiden muutoksia. Snapshot-kuvien käsittelyä varten on valmisteltu blksnap-komentorivi-apuohjelma ja blksnap.so-kirjasto, joiden avulla voit olla vuorovaikutuksessa ydinmoduulin kanssa käyttäjätilasta tulevien ioctl-kutsujen kautta.

Moduulin luomisen tarkoituksena on järjestää asemien ja virtuaalilevyjen varmuuskopiot työskentelyä keskeyttämättä - moduulin avulla voit tallentaa tilannekuvan koko lohkolaitteen nykyisen tilan, mikä tarjoaa erillisen osan varmuuskopiointia varten, joka ei riipu käynnissä olevista muutoksista . Tärkeä blksnapin ominaisuus on kyky luoda samanaikaisesti tilannekuvia useille lohkolaitteille kerralla, mikä mahdollistaa tietojen eheyden varmistamisen lohkolaitetasolla, mutta myös varmuuskopion eri lohkolaitteiden tilan johdonmukaisuuden saavuttamisen.

Muutosten seurantaa varten lohkolaitealijärjestelmä (bdev) on lisännyt mahdollisuuden liittää suodattimia, joiden avulla voit siepata I/O-pyyntöjä. blksnap toteuttaa suodattimen, joka sieppaa kirjoituspyynnöt, lukee vanhan arvon ja tallentaa sen erilliseen muutosluetteloon, joka määrittää tilannevedoksen tilan. Tällä lähestymistavalla lohkolaitteen kanssa työskentelyn logiikka ei muutu; tallennus alkuperäiseen lohkolaitteeseen suoritetaan sellaisenaan, tilannekuvista riippumatta, mikä eliminoi tietojen korruption mahdollisuuden ja välttää ongelmia, vaikka blksnapissa ja -tilassa tapahtuisi odottamattomia kriittisiä virheitä. muutoksille varattu tila on täynnä.

Moduulin avulla voit myös määrittää, mitä lohkoja on muutettu viimeisen ja minkä tahansa edellisen tilannevedoksen välisenä aikana, mikä voi olla hyödyllistä asteittaisten varmuuskopioiden toteuttamisessa. Tilannekuvan tilaan suhteutettujen muutosten tallentamiseksi mille tahansa lohkolaitteelle voidaan varata mielivaltainen sektorialue, jolloin voit tallentaa muutokset erillisiin tiedostoihin lohkolaitteiden tiedostojärjestelmässä. Muutosten tallennusalueen kokoa voidaan suurentaa milloin tahansa, jopa tilannevedoksen luomisen jälkeen.

Blksnap perustuu Veeam Agent for Linux -tuotteeseen sisältyvään veeamsnap-moduulikoodiin, mutta se on suunniteltu uudelleen ottamaan huomioon toimituksen erityispiirteet Linuxin pääytimessä. Käsitteellinen ero blksnapin ja veeamsnapin välillä on lohkolaitteeseen liitetyn suodatinjärjestelmän käyttö erillisen I/O:n sieppaavan bdevfilter-komponentin sijaan.

Lähde: opennet.ru