"J'ai une sauvegarde sur ma bande." Histoire à la première personne

Dans l' article précédent, nous vous avions parlé des nouvelles fonctionnalités de la mise à jour 4 de Veeam Backup & Replication 9.5 (VBR), publiée en janvier, où les sauvegardes sur la bande n'étaient pas délibérément mentionnées. L'histoire de ce domaine mérite un article séparé, car il y avait vraiment beaucoup de nouvelles fonctionnalités.

- QA les gars, écrivez un article?
- Pourquoi pas!


Les lecteurs de bande au 21e siècle


Le stockage de données sur des bandes magnétiques (cassettes, tip , comme nous les appelons en R&D) ne se limite pas à l'ordinateur ZX-Spectrum, qui était une chose du passé, dont un jeu pouvait être chargé dans 48 Ko de RAM à partir d'une cassette de bande pendant plusieurs minutes. Pendant un quart de siècle, la vitesse et la capacité des cassettes ont augmenté de 6 à 7 ordres de grandeur. Cette comparaison n'est pas entièrement correcte et la norme LTO ne suit pas le rythme de la loi de Moore . Néanmoins, les technologies modernes permettent d'enregistrer 12 téraoctets de données sur un kilomètre de bande (jusqu'à 30 téraoctets en mode de compression), de sorte que le lecteur de 160 dollars laisse les concurrents derrière le coût du stockage à long terme d'une grande quantité de données, même en tenant compte des investissements dans le matériel d'enregistrement / lire. Les données sur ces bandes sont stockées de manière fiable pendant 15 à 30 ans.

Je viendrai de l’autre côté. Les virus Ransomware ont récemment atteint un nouveau niveau. Ils peuvent attendre leur temps dans l'infrastructure d'une grande entreprise pendant des semaines et des mois, et avec l'avènement d'une autre vulnérabilité zero-day, ils peuvent détruire (non sans l'aide humaine, car beaucoup d'argent est en jeu) non seulement toutes les données, mais aussi toutes les sauvegardes qui peuvent être atteintes . Voici un nouvel exemple du moment où une entreprise a dû payer un rançongiciel. Le soi-disant entrefer , c'est-à-dire les sauvegardes qui étaient physiquement isolées de l'infrastructure, est devenu, en fait, le seul salut fiable de ces histoires. La bande magnétique est ici l'une des solutions intemporelles.



Mais une spécification et des nouveautés technologiques en fer et en ferrite-baryum des principaux fabricants (IBM, HPE, Oracle, Dell) pour une protection fiable des données ne suffisent pas, vous avez besoin d'un bon logiciel. Chez Veeam, toute notre équipe est engagée dans les sauvegardes sur bande, environ 10 personnes analysent, planifient, recherchent, développent et testent quotidiennement. Vous pouvez voir les résultats de ce travail dans les articles précédents ( un , deux ). Qu'est-ce qui a été fait au cours de la dernière année?

Glossaire


Il y a un choix entre les libertés par rapport à la langue maternelle et complique la lisibilité du cléricalisme. Je préfère le premier, donc je m'excuse à l'avance si quelqu'un d'argot des mots de la liste ci-dessous peut blesser l'œil. Ici, je rappellerai brièvement ce que signifie un terme particulier.

Luminaires VBR cette partie peut être sautée
Joba - tâche - tâche de sauvegarde. En fait, l'ensemble du VBR est construit sur le tas. En plus de la sauvegarde et de la réplication, il peut également être copié sur bande magnétique (sauvegarde sur bande, tâche sur bande). Je ferai une réservation que la restauration à partir d'une copie de sauvegarde (restauration) est également un travail, mais dans cet article, ce mot signifie sauvegarde.

Storaj - stockage - nom historiquement établi. Ce sont des fichiers dans le référentiel (référentiel - stockage), contenant des copies de sauvegarde - complètes et incrémentielles . Dans une histoire, il peut y avoir une ou plusieurs machines virtuelles.

Chaîne - une chaîne est une séquence d'histoires connexes. Pour restaurer les données du n-ième magasin incrémentiel, tous les précédents du (n-1) -st au 1er et un magasin complet, auquel le premier incrémental fait référence, sont nécessaires.

Source , cible - source, cible. La source est l'entité d'origine que le travail traite. Dans le cas des sauvegardes / répliques, il s'agit généralement d'une machine virtuelle dans l'hyperviseur. Dans le cas d'un travail sur bande, la sauvegarde est le travail de sauvegarde lui-même (enfin, ou des fichiers dans le cas d'un fichier sur des travaux sur bande). Une cible de tâche de sauvegarde est un référentiel dans lequel les sauvegardes sont stockées. Pour le travail sur bande, il s'agit d'un pool de médias.

Pool de médias - pool de médias - un pool de supports de stockage, dans notre cas - bandes. Conteneur logique créé par l'utilisateur et contenant les cassettes d'une ou plusieurs bibliothèques. Ainsi, le travail sur bande a toujours un pool de médias comme cible, c'est-à-dire que les données sont écrites non pas sur une bande particulière ou sur une bande de la bibliothèque, mais sur un ensemble spécifique d'entre elles. Le pool de médias a un paramètre pour la durée de stockage des données, après quoi la cartouche peut être remplacée. L'utilisateur peut créer des pools standard et des pools GFS . Chacune de ces espèces peut maintenant être WORM et non WORM, plus de détails ci-dessous.

Ensemble de médias - ensemble de médias - un ensemble de bandes dans le pool de médias dans lequel les sauvegardes / fichiers sont écrits en continu. Pour les pools GFS, les jeux de supports sont également liés à un intervalle (par exemple, annuel - annuel), les cassettes ne tournent que dans leur intervalle.

Lecteur , changeur - éléments de la bibliothèque de bandes. Un lecteur lit et rembobine une cassette; un changeur est un robot qui déplace les cassettes entre les emplacements de stockage, les emplacements de déchargement et le lecteur. Il existe des lecteurs autonomes (autonomes - autonomes), le rôle du changeur est ici joué par une personne. Pour un lecteur, un pilote du fabricant correctement installé est requis sur la machine Windows à laquelle la bibliothèque est connectée; nous pouvons travailler avec un changeur sans pilotes, en utilisant SCSI natif.

Locataire sur bande. Fournisseur protégé - Clients protégés


Des atouts immédiatement sur la table. La fonctionnalité la plus ambitieuse de notre mise à jour, conçue pour les fournisseurs de cloud qui utilisent VBR dans leur infrastructure. Le développement a commencé il y a deux ans. Bientôt, nous avons réalisé que nous n'aurions pas le temps de faire face à une tâche aussi sérieuse pour la prochaine version, avons pris une courte pause et avons finalement publié une fonctionnalité dans 9.5 Update 4.

En bref, les fournisseurs ont désormais la possibilité de copier les sauvegardes de leurs clients sur des cassettes à l'aide d'un travail sur bande dans le pool GFS. Cela donne aux prestataires - et ce sont de très gros gars chers à notre cœur et au service commercial - deux possibilités:

  • protéger vos clients (locataires, locataire - locataire) contre la perte de données suite à une suppression accidentelle ou à des problèmes d'infrastructure ("inondation dans la salle des serveurs");
  • fournir aux locataires un service supplémentaire pour restaurer les données d'une ancienne sauvegarde, qui a longtemps été supprimée du référentiel cloud conformément à la politique de stockage des données, mais qui reste sur bande.

Du point de vue du marketing, la fonctionnalité est très "savoureuse", de la nôtre - non moins difficile à mettre en œuvre.

Développement


Le principal problème rencontré est le cryptage des données. La plupart des sauvegardes dans le cloud sont cryptées, selon les statistiques, environ les ⅔ du total. Pour nous, ce chiffre a été une surprise, on a supposé que presque tout était crypté, mais pas - de nombreux clients semblent avoir une confiance inconditionnelle dans leurs fournisseurs.

Le paradigme est simple: le fournisseur ne doit pas être en mesure de décrypter les données de ses locataires. Dans le même temps, dans le cadre de la nouvelle fonctionnalité, il est nécessaire du côté du fournisseur d'ouvrir le stockage avec des sauvegardes. Cela est nécessaire pour transférer des blocs de données, par exemple, pour créer une sauvegarde complète virtuelle . L'essentiel est de le faire quel que soit le locataire, lorsque les clés nécessaires ne sont pas transmises au fournisseur lors de l'exécution du travail.

La solution à ce problème, utilisée accessoirement dans une autre caractéristique majeure du module complémentaire publié - Capacity Tier - consiste à ajouter une clé de chiffrement supplémentaire. La clé d'archive (clé d'archive) est stockée dans la base de données du fournisseur sous forme cryptée. Selon un schéma délicat du côté du fournisseur, il peut être utilisé pour ouvrir le magasin, déplacer et rechiffrer les blocs de données entre les magasins (après tout, chacun a sa propre clé), mais les données elles-mêmes ne peuvent pas être décryptées.


Schéma délicat (version de travail)

J'ajoute que tous les ingénieurs en R&D aiment beaucoup le chiffrement de notre produit, cependant, personne ne sait en détail comment cela fonctionne. (Il y avait encore une blague «et pourquoi ça marche du tout», mais les éditeurs ne l'ont pas ratée.)

Test


Des centaines de bugs ont été enregistrés sur la fonctionnalité. Les domaines les plus difficiles sont le cryptage, l'interface utilisateur, les problèmes de restauration.

Du point de vue des tests, la grande variabilité représentait la «combinatoire» des types et types de jobs de locataires et de référentiels - je veux dire à la fois source et cible lors de la restauration des sauvegardes dans l'infrastructure. Tout cela est basé sur la logique dans le cadre du modèle GFS (y compris le nouveau - parallélisme et ensembles de médias quotidiens, plus à ce sujet ci-dessous), et, dans l'ensemble, sur les spécificités du cloud qui sont inhabituelles pour les teips. N'oubliez pas d'assaisonner avec beaucoup de cryptage. Pour continuer la métaphore, nous avons mangé beaucoup de ce plat - mais nous l'avons également goûté de tous les côtés.


Fragment du plan de test

En conséquence


Une description détaillée peut être trouvée dans le manuel d'utilisation (jusqu'à présent en anglais): sauvegarde , restauration . Je m'attarderai sur les points principaux.

Sauvegarde


Le fournisseur ajoute des locataires au travail Teip avec le pool GFS comme cible. S'il existe une licence cloud dans la deuxième étape de l'assistant, l'option Tenants est disponible. Vous pouvez ajouter tous les locataires en même temps ou séparément, ou vous pouvez choisir uniquement un quota distinct (mais pas un sous-quota) d'un locataire individuel. Vous ne pouvez pas mélanger des sauvegardes de locataire et des sauvegardes locales régulières dans le même travail.



Le reste des teintures est presque complètement identique au travail habituel dans le pool GFS.

La restauration des données est possible à la fois du côté du fournisseur et du côté du locataire lui-même.

Récupération côté fournisseur


Réalisé via un nouvel assistant. Ici, vous pouvez déjà descendre à un travail séparé, toute la chaîne qui était dans le référentiel un certain jour est restaurée.



Il existe trois options de restauration:

  1. Dans l'emplacement d'origine. Dans ce cas, la sauvegarde d'origine, le cas échéant, est supprimée; les travaux des locataires sont automatiquement reconfigurés dans la chaîne restaurée. Il est entendu qu'une telle restauration sera généralement invisible pour le client, mais pendant une courte période, elle sera déconnectée du référentiel cloud.
  2. Dans un nouveau quota / référentiel. Un fournisseur peut, par exemple, créer un compte temporaire distinct à cet effet, qu'il supprimera ensuite. La sauvegarde apparaît dans l'infrastructure du locataire après la synchronisation avec la base de données du fournisseur.
  3. Juste sur un lecteur de serveur Linux ou Windows enregistré dans l'infrastructure du fournisseur. De plus, cette chaîne peut être enregistrée sur une clé USB et envoyée au locataire.



Récupération des locataires


Cette option implique que le client dispose de sa propre infrastructure de tip et d'une grande quantité de données pour le restaurant. Le fournisseur peut envoyer physiquement la bande avec les sauvegardes enregistrées au client par le service de livraison, il la catalogue sur son équipement, déchiffre les bandes et les sauvegardes et travaille avec les sauvegardes comme s'il les avait lui-même écrites sur bande. Voici un hack de vie pour ne pas télécharger de téraoctets sur WAN.

Améliorations à grande échelle du pool GFS


Les pools de médias GFS sont apparus dans VBR il y a deux ans, dans la version 9.5. Dans la dernière mise à jour, à la fois en rapport avec l'apparition de la fonction de locataire sur bande et à la demande des utilisateurs, nous avons bien pompé cette fonctionnalité.

Ensembles de supports quotidiens


