> Tech > Enfin une solution de sauvegarde automatisée souple !

Enfin une solution de sauvegarde automatisée souple !

Tech - Par Bill Stewart - Publié le 24 juin 2010
email

En présentant Windows 2000, Microsoft a rénové l’utilitaire de sauvegarde intégré NTBackup et a ajouté des possibilités de gestion de médias et de planification. Bien que ces mises à jour soient les bienvenues, j’ai lu dans des forums Web et dans des newsgroups, des commentaires indiquant que bon nombre d’administrateurs et d’autres utilisateurs avaient eu du mal à faire fonctionner NTBackup.Dans ma société, nous avons utilisé un logiciel de sauvegarde tierce partie sur Windows NT 4.0, parce que l’outil NTBackup de NT 4.0 n’était pas à la hauteur de nos besoins. Quand nous sommes montés d’un cran pour passer à Windows Server 2003, j’ai examiné à nouveau NTBackup pour voir si la version remaniée serait suffisamment puissante et si elle serait facile à automatiser. Cet examen m’a permis de découvrir quelques lacunes de NTBackup:

• Il n’existe pas de moyen simple d’écrire une sauvegarde sur une bande arbitraire, sauf à utiliser l’option /um (unmanaged) sur la ligne de commande. Cette option permet d’écraser le contenu d’une bande arbitraire. Malheureusement, quand NTBackup fait cela dans un job de sauvegarde, il applique toujours un nouveau label de média – soit un label de votre cru, soit un label générique fondé sur la date et l’heure courantes. Aucun moyen intégré ne permet d’ordonner à NTBackup d’écraser la bande tout en conservant le label actuel.
• Il n’existe pas de moyen simple d’ajouter une information de sauvegarde à une bande insérée, parce qu’il faut utiliser l’une des deux options /t (tape name) ou /g (globally unique identifier – GUID) sur la ligne de commande. Le mode unmanaged ne fonctionnera pas parce qu’on ne peut ajouter qu’à une bande nommément désignée.
• NTBackup ne peut pas éjecter une bande après une sauvegarde.
• NTBackup ne peut ni envoyer par e-mail, ni imprimer les journaux de job obtenus.

