JP2022144118A - Computer system and restart program - Google Patents
Computer system and restart program Download PDFInfo
- Publication number
- JP2022144118A JP2022144118A JP2021044991A JP2021044991A JP2022144118A JP 2022144118 A JP2022144118 A JP 2022144118A JP 2021044991 A JP2021044991 A JP 2021044991A JP 2021044991 A JP2021044991 A JP 2021044991A JP 2022144118 A JP2022144118 A JP 2022144118A
- Authority
- JP
- Japan
- Prior art keywords
- information
- failure
- management
- fault
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本開示は、計算機システムおよび再起動プログラムに関する。 The present disclosure relates to a computer system and a reboot program.
従来、計算機により実行されるプロセス、または、計算機上でハイパバイザの制御により動作する仮想マシンに障害が発生した場合に、それを検出してプロセス、または、仮想マシンを再起動させる技術がある。 2. Description of the Related Art Conventionally, when a process executed by a computer or a virtual machine running under the control of a hypervisor on a computer fails, there is a technique for detecting the failure and restarting the process or the virtual machine.
例えば、特許文献1には、異なる機能を提供する複数のプロセスに発生する障害を検出し、正常に稼働しているプロセスについては再起動せず、障害が発生したプロセスのみを再起動することにより、正常に稼働しているプロセスによる機能の提供が中断されることを防止する電子機器が開示されている。
For example,
また、特許文献2には、リセット処理を行う仮想マシンの範囲を表すリセットレベルの入力をユーザから受け付け、そのリセットレベルに対応する仮想マシンをリセットする計算機装置が開示されている。
Further,
しかしながら、上述した特許文献1に開示される従来技術では、プロセスが他のプロセスに依存している場合に、その依存関係を考慮しないため、あるプロセスに障害が発生した場合にそのプロセスだけでなく、そのプロセスに依存する別のプロセスも再起動したいという要求に応えることができない。
However, in the conventional technology disclosed in the above-mentioned
また、特許文献2に開示される従来技術では、リセットレベルごとに、リセット処理を行う仮想マシンの範囲を、仮想マシン間の依存関係を考慮して決定することができるものの、どのリセットレベルの再起動を行うかをユーザが判断する必要があるため、障害からの復旧を自律的に行うことができないという課題があった。
Further, in the conventional technology disclosed in
本開示の目的は、自律的な障害からの復旧を可能とする計算機システムおよび再起動プログラムを提供することである。 An object of the present disclosure is to provide a computer system and a restart program that enable recovery from autonomous failures.
本開示に係る計算機システムは、論理的に第2のグループと区分された第1のグループで動作する第1のプロセス群において発生する第1の障害の情報を含む第1の障害管理情報を記憶する第1の障害情報記憶部と、第1の障害の情報に対応する第2の外部障害情報と、第2のグループにおける第1の障害の影響対象の情報とを対応付けて登録した第2の障害管理情報を記憶する第2の障害情報記憶部と、第1の障害を検出した場合に、第1の障害の情報を第1の障害情報通信部に送信させる第1のプロセス管理部と、第1の障害の情報を第2の障害情報通信部が受信した場合に、第2の障害管理情報を参照し、第2の外部障害情報に対応する第1の障害の影響対象を再起動する第2のプロセス管理部と、を備える。 A computer system according to the present disclosure stores first failure management information including information about a first failure occurring in a first process group operating in a first group logically separated from a second group. a first failure information storage unit, a second external failure information corresponding to the information of the first failure, and the information of the target affected by the first failure in the second group are registered in association with each other. a second failure information storage unit for storing failure management information of the first failure, and a first process management unit for transmitting information of the first failure to the first failure information communication unit when the first failure is detected; , when the second fault information communication unit receives the information of the first fault, referring to the second fault management information and restarting the target affected by the first fault corresponding to the second external fault information. and a second process management unit.
本開示に係る再起動プログラムは、論理的に第2のグループと区分された第1のグループで動作する第1のプロセス群において発生する第1の障害を検出した場合に、第1の障害の情報を含む第1の障害管理情報を記憶した第1の障害情報記憶部から第1の障害の情報を読み出して第1の障害情報通信部に送信させる手順と、第1の障害の情報を受信した第2の障害情報通信部から第1の障害の情報を取得し、第1の障害の情報に対応する第2の外部障害情報と、第2のグループにおける第1の障害の影響対象の情報とを対応付けて登録した第2の障害管理情報を記憶する第2の障害情報記憶部から第2の障害管理情報を読み出して第1の障害の情報に対応する第2の外部障害情報を特定し、特定した第2の外部障害情報に対応する第1の障害の影響対象を再起動する手順と、をコンピュータに実行させる。 When a restart program according to the present disclosure detects a first failure occurring in a first process group operating in a first group logically separated from a second group, a procedure for reading first failure information from a first failure information storage unit storing first failure management information including information and transmitting the information to a first failure information communication unit; and receiving the first failure information. information of the first failure from the second failure information communication unit, second external failure information corresponding to the information of the first failure, and information of the target affected by the first failure in the second group The second failure management information is read from the second failure information storage unit that stores the second failure management information registered in association with the second failure management information, and the second external failure information corresponding to the first failure information is specified. and restarting the affected target of the first failure corresponding to the identified second external failure information.
本開示によれば、自律的な障害からの復旧が可能となる。 According to the present disclosure, recovery from autonomous failures is possible.
以下、本開示の実施の形態を図面に基づいて詳細に説明する。 Hereinafter, embodiments of the present disclosure will be described in detail based on the drawings.
(実施の形態1)
図1は、実施の形態1に係る計算機システムの構成の一例を示す図である。
(Embodiment 1)
FIG. 1 is a diagram showing an example of the configuration of a computer system according to
図1に示すように、計算機システムは、ハイパバイザ(Hypervisor)10、第1のVM(Virtual Machine、仮想マシン)20、第2のVM30を備える。
As shown in FIG. 1, the computer system includes a
ハイパバイザ10は、1つの計算機を第1のVM20と第2のVM30とに論理的に分割し、2つの独立した仮想マシンとして動作させる制御部である。第1のVM20および第2のVM30は、このようにして生成された仮想マシンである。
The
なお、ここではハイパバイザ10上で動作する仮想マシンの数が2であることとしたが、2以上であってもよい。
Although the number of virtual machines operating on the
プロセス21a~21nを含むプロセス群が実行される第1のVM20は、プロセス監視部22、障害情報記憶部23、障害情報通信部24、および、プロセス管理部25を備える。プロセス監視部22、障害情報通信部24、および、プロセス管理部25は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
A
プロセス監視部22、障害情報通信部24、および、プロセス管理部25の機能は、プロセッサにより実現される。また、障害情報記憶部23の機能は、メモリなどの記憶装置により実現される。
Functions of the
プロセス監視部22は、プロセス21a~21nを含むプロセス群で発生する障害を監視する。例えば、プロセス監視部22は、プロセス21a~21nに対してハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部25に通知する。これにより、動作が停止したり、無限ループに陥っていたりするプロセスの検出が可能となる。
The
障害情報記憶部23は、プロセス21a~21nを含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報23aを記憶する。
The failure
図2は、障害管理情報23aの一例を示す図である。障害管理情報23aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 2 is a diagram showing an example of the
プロセス情報は、第1のVM20において実行されるプロセスの識別情報、および、第1のVM20の外部において実行されるプロセスであることを示す情報を含む。なお、図2の例では、後者の情報は登録されていない。障害情報は、それらのプロセスの障害の情報である。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。
The process information includes identification information of the process executed in the
障害情報における「TARGET」は、障害が仮想マシン(VM)、コンテナ、プロセスのどれに発生したかを示す情報である。「VM」は、障害は発生した仮想マシンを示す識別情報である。「PROC」は、障害が発生したプロセスを示す識別情報である。 "TARGET" in the fault information is information indicating whether the fault occurred in a virtual machine (VM), container, or process. "VM" is identification information indicating the virtual machine in which the failure occurred. "PROC" is identification information indicating the process in which the failure occurred.
例えば、「PROCESS12」というプロセス情報には、「TARGET:PROC,VM:1,PROC:PROCESS12」という障害情報、および、「PROCESS13」という影響対象情報が対応付けて登録されている。 For example, process information "PROCESS12" is registered in association with failure information "TARGET:PROC, VM:1, PROC:PROCESS12" and affected target information "PROCESS13".
これは、第1のVM20における「PROCESS12」というプロセスに障害が発生した場合、その障害の発生により「PROCESS13」というプロセスを再起動する必要があることを示している。
This indicates that when a failure occurs in the process "PROCESS12" in the
また、「PROCESS13」というプロセス情報には、「TARGET:PROC,VM:1,PROC:PROCESS13」という障害情報が対応付けて登録されている。 Further, process information "PROCESS13" is registered in association with failure information "TARGET: PROC, VM: 1, PROC: PROCESS13".
この障害情報は、第1のVM20において障害が発生するプロセスが「PROCESS13」であることを示している。なお、「PROCESS13」というプロセスには、影響対象情報が登録されていないので、「PROCESS13」というプロセスに障害が発生した場合に再起動する必要がある対象はない。
This fault information indicates that the process in which the fault occurs in the
図1の説明に戻ると、障害情報通信部24は、第2のVM30の障害情報通信部34と通信を行う。
Returning to the description of FIG. 1 , the failure
例えば、障害情報通信部24は、第1のVM20におけるプロセス21a~21nに障害が発生した場合に、障害が発生したプロセスに対応する図2に示した障害情報を第2のVM30に送信する。また、障害情報通信部24は、障害情報通信部34から送信される障害情報を受信する。
For example, when a failure occurs in the
プロセス管理部25は、第1のVM20におけるプロセス21a~21nを管理する。例えば、プロセス管理部25は、プロセス監視部22からの通知により、プロセス21a~21nに障害が発生したことを検出する。また、プロセス管理部25は、プロセス21a~21nからの障害メッセージを受信することによりプロセス21a~21nに障害が発生したことを検出する。
The
そして、プロセス管理部25は、障害管理情報23aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
例えば、図2の例において、障害を検出したプロセスが「PROCESS12」である場合、プロセス管理部25は、「TARGET:PROC,VM:1,PROC:PROCESS12」という障害情報、および、「PROCESS13」という影響対象情報を取得する。
For example, in the example of FIG. 2, if the process that detected the failure is "PROCESS12", the
その後、プロセス管理部25は、「PROCESS12」のプロセスのように、障害情報が登録されている場合、その障害情報を他のVMである第2のVM30に送信するよう障害情報通信部24に指示する。
Thereafter, the
また、プロセス管理部25は、「PROCESS12」のプロセスのように、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部25は、障害が発生したプロセスを再起動する。
In addition, the
また、図2に示す「PROCESS12」のプロセスのように、影響対象情報として「PROCESS13」が登録されている場合、プロセス管理部25は、「PROCESS13」のプロセスに対応する障害情報も他のVMである第2のVM30に送信するよう障害情報通信部24に指示する。
Further, when "PROCESS13" is registered as the affected target information like the process "PROCESS12" shown in FIG. The failure
なお、「PROCESS13」のプロセスに対応する影響対象情報は登録されていないため、プロセス管理部25はプロセスの再起動を行わない。
In addition, since the affected object information corresponding to the process of "PROCESS13" is not registered, the
さらに、プロセス管理部25は、障害情報通信部24が他のVMである第2のVM30から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報23aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the failure
そして、プロセス管理部25は、その障害情報が障害管理情報23aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the failure information corresponds to the failure information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部25は、登録されている影響対象を再起動する。
If affected target information corresponding to the fault information is registered, the
また、プロセス31a~31mを含むプロセス群が実行される第2のVM30は、プロセス監視部32、障害情報記憶部33、障害情報通信部34、および、プロセス管理部35を備える。プロセス監視部32、障害情報通信部34、および、プロセス管理部35は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
The
プロセス監視部32、障害情報通信部34、および、プロセス管理部35の機能は、プロセッサにより実現される。また、障害情報記憶部33の機能は、メモリなどの記憶装置により実現される。
Functions of the
プロセス監視部32は、プロセス31a~31mを含むプロセス群で発生する障害を監視する。例えば、プロセス監視部32は、プロセス31a~31mに対してハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部35に通知する。
The
障害情報記憶部33は、プロセス31a~31mを含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報33aを記憶する。
The failure
図3は、障害管理情報33aの一例を示す図である。障害管理情報33aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 3 is a diagram showing an example of the
プロセス情報は、第2のVM30において実行されるプロセスの識別情報、および、第2のVM30の外部において実行されるプロセスであることを示す情報を含む。障害情報は、それらのプロセスの障害の情報ある。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。
The process information includes identification information of the process executed in the
障害情報における「TARGET」、「VM」、および、「PROC」は、図2に示した障害管理情報33aの障害情報における「TARGET」、「VM」、および、「PROC」と同様の情報である。
"TARGET", "VM" and "PROC" in the failure information are the same information as "TARGET", "VM" and "PROC" in the failure information of the
ここで、「EXTERNAL_ERROR」というプロセス情報には、「TARGET:PROC,VM:1,PROC:PROCESS12」という障害情報(外部障害情報)、および、「PROCESS22,PROCESS23」という影響対象情報が対応付けて登録されている。 Here, the process information "EXTERNAL_ERROR" is registered in association with the failure information (external failure information) "TARGET: PROC, VM: 1, PROC: PROCESS12" and the affected information "PROCESS22, PROCESS23". It is
これは、第1のVM20における「PROCESS12」というプロセスに障害が発生した場合、その障害の発生により「PROCESS22」、「PROCESS23」というプロセスを再起動する必要があることを示している。
This indicates that when a failure occurs in the process "PROCESS12" in the
図1の説明に戻ると、障害情報通信部34は、第1のVM20の障害情報通信部24と通信を行う。
Returning to the description of FIG. 1 , the failure
例えば、障害情報通信部34は、第2のVM30におけるプロセス31a~31mに障害が発生した場合に、障害が発生したプロセスに対応する図3に示した障害情報を第1のVM20に送信する。また、障害情報通信部34は、障害情報通信部24から送信される障害情報を受信する。
For example, when a failure occurs in the
プロセス管理部35は、第2のVM30におけるプロセス31a~31mを管理する。例えば、プロセス管理部35は、プロセス監視部32からの通知により、プロセス31a~31mに障害が発生したことを検出する。また、プロセス管理部35は、プロセス31a~31mからの障害メッセージを受信することによりプロセス31a~31mに障害が発生したことを検出する。
The
そして、プロセス管理部35は、障害管理情報33aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
例えば、図3の例において、障害が発生したプロセスが「PROCESS22」である場合、プロセス管理部35は、「TARGET:PROC,VM:2,PROC:PROCESS22」という障害情報、および、「PROCESS23」という影響対象情報を取得する。
For example, in the example of FIG. 3, if the process in which the failure occurred is "PROCESS22", the
その後、プロセス管理部35は、「PROCESS22」のプロセスのように、障害情報が登録されている場合、その障害情報を他のVMである第1のVM20に送信するよう障害情報通信部34に指示する。
After that, the
また、プロセス管理部35は、「PROCESS22」のプロセスのように、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部25は、障害が発生したプロセスを再起動する。
In addition, the
なお、図3の例では、「PROCESS23」のプロセスに対応する障害情報は登録されていないため、障害情報の第1のVM20への送信処理は行われない。障害が発生しても他へ影響しないプロセスの場合、障害情報を登録しないことで不必要な障害情報の送信処理の抑止が可能となる。また、「PROCESS23」のプロセスに対応する影響対象情報も登録されていないため、プロセス管理部35はプロセスの再起動を行わない。
In the example of FIG. 3, since the failure information corresponding to the process "PROCESS23" is not registered, the process of transmitting the failure information to the
さらに、プロセス管理部35は、障害情報通信部34が他のVMである第1のVM20から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報33aに含まれる障害情報に対応するものであるか否かを判定する。
Further, when the failure
そして、プロセス管理部35は、その障害情報が障害管理情報33aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the failure information corresponds to the failure information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部35は、登録されている影響対象を再起動する。
If affected target information corresponding to the fault information is registered, the
例えば、障害情報通信部34が第1のVM20から、障害情報として「TARGET:PROC,VM:1,PROC:PROCESS12」という情報を受信したものとする。
For example, it is assumed that the failure
この場合、この障害情報は、図3に示した障害管理情報33aの「EXTERNAL_ERROR」の障害情報に対応するため、プロセス管理部35は、登録されている影響対象である「PROCESS22」、「PROCESS23」のプロセスを再起動する。
In this case, this fault information corresponds to the fault information of "EXTERNAL_ERROR" of the
ここで、「PROCESS22」には、障害情報および影響対象情報が登録されているので、プロセス管理部35は、その障害情報を第1のVM20に送信するよう障害情報通信部34に指示するとともに、影響対象情報として登録されている「PROCESS23」のプロセスを再起動する。
Here, since the failure information and the affected information are registered in "PROCESS22", the
なお、「PROCESS23」のプロセスに対応する障害情報は登録されていないため、障害情報の第1のVM20への送信処理は行われない。また、「PROCESS23」のプロセスに対応する影響対象情報も登録されていないため、プロセス管理部35はプロセスの再起動は行わない。
Since the failure information corresponding to the process of "PROCESS23" is not registered, the process of transmitting the failure information to the
つぎに、第1のVM20が行う再起動処理の処理手順の一例について説明する。図4は、第1のVM20が行う再起動処理の処理手順の一例を示すフローチャートである。
Next, an example of the procedure of restart processing performed by the
図4に示すように、プロセス管理部25は、プロセス監視部22からの通知により、または、プロセス21a~21nから受信する障害メッセージにより、プロセス21a~21nに障害が発生したことを検出する(ステップS101)。
As shown in FIG. 4, the
続いて、プロセス管理部25は、障害管理情報23aを参照し、障害が発生したプロセスの情報をもとに、そのプロセスに対応する障害情報と影響対象情報とを障害管理情報23aから取得する処理を行う(ステップS102)。
Next, the
そして、プロセス管理部25は、障害管理情報23aにそのプロセスに対応する障害情報が登録されていたか否かを判定する(ステップS103)。
Then, the
障害管理情報23aにそのプロセスに対応する障害情報が登録されていた場合(ステップS103においてYesの場合)、プロセス管理部25は、障害情報通信部24に指示して、その障害情報を他のVMである第2のVM30に送信させる(ステップS104)。
If failure information corresponding to the process is registered in the
その後、プロセス管理部25は、障害管理情報23aにそのプロセスに対応する影響対象情報が登録されていたか否かを判定する(ステップS105)。
After that, the
障害管理情報23aにそのプロセスに対応する影響対象情報が登録されていた場合(ステップS105においてYesの場合)、プロセス管理部25は、その影響対象情報に登録されている影響対象を再起動する(ステップS106)。
If the affected object information corresponding to the process is registered in the
なお、プロセス管理部25は、障害管理情報23aにおいて、再起動される影響対象のプロセスに対応する障害情報が登録されている場合には、障害情報通信部24に指示して、その障害情報を第2のVM30に送信させ、そのプロセスに対応する影響対象情報が登録されていた場合には、その影響対象情報に登録されている影響対象を再起動する。
If fault information corresponding to the affected process to be restarted is registered in the
さらに、プロセス管理部25は、障害の発生が検出されたプロセスを再起動し(ステップS107)、この再起動処理を終了する。
Furthermore, the
また、ステップS103において、障害管理情報23aにそのプロセスに対応する障害情報が登録されていなかった場合(ステップS103においてNoの場合)、または、ステップS105において、障害管理情報23aにそのプロセスに対応する影響対象情報が登録されていなかった場合(ステップS105においてNoの場合)、プロセス管理部25は、障害の発生が検出されたプロセスを再起動し(ステップS107)、この再起動処理を終了する。
In step S103, if the failure information corresponding to the process is not registered in the
つぎに、第2のVM30が行う再起動処理の処理手順の一例について説明する。図5は、第2のVM30が行う再起動処理の処理手順の一例を示すフローチャートである。
Next, an example of the procedure of restart processing performed by the
図5に示すように、第2のVM30の障害情報通信部34は、第1のVM20の障害情報通信部24により送信された障害情報を受信する(ステップS201)。
As shown in FIG. 5, the failure
そして、プロセス管理部35は、障害情報通信部34から障害情報を取得するとともに、障害管理情報33aを参照し、その障害情報に対応する障害情報と影響対象情報とを障害管理情報33aから取得する処理を行う(ステップS202)。
Then, the
そして、プロセス管理部35は、障害管理情報33aに、障害情報通信部34から取得した障害情報に対応する障害情報が登録されていたか否かを判定する(ステップS203)。
Then, the
障害管理情報33aに障害情報通信部34から取得した障害情報に対応する障害情報が登録されていた場合(ステップS203においてYesの場合)、プロセス管理部35は、障害情報通信部34に指示して、その障害情報を他のVMである第1のVM20に送信させる(ステップS204)。
If failure information corresponding to the failure information acquired from the failure
その後、プロセス管理部35は、障害管理情報33aに障害情報通信部34から取得した障害情報に対応する影響対象情報が登録されていたか否かを判定する(ステップS205)。
After that, the
障害管理情報33aに障害情報通信部34から取得した障害情報に対応する影響対象情報が登録されていた場合(ステップS205においてYesの場合)、プロセス管理部35は、その影響対象情報に登録されている影響対象を再起動し、この再起動処理を終了する(ステップS206)。
If the affected information corresponding to the failure information acquired from the failure
なお、プロセス管理部35は、障害管理情報33aにおいて、再起動される影響対象のプロセスに対応する障害情報が登録されている場合には、障害情報通信部34に指示して、その障害情報を第1のVM20に送信させ、そのプロセスに対応する影響対象情報が登録されていた場合には、その影響対象情報に登録されている影響対象を再起動する。
If the
また、ステップS203において、障害管理情報33aに障害情報通信部34から取得した障害情報に対応する障害情報が登録されていなかった場合(ステップS203においてNoの場合)、または、ステップS205において、障害管理情報33aに障害情報通信部34から取得した障害情報に対応する影響対象情報が登録されていなかった場合(ステップS205においてNoの場合)、そのままこの再起動処理は終了する。
Further, in step S203, if failure information corresponding to the failure information acquired from the failure
このように、実施の形態1では、第1のVM20の障害情報記憶部23が、論理的に第2のVM30と区分された第1のVM20で動作するプロセス21a~21nにおいて発生する第1の障害の情報を含む障害管理情報23aを記憶し、第2のVM30の障害情報記憶部33が、第1の障害の情報に対応する第2の障害情報(外部障害情報)と、第2のVM30における上記第1の障害の影響対象の情報とを対応付けて登録した障害管理情報33aを記憶し、第1のVM20のプロセス管理部25が、上記第1の障害を検出した場合に、第1の障害の情報を障害情報通信部24に送信させ、第1の障害の情報を第2のVM30の障害情報通信部34が受信した場合に、プロセス管理部35が、障害管理情報33aを参照し、上記第2の障害情報(外部障害情報)に対応する第1の障害の影響対象を再起動することとした。
Thus, in
これにより、プロセス間の依存関係を考慮して、障害からの復旧を自律的に行うことができる。 As a result, it is possible to autonomously recover from failures by considering inter-process dependencies.
また、実施の形態1では、第1のVM20のプロセス監視部22が、プロセス21a~21nのハートビートを監視し、ハートビートの監視結果の情報をプロセス管理部25に通知し、プロセス管理部25が、プロセス監視部22による通知に基づいて、プロセス21a~21nの障害を検出することとした。
Further, in the first embodiment, the
これにより、動作が停止したり、無限ループに陥っていたりするプロセスの検出が可能となる。 This makes it possible to detect processes that have stopped working or are stuck in an infinite loop.
また、実施の形態1では、第1のVM20の障害管理情報23aに、さらに第2のVM30で動作するプロセス31a~31mにおいて発生する第2の障害に対応する第1の障害情報(外部障害情報)と、第2の障害の影響対象の情報とが対応付けて登録され、第2のVM30の障害管理情報33aには、第2の障害の情報がさらに登録され、第2のVM30のプロセス管理部35は、第2の障害を検出した場合に、第2の障害の情報を障害情報通信部34に送信させ、第1のVM20のプロセス管理部25は、障害情報通信部24が第2の障害の情報を受信した場合に、障害管理情報23aを参照し、上記第1の障害情報(外部障害情報)に対応する第2の障害の影響対象を再起動することとした。
In addition, in the first embodiment, in addition to the
これにより、第1のVM20において発生した障害からの復旧だけでなく、第2のVM30において発生した障害からの復旧も自律的に行うことができる。
As a result, recovery from a failure occurring in the
また、実施の形態1では、論理的に区分された2つのグループが、ハイパバイザ上で動作する第1のVM20および第2のVM30であることとした。
Moreover, in
これにより、第1のVM20のプロセスに第2のVM30のプロセスが依存する場合に、障害からの復旧を自律的に行うことができる。
Thereby, when the process of the
(実施の形態2)
図6は、実施の形態1に係る計算機システムの構成の一例を示す図である。図6に示すように、この計算機システムでは、プロセス40a~40l、および、コンテナ管理プロセス41a、41bが実行される。コンテナ管理プロセス41a、41bは、それぞれ第1のコンテナ50、および、第2のコンテナ60の管理を行うプロセスである。
(Embodiment 2)
FIG. 6 is a diagram showing an example of the configuration of a computer system according to
この計算機システムは、プロセス監視部42、障害情報記憶部43、障害情報通信部44、プロセス管理部45、第1のコンテナ50、および、第2のコンテナ60を備える。第1のコンテナ50および第2のコンテナ60は、1つの計算機において互いに論理的に分割されてアプリケーションを実行するコンテナである。
This computer system comprises a
なお、ここではコンテナの数が2であることとしたが、2以上であってもよい。また、プロセス監視部42、障害情報通信部44、および、プロセス管理部45は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
Although the number of containers is two here, it may be two or more. The
プロセス監視部42は、プロセス40a~40lおよびコンテナ管理プロセス41a、41bを含むプロセス群で発生する障害を監視する。例えば、プロセス監視部42は、プロセス40a~40lおよびコンテナ管理プロセス41a、41bに対してハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部45に通知する。
The
障害情報記憶部43は、プロセス40a~40lおよびコンテナ管理プロセス41a、41bを含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報43aを記憶する。
The fault
図7は、障害管理情報43aの一例を示す図である。障害管理情報43aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 7 is a diagram showing an example of the
プロセス情報は、第1のVM20において実行されるプロセスの識別情報、および、第1のVM20の外部において実行されるプロセスであることを示す情報を含む。障害情報は、これらのプロセスの障害の情報ある。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。
The process information includes identification information of the process executed in the
障害情報における「TARGET」は、障害が仮想マシン(VM)、コンテナ、プロセスのどれに発生したかを示す情報である。「CONTAINER」は、障害が発生したコンテナを示す識別情報である。「PROC」は、障害が発生したプロセスを示す識別情報である。 "TARGET" in the fault information is information indicating whether the fault occurred in a virtual machine (VM), container, or process. "CONTAINER" is identification information indicating a failed container. "PROC" is identification information indicating the process in which the failure occurred.
例えば、「CONTAINER2_MNG_PROCESS」というプロセス情報には、「TARGET:CONTAINER,CONTAINER:2」という障害情報、および、「PROCESS13」という影響対象情報が対応付けて登録されている。 For example, process information "CONTAINER2_MNG_PROCESS" is registered in association with failure information "TARGET:CONTAINER, CONTAINER:2" and affected object information "PROCESS13".
これは、「CONTAINER2_MNG_PROCESS」というコンテナ管理プロセス41bに障害が発生した場合、その障害の発生により「PROCESS13」というプロセスを再起動する必要があることを示している。
This indicates that when a failure occurs in the
また、「PROCESS13」というプロセス情報には、「TARGET:PROC,CONTAINER:-,PROC:PROCESS13」という障害情報が対応付けて登録されている。 Also, the process information "PROCESS13" is registered in association with the failure information "TARGET:PROC, CONTAINER:-, PROC:PROCESS13".
この障害情報は、障害が発生するプロセスが「PROCESS13」であることを示している。なお、「PROCESS13」というプロセスには、影響対象情報が登録されていないので、「PROCESS13」というプロセスに障害が発生した場合に再起動する必要がある対象はない。 This fault information indicates that the process in which the fault occurs is "PROCESS13". It should be noted that no affected target information is registered for the process "PROCESS13", so there is no target that needs to be restarted when a failure occurs in the process "PROCESS13".
また、「EXTERNAL_ERROR」というプロセス情報には、「TARGET:PROC,CONTAINER:2,PROC:PROCESS32」という障害情報(外部障害情報)、および、「PROCESS13」という影響対象情報が対応付けて登録されている。 Further, the process information "EXTERNAL_ERROR" is registered in association with the failure information (external failure information) "TARGET: PROC, CONTAINER: 2, PROC: PROCESS32" and the affected information "PROCESS13". .
これは、「PROCESS32」という第2のコンテナ60のプロセスに障害が発生した場合、その障害の発生により「PROCESS13」というプロセスを再起動する必要があることを示している。 This indicates that when a failure occurs in the process of the second container 60 called "PROCESS32", it is necessary to restart the process called "PROCESS13" due to the occurrence of the failure.
前述のように、「PROCESS13」というプロセスには、影響対象情報が登録されていないので、「PROCESS13」というプロセスに障害が発生した場合に再起動する必要がある対象はない。 As described above, no affected target information is registered for the process "PROCESS13", so there is no target that needs to be restarted when a failure occurs in the process "PROCESS13".
図6の説明に戻ると、障害情報通信部44は、第1のコンテナ50の障害情報通信部54、および、第2のコンテナ60の障害情報通信部64と通信を行う。
Returning to the description of FIG. 6 , the failure
例えば、障害情報通信部44は、プロセス40a~40l、または、コンテナ管理プロセス41a、41bに障害が発生した場合に、障害が発生したプロセスに対応する図7に示した障害情報を障害情報通信部54および障害情報通信部64に送信する。
For example, when a failure occurs in the
また、障害情報通信部44は、障害情報通信部54、および、障害情報通信部64から送信される障害情報を受信する。
The failure
プロセス管理部45は、プロセス40a~40l、および、コンテナ管理プロセス41a、41bを管理する。例えば、プロセス管理部45は、プロセス監視部42からの通知により、プロセス40a~40l、または、コンテナ管理プロセス41a、41bに障害が発生したことを検出する。
The
また、プロセス管理部45は、プロセス40a~40l、または、コンテナ管理プロセス41a、41bからの障害メッセージを受信することによりプロセス40a~40l、または、コンテナ管理プロセス41a、41bに障害が発生したことを検出する。
Further, the
そして、プロセス管理部45は、障害管理情報43aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
例えば、図7の例において、障害が発生したプロセスが「CONTAINER2_MNG_PROCESS」である場合、プロセス管理部25は、「TARGET:CONTAINER,CONTAINER:2」という障害情報、および、「PROCESS13」という影響対象情報を取得する。
For example, in the example of FIG. 7, if the faulty process is "CONTAINER2_MNG_PROCESS", the
その後、プロセス管理部45は、「CONTAINER2_MNG_PROCESS」のプロセスのように、障害情報が登録されている場合、その障害情報を第1のコンテナ50、および、第2のコンテナ60に送信するよう障害情報通信部44に指示する。
Thereafter, the
また、プロセス管理部45は、「CONTAINER2_MNG_PROCESS」のプロセスのように、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部45は、障害が発生したプロセスを再起動する。
In addition, the
ここで、図7に示すように、影響対象情報として「PROCESS13」が登録されている場合、プロセス管理部45は、「PROCESS13」のプロセスに対応する障害情報も第1のコンテナ50、および、第2のコンテナ60に送信するよう障害情報通信部44に指示する。
Here, as shown in FIG. 7, when "PROCESS13" is registered as the affected object information, the
なお、「PROCESS13」のプロセスに対応する影響対象情報は登録されていないため、プロセス管理部45はプロセスの再起動を行わない。
In addition, since the affected object information corresponding to the process of "PROCESS13" is not registered, the
さらに、プロセス管理部45は、障害情報通信部44が第1のコンテナ50、または、第2のコンテナ60から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報43aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the fault
そして、プロセス管理部45は、その障害情報が障害管理情報43aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the failure information corresponds to the failure information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部45は、登録されている影響対象を再起動する。
If affected target information corresponding to the failure information is registered, the
例えば、障害情報通信部44が第2のコンテナ60から、障害情報として「TARGET:PROC,CONTAINER:2,PROC:PROCESS32」という情報を受信したものとする。
For example, it is assumed that the failure
この場合、この障害情報は、図7に示した障害管理情報43aの「EXTERNAL_ERROR」の障害情報(外部障害情報)に対応するため、プロセス管理部45は、登録されている影響対象である「PROCESS13」のプロセスを再起動する。
In this case, this fault information corresponds to the fault information (external fault information) of "EXTERNAL_ERROR" in the
また、「PROCESS13」には、障害情報が登録されているので、プロセス管理部45は、その障害情報を第1のコンテナ50に送信するよう障害情報通信部44に指示するとともに、影響対象情報として登録されている「PROCESS13」のプロセスを再起動する。
In addition, since the failure information is registered in "PROCESS13", the
なお、「PROCESS13」のプロセスに対応する影響対象情報は登録されていないため、プロセス管理部45はプロセスの再起動は行わない。
In addition, since the affected object information corresponding to the process of "PROCESS13" is not registered, the
プロセス51a~51nを含むプロセス群が実行される第1のコンテナ50は、プロセス監視部52、障害情報記憶部53、障害情報通信部54、および、プロセス管理部55を備える。プロセス監視部52、障害情報通信部54、および、プロセス管理部55は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
A
プロセス監視部52、障害情報通信部54、および、プロセス管理部55の機能は、プロセッサにより実現される。また、障害情報記憶部53の機能は、メモリなどの記憶装置により実現される。
Functions of the
プロセス監視部52は、プロセス51a~51nを含むプロセス群で発生する障害を監視する。例えば、プロセス監視部52は、プロセス51a~51nに対してハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部55に通知する。
The
障害情報記憶部53は、プロセス51a~51nを含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報53aを記憶する。
The failure
図8は、障害管理情報53aの一例を示す図である。障害管理情報53aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 8 is a diagram showing an example of the
プロセス情報は、第1のコンテナ50において実行されるプロセスの識別情報、および、第1のコンテナ50の外部において実行されるプロセスであることを示す情報を含む。なお、図8の例では、後者の情報は登録されていない。障害情報は、それらのプロセスの障害の情報ある。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。
The process information includes identification information of the process executed in the
障害情報における「TARGET」、「CONTAINER」、および、「PROC」は、図7に示した障害管理情報43aの障害情報における「TARGET」、「CONTAINER」、および、「PROC」と同様の情報である。
"TARGET", "CONTAINER" and "PROC" in the fault information are information similar to "TARGET", "CONTAINER" and "PROC" in the fault information of the
例えば、「PROCESS21」というプロセス情報には、「TARGET:PROC,CONTAINER:1,PROC:PROCESS21」という障害情報、および、「PROCESS22」という影響対象情報が対応付けて登録されている。 For example, process information "PROCESS21" is registered in association with failure information "TARGET: PROC, CONTAINER: 1, PROC: PROCESS21" and affected target information "PROCESS22".
これは、第1のコンテナ50における「PROCESS21」というプロセスに障害が発生した場合、その障害の発生により「PROCESS22」というプロセスを再起動する必要があることを示している。
This indicates that when a failure occurs in the process "PROCESS21" in the
また、「PROCESS22」というプロセス情報には、「TARGET:PROC,CONTAINER:1,PROC:PROCESS22」という障害情報が対応付けて登録されている。 Further, process information "PROCESS22" is registered in association with failure information "TARGET: PROC, CONTAINER: 1, PROC: PROCESS22".
この障害情報は、第1のコンテナ50において障害が発生するプロセスが「PROCESS22」であることを示している。なお、「PROCESS22」というプロセスには、影響対象情報が登録されていないので、「PROCESS22」というプロセスに障害が発生した場合に再起動する必要がある対象はない。
This fault information indicates that the process in which the fault occurs in the
図6の説明に戻ると、障害情報通信部54は、障害情報通信部44、および、障害情報通信部64と通信を行う。
Returning to the explanation of FIG. 6 , the failure
例えば、障害情報通信部54は、第1のコンテナ50におけるプロセス51a~51nに障害が発生した場合に、障害が発生したプロセスに対応する図8に示した障害情報を障害情報通信部44および障害情報通信部64に送信する。また、障害情報通信部24は、障害情報通信部44および障害情報通信部64から送信される障害情報を受信する。
For example, when a failure occurs in the
プロセス管理部55は、第1のコンテナ50におけるプロセス51a~51nを管理する。例えば、プロセス管理部55は、プロセス監視部52からの通知により、プロセス51a~51nに障害が発生したことを検出する。また、プロセス管理部55は、プロセス51a~51nからの障害メッセージを受信することによりプロセス51a~51nに障害が発生したことを検出する。
The
そして、プロセス管理部55は、障害管理情報53aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
例えば、図8の例において、障害が発生したプロセスが「PROCESS21」である場合、プロセス管理部55は、「TARGET:PROC,CONTAINER:1,PROC:PROCESS21」という障害情報、および、「PROCESS22」という影響対象情報を取得する。
For example, in the example of FIG. 8, if the process in which the fault has occurred is "PROCESS21", the
その後、プロセス管理部55は、「PROCESS21」のプロセスのように、障害情報が登録されている場合、その障害情報を障害情報通信部44および障害情報通信部64に送信するよう障害情報通信部54に指示する。
Thereafter,
また、プロセス管理部55は、「PROCESS21」のプロセスのように、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部55は、障害が発生したプロセスを再起動する。
In addition, the
ここで、図8に示すように、影響対象情報として「PROCESS22」が登録されている場合、プロセス管理部55は、「PROCESS22」のプロセスに対応する障害情報も障害情報通信部44および障害情報通信部64に送信するよう障害情報通信部54に指示する。
Here, as shown in FIG. 8, when "PROCESS22" is registered as the affected object information, the
なお、「PROCESS22」のプロセスに対応する影響対象情報は登録されていないため、プロセス管理部55はプロセスの再起動を行わない。
In addition, since the affected object information corresponding to the process of "PROCESS22" is not registered, the
さらに、プロセス管理部55は、障害情報通信部54が障害情報通信部44または障害情報通信部64から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報53aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the fault
そして、プロセス管理部55は、その障害情報が障害管理情報53aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the fault information corresponds to the fault information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部55は、登録されている影響対象を再起動する。
If affected target information corresponding to the failure information is registered, the
また、プロセス61a~61mを含むプロセス群が実行される第2のコンテナ60は、プロセス監視部62、障害情報記憶部63、障害情報通信部64、および、プロセス管理部65を備える。プロセス監視部62、障害情報通信部64、および、プロセス管理部65は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
A second container 60 in which a process
プロセス監視部62、障害情報通信部64、および、プロセス管理部65の機能は、プロセッサにより実現される。また、障害情報記憶部63の機能は、メモリなどの記憶装置により実現される。
Functions of the
プロセス監視部62は、プロセス61a~61mを含むプロセス群で発生する障害を監視する。例えば、プロセス監視部62は、プロセス61a~61mのハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部65に通知する。
The
障害情報記憶部63は、プロセス61a~61mを含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報63aを記憶する。
The failure
図9は、障害管理情報63aの一例を示す図である。障害管理情報63aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 9 is a diagram showing an example of the
プロセス情報は、第2のコンテナ60において実行されるプロセスの識別情報、および、第2のコンテナ60の外部において実行されるプロセスであることを示す情報を含む。障害情報は、それらのプロセスの障害の情報ある。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。 The process information includes identification information of the process executed in the second container 60 and information indicating that the process is executed outside the second container 60 . The failure information is information on failures of those processes. The affected target information is information about the target that will be affected when the failure occurs.
障害情報における「TARGET」、「CONTAINER」、および、「PROC」は、図7に示した障害管理情報43aの障害情報における「TARGET」、「CONTAINER」、および、「PROC」と同様の情報である。
"TARGET", "CONTAINER" and "PROC" in the fault information are information similar to "TARGET", "CONTAINER" and "PROC" in the fault information of the
ここで、図9の上から4番目にある「EXTERNAL_ERROR」というプロセス情報には、「TARGET:CONTAINER,CONTAINER:1」という障害情報(外部障害情報)、および、「PROCESS31,PROCESS32」という影響対象情報が対応付けて登録されている。 Here, the fourth process information "EXTERNAL_ERROR" from the top in FIG. are associated and registered.
これは、第2のコンテナ60の外部のコンテナ管理プロセス41aに障害が発生した場合、その障害の発生により「PROCESS31」、「PROCESS32」というプロセスを再起動する必要があることを示している。
This indicates that when a failure occurs in the
図6の説明に戻ると、障害情報通信部64は、障害情報通信部44、および、障害情報通信部54と通信を行う。
Returning to the explanation of FIG. 6 , the fault
例えば、障害情報通信部64は、第2のコンテナ60におけるプロセス61a~61mに障害が発生した場合に、障害が発生したプロセスに対応する図9に示した障害情報を障害情報通信部44および障害情報通信部54に送信する。また、障害情報通信部64は、障害情報通信部44または障害情報通信部54から送信される障害情報を受信する。
For example, when a failure occurs in the
プロセス管理部65は、第2のコンテナ60におけるプロセス61a~61mを管理する。
The
例えば、プロセス管理部65は、プロセス監視部62からの通知により、プロセス61a~61mに障害が発生したことを検出する。また、プロセス管理部65は、プロセス61a~61mからの障害メッセージを受信することによりプロセス61a~61mに障害が発生したことを検出する。
For example, the
そして、プロセス管理部65は、障害管理情報63aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
例えば、図9の例において、障害が発生したプロセスが「PROCESS32」である場合、プロセス管理部65は、「TARGET:PROC,CONTAINER:2,PROC:PROCESS32」という障害情報を取得する。なお、図9の例では、「PROCESS32」のプロセスには、影響対象情報は登録されていない。
For example, in the example of FIG. 9, if the failed process is "PROCESS32", the
その後、プロセス管理部65は、「PROCESS32」のプロセスのように、障害情報が登録されている場合、その障害情報を障害情報通信部44および障害情報通信部54に送信するよう障害情報通信部64に指示する。
After that, the
また、プロセス管理部65は、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部55は、障害が発生したプロセスを再起動する。
Further, when the affected object information is registered, the
ここで、図9に示すように、影響対象情報として「PROCESS31」が登録されている場合、プロセス管理部65は、「PROCESS31」のプロセスに対応する障害情報も障害情報通信部44および障害情報通信部54に送信するよう障害情報通信部64に指示する。
Here, as shown in FIG. 9, when "PROCESS31" is registered as the affected object information, the
なお、図9の例では、「PROCESS31」のプロセスに対応する障害情報は登録されていないため、障害情報の送信処理は行われない。障害が発生しても他へ影響しないプロセスの場合、障害情報を登録しないことで不必要な障害情報の送信処理の抑止が可能となる。また、「PROCESS31」のプロセスに対応する影響対象情報も登録されていないため、プロセス管理部65はプロセスの再起動を行わない。
In the example of FIG. 9, since the failure information corresponding to the process "PROCESS31" is not registered, the failure information transmission process is not performed. In the case of a process that does not affect others even if a failure occurs, it is possible to suppress unnecessary failure information transmission processing by not registering failure information. In addition, since the affected object information corresponding to the process "PROCESS31" is not registered, the
さらに、プロセス管理部65は、障害情報通信部64が障害情報通信部44または障害情報通信部54から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報63aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the fault
そして、プロセス管理部65は、その障害情報が障害管理情報63aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the failure information corresponds to the failure information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部65は、登録されている影響対象を再起動する。
If affected target information corresponding to the fault information is registered, the
例えば、障害情報通信部64が、障害情報通信部44から、障害情報として「TARGET:CONTAINER,CONTAINER:1」という情報を受信したものとする。
For example, it is assumed that the failure
この場合、この障害情報は、図9に示した障害管理情報63aの上から4番目に示された「EXTERNAL_ERROR」の障害情報(外部障害情報)に対応するため、プロセス管理部65は、登録されている影響対象である「PROCESS31」、「PROCESS32」のプロセスを再起動する。
In this case, this fault information corresponds to the fault information (external fault information) of "EXTERNAL_ERROR" shown in the fourth from the top of the
ここで、「PROCESS32」には、障害情報が登録されているので、プロセス管理部65は、その障害情報を障害情報通信部44および障害情報通信部54に送信するよう障害情報通信部64に指示するとともに、影響対象情報として登録されている「PROCESS31」のプロセスを再起動する。
Since the failure information is registered in "PROCESS32", the
なお、図9の例では、「PROCESS31」のプロセスに対応する障害情報は登録されていないため、障害情報の送信処理は行われない。また、「PROCESS31」のプロセスに対応する影響対象情報も登録されていないため、プロセス管理部65はプロセスの再起動を行わない。
In the example of FIG. 9, since the failure information corresponding to the process "PROCESS31" is not registered, the failure information transmission process is not performed. In addition, since the affected object information corresponding to the process "PROCESS31" is not registered, the
プロセス管理部45、55、65がプロセスの障害を検出して行う再起動処理の処理手順は、図4で説明した処理手順と同様のものである。
The processing procedure of restart processing performed by the
すなわち、図4に示すように、プロセス管理部45、55、65は、プロセス監視部42、52、62からの通知により、または、各プロセスから受信する障害メッセージにより、各プロセスに障害が発生したことを検出する(ステップS101)。
That is, as shown in FIG. 4, the
続いて、プロセス管理部45、55、65は、それぞれの障害管理情報43a、53a、63aを参照し、障害が発生したプロセスの情報をもとに、そのプロセスに対応する障害情報と影響対象情報とを障害管理情報43a、53a、63aから取得する処理を行う(ステップS102)。
Subsequently, the
そして、プロセス管理部45、55、65は、障害管理情報43a、53a、63aにそのプロセスに対応する障害情報が登録されていたか否かを判定する(ステップS103)。
Then, the
障害管理情報43a、53a、63aにそのプロセスに対応する障害情報が登録されていた場合(ステップS103においてYesの場合)、プロセス管理部45、55、65は、障害情報通信部44、54、64に指示して、その障害情報を他の障害情報通信部44、54、64に送信させる(ステップS104)。
When failure information corresponding to the process is registered in the
その後、プロセス管理部45、55、65は、それぞれの障害管理情報43a、53a、63aにそのプロセスに対応する影響対象情報が登録されていたか否かを判定する(ステップS105)。
After that, the
障害管理情報43a、53a、63aにそのプロセスに対応する影響対象情報が登録されていた場合(ステップS105においてYesの場合)、プロセス管理部45、55、65は、その影響対象情報に登録されている影響対象を再起動する(ステップS106)。
If the affected information corresponding to the process is registered in the
なお、プロセス管理部45、55、65は、障害管理情報43a、53a、63aにおいて、再起動される影響対象のプロセスに対応する障害情報が登録されている場合には、障害情報通信部44、54、64に指示して、その障害情報を他の障害情報通信部44、54、64に送信させ、そのプロセスに対応する影響対象情報が登録されていた場合には、その影響対象情報に登録されている影響対象を再起動する。
If the
さらに、プロセス管理部45、55、65は、障害の発生が検出されたプロセスを再起動し(ステップS107)、この再起動処理を終了する。
Furthermore, the
また、ステップS103において、障害管理情報43a、53a、63aにそのプロセスに対応する障害情報が登録されていなかった場合(ステップS103においてNoの場合)、または、ステップS105において、障害管理情報43a、53a、63aにそのプロセスに対応する影響対象情報が登録されていなかった場合(ステップS105においてNoの場合)、プロセス管理部45、55、65は、障害の発生が検出されたプロセスを再起動し(ステップS107)、この再起動処理を終了する。
In step S103, failure information corresponding to the process is not registered in the
また、プロセス管理部45、55、65が障害情報を受信して行う再起動処理の処理手順は、図5で説明した処理手順と同様のものである。
Also, the processing procedure of the restart processing performed by the
すなわち、図5に示すように、障害情報通信部44、54、64は、他の障害情報通信部44、54、64により送信された障害情報を受信する(ステップS201)。
That is, as shown in FIG. 5, the fault
そして、プロセス管理部45、55、65は、障害情報通信部44、54、64から障害情報を取得するとともに、それぞれの障害管理情報43a、53a、63aを参照し、その障害情報に対応する障害情報と影響対象情報とを障害管理情報43a、53a、63aから取得する処理を行う(ステップS202)。
The
そして、プロセス管理部45、55、65は、それぞれの障害管理情報43a、53a、63aに、障害情報通信部44、54、64から取得した障害情報に対応する障害情報が登録されていたか否かを判定する(ステップS203)。
Then, the
障害管理情報43a、53a、63aに障害情報通信部44、54、64から取得した障害情報に対応する障害情報が登録されていた場合(ステップS203においてYesの場合)、プロセス管理部45、55、65は、障害情報通信部44、54、64に指示して、その障害情報を他の障害情報通信部44、54、64に送信させる(ステップS204)。
If failure information corresponding to the failure information acquired from the failure
その後、プロセス管理部45、55、65は、それぞれの障害管理情報43a、53a、63aに、障害情報通信部44、54、64から取得した障害情報に対応する影響対象情報が登録されていたか否かを判定する(ステップS205)。
After that, the
障害管理情報43a、53a、63aに障害情報通信部44、54、64から取得した障害情報に対応する影響対象情報が登録されていた場合(ステップS205においてYesの場合)、プロセス管理部45、55、65は、その影響対象情報に登録されている影響対象を再起動、この再起動処理を終了する。(ステップS206)。
If affected target information corresponding to the failure information acquired from the failure
なお、プロセス管理部45、55、65は、障害管理情報43a、53a、63aにおいて、再起動される影響対象のプロセスに対応する障害情報が登録されている場合には、障害情報通信部44、54、64に指示して、その障害情報を他の障害情報通信部44、54、64に送信させ、そのプロセスに対応する影響対象情報が登録されていた場合には、その影響対象情報に登録されている影響対象を再起動する。
If the
また、ステップS203において、障害管理情報43a、53a、63aに障害情報通信部44、54、64から取得した障害情報に対応する障害情報が登録されていなかった場合(ステップS203においてNoの場合)、または、ステップS205において、障害管理情報43a、53a、63aに障害情報通信部44、54、64から取得した障害情報に対応する影響対象情報が登録されていなかった場合(ステップS205においてNoの場合)、そのままこの再起動処理は終了する。
Further, in step S203, if failure information corresponding to the failure information acquired from the failure
このように、本実施の形態2では、障害情報記憶部43が、第1のコンテナ50における第1の障害の情報または第2のコンテナ60における第2の障害の情報に対応する外部障害情報と、第1の障害の情報または第2の障害の情報の影響対象の情報とを含む障害管理情報43aを記憶し、第1の障害の情報または第2の障害の情報のいずれかの障害情報を障害情報通信部44が受信した場合に、プロセス管理部45が、障害管理情報43aを参照し、外部障害情報に対応する第1の障害の影響対象または第2の障害の影響対象を再起動することとした。
As described above, in the second embodiment, the fault
これにより、コンテナにおけるプロセス間の依存関係を考慮して、障害からの復旧を自律的に行うことができる。 As a result, it is possible to autonomously recover from a failure, taking into consideration the dependencies between processes in the container.
また、本実施の形態2では、論理的に区分された2つのグループが、コンテナであることとした。 Also, in the second embodiment, the logically divided two groups are containers.
これにより、コンテナにおけるプロセス間に依存関係がある場合でも、障害からの復旧を自律的に行うことができる。 As a result, recovery from failures can be performed autonomously even if there is a dependency between processes in the container.
(実施の形態3)
図10は、実施の形態3に係る計算機システムの構成の一例を示す図である。以下で説明する計算機システムは、例えば、車両に搭載されるシステムである。図10に示すように、この計算機システムは、ハイパバイザ70、管理VM80、メータVM90、IVI(In-Vehicle Infotainment) VM100を備える。
(Embodiment 3)
FIG. 10 is a diagram showing an example of the configuration of a computer system according to Embodiment 3. As shown in FIG. The computer system described below is, for example, a system mounted on a vehicle. As shown in FIG. 10, this computer system includes a
ハイパバイザ70は、1つの計算機を管理VM80、メータVM90、および、IVI VM100に論理的に分割し、3つの独立した仮想マシンとして動作させる制御部である。管理VM80と、メータVM90と、IVI VM100は、このようにして生成された仮想マシンである。
The
なお、ここではハイパバイザ10上で動作する仮想マシンの数が3であり、コンテナの数が1であることとしたが、少なくとも1以上であればよい。
Although the number of virtual machines operating on the
ハイパバイザ70は、VM監視部71、障害情報記憶部72、障害情報通信部73、および、VM管理部74を備える。
The
VM監視部71、障害情報通信部73、および、VM管理部74の機能は、プロセッサにより実現される。また、障害情報記憶部72の機能は、メモリなどの記憶装置により実現される。
Functions of the
VM監視部71は、管理VM80、メータVM90、および、IVI VM100のそれぞれで稼働する仮想マシンの障害を監視する。例えば、VM監視部71は、管理VM80のVM監視応答部83、メータVM90のVM監視応答部93、または、IVI VM100のVM監視応答部104からVMに障害が発生したことを示す通知を受け付け、後述するVM管理部74に障害の発生を通知する。
The
または、VM監視部71は、VM監視応答部83、93、104に対してハートビートメッセージを送信し、応答がないVM監視応答部83、93、104のVMに障害が発生したことをVM管理部74に通知してもよい。
Alternatively, the
障害情報記憶部72は、管理VM80、メータVM90、および、IVI VM100における仮想マシンのプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報72aを記憶する。
The fault
図11は、障害管理情報72aの一例を示す図である。障害管理情報72aは、VM情報、障害情報、影響対象情報を含む。
FIG. 11 is a diagram showing an example of the
VM情報は、計算機システムにおいて稼働する仮想マシンの識別情報である。障害情報は、それらの仮想マシンにおいて発生する障害の情報である。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。 The VM information is identification information of virtual machines running in the computer system. The failure information is information about failures occurring in those virtual machines. The affected target information is information about the target that will be affected when the failure occurs.
障害情報における「TARGET」は、障害が仮想マシン(VM)、コンテナ、プロセスのどれに発生したかを示す情報である。「VM」は、障害が発生した仮想マシンを示す識別情報である。 "TARGET" in the fault information is information indicating whether the fault occurred in a virtual machine (VM), container, or process. “VM” is identification information indicating a failed virtual machine.
例えば、「管理VM」というVM情報には、「TARGET:VM,VM:MANAGER」という障害情報、および、「SYS_RESET」という影響対象情報が対応付けて登録されている。 For example, VM information "management VM" is registered in association with failure information "TARGET: VM, VM: MANAGER" and affected target information "SYS_RESET".
これは、「管理VM」の仮想マシンのプロセス群において障害が発生した場合、その障害の発生により計算機システム全体を再起動する必要があることを示している。 This indicates that when a failure occurs in the virtual machine process group of the "management VM", the entire computer system must be restarted due to the occurrence of the failure.
また、「メータVM」というVM情報には、「TARGET:VM,VM:METER」という障害情報、および、「IVI VM」という影響対象情報が対応付けて登録されている。 Further, the VM information "meter VM" is registered in association with the failure information "TARGET: VM, VM: METER" and the affected target information "IVI VM".
この障害情報および影響対象情報は、メータVM90における仮想マシンのプロセス群において障害が発生した場合に、IVI VM100における仮想マシンのプロセス群を再起動する必要があることを示している。
This failure information and affected information indicate that the virtual machine process group in the
図10の説明に戻ると、障害情報通信部73は、管理VM80の障害情報通信部85、メータVM90の障害情報通信部95、IVI VM100の障害情報通信部106、および、コンテナ110の障害情報通信部114と通信を行う。
Returning to the description of FIG. 10 , the failure
例えば、障害情報通信部73は、管理VM80、メータVM90、または、IVI VM100における仮想マシンのプロセス群に障害が発生した場合に、障害が発生した仮想マシンに対応する図11に示した障害情報を、障害が発生した仮想マシン以外の仮想マシンに送信する。
For example, when a failure occurs in a virtual machine process group in the
また、障害情報通信部73は、障害情報通信部85、障害情報通信部95、障害情報通信部106、または、障害情報通信部114から送信される障害情報を受信する。
Failure
VM管理部74は、管理VM80、メータVM90、および、IVI VM100を管理する。例えば、VM管理部74は、VM監視部71からの通知により、管理VM80、メータVM90、または、IVI VM100のプロセス群に障害が発生したことを検出する。
The
また、VM管理部74は、管理VM80のプロセス管理部86、メータVM90のプロセス管理部96、または、IVI VM100のプロセス管理部107から再起動要求メッセージを受信することにより、再起動要求メッセージを送信したVMのプロセス群に障害が発生したことを検出する。
Further, the
そして、VM管理部74は、障害管理情報72aを参照し、障害が発生したVMに対応付けて登録されている障害情報および影響対象情報を取得する。例えば、障害が発生したVMが「メータVM」である場合、VM管理部74は、「TARGET:VM,VM:METER」という障害情報、および、「IVI VM」という影響対象情報を取得する。
Then, the
その後、VM管理部74は、「メータVM」のVMのように、障害情報が登録されている場合、その障害情報を管理VM80、メータVM90、IVI VM100、および、コンテナ110に送信するよう障害情報通信部73に指示する。
After that, the
また、VM管理部74は、「メータVM」のVMのように、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、VM管理部74は、障害が発生したVMのプロセス群を再起動する。
In addition, the
ここで、図11に示すように、影響対象情報として「IVI VM」が登録されている場合、VM管理部74は、「IVI VM」のVMに対応する障害情報も管理VM80、メータVM90、IVI VM100、および、コンテナ110に送信するよう障害情報通信部73に指示する。
Here, as shown in FIG. 11 , when “IVI VM” is registered as the affected target information, the
なお、「IVI VM」のVMに対応する影響対象情報は登録されていないため、VM管理部74はVMのプロセス群の再起動を行わない。
In addition, since the affected target information corresponding to the VM of "IVI VM" is not registered, the
さらに、VM管理部74は、障害情報通信部73が管理VM80、メータVM90、IVI VM100、および、コンテナ110から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報72aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the failure
そして、VM管理部74は、その障害情報が障害管理情報72aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the failure information corresponds to the failure information included in the
その障害情報に対応する影響対象情報が登録されている場合、VM管理部74は、登録されている影響対象を再起動する。
If affected target information corresponding to the failure information is registered, the
プロセス81a~81nを含むプロセス群が実行される管理VM80は、プロセス監視部82、VM監視応答部83、障害情報記憶部84、障害情報通信部85、および、プロセス管理部86を備える。管理VM80は、車両の管理を行う仮想マシンである。プロセス監視部82、VM監視応答部83、障害情報通信部85、および、プロセス管理部86は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
A
プロセス監視部82、VM監視応答部83、障害情報通信部85、および、プロセス管理部86の機能は、プロセッサにより実現される。また、障害情報記憶部84の機能は、メモリなどの記憶装置により実現される。
Functions of the
プロセス監視部82は、プロセス81a~81nを含むプロセス群で発生する障害を監視する。例えば、プロセス監視部82は、プロセス81a~81nのハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部86に通知する。
The
VM監視応答部83は、管理VM80の仮想マシンに対してハートビートメッセージを送信し、応答がない場合に、仮想マシンのプロセス群に障害が発生したことをハイパバイザ70のVM監視部71に通知する。
The VM
障害情報記憶部84は、プロセス81a~81nを含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報84aを記憶する。
The failure
図12は、障害管理情報84aの一例を示す図である。障害管理情報84aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 12 is a diagram showing an example of the
プロセス情報は、管理VM80において実行されるプロセス、および、管理VM80の外部において実行されるプロセスであることを示す情報を含む。なお、図12の例では、後者の情報は登録されていない。障害情報は、それらのプロセスの障害の情報ある。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。
The process information includes information indicating processes executed in the
図10の説明に戻ると、障害情報通信部85は、障害情報通信部73、障害情報通信部95、障害情報通信部106、および、障害情報通信部114と通信を行う。
Returning to the explanation of FIG. 10 , the fault
例えば、障害情報通信部85は、管理VM80におけるプロセス81a~81nに障害が発生した場合に、障害が発生したプロセスに対応する障害情報を障害情報通信部73、障害情報通信部95、障害情報通信部106、および、障害情報通信部114に送信する。
For example, when a failure occurs in the
また、障害情報通信部85は、障害情報通信部73、障害情報通信部95、障害情報通信部106、または、障害情報通信部114から送信される障害情報を受信する。
Further, failure
プロセス管理部86は、管理VM80におけるプロセス81a~81nを管理する。例えば、プロセス管理部86は、プロセス監視部82からの通知により、プロセス81a~81nに障害が発生したことを検出する。また、プロセス管理部86は、プロセス81a~81nからの障害メッセージを受信することによりプロセス81a~81nに障害が発生したことを検出する。
The
そして、プロセス管理部86は、障害管理情報84aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
その後、プロセス管理部86は、障害情報が登録されている場合、その障害情報を障害情報通信部73、障害情報通信部95、障害情報通信部106、および、障害情報通信部114に送信するよう障害情報通信部85に指示する。
After that, when the fault information is registered, the
また、プロセス管理部86は、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部86は、障害が発生したプロセスを再起動する。
Further, when the affected object information is registered, the
さらに、プロセス管理部86は、障害情報通信部85が障害情報通信部73、障害情報通信部95、障害情報通信部106、または、障害情報通信部114から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報84aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the fault
そして、プロセス管理部86は、その障害情報が障害管理情報84aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the fault information corresponds to the fault information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部86は、登録されている影響対象を再起動する。
If affected target information corresponding to the fault information is registered, the
なお、図12に示す障害管理情報84aの例では、障害情報および影響対象情報は登録されていないので、プロセス管理部86は、障害が発生したプロセスのみを再起動する。
In the example of the
また、プロセス91a~91mを含むプロセス群が実行されるメータVM90は、プロセス監視部92、VM監視応答部93、障害情報記憶部94、障害情報通信部95、および、プロセス管理部96を備える。メータVM90は、運転席のデジタルメータ、ナビゲーション情報などの表示を担う仮想マシンである。プロセス監視部92、VM監視応答部93、障害情報通信部95、および、プロセス管理部96は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
A
プロセス監視部92、VM監視応答部93、障害情報通信部95、および、プロセス管理部96の機能は、プロセッサにより実現される。また、障害情報記憶部94の機能は、メモリなどの記憶装置により実現される。
The functions of the
プロセス監視部92は、プロセス91a~91mを含むプロセス群で発生する障害を監視する。例えば、プロセス監視部92は、プロセス91a~91mに対してハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部96に通知する。
The
VM監視応答部93は、メータVM90の仮想マシンに対してハートビートメッセージを送信し、応答がない場合に、仮想マシンのプロセス群に障害が発生したことをハイパバイザ70のVM監視部71に通知する。
The VM
障害情報記憶部94は、プロセス91a~91mを含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報と対応付けて登録した障害管理情報94aを記憶する。
The fault
図13は、障害管理情報94aの一例を示す図である。障害管理情報94aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 13 is a diagram showing an example of the
プロセス情報は、メータVM90において実行されるプロセス、および、メータVM90の外部において実行されるプロセスであることを示す情報を含む。障害情報は、それらのプロセスの障害の情報ある。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。
The process information includes information indicating a process executed in the
障害情報における「TARGET」、「VM」、「CONTAINER」、および、「PROC」は、図2および図7に示した障害管理情報23a、43aの障害情報における「TARGET」、「VM」、「CONTAINER」、および、「PROC」と同様の情報である。
"TARGET", "VM", "CONTAINER", and "PROC" in the failure information correspond to "TARGET", "VM", "CONTAINER" in the
図10の説明に戻ると、障害情報通信部95は、障害情報通信部73、障害情報通信部85、障害情報通信部106、および、障害情報通信部114と通信を行う。
Returning to the explanation of FIG. 10 , the fault
例えば、障害情報通信部95は、メータVM90におけるプロセス91a~91mに障害が発生した場合に、障害が発生したプロセスに対応する障害情報を障害情報通信部73、障害情報通信部85、障害情報通信部106、および、障害情報通信部114に送信する。
For example, when a failure occurs in the
また、障害情報通信部95は、障害情報通信部73、障害情報通信部85、障害情報通信部106、または、障害情報通信部114から送信される障害情報を受信する。
Further, failure
プロセス管理部96は、メータVM90におけるプロセス91a~91mを管理する。例えば、プロセス管理部96は、プロセス監視部92からの通知により、プロセス91a~91mに障害が発生したことを検出する。また、プロセス管理部96は、プロセス91a~91mからの障害メッセージを受信することによりプロセス91a~91mに障害が発生したことを検出する。
A
そして、プロセス管理部96は、障害管理情報94aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
例えば、図13の例において、障害が発生したプロセスが「PROCESS21」である場合、プロセス管理部は、「TARGET:PROC,VM:METER,CONTAINER:-,PROC:PROCESS21」という障害情報を取得する。 For example, in the example of FIG. 13, if the failed process is "PROCESS21", the process management unit acquires the failure information "TARGET: PROC, VM: METER, CONTAINER: -, PROC: PROCESS21".
その後、プロセス管理部96は、「PROCESS21」のプロセスのように、障害情報が登録されている場合、その障害情報を障害情報通信部73、障害情報通信部85、障害情報通信部106、および、障害情報通信部114に送信するよう障害情報通信部95に指示する。
After that, the
また、プロセス管理部96は、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部96は、障害が発生したプロセスを再起動する。
Further, when the affected object information is registered, the
ここで、図13に示すように、影響対象情報として「PROCESS22」が登録されている場合、プロセス管理部96は、「PROCESS22」のプロセスに対応する障害情報も障害情報通信部73、障害情報通信部85、障害情報通信部106、および、障害情報通信部114に送信するよう障害情報通信部95に指示する。
Here, as shown in FIG. 13, when "PROCESS22" is registered as the affected object information, the
「PROCESS22」のプロセスに対応する影響対象情報は登録されていないため、プロセス管理部96はプロセスの再起動を行わない。
Since the affected object information corresponding to the process of "PROCESS22" is not registered, the
さらに、プロセス管理部96は、障害情報通信部95が障害情報通信部73、障害情報通信部85、障害情報通信部106、または、障害情報通信部114から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報94aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the fault
そして、プロセス管理部96は、その障害情報が障害管理情報94aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the failure information corresponds to the failure information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部96は、登録されている影響対象を再起動する。
If affected target information corresponding to the failure information is registered, the
また、プロセス101a~101l、および、コンテナ管理プロセス102を含むプロセス群が実行されるIVI VM100は、プロセス監視部103、VM監視応答部104、障害情報記憶部105、障害情報通信部106、プロセス管理部107、および、コンテナ110を備える。プロセス監視部103、VM監視応答部104、障害情報通信部106、および、プロセス管理部107は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
In addition, the
IVI VM100は、ナビゲーション、オーディオ、車両情報の表示のほか、スマートフォンなどとの連携機能を担う仮想マシンである。コンテナ管理プロセス102は、コンテナ110の管理を行うプロセスである。
The
プロセス監視部103、VM監視応答部104、障害情報通信部106、プロセス管理部107、および、コンテナ110の障害情報記憶部113以外の機能は、プロセッサにより実現される。また、障害情報記憶部105および障害情報記憶部113の機能は、メモリなどの記憶装置により実現される。
Functions other than the
プロセス監視部103は、プロセス101a~101l、および、コンテナ管理プロセス102を含むプロセス群で発生する障害を監視する。例えば、プロセス監視部103は、プロセス101a~101l、および、コンテナ管理プロセス102に対してハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部107に通知する。
The
VM監視応答部104は、IVI VM100の仮想マシンに対してハートビートメッセージを送信し、応答がない場合に、仮想マシンのプロセス群に障害が発生したことをハイパバイザ70のVM監視部71に通知する。
The VM
障害情報記憶部105は、プロセス101a~101l、および、コンテナ管理プロセス102を含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報105aを記憶する。
The fault
図14は、障害管理情報105aの一例を示す図である。障害管理情報105aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 14 is a diagram showing an example of the
プロセス情報は、IVI VM100において実行されるプロセスの識別情報、および、IVI VM100の外部において実行されるプロセスであることを示す情報を含む。障害情報は、それらのプロセスの障害の情報ある。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。
The process information includes identification information of processes executed in the
障害情報における「TARGET」、「VM」、「CONTAINER」、および、「PROC」は、図2および図7に示した障害管理情報23a、43aの障害情報における「TARGET」、「VM」、「CONTAINER」、および、「PROC」と同様の情報である。
"TARGET", "VM", "CONTAINER", and "PROC" in the failure information correspond to "TARGET", "VM", "CONTAINER" in the
図10の説明に戻ると、障害情報通信部106は、障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部114と通信を行う。
Returning to the description of FIG. 10 , failure
例えば、障害情報通信部106は、IVI VM100におけるプロセス101a~101l、または、コンテナ管理プロセス102に障害が発生した場合に、障害が発生したプロセスに対応する障害情報を障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部114に送信する。
For example, when a failure occurs in the
また、障害情報通信部106は、障害情報通信部73、障害情報通信部85、障害情報通信部95、または、障害情報通信部114から送信される障害情報を受信する。
Failure
プロセス管理部107は、IVI VM100におけるプロセス101a~101l、および、コンテナ管理プロセス102を管理する。例えば、プロセス管理部107は、プロセス監視部103からの通知により、プロセス101a~101l、または、コンテナ管理プロセス102に障害が発生したことを検出する。
The
また、プロセス管理部107は、プロセス101a~101l、または、コンテナ管理プロセス102からの障害メッセージを受信することによりプロセス101a~101l、または、コンテナ管理プロセス102に障害が発生したことを検出する。
Also, the
そして、プロセス管理部107は、障害管理情報105aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
例えば、図14の例において、障害が発生したプロセスが「CONTAINER1_MNG_PROCESS」というコンテナ管理プロセス102である場合、プロセス管理部107は、「TARGET:CONTAINER,VM:IVI,CONTAINER:1」という障害情報を取得する。
For example, in the example of FIG. 14, if the process in which the failure occurred is the
その後、プロセス管理部107は、「CONTAINER1_MNG_PROCESS」のプロセスのように、障害情報が登録されている場合、その障害情報を障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部114に送信するよう障害情報通信部106に指示する。
After that, when failure information is registered as in the process of "CONTAINER1_MNG_PROCESS", the
また、プロセス管理部107は、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部107は、障害が発生したプロセスを再起動する。
Further, when the influence target information is registered, the
ここで、図14に示すように、影響対象情報として「PROCESS32」が登録されている場合、プロセス管理部107は、「PROCESS32」のプロセスに対応する障害情報も障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部114に送信するよう障害情報通信部106に指示する。
Here, as shown in FIG. 14, when "PROCESS32" is registered as the affected object information, the
「PROCESS32」のプロセスに対応する影響対象情報は登録されていないため、プロセス管理部107はプロセスの再起動を行わない。
Since the affected object information corresponding to the process of "PROCESS32" is not registered, the
さらに、プロセス管理部107は、障害情報通信部106が障害情報通信部73、障害情報通信部85、障害情報通信部95、または、障害情報通信部114から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報105aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the failure
そして、プロセス管理部107は、その障害情報が障害管理情報105aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the failure information corresponds to the failure information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部107は、登録されている影響対象を再起動する。
If affected target information corresponding to the fault information is registered, the
例えば、障害情報通信部106が、障害情報通信部95から、障害情報として「TARGET:PROC,VM:METER,CONTAINER:-,PROC:PROCESS21」という情報を受信したものとする。
For example, it is assumed that the failure
この場合、この障害情報は、図14に示した障害管理情報105aの上から4番目に示された「EXTERNAL_ERROR」の障害情報(外部障害情報)に対応するため、プロセス管理部107は、登録されている影響対象である「PROCESS31」のプロセスを再起動する。
In this case, this fault information corresponds to the fault information (external fault information) of "EXTERNAL_ERROR" shown in the fourth from the top of the
ここで、「PROCESS31」には、障害情報が登録されていないので、障害情報は障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部114に送信されない。
Here, since failure information is not registered in "PROCESS 31", failure information is not transmitted to failure
また、「PROCESS31」のプロセスに対応する影響対象情報も登録されていないため、プロセス管理部107はプロセスの再起動を行わない。
In addition, since the affected object information corresponding to the process "PROCESS31" is not registered, the
プロセス111a~111kを含むプロセス群が実行されるコンテナ110は、プロセス監視部112、障害情報記憶部113、障害情報通信部114、および、プロセス管理部115を備える。プロセス監視部112、障害情報通信部114、および、プロセス管理部115は、それぞれ個別のプロセスとして実装されても良いが、それぞれの役割を備えた単一のプロセスとして実装されても良い。
A
プロセス監視部112、障害情報通信部114、および、プロセス管理部115の機能は、プロセッサにより実現される。また、障害情報記憶部113の機能は、メモリなどの記憶装置により実現される。
Functions of the process monitoring unit 112, the fault information communication unit 114, and the
プロセス監視部112は、プロセス111a~111kを含むプロセス群で発生する障害を監視する。例えば、プロセス監視部112は、プロセス111a~111kに対してハートビートメッセージを送信し、応答がないプロセスを、後述するプロセス管理部115に通知する。
The process monitoring unit 112 monitors failures occurring in a process group including the processes 111a to 111k. For example, the process monitoring unit 112 transmits heartbeat messages to the processes 111a to 111k, and notifies the
障害情報記憶部113は、プロセス111a~111kを含むプロセス群において発生する障害の情報と、当該障害の影響対象の情報とを対応付けて登録した障害管理情報113aを記憶する。
The failure
図15は、障害管理情報113aの一例を示す図である。障害管理情報113aは、プロセス情報、障害情報、影響対象情報を含む。
FIG. 15 is a diagram showing an example of the
プロセス情報は、コンテナ110において実行されるプロセスの識別情報、および、コンテナ110の外部において実行されるプロセスであることを示す情報を含む。障害情報は、それらのプロセスの障害の情報ある。影響対象情報は、当該障害が発生した場合に影響を受ける対象の情報である。
The process information includes identification information of the process executed in the
障害情報における「TARGET」、「VM」、「CONTAINER」、および、「PROC」は、図2および図7に示した障害管理情報23a、43aの障害情報における「TARGET」、「VM」、「CONTAINER」、および、「PROC」と同様の情報である。
"TARGET", "VM", "CONTAINER", and "PROC" in the failure information correspond to "TARGET", "VM", "CONTAINER" in the
ここで、図15の上から3番目にある「EXTERNAL_ERROR」というプロセス情報には、「TARGET:PROC,VM:METER,CONTAINER:-,PROC:PROCESS22」という障害情報(外部障害情報)、および、「PROCESS41」という影響対象情報が対応付けて登録されている。 Here, the third process information "EXTERNAL_ERROR" from the top in FIG. PROCESS41" is registered in association with the affected target information.
これは、メータVM90の「PROCESS22」というプロセスに障害が発生した場合、その障害の発生により「PROCESS41」というプロセスを再起動する必要があることを示している。
This indicates that when a failure occurs in the process "PROCESS22" of the
図10の説明に戻ると、障害情報通信部114は、障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部106と通信を行う。
Returning to the description of FIG. 10, the fault information communication section 114 communicates with the fault
例えば、障害情報通信部114は、コンテナ110におけるプロセス111a~111kに障害が発生した場合に、障害が発生したプロセスに対応する図15に示した障害情報を障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部106に送信する。
For example, when a failure occurs in the processes 111a to 111k in the
また、障害情報通信部114は、障害情報通信部73、障害情報通信部85、障害情報通信部95、または、障害情報通信部106から送信される障害情報を受信する。
Further, failure information communication section 114 receives failure information transmitted from failure
プロセス管理部115は、コンテナ110におけるプロセス111a~111kを管理する。例えば、プロセス管理部115は、プロセス監視部112からの通知により、プロセス111a~111kに障害が発生したことを検出する。
The
また、プロセス管理部115は、プロセス111a~111kからの障害メッセージを受信することによりプロセス111a~111kに障害が発生したことを検出する。
Also, the
そして、プロセス管理部115は、障害管理情報113aを参照し、障害が発生したプロセスに対応付けて登録されている障害情報および影響対象情報を取得する。
Then, the
例えば、図15の例において、障害が発生したプロセスが「PROCESS41」である場合、プロセス管理部115は、「TARGET:PROC,VM:IVI,CONTAINER:1,PROC:PROCESS41」という障害情報、および、「PROCESS42」という影響対象情報を取得する。
For example, in the example of FIG. 15, if the failed process is "PROCESS41", the
その後、プロセス管理部115は、「PROCESS41」のプロセスのように、障害情報が登録されている場合、その障害情報を障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部106に送信するよう障害情報通信部114に指示する。
After that, the
また、プロセス管理部115は、「PROCESS42」のプロセスのように、影響対象情報が登録されている場合、登録されている影響対象を再起動する。さらに、プロセス管理部115は、障害が発生したプロセスを再起動する。
In addition, the
また、影響対象情報としてプロセスが登録されている場合、プロセス管理部115は、そのプロセスに対応する障害情報も障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部106に送信するよう障害情報通信部114に指示する。
Further, when a process is registered as affected information, the
さらに、プロセス管理部115は、障害情報通信部114が障害情報通信部85、障害情報通信部95、または、障害情報通信部106から障害情報を受信した場合に、その障害情報を取得し、その障害情報が障害管理情報113aに含まれる障害情報に対応するものであるか否かを判定する。
Furthermore, when the fault information communication unit 114 receives fault information from the fault
そして、プロセス管理部115は、その障害情報が障害管理情報113aに含まれる障害情報に対応するものである場合、その障害情報に対応する影響対象情報が登録されているか否かを判定する。
Then, when the failure information corresponds to the failure information included in the
その障害情報に対応する影響対象情報が登録されている場合、プロセス管理部115は、登録されている影響対象を再起動する。
If affected target information corresponding to the fault information is registered, the
例えば、障害情報通信部114が、障害情報通信部95から、障害情報として「TARGET:PROC,VM:METER,CONTAINER:-,PROC:PROCESS22」という情報を受信したものとする。
For example, it is assumed that the failure information communication unit 114 receives the information "TARGET: PROC, VM: METER, CONTAINER: -, PROC: PROCESS22" from the failure
この場合、この障害情報は、図15に示した障害管理情報113aの上から3番目に示された「EXTERNAL_ERROR」の障害情報(外部障害情報)に対応するため、プロセス管理部115は、登録されている影響対象である「PROCESS41」のプロセスを再起動する。
In this case, this fault information corresponds to the fault information (external fault information) of "EXTERNAL_ERROR" shown third from the top of the
ここで、「PROCESS41」には、障害情報が登録されているので、プロセス管理部115は、その障害情報を障害情報通信部73、障害情報通信部85、障害情報通信部95、および、障害情報通信部106に送信するよう障害情報通信部114に指示するとともに、影響対象情報として登録されている「PROCESS42」のプロセスを再起動する。
Here, since the failure information is registered in "PROCESS 41", the
「PROCESS42」のプロセスに対応する障害情報、および、影響対象情報は登録されていないため、プロセス管理部115は、障害情報の送信指示、および、プロセスの再起動を行わない。
Since the failure information and affected target information corresponding to the process of "PROCESS42" are not registered, the
つぎに、ハイパバイザ70が行う再起動処理の処理手順の一例について説明する。図16は、ハイパバイザ70が行う再起動処理の処理手順の一例を示すフローチャートである。
Next, an example of a procedure of restart processing performed by the
図16に示すように、VM管理部74は、VM監視部71からの通知により、または、各VMから受信する再起動要求メッセージにより、各VMに障害が発生したことを検出する(ステップS301)。
As illustrated in FIG. 16 , the
続いて、VM管理部74は、障害管理情報72aを参照し、VM監視部71から取得した障害が発生したVMの情報をもとに、そのVMに対応する障害情報と影響対象情報とを障害管理情報72aから取得する処理を行う(ステップS302)。
Next, the
そして、VM管理部74は、障害管理情報72aにそのVMに対応する障害情報が登録されていたか否かを判定する(ステップS303)。
Then, the
障害管理情報72aにそのVMに対応する障害情報が登録されていた場合(ステップS303においてYesの場合)、VM管理部74は、障害情報通信部73に指示して、その障害情報を障害情報通信部85、障害情報通信部95、障害情報通信部106、および、障害情報通信部114に送信させる(ステップS304)。
If failure information corresponding to the VM is registered in the
その後、VM管理部74は、障害管理情報72aにそのVMに対応する影響対象情報が登録されていたか否かを判定する(ステップS305)。
After that, the
障害管理情報72aにそのVMに対応する影響対象情報が登録されていた場合(ステップS305においてYesの場合)、VM管理部74は、その影響対象情報に登録されている影響対象を再起動する(ステップS306)。
If the affected target information corresponding to the VM is registered in the
なお、VM管理部74は、障害管理情報72aにおいて、再起動される影響対象のVMに対応する障害情報が登録されている場合には、障害情報通信部73に指示して、その障害情報を障害情報通信部85、障害情報通信部95、障害情報通信部106、および、障害情報通信部114に送信させ、そのVMに対応する影響対象情報が登録されていた場合には、その影響対象情報に登録されている影響対象を再起動する。
Note that if the
さらに、VM管理部74は、障害の発生が検出されたVMを再起動し(ステップS307)、この再起動処理を終了する。
Furthermore, the
また、ステップS303において、障害管理情報72aにそのVMに対応する障害情報が登録されていなかった場合(ステップS303においてNoの場合)、または、ステップS305において、障害管理情報72aにそのVMに対応する影響対象情報が登録されていなかった場合(ステップS305においてNoの場合)、VM管理部74は、障害の発生が検出されたVMを再起動し(ステップS307)、この再起動処理を終了する。
In step S303, if the fault information corresponding to the VM is not registered in the
プロセス管理部86、96、107,115(以下、単に管理部と呼ぶ。)がプロセスの障害を検出して行う再起動処理の処理手順は、図4で説明した処理手順と同様のものである。
The processing procedure of restart processing performed by the
すなわち、図4に示すように、プロセス監視部82、92、103,112は、自らが管理するプロセスの障害を検出し、障害を検出したことを管理部に通知する(ステップS101)。
That is, as shown in FIG. 4, the
続いて、管理部は、それぞれの障害管理情報84a、94a、105a、113a(以下、単に障害管理情報と呼ぶ。)を参照し、障害が発生したプロセスの情報をもとに、そのプロセスに対応する障害情報と影響対象情報とを障害管理情報から取得する処理を行う(ステップS102)。
Subsequently, the management unit refers to the
そして、管理部は、障害管理情報にそのプロセスに対応する障害情報が登録されていたか否かを判定する(ステップS103)。 Then, the management unit determines whether fault information corresponding to the process is registered in the fault management information (step S103).
障害管理情報にそのプロセスに対応する障害情報が登録されていた場合(ステップS103においてYesの場合)、管理部は、障害情報通信部85、95、106、114(以下、単に障害情報通信部と呼ぶ。)に指示して、その障害情報を他の障害情報通信部に送信させる(ステップS104)。
If the failure information corresponding to the process is registered in the failure management information (Yes in step S103), the management unit will be referred to as failure
その後、管理部は、それぞれの障害管理情報にそのプロセスに対応する影響対象情報が登録されていたか否かを判定する(ステップS105)。 After that, the management unit determines whether or not affected object information corresponding to the process is registered in each failure management information (step S105).
障害管理情報にそのプロセスに対応する影響対象情報が登録されていた場合(ステップS105においてYesの場合)、管理部は、その影響対象情報に登録されている影響対象を再起動する(ステップS106)。 If the affected object information corresponding to the process is registered in the fault management information (Yes in step S105), the management unit restarts the affected object registered in the affected object information (step S106). .
なお、管理部は、障害管理情報において、再起動される影響対象のプロセスに対応する障害情報が登録されている場合には、障害情報通信部に指示して、その障害情報を他の障害情報通信部に送信させ、そのプロセスに対応する影響対象情報が登録されていた場合には、その影響対象情報に登録されている影響対象を再起動する。 If fault information corresponding to the affected process to be restarted is registered in the fault management information, the management section instructs the fault information communication section to replace the fault information with other fault information. If the affected object information corresponding to the process is registered, the affected object registered in the affected object information is restarted.
さらに、管理部は、障害の発生が検出されたプロセスを再起動し(ステップS107)、この再起動処理を終了する。 Furthermore, the management unit restarts the process in which the occurrence of the failure has been detected (step S107), and terminates this restart processing.
また、ステップS103において、障害管理情報にそのプロセスに対応する障害情報が登録されていなかった場合(ステップS103においてNoの場合)、または、ステップS105において、障害管理情報にそのプロセスに対応する影響対象情報が登録されていなかった場合(ステップS105においてNoの場合)、管理部は、障害の発生が検出されたプロセスを再起動し(ステップS107)、この再起動処理を終了する。 Further, in step S103, if the failure information corresponding to the process is not registered in the failure management information (No in step S103), or in step S105, the affected object corresponding to the process in the failure management information If the information is not registered (No in step S105), the management unit restarts the process in which the occurrence of the failure is detected (step S107), and terminates this restart processing.
また、VM管理部74およびプロセス管理部86、96、107,115(以下、単に管理部と呼ぶ。)が障害情報を受信して行う再起動処理の処理手順は、図5で説明した処理手順と同様のものである。
Further, the procedure of restart processing performed by the
すなわち、図5に示すように、障害情報通信部73、85、95、106、114(以下、単に障害情報通信部と呼ぶ。)は、他の障害情報通信部により送信されたVMまたはプロセスの障害に関する障害情報を受信する(ステップS201)。
That is, as shown in FIG. 5, failure
そして、管理部は、障害情報通信部から障害情報を取得するとともに、それぞれの障害管理情報72a、84a、94a、105a、113a(以下、単に障害管理情報と呼ぶ。)を参照し、その障害情報に対応する障害情報と影響対象情報とを障害管理情報から取得する処理を行う(ステップS202)。
Then, the management unit acquires the failure information from the failure information communication unit, refers to each of the
そして、管理部は、それぞれの障害管理情報にそのVMまたはプロセスに対応する障害情報が登録されていたか否かを判定する(ステップS203)。 Then, the management unit determines whether or not failure information corresponding to the VM or process is registered in each failure management information (step S203).
障害管理情報にそのVMまたはプロセスに対応する障害情報が登録されていた場合(ステップS203においてYesの場合)、管理部は、障害情報通信部に指示して、その障害情報を他の障害情報通信部に送信させる(ステップS204)。 If failure information corresponding to the VM or process is registered in the failure management information (Yes in step S203), the management unit instructs the failure information communication unit to transmit the failure information to another failure information communication. department (step S204).
その後、管理部は、それぞれの障害管理情報にそのVMまたはプロセスに対応する影響対象情報が登録されていたか否かを判定する(ステップS205)。 After that, the management unit determines whether or not affected target information corresponding to the VM or process is registered in each failure management information (step S205).
障害管理情報にそのVMまたはプロセスに対応する影響対象情報が登録されていた場合(ステップS205においてYesの場合)、管理部は、その影響対象情報に登録されている影響対象を再起動し、この再起動処理を終了する。(ステップS206)。 If affected target information corresponding to the VM or process is registered in the failure management information (Yes in step S205), the management unit restarts the affected target registered in the affected target information, and restarts the affected target. Finish the reboot process. (Step S206).
なお、管理部は、障害管理情報において、再起動される影響対象のVMまたはプロセスに対応する障害情報が登録されている場合には、障害情報通信部に指示して、その障害情報を他の障害情報通信部に送信させ、そのVMまたはプロセスに対応する影響対象情報が登録されていた場合には、その影響対象情報に登録されている影響対象を再起動する。 If fault information corresponding to the affected VM or process to be restarted is registered in the fault management information, the management unit instructs the fault information communication unit to send the fault information to another machine. If it is transmitted to the failure information communication unit and affected target information corresponding to the VM or process is registered, the affected target registered in the affected target information is restarted.
また、ステップS203において、障害管理情報にそのVMまたはプロセスに対応する障害情報が登録されていなかった場合(ステップS203においてNoの場合)、または、ステップS205において、障害管理情報にそのVMまたはプロセスに対応する影響対象情報が登録されていなかった場合(ステップS205においてNoの場合)、そのままこの再起動処理は終了する。 Further, in step S203, if failure information corresponding to the VM or process is not registered in the failure management information (No in step S203), or in step S205, if the VM or process is registered in the failure management information If the corresponding affected target information is not registered (No in step S205), this restart processing ends.
このように、本実施の形態3では、論理的に区分された複数のグループの少なくとも1つがハイパバイザ上で動作する仮想マシンまたはコンテナであることとした。 As described above, in the third embodiment, at least one of a plurality of logically divided groups is a virtual machine or container operating on a hypervisor.
これにより、仮想マシンのプロセスとコンテナのプロセスとの間に依存関係がある場合でも、障害からの復旧を自律的に行うことができる。 As a result, even if there is a dependency relationship between the virtual machine process and the container process, recovery from a failure can be performed autonomously.
なお、実施の形態1~3で説明した障害管理情報において、影響対象情報として保持する情報は、システムを再起動するための「SYS_RESET」を除き、自グループの管理対象に限定することが望ましい。 In addition, in the failure management information described in the first to third embodiments, it is preferable that the information held as the affected object information is limited to the managed objects of the own group, except for "SYS_RESET" for restarting the system.
すなわち、他のグループのプロセス等に影響がある場合でも、その影響対象の情報は他のグループの障害管理情報で管理される。これは、ソフトウェアとしての結合度を疎に保つためである。 In other words, even if the processes of other groups are affected, the information of the affected objects is managed by the fault management information of the other groups. This is to maintain loose coupling as software.
また、障害管理情報に登録される情報は、計算機システムの起動時に、論理的に区分された各グループ間で通信を行って交換するようにしてもよい。 Further, the information registered in the failure management information may be exchanged by communication between logically divided groups when the computer system is started.
例えば、図1の計算機システムにおいて、第1のVM20に障害が発生した場合、以下のような障害情報の往復が発生する可能性がある。
For example, in the computer system of FIG. 1, when a failure occurs in the
(1)第1のVM20から第2のVM30に障害情報Aが送信される。
(2)障害情報Aに基づき、第2のVM40においてプロセスが再起動され、障害情報Bが第1のVM20に送信される。
(3)障害情報Bに基づき、第1のVM20においてプロセスが再起動され、障害情報Cが第2のVM30に送信される。
(1) Fault information A is transmitted from the
(2) Based on the failure information A, the process is restarted in the second VM 40 and the failure information B is sent to the
(3) Based on the failure information B, the process is restarted in the
障害管理情報に登録される情報が各グループ間であらかじめ交換されることにより、上記のように障害情報の往復が発生する影響対象をあらかじめ検出できる。そして、最初の障害発生時にその影響対象を再起動するとともに、図5のステップS204に示した障害情報の送信処理を省略することにより、上述した障害情報の往復を防止できる。 By exchanging the information registered in the failure management information among the groups in advance, it is possible to detect in advance the affected target for which the back and forth of the failure information occurs as described above. Then, when the first failure occurs, the affected object is restarted, and by omitting the failure information transmission process shown in step S204 of FIG.
また、図11に示した障害管理情報72aの影響対象情報には、計算機システム全体を再起動するため、「SYS_RESET」という情報が登録されていたが、図2、図3、図12~図14に示した各VMが管理する影響対象情報に「VM_RESET」という情報が登録されてもよい。
In addition, information "SYS_RESET" was registered in the affected object information of the
この「VM_RESET」は、VMが自らを再起動させるための情報である。例えば、VMは、ハイパバイザ10、70に再起動要求メッセージを送信することにより、自らを再起動させる。
This "VM_RESET" is information for the VM to restart itself. For example, a VM restarts itself by sending a restart request message to the
また、図8、図9、図15に示した各コンテナが管理する影響対象情報に「CONTAINER_RESET」という情報が登録されてもよい。 Further, information "CONTAINER_RESET" may be registered in the influence target information managed by each container shown in FIGS.
この「CONTAINER_RESET」は、コンテナが自らを再起動させるための情報である。例えば、コンテナは、コンテナ管理プロセス41a、41b、102に再起動要求メッセージを送信することにより、自らを再起動させる。
This "CONTAINER_RESET" is information for the container to restart itself. For example, a container restarts itself by sending a restart request message to the
または、各コンテナのプロセス管理部55、65、115が自発的に終了処理を行うことで、コンテナ管理プロセス41a、41b、102に各コンテナの障害を検出させ、コンテナ管理プロセス41a、41b、102に各コンテナを再起動させるようにしてもよい。
Alternatively, the
また、上記実施の形態1~3では、第1のグループから受信した障害情報が、第2のグループの障害管理情報の障害情報に対応する例として、それらの障害情報が一致する場合について説明したが、障害情報が対応する場合は必ずしもそれに限定されるものではない。 Further, in the first to third embodiments, as an example in which the failure information received from the first group corresponds to the failure information in the failure management information of the second group, the case where the failure information matches is described. However, it is not necessarily limited to that if the failure information corresponds.
例えば、障害情報として「TARGET:VM,VM:IVI」という障害情報を第2のグループが受信したものとする。この障害情報は、図10に示したIVI VM100に障害が発生したことを示す情報である。
For example, assume that the second group has received failure information "TARGET: VM, VM: IVI" as failure information. This failure information is information indicating that a failure has occurred in the
この場合、IVI VM100が再起動されることになるため、各グループの障害管理情報において、VMが「IVI」である障害情報は、すべて「TARGET:VM,VM:IVI」という障害情報に対応するものと判定される。
In this case, since the
例えば、図15に示した障害管理情報113aにおいて、上から4番目の「EXTERNAL_ERROR」のプロセス情報に対応する「TARGET:PROC,VM:IVI,CONTAINER:-,PROC:PROCESSS32」という障害情報は、「TARGET:VM,VM:IVI」という障害情報に対応するものとして、その後の処理が実行される。
For example, in the
その他、上記実施の形態は、何れも本開示を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本開示の技術的範囲が限定的に解釈されてはならない。すなわち、本開示はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施される。 In addition, the above-described embodiments are merely examples of specific implementations of the present disclosure, and the technical scope of the present disclosure should not be construed to be limited by these. That is, the disclosure may be embodied in various forms without departing from its spirit or key features.
本開示の技術は、計算機システムおよび再起動プログラムに利用できる。 The technology of the present disclosure can be used for computer systems and restart programs.
10 ハイパバイザ
20 第1のVM
21a~21n,31a~31m,40a~40l,51a~51n,61a~61m,81a~81n,91a~91m,101a~101l,111a~111k プロセス
22,32,42,52,62,82,92,103,112 プロセス監視部
23,33,43,53,63,72,84,94,105,113 障害情報記憶部
23a,33a,43a,53a,63a,72a,84a,94a,105a,113a 障害管理情報
24,34,44,54,64,73,85,95,106,114 障害情報通信部
25,35,45,55,65,86,96,107,115 プロセス管理部
30 第2のVM
41a,41b,102 コンテナ管理プロセス
71 VM監視部
74 VM管理部
10
21a-21n, 31a-31m, 40a-40l, 51a-51n, 61a-61m, 81a-81n, 91a-91m, 101a-101l, 111a-
41a, 41b, 102
Claims (11)
前記第1の障害の情報に対応する第2の外部障害情報と、前記第2のグループにおける前記第1の障害の影響対象の情報とを対応付けて登録した第2の障害管理情報を記憶する第2の障害情報記憶部と、
前記第1の障害を検出した場合に、前記第1の障害の情報を第1の障害情報通信部に送信させる第1のプロセス管理部と、
前記第1の障害の情報を第2の障害情報通信部が受信した場合に、前記第2の障害管理情報を参照し、前記第2の外部障害情報に対応する前記第1の障害の影響対象を再起動する第2のプロセス管理部と、
を備える計算機システム。 A first fault information storage unit for storing first fault management information including information on a first fault occurring in a first process group operating in a first group logically separated from a second group When,
storing second failure management information in which second external failure information corresponding to the information of the first failure and information affected by the first failure in the second group are registered in association with each other; a second failure information storage unit;
a first process management unit for transmitting information of the first failure to a first failure information communication unit when the first failure is detected;
When the second failure information communication unit receives the information of the first failure, the affected target of the first failure corresponding to the second external failure information by referring to the second failure management information. a second process manager that restarts the
A computer system comprising
前記第2の障害管理情報は、前記第2の障害の情報をさらに含み、
前記第2のプロセス管理部は、前記第2の障害を検出した場合に、前記第2の障害の情報を前記第2の障害情報通信部に送信させ、
前記第1のプロセス管理部は、前記第1の障害情報通信部が前記第2の障害の情報を受信した場合に、前記第1の障害管理情報を参照し、前記第1の外部障害情報に対応する前記第2の障害の影響対象を再起動する
請求項1または2に記載の計算機システム。 The first failure management information further includes first external failure information corresponding to a second failure that occurs in a second process group operating in the second group, and a target affected by the second failure. is registered in association with the information of
the second failure management information further includes information about the second failure;
The second process management unit causes the second failure information communication unit to transmit information on the second failure when the second failure is detected,
When the first failure information communication unit receives the second failure information, the first process management unit refers to the first failure management information and changes the information to the first external failure information. 3. The computer system according to claim 1, wherein the affected target of the corresponding second failure is restarted.
前記第1の障害の情報または前記第2のグループで動作する第2のプロセス群において発生する第2の障害の情報に対応する第3の外部障害情報と、前記第1の障害の情報または前記第2の障害の情報の影響対象の情報とを含む第3の障害管理情報を記憶する第3の障害情報記憶部と、
前記第1の障害の情報または前記第2の障害の情報のいずれかの障害情報を第3の障害情報通信部が受信した場合に、前記第3の障害管理情報を参照し、前記第3の外部障害情報に対応する前記第1の障害の影響対象または前記第2の障害の影響対象を再起動する第3のプロセス管理部と、
を備える請求項4に記載の計算機システム。 when the first group and the second group are the containers,
third external fault information corresponding to the first fault information or the second fault information occurring in the second process group operating in the second group; a third failure information storage unit that stores third failure management information including information about a second failure and information about an affected target;
When the third failure information communication unit receives failure information of either the first failure information or the second failure information, the third failure management information is referred to, and the third failure management information is referred to. a third process management unit that restarts the target affected by the first failure or the target affected by the second failure corresponding to the external failure information;
5. The computer system according to claim 4, comprising:
請求項5に記載の計算機システム。 A third process monitoring unit for monitoring heartbeats of the process managing the first group and the process managing the second group, wherein the third process monitoring unit monitors heartbeat monitoring results. Information is notified to the third process management unit, and the third process management unit detects a failure of the process managing the first group based on the notification from the third process monitoring unit or Detecting a failure of a process managing a group, referring to the third failure management information, and managing a target affected by the detected failure of the process managing the first group or the second group 6. The computer system according to claim 5, wherein the affected object of the failure of the process to be executed is restarted.
前記第1の障害の情報または前記第2のグループで動作する第2のプロセス群において発生する第2の障害の情報に対応する第3の外部障害情報と、前記第1の障害の情報または前記第2の障害の情報の影響対象の情報とを含む第3の障害管理情報を記憶する第3の障害情報記憶部と、
前記第1の障害の情報または前記第2の障害の情報のいずれかの障害情報を第3の障害情報通信部が受信した場合に、前記第3の障害管理情報を参照し、前記第3の外部障害情報に対応する前記第1の障害の影響対象または前記第2の障害の影響対象を再起動するVM管理部と、
を備える請求項7に記載の計算機システム。 When the first group and the second group are the virtual machines,
third external fault information corresponding to the first fault information or the second fault information occurring in the second process group operating in the second group; a third failure information storage unit that stores third failure management information including information about a second failure and information about an affected target;
When the third failure information communication unit receives failure information of either the first failure information or the second failure information, the third failure management information is referred to, and the third failure management information is referred to. a VM management unit that restarts the target affected by the first failure or the target affected by the second failure corresponding to the external failure information;
8. The computer system of claim 7, comprising:
請求項8に記載の計算機システム。 further comprising a VM monitoring unit that monitors the first group and the second group, wherein the VM monitoring unit notifies the VM management unit of information on monitoring results of the first group and the second group; and the VM management unit detects a failure in the first group or the second group based on the notification from the VM monitoring unit, refers to the third failure management information, and detects the detected failure. 9. The computer system according to claim 8, wherein the failure-affected objects of the first group or the failure-affected objects of the second group are restarted.
前記第1の障害の情報を受信した第2の障害情報通信部から前記第1の障害の情報を取得し、前記第1の障害の情報に対応する第2の外部障害情報と、前記第2のグループにおける前記第1の障害の影響対象の情報とを対応付けて登録した第2の障害管理情報を記憶する第2の障害情報記憶部から前記第2の障害管理情報を読み出して前記第1の障害の情報に対応する前記第2の外部障害情報を特定し、特定した前記第2の外部障害情報に対応する前記第1の障害の影響対象を再起動する手順と、
をコンピュータに実行させる再起動プログラム。 first fault management including information on said first fault when a first fault occurring in a first process group operating in a first group logically separated from a second group is detected; a procedure of reading the information of the first failure from the first failure information storage unit storing the information and transmitting the information to the first failure information communication unit;
Acquiring the information of the first failure from the second failure information communication unit that received the information of the first failure, obtaining the second external failure information corresponding to the information of the first failure, and the second failure information reading the second failure management information from a second failure information storage unit that stores the second failure management information registered in association with the information affected by the first failure in the group of a procedure of identifying the second external failure information corresponding to the failure information of and restarting the target affected by the first failure corresponding to the identified second external failure information;
A restart program that causes the computer to run
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021044991A JP2022144118A (en) | 2021-03-18 | 2021-03-18 | Computer system and restart program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021044991A JP2022144118A (en) | 2021-03-18 | 2021-03-18 | Computer system and restart program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022144118A true JP2022144118A (en) | 2022-10-03 |
Family
ID=83454822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021044991A Pending JP2022144118A (en) | 2021-03-18 | 2021-03-18 | Computer system and restart program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022144118A (en) |
-
2021
- 2021-03-18 JP JP2021044991A patent/JP2022144118A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10055296B2 (en) | System and method for selective BIOS restoration | |
US7802128B2 (en) | Method to avoid continuous application failovers in a cluster | |
CN103201724B (en) | Providing application high availability in highly-available virtual machine environments | |
JP5579650B2 (en) | Apparatus and method for executing monitored process | |
JP5548647B2 (en) | Partial failure handling method in computer system | |
US20150033072A1 (en) | Monitoring hierarchical container-based software systems | |
US20150220411A1 (en) | System and method for operating system agnostic hardware validation | |
WO2020239060A1 (en) | Error recovery method and apparatus | |
US20120304184A1 (en) | Multi-core processor system, computer product, and control method | |
JP5425720B2 (en) | Virtualization environment monitoring apparatus and monitoring method and program thereof | |
US10102088B2 (en) | Cluster system, server device, cluster system management method, and computer-readable recording medium | |
US20230244579A1 (en) | Event-driven system failover and failback | |
CN115113905A (en) | Firmware upgrading method and firmware upgrading device | |
JP2016200981A (en) | Operation management program, operation management method and operation management device | |
US10838815B2 (en) | Fault tolerant and diagnostic boot | |
JP2012080181A (en) | Method and program for fault information management | |
US10970098B2 (en) | Methods for sharing input-output device for process automation on a computing machine and devices thereof | |
JP2022144118A (en) | Computer system and restart program | |
US9645857B2 (en) | Resource fault management for partitions | |
US10089200B2 (en) | Computer apparatus and computer mechanism | |
JP4633553B2 (en) | Debug system, debugging method and program | |
JPH08329006A (en) | Fault information system | |
JP2002351855A (en) | Computer abnormality handling system, computer abnormality handling method, computer abnormality handling program running on computer and computer abnormality handling program stored in machine readable storage medium | |
JP6944799B2 (en) | Information processing device | |
JP2007128285A (en) | Multinode computer system, integrated service processor, status management method and program |