![]() |
|
|
Logiciels libres
> Utilitaires > Diogene87La problématique Les entreprises qui gérent un grand parc de serveurs ont souvent à lancer des traitements informatiques (batch) à période régulière, sur certains serveurs et dans un certain ordre. Une solution peut consister à utiliser les démons "at" et "cron" de ces serveurs pour planifier les traitements. Mais des difficultés d’exploitation se posent rapidement :
Les automates d’ordonnancement Les automates d’ordonnancement sont des solutions logicielles complètes qui permettent de résoudre ces problèmes. Généralement ces programmes proposent les fonctionnalités suivantes :
« Diogene87 » Diogene87 est un logiciel libre qui permet l’ordonnancement de travaux pour Linux. Voici ses caractéristiques : Travaux et tâches Avec Diogene87, un travail correspond à l’envoi d’un traitement (script ou exécutable). Pour faciliter la gestion et le suivi, les travaux sont regroupés en tâches. Ainsi, certains paramètres (comme les lois de planification) sont précisés une seule fois au niveau de la tâche et sont valables pour tous les travaux de cette tâche. Planification Pour chaque tâche, il est nécessaire de préciser quand elle doit être exécutée. La planification des tâches se fait en lui associant une ou plusieurs règles. Chaque règle ajoute ou supprime des jours à ceux sélectionnés par les règles précédentes. Différents types de règles existent : sélection d’un jour de la semaine, d’un jour du mois, d’un jour de l’année, d’une semaine du mois, d’une semaine de l’année, d’une date de l’année (jour et mois) ou d’une date (jour, mois, année). Un exemple de règles de planification serait : ajouter les lundi puis ajouter les mardi, puis enlever le mois de mars, puis enlever la semaine 52. Dépendances Il est possible de déclarer des dépendances entre travaux pour obliger un travail à attendre la fin d’un ou plusieurs autres travaux. Des dépendances peuvent également être déclarées entre tâches. Le type de dépendance permet de tester la terminaison du travail amont pour décider si le travail aval doit être effectué ou annulé : ainsi le travail aval pourra n’être effectué que si le travail amont se termine mal ou que s’il termine bien. Par exemple, cette fonctionnalité est utile pour lancer une restore de base de données si le traitement amont sur cette base s’est mal terminé. Conditions de départ Il est possible de fixer plusieurs types de conditions pour le départ d’une tâche (en plus des dépendances) :
Les cibles Les travaux peuvent être exécutés sur la machine locale ou sur des machines distantes. A chaque machine où des travaux doivent s’exécuter correspond une cible (target). Une cible peut être ouverte ou fermée. Lorsqu’une cible est fermée, les travaux nouveaux sont mis en attente jusqu’à ce que la cible soit à nouveau ouverte. Les travaux en cours d’exécution continuent de fonctionner. Cette fonctionalité est pratique lorsque des tâches de maintenance doivent être effecutées sur un serveur : l’opérateur ferme la cible associée au serveur, il attend ensuite la fin des travaux en cours (ou les annule). La machine peut alors être arrêtée pour la maintenance : les nouveaux travaux qui arrivent sont mis en attente. Lorsque la maintenance est terminée, il suffit d’ouvrir à nouveau la cible pour libérer les travaux retenus. Job queues Les travaux passent dans des queues (job queue) qui peuvent être ouvertes ou fermées et dont le "débit" peut être contrôlé. Il peut y avoir une ou plusieurs queues par cible (target). Le contrôle du débit permet de préciser le nombre maximum de travaux qui peuvent être exécutés au même moment dans une queue. Les travaux excédentaires seront retenus jusqu’à ce que d’autres travaux de cette queue se terminent. Ainsi, si vous désirez faire passer des sauvegardes et que vous n’avez qu’un seul lecteur de bande, vous pouvez créer une queue fixée à un débit de 1. Une seule sauvegarde pourra passer à la fois et les autres seront mises en attente. Autre avantage de créer ce type de queue : si le lecteur de bande est indisponible à la suite d’une panne, il suffit de fermer la queue associée pour que toutes les nouvelles sauvegardes qui arrivent soient retenues. Suivi des travaux Des journées d’exploitation sont montées quotidiennement : les règles de planification sont évaluées pour décider quelles tâches doivent être exécutées ce jour là. Les dépendances entre tâches sont recalculées pour tenir compte des tâches qui n’ont pas été sélectionnées : Imaginons par exemple qu’il existe trois tâches T1, T2 et T3 et que T3 dépende de T2 et que T2 dépende de T1. Si pour une journée, les tâches T1 et T3 sont sélectionnées, une dépendance entre T3 et T1 est automatiquement créée pour compenser le fait que T2 n’a pas été sélectionnée. Différentes fonctions permettent de contrôler le bon déroulement de l’exécution des travaux. Il est ainsi possible de voir facilement quels sont les travaux en cours d’exécution, en erreur, en attente. Un opérateur humain peut intervenir sur l’exécution des travaux en relancant ou en annulant des travaux plantés. Il peut également annuler des dépendances ou des conditions de départ de travaux pour en forcer le départ. Nouveautés de la version 0.9.1 La version 0.9.1 gère la création et la suppression automatique des journées de production. Si la propriété "auto planned" d’un référentiel est à vrai, chaque jour à minuit, une nouvelle journée de production est créée à partir du référentiel. Si la propriété "auto purged" d’une journée est à vrai, alors elle sera supprimée automatiquement au bout de quelques jours (7 jours par défaut). Fonctionalités manquantes La prochaine version de Diogene87 sera la 0.9.2. Une « révolution » va se produire avec la fusion des 5 démons (dg87d,x,r,s,l) en un seul. Cette demande, faite par plusieurs utilisateurs, apportera de nombreuses simplifications dans la configuration et l’utilisation du programme. Le projet "Narcisse81" a été créé afin de fournir à Diogene87 une interface graphique de qualité. Le projet est actuellement suspendu car le développement de Diogene87 est jugé prioritaire. Comment commencer Le programme est disponible sous forme d’un paquet source (archive .tar.gz compilable avec un classique ./configure make make install) ou sous forme de plusiers paquets pour Debian Woody (.deb) et Fedora Core 2 (.rpm). Une documentation qui regroupe un didacticiel et une référence des commandes est disponible au format texinfo (info diogene87_fr). Cette documentation est également disponible sur le site web de diogene87. Url d'origine: framasoft.net Licence: Creative CommonLogiciels libre, petite définition : L'expression logiciel libre correspond au terme anglais free software. Comme ce dernier est ambigu en anglais, free pouvant signifier « libre » ou « gratuit », on voit le terme français « libre » de plus en plus utilisé, même en anglais. URL origine: www.framasoft.net Sauf mention contraire, les documents publiés sur le site sont placés sous licence libre Creative Commons BY-SA |
|
|
Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés, le reste © technicmania.com
| |||||