FR2984053A1 - METHOD AND COMPUTER PROGRAM FOR MANAGING MULTIPLE FAILURES IN A COMPUTER INFRASTRUCTURE COMPRISING HIGH AVAILABILITY EQUIPMENT - Google Patents

METHOD AND COMPUTER PROGRAM FOR MANAGING MULTIPLE FAILURES IN A COMPUTER INFRASTRUCTURE COMPRISING HIGH AVAILABILITY EQUIPMENT Download PDF

Info

Publication number
FR2984053A1
FR2984053A1 FR1161583A FR1161583A FR2984053A1 FR 2984053 A1 FR2984053 A1 FR 2984053A1 FR 1161583 A FR1161583 A FR 1161583A FR 1161583 A FR1161583 A FR 1161583A FR 2984053 A1 FR2984053 A1 FR 2984053A1
Authority
FR
France
Prior art keywords
equipment
high availability
groups
group
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1161583A
Other languages
French (fr)
Other versions
FR2984053B1 (en
Inventor
Jean-Olivier Gerphagnon
Alain Moulle
Philippe Couvee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull Sas Fr
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Bull SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA filed Critical Bull SA
Priority to FR1161583A priority Critical patent/FR2984053B1/en
Priority to PCT/FR2012/052731 priority patent/WO2013088019A1/en
Publication of FR2984053A1 publication Critical patent/FR2984053A1/en
Application granted granted Critical
Publication of FR2984053B1 publication Critical patent/FR2984053B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration

Abstract

L'invention a notamment pour objet la gestion de pannes multiples dans une infrastructure informatique comprenant des équipements à haute disponibilité dont certains forment un premier groupe à haute disponibilité auquel est associé un premier niveau. Des sous-ensembles d'équipements de ce premier groupe forment des second groupes à haute disponibilité auxquels est associé un second niveau. Après avoir détecté (605) une défaillance d'un équipement du premier groupe, une solution de haute disponibilité est recherchée (610) dans des groupes auxquels est associé le premier niveau et comprenant l'équipement défaillant. Si aucune solution n'est identifiée (620), une solution est recherchée (630, 610) dans des groupes auxquels est associé le second niveau et comprenant l'équipement défaillant.The invention particularly relates to the management of multiple failures in a computing infrastructure including high availability equipment some of which form a first high availability group with which is associated a first level. Subsets of equipment of this first group form second high availability groups with which a second level is associated. After detecting (605) a failure of an equipment of the first group, a high availability solution is sought (610) in groups with which the first level is associated and including the failed equipment. If no solution is identified (620), a solution is sought (630, 610) in groups with which the second level is associated and including the failed equipment.

Description

La présente invention concerne l'administration d'infrastructures informatiques telles que des clusters et des centres de traitement de données (ou data centre) et plus particulièrement un procédé et un programme d'ordinateur de gestion de pannes multiples, notamment de doubles pannes, dans une infrastructure informatique comprenant des équipements à haute disponibilité. Le calcul haute performance, aussi appelé HPC (sigle de High Performance Computing en terminologie anglo-saxonne) se développe pour la recherche universitaire comme pour l'industrie, notamment dans des domaines techniques tels que l'automobile, l'aéronautique, l'énergie, la climatologie et les sciences de la vie. La modélisation et la simulation permettent en particulier de réduire les coûts de développement, d'accélérer la mise sur le marché de produits innovants, plus fiables et moins consommateurs d'énergie. Pour les chercheurs, le calcul haute performance est devenu un moyen d'investigation indispensable. The present invention relates to the administration of IT infrastructures such as clusters and data centers, and more particularly to a method and a computer program for managing multiple faults, in particular double faults, in an IT infrastructure including high availability equipment. High Performance Computing, also known as High Performance Computing (HPC), is developing for both academic research and industry, particularly in technical fields such as automotive, aeronautics, energy , climatology and life sciences. In particular, modeling and simulation make it possible to reduce development costs and speed up the launch of innovative, more reliable and less energy-consuming products. For researchers, high performance computing has become an indispensable means of investigation.

Ces calculs sont généralement mis en oeuvre sur des systèmes de traitement de données appelés clusters (parfois traduit « grappes de serveurs »). Un cluster comprend typiquement un ensemble de noeuds interconnectés. Certains noeuds sont utilisés pour effectuer des tâches de calcul (noeuds de calcul), d'autres pour stocker des données (noeuds de stockage) et un ou plusieurs autres gèrent le cluster (noeuds d'administration). Chaque noeud est par exemple un serveur mettant en oeuvre un système d'exploitation tel que Linux (Linux est une marque). La connexion entre les noeuds est, par exemple, réalisée à l'aide de liens de communication Ethernet et de réseaux d'interconnexions (par exemple Infiniband) (Ethernet et Infiniband sont des marques). La figure 1 illustre schématiquement un exemple d'une topologie 100 d'un cluster, de type fat-tree. Ce dernier comprend un ensemble de noeuds génériquement référencés 105. Les noeuds appartenant à l'ensemble 110 sont ici des noeuds de calcul tandis que les noeuds de l'ensemble 115 sont des noeuds de service (noeuds de stockage et noeuds d'administration). Les noeuds de calcul peuvent être regroupés en sous-ensembles 120 appelés îlots de calcul, l'ensemble 115 étant appelé îlot de service. Les noeuds sont reliés les uns aux autres par des commutateurs (appelés switch en terminologie anglo-saxonne), par exemple de façon hiérarchique. Dans l'exemple illustré sur la figure 1, les noeuds sont connectés à des commutateurs 125 de premier niveau qui sont eux-mêmes reliés à des commutateurs 130 de deuxième niveau qui sont à leur tour reliés à des commutateurs 135 de troisième niveau. Comme illustré sur la figure 2, chaque noeud comprend généralement un ou plusieurs microprocesseurs, des mémoires locales ainsi qu'une interface de communication. Plus précisément, le noeud 200 comporte ici un bus de communication 202 auquel sont reliés : - des unités centrales de traitement ou microprocesseurs 204 (ou CPU, sigle de Central Processing Unit en terminologie anglo-saxonne) ; - des composants de mémoire vive 206 (RAM, acronyme de Random Access Memory en terminologie anglo-saxonne) comportant des registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution de programmes (comme illustré, chaque composant de mémoire vive peut être associé à un microprocesseur) ; et, - des interfaces de communication 208 adaptées à transmettre et à recevoir des données. These calculations are generally implemented on data processing systems called clusters (sometimes translated "clusters of servers"). A cluster typically comprises a set of interconnected nodes. Some nodes are used to perform compute tasks (compute nodes), others to store data (storage nodes), and one or more others manage the cluster (administrative nodes). Each node is for example a server implementing an operating system such as Linux (Linux is a brand). The connection between the nodes is, for example, carried out using Ethernet communication links and interconnection networks (for example Infiniband) (Ethernet and Infiniband are trademarks). Figure 1 schematically illustrates an example of a topology 100 of a cluster, type fat-tree. The latter comprises a set of generically referenced nodes 105. The nodes belonging to the set 110 are here computation nodes while the nodes of the set 115 are service nodes (storage nodes and administration nodes). The computing nodes can be grouped into subsets 120 called computing islands, the set 115 being called service island. The nodes are connected to each other by switches (called switches in English terminology), for example hierarchically. In the example illustrated in FIG. 1, the nodes are connected to first level switches 125 which are themselves connected to second level switches 130 which are in turn connected to third level switches 135. As illustrated in FIG. 2, each node generally comprises one or more microprocessors, local memories as well as a communication interface. More specifically, the node 200 here comprises a communication bus 202 to which are connected: central processing units or microprocessors 204 (or CPU, acronym for Central Processing Unit in English terminology); components of RAM 206 (Random Access Memory in English) with registers adapted to record variables and parameters created and modified during the execution of programs (as illustrated, each memory component alive can be associated with a microprocessor); and, communication interfaces 208 adapted to transmit and receive data.

Le noeud 200 dispose en outre ici de moyens de stockage interne 210, tels que des disques durs, pouvant notamment comporter le code exécutable de programmes. Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le noeud 200 ou reliés à lui. Les microprocesseurs 204 commandent et dirigent l'exécution des instructions ou portions de code logiciel du ou des programmes. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple un disque dur, sont transférés dans la mémoire vive 206. Pour certaines applications dites critiques, il est nécessaire de proposer des solutions permettant d'assurer la disponibilité du cluster en cas de panne de l'un de ces composants. Ces solutions offrant des caractéristiques de haute disponibilité, appelées High-Availability (ou HA) en terminologie anglo-saxonne, nécessitent un ensemble de composants techniques relativement complexes et une couverture du champ de haute disponibilité clairement identifiée. In this case, the node 200 also has internal storage means 210, such as hard disks, that can notably comprise the executable code of programs. The communication bus allows communication and interoperability between the various elements included in the node 200 or connected to it. The microprocessors 204 control and direct the execution of the instructions or portions of software code or programs. When powering up, the program or programs that are stored in a non-volatile memory, for example a hard disk, are transferred into the RAM 206. For some so-called critical applications, it is necessary to propose solutions that allow Ensure cluster availability in case of failure of any of these components. These solutions offering high availability characteristics, called High-Availability (or HA) in English terminology, require a relatively complex set of technical components and a clearly identified coverage of the high availability field.

De façon générale, un système à haute disponibilité couvre un type de pannes communément appelées « simples pannes » selon lequel un seul équipement tombe en panne à un instant donné. Les pannes dites « multiples », ou pannes simultanées, sont beaucoup plus complexes à gérer car le nombre de cas à traiter augmente exponentiellement avec le nombre d'équipements. Une panne d'un équipement peut notamment être provoquée par la défaillance d'un composant matériel tel qu'une unité centrale de traitement (CPU), une mémoire ou une alimentation électrique, ou par une défaillance (typiquement appelée bug) d'un composant logiciel mis en oeuvre par l'équipement considéré. In general, a high availability system covers a type of faults commonly referred to as "simple faults" in which a single equipment fails at a given time. So-called "multiple" failures, or simultaneous failures, are much more complex to manage because the number of cases to be processed increases exponentially with the number of devices. A failure of a device can be caused by the failure of a hardware component such as a central processing unit (CPU), a memory or a power supply, or a failure (typically called a bug) of a component. software implemented by the equipment in question.

Un tel mécanisme peut, par exemple, être mis en oeuvre dans un cluster utilisant le système d'exploitation Unix (Unix est une marque) avec un système de gestion de la haute disponibilité (appelé cluster de haute disponibilité du fait du regroupement d'un ensemble de composants, matériels et logiciels, afin de fournir une fonction donnée) tel que le produit open source connu sous le nom de « Pacemaker ». Il permet le contrôle de composants à haute disponibilité (surveillance et reconfiguration en cas de panne) en utilisant notamment un réseau de surveillance dédié appelé « heartbeat » vérifiant que les composants visés sont opérationnels. A titre d'illustration, la figure 3, comprenant les figures 3a, 3b et 3c, représente schématiquement une partie 300 d'un cluster comprenant des équipements à haute disponibilité, ici quatre noeuds référencés 305-0 à 305-3, et trois commutateurs référencés 310-0 à 310-2 reliés à un réseau de communication 315. Comme illustré, le noeud 305-0 est connecté au commutateur 310-0, les noeuds 305-1 et 305-2 sont connectés au commutateur 310-1 et le noeud 305-3 est connecté au commutateur 310-2. Chaque noeud peut comprendre un ou plusieurs modules logiciels (non représentés) pouvant être à l'origine d'une défaillance. Dans un souci de clarté, il convient de comprendre, dans la suite de la description, que la défaillance d'un équipement peut être liée à une défaillance matérielle d'un composant de ce dernier ou à une défaillance d'un composant logiciel mis en oeuvre par ce dernier. La figure 3a représente la situation dans laquelle tous les noeuds, les commutateurs et le réseau de communication fonctionnent correctement. Dans ce cas, des services, pouvant s'échanger des données, sont exécutés dans les noeuds 305-0 à 305-3. Les services visés ici sont les services au sens de la haute disponibilité. Ils sont liés aux ressources des noeuds et peuvent être des services logiciels en tant que tels, des systèmes de fichiers, des processus, des adresses IP (sigle d'Intemet Protocol en terminologie anglo-saxonne), etc.. Il est ici considéré que les noeuds 305-0 à 305-3 font partie d'un même regroupement d'équipements à haute disponibilité (groupe de haute disponibilité ou groupe HA). Ainsi, lorsque l'un de ces noeuds est défaillant (pour une raison matérielle ou logicielle), un ou plusieurs noeuds opérationnels du groupe prennent le relais. Ceci est également vrai pour les équipements qui les relient au réseau (commutateurs 310-0 à 310-2). Si l'un de ces équipements est défaillant (également pour une raison matérielle ou logicielle), une bascule est effectuée pour assurer la continuité de service. La figure 3b illustre le principe de haute disponibilité mis en oeuvre lorsque le commutateur 310-0 connaît une défaillance, rendant ce dernier indisponible (comme illustré par la croix en trait continu). Lorsque le commutateur 310-0 est défaillant, le noeud 305-0 n'est plus visible des noeuds 305-1, 305-2 et 305-3. Ces derniers en déduisent donc une anomalie visant le noeud 305-0 (comme illustré par la croix en trait pointillé). Le mécanisme de haute disponibilité distribué dans les noeuds 305-1, 305-2 et 305-3 est donc mis en oeuvre pour redistribuer les services exécutés par le noeud 305-0 sur les noeuds 305-1, 305-2 et 305-3 ainsi que les paramètres associés tels que des adresses IP (comme illustré par les flèches). Ainsi, en d'autres termes, si un équipement réseau associé à un noeud tombe en panne, une bascule des services mis en oeuvre par ce noeud 5 est automatiquement effectuée pour transférer ces services vers un ou plusieurs noeuds fonctionnels. La figure 3c illustre les limites du principe de haute disponibilité. Comme décrit précédemment, les noeuds 305-1 et 305-2 partagent ici le même commutateur 310-1, par exemple pour des raisons de coût ou d'architecture. 10 Par conséquent, la défaillance du commutateur 310-1 (représenté par une croix en trait continu sur la figure 3c) entraîne la détection d'une double panne car chacun des noeuds 305-1 et 305-2 devient isolé (représenté par une croix en trait pointillé sur la figure 3c). En effet, lorsque le commutateur 310-1 est défaillant, les noeuds 305- 15 1 et 305-2 ne sont plus visibles des noeuds 305-0 et 305-3 qui considèrent alors les noeuds 305-1 et 305-2 comme défaillants. Une telle configuration n'est généralement pas gérée par les mécanismes de haute disponibilité mis en oeuvre dans les noeuds. Typiquement, ces mécanismes consistent en une liste de configuration de 20 pannes et une liste d'adaptation correspondante, formant une solution. Ces listes étant exhaustives, elles ne peuvent viser toutes les configurations possibles de pannes et s'il est possible de gérer toutes les pannes simples, il est impossible, en pratique, de gérer les doubles de pannes de cette façon. Une solution matérielle consiste à ajouter un commutateur pour 25 garantir que chaque noeud dispose d'un commutateur qui lui est propre. Cependant, une telle solution peut ne pas être envisageable, notamment pour des raisons de coûts et/ou d'architecture. L'invention permet de résoudre au moins un des problèmes exposés précédemment. 30 L'invention a ainsi pour objet un procédé de gestion dynamique de services dans une infrastructure informatique comprenant une pluralité d'équipements dont au moins un ensemble forme au moins un groupe d'équipements à haute disponibilité selon lequel des services gérés par un équipement dudit au moins un groupe d'équipements à haute disponibilité sont transférés à au moins un autre équipement dudit au moins un groupe d'équipements à haute disponibilité lorsque ledit équipement est considéré défaillant, un premier niveau de haute disponibilité étant associé audit au moins un groupe d'équipements à haute disponibilité, une pluralité de sous-ensembles dudit ensemble d'équipements dudit au moins un groupe d'équipements à haute disponibilité, appelé premier groupe d'équipements à haute disponibilité, formant une pluralité de second groupes d'équipements à haute disponibilité, un second niveau de haute disponibilité étant associé auxdits seconds groupes d'équipements à haute disponibilité et le procédé comprenant les étapes suivantes, - détection d'une défaillance d'au moins un équipement dudit ensemble d'équipements ; - recherche d'une solution de haute disponibilité dans des groupes d'équipements à haute disponibilité auxquels est associé ledit premier niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant ; et, - si aucune solution de haute disponibilité n'est identifiée dans des groupes d'équipements à haute disponibilité auxquels est associé ledit premier niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant, o recherche d'une solution de haute disponibilité dans des groupes d'équipements à haute disponibilité auxquels est associé ledit second niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant. Le procédé selon l'invention permet ainsi d'apporter des solutions de haute disponibilité à des infrastructures informatiques lorsque des pannes multiples sont identifiées sans nécessiter l'ajout d'équipements particuliers engendrant des coûts importants. Da façon avantageuse, ladite étape de recherche d'une solution de haute disponibilité dans des groupes d'équipements à haute disponibilité auxquels est associé ledit second niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant est appliquée de façon récursive à des groupes d'équipements à haute disponibilité auxquels est associé un niveau de haute disponibilité de rang supérieur au niveau précédemment utilisé pour la recherche d'une solution et comprenant ledit au moins un équipement défaillant. Le procédé selon l'invention permet ainsi de trouver des solutions de hautes disponibilités pour de nombreuses configurations d'infrastructures informatiques et/ou des pannes multiples variées. Such a mechanism can, for example, be implemented in a cluster using the Unix operating system (Unix is a brand) with a high availability management system (called high availability cluster because of the grouping of a set of components, hardware and software, to provide a particular function) such as the open source product known as "Pacemaker". It allows the control of high-availability components (monitoring and reconfiguration in the event of a failure), in particular by using a dedicated monitoring network called "heartbeat" verifying that the targeted components are operational. By way of illustration, FIG. 3, comprising FIGS. 3a, 3b and 3c, schematically represents a portion 300 of a cluster comprising high availability equipment, here four nodes 305-0 to 305-3, and three switches. referenced 310-0 to 310-2 connected to a communication network 315. As illustrated, the node 305-0 is connected to the switch 310-0, the nodes 305-1 and 305-2 are connected to the switch 310-1 and the node 305-3 is connected to switch 310-2. Each node may comprise one or more software modules (not shown) that may cause a failure. For the sake of clarity, it should be understood in the remainder of the description, that the failure of an equipment may be related to a hardware failure of a component of the latter or to a failure of a software component implemented. by the latter. Figure 3a shows the situation in which all nodes, switches and the communication network are functioning properly. In this case, services that can exchange data are performed in nodes 305-0 to 305-3. The services referred to here are services in the sense of high availability. They are linked to the resources of the nodes and can be software services as such, file systems, processes, IP addresses (abbreviation of Internet Protocol in English terminology), etc. It is here considered that the nodes 305-0 to 305-3 are part of the same group of high availability equipment (high availability group or HA group). Thus, when one of these nodes is faulty (for a hardware or software reason), one or more operational nodes of the group take over. This is also true for the equipment that connects them to the network (switches 310-0 to 310-2). If one of these devices is defective (also for a hardware or software reason), a flip-flop is performed to ensure continuity of service. FIG. 3b illustrates the principle of high availability implemented when the switch 310-0 is faulty, making the latter unavailable (as illustrated by the solid line cross). When the switch 310-0 is faulty, the node 305-0 is no longer visible nodes 305-1, 305-2 and 305-3. The latter therefore deduce an anomaly for the node 305-0 (as illustrated by the dotted line cross). The high availability mechanism distributed in the nodes 305-1, 305-2 and 305-3 is therefore implemented to redistribute the services performed by the node 305-0 on the nodes 305-1, 305-2 and 305-3. as well as related parameters such as IP addresses (as illustrated by the arrows). Thus, in other words, if a network equipment associated with a node fails, a services latch implemented by this node 5 is automatically performed to transfer these services to one or more functional nodes. Figure 3c illustrates the limitations of the high availability principle. As previously described, the nodes 305-1 and 305-2 here share the same switch 310-1, for example for reasons of cost or architecture. Therefore, the failure of the switch 310-1 (represented by a solid line cross in FIG. 3c) causes the detection of a double fault because each of the nodes 305-1 and 305-2 becomes isolated (represented by a cross dotted line in Figure 3c). Indeed, when the switch 310-1 is faulty, the nodes 305-1 and 305-2 are no longer visible nodes 305-0 and 305-3 which then consider the nodes 305-1 and 305-2 as defective. Such a configuration is generally not managed by the mechanisms of high availability implemented in the nodes. Typically, these mechanisms consist of a configuration list of 20 outages and a corresponding adaptation list, forming a solution. These lists being exhaustive, they can not aim at all the possible configurations of faults and if it is possible to manage all the simple faults, it is impossible, in practice, to manage the doubles of faults in this way. A hardware solution is to add a switch to ensure that each node has a switch of its own. However, such a solution may not be possible, especially for reasons of cost and / or architecture. The invention solves at least one of the problems discussed above. The subject of the invention is thus a method of dynamically managing services in a computing infrastructure comprising a plurality of equipment items, at least one of which forms at least one group of high availability equipment in which services managed by a piece of equipment of said equipment at least one group of high availability equipment is transferred to at least one other device of said at least one group of high availability equipment when said equipment is considered to be failing, a first level of high availability being associated with said at least one group of high availability equipment, a plurality of subsets of said set of equipment of said at least one high availability equipment group, referred to as the first group of high availability equipment, forming a plurality of second high equipment groups availability, a second level of high availability being associated with said second ds groups of equipment with high availability and the method comprising the following steps, - detection of a failure of at least one equipment of said set of equipment; searching for a high availability solution in groups of high availability equipment with which said first level of high availability is associated and comprising said at least one faulty equipment; and, - if no high availability solution is identified in groups of high availability equipment with which said first high availability level is associated and including the at least one failed equipment, o search for a high availability solution in groups of high availability equipment with which said second level of high availability is associated and comprising said at least one faulty equipment. The method according to the invention thus makes it possible to provide high availability solutions to IT infrastructures when multiple failures are identified without requiring the addition of particular equipment generating significant costs. Advantageously, said step of searching for a high availability solution in groups of high availability equipment with which said second level of high availability is associated and comprising said at least one faulty equipment is applied recursively to groups of equipment. high availability equipment which is associated with a level of high availability of higher rank than the level previously used for finding a solution and comprising said at least one faulty equipment. The method according to the invention thus makes it possible to find solutions of high availability for numerous configurations of computer infrastructures and / or multiple failures varied.

Le procédé comprend en outre, de préférence, une étape de transfert d'au moins un service mis en oeuvre dans ledit au moins un équipement défaillant vers au moins un équipement visé dans une solution identifiée afin d'assurer une fonction de haute disponibilité de l'infrastructure informatique. The method preferably further comprises a step of transferring at least one service implemented in said at least one faulty equipment to at least one targeted equipment in an identified solution in order to ensure a high availability function of the device. 'Informatique infrastructure.

Selon un mode de réalisation particulier, ladite étape de recherche d'une solution de haute disponibilité dans des groupes d'équipements à haute disponibilité auxquels est associé ledit second niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant comprend une étape de changement d'environnement d'exécution d'au moins un service d'au moins un équipement dudit au moins un premier groupe d'équipements à haute disponibilité. Le procédé selon l'invention est ainsi facile à mettre en oeuvre dans de nombreux environnements en utilisant des technologies dites de virtualisation. Toujours selon un mode de réalisation particulier, lesdites étapes du 25 procédé sont mises en oeuvre par des équipements dudit au moins un premier groupe d'équipements à haute disponibilité sans qu'il soit nécessaire d'utiliser d'équipements particuliers. Toujours selon un mode de réalisation particulier, ladite infrastructure informatique comprend au moins deux premiers groupes de haute disponibilité 30 et, lorsqu'au moins un équipement desdits au moins deux premiers groupes d'équipements à haute disponibilité est défaillant et qu'aucune solution n'a été identifiée dans le premier groupe d'équipements à haute disponibilité comprenant l'équipement défaillant ni dans des groupes d'équipements à haute disponibilité auxquels est associé ledit second niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant, le procédé comprend en outre une étape d'identification d'au moins un premier groupe d'équipements à haute disponibilité parmi lesdits au moins deux groupes d'équipements à haute disponibilité, distinct du premier groupe d'équipements à haute disponibilité comprenant ledit au moins un équipement défaillant, adapté à recevoir des services exécutés par des équipements dudit premier groupe d'équipements à haute disponibilité comprenant ledit au moins un équipement défaillant et formant une solution de haute disponibilité. Le procédé selon l'invention permet ainsi d'améliorer une fonction de haute disponibilité de l'infrastructure informatique. Toujours selon un mode de réalisation particulier, ladite étape d'identification d'au moins un premier groupe d'équipements à haute disponibilité parmi lesdits au moins deux groupes d'équipements à haute disponibilité, adapté à recevoir des services exécutés par des équipements dudit premier groupe d'équipements à haute disponibilité comprenant ledit au moins un équipement défaillant et formant une solution de haute disponibilité, est mise en oeuvre dans un équipement distinct desdits au moins deux premiers groupes d'équipements à haute disponibilité. Il est ainsi possible d'utiliser un équipement particulier pour mettre en oeuvre certaines étapes de l'invention afin de limiter la charge des équipements des groupes d'équipements à haute disponibilité. Un équipement défaillant est typiquement un équipement en panne ou un équipement considéré en panne du fait d'un autre équipement en panne, ladite panne pouvant être matérielle et/ou logicielle, un équipement pouvant notamment être un noeud. L'invention a également pour objet un programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé décrit précédemment lorsque ledit programme est exécuté sur un ordinateur ainsi qu'un dispositif comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes du procédé décrit précédemment. According to a particular embodiment, said step of searching for a high availability solution in groups of high availability equipment with which said second level of high availability is associated and comprising said at least one faulty equipment item comprises a step of changing the Execution environment for at least one service of at least one equipment of said at least one first group of high availability equipment. The method according to the invention is thus easy to implement in many environments using so-called virtualization technologies. Still according to a particular embodiment, said process steps are implemented by equipment of said at least one first group of equipment with high availability without the need to use special equipment. Still according to a particular embodiment, said IT infrastructure comprises at least two first groups of high availability 30 and, when at least one equipment of said at least two first groups of high availability equipment is defective and no solution n ' has been identified in the first group of high availability equipment including the failed equipment or in groups of high availability equipment with which the second high availability level is associated and including the at least one failed equipment, the method includes in addition to a step of identifying at least one first group of high availability equipment among said at least two groups of high availability equipment, distinct from the first group of high availability equipment comprising said at least one faulty equipment, adapted to receive services performed by dudi equipment t first group of high availability equipment comprising said at least one faulty equipment and forming a high availability solution. The method according to the invention thus makes it possible to improve a high availability function of the IT infrastructure. Still according to a particular embodiment, said step of identifying at least a first group of high availability equipment among said at least two groups of high availability equipment, adapted to receive services executed by equipment of said first a group of equipment with high availability comprising said at least one faulty equipment and forming a high availability solution, is implemented in a separate equipment of said at least two first groups of high availability equipment. It is thus possible to use a particular equipment to implement certain steps of the invention in order to limit the load of the equipment of groups of equipment with high availability. A faulty equipment is typically a broken down equipment or equipment considered to be down because of another equipment broken down, said breakdown being able to be hardware and / or software, an equipment that can notably be a node. The invention also relates to a computer program comprising instructions adapted to the implementation of each of the steps of the method described above when said program is executed on a computer and a device comprising means adapted to the implementation of of each of the steps of the method described above.

Les avantages procurés par ce programme d'ordinateur et ce dispositif sont similaires à ceux évoqués précédemment. D'autres avantages, buts et caractéristiques de la présente invention ressortent de la description détaillée qui suit, faite à titre d'exemple non limitatif, au regard des dessins annexés dans lesquels : - la figure 1 illustre un exemple de topologie d'un cluster ; - la figure 2 illustre un exemple d'architecture d'un noeud d'un cluster ; - la figure 3, comprenant les figures 3a, 3b et 3c, représente schématiquement une partie d'une infrastructure informatique comprenant des équipements à haute disponibilité lorsque tous ces équipements fonctionnent correctement, lorsqu'une panne est détectée et lorsqu'une double panne est détectée, respectivement ; - la figure 4 illustre schématiquement une partie d'une infrastructure informatique comprenant des équipements à haute disponibilité regroupés par groupes de haute disponibilité selon plusieurs niveaux de haute disponibilité conformément à l'invention ; - la figure 5, comprenant les figures 5a et 5b, illustre des exemples de panne et de double panne, respectivement, dans la partie de l'infrastructure informatique décrite en référence à la figure 4 ; - la figure 6 illustre un exemple de certaines étapes d'un algorithme utilisé dans un noeud pour mettre en oeuvre l'invention ; - la figure 7 illustre schématiquement une partie d'une infrastructure informatique comprenant des équipements à haute disponibilité regroupés par groupes de haute disponibilité selon plusieurs niveaux de haute disponibilité internes et externes, permettant une gestion de pannes multiples au sein de groupes de haute disponibilité et entre groupes de haute disponibilité ; et, - la figure 8 illustre la mise en oeuvre de mécanismes de haute disponibilité, conformément à l'invention, lorsqu'une panne d'un réseau de communication est détectée dans la partie de l'infrastructure informatique représentée sur la figure 7. The benefits provided by this computer program and device are similar to those discussed above. Other advantages, aims and features of the present invention will emerge from the detailed description which follows, given by way of non-limiting example, with reference to the accompanying drawings in which: FIG. 1 illustrates an example of a cluster topology ; FIG. 2 illustrates an exemplary architecture of a node of a cluster; FIG. 3, comprising FIGS. 3a, 3b and 3c, schematically represents a part of a computer infrastructure including high availability equipment when all these equipment are functioning correctly, when a fault is detected and when a double fault is detected. , respectively ; FIG. 4 schematically illustrates a portion of a computing infrastructure comprising high availability equipment grouped by high availability groups according to several levels of high availability according to the invention; FIG. 5, comprising FIGS. 5a and 5b, illustrates examples of breakdown and double failure, respectively, in the part of the IT infrastructure described with reference to FIG. 4; FIG. 6 illustrates an example of certain steps of an algorithm used in a node to implement the invention; FIG. 7 schematically illustrates a portion of a computing infrastructure comprising high availability equipment grouped by high availability groups according to several levels of internal and external high availability, allowing a management of multiple faults within groups of high availability and between high availability groups; and FIG. 8 illustrates the implementation of high availability mechanisms, according to the invention, when a failure of a communication network is detected in the part of the computer infrastructure represented in FIG. 7.

De façon générale, l'invention vise à contourner la limitation selon laquelle les systèmes dits de haute disponibilité ne savent pas gérer deux pannes simultanées en définissant plusieurs niveaux de surveillance, appelés par la suite niveaux de haute disponibilité, et en imbriquant ces niveaux. In general, the invention aims to circumvent the limitation according to which so-called high availability systems do not know how to manage two simultaneous failures by defining several levels of monitoring, hereinafter referred to as high availability levels, and by interleaving these levels.

Une telle solution présente un avantage économique particulièrement important en ce qu'elle permet de réduire les équipements considérés comme des points uniques de défaillance (SPOF, Single Point Of Failure en terminologie anglo-saxonne) en ne multipliant pas le nombre d'équipements mais en donnant la responsabilité de la reprise sur panne à une couche applicative de plusieurs niveaux imbriqués. A titre d'illustration, il est ici considéré une partie d'une infrastructure informatique telle qu'un cluster, utilisant un système de fichiers distribué de type Lustre mettant en oeuvre des serveurs de stockage d'objets (OSS, sigle d'Object Storage Server en terminologie anglo-saxonne) pour stocker des données dans des cibles de stockage d'objets (OST, sigle d'Object Storage Target en terminologie anglo-saxonne) gérant des systèmes de fichiers de disques locaux. Selon le matériel utilisé, un serveur de stockage d'objets met en oeuvre entre deux et huit cibles de stockage d'objets. Une telle partie de infrastructure informatique est, par exemple, similaire à celle illustrée sur la figure 3. Comme illustré sur la figure 4, une telle partie d'infrastructure informatique, référencée ici 400, comprend, selon cet exemple, quatre noeuds référencés 405-0 à 405-3 et trois commutateurs référencés 410-0 à 410-2. De façon similaire à la partie de l'infrastructure informatique représentée sur la figure 3, les noeuds 405-0 et 405-3 sont connectés aux commutateurs 410-0 et 410-2, respectivement, tandis que les noeuds 405-1 et 405-2 sont connectés au commutateur 410-1, les commutateurs 410-0 à 410-2 étant reliés entre eux par un réseau de communication 415. Le noeud 405-0 met ici en oeuvre les cibles de stockage d'objets 30 OST1, OST2 et OST3, le noeud 405-1 met en oeuvre les cibles de stockage d'objets OST4, OST5 et OST6, le noeud 405-2 met en oeuvre les cibles de stockage d'objets OST7, OST8 et OST9 et le noeud 405-3 met ici en oeuvre les cibles de stockage d'objets OST10, OST11 et OST12. Conformément à l'invention, ces ensembles d'équipements sont répartis en groupes de haute disponibilité (groupes HA) selon plusieurs niveaux. Ainsi, selon l'exemple illustré sur la figure 4, un premier niveau de haute disponibilité est associé au groupe 420, noté Grpl_HA niv 1, qui comprend ici tous les équipements de la partie 400 de l'infrastructure informatique. De même, un second niveau de haute disponibilité est associé aux 10 groupes 425-0 et 425-1, notés Grp1_HA niv 2 et Grp2_HA niv 2, respectivement. Par convention, le second niveau de haute disponibilité a ici une valeur supérieure à celle du premier niveau de haute disponibilité. Comme illustrés sur la figure 4, des équipements sont communs à plusieurs groupes de niveaux différents (chaque groupe HA d'un niveau 15 comprend des équipements d'un groupe HA d'un niveau inférieur). Par exemple, les commutateurs 410-0 et 410-1 appartiennent au groupe 420 de premier niveau et au groupe 425-1 de second niveau. En outre, des équipements sont communs à plusieurs groupes de même niveau. Par exemple, le commutateur 410-1 appartient aux groupes 425-0 et 425-1 de 20 second niveau. L'utilisation de plusieurs groupes de haute disponibilité ayant différents niveaux de haute disponibilité et comprenant des équipements communs permet de gérer facilement des situations de pannes multiples et en particulier de doubles pannes en décomposant l'infrastructure informatique 25 considérée pour permettre le traitement de ces pannes multiples comme de simples pannes. En effet, le premier niveau en charge de gérer le groupe d'équipements concernés, ici des noeuds, permet de détecter les pannes simples relatives à ces équipements et d'agir en conséquence en répartissant 30 correctement la charge d'un noeud considéré en panne sur les noeuds restants. Lorsque plusieurs pannes sont détectées dans le groupe de haute disponibilité de premier niveau, il est fait appel aux groupes de haute disponibilité concernés, de second niveau, comprenant les équipements défaillants afin d'identifier un ou plusieurs groupes de haute disponibilité de telle sorte qu'une seule panne soit détectée par groupe de haute disponibilité identifié. Ainsi, en d'autres termes, lorsqu'une ou plusieurs pannes sont détectées dans un groupe de haute disponibilité d'un niveau donné, un test est effectué pour déterminer s'il est possible de trouver une solution pour répartir la charge de l'équipement ou des équipements défaillants aux autres équipements du groupe. Dans l'affirmative, cette solution est mise en oeuvre. Au contraire, s'il n'existe pas de solution, les groupes de haute disponibilité liés à ce groupe de haute disponibilité et du niveau directement supérieur sont sélectionnés et, pour chacun d'eux, un test est effectué pour déterminer s'il est possible de trouver une solution pour répartir la charge de l'équipement ou des équipements défaillants aux autres équipements du groupe considéré. Dans l'affirmative, cette solution est mise en oeuvre et l'algorithme se poursuit pour les autres groupes de même niveau dans lesquels des pannes ont été détectées. Dans la négative, l'algorithme se poursuit de façon récursive. Il est rappelé ici qu'un équipement peut être considéré comme défaillant pour des raisons matérielles ou logicielles. Cependant, un transfert de services est typiquement réalisé entre des équipements différents d'un même groupe d'équipements à haute disponibilité. Néanmoins, par exemple, si un noeud comprend un ensemble de plusieurs cartes réseau et que l'une d'elles tombe en panne, les données qui transitaient par l'interface défaillante (carte réseau en panne) peuvent être redirigées vers une autre interface du même noeud. Ainsi, il peut être considéré qu'en cas de panne logicielle, les services sont transférés entre des équipements différents (typiquement d'un noeud vers un autre) mais que dans le cas d'une panne matérielle, des services peuvent être transférés au sein d'un même équipement (exemple précédent de la carte réseau) ou vers un autre équipement. La figure 5, comprenant les figures 5a et 5b, illustre des exemples de panne et de double panne, respectivement, dans la partie de l'infrastructure informatique décrite en référence à la figure 4. Such a solution has a particularly important economic advantage in that it reduces equipment considered as single points of failure (SPOF) by not multiplying the number of equipment but by giving responsibility for failover to an application layer of multiple nested levels. By way of illustration, here it is considered a part of a computing infrastructure such as a cluster, using a distributed file system of the Luster type implementing object storage servers (OSS, Object Storage acronym Server in English terminology) for storing data in object storage targets (OST, acronym for Object Storage Target in English terminology) managing local disk file systems. Depending on the hardware used, an object storage server implements between two and eight object storage targets. Such a part of the IT infrastructure is, for example, similar to that illustrated in FIG. 3. As illustrated in FIG. 4, such a piece of computer infrastructure, referred to herein as 400, comprises, according to this example, four nodes 405- 0 to 405-3 and three switches referenced 410-0 to 410-2. Similar to the portion of the computer infrastructure shown in FIG. 3, the nodes 405-0 and 405-3 are connected to the switches 410-0 and 410-2, respectively, while the nodes 405-1 and 405- 2 are connected to the switch 410-1, the switches 410-0 to 410-2 being interconnected by a communication network 415. The node 405-0 here implements the object storage targets OST1, OST2 and OST3, the node 405-1 implements the object storage targets OST4, OST5 and OST6, the node 405-2 implements the object storage targets OST7, OST8 and OST9 and the node 405-3 sets here implement targets for storing objects OST10, OST11 and OST12. According to the invention, these sets of equipment are divided into high availability groups (HA groups) according to several levels. Thus, according to the example illustrated in FIG. 4, a first level of high availability is associated with group 420, denoted Grpl_HA level 1, which here comprises all the equipment of part 400 of the IT infrastructure. Similarly, a second level of high availability is associated with the 10 groups 425-0 and 425-1, denoted Grp1_HA level 2 and Grp2_HA level 2, respectively. By convention, the second level of high availability here has a higher value than the first level of high availability. As illustrated in FIG. 4, equipment is common to several groups of different levels (each HA group of a level 15 includes equipment of a lower level HA group). For example, switches 410-0 and 410-1 belong to the first level group 420 and the second level group 425-1. In addition, equipment is common to several groups of the same level. For example, switch 410-1 belongs to the second level groups 425-0 and 425-1. The use of several high availability groups having different levels of high availability and including common equipment makes it possible to easily manage multiple fault situations and in particular double failures by decomposing the IT infrastructure 25 considered to enable the processing of these outages. multiple as simple failures. In fact, the first level in charge of managing the group of equipment concerned, here nodes, makes it possible to detect the simple faults relating to these equipments and to act accordingly by correctly distributing the load of a node considered to be out of order. on the remaining nodes. When multiple failures are detected in the first-level HA group, the affected second-level HA groups, including the failed devices, are used to identify one or more HA groups so that only one failure is detected per identified HA group. Thus, in other words, when one or more faults are detected in a high availability group of a given level, a test is performed to determine if it is possible to find a solution to distribute the load of the defective equipment or equipment to other equipment in the group. If so, this solution is implemented. On the contrary, if there is no solution, the high availability groups linked to this high availability group and the directly higher level are selected and for each of them a test is performed to determine if it is possible to find a solution for distributing the load of equipment or equipment failing to other equipment in the group. If so, this solution is implemented and the algorithm continues for the other groups of the same level in which failures were detected. If not, the algorithm continues recursively. It is recalled here that an equipment can be considered as failing for hardware or software reasons. However, a transfer of services is typically performed between different equipment of the same group of equipment with high availability. However, for example, if a node includes a set of multiple NICs and one of them fails, the data that passed through the failed interface (failed NIC) may be redirected to another NIC interface. same node. Thus, it can be considered that in the event of a software failure, the services are transferred between different equipments (typically from one node to another) but that in the case of a hardware failure, services can be transferred within the same equipment (previous example of the network card) or to another device. FIG. 5, comprising FIGS. 5a and 5b, illustrates examples of breakdown and double failure, respectively, in the part of the IT infrastructure described with reference to FIG. 4.

Comme illustré sur la figure 5a, si le commutateur 410-0 tombe en panne, le noeud 405-0 devient invisible pour les noeuds 405-1, 405-2 et 405-3 qui appellent alors le mécanisme de haute disponibilité décrit précédemment. Le groupe de haute disponibilité ayant le niveau le plus bas, c'est-à- dire le groupe 420 (Grp1_H1 niv 1), est ainsi sélectionné. Comme décrit en référence à la figure 3b, il existe une solution standard pour répartir la charge du noeud 405-0 considéré comme défaillant, c'est-à-dire ici les cibles de stockage d'objets OST1, OST2 et OST3, vers les noeuds 405-1 à 405-3. Cette solution est alors mise en oeuvre. As shown in Fig. 5a, if the switch 410-0 fails, the node 405-0 becomes invisible to the nodes 405-1, 405-2 and 405-3 which then call the high availability mechanism described above. The high availability group with the lowest level, ie the group 420 (Grp1_H1 level 1), is thus selected. As described with reference to FIG. 3b, there is a standard solution for distributing the load of the node 405-0 considered to be faulty, that is to say here the object storage targets OST1, OST2 and OST3, towards the nodes 405-1 to 405-3. This solution is then implemented.

De même, comme illustré sur la figure 5b, si le commutateur 410-1 tombe en panne, les noeuds 405-1 et 405-2 deviennent invisibles pour les noeuds 405-0 et 405-3 qui appellent alors le mécanisme de haute disponibilité décrit précédemment. Le groupe de haute disponibilité ayant le niveau le plus bas, c'est-à- dire le groupe 420 (Grp1_H1 niv 1), est ainsi sélectionné. Cependant, comme décrit en référence à la figure 3c, il n'existe pas de solution standard pour répartir la charge des noeuds 405-1 et 405-2 considérés comme défaillants, c'est-à-dire ici les cibles de stockage d'objets OST4 à OST9, vers les noeuds 405-0 et 405-3. Likewise, as shown in FIG. 5b, if the switch 410-1 fails, the nodes 405-1 and 405-2 become invisible to the nodes 405-0 and 405-3 which then call the high availability mechanism described. previously. The high availability group with the lowest level, ie the group 420 (Grp1_H1 level 1), is thus selected. However, as described with reference to FIG. 3c, there is no standard solution for distributing the load of the nodes 405-1 and 405-2 considered to be faulty, that is to say here the storage targets of objects OST4 to OST9, to nodes 405-0 and 405-3.

Les groupes de haute disponibilité appartenant au groupe 420 précédemment sélectionné et dont le niveau est directement supérieur, c'est-à-dire les groupes 425-0 (Grp1_H1 niv 2) et 425-1 (Grp2_H1 niv 2), sont alors sélectionnés. Il y a une seule panne dans le groupe de haute disponibilité 425-0 et il existe une solution standard à ce problème consistant à transférer la charge du noeud défaillant, ici le noeud 405-1 vers le ou les autres noeuds du groupe de haute disponibilité, c'est-à-dire ici le noeud 405-0. Cette solution est donc mise en oeuvre, comme illustré, en déplaçant les cibles de stockage d'objets OST4 à OST6 vers le noeud 405-0. The high availability groups belonging to the group 420 previously selected and whose level is directly higher, that is to say the groups 425-0 (Grp1_H1 level 2) and 425-1 (Grp2_H1 level 2), are then selected. There is only one failure in the high availability group 425-0 and there is a standard solution to this problem of transferring the load from the failing node, here the node 405-1 to the other node or nodes of the high availability group that is, node 405-0 here. This solution is therefore implemented, as illustrated, by moving the object storage targets OST4 to OST6 to the node 405-0.

De même, il y a une seule panne dans le groupe de haute disponibilité 425-1 et il existe une solution standard à ce problème consistant à transférer la charge du noeud défaillant, ici le noeud 405-2 vers le ou les autres noeuds du groupe de haute disponibilité, c'est-à-dire ici le noeud 405-3. Cette solution est donc mise en oeuvre, comme illustré, en déplaçant les cibles de stockage d'objets OST7 à OST9 vers le noeud 405-3. Pour gérer le mécanisme de haute disponibilité par niveaux, un logiciel de haute disponibilité spécifique, prenant en considération un ou plusieurs niveaux de haute disponibilité, peut être utilisé. Selon un mode de réalisation particulier, des réseaux dits Heartbeat différents sont utilisés pour chaque groupe de haute disponibilité de chaque niveau. Similarly, there is only one failure in the high availability group 425-1 and there is a standard solution to this problem of transferring the load from the failing node, here the node 405-2 to the other node (s) of the group high availability, that is to say here the node 405-3. This solution is therefore implemented, as illustrated, by moving the object storage targets OST7 to OST9 to the node 405-3. To manage the tiered high availability mechanism, specific high availability software, taking into account one or more levels of high availability, may be used. According to a particular embodiment, different so-called Heartbeat networks are used for each high availability group of each level.

L'implémentation peut être faite de différentes façons au niveau de la couche applicative. Il est possible de mettre en oeuvre un environnement de haute disponibilité permettant de gérer les divers niveaux et également d'intégrer un système de classement automatique d'équipements par niveau, selon un type d'équipement considéré, une position dans l'infrastructure informatique (par exemple un équipement de réseau ou de stockage) et une fonction. Via les informations disponibles dans une base de données descriptive de l'infrastructure informatique, il est possible de prédéterminer le rôle et les relations entre des composants devant faire partie d'un même groupe HA ou devant faire partie d'un groupe HA d'un niveau supérieur. Il est alors possible de définir la hiérarchie des groupes HA en se basant sur la topologie (relations entre les équipements, principalement au niveau du réseau et/ou du stockage), le rôle de l'équipement visé et surtout sur les liens de cet équipement vers d'autres équipements devant également être opérationnels pour que cet équipement puisse fournir le service attendu. Il est également possible d'utiliser des produits disponibles utilisant des mécanismes de virtualisation afin de simuler divers niveaux au sein d'un même noeud. Ainsi, par exemple, le système d'exploitation (OS, Operating System en terminologie anglo-saxonne) natif du noeud peut être utilisé pour gérer le premier niveau de haute disponibilité tandis qu'un système virtuel mis en oeuvre sur le noeud, représentant un noeud virtuel (aussi appelé OS virtuel), peut être utilisé pour gérer un second niveau de haute disponibilité. De façon similaire, d'autres systèmes virtuels peuvent être mis en oeuvre sur le noeud et utilisés pour gérer d'autres niveaux de haute disponibilité. Selon un tel mode de réalisation, les services devant être migrés avec des paramètres associés lorsqu'un équipement est défaillant sont mis en oeuvre, au sein d'un noeud, dans le système (natif ou virtuel) correspondant au premier niveau de haute disponibilité. Puis, lorsqu'une panne est détectée et qu'il n'existe pas de solution dans le premier niveau de haute disponibilité, ces services et, le cas échéant, des paramètres associés, sont déplacés (en général avec des services de l'équipement en panne) vers le système (natif ou virtuel) correspondant au niveau de haute disponibilité pour lequel il existe une solution. La figure 6 illustre un exemple de certaines étapes d'un algorithme utilisé dans un noeud pour mettre en oeuvre l'invention. Selon le mode de réalisation présenté ici, les mêmes applications de gestion de haute disponibilité sont mises en oeuvres dans chacun des noeuds d'un groupe de haute disponibilité (du niveau le plus bas). Il n'est donc pas nécessaire de prévoir de mécanisme de synchronisation entre les noeuds. Une première étape (étape 600) consiste ici à initialiser une variable appelée Niv.HA, représentative du niveau de haute disponibilité courant, à la valeur 1. Dans une étape suivante (étape 605), un test est effectué pour déterminer si une ou plusieurs pannes sont détectées. Ce test utilise des mécanismes standard des algorithmes de haute disponibilité visant notamment à vérifier que les noeuds du même groupe de haute disponibilité (initialement du plus bas niveau de haute disponibilité) sont accessibles et/ou dans un état prédéterminé. Si aucune panne n'est détectée, l'algorithme boucle sur lui-même jusqu'à ce qu'au moins une panne soit détectée ou qu'il soit mis fin à l'algorithme. The implementation can be done in different ways at the application layer. It is possible to implement a high availability environment to manage the various levels and also to integrate a system of automatic classification of equipment by level, according to a type of equipment considered, a position in the IT infrastructure ( eg network or storage equipment) and a function. Through the information available in a descriptive database of the IT infrastructure, it is possible to predetermine the role and relationships between components to be part of the same HA group or to be part of an HA group of one. higher level. It is then possible to define the hierarchy of the HA groups based on the topology (relations between the equipment, mainly at the level of the network and / or storage), the role of the targeted equipment and especially on the links of this equipment to other equipment that must also be operational for this equipment to provide the expected service. It is also possible to use available products using virtualization mechanisms to simulate various levels within the same node. Thus, for example, the operating system (OS, Operating System in English terminology) native node can be used to manage the first level of high availability while a virtual system implemented on the node, representing a virtual node (also called virtual OS), can be used to manage a second level of high availability. Similarly, other virtual systems can be implemented on the node and used to manage other levels of high availability. According to such an embodiment, the services to be migrated with associated parameters when a device is faulty are implemented, within a node, in the system (native or virtual) corresponding to the first level of high availability. Then, when a failure is detected and there is no solution in the first level of high availability, these services and, if applicable, associated parameters, are moved (usually with equipment services down) to the system (native or virtual) corresponding to the high availability level for which a solution exists. Figure 6 illustrates an example of certain steps of an algorithm used in a node to implement the invention. According to the embodiment presented here, the same high availability management applications are implemented in each of the nodes of a high availability group (of the lowest level). It is therefore not necessary to provide a synchronization mechanism between the nodes. A first step (step 600) here consists in initializing a variable called Niv.HA, representative of the current high availability level, to the value 1. In a next step (step 605), a test is performed to determine whether one or more failures are detected. This test uses standard mechanisms of high availability algorithms, in particular to verify that the nodes of the same high availability group (initially of the lowest level of high availability) are accessible and / or in a predetermined state. If no failure is detected, the algorithm loops on itself until at least one failure is detected or the algorithm is terminated.

Au contraire, si une panne est détectée, une solution de haute disponibilité est recherchée (étape 610). Typiquement, une telle étape consiste à identifier une configuration de panne prédéterminée dans une table ou une base de données 615, pour le niveau de haute disponibilité courant (Niv.HA), afin d'identifier la façon de répartir les services exécutés par le ou les noeuds en panne sur un ou plusieurs autre noeuds du même groupe de haute disponibilité du niveau de haute disponibilité courant. On the contrary, if a failure is detected, a high availability solution is sought (step 610). Typically, such a step is to identify a predetermined failure pattern in a table or database 615, for the current high availability level (Lvl. HA), to identify how to allocate the services performed by the or nodes that are down on one or more nodes in the same high availability group of the current high availability level.

Un test est alors effectué (étape 620) pour déterminer s'il existe une solution prédéterminée pour la répartition des services exécutés par le ou les noeuds en panne. Dans l'affirmative, la solution est appliquée en effectuant les transferts (étape 625), de façon standard. L'algorithme reboucle alors à l'étape 605 pour traiter, le cas échéant, de nouvelles pannes. Il est observé ici que s'il n'y a pas de panne dans le groupe de haute disponibilité correspondant au nouveau niveau de haute disponibilité auquel appartient le noeud considéré, il existe une solution qui consiste à ne rien faire. Dans le cas contraire, s'il n'existe pas de solution prédéterminée pour la répartition des services exécutés par le ou les noeuds en panne, la variable Niv.HA, représentant le niveau de haute disponibilité courant, est incrémentée de un (étape 630). Un test est alors effectué pour déterminer si la nouvelle valeur de la variable Niv.HA correspond à un niveau de haute disponibilité réel (étape 635), c'est-à-dire si le niveau de haute disponibilité Niv.HA est défini. Dans la négative, il est mis fin à l'algorithme, aucune solution ne pouvant être apportée à la panne ou aux pannes détectées. Dans le cas contraire, si la nouvelle valeur de la variable Niv.HA correspond à un niveau de haute disponibilité réel, les étapes précédentes étapes 610 à 635) sont répétées, comme illustré, pour déterminer s'il existe une solution dans le groupe de haute disponibilité correspondant au nouveau niveau de haute disponibilité. Selon le mode de mise en oeuvre de l'invention, il peut être nécessaire, après avoir modifié le niveau de haute disponibilité, de changer d'environnement (étape 640). Un tel changement peut notamment consister à passer d'un système (natif ou virtuel) à un autre et, si nécessaire, à transférer les services exécutés dans le système initial vers le nouveau système utilisé. A test is then performed (step 620) to determine if there is a predetermined solution for the distribution of services performed by the node or failed. If so, the solution is applied by performing the transfers (step 625), as standard. The algorithm then loops back to step 605 to handle, if necessary, new faults. It is observed here that if there is no failure in the high availability group corresponding to the new level of high availability to which the node belongs, there is a solution that consists in doing nothing. Otherwise, if there is no predetermined solution for distributing the services performed by the failed node (s), the Lv.HA variable, representing the current high availability level, is incremented by one (step 630). ). A test is then performed to determine if the new value of the Niv.HA variable corresponds to a real high availability level (step 635), that is, if the level of high availability Niv.HA is set. If it is not, the algorithm is terminated, no solution can be made to the failure or to the faults detected. In the opposite case, if the new value of the Niv.HA variable corresponds to a real high availability level, the previous steps 610 to 635) are repeated, as illustrated, to determine if there is a solution in the group of high availability corresponding to the new high availability level. According to the embodiment of the invention, it may be necessary, after modifying the level of high availability, to change the environment (step 640). Such a change may include moving from one system (native or virtual) to another and, if necessary, transferring the services executed in the initial system to the new system used.

L'invention peut également être mise en oeuvre pour des ensembles de groupes de haute disponibilité, par exemple des groupes de haute disponibilité utilisant un même système de fichiers distribué. L'invention permet alors d'écarter la limitation du nombre de noeuds par groupe de haute disponibilité qui est généralement limité à 2, 4 ou 8 noeuds de stockage (OSS), notamment du fait du nombre de liens de type fibre vers les baies de stockage, une telle contrainte ayant en particulier pour conséquence que le nombre de groupes de haute disponibilité de noeuds de stockage est, dans un cluster, typiquement compris entre deux et plusieurs dizaines. The invention can also be implemented for groups of high availability groups, for example high availability groups using the same distributed file system. The invention then makes it possible to rule out the limitation of the number of nodes per high availability group which is generally limited to 2, 4 or 8 storage nodes (OSS), notably because of the number of fiber-type links to the storage bays. storage, such a constraint having in particular the consequence that the number of high availability groups of storage nodes is, in a cluster, typically between two and several tens.

Une solution basée sur un mécanisme de haute disponibilité par niveaux permet, via un système de contrôle externe aux groupes de haute disponibilité, par exemple un noeud lui-même configuré selon un mécanisme de haute disponibilité, dédié à la gestion de ces groupes, de gérer un niveau de haute disponibilité particulier permettant une bascule entre groupes, c'est-à-dire un transfert de services entre des noeuds de groupes différents. En cas de détection de panne, l'identification d'une solution est avantageusement réalisée en deux temps. Tout d'abord, une analyse utilisant les mécanismes de haute disponibilité internes aux groupes de haute disponibilité, comme décrits précédemment, est, de préférence, effectuée. Si aucune solution n'est identifiée au cours de cette première analyse, une seconde analyse basée sur des mécanismes de haute disponibilité externes aux groupes de haute disponibilité est alors effectuée. Un tel mode de réalisation est illustré sur la figure 7 qui représente une partie d'une infrastructure informatique comprenant quatre groupes de haute disponibilité référencés 700-0 à 700-4 tel que celui décrit en référence à la figure 4 (référence 400). Dans un souci de clarté, ces groupes ont ici des architectures similaires cependant, des architectures différentes peuvent tout aussi bien être mises en oeuvre. A solution based on a mechanism of high availability by levels allows, via a control system external to the groups of high availability, for example a node itself configured according to a mechanism of high availability, dedicated to the management of these groups, to manage a particular level of high availability allowing a switch between groups, that is to say a transfer of services between nodes of different groups. In case of failure detection, the identification of a solution is advantageously carried out in two stages. First, an analysis using the high availability mechanisms internal to the high availability groups, as previously described, is preferably performed. If no solution is identified during this first analysis, a second analysis based on high availability mechanisms outside the high availability groups is then performed. Such an embodiment is illustrated in FIG. 7 which represents a part of a computing infrastructure comprising four high availability groups referenced 700-0 to 700-4 such as that described with reference to FIG. 4 (reference 400). For the sake of clarity, these groups have similar architectures here, however, different architectures can equally well be implemented.

Les groupes de haute disponibilité 700-0 et 700-1 correspondent ici à un premier système de fichiers tandis que les groupes de haute disponibilité 700-2 et 700-3 correspondent ici à un second système de fichiers. The high availability groups 700-0 and 700-1 here correspond to a first file system whereas the high availability groups 700-2 and 700-3 correspond here to a second file system.

Les groupes de haute disponibilité 700-0 et 700-1 sont regroupés pour former une première cellule de haute disponibilité. Un premier niveau de haute disponibilité externe référencé 705-0 est associé aux éléments de cette cellule. The high availability groups 700-0 and 700-1 are grouped together to form a first high availability cell. A first level of external high availability referenced 705-0 is associated with the elements of this cell.

Comme illustré, deux niveaux de haute disponibilité internes sont associés à chaque élément de la cellule (groupes ayant les références 420 d'une part et 425-0 et 425-1 d'autre part), conformément au groupe 400 de haute disponibilité décrit en référence à la figure 4. De façon similaire, les groupes de haute disponibilité 700-2 et 700-3 sont regroupés pour former une seconde cellule de haute disponibilité à laquelle est également associé un premier niveau de haute disponibilité externe (705-1), deux niveaux de haute disponibilité étant également associés à chaque élément de la cellule comme représenté. Il est observé ici que si les cellules ne comprennent ici que deux groupes de haute disponibilité, le nombre de groupes n'est pas limité à deux. Un second niveau de haute disponibilité externe (non représenté) est ici associé à l'ensemble des équipements des deux cellules. Chaque groupe de haute disponibilité est relié à deux noeuds de gestion de haute disponibilité (formant un autre groupe de haute disponibilité), référencés 710-0 et 710-1, assurant la fonction de haute disponibilité au niveau des groupes de haute disponibilité. Les noeuds 710-0 et 710-1 permettent ainsi de transférer des services exécutés par des noeuds d'un groupe de haute disponibilité vers des noeuds d'un (ou plusieurs) autre groupe de haute disponibilité de la même cellule ou d'une autre cellule selon un niveau de haute disponibilité externe. La figure 8 illustre la mise en oeuvre de mécanismes de haute disponibilité, conformément à l'invention, lorsqu'une panne du réseau de communication 415 reliant les commutateurs du groupe de haute disponibilité 700-0 et les noeuds 710-0 et 710-1 est détectée (représentée par la croix en trait plein). Dans cette configuration de panne, il n'existe pas de solution basée sur les mécanismes de haute disponibilité liés aux niveaux de haute disponibilité interne (c'est-à-dire aux groupes 420, 425-0 et 425-1). En effet, la panne du réseau de communication 415 reliant les commutateurs du groupe de haute disponibilité 700-0 et les noeuds 710-0 et 710-1 engendre une panne multiple dans les groupes de haute disponibilité correspondant aux groupes 420, 425-0 et 425-1 de la figure 4 (représentée par les croix en trait pointillé). Par contre, il existe une solution liée à la cellule 705-0 consistant à transférer les services mis en oeuvre dans les noeuds du groupe de haute disponibilité 700-0 (service OST1 à OST12) vers des noeuds du groupe de haute disponibilité 700-1 comme représenté par la flèche 800. As illustrated, two levels of internal high availability are associated with each element of the cell (groups having the references 420 on the one hand and 425-0 and 425-1 on the other hand), in accordance with the group 400 of high availability described in Referring to Figure 4. Similarly, the high availability groups 700-2 and 700-3 are grouped together to form a second high availability cell to which is also associated a first external high availability level (705-1). two levels of high availability are also associated with each element of the cell as shown. It is observed here that if the cells here comprise only two groups of high availability, the number of groups is not limited to two. A second level of external high availability (not shown) is here associated with all the equipment of the two cells. Each high availability group is attached to two high availability management nodes (forming another high availability group), referenced 710-0 and 710-1, providing the high availability feature at the high availability group level. The nodes 710-0 and 710-1 thus make it possible to transfer services executed by nodes of a high availability group to nodes of one (or more) other high availability group of the same cell or another cell according to an external high availability level. FIG. 8 illustrates the implementation of high availability mechanisms, according to the invention, when a failure of the communication network 415 connecting the switches of the high availability group 700-0 and the nodes 710-0 and 710-1. is detected (represented by the solid line cross). In this failure configuration, there is no solution based on high availability mechanisms related to internal high availability levels (ie, 420, 425-0, and 425-1 groups). In fact, the failure of the communication network 415 connecting the switches of the high availability group 700-0 and the nodes 710-0 and 710-1 generates a multiple failure in the high availability groups corresponding to the groups 420, 425-0 and 425-1 of Figure 4 (represented by the dashed crosses). On the other hand, there is a solution related to the cell 705-0 consisting in transferring the services implemented in the nodes of the high availability group 700-0 (service OST1 to OST12) to nodes of the high availability group 700-1 as represented by the arrow 800.

Il est observé ici que si aucune solution n'avait été trouvée dans la cellule 705-0, une solution aurait consisté à chercher dans la cellule dont le niveau de haute disponibilité externe est directement supérieur au précédent (lié à la cellule 705-0), c'est-à-dire ici la cellule comprenant les cellules 705-0 et 705-1. It is observed here that if no solution had been found in cell 705-0, one solution would have been to look in the cell whose level of external high availability is directly higher than the previous one (linked to cell 705-0). that is, the cell comprising cells 705-0 and 705-1.

Il est noté ici que si, pour des raisons d'illustration, la description qui précède vise la gestion de pannes dans des équipements tels que des noeuds, l'invention n'est pas limitée aux noeuds mais peut être mise en oeuvre avec d'autres ressources d'une infrastructure informatique telle qu'un cluster ou un centre de traitement de données (généralement appelé data centre), notamment des commutateurs. De même, bien que la description vise essentiellement les services mis en oeuvre sur les noeuds, l'invention peut également concerner des processus applicatifs ainsi que des contrôleurs d'équipements, par exemple des contrôleurs de stockage et des contrôleurs de réseau, dans lesquels peuvent être implémentés des modules logiciels permettant la gestion de la haute disponibilité selon plusieurs niveaux. Naturellement, pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l'invention pourra appliquer des modifications dans la description précédente. It is noted here that, for reasons of illustration, the foregoing description aims at the management of failures in equipment such as nodes, the invention is not limited to nodes but can be implemented with other resources of a computing infrastructure such as a cluster or a data center (usually called a data center), including switches. Similarly, although the description essentially targets the services implemented on the nodes, the invention may also relate to application processes as well as equipment controllers, for example storage controllers and network controllers, in which implement software modules to manage high availability at multiple levels. Naturally, to meet specific needs, a person skilled in the field of the invention may apply modifications in the foregoing description.

Claims (11)

REVENDICATIONS1. Procédé de gestion dynamique de services dans une infrastructure informatique comprenant une pluralité d'équipements dont au moins un ensemble forme au moins un groupe d'équipements à haute disponibilité selon lequel des services gérés par un équipement dudit au moins un groupe d'équipements à haute disponibilité sont transférés à au moins un autre équipement dudit au moins un groupe d'équipements à haute disponibilité lorsque ledit équipement est considéré défaillant, ce procédé étant caractérisé en ce qu'un premier niveau de haute disponibilité est associé audit au moins un groupe d'équipements à haute disponibilité, en ce qu'une pluralité de sous-ensembles dudit ensemble d'équipements dudit au moins un groupe d'équipements à haute disponibilité, appelé premier groupe d'équipements à haute disponibilité, forme une pluralité de second groupes d'équipements à haute disponibilité, un second niveau de haute disponibilité étant associé auxdits seconds groupes d'équipements à haute disponibilité et en ce qu'il comprend les étapes suivantes, - détection (605) d'une défaillance d'au moins un équipement dudit ensemble d'équipements ; - recherche (610) d'une solution de haute disponibilité dans des groupes d'équipements à haute disponibilité auxquels est associé ledit premier niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant ; et, - si aucune solution de haute disponibilité n'est identifiée (620) dans des groupes d'équipements à haute disponibilité auxquels est associé ledit premier niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant, o recherche (630, 610) d'une solution de haute disponibilité dans des groupes d'équipements à haute disponibilité auxquels estassocié ledit second niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant. REVENDICATIONS1. A method of dynamically managing services in a computing infrastructure comprising a plurality of devices at least one of which forms at least one group of high-availability equipment in which services managed by a device of said at least one group of high-level equipment are transferred to at least one other device of the at least one group of high availability equipment when said equipment is considered to be faulty, this method being characterized in that a first level of high availability is associated with said at least one group of high availability equipment, in that a plurality of subsets of said set of equipment of said at least one high availability equipment group, called first high availability equipment group, form a plurality of second groups of high availability equipment, a second level of high availability being associated with said second groups of equipment with high availability and in that it comprises the following steps, - detection (605) of a failure of at least one piece of equipment of said set of equipment; searching for (610) a high availability solution in groups of high availability equipment with which said first level of high availability is associated and comprising said at least one faulty equipment; and, - if no high availability solution is identified (620) in high availability equipment groups associated with said first high availability level and including said at least one failed equipment, o search (630, 610) a high availability solution in groups of high availability equipment which is associated with said second level of high availability and comprising said at least one faulty equipment. 2. Procédé selon la revendication 1 selon lequel ladite étape de recherche d'une solution de haute disponibilité dans des groupes d'équipements à haute disponibilité auxquels est associé ledit second niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant est appliquée de façon récursive à des groupes d'équipements à haute disponibilité auxquels est associé un niveau de haute disponibilité de rang supérieur au niveau précédemment utilisé pour la recherche d'une solution et comprenant ledit au moins un équipement défaillant. The method of claim 1 wherein said step of searching for a high availability solution in groups of high availability equipment with which said second high availability level is associated and including said at least one failed equipment is applied in a recursively to groups of high availability equipment with a high availability level higher than the level previously used for finding a solution and including the at least one failed device. 3. Procédé selon la revendication 1 ou la revendication 2 comprenant en outre une étape de transfert d'au moins un service mis en oeuvre dans ledit au moins un équipement défaillant vers au moins un équipement visé dans une solution identifiée. 3. The method of claim 1 or claim 2 further comprising a step of transferring at least one service implemented in said at least one faulty equipment to at least one target equipment in an identified solution. 4. Procédé selon l'une quelconque des revendications 1 à 3 selon lequel ladite étape de recherche d'une solution de haute disponibilité dans des groupes d'équipements à haute disponibilité auxquels est associé ledit second niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant comprend une étape de changement d'environnement d'exécution d'au moins un service d'au moins un équipement dudit au moins un premier groupe d'équipements à haute disponibilité. The method according to any one of claims 1 to 3 wherein said step of searching for a high availability solution in groups of high availability equipment with which said second high availability level is associated and comprising said at least one failed equipment includes a step of changing the execution environment of at least one service of at least one equipment of said at least one first group of high availability equipment. 5. Procédé selon l'une quelconque des revendications précédentes selon lequel lesdites étapes du procédé sont mises en oeuvre par des équipements dudit au moins un premier groupe d'équipements à haute disponibilité. 5. Method according to any one of the preceding claims wherein said process steps are implemented by equipment of said at least one first group of high availability equipment. 6. Procédé selon l'une quelconque des revendications précédentes selon lequel ladite infrastructure informatique comprend au moins deux premiers groupes de haute disponibilité et, lorsqu'au moins un équipement desdits au moins deux premiers groupes d'équipements à haute disponibilité est défaillant et qu'aucune solution n'a été identifiée dans le premier groupe d'équipements à haute disponibilité comprenant l'équipement défaillant ni dans des groupes d'équipements à haute disponibilité auxquels est associé leditsecond niveau de haute disponibilité et comprenant ledit au moins un équipement défaillant, le procédé comprend en outre une étape d'identification d'au moins un premier groupe d'équipements à haute disponibilité parmi lesdits au moins deux groupes d'équipements à haute disponibilité, distinct du premier groupe d'équipements à haute disponibilité comprenant ledit au moins un équipement défaillant, adapté à recevoir des services exécutés par des équipements dudit premier groupe d'équipements à haute disponibilité comprenant ledit au moins un équipement défaillant et formant une solution de haute disponibilité. The method of any one of the preceding claims wherein said computing infrastructure comprises at least two first high availability groups and when at least one of said at least two first groups of high availability equipment fails and no solution has been identified in the first group of high availability equipment including the failed equipment and in groups of high availability equipment associated with the second high availability level and including the at least one failed equipment, the the method further comprises a step of identifying at least one first group of high availability equipment among said at least two groups of high availability equipment, distinct from the first group of high availability equipment comprising said at least one faulty equipment, adapted to receive executed services by equipment of said first group of high availability equipment comprising said at least one faulty equipment and forming a high availability solution. 7. Procédé selon la revendication 6 selon lequel ladite étape d'identification d'au moins un premier groupe d'équipements à haute disponibilité parmi lesdits au moins deux groupes d'équipements à haute disponibilité, adapté à recevoir des services exécutés par des équipements dudit premier groupe d'équipements à haute disponibilité comprenant ledit au moins un équipement défaillant et formant une solution de haute disponibilité, est mise en oeuvre dans un équipement distinct desdits au moins deux premiers groupes d'équipements à haute disponibilité. 7. The method of claim 6 wherein said step of identifying at least a first group of high availability equipment among said at least two groups of high availability equipment, adapted to receive services performed by equipment of said first group of high availability equipment comprising said at least one faulty equipment and forming a high availability solution, is implemented in a separate equipment of said at least two first groups of high availability equipment. 8. Procédé selon l'une quelconque des revendications précédentes selon lequel un équipement défaillant est un équipement en panne ou un équipement considéré en panne du fait d'un autre équipement en panne, ladite panne étant matérielle et/ou logicielle. 8. Method according to any one of the preceding claims wherein a faulty equipment is a broken down equipment or equipment considered down because of another equipment failed, said failure being hardware and / or software. 9. Procédé selon l'une quelconque des revendications précédentes selon lequel ladite pluralité d'équipements comprend une pluralité de noeuds. The method of any preceding claim wherein said plurality of devices comprises a plurality of nodes. 10. Programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications précédentes lorsque ledit programme est exécuté sur un ordinateur. Computer program comprising instructions adapted to the implementation of each of the steps of the method according to any one of the preceding claims when said program is executed on a computer. 11. Dispositif comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications 1 à9. 11. Device comprising means adapted to the implementation of each of the steps of the method according to any one of claims 1 to 9.
FR1161583A 2011-12-13 2011-12-13 METHOD AND COMPUTER PROGRAM FOR MANAGING MULTIPLE FAILURES IN A COMPUTER INFRASTRUCTURE COMPRISING HIGH AVAILABILITY EQUIPMENT Active FR2984053B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1161583A FR2984053B1 (en) 2011-12-13 2011-12-13 METHOD AND COMPUTER PROGRAM FOR MANAGING MULTIPLE FAILURES IN A COMPUTER INFRASTRUCTURE COMPRISING HIGH AVAILABILITY EQUIPMENT
PCT/FR2012/052731 WO2013088019A1 (en) 2011-12-13 2012-11-27 Method and computer program for managing multiple faults in a computing infrastructure comprising high-availability equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1161583A FR2984053B1 (en) 2011-12-13 2011-12-13 METHOD AND COMPUTER PROGRAM FOR MANAGING MULTIPLE FAILURES IN A COMPUTER INFRASTRUCTURE COMPRISING HIGH AVAILABILITY EQUIPMENT

Publications (2)

Publication Number Publication Date
FR2984053A1 true FR2984053A1 (en) 2013-06-14
FR2984053B1 FR2984053B1 (en) 2014-01-10

Family

ID=47436078

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1161583A Active FR2984053B1 (en) 2011-12-13 2011-12-13 METHOD AND COMPUTER PROGRAM FOR MANAGING MULTIPLE FAILURES IN A COMPUTER INFRASTRUCTURE COMPRISING HIGH AVAILABILITY EQUIPMENT

Country Status (2)

Country Link
FR (1) FR2984053B1 (en)
WO (1) WO2013088019A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023061A (en) * 2014-06-10 2014-09-03 浪潮电子信息产业股份有限公司 High availability cluster scheme of OSS (Open Storage service) for LUSTRE
US20190334990A1 (en) * 2018-04-27 2019-10-31 Exten Technologies, Inc. Distributed State Machine for High Availability of Non-Volatile Memory in Cluster Based Computing Systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189468A1 (en) * 2007-02-02 2008-08-07 Vmware, Inc. High Availability Virtual Machine Cluster
US20100262860A1 (en) * 2009-04-09 2010-10-14 Chandramouli Sargor Load balancing and high availability of compute resources
WO2011002169A2 (en) * 2009-07-02 2011-01-06 엔에이치엔(주) High availability database management system and database management method using same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189468A1 (en) * 2007-02-02 2008-08-07 Vmware, Inc. High Availability Virtual Machine Cluster
US20100262860A1 (en) * 2009-04-09 2010-10-14 Chandramouli Sargor Load balancing and high availability of compute resources
WO2011002169A2 (en) * 2009-07-02 2011-01-06 엔에이치엔(주) High availability database management system and database management method using same

Also Published As

Publication number Publication date
FR2984053B1 (en) 2014-01-10
WO2013088019A1 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
EP3997633A1 (en) Automated generation of machine learning models for network evaluation
EP2697936B1 (en) Method and device for processing administration commands in a cluster
EP2998877A2 (en) Server comprising a plurality of modules
EP3189636B1 (en) Method of monitoring and of warning of routing configuration in a cluster comprising static communication links and computer program implementing this method
WO2009153498A1 (en) Method of generating requests to manipulate an initialization and administration database for a cluster of servers, corresponding data medium and cluster of servers
EP2553584A1 (en) Method, computer program, and device for validating task execution in scaleable computer systems
WO2021152262A1 (en) Method for monitoring data exchanged on a network and device for detecting intrusions
Bella et al. Web server load balancing based on memory utilization using Docker swarm
FR2984053A1 (en) METHOD AND COMPUTER PROGRAM FOR MANAGING MULTIPLE FAILURES IN A COMPUTER INFRASTRUCTURE COMPRISING HIGH AVAILABILITY EQUIPMENT
FR2995106A1 (en) METHOD AND DEVICE FOR PROCESSING CONTROLS IN A SET OF COMPUTER ELEMENTS
EP3216175B1 (en) Method of distant monitoring and control of a cluster using a communication network of infiniband type and computer programme implementing this method
FR2991074A1 (en) METHOD, DEVICE AND COMPUTER PROGRAM FOR DYNAMICALLY CONTROLLING MEMORY ACCESS DISTANCES IN A NUMA-TYPE SYSTEM
EP3105679A1 (en) Encoding of fault scenarios of a manycore processor
FR2984054A1 (en) METHOD AND COMPUTER PROGRAM FOR EXTERNALIZED AND CENTRALIZED FAULT MANAGEMENT IN A CLUSTER COMPRISING HIGH AVAILABILITY EQUIPMENT
Louati et al. Gc-cr: a decentralized garbage collector component for checkpointing in clouds
EP2729874B1 (en) Method and computer program for the dynamic management of services in an administration cluster
FR2976695A1 (en) METHOD, DEVICE AND COMPUTER PROGRAM FOR THE SOFTWARE UPDATE OF CLUSTERS OPTIMIZING THE AVAILABILITY OF THE SAME
Maia et al. Dataflasks: epidemic store for massive scale systems
US20200310899A1 (en) Method for retrieving metadata from clusters of computing nodes with containers based on application dependencies
WO2011151569A1 (en) Method of pseudo-dynamic routing in a cluster comprising static communication links and computer program implementing this method
Fisher et al. Using visualization to support network and application management in a data center
EP2734921B1 (en) Method, computer program and device for aiding the deployment of clusters
WO2013050682A1 (en) Pseudo-dynamic adaptive routing method in a cluster including static communication links, and computer program implementing said method
FR3003663A1 (en) METHOD FOR THE AUTOMATIC DETERMINATION OF MALFUNCTION CAUSES OF A SYSTEM COMPRISING A PLURALITY OF MATERIAL OR SOFTWARE COMPONENTS
FR2984052A1 (en) METHOD AND COMPUTER CONFIGURATION COMPUTER PROGRAM IN COMPUTER INFRASTRUCTURE HAVING INFINIBAND TYPE ARCHITECTURE

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

TQ Partial transmission of property

Owner name: LE COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX EN, FR

Effective date: 20221031

Owner name: BULL SAS, FR

Effective date: 20221031

PLFP Fee payment

Year of fee payment: 13