Pour pallier ces insuffisances, j’ai créé un ensemble de scripts dont la liste figure dans le tableau Web 1 (https://www.itpro.fr Club abonnés). L’ensemble comporte un script principal et 13 scripts de soutien. Le script principal, Backup.cmd, utilise NTBackup pour effectuer une sauvegarde qui écrase la bande courante mais ne change pas son label de média. Les 13 scripts de soutien effectuent diverses fonctions pour le compte de Backup. cmd. L’ensemble de ces scripts offre une solution de sauvegarde facile à personnaliser et à utiliser. Pour les exécuter, aucune expérience d’écriture de script n’est nécessaire. Il suffit de suivre ces étapes :

1. Bien comprendre ce que chaque script de soutien accomplit, afin de pouvoir personnaliser une solution.
2. Comprendre comment le script principal fonctionne, de manière à pouvoir le personnaliser.
3. Préparer l’environnement et les scripts.

Backup.cmd est le squelette de cette solution de sauvegarde, tandis que les 13 scripts de soutien sont ses muscles. Voici comment les 13 scripts bandent leurs muscles et contribuent au résultat final :

RSMView.cmd. NTBackup gère les bandes et autres médias en utilisant le service Removable Storage, qui a une base de données dans le répertoire %SystemRoot%\system32\ NtmsData. On peut utiliser un outil ligne de commande appelé RSM pour gérer le service Removable Storage. L’une des commandes les plus utiles de RSM est Rsm View, qui permet de visualiser les objets présents dans la base de données du service Removable Storage.

Les types d’objets intéressants sont LIBRARY, PHYSICAL_ MEDIA, PARTITION et LOGICAL_MEDIA. (Le modèle d’objet pour la base de données Removable Storage contient beaucoup d’autres types d’objets.) Un objet LIBRARY représente une unité physique qui utilise le support amovible. L’appareil qui nous intéresse est le lecteur de bande. L’objet LIBRARY peut contenir, entre autres, l’objet PHYSICAL_MEDIA, qui représente le support physique – dans ce cas, une bande. L’objet PHYSICAL_MEDIA, à son tour, peut contenir un objet PARTITION, qui représente une partition. (La GUI utilise le terme side plutôt que partition, mais tous les deux désignent la même chose.) L’objet PARTITION peut contenir, entre autres, l’objet LOGICAL_MEDIA, qui représente la partition allouée d’une bande.

Quand on utilise la commande Rsm View pour afficher les objets qui se trouvent dans un objet conteneur (c’est-àdire, un objet qui en contient d’autres), il faut spécifier l’objet conteneur par sa GUID. Pour déterminer la GUID, il suffit d’utiliser l’une des options de RSM. Quand on utilise Rsm View avec l’option /guiddisplay, RSM produit une liste d’objets et de leurs GUID associées. Munis de la GUID, vous pouvez la couper/coller dans la commande Rsm View. Ce couper/ coller ne pose pas de problème pour une poignée de GUID, mais s’il y en a beaucoup, cela devient fastidieux. Pour se débarrasser de ce fardeau, le script est la solution parfaite. Ainsi, le script RSMView.cmd traite la commande Rsm View dans le reste des scripts. On n’a plus à couper et coller une seule GUID.

Library.cmd. Library.cmd obtient le nom convivial et la GUID du lecteur de bande, ou simplement sa GUID. Si on exécute Library.cmd en mode autonome, elle affichera le nom et la GUID du lecteur de bande. Cette information sera utile pour le dépannage en cas de difficulté avec les scripts. Quand Backup.com exécute Library.cmd, cette dernière n’extrait que la GUID parce que Backup.com n’a pas besoin du nom du lecteur de bande.

PhysicalMedia.cmd. PhysicalMedia.cmd obtient le nom convivial et la GUID support physique (c’est-à-dire, la GUID pour la bande physique) de la bande insérée, ou simplement la GUID support physique de la bande. Si l’on exécute PhysicalMedia.com en mode autonome, elle affichera le nom et la GUID de la bande. Quand Backup.com exécute PhysicalMedia.cmd, cette dernière n’extrait que la GUID de la bande.

Partition.cmd. Partition.cmd obtient le nom convivial et la GUID de la partition, ou simplement sa GUID. Si l’on exécute Partition.cmd en mode autonome, elle affichera le nom et la GUID de la partition. Quand Backup.com exécute Partition.cmd, cette dernière ne renvoie que la GUID de la partition.

MediaGUID.cmd. MediaGUID. cmd donne la GUID support logique de la bande insérée (c’est-à-dire, la GUID pour la partition allouée de la bande), qui est utilisée avec l’option /g de NTBackup. MediaGUID.cmd donne la GUID dans le format dont NTBackup a besoin.

MediaName.cmd. MediaName. cmd obtient le label de support de la bande insérée tel qu’il apparaît dans le champ Name sur l’onglet Side de la boîte de dialogue Properties de la bande dans la console Removable Storage. La figure 1 montre un exemple de boîte de dialogue Properties. Backup.cmd utilise le label de support obtenu par MediaName.cmd avec l’option /n de NTBackup pour réappliquer le label de support existant lors de l’écrasement du contenu d’une bande.

A noter que NTBackup utilise le champ Info quand on désigne les bandes par leur nom. Windows 2003 et Windows XP définissent automatiquement le champ Name d’après le contenu du champ Info. Cependant, en testant Win2K, j’ai constaté que le champ Name était resté vierge et j’ai dû copier le label du champ Info dans le champ Name. Dans tous les cas, le champ Name doit correspondre au champ Info sur l’onglet Side ; sinon, MediaName.cmd échouera ou renverra des résultats incorrects.

Refresh.cmd. En fonction du matériel, RSM n’est pas toujours capable de détecter quand les bandes sont insérées et retirées. C’est pourquoi, avant de procéder à une sauvegarde, il est important d’effectuer une opération de rafraîchissement pour s’assurer que la base de données contient l’état actuel du lecteur de bande. Refresh.cmd rafraîchit le lecteur de bande. Si l’opération de rafraîchissement est concluante, Refresh.cmd utilise sleep.exe pour suspendre le script afin que la base de données renvoie des informations à jour.

Eject.cmd. Eject.cmd éjecte la bande au terme de la sauvegarde. Le script appelle ensuite Refresh.cmd pour rafraîchir le lecteur de bande, pour s’assurer que la base de données du service Removable Storage renverra des informations à jour.

 ShowLog.cmd. ShowLog. cmd produit le fichier log NTBackup le plus récent (c’est-à-dire, le journal que l’on verrait dans la GUI NTBackup) sur l’écran. Si l’on exécute ShowLog.cmd avec l’option /f, on obtiendra le chemin complet et le nom de fichier du journal.

PrintLog.cmd. PrintLog. cmd utilise Notepad pour imprimer le fichier log NTBackup le plus récent. Au préalable, il faut configurer une imprimante par défaut. Si l’on utilise PrintLog.cmd, les Summary logs (/L:s) sont recommandés.

MailLog.cmd. MailLog.cmd utilise blat.exe pour envoyer, par e-mail, le fichier log NTBackup le plus récent à la personne spécifiée (l’administrateur, par exemple). Blat.exe est un utilitaire gratuit qui permet d’envoyer des messages email à partir d’un script de commande.

SetupVars.cmd. SetupVars.cmd définit les paramètres des variables d’environnement principales utilisées dans les autres scripts. De sorte que les scripts sont facilement portables sur des ordinateurs différents. Il suffit de modifier les paramètres dans un script (c’est-à-dire dans SetupVars.cmd) plutôt que dans 13. (A l’étape 3, nous verrons les paramètres qu’il est nécessaire de modifier.)

TapePrep.cmd. Quand on a une ou plusieurs nouvelles bandes que l’on veut libeller et allouer à NTBackup, on peut utiliser Tape- Prep.cmd. Ce script exécute NTBackup en mode non géré afin que NTBackup puisse utiliser n’importe quelle bande présente. Le script libelle la bande avec le texte de votre choix. On exécute TapePrep.cmd sur la ligne de commande et pas dans un script tel que Backup.cmd, parce qu’on n’a besoin d’utiliser le script qu’une fois par bande. La commande permettant de lancer TapePrep.cmd est

TapePrep media_label

où media_label est le texte que l’on veut utiliser comme label. Si le texte contient des espaces, il faut le mettre entre guillemets.

Téléchargez gratuitement cette ressource

Le Guide Server & Data center

Le Guide Server & Data center

Le Nouveau Guide Atlassian Server & Data center liste les meilleures pratiques et solutions pour libérer le potentiel de toutes les équipes. Découvrez, pas à pas, comment fluidifier l’organisation, accentuer la communication et la collaboration. Plus de 100 000 entreprises dans le monde, comme Coca Cola, Visa ou BMW utilisent des produits de gestion des services, de communication en temps réel, de partage et de création de contenu et de suivi de projets d'Atlassian pour gagner en efficacité, notamment Jira Software, Confluence, Crowd, Trello, Bitbucket, Jira ServiceDesk et Bamboo. Découvrez les meilleures pratiques.

Tech - Par Bill Stewart - Publié le 24 juin 2010