Mekanisme blksnap yang dicadangkan untuk mencipta syot kilat peranti blok dalam Linux

Veeam, sebuah syarikat yang menghasilkan perisian sandaran dan pemulihan bencana, telah mencadangkan modul blksnap untuk dimasukkan ke dalam kernel Linux, yang melaksanakan mekanisme untuk mencipta syot kilat peranti blok dan menjejaki perubahan dalam peranti blok. Untuk bekerja dengan syot kilat, utiliti baris arahan blksnap dan perpustakaan blksnap.so telah disediakan, membolehkan anda berinteraksi dengan modul kernel melalui panggilan ioctl dari ruang pengguna.

Tujuan mencipta modul adalah untuk mengatur sandaran pemacu dan cakera maya tanpa berhenti bekerja - modul membolehkan anda merakam dalam syot kilat keadaan semasa keseluruhan peranti blok, menyediakan kepingan terpencil untuk sandaran yang tidak bergantung pada perubahan berterusan . Ciri penting blksnap ialah keupayaan untuk mencipta syot kilat secara serentak untuk beberapa peranti blok sekaligus, yang membolehkan bukan sahaja memastikan integriti data pada tahap peranti blok, tetapi juga untuk mencapai konsistensi dalam keadaan peranti blok yang berbeza dalam salinan sandaran.

Untuk menjejaki perubahan, subsistem peranti blok (bdev) telah menambahkan keupayaan untuk melampirkan penapis yang membolehkan anda memintas permintaan I/O. blksnap melaksanakan penapis yang memintas permintaan tulis, membaca nilai lama dan menyimpannya dalam senarai perubahan berasingan yang mentakrifkan keadaan syot kilat. Dengan pendekatan ini, logik bekerja dengan peranti blok tidak berubah; rakaman dalam peranti blok asal dilakukan seperti sedia ada, tanpa mengira syot kilat, yang menghapuskan kemungkinan rasuah data dan mengelakkan masalah walaupun ralat kritikal yang tidak dapat diramalkan berlaku dalam blksnap dan ruang yang diperuntukkan untuk perubahan adalah penuh.

Modul ini juga membolehkan anda menentukan blok mana yang telah diubah dalam tempoh masa antara gambar terakhir dan mana-mana gambar sebelumnya, yang boleh berguna untuk melaksanakan sandaran tambahan. Untuk menyimpan perubahan berbanding keadaan syot kilat, julat sektor yang sewenang-wenangnya boleh diperuntukkan pada mana-mana peranti blok, yang membolehkan anda menyimpan perubahan dalam fail berasingan dalam sistem fail pada peranti blok. Saiz kawasan untuk menyimpan perubahan boleh ditingkatkan pada bila-bila masa, walaupun selepas membuat syot kilat.

Blksnap adalah berdasarkan kod modul veeamsnap yang disertakan dalam produk Veeam Agent for Linux, tetapi direka bentuk semula untuk mengambil kira spesifikasi penghantaran dalam kernel Linux utama. Perbezaan konsep antara blksnap dan veeamsnap ialah penggunaan sistem penapis yang dilampirkan pada peranti blok, bukannya komponen bdevfilter berasingan yang memintas I/O.

Sumber: opennet.ru

Tambah komen