JP5170000B2 - 冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体 - Google Patents

冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体 Download PDF

Info

Publication number
JP5170000B2
JP5170000B2 JP2009135140A JP2009135140A JP5170000B2 JP 5170000 B2 JP5170000 B2 JP 5170000B2 JP 2009135140 A JP2009135140 A JP 2009135140A JP 2009135140 A JP2009135140 A JP 2009135140A JP 5170000 B2 JP5170000 B2 JP 5170000B2
Authority
JP
Japan
Prior art keywords
network
nic
network adapters
adapters
network adapter
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.)
Expired - Fee Related
Application number
JP2009135140A
Other languages
English (en)
Other versions
JP2010283586A (ja
Inventor
一博 宮下
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009135140A priority Critical patent/JP5170000B2/ja
Priority to US12/793,116 priority patent/US20100312866A1/en
Publication of JP2010283586A publication Critical patent/JP2010283586A/ja
Application granted granted Critical
Publication of JP5170000B2 publication Critical patent/JP5170000B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、冗長化が可能なネットワークアダプタを検出する冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体に関する。
企業内の業務システムにおいては、通信面での信頼性を確保するために、サーバが接続されるネットワークが冗長化される。ネットワークの冗長化のために、サーバが備えるNIC(Network Interface Card)のようなネットワークアダプタや、ハブのようなネットワークスイッチ等も冗長化される。例えば、サーバは、二重化された一方のNICに障害が発生した場合において、二重化された他方のNICを用いる。これにより、サーバは、通信を続行することができる。
なお、二重化装置における通信部接続ミス救済方式において、装置とインタフェースを二重化した構成でケーブルの接続ミスが発生した場合に、自動的に接続の設定を入れ替えて再接続を行う二重化装置における通信部接続ミス救済方式が提案されている。
また、多重化したネットワーク接続装置システムにおいて、二重化したネットワーク接続装置を正常稼動時は負荷分散して性能向上に利用し、障害時にはホスト計算機のソフトウェア介入なしに可用性を維持する多重化したネットワーク接続装置システムが提案されている。
特開2006−279404号公報 特開2000−244526号公報 特開平11−205356号公報
例えば、NICを二重化しようとする場合、作業員が、二重化可能なNICの組合せを見出して、NICの二重化の設定を行う。しかし、二重化されたNICが、本来二重化できないNICである場合には、これが通信障害等の要因となる。
本発明は、冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出方法を提供することを目的とする。
開示される冗長化ペア検出方法は、ネットワークに接続される通信装置に設けられる複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する。複数のネットワークアダプタの各々のMACアドレスを取得する。複数のネットワークアダプタに含まれる第1のネットワークアダプタを送信元とし、複数のネットワークアダプタであって第1のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、第1のネットワークアダプタ、及び、第1のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得したMACアドレスを用い、レイヤ2レベルで、プローブパケットを送信する。第1のネットワークアダプタ以外のネットワークアダプタの中から、プローブパケットを受信したネットワークアダプタである1又は複数の第2のネットワークアダプタを抽出する。第1のネットワークアダプタと第2のネットワークアダプタとを、冗長化可能なネットワークアダプタの組合せとして検出する。
開示される冗長化ペア検出方法によれば、冗長化可能なネットワークアダプタの組合せを検出することができるので、作業員の作業に起因してネットワークアダプタの組合せの誤りが発生することを防止することができ、結果として、コンピュータネットワークにおける通信障害等の発生を防止することができる。
NICペア検出システムの構成を示す図である。 サーバの構成の一例を示す図である。 NICペア検出部の説明図である。 ペア配列の一例を示す図である。 プローブパケット及びスクリプトの説明図である。 NICとスイッチの構成の一例を示す図である。 マスタNIC配列の生成処理フローを示す図である。 ペア検出処理フローを示す図である。
本発明者の検討によれば、例えば、NICを二重化する場合、作業者が、サーバが備える複数のNICの中から、二重化可能なNICを検出する必要がある。二重化可能なNICとは、例えば、双方のNICの種類、通信プロトコル、通信速度等が全て一致しているNICである。しかし、作業者が、多数のNICの中から、各々のNICの仕様を目視しながら、二重化可能なNICを検出することは容易ではない。このため、検出の誤りに起因して、通信障害が発生する可能性がある。
そこで、例えば、二重化可能なNICを検出するために、NICを備えるサーバ(自サーバ)が、他のサーバ(通信相手のサーバ)との間で、パケットの送受信及び解析を繰り返すことが考えられる。これにより、自サーバと他のサーバとの間における接続の状態を
確認して、この確認結果に基づいて、自サーバにおいて、二重化可能なNICを検出することができる。
しかし、このような他のサーバとの通信に基づいて二重化可能なNICを検出する方法は、レイヤ3レベル以上の通信であるため、他のサーバのIPアドレスの設定が必要となる。このため、作業者は、自サーバ及び他のサーバの双方について、IPアドレスを予め入手して設定する必要がある。これは、ネットワークの二重化の後、ユーザに、当該IPアドレスの使用を強制することになるか、又は、当該IPアドレスの変更を強制することになる。従って、ユーザの負担が大きい。
以下に開示のNICペア検出方法によれば、冗長化可能なネットワークアダプタの組合せを検出することができる。
図1は、コンピュータネットワークシステムの構成を示す図である。
コンピュータネットワークシステムは、サーバ1と、サーバ2と、ネットワーク3とを備える。サーバ1及びサーバ2は、互いに他方と通信を行う通信装置又はコンピュータである。従って、例えば、サーバ2は、サーバ1が通信を行う通信相手である。ネットワーク3は、サーバ1とサーバ2との間を接続する。
ネットワーク3は、複数のネットワークスイッチ(SW)31を備える。SW31は、ネットワーク3の一部である。図1のコンピュータネットワークシステムにおいては、複数のSW31は、後述するように、レイヤ2レベルで通信可能なように、相互に接続される。
サーバ1は、サーバ処理部11、複数のNIC(Network Interface Card)12を備える。サーバ処理部11は、サーバ1が実行すべき種々の処理を実行する。換言すれば、サーバ処理部11は、サーバ1が備えるNIC12以外の種々の機能を実現するための種々の処理を実行する。NIC12は、サーバ1が備えるネットワークアダプタである。NICはイーサネット(登録商標)をサポートしていれば、どのようなNICでも良い。
サーバ処理部11は、複数のNIC12に接続される。NIC12は、SW31に対応する。NIC12は、各々、対応するSW31に接続される。サーバ処理部11は、NIC12及びSW31を介してパケットを送受信する。
図1のコンピュータネットワークシステムにおいて、ネットワーク3は、2個のSW31により二重化されている。このために、サーバ1は2個のNICを備える。サーバ2も同様である。これにより、サーバ1とサーバ2とは、二重化されて接続される。以下の説明においては、冗長化の一例として、二重化について説明する。
なお、複数のNIC12を区別する場合には、NIC#1、NIC#2等のように表すこととする。NIC22、SW31についても、同様である。
サーバ2は、例えば、サーバ1と同様の構成を備える。以下の説明においては、サーバ1において二重化可能なNIC12の組合せが検出されるが、サーバ2においても、同様である。
サーバ2は、サーバ1の通信相手ではある。しかし、サーバ1は、サーバ1における二重化可能なNIC12の組合せの検出において、後述するように、サーバ2との間で通信を行わない。従って、二重化可能なNIC12の組合せの検出において、サーバ1は、サーバ2を意識することは無く、SW31を意識するのみである。従って、図1において、サーバ1とサーバ2とを接続するネットワーク3を、サーバ1に接続されたSW31により代表させている。
図2は、図1のコンピュータネットワークシステムにおけるサーバの構成の一例を示す図である。
サーバ1は、OS(オペレーティングシステム)13、アプリ(アプリケーション)14、NICペア検出部15、二重化設定スクリプト16、設定部17、メモリ18及びメモリ19を備える。換言すれば、これらが図1のサーバ処理部11を構成する。メモリ18はNICペア検出部15が使用する記憶領域である。メモリ19は設定部17が使用する記憶領域である。
OS13は、サーバ1が備えるハードウェア資源及びソフトウェア資源を管理及び制御し、サーバ1のタスクを処理する。OS13は、OS13が使用するメモリ又は記憶領域に、予め用意されたマスタNIC配列131を備える。マスタNIC配列131については、後述する。
アプリケーション(図2ではアプリと表記)14は、ユーザの使用するアプリケーションプログラムである。アプリケーション14は、コンピュータネットワークシステム又はサーバ1が運用開始された後に、OS13、NIC12及びネットワーク3を介して、サーバ2上のアプリケーションとの間で通信を行う。
NICペア検出部15は、サーバ1に備えられた複数のNIC12の中から、二重化可能なNIC12のペアを検出する。二重化可能なNICとは、例えば、NICの種類、通信プロトコル、通信速度等が全て一致しているNICである。この検出処理は、コンピュータネットワークシステムが運用開始される前に、又は、コンピュータネットワークシステムへのサーバ1の導入の前に、前処理として実行される。
NICペア検出部15は、検出処理の結果として、メモリ18に重複排除ペア配列183を得る。重複排除ペア配列183は、検出した二重化可能なNIC12のペアを格納する。重複排除ペア配列183は、配列以外の形式、例えばテーブル形式又はリスト形式であっても良い。これは、以下のマスタNIC配列181及びペア配列182についても同じである。また、NICペア検出部15は、重複排除ペア配列183を得る過程で、メモリ18にマスタNIC配列181及びペア配列182を作成する。マスタNIC配列181、ペア配列182及び重複排除ペア配列183については、後述する。
なお、NIC12の「ペア」は、実際には、2個のNIC12の組合せ以外、例えば3個のNIC12の組合せも含むようにしても良い。従って、NICペア検出部15は、サーバ1に備えられたNIC12の冗長化されたNIC12の「組合せ」即ち「セット」を検出するようにしても良い。
NICペア検出部15は、検出処理の終了の後、二重化設定スクリプト16を呼出し(又は起動し、以下同じ)、二重化可能なNIC12の組合せを、呼出した二重化設定スクリプト16に通知する。二重化設定スクリプト16は、簡易な処理を記述したプログラムであり、又は、当該処理を実行する処理部である。換言すれば、二重化設定スクリプト16は、複数のNIC12の二重化(従って、冗長化)の設定を行う。二重化設定スクリプト16は、例えばシェルスクリプトである。なお、NICペア検出部15が、重複排除ペア配列183又はその格納位置を、二重化設定スクリプト16に通知するようにしても良い。
二重化設定スクリプト16は、NICペア検出部15から呼出されると、NICペア検出部15から所定のパラメータを受信する。二重化設定スクリプト16は、受信したパラメータに基づいて、予め設定された処理を実行する。即ち、二重化設定スクリプト16は、受信したパラメータが設定部17に正しく対応しているパラメータである場合には、設定部17を呼出す。一方、二重化設定スクリプト16は、受信したパラメータが設定部17に正しく対応していないパラメータである場合には、設定部17を呼出さず、OS13にエラー通知を行う。
二重化設定スクリプト16は、設定部17を呼出し(又は起動し、以下同じ)、二重化可能なNIC12の組合せを、呼出した設定部17に通知する。設定部17は、NIC12を二重化設定するためのプログラム、又は、当該処理を実行する処理部である。換言すれば、設定部17は、複数のNIC12の二重化(従って、冗長化)の設定を行う。なお、二重化設定スクリプト16が、重複排除ペア配列183又はその格納位置を、設定部17に通知するようにしても良い。
設定部17は、二重化設定スクリプト16から呼出されると、二重化設定スクリプト16から所定のパラメータを受信する。設定部17は、受信したパラメータに基づいて、メモリ18上の重複排除ペア配列183をメモリ19上へコピーすることにより、重複排除ペア配列193を作成する。設定部17は、重複排除ペア配列193に基づいて、NIC12の二重化設定を実行する。なお、例えば、二重化されたNIC12については、設定部17からOS13に通知され、サーバ1の運用開始後において、サーバ2との通信時に使用される。
以上のように、第1の設定部である二重化設定スクリプト16は、実際には、第2の設定部である設定部17にパラメータを渡すのみであり、NIC12の二重化の設定は行わない。NICペア検出部15と設定部17との間に二重化設定スクリプト16を設けることにより、NICペア検出部15は、単に、二重化設定スクリプト16にパラメータを渡すのみで良く、設定部17の構成を意識する必要が無い。
図3は、図2のサーバにおけるNICペア検出部の説明図である。図4は、ペア配列の一例を示す図である。図5は、プローブパケット及びスクリプトの説明図である。
NICペア検出部15は、問合せ部151、検出部152、呼出部153を備える。サーバ1のNIC12の二重化設定を実行する作業者が、サーバ1の電源を立ち上げると、サーバ1がブート呼出されてOS13が呼出され、ログインメッセージがモニタ画面(図示省略)に表示される。作業者はサーバ1にログインし、OS13からNICペア検出部15を呼出す。
OS13から呼出されたNICペア検出部15において、問合せ部151は、複数のNIC12の各々のMACアドレスを、OS13から取得する取得部である。例えば、問合せ部151は、OS13を介して、マスタNIC配列131をメモリ18上にコピーすることにより、マスタNIC配列181を作成する。マスタNIC配列181は、NIC12のMACアドレスを格納する。NIC12のMACアドレスが、後述するプローブパケット4の送信対象及び受信対象として用いられる。問合せ部151は、マスタNIC配列181の作成完了を検出部152へ通知する。
ここで、NIC12は、各々、一意に定まる物理アドレスとして、MAC(Media Access Control address)アドレスを有する。例えば、1個のNIC12には、MACアドレスとして、固有の48ビット長のID(識別番号)が割当てられる。従って、NIC#1、NIC#2等について、MACアドレスは一意に定まる。
一方、SW31は、レイヤ2(データリンク層)の通信手順(通信プロトコル)で、パケット4を転送するネットワークスイッチである。SW31は、例えばブリッジである。レイヤ2は、OSI(Open Systems Interconnection)参照モデルの第2層に位置し、ネットワーク3上で直結(物理的に接続)されている機器同士のパケット転送の通信手順を定めたレイヤである。レイヤ2は、第1層である物理的な接続が規定されたレイヤ1(物理層)の上位の階層であり、また、ネットワーク3における通信経路をルーティングするレイヤ3(ネットワーク層)の下位の階層である。なお、レイヤ3は、例えばルータのようなIPアドレスのルーティングテーブルを備える通信機器同士のパケット4の転送を行う通信手順のレイヤである。
また、図1に示すように、SW#1とSW#2とは、各々、サーバ1のNIC#1とNIC#2とにレイヤ2レベルの通信手順で通信可能に接続される。SW#1とSW#2との間も、同様である。従って、NIC#1とSW#1との間には、ルータ等のレイヤ3以上の通信手順を必要とする通信装置は存在しない。一方、NIC#1とSW#1との間には、レイヤ2の通信手順を必要とする通信装置は存在しても良い。SW#1とSW#2との間も同様である。
図4(A)は、マスタNIC配列181の一例を示す。なお、前述したように、マスタNIC配列131をコピーしたものがマスタNIC配列181であるので、マスタNIC配列131の説明は省略する。
マスタNIC配列181は、NIC12のNIC名毎に、MACアドレスを格納する。例えば、“NIC#1”は、NIC#1のNIC名である。MACアドレスは、NIC12毎に、一意に定まる物理アドレスである。例えば、“mac#1”がMACアドレスである。MACアドレスは、例えば、12桁の16進数で構成された、固有の48ビット長の識別番号である。従って、マスタNIC配列181は、例えば、NIC名“NIC#1”のMACアドレスが“mac#1”であることを示す。
検出部152は、問合せ部151からマスタNIC配列181の作成完了の通知を受けると、マスタNIC配列181を参照して1個のNIC12を選択する。検出部152は、選択した1個のNIC12を、プローブパケット4を送信するNIC12(第1のNIC12)として決定する。検出部152は、第1のNIC12から、他のNIC12に対して、プローブパケット4を送信する。他のNIC12は、マスタNIC配列181に格納されたNIC12の中で、第1のNIC12以外のNIC12の各々である。検出部152は、サーバ1に備えられたNIC12即ちマスタNIC配列181に格納されたNIC12の全てについて、以上の処理を実行する。
換言すれば、検出部152は、複数のNIC12に含まれる第1のNIC12を送信元とし、複数のNIC12であって第1のNIC12以外のNIC12の各々を送信先として、プローブパケット4を送信する。この時、第1のNIC12、及び、第1のNIC12以外のNIC12の各々のアドレスとして、マスタNIC配列181に格納されたMACアドレスが用いられる。
図5(A)は、プローブパケット4の一例を示す図である。
プローブパケット4は、二重化可能なNIC12を検出するための試験用パケットである。プローブパケット4は、DstMAC、SrcMAC、SAPを含む。DstMACは、送信先である他のNIC12のMACアドレスである。SrcMACは、送信元である第1のNIC12のMACアドレスである。SAPは、当該通信において用いられているプロトコルの識別番号である。プロトコルの識別番号は一意に定まる。
プローブパケット4は、検出部152により作成される。即ち、検出部152は、プローブパケット4において、マスタNIC配列181に格納された、第1のNIC12以外のNIC12の各々のアドレスを、DstMACとして格納する。従って、プローブパケット4は、第1のNIC12以外のNIC12の数だけ作成され、送信される。また、検出部152は、プローブパケット4において、マスタNIC配列181に格納された、第1のNIC12のアドレスを、SrcMACとして格納する。更に、検出部152は、プローブパケット4において、第1のNIC12が使用するプロトコルの識別番号を、SAPとして格納する。
以上のように、送受信においてMACアドレスが用いられているので、プローブパケット4は、レイヤ2レベルで送受信される。また、前述したように、SW31は、レイヤ2レベルで通信可能に接続されている。従って、第1のNIC12以外のNIC12の中に、その種類、通信プロトコル、通信速度等が全て一致しているNIC12(第2のNIC12)が存在すれば、当該第2のNIC12は、第1のNIC12からのプローブパケット4を受信することができる。また、第2のNIC12以外のNIC12は、第1のNIC12からのプローブパケット4を受信することができない。以上から、第2のNIC12が第1のNIC12からのプローブパケット4を受信した場合、第1のNIC12及び第2のNIC12を、二重化可能なNIC12の組合せとして検出することができる。
なお、検出部152は、プローブパケット4の送信をNIC12に依頼する。送信を依頼されたNIC12は、プローブパケット4を送信する。一方、プローブパケット4を受信したNIC12は、受信したプローブパケット4を検出部152に送信する。これにより、検出部152は、プローブパケット4を受信したNIC12が存在するか否かを知ることができる。
次に、検出部152は、第1のNIC12以外のNIC12の中から、送信されたプローブパケット4を受信したNIC12が存在するか否かを判断する。プローブパケット4を受信したNIC12が存在する場合、検出部152は、第1のNIC12以外のNIC12の中から、プローブパケット4を受信したNIC12である第2のNIC12を抽出する。第2のNIC12は、1又は複数、抽出される。検出部152は、第1のNIC12と、抽出した第2のNIC12とを、二重化可能なNIC12の組合せとして検出する。二重化可能なNIC12の組合せは、ペア配列182として得られる。
即ち、検出部152は、送信されたプローブパケット4を受信したNIC12が存在する場合には、ペア配列182を作成する。具体的には、検出部152は、第1のNIC12のNIC名及びMACアドレスと、プローブパケット4を受信したNIC12のNIC名及びMACアドレスとを、ペア配列182に格納する。
図4(B)は、ペア配列182の一例を示す。
ペア配列182は、第1のNIC12のNIC名及び第2のNIC12のNIC名の組合せ(ペア)毎に、NIC名の各々に対応するMACアドレスを格納する。例えば、NIC名の組合せ“NIC#1、NIC#2”において、最初が第1のNIC12のNIC名であり、次が第2のNIC12のNIC名である。また、MACアドレス“mac#1、mac#2” において、最初が第1のNIC12のMACアドレスであり、次が第2のNIC12のMACアドレスである。
従って、ペア配列182の第1行は、例えば、NIC名がNIC#1でMACアドレスがmac#1の第1のNIC12(送信元)が、NIC名がNIC#2でMACアドレスがmac#2の第2のNIC12(送信先)と、二重化が可能であることを示す。ペア配列182の第2行は、例えば、NIC名がNIC#2でMACアドレスがmac#2の第1のNIC12(送信元)が、NIC名がNIC#1でMACアドレスがmac#1の第2のNIC12(送信先)と、二重化が可能であることを示す。即ち、ペア配列182には、二重化が可能であるNIC12の組合せが、重複して存在する。
そこで、検出部152は、抽出した二重化可能なNIC12の組合せの中から、当該組合せに含まれる第1のNIC12及び第2のNIC12の全てが重複する組合せ(以下、重複する組合せ)を抽出し、重複する組合せの中の1個の組合せのみを残し、他の組合せを廃棄する。
具体的には、検出部152は、ペア配列182の中から、重複する組合せを排除した重複排除ペア配列183を作成する。即ち、検出部152は、ペア配列182に格納されたNIC12の組合せが重複する組合せでない場合、当該NIC12の組合せを重複排除ペア配列183へ格納する。また、検出部152は、ペア配列182に格納されたNIC12の組合せが重複した組合せである場合、その中の1個の組合せのみを重複排除ペア配列183へ格納する。検出部152は、重複排除ペア配列183の作成が完了すると、これを呼出部153へ通知する。
図4(C)は、重複排除ペア配列183の一例を示す。
重複排除ペア配列183は、ペア配列182の中の組合せの中から重複した組合せを排除したテーブルである。重複排除ペア配列183は、ペア配列182と同様に、第1のNIC12のNIC名及び第2のNIC12のNIC名の組合せ(ペア)毎に、NIC名の各々に対応するMACアドレスを格納する。
一方、重複排除ペア配列183は、図4(B)のペア配列182との比較から判るように、ペア配列182における重複する組合せが排除されている。即ち、図4(B)のペア配列182の第2行が廃棄され、第1行のみとされている。これにより、重複排除ペア配列183は、NIC名がNIC#1でMACアドレスがmac#1のNIC12が、NIC名がNIC#2でMACアドレスがmac#2のNIC12と、二重化が可能であることを示し、かつ、いずれが送信元又は送信先であっても良いことを示す。
呼出部153は、検出部152から重複排除ペア配列183の作成完了の通知を受けると、重複排除ペア配列183から、予め定められたデータを読み出す。呼出部153は、読み出したデータを用いて、スクリプト呼出し形式153Aにより、二重化設定スクリプト16を呼出す。スクリプト呼出し形式153Aは、呼出部153の一部であり、実際に二重化設定スクリプト16を呼出す処理を実行する。
図5(B)は、スクリプト呼び出し形式153Aの一例を示す図である。スクリプト呼び出し形式153Aは、NIC12を二重化する二重化設定スクリプト16を呼出す処理を実行する。
呼出部153は、重複排除ペア配列183を参照して、例えば、NIC#1及びNIC#2が、二重化可能な、従って、二重化すべき組合せであることを知る。そこで、これに基づいて、呼出部153は、スクリプト呼び出し形式153Aを生成する。スクリプト呼び出し形式153Aにおいて、“userscript.sh”は、二重化設定スクリプト16を呼び出す関数名である。“NIC#1、NIC#2”は、二重化可能なNIC12の組合せを示す引数である。呼出部153がスクリプト呼び出し形式153Aを実行することにより、二重化設定スクリプト16が呼出され、二重化可能なNIC12の組合せ“NIC#1、NIC#2”が呼出された二重化設定スクリプト16に渡される。
図5(C)は、スクリプト呼び出し形式153Bの一例を示す図である。スクリプト呼び出し形式153Bは、スクリプト呼び出し形式153Aとは異なり、NIC12をn重化するn重化設定スクリプト(nは3以上の整数)を呼出す処理を実行する。
スクリプト呼び出し形式15Bにおいて、“userscript.sh”は、n重化設定スクリプトを呼び出す関数名である。 “NIC#1、NIC#2・・・NIC#n”は、n重化可能なNIC12の組合せを示す引数である。呼出部153がスクリプト呼び出し形式153Bを実行することにより、n重化設定スクリプトが呼出され、n重化可能なNIC12の組合せ“NIC#1、NIC#2・・・NIC#n”が呼出されたn重化設定スクリプトに渡される。
なお、図5(B)との比較から判るように、スクリプト呼び出し形式153A及び153Bにおいて、関数名は同一である。従って、実際には、二重化設定スクリプト16とn重化設定スクリプトとは、同一の呼出し関数で呼出されるが、処理できる引数が相違する。
呼出部153から呼出された二重化設定スクリプト16は、呼出部153から渡された引数を用いて、設定部17を呼出す。
図5(D)は、二重化設定スクリプト16の一例を示す。図5(D)の二重化設定スクリプト16は、図5(B)に示すスクリプト呼出し形式153Aにより呼出される、二重化設定スクリプト16である。
例えば、呼出される設定部17が、NIC12を二重化する処理を実行し、NIC12を三重化(即ち、n重化)する処理は実行しないとする。換言すれば、設定部17が二重化設定部であるとする。この場合、二重化設定スクリプト16のみが設けられ、n重化設定スクリプトは設けられない。一方、二重化可能なNIC12の組合せ以外に、三重化可能なNIC12の組合せが検出される場合がある。
この場合、二重化可能なNIC12の組合せについては、図5(B)のスクリプト呼び出し形式153Aにより、二重化設定スクリプト16が呼出され、2個の引数が渡される。一方、三重化可能なNIC12の組合せについては、図5(C)のスクリプト呼び出し形式153Bにおける同一の呼び出し関数により、二重化設定スクリプト16が呼出され、3個の引数が渡される。
しかし、二重化設定スクリプト16及び設定部17はNIC12を三重化しないので、3個の引数を渡されても処理できない。即ち、NIC12を三重化することができない。そこで、二重化設定スクリプト16から、エラーを出力する処理が必要である。
このため、二重化設定スクリプト16は、エラー処理を実行する部分#3を備える。なお、部分#2は、二重化を実行する設定部17の呼出し処理を実行する部分である。また、hanetconfigコマンドは、設定部17を呼出すコマンドの一例である。
以上のように、図1のコンピュータネットワークシステムにおいては、二重化可能なNIC12の組合せを検出することができる。このため、作業員が、NIC12の接続状況を検索する必要は無い。従って、例えば、サーバを大量に導入した際の人的コストの削減を図ることができる。また、呼出部153から二重化設定スクリプト16を呼出し、二重化設定スクリプト16から設定部17を呼出すことにより、二重化可能なNIC12の組合せの検出とその二重化を自動的に実行することができ、作業員によるNIC12の二重化の際の手順ミスを無くすことができる。
図6(A)〜図6(C)は、NIC12の冗長化の例を示す図である。
図6(A)において、サーバ1が備える複数のNIC#1〜#iの中で、NIC#1及びNIC#2のみが二重化され、他のNIC#3〜NIC#iは二重化されない。これは、NIC#1及びNIC#2に対応するSW#1とSW#2の間のみがレイヤ2レベルで接続され、かつ、他のSW#3〜SW#iの間がレイヤ2レベルで接続されていないことに対応する。NIC#1及びNIC#2は、図5(B)に示すスクリプト呼出し形式153Aにより処理される例である。
図6(B)において、サーバ1が備える複数のNIC#1〜#5の中で、NIC#1及びNIC#2が二重化され、NIC#3〜NIC#5が三重化される。これは、NIC#1及びNIC#2に対応するSW#1とSW#2との間がレイヤ2レベルで接続され、NIC#3〜NIC#5に対応するSW#3〜SW#5の間がレイヤ2レベルで接続されることに対応する。SW#2とSW#3との間は、レイヤ2レベルで接続されていない。
NIC#1及びNIC#2は、図5(B)に示すスクリプト呼出し形式153Aにより処理され、NIC#3〜NIC#5は、図5(C)に示すスクリプト呼出し形式153Bにより処理される。従って、この場合、例えば、NIC12を二重化する二重化設定スクリプト16及び設定部17と、NIC12を三重化する三重化設定スクリプト及び設定部の双方が設けられる。
図6(C)において、サーバ1が備える複数のNIC#1〜#iがi重化される。これは、NIC#1〜NIC#iに対応して、1個のSW32が設けられることに対応する。1個のSW32の内部では、NIC#1〜NIC#iに対応する接続ポートが全てレイヤ2レベルで接続されるので、1個のSW32は、NIC#1〜#iに対応するSW#1〜#iが全てレイヤ2レベルで接続されることに等しい。この場合、NIC12を二重化する二重化設定スクリプト16及び設定部17、又は、NIC12を三重化する三重化設定スクリプト及び設定部が設けられる。
図7は、マスタNIC配列の生成処理フローを示す図である。
OS13が、NICペア検出部15を起動すると、NICペア検出部15の問合せ部151は、OS13に「NIC名とMACアドレスの組」の一覧(即ち、マスタNIC配列131)を問い合わせ、OS13からマスタNIC配列131を取得する(ステップS1)。
問合せ部151は、取得したマスタNIC配列131を、メモリ18上へ格納する(ステップS2)。これにより、マスタNIC配列181がメモリ18上に作成される。この後、問合せ部151は、例えばマスタNIC配列181を作成したことを、NICペア検出部15の検出部152へ通知する。
図8は、ペア検出処理フローを示す図である。
問合せ部151は、図7を参照して前述したように、マスタNIC配列181を作成して、これをNICペア検出部15の検出部152に通知する(ステップS11)。
この通知を受信した検出部152は、第1の変数であるNIC冗長化数nに「1」を設定する(ステップS12)。これにより、NIC冗長化数nが初期化される。次に、検出部152は、第2の変数maxに「マスタNIC配列181の要素数」を設定する(ステップS13)。ここで、要素数とは、マスタNIC配列181に格納されているNIC12の数である。
この後、検出部152は、NIC冗長化数nがmax以下か否かを判断する(ステップS14)。
NIC冗長化数nがmax以下である場合には(ステップS14 Yes)、検出部152は、SW31を介して、マスタNIC配列のn番目以外のNIC12宛にプローブパケット4を送信した後(ステップS15)、ユーザにより指定された時間が経過するのを待つ(ステップS16)。
ユーザにより指定された時間が経過した後、検出部152は、マスタNIC配列181のn番目以外のNIC12であって、ステップS15において送信されたプローブパケット4を受信することができたNIC12が存在するか否かを判断する(ステップS17)。
プローブパケット4を受信したNIC12が存在すると判断した場合(ステップS17 Yes)、検出部152は、ペア配列182を作成又は更新する(ステップS18)。一方、検出部152は、プローブパケット4を受信したNIC12が存在しないと判断した場合には(ステップS17 No)、ステップS18の実行を省略する。
次に、検出部152は、現在のNIC冗長化数nに+1を加算して、新たなNIC冗長化数n=n+1を得て(ステップS19)、ステップS14を繰り返す。
ステップS14において、NIC冗長化数nがmaxより大きい場合には(ステップS14 No)、検出部152は、ペア配列182の中において、要素が重複しているペアを1つに統一する(ステップS110)。これにより、検出部152は、ペア配列182に基づいて、重複排除ペア配列183を作成する。この後、検出部152は、例えば重複排除ペア配列183を作成したことを、NICペア検出部15の呼出部153へ通知する。
この通知を受信した呼出部153は、二重化設定スクリプト16を呼び出す(ステップS111)。この後、呼出部153は、呼び出した二重化設定スクリプト16に、重複排除ペア配列183に格納されたペアのNIC名及びMACアドレスを送信して、処理を終了する。
以上説明したように、二重化設定スクリプト16は、NICペア検出部15からペアのNIC名及びMACアドレスを受信すると、設定部17を呼び出して、ペアのNIC12を冗長化することができる。これにより、冗長化するNIC12のペア検出と、NIC12の冗長化の手順を自動化することができる。
1、2 サーバ
3 ネットワーク
11、21 サーバ処理部
12、22 NIC(Network Interface Card)
13 OS(オペレーティングシステム)
14 アプリ
15 NICペア検出部
16 二重化設定スクリプト
17 設定部
18、19 メモリ
131、181 マスタNIC配列
151 問合せ部
152 検出部
153 呼出部
182、 ペア配列
183、193 重複排除ペア配列

Claims (7)

  1. ネットワークに接続される通信装置に設けられる複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出方法であって、
    前記複数のネットワークアダプタの各々のMACアドレスを取得する取得ステップと、
    前記複数のネットワークアダプタに含まれる第1のネットワークアダプタを送信元とし、前記複数のネットワークアダプタであって前記第1のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、前記第1のネットワークアダプタ、及び、前記第1のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得した前記MACアドレスを用い、レイヤ2レベルで、プローブパケットを送信する送信ステップと、
    前記第1のネットワークアダプタ以外のネットワークアダプタの中から、前記プローブパケットを受信したネットワークアダプタである1又は複数の第2のネットワークアダプタを抽出する抽出ステップと、
    前記第1のネットワークアダプタと前記第2のネットワークアダプタとを、前記冗長化可能なネットワークアダプタの組合せとして検出する検出ステップとを備える
    ことを特徴とする冗長化ペア検出方法。
  2. 当該冗長化ペア検出方法は、更に、
    前記冗長化可能なネットワークアダプタの組合せから、当該組合せに含まれる前記第1のネットワークアダプタ及び前記第2のネットワークアダプタの全てが重複する組合せを抽出し、前記重複する組合せの中の1個の組合せのみを残し、他の組合せを廃棄する重複処理ステップを備える
    ことを特徴とする請求項1に記載の冗長化ペア検出方法。
  3. 前記ネットワークは前記複数のネットワークアダプタに対応する複数のネットワークスイッチを備え、
    前記冗長化可能なネットワークアダプタの組合せとして検出された前記第1のネットワークアダプタ及び前記第2のネットワークアダプタに対応するネットワークスイッチは、レイヤ2レベルで通信可能に接続されている
    ことを特徴とする請求項1に記載の冗長化ペア検出方法。
  4. 当該冗長化ペア検出方法は、更に、
    前記複数のネットワークアダプタの冗長化設定を行う第1設定部を呼出し、前記冗長化可能なネットワークアダプタの組合せを、呼出した前記第1設定部に通知する第1の通知ステップと、
    前記第1設定部から前記複数のネットワークアダプタの冗長化設定を行う第2設定部を呼出し、前記冗長化可能なネットワークアダプタの組合せを、呼出した前記第2設定部に通知する第2の通知ステップを備える
    ことを特徴とする請求項1に記載の冗長化ペア検出方法。
  5. ネットワークに接続され、複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する通信装置であって、
    前記複数のネットワークアダプタの各々のMACアドレスを取得する取得部と、
    前記複数のネットワークアダプタに含まれる第1のネットワークアダプタを送信元とし、前記複数のネットワークアダプタであって前記第1のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、前記第1のネットワークアダプタ、及び、前記第1のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得した前記MACアドレスを用い、レイヤ2レベルで、プローブパケットを送信する送信部と、
    前記第1のネットワークアダプタ以外のネットワークアダプタの中から、前記プローブパケットを受信したネットワークアダプタである1又は複数の第2のネットワークアダプタを抽出する抽出部と、
    前記第1のネットワークアダプタと前記第2のネットワークアダプタとを、前記冗長化可能なネットワークアダプタの組合せとして検出する検出部とを備える
    ことを特徴とする通信装置。
  6. ネットワークに接続される通信装置に設けられる複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出プログラムを記録する、コンピュータ読取可能な記録媒体であって、
    前記冗長化ペア検出プログラムは、前記通信装置であるコンピュータに、
    前記複数のネットワークアダプタの各々のMACアドレスを取得する取得ステップと、
    前記複数のネットワークアダプタに含まれる第1のネットワークアダプタを送信元とし、前記複数のネットワークアダプタであって前記第1のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、前記第1のネットワークアダプタ、及び、前記第1のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得した前記MACアドレスを用い、レイヤ2レベルで、プローブパケットを送信する送信ステップと、
    前記第1のネットワークアダプタ以外のネットワークアダプタの中から、前記プローブパケットを受信したネットワークアダプタである1又は複数の第2のネットワークアダプタを抽出する抽出ステップと、
    前記第1のネットワークアダプタと前記第2のネットワークアダプタとを、前記冗長化可能なネットワークアダプタの組合せとして検出する検出ステップとを実行させる
    ことを特徴とする記録媒体。
  7. ネットワークに接続される通信装置に設けられる複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出プログラムであって、
    前記通信装置であるコンピュータに、
    前記複数のネットワークアダプタの各々のMACアドレスを取得する取得ステップと、
    前記複数のネットワークアダプタに含まれる第1のネットワークアダプタを送信元とし、前記複数のネットワークアダプタであって前記第1のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、前記第1のネットワークアダプタ、及び、前記第1のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得した前記MACアドレスを用い、レイヤ2レベルで、プローブパケットを送信する送信ステップと、
    前記第1のネットワークアダプタ以外のネットワークアダプタの中から、前記プローブパケットを受信したネットワークアダプタである1又は複数の第2のネットワークアダプタを抽出する抽出ステップと、
    前記第1のネットワークアダプタと前記第2のネットワークアダプタとを、前記冗長化可能なネットワークアダプタの組合せとして検出する検出ステップとを実行させる
    ことを特徴とする冗長化ペア検出プログラム。
JP2009135140A 2009-06-04 2009-06-04 冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体 Expired - Fee Related JP5170000B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009135140A JP5170000B2 (ja) 2009-06-04 2009-06-04 冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体
US12/793,116 US20100312866A1 (en) 2009-06-04 2010-06-03 Redundancy pair detecting method, communication device and recording medium for recording redundancy pair detection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009135140A JP5170000B2 (ja) 2009-06-04 2009-06-04 冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体

Publications (2)

Publication Number Publication Date
JP2010283586A JP2010283586A (ja) 2010-12-16
JP5170000B2 true JP5170000B2 (ja) 2013-03-27

Family

ID=43301520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009135140A Expired - Fee Related JP5170000B2 (ja) 2009-06-04 2009-06-04 冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体

Country Status (2)

Country Link
US (1) US20100312866A1 (ja)
JP (1) JP5170000B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105281929B (zh) * 2014-06-04 2018-10-02 中国科学院声学研究所 一种服务网口状态检测和容错的装置及其方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03169139A (ja) * 1989-11-29 1991-07-22 Hitachi Ltd ネツトワーク構成制御方式
US6052733A (en) * 1997-05-13 2000-04-18 3Com Corporation Method of detecting errors in a network
JP3511875B2 (ja) * 1998-01-13 2004-03-29 横河電機株式会社 通信制御システム
US6512774B1 (en) * 1999-03-18 2003-01-28 3Com Corporation Fail over with multiple network interface cards
JP2002027012A (ja) * 2000-07-03 2002-01-25 Fujitsu Ltd ネットワーク接続装置
US7197660B1 (en) * 2002-06-26 2007-03-27 Juniper Networks, Inc. High availability network security systems
US7246272B2 (en) * 2004-01-16 2007-07-17 International Business Machines Corporation Duplicate network address detection
JP4964666B2 (ja) * 2007-05-14 2012-07-04 株式会社日立製作所 冗長化された通信経路を切り替える計算機、プログラム及び方法

Also Published As

Publication number Publication date
JP2010283586A (ja) 2010-12-16
US20100312866A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
CN106790595B (zh) 一种Docker容器主动负载均衡装置及方法
JP4503225B2 (ja) 適応ディスパッチャを有する仮想ネットワーク
TWI383616B (zh) 指派複數個媒體存取控制給複數個處理器的方法及系統
JP5872731B2 (ja) クラスタの複数のノードのそれぞれに対してリンクの障害の検出を伝えるためのコンピュータ実装方法、非一時的なコンピュータ可読媒体およびコンピュータシステム
JP4733399B2 (ja) 計算機システム、計算機、ストレージ装置及び管理端末
US7225356B2 (en) System for managing operational failure occurrences in processing devices
US6963932B2 (en) Intermediate driver having a fail-over function for a virtual network interface card in a system utilizing Infiniband architecture
US6535990B1 (en) Method and apparatus for providing fault-tolerant addresses for nodes in a clustered system
US7693045B2 (en) Verifying network connectivity
US20090245242A1 (en) Virtual Fibre Channel Over Ethernet Switch
CN105024855A (zh) 分布式集群管理系统和方法
US9898377B2 (en) Switch provided failover
EP1290824A2 (en) High availability networking with virtual ip address failover
KR20110086820A (ko) FCoE 스위치 고장을 감지하고 관리하기 위한 리던던트 중계 스위치 솔루션
JP2009508443A (ja) ルート指定されたネットワークにおけるフォールトトレラント通信
JP5262145B2 (ja) クラスタシステムおよび情報処理方法
JP5387227B2 (ja) ネットワークマネージャ機器による設定変更方法及びプログラム、ネットワーク機器の制御方法及びプログラム、ネットワークマネージャ機器及びネットワーク機器
JP5018969B2 (ja) 通信制御プログラム、通信制御装置、通信制御システムおよび通信制御方法
JP5170000B2 (ja) 冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体
US20200287784A1 (en) Priority based selection of time services
JP4133738B2 (ja) 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム
JP6134720B2 (ja) 接続方法
US8903991B1 (en) Clustered computer system using ARP protocol to identify connectivity issues
JP4258016B2 (ja) ネットワーク構成制御システム
JP5763030B2 (ja) 二重化ネットワーク制御システムおよび二重化ネットワーク制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121217

LAPS Cancellation because of no payment of annual fees