Javasolt blksnap-mechanizmus a blokkeszközök pillanatképeinek létrehozásához Linuxban

A Veeam, a biztonsági mentési és katasztrófa-helyreállítási szoftvereket gyártó vállalat a blksnap modult javasolta a Linux kernelbe való beépítésre, amely olyan mechanizmust valósít meg, amellyel pillanatképeket készíthet a blokkeszközökről, és nyomon követheti a blokkeszközök változásait. A pillanatképek kezeléséhez a blksnap parancssori segédprogram és a blksnap.so könyvtár elkészült, amely lehetővé teszi a kernelmodullal való interakciót a felhasználói térből érkező ioctl hívásokon keresztül.

A modul létrehozásának célja a meghajtók és virtuális lemezek biztonsági mentéseinek megszervezése a munka leállítása nélkül - a modul lehetővé teszi a teljes blokkeszköz aktuális állapotának pillanatfelvételben történő rögzítését, egy elszigetelt szeletet biztosítva a biztonsági mentéshez, amely nem függ a folyamatban lévő változásoktól . A blksnap fontos tulajdonsága, hogy egyszerre több blokkeszközről is készíthet pillanatfelvételeket, ami lehetővé teszi nemcsak az adatok integritásának biztosítását a blokkeszköz szintjén, hanem a különböző blokkeszközök állapotának konzisztenciájának elérését is a biztonsági másolatban.

A változások nyomon követéséhez a blokkeszközök alrendszere (bdev) hozzáadta az I/O kérések elfogását lehetővé tevő szűrők csatolásának lehetőségét. A blksnap olyan szűrőt valósít meg, amely elfogja az írási kérelmeket, beolvassa a régi értéket, és egy külön változáslistában tárolja, amely meghatározza a pillanatkép állapotát. Ezzel a megközelítéssel a blokkeszközzel végzett munka logikája nem változik, a rögzítés az eredeti blokkeszközben a pillanatfelvételektől függetlenül úgy történik, ahogy van, ami kiküszöböli az adatsérülés lehetőségét, és elkerüli a problémákat még akkor is, ha a blksnap és a blksnap során előre nem látható kritikus hibák lépnek fel. a változtatásokra kijelölt hely megtelt.

A modul azt is lehetővé teszi, hogy meghatározza, mely blokkok módosultak az utolsó és bármely előző pillanatfelvétel közötti időszakban, ami hasznos lehet a növekményes biztonsági mentések megvalósításához. A pillanatkép állapotához viszonyított módosítások mentéséhez tetszőleges szektorok tartománya lefoglalható bármely blokkeszközön, ami lehetővé teszi, hogy a blokkeszközökön lévő fájlrendszeren belül külön fájlokban mentse el a változtatásokat. A változtatások tárolására szolgáló terület mérete bármikor növelhető, még egy pillanatkép létrehozása után is.

A Blksnap a Veeam Agent for Linux termékben található veeamsnap modulkódon alapul, de az újratervezés figyelembe veszi a fő Linux kernelben való szállítás sajátosságait. Az elvi különbség a blksnap és a veeamsnap között az, hogy a blokkeszközhöz csatlakoztatott szűrőrendszert használnak egy különálló bdevfilter komponens helyett, amely elfogja az I/O-t.

Forrás: opennet.ru

Hozzászólás