Un mécanisme blksnap pour la création de snapshots de dispositifs de bloc sous Linux a été proposé.

L'entreprise Veeam, spécialisée dans les logiciels de sauvegarde et de restauration après sinistre, a proposé d'inclure dans le noyau Linux le module blksnap, qui met en œuvre un mécanisme de création de snapshots pour les dispositifs de stockage et de suivi des modifications sur ces derniers. Pour travailler avec les snapshots, un utilitaire en ligne de commande blksnap et une bibliothèque blksnap.so sont disponibles, permettant d'interagir avec le module du noyau via des appels ioctl depuis l'espace utilisateur.

L'objectif de la création de ce module est d'organiser la sauvegarde des disques et des disques virtuels sans arrêter leur fonctionnement — le module permet de figer l'état actuel de l'ensemble du dispositif de stockage dans un snapshot, fournissant ainsi un instantané isolé pour la sauvegarde, indépendant des modifications qui continuent d'arriver. Une caractéristique importante de blksnap est la possibilité de créer simultanément des snapshots pour plusieurs dispositifs de stockage, ce qui permet non seulement d'assurer l'intégrité des données au niveau du dispositif de stockage, mais aussi d'obtenir la cohérence des états de différents dispositifs dans la sauvegarde.

Pour le suivi des modifications, la sous-système des dispositifs de stockage (bdev) a été enrichie par la possibilité d'attacher des filtres permettant d'intercepter les requêtes d'entrée/sortie. Dans blksnap, un filtre a été mis en œuvre pour intercepter les requêtes d'écriture, lire l'ancienne valeur et la sauvegarder dans une liste distincte de modifications, définissant l'état du snapshot. Avec cette approche, la logique de traitement des dispositifs de stockage reste inchangée, les écritures sur le dispositif de stockage original se faisant normalement, indépendamment des snapshots, ce qui élimine le risque de corruption des données et permet d'éviter des problèmes même en cas d'erreurs critiques imprévisibles dans blksnap et de saturation de l'espace alloué aux modifications.

Le module permet notamment de déterminer quels blocs ont été modifiés entre le dernier et un précédent instantané, ce qui peut être utile pour la mise en œuvre de sauvegardes incrémentielles. Pour enregistrer les modifications par rapport à l'état de l'instantané, une plage de secteurs arbitraire peut être allouée sur n'importe quel périphérique de bloc, permettant de conserver les modifications dans des fichiers séparés au sein du système de fichiers sur des dispositifs de bloc. La taille de la zone de stockage des modifications peut être augmentée à tout moment, même après la création de l'instantané.

Blksnap est basé sur le code du module veeamsnap, qui fait partie du produit Veeam Agent for Linux, mais retravaillé en tenant compte de la spécificité de la livraison essentiellement dans le noyau Linux. La distinction conceptuelle entre blksnap et veeamsnap est l'utilisation d'un système de filtres attachés au périphérique de bloc, plutôt qu'un composant séparé bdevfilter qui intercepte les entrées/sorties.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster