Le logiciel Oracle Linux Fault Management Architecture (FMA) est un complément aux mécanismes Linux de détection et de récupération d'erreurs existants qui permet aux administrateurs système de visualiser, d'agir sur et d'effacer les pannes détectées par le noyau Linux sur l'hôte. Il utilise Oracle ILOM Fault Manager sur le processeur de service pour diagnostiquer les erreurs de CPU et de mémoire capturées par l'hôte, puis génère une sortie selon le format d'erreur standard enregistré dans une base de données de gestion des pannes.
Cette base de données comporte un surensemble de toutes les pannes détectées (capturées par Oracle Linux FMA et Oracle ILOM FMA) et est conservée à la fois sur l'hôte et sur le processeur de service.
Dans le système d'exploitation Oracle Linux, les erreurs de CPU et de mémoire sont générées au niveau du noyau, lorsque le matériel vérifie les événements. Ces événements sont enregistrés dans la base de données Linux mcelog. Le démon mcelog Linux, mcelogd, extrait les erreurs stockées dans la base de données et les convertit en messages directement lisibles, qui sont des sorties pour la console, le fichier mcelog (/var/log/mcelog) et le journal système Linux. Le démon mcelog peut également agir selon un ensemble de règles stockées dans un fichier de configuration. Il peut, par exemple, supprimer une page mémoire du service contenant des erreurs impossibles à corriger.
Les informations journalisées par le service mcelog peuvent ne pas contenir suffisamment d'informations pour identifier un composant défectueux (tel qu'un module DIMM de mémoire). Le démon Oracle Linux FMA Fault Manager, fmd, analyse et extrait les erreurs stockées dans le fichier mcelog et les traduit au format ereport pris en charge par Oracle ILOM. Il transfère alors l'ereport au processeur de service via le port d'interconnexion interne entre l'hôte et ILOM. Oracle ILOM Fault Manager utilise cet ereport pour diagnostiquer la panne. Oracle ILOM journalise alors la panne dans sa propre base de données de gestion des pannes et envoie une copie à la base de données de gestion des pannes résidant sur l'hôte Linux.
Grâce à cette méthode, toutes les pannes matérielles système de la base de données peuvent être visualisées et adressées grâce à un ensemble identique de commandes de gestion des pannes, soit à partir du SE hôte, soit à partir d'Oracle ILOM.
Les plates-formes de serveur Oracle exécutant Oracle Linux utilisent des détecteurs d'erreur, des moteurs de diagnostic et des agents de réponse. Les détecteurs d'erreur et les agents de réponse résident sur l'hôte Oracle Linux. Les moteurs de diagnostic résident sur le processeur de service du serveur.
Les détecteurs d'erreur identifient les erreurs dans le système et les gèrent immédiatement de manière appropriée. Ils génèrent également des rapports d'erreur bien définis, ou ereports, qu'ils transmettent à un moteur de diagnostic. Sous Linux, le démon mcelog détecte les erreurs, le logiciel Oracle Linux Fault Management les recueille et les met au format ereport avant de les transférer au processeur de service pour que soit effectué le diagnostic de panne.
Un ensemble de moteurs de diagnostic situés sur le processeur de service interprète les ereports puis détermine si une panne ou un défaut est présent dans le système. Si tel est le cas, le moteur de diagnostic émet une liste de suspects décrivant la ressource ou l'ensemble de ressources pouvant être à l'origine du problème. La ressource peut être ou ne pas être associée à une unité remplaçable sur site (FRU), ou à un libellé.
Si la liste de suspects contient plusieurs suspects, par exemple parce que le moteur de diagnostic n'est pas en mesure d'identifier un suspect unique, une probabilité d'être le suspect principal est affectée à chaque suspect. Le total des probabilités de cette liste se monte à 100 pour cent.
Les détecteurs d'erreur et les moteurs de diagnostic sont connectés par le démon du gestionnaire de pannes sur le processeur de service, qui agit comme un multiplexeur entre les différents composants, comme indiqué dans la figure suivante.
Les agents de réponse tentent de prendre certaines mesures en fonction du type d'erreur. Sur l'hôte, le démon mcelog agit en tant qu'agent de réponse. Les réponses comprennent la journalisation des messages et la suppression de pages de mémoire.
Le démon Oracle Linux Fault Manager, fmd(1M), est lui-même un service. Le service peut être activé et contrôlé en tant que démon sans script, ou à l'aide de scripts init.d pour une plus grande facilité de gestion. Les commandes de gestion des pannes prises en charge par cette version de Oracle Linux FMA comprennent :
fmadm(1M) : utilitaire permettant aux administrateurs et au personnel en charge du service d'afficher et d'effacer les pannes conservées par le gestionnaire de pannes Oracle Linux, fmd(1M).
fmdump(1M) : utilitaire permettant d'afficher le contenu de n'importe quel fichier journal associé à Oracle Linux Fault Manager, fmd(1M).