Brevet FR2812100A1 — publié le 20020125

PROCEDE DE SAUVEGARDE DE DONNEES INFORMATIQUES La présente invention concerne le domaine de la sauvegarde de données informatiques. On connaît dans l'état de la technique des équipements pour la sauvegarde, comportant un serveur disposant d'une mémoire tampon, par exemple un disque dur, et des moyens de commandes d'un lecteur-enregistreur de supports permanents. Le but de la présente invention est de proposer une solution qui permet d'optimiser la taille des supports permanents et de faciliter la reconstruction des données. A cet effet, l'invention concerne selon son acception la plus générale un procédé de sauvegarde de données informatiques consistant à transférer les données à sauvegarder depuis un ordinateur client vers une mémoire tampon formée par le disque dur d'un serveur de sauvegarde, organisée en une pluralité de volumes de taille prédéterminée, et à transférer ensuite les données depuis ladite mémoire tampon sur support définitif [par exemple une cartouche magnétique] caractérisé en ce que l'on enregistre sur le support permanent, à la suite de chacun des volumes, après le transfert sur le support définitif, une séquence d'informations unique pour ledit volume [informations de base], le procédé comportant en outre une étape de constitution d'une base de données dans laquelle sont enregistrées les informations de base. Les informations de base comprennent l'adresse logique sur la cartouche du début du volume et l'adresse logique sur la cartouche de la fin du volume. Les informations de base comprennent la taille approximative du volume. Avantageusement, les informations de base comprennent le numéro du lecteur utilisé pour réaliser le transfert du volume du cache disque vers la cartouche et le 2 2812100 numéro du disque dans lequel se trouvait le volume au moment de son transfert vers la cartouche. Les informations de base comprennent le numéro de la partition disque dans laquelle se trouvait le volume avant son transfert sur la cartouche. Les informations de base comprennent le numéro du processeur utilisé pour transférer le volume du cache disque vers la cartouche. Les informations de base comprennent le code barre de la cartouche contenant le volume et/ou le nom de la cartouche. Les informations de base contiennent une partie au moins des informations comprenant le code hexadécimal indiquant le type de la cartouche, la taille totale des données stockées sur la cartouche, la capacité maximale de la cartouche, l'état du compteur de chargement de la cartouche, le code hexadécimal indiquant l'état du volume, le numéro de la machine hôte de la configuration à laquelle appartient le volume, le code de caractères utilisé dans l'entête du volume, la date de dernière écriture ou modification du volume par la machine hôte, l'heure de dernière écriture ou modification du volume par la machine hôte, la date de dernier accès en lecture du volume par la machine hôte, l'heure de dernier accès en lecture du volume par la machine hôte, la date du25 transfert du volume du cache disque vers la cartouche, et l'heure du transfert du volume du cache disque vers la cartouche. Avantageusement, les données transférées depuis le support permanent vers la mémoire tampon lors de la restauration des données sur l'ordinateur client ne comprennent pas les informations de base. L'invention concerne également un équipement de sauvegarde de données comprenant un serveur de sauvegarde commandant une mémoire tampon organisée en volumes de taille prédéterminée, et un poste de lectureécriture sur des 3 2812100 supports permanents, le serveur comportant une interface de communication avec au moins un ordinateur client pour les échanges de données, caractérisé en ce que le serveur comporte en outre une base de données pour l'enregistrement d'informations de base et des moyens pour associer aux données enregistrées temporairement dans les volumes de la mémoire tampon les informations de base, et pour supprimer les informations de bases lors du transfert des données depuis les supports permanents vers la mémoire tampon. Dans l'un de ses modes de fonctionnement, notamment destiné à la gestion des mainframes, les volumes de données écrits par les machines hôtes sont dans un premier temps créés par l'équipement de sauvegarde selon l'invention dans un espace disque tampon. Ces volumes ont une taille maximale fixée au moment de la configuration du système l'équipement de sauvegarde selon l'invention, généralement assez faible, de l'ordre de 250 Mo. Les volumes sont dans un deuxième temps transférés par l'équipement de sauvegarde selon l'invention vers des cartouches, en un ou plusieurs exemplaires. Seules les données réellement significatives sont transférées sur bande. Ainsi, un volume de taille maximale 250 Mo peut par exemple ne contenir que 10 Mo de données. Dans ce cas, seuls ces 10 Mo sont transférés sur bande, de façon à optimiser l'espace bande. L'équipement de sauvegarde gère en interne, grâce à une base de données, la liste des volumes connus, en stockant un certain nombre d'informations, telles que: * le nom du volume * le support sur lequel il est stocké (disque, cartouche) * la position sur le support (numéro de partition disque, ou adresses logiques de début et de fin sur cartouche) * etc. 4 2812100 Ces informations sont essentielles pour pouvoir retrouver un volume. Au moment du transfert des données du cache disque vers des cartouches, l'équipement de sauvegarde selon l'invention ajoute en fin de transfert de chaque volume des informations privées, appelées " Informations de base ". Ces informations sont uniquement écrites sur cartouches, et sont ignorées dans les transferts en sens inverse, dans le cas o un volume est transféré depuis une cartouche vers le cache disque, par exemple en vue d'une restauration par la machine hôte. Elles sont donc entièrement gérées par l'équipement de sauvegarde selon l'invention en interne et transparentes pour les machines hôtes. Les informations de base pour un volume donné sont écrites sous la forme d'une chaîne de caractères ASCII ayant la structure suivante: titre CR LfpositionDébutVolume positionFinVolume tailleVolume voieLecteur / voieDisque partitionDisque numéroProcesseur codeBarre nomCartouche typeCartouche tailleUtilisée tailleCartouche cptChargement nomVolume étatVolume codeHost typeCodage dateEcriture heureEcriture dateLecture heureLecture dateVidage heureVidage CR LF Dans cette chaîne, tous les champs sont séparés entre eux par un espace, le caractère \ indiquant que la suite de la chaîne est détaillée à la ligne suivante, pour des raisons de mise en page uniquement. Les caractères \ n'apparaissent pas dans les véritables informations de base. Description des champs des informations de base titre: titre indiquant sous forme abrégée la signification des principaux champs suivants. CR: caractère ASCII de code 0x13 (hexadécimal). LF: caractère ASCII de code OxlO (hexadécimal). 2812100 positionDébutVolume: adresse logique sur la cartouche du début du volume. positionFinVolume: adresse logique sur la cartouche de la fin du volume. tailleVolume: taille approximative du volume en Ko. voieLecteur: numéro du lecteur (défini dans la configuration l'équipement de sauvegarde selon l'invention) utilisé pour réaliser le transfert du volume du cache disque vers la cartouche. voieDisque: numéro du disque (défini dans la configuration l'équipement de sauvegarde selon l'invention) dans lequel se trouvait le volume au moment de son transfert vers la cartouche. partitionDisque: numéro de la partition disque dans laquelle se trouvait le volume avant son transfert sur la cartouche. numéroProcesseur: numéro du processeur utilisé pour transférer le volume du cache disque vers la cartouche. codeBarre: code barre de la cartouche contenant le volume. nomCartouche: nom de la cartouche, tel qu'il est déclaré sous l'équipement de sauvegarde selon l'invention. Ce nom est indépendant du code barre. typeCartouche: code hexadécimal indiquant le type de la cartouche. Les valeur possibles sont les suivantes: OxOO00000lL cartouche d'exploitation OxOO01OOlOL cartouche avec accès en lecture autorisé Ox00000020L cartouche avec accès en écriture autorisé Ox00000080L cartouche en cours de réorganisation OxOO0001OOL cartouche à réorganiser Ox00000200L cartouche à ne pas réutiliser OxOOOOO400L cartouche bloquée vide 6 2812100 0x00000800L cartouche réorganisée OxOO001OOOL cartouche de type archive 0x00002000L cartouche de type miroir OxOO01000l L cartouche pour lecteur DLT Ox00020000L cartouche pour lecteur Exabyte Ox00040000L cartouche pour lecteur 3480 0x00080000L cartouche pour lecteur 3590 OxOlFOOOOOL masque pour numéro du pool archive ou miroir auquel appartient la cartouche Le code utilisé pour le champ typeCartouche peut éventuellement être une combinaison des valeur précédentes. tailleUtilisée: taille totale des données stockées sur la cartouche, en Méga Octets. tailleCartouche capacité maximale de la cartouche, en Méga Octets. cptChargement compteur de chargement de la cartouche. Indique le nombre de fois que la cartouche a été chargée dans un lecteur. Cette information sert à déterminer l'usure de la cartouche. nomVolume: nom du volume, tel qu'il est connu de la machine hôte. étatVolume: code hexadécimal indiquant l'état du volume. Ce code est une combinaison des indicateurs dont les masques d'accès et les valeurs possibles sont les suivants: OxOOOOOOOlL 1 si le volume est valide, O si invalide (ancienne version ou volume logiquement effacé) Ox00000008L 1 si le volume est de type miroir OxOO01OOlOL 1 si le volume a une copie miroir sur une autre cartouche OxOOOOOO20L 1 si une copie de ce volume doit être faite sur une cartouche miroir OxOOOOlOOOL 1 si le volume est de type archive OxOOOO2000L 1 si le volume est partagé entre plusieurs systèmes hôtes 7 2812100 OxOO01000l L 1 si le volume doit toujours être copiés sur des cartouches DLT Ox00020000L 1 si le volume doit toujours être copiés sur des cartouches Exabyte Ox00040000L 1 si le volume doit toujours être copiés sur des cartouches 3480 0x00080000L 1 si le volume doit toujours être copiés sur des cartouches 3590 0xOlF0000OL numéro du pool archive ou miroir (de O à 31) codeHost: numéro de la machine hôte de la configuration l'équipement de sauvegarde selon l'invention à laquelle appartient le volume. typeCodage: code de caractères utilisé dans l'entête du volume (0 = ASCII, 1 = EBCDIC). da teEcri ture: date de dernière écriture ou modification du volume par la machine hôte, sous la forme aaaa-mm-j j heureEcriture: heure de dernière écriture ou modification du volume par la machine hôte, sous la forme hh:mm:ss dateLecture: date de dernier accès en lecture du volume par la machine hôte, sous la forme aaaa-mm-jj heureLecture: heure de dernier accès en lecture du volume par la machine hôte, sous la forme hh:mm:ss dateVidage: date du transfert du volume du cache disque vers la cartouche, sous la forme jj-mm-aaaa heureVidage: heure du transfert du volume du cache disque vers la cartouche, sous la forme hh:mm:ss Cumul des informations de base 8 2812100 Les informations de base sont cumulatives, pour accélérer l'analyse des cartouches en vue d'une reconstruction de la base de données. Supposons qu'une bande contient les volumes Vl, V2, V3, V4 et V5. Les informations de base associées à chacun de ces volumes sont appelées B1, B2, B3, B4 et B5. On a donc sur V 1 B 1 V2 B2 V3 B3V4 1 B4V5 B5 la bande: Les informations de base B1 ne contiennent que des informations concernant le volume Vl. Les informations de base B2 contiennent dans un seul enregistrement de données un cumul de B1 et des informations concernant le volume V2. B2 contient donc les informations de V1 et V2. Les informations de base B3 contiennent dans un seul enregistrement de données un cumul de B2 et des informations concernant le volume V3. B3 contient donc les informations de Vl, V2 et V3. Etc. Les dernières informations de base de la cartouche, B5 dans l'exemple précédent, contiennent donc un cumul de toutes les informations concernant tous les volumes présents sur la cartouche. Dans le cas o une cartouche contient de très nombreux volumes, les informations de base cumulées peuvent atteindre une taille importante. Pour limiter cet accroissement, une taille maximale a été arbitrairement fixée à 132 Ko. Lorsque la construction standard des informations de base d'un volume dépasse 132 Ko, l'équipement de sauvegarde selon l'invention affecte à ce volume des informations de base réduites, contenant uniquement les informations de base de ce nouveau volume, sans cumul des informations des volumes précédents. Pour les volumes suivants, le mécanisme standard de cumul des informations du volume courant avec celles du volume précédent est repris. 9 2812100 Dans les informations de base réduites, le champ adresseVolume du seul volume décrit (adresse logique de début du volume sur la cartouche) contient une adresse différente de 0. Exemple Supposons qu'une cartouche contient n+l volumes. Le nième volume (Vn) a des informations de base complètes, appelées Bn, qui contiennent donc la liste des informations des n premiers volumes. Le premier volume décrit dans Bn, V1, est indiqué avec un champ adresseVolume à O. Après le volume Vn et ses informations de base Bn, on trouve sur la cartouche le volume Vn+l et ses informations de base Bn+, que nous supposons réduites. Ceci signifie que Bn+1 ne contient que les informations du volume Vn+, avec un champ adresseVolume indiquant la position sur la cartouche du volume Vn+I à une adresse supérieure à 0, puisque le volume Vn+ ne se trouve pas en début de cartouche. L'analyse des dernières informations de base de la cartouche (Bn+l) peut donc très simplement détecter que ces informations sont réduites (car an+ > 0), et on peut en déduire que les précédentes informations de base (Bn) se trouvent sur la cartouche juste avant l'adresse an+i. AdresseVolume...... V1 a1 = 0 V2 a2 Bn Vn lan Vn+1l an+l > 0 Bn+ Récupération des informations de base En cas de perte totale de la base de données du système l'équipement de sauvegarde selon l'invention, la 2812100 reconstruction complète de la base peut être effectuée grâce à ces informations de base. Une fonctionnalité intégrée au code des processeurs l'équipement de sauvegarde selon l'invention permet d'analyser une cartouche pour en extraire les dernières informations de base. Cette analyse peut également être effectuée par un logiciel externe: il suffit de se positionner en fin de bande, de reculer d'un enregistrement et de lire le dernier enregistrement de données. Les informations de base ainsi récupérées en fin de cartouche contiennent une description des volumes de la cartouche. Comme décrit au paragraphe précédent, si le champ adresseVolume du premier volume contient une valeur différente de 0, ceci signifie que le premier volume n'est pas au début de la bande. On doit en déduire qu'il s'agit d'informations de base réduites. Il suffit alors de se positionner sur la cartouche à l'adresse adresseVolume, puis de reculer de 1 enregistrement pour pouvoir lire les informations de base du volume précédent. Celles-ci sont elles-mêmes un cumul des informations de base des volumes précédents. On doit poursuivre l'analyse arrière de la cartouche jusqu'à trouver des informations de base avec un champ adresseVolume à 0 pour le premier volume. L'ensemble des volumes de la cartouche peut alors être connu en cumulant toutes les informations de base récupérées. Reconstruction de la base à partir des informations de base La reconstruction de la base nécessite la récupération de toutes les informations de base stockées sur toutes les cartouches de la librairie, puis leur analyse, par un logiciel approprié. L'ensemble de ces informations comprend toutes celles nécessaires pour reconstruire la base. Pour ce faire, il convient non seulement de dresser la liste de tous les volumes contenus sur toutes les cartouches, mais aussi de déterminer pour chaque volume d'une Il 2812100 cartouche s'il est valide pour la machine hôte ou non. En effet, un même volume (même nom, même système hôte) peut être présent sur plusieurs cartouches différentes, ou à plusieurs endroits sur une même cartouche. Ceci peut se produire pour les raisons suivantes: soit il s'agit de plusieurs versions différentes d'un même volume qui a été mis à jour plusieurs fois par la machine hôte soit il s'agit des mêmes données qui ont été déplacées par l'équipement de sauvegarde selon l'invention en interne. Dans tous les cas, l'analyse des informations de base dateEcriture et heureEcriture de toutes les occurrences de ce volume permet de déterminer laquelle est la plus15 récente, et donc la seule valide. Si la version la plus récente est présente à plusieurs endroits (mêmes informations dateEcriture et heureEcriture), n'importe laquelle de ces occurrences peut être utilisée pour devenir la version valide du volume dans la nouvelle base. Il suffit ensuite de recréer une base de données l'équipement de sauvegarde selon l'invention vide, et de remplir toutes les tables avec les informations collectées. 12 2812100 REVENDICATIONS 1 - Procédé de sauvegarde de données informatiques consistant à transférer les données à sauvegarder depuis un ordinateur client vers une mémoire tampon formée par le disque dur d'un serveur de sauvegarde, organisée en une pluralité de volumes de taille prédéterminée, et à transférer ensuite les données depuis ladite mémoire tampon sur support définitif [par exemple une cartouche magnétique] caractérisé en ce que l'on enregistre sur ledit support permanent, après le transfert des volumes depuis la mémoire tampon sur le support définitif, une séquence d'informations unique spécifique à chacun desdits volumes [informations de base], le procédé comportant en outre une étape de constitution d'une base de données dans laquelle sont enregistrées les informations de base. 2 - Procédé de sauvegarde de données informatiques selon la revendication 1, caractérisé en ce que les informations de base comprennent l'adresse logique sur la cartouche du début du volume et l'adresse logique sur la cartouche de la fin du volume. 3 - Procédé de sauvegarde de données informatiques selon la revendication 1 ou 2, caractérisé en ce que les informations de base comprennent la taille approximative du volume. 4 - Procédé de sauvegarde de données informatiques selon l'une quelconque des revendications précédentes, caractérisé en ce que les informations de base comprennent le numéro du lecteur utilisé pour réaliser le transfert du volume du cache disque vers la cartouche et le numéro du disque dans lequel se trouvait le volume au moment de son transfert vers la cartouche. - Procédé de sauvegarde de données informatiques selon l'une quelconque des revendications précédentes, caractérisé en ce que les informations de base comprennent le 13 2812100 numéro de la partition disque dans laquelle se trouvait le volume avant son transfert sur la cartouche. 6 - Procédé de sauvegarde de données informatiques selon l'une quelconque des revendications précédentes, caractérisé en ce que les informations de base comprennent le numéro du processeur utilisé pour transférer le volume du cache disque vers la cartouche. 7 - Procédé de sauvegarde de données informatiques selon l'une quelconque des revendications précédentes, caractérisé en ce que les informations de base comprennent le code barre de la cartouche contenant le volume et/ou le nom de la cartouche. 8 - Procédé de sauvegarde de données informatiques selon l'une quelconque des revendications précédentes, caractérisé en ce que les informations de base comprennent le code hexadécimal indiquant le type de la cartouche, la taille totale des données stockées sur la cartouche, la capacité maximale de la cartouche, l'état du compteur de chargement de la cartouche, le code hexadécimal indiquant l'état du volume, le numéro de la machine hôte de la configuration à laquelle appartient le volume, le code de caractères utilisé dans l'entête du volume, la date de dernière écriture ou modification du volume par la machine hôte, l'heure de dernière écriture ou modification du volume par la machine hôte, la date de dernier accès en lecture du volume par la machine hôte, l'heure de dernier accès en lecture du volume par la machine hâte, la date du transfert du volume du cache disque vers la cartouche, et l'heure du transfert du volume du cache disque vers la cartouche. 9 - Procédé de sauvegarde de données informatiques selon l'une quelconque des revendications précédentes, caractérisé en ce que les données transférées depuis le support permanent vers la mémoire tampon lors de la restauration des données sur l'ordinateur client ne comprennent pas les informations de base. 14 2812100 - Equipement de sauvegarde de données comprenant un serveur de sauvegarde commandant une mémoire tampon organisée en volumes de taille prédéterminée, et un poste de lecture-écriture sur des supports permanents, le serveur5 comportant une interface de communication avec au moins un ordinateur client pour les échanges de données, caractérisé en ce que le serveur comporte en outre une base de données pour l'enregistrement d'informations de base et des moyens pour associer aux données enregistrées temporairement dans les10 volumes de la mémoire tampon les informations de base, et pour supprimer les informations de bases lors du transfert des données depuis les supports permanents vers la mémoire tampon.