Un nouvel ensemble de médias quotidiens est apparu. Maintenant, dans le pool GFS, vous pouvez stocker des sauvegardes pour chaque jour, et non seulement complètes, mais également incrémentielles. Ces derniers prennent beaucoup moins d'espace, ce qui a été fait afin d'économiser de la bande. Il est entendu que ces cassettes sont constamment tournées dans la bibliothèque, et non transportées vers un stockage à distance. Dans le même temps, pour un restaurant à partir d'un point incrémentiel, vous aurez besoin des bandes de l'un des ensembles de médias seniors (hebdomadaire, mensuel, trimestriel ou annuel). Il est impossible d'activer le jeu de supports quotidien sans inclure celui hebdomadaire de sorte que dans la plupart des cas, il faudrait des cassettes hebdomadaires pour restaurer à partir d'une copie incrémentielle. Ils sont soit toujours dans la bibliothèque, soit stockés dans un entrepôt moins éloigné.



La logique de travail avec les travaux sur bande dans le pool de médias GFS n'est pas la plus simple , les rédacteurs techniques ne vous laisseront pas mentir. Si, en résumé, en omettant les détails, seules les sauvegardes complètes (y compris les sauvegardes complètes virtuelles) sont copiées dans les jeux de médias hebdomadaires et supérieurs, une pour chaque date, et dans la sauvegarde quotidienne toutes les sauvegardes qui se trouvent dans le référentiel pour la journée en cours, car la sauvegarde -Le travail peut commencer plus d'une fois par jour.

Accès simultané, heure de début et attente dans les pools GFS


L'enregistrement parallèle de plusieurs chaînes ou le travail sur plusieurs lecteurs de bibliothèque est désormais également possible dans les pools de médias GFS (plus tôt - seulement en ordinaire). Il est inclus dans l'étape Options du pool de médias.



Une précision importante : le même fichier est toujours écrit dans le même flux, par conséquent, dans le cas de plusieurs grandes machines virtuelles, il est recommandé d'activer la configuration par VM sur le référentiel afin que la sauvegarde se compose de plusieurs chaînes.

