È stato proposto un meccanismo blksnap per la creazione di snapshot di dispositivi a blocchi in Linux.

L'azienda Veeam, che produce software per il backup e il ripristino dopo i guasti, ha proposto l'inclusione nel kernel Linux del modulo blksnap, implementando un meccanismo per la creazione di snapshot di dispositivi a blocchi e il tracciamento delle modifiche in questi dispositivi. È stata preparata un'utility da riga di comando, blksnap, e una libreria, blksnap.so, che consentono l'interazione con il modulo del kernel tramite chiamate ioctl dallo spazio utente.

L'obiettivo della creazione del modulo è organizzare il backup di unità di memorizzazione e dischi virtuali senza interrompere il lavoro — il modulo consente di catturare nello snapshot lo stato attuale dell'intero dispositivo a blocchi, fornendo un'istantanea isolata per il backup, indipendente dalle modifiche che continuano a pervenire. Una caratteristica importante di blksnap è la possibilità di creare simultaneamente snapshot per più dispositivi a blocchi, permettendo non solo di garantire l'integrità dei dati a livello di dispositivo a blocchi, ma anche di ottenere la coerenza dello stato di diversi dispositivi a blocchi nel backup.

Per il tracciamento delle modifiche nel sottosistema dei dispositivi a blocchi (bdev) è stata aggiunta la possibilità di collegare filtri che interceptano le richieste di input/output. In blksnap è stato implementato un filtro che intercetta le richieste di scrittura, legge il valore precedente e lo memorizza in un elenco separato di modifiche che definisce lo stato dello snapshot. Con questo approccio, la logica di lavoro con il dispositivo a blocchi non cambia, la scrittura nel dispositivo a blocchi originale avviene come è, indipendentemente dagli snapshot, escludendo la possibilità di danneggiamento dei dati e permettendo di evitare problemi anche in caso di errori critici imprevisti in blksnap e di sovraccarico dello spazio destinato alle modifiche.

Il modulo consente anche di determinare quali blocchi sono stati modificati nel periodo di tempo tra l'ultima e qualsiasi precedente istantanea, il che può essere utile per implementare il backup incrementale. Per conservare le modifiche, rispetto allo stato dell'istantanea, è possibile riservare un intervallo arbitrario di settori su qualsiasi dispositivo di blocco, consentendo di salvare le modifiche in file separati all'interno del file system sui dispositivi di blocco. La dimensione dell'area per il salvataggio delle modifiche può essere aumentata in qualsiasi momento, anche dopo la creazione dell'istantanea.

Blksnap si basa sul codice del modulo veeamsnap, parte del prodotto Veeam Agent for Linux, ma è stato riprogettato tenendo conto delle specifiche dell'integrazione principale nel kernel Linux. La differenza concettuale di blksnap rispetto a veeamsnap è l'uso di un sistema di filtri collegati al dispositivo di blocco, invece di un componente separato bdevfilter che intercetta l'input/output.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster