Mémoire de maîtrise (2011)
Document en libre accès dans PolyPublie |
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (743kB) |
Résumé
Le traçage en espace noyau et utilisateur est un sujet de plus en plus populaire étant donné le niveau de détail et la précision des données qu'il permet d'extraire sur les activités d'un système d'exploitation. Bien souvent par contre, les données recueillies sont tellement détaillées et complexes qu'elles requièrent beaucoup de temps et d'expertise à analyser et à comprendre. C'est pourquoi les traceurs sont habituellement utilisés par les développeurs et plus rarement par les administrateurs systèmes ou les utilisateurs. Cependant, les données recueillies, lorsque bien traitées et présentées, peuvent apporter des informations très pertinentes pour une grande variété d'utilisateurs à un coût très faible. De plus, la virtualisation déjà très présente en entreprise apporte de nouveaux défis dans l'enregistrement de traces et il est difficile avec les méthodologies actuelles de travailler efficacement avec de telles traces. Enfin, contrairement aux environnements de développement, les environnements de production tels que les centres de données sont souvent composés de serveurs fonctionnant sur différentes versions de système d'exploitation, utilisant des logiciels et technologies variées, c'est pourquoi il est nécessaire d'apporter une méthodologie générique afin de régler le plus efficacement possible les différents problèmes pouvant survenir dans un maximum de cas d'utilisation. L'objectif de cette recherche est de montrer qu'il est possible d'utiliser les informations recueillies par des traceurs pour combler l'écart présent entre les outils de diagnostic pour administrateurs systèmes et pour développeurs. Pour ce faire, nous allons étudier les méthodes actuelles d'analyse et de résolution de problèmes dans les environnements de production, ensuite nous verrons comment faire efficacement le lien entre des événements enregistrés au niveau utilisateur, dans le noyau et dans l'hyperviseur KVM, enfin nous présenterons une nouvelle solution développée pour rendre l'utilisation de traces noyau pratique pour diagnostiquer des problèmes complexes dans des environnements réels sans nécessiter de bagage en développement noyau. Tout au long de cette recherche, la méthode expérimentale consiste en la corrélation entre l'activité du système et l'abstraction faite par les outils d'analyse basés sur les informations de trace. En fonction de la problèmatique traitée, différents scénarios seront créés sur les systèmes en test. Le succès d'une expérience sera jugé selon la capacité à automatiser avec précision la synthèse et l'analyse des informations, de telle sorte qu'un utilisateur puisse rapidement profiter des données produites pour comprendre des problèmes complexes apparaissant sur les systèmes d'exploitation. L'hypothèse servant de point de départ de ce travail est qu'il est possible d'utiliser les informations produites par un traceur pour diagnostiquer des problèmes à différents niveaux (utilisateur, noyau, hyperviseur) sans perturber le système. Les résultats de ce travail sont la création et l'intégration aux outils existants d'un mécanisme pour faire correspondre des traces enregistrées à différents niveaux d'un système d'exploitation avec un impact minimal, ce qui permet de comprendre et mesurer les liens entre les différentes couches. De plus, de nouvelles métriques et une méthodologie pour rendre la lecture de traces reliées à la virtualisation sont développées et testées afin de rendre clair les interactions entre une machine virtuelle et le système hôte. Enfin, cette recherche introduit également un nouvel outil permettant aux administrateurs systèmes d'utiliser des traces provenant du noyau selon leur méthodologie de travail habituelle. Le résultat final est que l'utilisation du traçage est viable pour la supervision d'un parc informatique. Les bibliothèques et outils développés servent de base à l'intégration avec les systèmes de supervision traditionnels, permettant la réaction rapide aux éventuels problèmes.
Abstract
Tracing in user or kernel-space is becoming a popular subject. It provides a lot of information about the operating system with high precision. One problem with tracing though, is the fact that it is designed for developpers, and the amount of information and the level of detail is often too much for a system administrator or a user. However, if processed and presented correctly, the data produced by tracers can be of great use for a wide variety of users. Moreover, virtualisation increasingly used in enterprise, brings new challenges to tracing and current methodologies are not enough to record and work with such traces. Data centers are often running a lot of servers with different versions of software and operating systems for various reasons. It is therefore important to develop new generic methodologies covering the most use cases possible, to be able to quickly identify and solve the problems happening on those systems with a reliable data source such as tracing. The objective of this research is to prove that we can use the data produced by a tracer to bridge the gap between tools in use by system administrators and developers. In order to do that, we will study current methodologies for identifying and solving problems in production environments, then we will look at a way to synchronise traces recorded in the kernel, in user-space and in the hypervisor, and finally we will present a new way to process tracing data to assist in the resolution of complex problems in a real production environment, without requiring knowledge in kernel programming. The hypothesis serving as starting point for this work is that it is possible to use the information produced by a tracer to identify problems happening at various levels (user, kernel, hypervisor) without disrupting the system. The results of this work are the creation and integration in existing tools of a method to synchronise traces recorded at various levels on the same machine with a minimal impact. Moreover, new metrics and methodologies have been developped and tested to assist in the analysis process of traces related to virtualisation. Finally, this research introduces a new tool that allows system administrators to use kernel traces with their usual work habits. The final result is that using tracing is a valid and good option to monitor a data center. Thus, the libraries and tools developped are becoming the basis of the integration with the usual monitoring services, which allow a quick response in case of a problem
Département: | Département de génie informatique et génie logiciel |
---|---|
Programme: | Génie informatique |
Directeurs ou directrices: | Michel Dagenais |
URL de PolyPublie: | https://publications.polymtl.ca/731/ |
Université/École: | École Polytechnique de Montréal |
Date du dépôt: | 26 mars 2012 14:58 |
Dernière modification: | 28 sept. 2024 02:32 |
Citer en APA 7: | Desfossez, J. (2011). Résolution de problème par suivi de métriques dans les systèmes virtualisés [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/731/ |
---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements