Linux жүйесінде блоктық құрылғылардың суретін жасау үшін ұсынылған blksnap механизмі

Сақтық көшірме жасау және апатты қалпына келтіру бағдарламалық құралын шығаратын Veeam компаниясы Linux ядросына қосу үшін blksnap модулін ұсынды, ол блоктық құрылғылардың суретін жасау және блоктық құрылғылардағы өзгерістерді бақылау механизмін жүзеге асырады. Суреттермен жұмыс істеу үшін blksnap пәрмен жолы утилитасы және blksnap.so кітапханасы дайындалды, бұл пайдаланушы кеңістігінен ioctl қоңыраулары арқылы ядро ​​модулімен өзара әрекеттесуге мүмкіндік береді.

Модульді құрудың мақсаты жұмысты тоқтатпай дискілер мен виртуалды дискілердің сақтық көшірмелерін ұйымдастыру болып табылады - модуль ағымдағы өзгерістерге тәуелді емес сақтық көшірме жасау үшін оқшауланған бөлікті қамтамасыз ете отырып, бүкіл блоктық құрылғының ағымдағы күйін суретке түсіруге мүмкіндік береді. . blksnap-тың маңызды ерекшелігі - бір уақытта бірнеше блоктық құрылғылар үшін бір уақытта суретті жасау мүмкіндігі, бұл блоктық құрылғы деңгейінде деректер тұтастығын қамтамасыз етуге ғана емес, сонымен қатар сақтық көшірмедегі әртүрлі блок құрылғыларының күйінде сәйкестікке қол жеткізуге мүмкіндік береді.

Өзгерістерді бақылау үшін блоктық құрылғының ішкі жүйесі (bdev) енгізу/шығару сұрауларын ұстауға мүмкіндік беретін сүзгілерді тіркеу мүмкіндігін қосты. blksnap жазу сұрауларын тоқтататын, ескі мәнді оқитын және оны суреттің күйін анықтайтын бөлек өзгерту тізімінде сақтайтын сүзгіні жүзеге асырады. Бұл тәсілдің көмегімен блоктық құрылғымен жұмыс істеу логикасы өзгермейді; бастапқы блоктық құрылғыда жазу суретке қарамастан, сол күйінде орындалады, бұл деректердің бүліну мүмкіндігін болдырмайды және blksnap және blksnap-те болжанбайтын сыни қателер орын алса да проблемаларды болдырмайды. өзгертулер үшін бөлінген орын толы.

Модуль сонымен қатар соңғы және кез келген алдыңғы сурет арасындағы уақыт кезеңінде қандай блоктар өзгертілгенін анықтауға мүмкіндік береді, бұл қосымша сақтық көшірмелерді жүзеге асыру үшін пайдалы болуы мүмкін. Сурет күйіне қатысты өзгертулерді сақтау үшін кез келген блоктық құрылғыда секторлардың ерікті диапазоны бөлінуі мүмкін, бұл блоктық құрылғылардағы файлдық жүйедегі жеке файлдардағы өзгерістерді сақтауға мүмкіндік береді. Өзгерістерді сақтауға арналған аумақтың өлшемін кез келген уақытта, тіпті суретті жасағаннан кейін де үлкейтуге болады.

Blksnap Linux үшін Veeam Agent өніміне енгізілген veeamsnap модуль кодына негізделген, бірақ негізгі Linux ядросында жеткізу ерекшеліктерін ескере отырып қайта жасақталған. blksnap мен veeamsnap арасындағы тұжырымдамалық айырмашылық енгізу/шығаруды тоқтататын бөлек bdevfilter компонентінің орнына блоктық құрылғыға бекітілген сүзгі жүйесін пайдалану болып табылады.

Ақпарат көзі: opennet.ru

пікір қалдыру