De plus, il est devenu possible de choisir l'heure de début du travail GFS lui-même . De nombreux utilisateurs n'aimaient pas commencer à minuit, puis attendre presque toute la journée jusqu'à la fin du travail d'approvisionnement. Cette heure peut maintenant être réglée, par exemple, en fin de soirée, lorsqu'il y a déjà quelque chose à copier sur la bande. De plus, à la demande des utilisateurs, nous avons mis dans les paramètres avancés une option qui auparavant ne pouvait être activée qu'à l'aide de la clé de registre. Il suffit de sélectionner Traiter le point de restauration le plus récent au lieu d'attendre - et ce qui se trouve dans le référentiel au moment du début du travail sur bande (le point d'hier, par exemple) est copié sur la bande, il n'y a pas du tout d'attente.



Travail amélioré avec plusieurs bibliothèques


Il s'agira de la situation lorsque plusieurs bibliothèques sont ajoutées à un pool de médias. Nous l'avons soutenu auparavant, mais de temps à autre, les clients se sont plaints de comportements pas tout à fait prévisibles.

Était




Par exemple, le travail sur bande a commencé, il a fallu deux lecteurs dans la première bibliothèque, mais les paramètres de concurrence lui permettent d'utiliser 4 lecteurs à la fois. Ce travail doit-il basculer vers la deuxième bibliothèque du pool de médias et l'utiliser également, ou s'agit-il d'un gaspillage de ressources?

Un autre cas. Une option a été sélectionnée pour passer par la condition «il n'y a pas de cassettes disponibles», dans la première bibliothèque, il n'y a qu'une seule cassette, mais toutes les données y sont potentiellement placées. Cependant, les paramètres vous permettent d'écrire en parallèle sur deux cassettes. La deuxième bibliothèque doit-elle être impliquée dans ce cas?

Nous avons décidé de mettre cette zone en ordre, ce qui permet de personnaliser explicitement le comportement.

Est devenu




Les bibliothèques du pool de médias sont apparues des rôles - actifs et passifs . Et le pool de médias lui-même a deux modes: sécurité intégrée ou basculement et mise en parallèle . Maintenant, selon les exigences, vous pouvez configurer le pool de médias de différentes manières.

  • Si vous avez plusieurs bibliothèques homologues et que vous devez paralléliser l'enregistrement en elles, activez le mode d'enregistrement parallèle, pour cela toutes les bibliothèques doivent se voir attribuer des rôles actifs. Dans ce cas, les nouvelles bandes et lecteurs seront activés immédiatement, dès que le besoin s'en fera sentir, quelle que soit la bibliothèque dans laquelle ils se trouvent. Il y a toujours une priorité - d'abord, nous allons essayer de trouver des ressources dans la bibliothèque située plus haut dans la liste.
  • S'il y a une bibliothèque principale et un lecteur ancien ou autonome en réserve, activez le mode feylover en plaçant la bibliothèque principale en haut de la liste et en choisissant un rôle passif pour les périphériques de sauvegarde. Le passage à un tel appareil ne se produira que lorsqu'il est vraiment nécessaire que le travail fonctionne au moins d'une manière ou d'une autre. Cette situation sera considérée comme anormale, qui fera l'objet d'une notification par mail.

Il y a une situation plus compliquée que nous ne prenons pas encore en charge - plusieurs bibliothèques actives avec des bibliothèques passives. La rétroaction montrera s'il y a un besoin pour de telles configurations et s'il est nécessaire de "terminer" la fonctionnalité à l'avenir. Pratique standard.

Support WORM


WORM - Write Once Read Many - les bandes qui ne peuvent pas être effacées ou écrasées au niveau du fer peuvent uniquement ajouter des données. Leur utilisation obligatoire est réglementée par les règles de certaines organisations, par exemple celles qui travaillent dans le domaine de la médecine. Le principal problème avec de telles bandes auparavant était que VBR lors de l' inventaire ou du catalogage enregistrait un en-tête qui ne pouvait plus être effacé à l'avenir, et les travaux sur bande tombaient avec une erreur lors d'une telle tentative.

Dans 9.5 Update 4, la prise en charge complète de ces bandes est implémentée. Ajout de pools de médias WORM, réguliers et GFS, où vous ne pouvez mettre que des bandes de ce type.



Les nouvelles cassettes ont une icône bleue «gelée». Du point de vue de l'utilisateur, travailler avec des cassettes WORM n'est pas différent de travailler avec des cassettes ordinaires.

L '«alimentation» des cassettes est initialement déterminée par le suffixe du code - barres , si le code-barres qu'elles contiennent est régulier ou illisible, le lecteur fournit des informations lors de la première insertion de la cartouche. Placez les bandes WORM dans un pool de médias régulier et leur écrire ne fonctionnera pas. Du drôle: il y avait déjà des utilisateurs qui avaient collé des codes-barres WORM sur des cassettes ordinaires et étaient surpris des changements dans leur infrastructure après la mise à jour.

Puce de cartouche


Parallèlement à l'introduction de cassettes non réinscriptibles, ils ont commencé à travailler avec la puce . Nous n'avions pas utilisé d'attributs standard dans la puce auparavant, maintenant nous écrivons et lisons certains d'entre eux, mais nous ne les percevons pas comme la principale source de données. La principale ligne directrice est toujours le titre de la cassette. Cette décision s'est avérée correcte: un mois après la sortie, nous voyons comment le «zoo» du fer de l'utilisateur apporte des surprises en termes de travail avec la puce.

Sauvegarde sur bande des volumes NDMP


En conclusion, sur la fonctionnalité la plus demandée par le nombre d'avis de cette mise à jour. La sauvegarde des volumes NDMP sur bandes est devenue disponible. Il est nécessaire d' ajouter un serveur NDMP à l' infrastructure VBR, après quoi il deviendra possible de sélectionner des volumes de cet hôte dans le travail de fichier teip. Ils tombent sur la cassette sous forme de fichiers avec un attribut spécial pour les distinguer du catalogage habituel.



Dans la première implémentation, il existe certaines limitations: les extensions ne sont pas prises en charge, plus la sauvegarde et la restauration du volume complet, mais pas des fichiers individuels, sont possibles. La sauvegarde fonctionne via le vidage (dans le cas de NetApp - ufsdump ), il y a quelques particularités: le nombre maximum de points incrémentiels est de 9, après quoi une sauvegarde complète est forcée.

En conclusion


VBR 9.5 Update 4. :

  • - -;
  • Tape Operator ( , – Restore Operator);
  • include/exclude- - ( NDMP);
  • - ( , , , - – , );
  • ;
  • , , / , ;
  • .

Liens utiles


:

Source: https://habr.com/ru/post/fr443716/


All Articles