Linuxda blokli qurilmalarning suratlarini yaratish uchun blksnap mexanizmi taklif qilingan

Zaxira va falokatlarni tiklash uchun dasturiy ta'minot ishlab chiqaruvchi Veeam kompaniyasi Linux yadrosiga qo'shish uchun blksnap modulini taklif qildi, u blokli qurilmalarning oniy suratlarini yaratish va blokli qurilmalardagi o'zgarishlarni kuzatish mexanizmini amalga oshiradi. Suratlar bilan ishlash uchun blksnap buyruq qatori yordam dasturi va blksnap.so kutubxonasi tayyorlangan bo'lib, u yadro moduli bilan foydalanuvchi maydonidan ioctl qo'ng'iroqlari orqali o'zaro ishlash imkonini beradi.

Modulni yaratishdan maqsad ishni to'xtatmasdan drayvlar va virtual disklarning zahira nusxalarini tashkil qilishdir - modul davom etayotgan o'zgarishlarga bog'liq bo'lmagan zaxira uchun ajratilgan bo'lakni ta'minlab, butun blokli qurilmaning joriy holatini suratga olish imkonini beradi. . blksnap-ning muhim xususiyati bir vaqtning o'zida bir nechta blokli qurilmalar uchun bir vaqtning o'zida suratlarni yaratish qobiliyatidir, bu nafaqat blokli qurilma darajasida ma'lumotlar yaxlitligini ta'minlash, balki zaxira nusxadagi turli blokli qurilmalar holatida izchillikka erishish imkonini beradi.

O'zgarishlarni kuzatish uchun blokli qurilma quyi tizimi (bdev) kiritish-chiqarish so'rovlarini ushlab turish imkonini beruvchi filtrlarni biriktirish imkoniyatini qo'shdi. blksnap yozish so'rovlarini ushlab turuvchi filtrni qo'llaydi, eski qiymatni o'qiydi va uni surat holatini belgilaydigan alohida o'zgartirishlar ro'yxatida saqlaydi. Ushbu yondashuv bilan blokli qurilma bilan ishlash mantig'i o'zgarmaydi; asl blok qurilmasida yozib olish oniy tasvirlardan qat'i nazar, xuddi shunday amalga oshiriladi, bu ma'lumotlarning buzilishi ehtimolini yo'q qiladi va blksnap va blksnap-da oldindan aytib bo'lmaydigan jiddiy xatolar yuzaga kelgan taqdirda ham muammolarni oldini oladi. o'zgarishlar uchun ajratilgan joy to'lgan.

Modul shuningdek, oxirgi va oldingi suratlar orasidagi vaqt oralig'ida qaysi bloklar o'zgartirilganligini aniqlashga imkon beradi, bu esa qo'shimcha zaxira nusxalarini amalga oshirish uchun foydali bo'lishi mumkin. Surat holatiga nisbatan o'zgarishlarni saqlash uchun har qanday blokli qurilmada sektorlarning ixtiyoriy diapazoni ajratilishi mumkin, bu sizga blok qurilmalaridagi fayl tizimidagi alohida fayllardagi o'zgarishlarni saqlash imkonini beradi. O'zgarishlarni saqlash uchun maydonning o'lchamini istalgan vaqtda, hatto oniy rasm yaratilgandan keyin ham oshirish mumkin.

Blksnap Linux uchun Veeam Agent mahsulotiga kiritilgan veeamsnap modul kodiga asoslangan, lekin asosiy Linux yadrosida yetkazib berish xususiyatlarini hisobga olgan holda qayta ishlab chiqilgan. blksnap va veeamsnap o'rtasidagi kontseptual farq kirish/chiqishni to'xtatuvchi alohida bdevfilter komponenti o'rniga blok qurilmaga biriktirilgan filtr tizimidan foydalanishdir.

Manba: opennet.ru

a Izoh qo'shish