Les types, la fréquence et les solutions aux pannes
Notions de Faute, Erreur et Panne Panne (outage)
Un système est dit en panne lorsqu’il ne se comporte pas conformément à sa spécification. Une panne est aussi appelée « défaillance »4 . Une définition plus détaillée s’appuyant sur les attributs tels que la contrôlabilité, la consistance, les conséquences sur le système et le domaine de panne est donnée en [1]. Erreur (error) : Une erreur est un état anormal d’un système, susceptible de causer une panne, mais ne la provoque pas nécessairement (ou pas immédiatement) soit parce qu’il y a une redondance interne suffisante pour que le système continue de fournir le service, soit la partie erronée de l’état n’est pas 4 Failure, en anglais. Dans la littérature informatique, on utilise plus le mot « défaillance » que celui de « panne » Les types, la fréquence et les solutions aux pannes répartie utilisée pour telle ou telle fonction.
Le temps entre l’apparition de l’état d’erreur et la panne est le délai de latence. Une erreur est latente tant qu’elle n’a pas provoqué de panne. Faute (fault) : Une faute peut être une action, un événement ou une circonstance qui peut entraîner une erreur. On remarque qu’il ya une relation de causalité entre Faute, Erreur et Panne. Par exemple, dans le cadre des systèmes pair-à-pair, la panne d’un nœud est une faute (pour le système) qui a pour conséquence l’erreur : le nœud n’est plus accessible. Si un autre pair veut accéder au nœud, cela sera impossible. Le système n’est donc plus conforme à sa spécification, on a donc une panne. La tolérance aux pannes vise à préserver le service rendu par le système malgré l’occurrence de fautes.
Le terme « tolérance aux fautes », en allusion au système lui-même, est généralement utilisé à là place de « tolérance aux pannes » ; les fautes du système étant les pannes de ses composants, tolérer ses fautes revient à tolérer les pannes de ses composants. Nous parlerons donc de fautes et de pannes selon le niveau auquel nous nous situons, mais cela correspondra toujours aux pannes des composants (nœuds, réseau de communication). La figure suivante illustre la chaîne de dépendances entre Faute, Erreur et Panne : Figure 1.1 : Chaîne de dépendance entre les notions de Faute, Erreur et Panne Cette chaîne de dépendance induit l’aspect propagateur des pannes. En effet si on considère le système dans sa globalité, la panne d’un composant (sous-système) fournissant un service à un autre est une faute pour ce dernier qui peut aboutir à sa panne. Ainsi on a la cascade suivante : Faute Erreur Panne cause donne Chapitre 1 : Les types, la fréquence et les solutions aux pannes 11 Mémoire de DEA d’Informatique FST/UCAD Option : Base de données répartie Figure 1.2 : Cascade de pannes Pour le composant A, la panne du composant B (service incorrect) constitue une faute, qui peut à son tour provoquer une erreur interne à A, puis sa panne. Le bon fonctionnement de A dépend de celui de B. Dans la suite, sauf en cas d’exceptions explicites, on ne parlera que de panne mais elle concernera les composants du système et est équivalente à une faute du système.
Les différents types de panne
La classification des différents types de panne étant sous-jacente au modèle du système utilisé, nous allons d’abord présenter l’architecture de notre système avant d’étudier ses pannes. Rappelons que notre objectif est d’acheminer des transactions dans un réseau en pair-à-pair qui, de par sa définition même, est un environnement très volatile où les déconnexions fréquentes de nœuds doivent être prises en charge afin de gérer la cohérence de la base de données répartie.
L’architecture de notre système
Elle correspond à celle d’une base de données répartie au-dessus d’un réseau à large échelle. Elle définit quatre catégories de nœuds. La figure suivante présente l’architecture de notre système et montre ses différents types de nœuds :