Ang mekanismo ng blksnap ay iminungkahi para sa paglikha ng mga snapshot ng mga block device sa Linux

Ang Veeam, isang kumpanyang gumagawa ng backup at disaster recovery software, ay nagmungkahi ng blksnap module para isama sa Linux kernel, na nagpapatupad ng mekanismo para sa paglikha ng mga snapshot ng block device at pagsubaybay sa mga pagbabago sa block device. Upang gumana sa mga snapshot, ang blksnap command line utility at ang blksnap.so library ay inihanda, na nagbibigay-daan sa iyong makipag-ugnayan sa kernel module sa pamamagitan ng ioctl calls mula sa user space.

Ang layunin ng paglikha ng module ay upang ayusin ang mga backup ng mga drive at virtual disk nang walang tigil sa trabaho - pinapayagan ka ng module na i-record sa isang snapshot ang kasalukuyang estado ng buong block device, na nagbibigay ng isang nakahiwalay na slice para sa backup na hindi nakadepende sa mga patuloy na pagbabago . Ang isang mahalagang tampok ng blksnap ay ang kakayahang sabay na lumikha ng mga snapshot para sa ilang mga block device nang sabay-sabay, na nagbibigay-daan hindi lamang upang matiyak ang integridad ng data sa antas ng block device, ngunit din upang makamit ang pagkakapare-pareho sa estado ng iba't ibang mga block device sa backup na kopya.

Upang subaybayan ang mga pagbabago, ang block device subsystem (bdev) ay nagdagdag ng kakayahang mag-attach ng mga filter na nagbibigay-daan sa iyong harangin ang mga kahilingan sa I/O. Ang blksnap ay nagpapatupad ng isang filter na humarang sa mga kahilingan sa pagsulat, binabasa ang lumang halaga at iniimbak ito sa isang hiwalay na listahan ng pagbabago na tumutukoy sa estado ng snapshot. Sa diskarteng ito, ang lohika ng pagtatrabaho sa isang block device ay hindi nagbabago; ang pagre-record sa orihinal na block device ay ginaganap sa kasalukuyan, anuman ang mga snapshot, na nag-aalis ng posibilidad ng data corruption at iniiwasan ang mga problema kahit na ang mga hindi inaasahang kritikal na error ay nangyari sa blksnap at puno na ang puwang na inilaan para sa mga pagbabago.

Binibigyang-daan ka rin ng module na matukoy kung aling mga bloke ang binago sa yugto ng panahon sa pagitan ng huli at anumang nakaraang snapshot, na maaaring maging kapaki-pakinabang para sa pagpapatupad ng mga incremental na backup. Upang i-save ang mga pagbabago na nauugnay sa estado ng snapshot, maaaring maglaan ng arbitrary na hanay ng mga sektor sa anumang block device, na nagbibigay-daan sa iyong mag-save ng mga pagbabago sa hiwalay na mga file sa loob ng file system sa mga block device. Ang laki ng lugar para sa pag-iimbak ng mga pagbabago ay maaaring tumaas anumang oras, kahit na pagkatapos gumawa ng snapshot.

Ang Blksnap ay batay sa veeamsnap module code na kasama sa produkto ng Veeam Agent para sa Linux, ngunit muling idinisenyo upang isaalang-alang ang mga detalye ng paghahatid sa pangunahing Linux kernel. Ang konseptong pagkakaiba sa pagitan ng blksnap at veeamsnap ay ang paggamit ng filter system na naka-attach sa block device, sa halip na isang hiwalay na bahagi ng bdevfilter na humaharang sa I/O.

Pinagmulan: opennet.ru

Magdagdag ng komento