JP2018181194A - 情報処理装置、情報処理システム、及び制御プログラム - Google Patents

情報処理装置、情報処理システム、及び制御プログラム Download PDF

Info

Publication number
JP2018181194A
JP2018181194A JP2017083709A JP2017083709A JP2018181194A JP 2018181194 A JP2018181194 A JP 2018181194A JP 2017083709 A JP2017083709 A JP 2017083709A JP 2017083709 A JP2017083709 A JP 2017083709A JP 2018181194 A JP2018181194 A JP 2018181194A
Authority
JP
Japan
Prior art keywords
information processing
node
group
update
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017083709A
Other languages
English (en)
Other versions
JP6536618B2 (ja
Inventor
圭也 石川
Keiya Ishikawa
圭也 石川
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 JP2017083709A priority Critical patent/JP6536618B2/ja
Priority to US15/951,232 priority patent/US10365923B2/en
Publication of JP2018181194A publication Critical patent/JP2018181194A/ja
Application granted granted Critical
Publication of JP6536618B2 publication Critical patent/JP6536618B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】情報処理装置のソフトウェアの更新を容易に行なう。【解決手段】情報処理システムがそなえる複数の情報処理装置2のうちのいずれかの情報処理装置2であって、前記複数の情報処理装置2の各々に適用されたソフトウェアの更新を制御する制御部28をそなえ、前記複数の情報処理装置2は、所定数の情報処理装置2ごとに装置グループを構成し、前記制御部28は、所定の選択条件に基づき複数の前記装置グループの各々から1つずつ情報処理装置2を選択し、選択した複数の情報処理装置2を第1更新グループに割り当てる割当部24と、前記第1更新グループに属する前記複数の情報処理装置2の各々に対して、当該情報処理装置2に適用されたソフトウェアの更新指示を送信する送信部25と、をそなえる。【選択図】図5

Description

本発明は、情報処理装置、情報処理システム、及び制御プログラムに関する。
複数の情報処理装置をそなえる情報処理システムでは、複数の情報処理装置の各々にインストールされたプログラムのアップデート(更新)が行なわれることがある。
なお、情報処理装置としては、例えば、サーバ等のコンピュータが挙げられる。サーバには、例えば、ストレージ装置の制御装置が含まれてよい。プログラムとしては、例えば、OS(Operating System)、FW(Firmware;ファームウェア)、ドライバ、MW(Middleware;ミドルウェア)、或いは、アプリケーションプログラム等の種々のソフトウェアが挙げられる。
複数の情報処理装置のプログラムのアップデートは、例えば、保守作業者により、情報処理装置に対して、更新版のプログラムの保存、更新版のプログラムのインストール、情報処理装置の再起動、の手順により実施されてよい。なお、保守作業者は、1台ずつ順番に(シーケンシャルに)、このようなアップデートの操作を行なうことになる。
特開2009−230171号公報 特開2006−113754号公報
上述のように、複数の情報処理装置のプログラムのアップデートでは、情報処理装置の再起動が行なわれる。再起動では、情報処理装置の構成等によるが、20分程度の時間がかかることがある。情報処理システムでは、このような情報処理装置の再起動が1台ずつ順に情報処理装置の台数分繰り返されるため、情報処理システムの規模が大きいほど、アップデートにかかる保守時間が増大する。
また、保守作業者によるファームアップ操作が情報処理装置の台数分繰り返し実施されるため、情報処理システムの規模が大きいほど、保守手番が多くなり、保守作業者の拘束時間が長くなる。
なお、情報処理装置がストレージ装置の制御装置である場合、複数台(例えば2台)の情報処理装置が1つの冗長グループとして構成され、情報処理システムが複数の冗長グループにより構成される場合がある。このような場合においても、保守作業者は、冗長グループを構成する複数台の情報処理装置の内の少なくとも1台が運用を継続できるように、1台ずつ順にプログラムのアップデートを行なう。従って、情報処理装置がストレージ装置の制御装置である場合にも、上述した不都合が生じ得る。
1つの側面では、本発明は、情報処理装置のソフトウェアの更新を容易に行なうことを目的の1つとする。
1つの側面では、情報処理装置は、情報処理システムがそなえる複数の情報処理装置のうちのいずれかの情報処理装置であって、前記複数の情報処理装置の各々に適用されたソフトウェアの更新を制御する制御部をそなえてよい。前記複数の情報処理装置は、所定数の情報処理装置ごとに装置グループを構成してよい。前記制御部は、割当部と、送信部と、をそなえてよい。前記割当部は、所定の選択条件に基づき複数の前記装置グループの各々から1つずつ情報処理装置を選択し、選択した複数の情報処理装置を第1更新グループに割り当ててよい。前記送信部は、前記第1更新グループに属する前記複数の情報処理装置の各々に対して、当該情報処理装置に適用されたソフトウェアの更新指示を送信してよい。
1つの側面では、情報処理装置のソフトウェアの更新を容易に行なうことができる。
一実施形態に係る情報処理装置の構成例を示すブロック図である。 マスタノード及びマスタ候補ノードの配置例を示す図である。 ノードの稼働領域及び待機領域を説明する図である。 一実施形態に係るノードの選択例を示す図である。 一実施形態に係るノードの機能構成例を示すブロック図である。 構成情報の一例を示す図である。 グループリストの一例を示す図である。 版数情報の一例を示す図である。 一実施形態に係るストレージシステムにおける複数のノードのプログラム更新処理の動作シーケンスの一例を示す図である。 図9に示すノード選択処理の動作フローの一例を示す図である。 変形例に係る前半グループに含めるノードの選択例を示す図である。 図9に示すノード選択処理の動作フローの変形例を示す図である。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
〔1〕一実施形態
〔1−1〕構成例
図1に示すように、一実施形態に係るストレージシステム10は、情報処理システムの一例であり、例示的に、複数のノードブロック(以下、「NB」(Node Block)と表記する場合がある)1、及び、1以上のホスト装置4をそなえてよい。ストレージシステム10は、NB1を増設可能なスケールアウト型のストレージシステムであってよい。
NB1は、複数台(図1では2台)のノード2、及び、ストレージ(記憶装置)3をそなえてよい。なお、NB1は、ストレージシステム10におけるストレージ装置と位置付けられてもよい。なお、以下の説明では、図1に例示するように、いずれかのNB1を特定する場合には、“NB#0”、“NB#1”、・・・と表記する場合がある。
ノード2は、ホスト装置4からストレージ3に対するアクセスを制御する情報処理装置の一例である。ノード2は、ストレージ装置の制御装置と位置付けられてもよい。
図1に例示するように、ノード2は、NB1内の他のノード2との間で冗長化(例えば二重化)され、冗長グループを構成してよい。換言すれば、ストレージシステム10がそなえる複数のノード2は、所定数のノード2ごとに装置グループを構成するといえる。
各NB1内の2台のノード2は、ストレージ3上の同一データを共有してよい。いずれかのNB1内の両ノード2がダウンした場合、ストレージシステム10全体としても動作継続が不可となる。
ノード2は、NB1内の他のノード2との間のノード間通信、他のNB1内のノード2との間の筐体間(NB間)通信、ホスト装置4との間のホスト間通信、ストレージ3との間のストレージ間通信、をそれぞれ行なってよい。
ここで、ストレージシステム10における複数のノード2には、マスタノード2が含まれてよい。マスタノード2は、ストレージシステム10全体の管理/制御を行なうノード2である。例えば、工場出荷時やストレージシステム10の起動時等の所定のタイミングで、全ノード2の中から1つのマスタノード2が決定されてよい。
また、ストレージシステム10におけるマスタノード2以外の複数のノード2には、マスタノード2の障害発生時にマスタノード2の代替となり得る(フェイルオーバ先となり得る)1以上のマスタ候補ノード2が含まれてよい。マスタ候補ノード2は、例えば、ストレージシステム10の起動時等の所定のタイミングで、全ノード2の中からマスタノード2により決定されてよい。
このように、マスタノード2及びマスタ候補ノード2は、ストレージシステム10に関する制御を行なう役割を割り当てられたノード2であるといえる。
図2にマスタノード2及びマスタ候補ノード2の配置例を示す。なお、図2の例では、マスタノード2を太枠及び網掛けで示し、マスタ候補ノード2を網掛けで示し、マスタノード2及びマスタ候補ノード2のいずれにも該当しないノード(以下、「非マスタノード」と表記する)2を白背景で示す。また、以下の説明では、図2に例示するように、いずれかのノード2を特定する場合には、“ノード#0”〜“ノード#9”と表記する場合がある。
図2に例示するように、ストレージシステム10が2台のノード2を有する場合、ノード#0がマスタノード2となり、ノード#1がマスタ候補ノード2となり、非マスタノード2は存在しない。また、ストレージシステム10が6台のノード2を有する場合、ノード#2がマスタノード2となり、ノード#0、#1、#4がマスタ候補ノード2となり、ノード#3、#5が非マスタノード2となる。さらに、ストレージシステム10が10台のノード2を有する場合、ノード#2がマスタノード2となり、ノード#0、#4、#6がマスタ候補ノード2となり、ノード#1、#3、#5、#7、#8、#9が非マスタノード2となる。
ストレージ3は、NB1内の複数台のノード2の各々からアクセス可能な記憶領域である。例えば、ストレージ3は、NB1内の複数台のノード2がそれぞれそなえる記憶装置により構成され、当該複数台のノード2により共有される共有ファイルサーバであってよい。
例えば、ノード2は、ノード2の各種機能の全部若しくは一部を実現するプログラムや、種々のデータをストレージ3に格納してもよい。当該プログラムには、例示的に、OS、FW、ドライバ、MW、或いは、アプリケーションプログラム等の種々のソフトウェアが含まれてよい。
記憶装置としては、例えば、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)等が挙げられる。
ストレージ3では、ノード2による制御の下、ノード2がそなえる記憶装置を用いて1以上のストレージグループが構築されてもよい。ストレージグループとしては、例えば、RAID(Redundant Arrays of Inexpensive Disks)グループが挙げられる。
なお、ストレージ3は、ストレージシステム10がホスト装置4に提供する記憶領域を有してもよい。この場合、ノード2は、ホスト装置4からの要求に応じてストレージ3に対するデータ等の書き込み又は読み出し等の種々のアクセスを行なってもよい。
なお、ストレージシステム10には、ノード2の記憶装置により実現されるストレージ3に加えて又は代えて、1以上の記憶装置を含む記憶筐体がそなえられてもよい。この場合、ストレージシステム10は、当該記憶筐体の記憶領域をホスト装置4に提供してもよい。
ホスト装置4は、ストレージシステム10に対して、Read/Write等のI/O(Input / Output)を行なう上位装置の一例である。ホスト装置4としては、サーバ、PC(Personal Computer)、タブレット、又は、PDA(Personal Digital Assistant)等のコンピュータが挙げられる。
ホスト装置4は、少なくとも1つのノード2の各々と図示しないネットワークを介して接続されてもよい。ネットワークには、SAN(Storage Area Network)が含まれてもよく、また、LAN(Local Area Network)やWAN(Wide Area Network)等のイントラネット或いはインターネット等が含まれてもよい。図1の例では、ストレージシステム10には1つのホスト装置4が存在するが、ストレージシステム10には、複数のホスト装置4が存在してもよい。
なお、図1の例では、冗長化のために1台の筐体(NB1)内に2台のノード2がそなえられるものとしたが、これに限定されるものではない。また、ノード2間、ノード2−ストレージ3間、及び、ノード2−ホスト装置4間の各結線(伝送路)の本数は、図1に例示する構成に限定されるものではない。
次に、図1を参照して、ノード2のハードウェア構成例について説明する。図1に示すように、ノード2は、例示的に、CPU(Central Processing Unit)2a、メモリ2b、ノード間IF(Interface)2c、筐体間IF2d、ホストIF2e、及び、デバイスIF2fをそなえてよい。
CPU2aは、種々の制御や演算を行なう演算処理装置の一例である。CPU2aは、各ブロック2b〜2fとバス2gで相互に通信可能に接続されてよい。CPU2aに代えて、MPU、DSP、ASIC、PLD(例えばFPGA)等の集積回路(IC)が用いられてもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称である。また、ASICはApplication Specific Integrated Circuitの略称であり、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
メモリ2bは、種々のデータやプログラムを格納するハードウェアの一例である。メモリ2bとしては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。
ノード間IF2c、筐体間IF2d、ホストIF2e、及び、デバイスIF2fは、それぞれ、NB1内の他のノード2、他のNB1内のノード2、ホスト装置4、及び、ストレージ3との間の接続及び通信の制御等を行なう通信インタフェースの一例である。なお、ノード2は、保守作業者の保守端末との間の接続及び通信の制御等を行なう通信インタフェースをそなえてもよい。例えば、ノード2は、当該通信インタフェースを用いて、図示しないネットワークからノード2の各種機能の全部若しくは一部を実現するプログラムをダウンロードしてもよい。
なお、ノード間IF2cは、例えば、PCIe(Peripheral Component Interconnect Express)に準拠した1以上のアダプタをそなえ、NB1内の他のノード2とPCIeに対応したバスやケーブル等によって接続されてよい。また、筐体間IF2dは、例えば、スケールアウト用カードであってよく、RoCE(Remote Direct Memory Management(RDMA) over Converged Ethernet)に準拠した1以上のアダプタをそなえ、他のNB1内のノード2とRoCEに対応したケーブル等によって接続されてよい。さらに、ホストIF2eは、例えば、ホスト装置4接続用のカードであってよく、FC(Fibre Channel)に準拠した1以上のアダプタをそなえ、ホスト装置4とFCに対応したケーブル等によって接続されてよい。また、デバイスIF2fは、例えば、PCIeに準拠した1以上のアダプタをそなえ、ストレージ3とPCIeに対応したバスやケーブル等によって接続されてよい。なお、デバイスIF2fのアダプタとしては、例えば、PCIeスイッチが挙げられる。
上述したノード2のハードウェア構成は例示である。従って、ノード2内でのハードウェアの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。
例えば、ノード2は、上述したストレージ3を構成する記憶装置をそなえてもよい。
また、ノード2では、CPU2a、メモリ2b、ノード間IF2c、筐体間IF2d、ホストIF2e、及び、デバイスIF2fの少なくとも1つが冗長化されてもよい。一例として、ノード2は、複数のCPU2aをそなえてよく、いずれか1以上のCPU2aが稼働系として動作し、他のCPU2aは待機系として処理を行なわないようにしてもよい。
さらに、ノード2は、入出力部、読取部等をそなえてもよい。入出力部は、例えば、マウス、キーボード、タッチパネル、操作ボタン等の入力装置、並びに、ディスプレイやプリンタ等の出力装置の少なくとも一方を含んでよい。
読取部は、記録媒体に記録されたデータやプログラムを読み出しCPU2aに出力するリーダの一例である。読取部は、記録媒体を接続又は挿入可能な接続端子又は装置を含んでもよい。読取部としては、例えばUSB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体にはノード2の各種機能の全部若しくは一部を実現するプログラムが格納されてもよい。
記録媒体としては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。なお、CDとしては、例示的に、CD−ROM、CD−R、CD−RW等が挙げられる。また、DVDとしては、例示的に、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。
〔1−2〕各ノードにおけるプログラムのアップデート手順の一例
次に、図1に示すノード2にインストールされたプログラムのアップデート手順の一例について説明する。
図3に例示するように、各ノード2は、領域20a及び20bを有してよい。領域20a及び20bは、それぞれ、ノード2のプログラム、例えば、OSがインストールされた記憶領域である。領域20a及び20bは、それぞれ、「パーティション」と称されてもよい。なお、領域20a及び20bは、ノード2が有する記憶装置の記憶領域であってもよいし、ストレージ3上の記憶領域であってもよい。
ノード2は、領域20a及び20bのいずれか一方をブート領域としてブートする。ブート領域は、ノード2におけるブート設定により指定されてよい。以下、ブート領域として稼働した領域20a又は20bを稼働領域と称し、ブート領域ではない領域20a又は20bを待機領域と称する。図3の例では、便宜上、領域20aが稼働領域、領域20bが待機領域であるものとする。
領域20a及び20bには、互いに異なるバージョンのOS等のプログラムがインストールされてよい。このように、プログラムがインストールされる領域を複数(図3の例では2つ)設けることにより、ノード2では、複数のバージョンを管理することができる。
以下、図3に例示するストレージシステム10において、複数のノード2にインストールされたプログラムをアップデートする場合の手順の一例を説明する。
(i)ソフトウェア登録処理
保守作業者は、全てのノード2の待機領域(図3の例では領域20b)に対して、更新版のソフトウェアをインストールする。
(ii)ソフトウェア適用処理
(ii−1)保守作業者は、各ノード2に対して、ブート領域を現在の稼働領域(図3の例では領域20a)から待機領域(図3の例では領域20b)に切り替える設定を行なう。これにより、次回ブート時に、ノード2は現在の待機領域(図3の例では領域20b)でブートする。
(ii−2)保守作業者は、各ノード2に対して、ノード2の設定ファイルを現在の稼働領域(図3の例では領域20a)から待機領域(図3の例では領域20b)にコピーする。なお、設定ファイルは、例えば、ノード2自身のIP(Internet Protocol)アドレス等の、装置構成に関する種々の設定情報である。
(ii−3)保守作業者は、各ノード2に対して、再起動を行なう。なお、再起動後は、各ノード2において、領域20bが稼働領域となり、領域20aが待機領域となる。
例えば、図3に対して上述した従来の手法によるアップデートを適用した場合、上記(i)の処理は、事前作業として保守作業者により保守端末を介して実施され、上記(ii)の処理は、当日作業として保守作業者により1つのノード2ずつ順に実施される。
これに対し、一実施形態に係るストレージシステム10では、1つのノードずつ順にプログラムのアップデートを行なうのではなく、複数のノード2について、まとめて(例えば並行して)プログラムのアップデートを行なう。
なお、上述のように、各NB1では、少なくとも1つのノード2が運用系として動作できるように、ノード2を冗長化することで耐障害性を向上させている。このような装置構成の関係上、同一NB1内の全てのノード2をまとめてプログラムのアップデート対象とした場合、当該NB1内のノード2の再起動が同時又は略同時に行なわれるため、NB1の運用が停止してしまう。
そこで、一実施形態においては、各NB1内の複数のノード2のうちの一部(例えば、ノード2が2台の場合は1台)について先にプログラムのアップデートを行ない、その後に残りのノード2についてプログラムのアップデートを行なう。
すなわち、一実施形態では、全てのノード2を複数(例えば2つ)のアップデートグループ(以下、単に「グループ」と表記する場合がある)に分け、グループごとに、上記(ii)の処理を実施する。以下、便宜上、先に上記(ii)の処理が実施されるグループを「前半グループ」或いは「第1更新グループ」、後に上記(ii)の処理が実施されるグループを「後半グループ」或いは「第2更新グループ」と表記する。
また、或るグループ内の全ノード2のプログラムのアップデート後に、これらのノード2の再起動が発生する。例えば、他のグループに含まれるマスタノード2又はマスタ候補ノード2が2つ未満の場合、当該或るグループでアップデート及び再起動が完了するまでの間は、一時的に、当該他のグループにおいてマスタノード2のフェイルオーバ先が存在しなくなる。
そこで、一実施形態においては、複数のグループのうちのいずれのグループにも、マスタノード2及びマスタ候補ノード2の合計が“2以上”となるように、各グループに振り分けるノード2を選択する。
なお、ストレージシステム10に含まれるノード2の数÷グループ数が“2”よりも小さい場合には、マスタノード2及びマスタ候補ノード2の合計が“1”となるように、各グループに含まれるノード2が選択されてよい。
〔1−3〕ノード選択手法の一例
以下、ノード選択手法の一例について説明する。なお、以下の説明では、ストレージシステム10が10台のノード2をそなえ、ストレージシステム10におけるマスタノード2及びマスタ候補ノード2の合計が“4”以上であり、全ノード2を2つのグループに分けるものとする。
ストレージシステム10におけるマスタノード2は、上述のように、ストレージシステム10の起動時等の所定のタイミングで、マスタ候補ノード2を決定する。
一実施形態では、マスタノード2がマスタ候補ノード2を決定する点に着目し、マスタノード2が、事前に決まっているグループの選択論理によりマスタ候補ノード2が各グループに均等に分散されるように、複数のノード2からマスタ候補ノード2を決定する。
例えば、マスタノード2及びマスタ候補ノード2がn個(nは4以上の整数)存在する場合(マスタ候補ノード2はn−1個)、n個のノード2のうちの2以上且つn−2以下のノード2が前半グループ(第1の更新グループ)に含まれることになる。なお、nが3以下の整数である場合は、n個のノード2のうちの1以上且つn−1以下のノード2が前半グループ(第1の更新グループ)に含まれればよい。
一例として、グループ選択論理(選択条件)が、ノード番号が偶数のノード2を前半グループに決定し、ノード番号が奇数のノード2を後半グループに決定する条件である場合について説明する。なお、グループ選択論理は、現在のマスタノード2が前半グループに含まれないような条件を含んでもよい。現在のマスタノード2が前半グループに対するアップデートの指示等を行なうためである。
例えば、マスタノード2は、図4の符号(a)に示すように、NB1間でマスタ候補ノード2のノード番号が偶数又は奇数から始まり、偶数及び奇数が交互に変化するようにマスタ候補ノード2を決定してよい。図4の符号(a)の例では、マスタノード2であるノード#0(偶数)が、ノード#3(奇数)、#4(偶数)、#7(奇数)をマスタ候補ノード2に決定している。
この場合、図4の符号(b)に示すように、前半グループとして、ノード#0(マスタノード2)、ノード#4(マスタ候補ノード2)、ノード#2、#6、#8(非マスタノード2)が選択される。また、図4の符号(c)に示すように、後半グループとして、ノード#3、#7(マスタ候補ノード2)、ノード#1、#5、#9(非マスタノード2)が選択される。図4の符号(b)及び(c)に示すように、前半グループ及び後半グループのいずれも、マスタノード2及びマスタ候補ノード2の合計は、“2”であり、マスタノード2の障害時のフェイルオーバ先の候補を確保することができる。
なお、上述したノード選択処理は、ストレージシステム10の起動時や、保守端末等からのアップデート要求時等の所定のタイミングで、実施されてよい。マスタノード2により決定されたマスタ候補ノード2は、ストレージシステム10の運用においてマスタノード2のフェイルオーバ先となり得る。
或いは、上述したノード選択処理で選択されるマスタ候補ノード2は、ノード2のアップデート処理の間において有効な、時限的なマスタ候補ノード2であってもよい。この場合、ストレージシステム10の運用においてマスタノード2のフェイルオーバ先となり得る正規のマスタ候補ノード2は、ノード選択処理で選択されるマスタ候補ノード2とは別に(例えば、起動時等の所定のタイミングで)決定されてよい。なお、この場合、ノード選択処理は、アップデートの開始前に実施されてもよい。
換言すれば、ノード2のアップデート及び再起動の完了後には、ノード選択処理で決定されたマスタ候補ノード2は無効となり、正規のマスタ候補ノード2が有効となってもよい。
なお、ここまで、ノード選択処理をマスタノード2が行なうものとしたが、これに限定されるものではなく、ストレージシステム10における複数のノード2のうちのいずれのノード2がノード選択処理を行なってもよい。
以上のように、各NB1内のノード2について片側ずつ並列にアップデートを行なうことで、2回分のアップデート時間でアップデート作業を完了でき、保守時間の増大を解消できる。
また、並列にアップデートを行なうことにより、マスタノード2のフェイルオーバ先がなくなるというリスクが生じるが、グループの選択論理に基づいてマスタ候補ノード2が決定されることで、各アップデートグループ内での冗長性を維持できる。
従って、従来の手法のように1台ずつ順にアップデートを行なう場合と比較して、ノード2のアップデートを容易に行なうことができる。
〔1−4〕ノードの機能構成例
次に、ノード2の機能構成例について説明する。図5は、ノード2の機能構成例の一例を示す図である。図5に示すように、ノード2は、例示的に、メモリ部21、API(Application Programming Interface)提供部22、マスタ候補ノード選択部23、グループ決定部24、ノード通信部25、更新処理部26、及び、デバイス制御部27をそなえてよい。
なお、API提供部22〜デバイス制御部27の各機能は、例えば、図1に示すCPU2aが図示しない記憶装置又はストレージ3に格納されたプログラムをメモリ2bに展開して実行することにより実現されてよい。なお、メモリ部21及びマスタ候補ノード選択部23〜更新処理部26は、複数のノード2の各々に適用されたソフトウェアの更新を制御する制御部28と位置付けられもてよい。
メモリ部21は、ノード2の処理に係る種々の情報を記憶してよい。メモリ部21は、例えば、図1に示すメモリ2bの記憶領域により実現されてよい。
図5に示すように、メモリ部21は、例示的に、構成情報211、グループリスト212、及び、版数情報213の情報を記憶してよい。なお、以下の説明では、メモリ部21が記憶する各種の情報を説明に適した形式で例示するが、これらの情報は例示する形式に限定されるものではなく、例えば配列、DB(Database)、ビットマップ等の種々の形式又は態様で管理されてよい。なお、メモリ部21が記憶するこれらの情報211〜213については後述する。
API提供部22は、ホスト装置4や保守端末等に対して、API等のユーザインタフェースを提供する。換言すれば、API提供部22は、ホスト装置4や保守端末からのアクセスを受け付ける受付部の一例である。
マスタ候補ノード選択部23は、ストレージシステム10(ノード2)の起動時や保守端末からの要求受付時等の所定のタイミングで、マスタ候補ノード2を選択する。マスタ候補ノード2を選択する手法は既述のため、詳細な説明は省略する。
なお、マスタ候補ノード選択部23は、例えば、図6に示す構成情報211によって示されるNB1とノード2との関係や、グループ選択論理に基づきマスタ候補ノード2を選択してよい。なお、選択されたマスタ候補ノード2の情報は、例えば、構成情報211に設定されてもよい。
このように、マスタ候補ノード選択部23は、複数のノード2のうちの、グループ選択論理に基づき選定したn−1個のノード2に対して、ストレージシステム10に関する制御を行なう役割を割り当てる装置管理部の一例である。
グループ決定部24は、事前に定められたグループ選択論理に従って、ストレージシステム10における各ノード2の振り分け先のグループを決定する。一実施形態においては、グループ決定部24は、ノード番号が偶数のノード2を前半グループに決定し、ノード番号が奇数のノード2を後半グループに決定してよい。なお、決定されたアップデートグループの情報は、例えば、図7に示すグループリスト212としてメモリ部21に格納されてもよい。
このように、グループ決定部24は、グループ選択論理に基づき複数の冗長グループの各々から1つずつノード2を選択し、選択した複数のノード2を前半グループに割り当てる割当部の一例である。
なお、割当部の一例としてのグループ決定部24は、複数の冗長グループの各々において選択されなかったノード2を後半グループに割り当ててよい。
ノード通信部25は、NB1内の他のノード2や、他のNB1内のノード2との間で通信を行なう。例えば、ノード通信部25は、アップデート対象のグループに含まれる複数のノード2の各々に対して、アップデートの実行指示(ソフトウェア適用処理依頼)を送信してよい。また、ノード通信部25は、アップデート対象のグループに含まれる複数のノード2の各々からアップデートの完了を通知されると、各ノード2の版数情報213を更新してよい。
図8は、版数情報213の一例を示す図である。なお、図8に示す版数情報213は、ストレージシステム10全体の各ノード2のFW版数情報であり、例えば、マスタノード2が管理する情報であってよい。一方、マスタ候補ノード2や非マスタノード2は、自身のFW版数情報を版数情報213として管理してよい。
このように、ノード通信部25は、前半グループに属する複数のノード2の各々に対して、当該ノード2に適用されたソフトウェアの更新指示を送信する送信部の一例である。
なお、上述したマスタ候補ノード選択部23、グループ決定部24、及び、ノード通信部25の処理は、ノード選択処理を行なうノード2、一例として、マスタノード2が実行する処理であってよい。
更新処理部26は、ノード通信部25を介して受信したアップデートの実行指示に基づいて、自身のノード2にインストールされたプログラムのアップデート処理を実行する。なお、更新処理部26によるアップデート処理の前に、例えば、保守端末は、API提供部22を介して、各ノード2の待機領域20b(図3参照)に更新版のプログラムをインストールしているものとする。
例えば、更新処理部26は、アップデート処理において、ノード2の設定ファイルを稼働領域20aから待機領域20bにコピーし(図3参照)、ブート領域を稼働領域20aから待機領域20bに切り替えてから、ノード2の再起動を行なってよい。
これにより、領域20bに事前にインストールされていた更新版のプログラムによってノード2がブートする。なお、更新処理部26は、ノード2の更新版のプログラムによるブートが完了すると、自身のノード2に関する版数情報213を更新し、ノード通信部25を介して、アップデートの実行指示を送信してきたノード2に完了応答を返してよい。
なお、前半グループの全てのノード2から完了応答を受信したノード2、例えばマスタノード2は、前半グループのアップデートの完了後に、前半グループのいずれかのマスタ候補ノード2に自身のマスタノード2としての機能(権限)を委譲してよい。
権限を委譲された前半グループのマスタノード2(旧マスタ候補ノード2)は、旧マスタノード2を含む後半グループに属するノード2の各々に対して、当該ノード2に適用されたソフトウェアの更新指示を送信してよい。
なお、デバイス制御部27は、ストレージ3(或いは他の記憶装置)に対する種々の制御を行なう。一例として、デバイス制御部27は、API提供部22を介してホスト装置4から受信した、ストレージ3(或いは他の記憶装置)に対するアクセス要求に応じて、種々のアクセス制御を行なってよい。デバイス制御部27による処理は、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。
〔1−5〕動作例
次に、図9及び図10を参照して、一実施形態に係るストレージシステム10における複数のノード2のプログラム更新処理の動作例を説明する。なお、前提として、各ノード2の待機領域20bには、保守端末により、API提供部22を介して、更新版のプログラムがインストールされているものとする。また、以下の説明では、マスタノード2がノード選択処理を行なうものとする。
図9に例示するように、ホスト装置4からマスタノード2のAPI提供部22に対して、ソフトウェア適用要求が送信されると(処理P1)、マスタノード2は、アップデートグループごとのノード選択処理を行なう(処理P2)。なお、処理P2において、マスタノード2自身は後半グループのノード2として選択されるものとする。
マスタノード2は、処理P2で前半グループとして選択された各ノード2に対して、ノード通信部25を介してソフトウェア適用処理依頼を送信する(処理P3)。
前半グループとして選択されたマスタ候補ノード2及び非マスタノード2の各々は、更新処理部26により、設定ファイルを稼働領域20aから待機領域20bへコピーし(処理P4)、ブート領域を稼働領域20aから待機領域20bに切り替える(処理P5)。
そして、マスタ候補ノード2及び非マスタノード2の各々の更新処理部26は、自ノード2の再起動を行ない(処理P6)、データベースの版数情報213を更新し(処理P7)、ノード通信部25を介して、マスタノード2に完了を応答する。
マスタノード2は、前半グループの各ノード2の処理の完了を待ち合わせ(処理P8)、前半グループの全ノード2の処理が完了すると、マスタノード2を前半グループのいずれかのマスタ候補ノード2に切り替える(処理P9)。
マスタノード2に昇格したノード2は、処理P2で後半グループとして選択された各ノード2に対して、ノード通信部25を介してソフトウェア適用処理依頼を送信する(処理P10)。
後半グループとして選択されたマスタ候補ノード2及び非マスタノード2の各々の更新処理部26は、設定ファイルを稼働領域20aから待機領域20bへコピーし(処理P11)、ブート領域を稼働領域20aから待機領域20bに切り替える(処理P12)。
そして、マスタ候補ノード2及び非マスタノード2の各々は、更新処理部26により、自ノード2の再起動を行ない(処理P13)、データベースの版数情報213を更新し(処理P14)、ノード通信部25を介して、マスタノード2に完了を応答する。
マスタノード2は、後半グループの各ノード2の処理の完了を待ち合わせ(処理P15)、後半グループの全ノード2の処理が完了すると、データベースの装置全体の版数情報213を更新し(処理P16)、ホスト装置4に完了を応答する。
次に、図10を参照して、図9の処理P2におけるノード選択処理の動作例を説明する。
図10に例示するように、ノード2、例えば、マスタノード2のマスタ候補ノード選択部23は、構成情報211を参照して1つのNB1をチェックし、当該NB1内でノード番号が小さいノード2をマスタ候補ノード2として選択する(処理A1)。
マスタ候補ノード選択部23は、マスタ候補ノード2の数が所定数に達したか否かを判定する(処理A2)。マスタ候補ノード2の数が所定数に達している場合(処理A2でYes)、処理が処理A14に移行する。
一方、マスタ候補ノード2の数が所定数に達していない場合(処理A2でNo)、マスタ候補ノード選択部23は、直前にチェックしたNB1のノード番号に“1”を加えたNB1が存在するか否かを判定する(処理A3)。
NB番号+1のNB1が存在する場合(処理A3でYes)、マスタ候補ノード選択部23は、直前にチェックしたNB1でノード番号が小さいノード2を選択したか否かを判定する(処理A4)。
ノード番号が小さいノード2を選択した場合(処理A4でYes)、処理が処理A5に移行する。処理A5では、マスタ候補ノード選択部23は、直前にチェックしたNB1のNB番号+1のNB1内でノード番号が大きいノード2をマスタ候補ノード2として選択し、処理が処理A2に移行する。
ノード番号が小さいノード2を選択していない場合(処理A4でNo)、処理が処理A6に移行する。処理A6では、マスタ候補ノード選択部23は、直前にチェックしたNB1のNB番号+1のNB1内でノード番号が小さいノード2をマスタ候補ノード2として選択し、処理が処理A2に移行する。
一方、処理A3でNB番号+1のNB1が存在しない場合(処理A3でNo)、マスタ候補ノード選択部23は、構成情報211を参照してNB#0をチェックしたか否かを判定する(処理A7)。
NB#0をチェックしていない場合(処理A7でNo)、マスタ候補ノード選択部23は、直前にチェックしたNB1でノード番号が小さいノード2を選択したか否かを判定する(処理A8)。
ノード番号が小さいノード2を選択した場合(処理A8でYes)、処理が処理A9に移行する。処理A9では、マスタ候補ノード選択部23は、NB#0内でノード番号が大きいノード2をマスタ候補ノード2として選択し、処理が処理A12に移行する。
ノード番号が小さいノード2を選択していない場合(処理A8でNo)、処理が処理A10に移行する。処理A10では、マスタ候補ノード選択部23は、NB#0内でノード番号が小さいノード2をマスタ候補ノード2として選択し、処理が処理A12に移行する。
処理A7でNB#0をチェックしたと判定した場合(処理A7でYes)、マスタ候補ノード選択部23は、当該NB1内で選択済でないノード2をマスタ候補ノード2として選択する(処理A11)。
そして、マスタ候補ノード選択部23は、マスタ候補ノード2の数が所定数に達したか否かを判定する(処理A12)。マスタ候補ノード2の数が所定数に達していない場合(処理A12でNo)、処理が処理A13に移行する。処理A13では、マスタ候補ノード選択部23は、直前にチェックしたNB1のNB番号に“1”を加えたNB1内で選択済でないノード2をマスタ候補ノード2として選択し、処理が処理A12に移行する。
一方、マスタ候補ノード2の数が所定数に達している場合(処理A12でYes)、処理が処理A14に移行する。
処理A14では、グループ決定部24は、ノード番号が偶数のノード2を前半グループのノード2に選択し、ノード番号が奇数のノード2を後半グループのノード2に選択し、処理が終了する。
〔1−6〕変形例
一実施形態に係るノード選択処理は、以下のように変形して実施されてもよい。
変形例において、マスタ候補ノード選択部23は、ノード選択処理のためのマスタ候補ノード2の選択を行なわなくてよい。なお、マスタ候補ノード選択部23は、例えば、ノード2の起動時等における正規のマスタ候補ノード2の選択は行なってもよい。
グループ決定部24は、以下のグループ選択論理に従って、例えば構成情報211に基づき、ストレージシステム10における各ノード2の振り分け先のグループを決定する。
グループ選択論理は、NB1ごとの以下の判定を含んでよい。なお、以下の例では、前半グループに振り分けるノード2を選択する場合を示す。後半グループに振り分けるノード2は、前半グループとして選択されなかったノード2が選択されればよい。
(I)マスタノード2を含むNB1については、マスタノード2ではないノード2を選択する。
(II)マスタノード2を含むNB1以外のNB1の場合、以下の条件に従い、NB1内のいずれかのノード2を選択する。このとき、マスタ候補ノード2を選択した場合は、マスタ候補選択済カウンタ(以下、単に「カウンタ」と表記する)を“1”増加させる。
(II−1)マスタ候補ノード2が存在し、カウンタが閾値に達していない場合は、マスタ候補ノード2を選択する。このとき、NB1内に複数のマスタ候補ノード2が存在する場合は、若番の(ノード番号が小さい)マスタ候補ノード2を選択する。なお、閾値は、例えば、ストレージシステム10におけるマスタ候補ノード2の総数をグループ数で割ることで得られてよい。
(II−2)マスタ候補ノード2が存在し、カウンタが閾値に達している場合、マスタ候補ノード2の選択が完了したため、マスタ候補ノード2ではないノード2(非マスタノード2)を選択する。
(II−3)マスタ候補ノード2が存在しない場合、NB1内の若番の(ノード番号が小さい)非マスタノード2を選択する。
図11は変形例に係る前半グループに含めるノード2の選択例を示す図である。図11の例では、ストレージシステム10がNB#0〜#4の5台のNB1をそなえ、各NB1には2台のノード2が存在するものとする。また、NB#1のノード#2がマスタノード2であり、マスタノード2及びマスタ候補ノード2の合計が4台であるものとする。なお、カウンタの閾値は、マスタ候補ノード2の総数“4”÷グループ数“2”により、“2”となる。
図11の符号(A)に示すように、グループ決定部24は、例えば、NB#1をチェックする。NB#1にはマスタノード#2が存在するため、グループ決定部24は、グループ選択論理の(I)に従い、マスタノード#2ではないノード#3を選択する(図11中の楕円を付したノード2参照)。なお、このとき、カウンタは“0”である。
図11の符号(B)に示すように、グループ決定部24は、例えば、NB#1の次のNB1であるNB#2をチェックする。NB#2にはマスタ候補ノード#4が存在し、カウンタは“0”<閾値“2”のため、グループ決定部24は、グループ選択論理の(II−1)に従いマスタ候補ノード#4を選択し、カウンタに“1”を加算して“1”にする。
図11の符号(C)に示すように、グループ決定部24は、例えば、NB#2の次のNB1であるNB#3をチェックする。NB#3にはマスタ候補ノード#6が存在し、カウンタは“1”<閾値“2”のため、グループ決定部24は、グループ選択論理の(II−1)に従い、マスタ候補ノード#6を選択し、カウンタに“1”を加算して“2”にする。
図11の符号(D)に示すように、グループ決定部24は、例えば、NB#3の次のNB1であるNB#4をチェックする。NB#4にはマスタ候補ノード2が存在しないため、グループ決定部24は、グループ選択論理の(II−3)に従い、NB#4内の若番のノード#8を選択する。
図11の符号(E)に示すように、グループ決定部24は、NB#4の次のNB1が存在しないため、例えば、NB#0をチェックする。NB#0にはマスタ候補ノード#0が存在し、カウンタは“2”=閾値“2”のため、グループ決定部24は、グループ選択論理の(II−2)に従い、マスタ候補ノード#0ではないノード#1を選択する。
以上により、全てのNB1についてチェックが終わったため、グループ決定部24による前半グループに含めるノード2の選択が終了する。これにより、グループ決定部24は、2つのマスタ候補ノード2(ノード#4、#6)を含むノード#1、#3、#4、#6、#8を前半グループとして選択する(図11の符号(E)参照)。
また、グループ決定部24は、前半グループに含めなかった残りのノード#0、#2、#5、#7、#9を後半グループとして選択する。後半グループには、2つのマスタノード2及びマスタ候補ノード2(ノード#0、#2)が含まれる。
以上のように、一実施形態に係る変形例によっても、一実施形態と同様の効果を奏することができる。
また、変形例によれば、ストレージシステム10におけるマスタノード2及びマスタ候補ノード2の配置によらずに、各アップデートグループに振り分けるノード2の選択を柔軟に行なうことができる。
次に、図12を参照して、変形例に係るノード選択処理の動作例を説明する。なお、図12に例示する処理は、図9に例示する処理P2において実施されてよく、図10に例示する一実施形態に係るノード選択処理に替えて実施されてよい。
図12に例示するように、ノード2、例えば、マスタノード2のグループ決定部24は、カウンタを初期化(例えば“0”を設定)し(処理B1)、ストレージシステム10における未選択のNB1を1つ選択する(処理B2)。
次いで、グループ決定部24は、選択したNB1がマスタノード2を含むか否かを判定する(処理B3)。選択したNB1がマスタノード2を含む場合(処理B3でYes)、グループ決定部24は、選択したNB1内のマスタノード2ではないノード2を前半グループのノード2として選択する(処理B4)。
グループ決定部24は、選択したノード2がマスタ候補ノード2か否かを判定する(処理B5)。マスタ候補ノード2ではない場合(処理B5でNo)、処理が処理B7に移行する。一方、選択したノード2がマスタ候補ノード2である場合(処理B5でYes)、グループ決定部24は、カウンタをインクリメントし(処理B6)、全てのNB1を選択したか否かを判定する(処理B7)。
全てのNB1を選択していない場合(処理B7でNo)、処理が処理B2に移行する。一方、全てのNB1を選択した場合(処理B7でYes)、グループ決定部24は、未選択の全ノード2を後半グループのノード2として選択し(処理B8)、処理が終了する。
処理B3において、選択したNB1がマスタノード2を含まない場合(処理B3でNo)、グループ決定部24は、選択したNB1がマスタ候補ノード2を含むか否かを判定する(処理B9)。
選択したNB1がマスタ候補ノード2を含む場合(処理B9でYes)、グループ決定部24は、カウンタが閾値に達したか否かを判定する(処理B10)。カウンタが閾値に達していない場合(処理B10でNo)、グループ決定部24は、選択したNB1内のマスタ候補ノード2を前半グループのノード2として選択し(処理B11)、カウンタをインクリメントし(処理B12)、処理が処理B7に移行する。
処理B10において、カウンタが閾値に達した場合(処理B10でYes)、グループ決定部24は、選択したNB1内のマスタ候補ノード2ではないノード2を前半グループのノード2に選択し(処理B13)、処理が処理B7に移行する。
また、処理B9において、選択したNB1がマスタ候補ノード2を含まない場合(処理B9でNo)、グループ決定部24は、選択したNB1内の若番のノード2を前半グループのノード2として選択し(処理B14)、処理が処理B7に移行する。
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
例えば、ノード2において、API提供部22〜デバイス制御部27の機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
情報処理システムがそなえる複数の情報処理装置のうちのいずれかの情報処理装置であって、
前記複数の情報処理装置の各々に適用されたソフトウェアの更新を制御する制御部をそなえ、
前記複数の情報処理装置は、所定数の情報処理装置ごとに装置グループを構成し、
前記制御部は、
所定の選択条件に基づき複数の前記装置グループの各々から1つずつ情報処理装置を選択し、選択した複数の情報処理装置を第1更新グループに割り当てる割当部と、
前記第1更新グループに属する前記複数の情報処理装置の各々に対して、当該情報処理装置に適用されたソフトウェアの更新指示を送信する送信部と、をそなえる
ことを特徴とする、情報処理装置。
(付記2)
前記割当部は、前記複数の装置グループの各々において選択されなかった情報処理装置を第2更新グループに割り当て、
前記第1更新グループに属する前記複数の情報処理装置の各々に適用されたソフトウェアの更新の完了後に、前記第1更新グループに属する前記複数の情報処理装置のうちのいずれかの情報処理装置からの更新指示によって、前記第2更新グループに属する複数の情報処理装置の各々に適用されたソフトウェアの更新が行なわれる、
ことを特徴とする、付記1に記載の情報処理装置。
(付記3)
前記所定の選択条件は、前記情報処理システムに関する制御を行なう役割を割り当てられたn個(nは4以上の整数)の情報処理装置のうちの、2以上且つn−2以下の情報処理装置が前記第1更新グループに含まれるように、前記複数の装置グループの各々から情報処理装置を選択することを含む、
ことを特徴とする、付記1又は付記2に記載の情報処理装置。
(付記4)
前記所定の選択条件は、前記情報処理システムに関する制御を行なう役割を割り当てられたn個(nは1以上且つ3以下の整数)の情報処理装置のうちの、1以上且つn−1以下の情報処理装置が前記第1更新グループに含まれるように、前記複数の装置グループの各々から情報処理装置を選択することを含む、
ことを特徴とする、付記1又は付記2に記載の情報処理装置。
(付記5)
前記情報処理システムに関する制御を行なう役割を割り当てられたことを特徴とする、付記3又は付記4に記載の情報処理装置。
(付記6)
前記複数の情報処理装置のうちの、前記所定の選択条件に基づき選定したn−1個の情報処理装置に対して、前記情報処理システムに関する制御を行なう役割を割り当てる装置管理部をそなえる、
ことを特徴とする、付記5に記載の情報処理装置。
(付記7)
複数の情報処理装置をそなえ、
前記複数の情報処理装置は、所定数の情報処理装置ごとに装置グループを構成し、
前記複数の情報処理装置のうちの第1の情報処理装置は、
前記複数の情報処理装置の各々に適用されたソフトウェアの更新を制御する制御部をそなえ、
前記制御部は、
所定の選択条件に基づき複数の前記装置グループの各々から1つずつ情報処理装置を選択し、選択した複数の情報処理装置を第1更新グループに割り当てる割当部と、
前記第1更新グループに属する前記複数の情報処理装置の各々に対して、当該情報処理装置に適用されたソフトウェアの更新指示を送信する送信部と、をそなえる
ことを特徴とする、情報処理システム。
(付記8)
前記割当部は、前記複数の装置グループの各々において選択されなかった情報処理装置を第2更新グループに割り当て、
前記第1更新グループに属する前記複数の情報処理装置の各々に適用されたソフトウェアの更新の完了後に、前記第1更新グループに属する前記複数の情報処理装置のうちの第2の情報処理装置からの更新指示によって、前記第2更新グループに属する複数の情報処理装置の各々に適用されたソフトウェアの更新が行なわれる、
ことを特徴とする、付記7に記載の情報処理システム。
(付記9)
前記所定の選択条件は、前記情報処理システムに関する制御を行なう役割を割り当てられたn個(nは4以上の整数)の情報処理装置のうちの、2以上且つn−2以下の情報処理装置が前記第1更新グループに含まれるように、前記複数の装置グループの各々から情報処理装置を選択することを含む、
ことを特徴とする、付記7又は付記8に記載の情報処理システム。
(付記10)
前記所定の選択条件は、前記情報処理システムに関する制御を行なう役割を割り当てられたn個(nは1以上且つ3以下の整数)の情報処理装置のうちの、1以上且つn−1以下の情報処理装置が前記第1更新グループに含まれるように、前記複数の装置グループの各々から情報処理装置を選択することを含む、
ことを特徴とする、付記7又は付記8に記載の情報処理システム。
(付記11)
前記第1の情報処理装置は、前記情報処理システムに関する制御を行なう役割を割り当てられたことを特徴とする、付記9又は付記10に記載の情報処理システム。
(付記12)
前記第1の情報処理装置は、
前記複数の情報処理装置のうちの、前記所定の選択条件に基づき選定したn−1個の情報処理装置に対して、前記情報処理システムに関する制御を行なう役割を割り当てる装置管理部をそなえる、
ことを特徴とする、付記11に記載の情報処理システム。
(付記13)
情報処理システムがそなえる複数のコンピュータのうちのいずれかのコンピュータに、
前記複数のコンピュータの各々に適用されたソフトウェアの更新を制御する、
処理を実行させ、
前記複数のコンピュータは、所定数のコンピュータごとに装置グループを構成し、
前記制御は、
所定の選択条件に基づき複数の前記装置グループの各々から1つずつコンピュータを選択し、選択した複数のコンピュータを第1更新グループに割り当て、
前記第1更新グループに属する前記複数のコンピュータの各々に対して、当該コンピュータに適用されたソフトウェアの更新指示を送信する
ことを特徴とする、制御プログラム。
(付記14)
前記割当は、前記複数の装置グループの各々において選択されなかったコンピュータを第2更新グループに割り当て、
前記第1更新グループに属する前記複数のコンピュータの各々に適用されたソフトウェアの更新の完了後に、前記第1更新グループに属する前記複数のコンピュータのうちのいずれかのコンピュータからの更新指示によって、前記第2更新グループに属する複数のコンピュータの各々に適用されたソフトウェアの更新が行なわれる、
ことを特徴とする、付記13に記載の制御プログラム。
(付記15)
前記所定の選択条件は、前記情報処理システムに関する制御を行なう役割を割り当てられたn個(nは4以上の整数)のコンピュータのうちの、2以上且つn−2以下のコンピュータが前記第1更新グループに含まれるように、前記複数の装置グループの各々からコンピュータを選択することを含む、
ことを特徴とする、付記13又は付記14に記載の制御プログラム。
(付記16)
前記所定の選択条件は、前記情報処理システムに関する制御を行なう役割を割り当てられたn個(nは1以上且つ3以下の整数)のコンピュータのうちの、1以上且つn−1以下のコンピュータが前記第1更新グループに含まれるように、前記複数の装置グループの各々からコンピュータを選択することを含む、
ことを特徴とする、付記13又は付記14に記載の制御プログラム。
(付記17)
前記コンピュータに、前記情報処理システムに関する制御を行なう役割を割り当てられたことを特徴とする、付記15又は付記16に記載の制御プログラム。
(付記18)
前記コンピュータに、
前記複数のコンピュータのうちの、前記所定の選択条件に基づき選定したn−1個のコンピュータに対して、前記情報処理システムに関する制御を行なう役割を割り当てる
処理を実行させることを特徴とする、付記17に記載の制御プログラム。
1 ストレージシステム
2 ノード
21 メモリ部
211 構成情報
212 グループリスト
213 版数情報
22 API提供部
23 マスタ候補ノード選択部
24 グループ決定部
25 ノード通信部
26 更新処理部
27 デバイス制御部
3 ストレージ
4 ホスト装置

Claims (8)

  1. 情報処理システムがそなえる複数の情報処理装置のうちのいずれかの情報処理装置であって、
    前記複数の情報処理装置の各々に適用されたソフトウェアの更新を制御する制御部をそなえ、
    前記複数の情報処理装置は、所定数の情報処理装置ごとに装置グループを構成し、
    前記制御部は、
    所定の選択条件に基づき複数の前記装置グループの各々から1つずつ情報処理装置を選択し、選択した複数の情報処理装置を第1更新グループに割り当てる割当部と、
    前記第1更新グループに属する前記複数の情報処理装置の各々に対して、当該情報処理装置に適用されたソフトウェアの更新指示を送信する送信部と、をそなえる
    ことを特徴とする、情報処理装置。
  2. 前記割当部は、前記複数の装置グループの各々において選択されなかった情報処理装置を第2更新グループに割り当て、
    前記第1更新グループに属する前記複数の情報処理装置の各々に適用されたソフトウェアの更新の完了後に、前記第1更新グループに属する前記複数の情報処理装置のうちのいずれかの情報処理装置からの更新指示によって、前記第2更新グループに属する複数の情報処理装置の各々に適用されたソフトウェアの更新が行なわれる、
    ことを特徴とする、請求項1に記載の情報処理装置。
  3. 前記所定の選択条件は、前記情報処理システムに関する制御を行なう役割を割り当てられたn個の情報処理装置のうちの、2以上且つn−2以下の情報処理装置が前記第1更新グループに含まれるように、前記複数の装置グループの各々から情報処理装置を選択することを含む、
    ことを特徴とする、請求項1又は請求項2に記載の情報処理装置。
  4. 前記所定の選択条件は、前記情報処理システムに関する制御を行なう役割を割り当てられたn個の情報処理装置のうちの、1以上且つn−1以下の情報処理装置が前記第1更新グループに含まれるように、前記複数の装置グループの各々から情報処理装置を選択することを含む、
    ことを特徴とする、請求項1又は請求項2に記載の情報処理装置。
  5. 前記情報処理システムに関する制御を行なう役割を割り当てられたことを特徴とする、請求項3又は請求項4に記載の情報処理装置。
  6. 前記複数の情報処理装置のうちの、前記所定の選択条件に基づき選定したn−1個の情報処理装置に対して、前記情報処理システムに関する制御を行なう役割を割り当てる装置管理部をそなえる、
    ことを特徴とする、請求項5に記載の情報処理装置。
  7. 複数の情報処理装置をそなえ、
    前記複数の情報処理装置は、所定数の情報処理装置ごとに装置グループを構成し、
    前記複数の情報処理装置のうちの第1の情報処理装置は、
    前記複数の情報処理装置の各々に適用されたソフトウェアの更新を制御する制御部をそなえ、
    前記制御部は、
    所定の選択条件に基づき複数の前記装置グループの各々から1つずつ情報処理装置を選択し、選択した複数の情報処理装置を第1更新グループに割り当てる割当部と、
    前記第1更新グループに属する前記複数の情報処理装置の各々に対して、当該情報処理装置に適用されたソフトウェアの更新指示を送信する送信部と、をそなえる
    ことを特徴とする、情報処理システム。
  8. 情報処理システムがそなえる複数のコンピュータのうちのいずれかのコンピュータに、
    前記複数のコンピュータの各々に適用されたソフトウェアの更新を制御する、
    処理を実行させ、
    前記複数のコンピュータは、所定数のコンピュータごとに装置グループを構成し、
    前記制御は、
    所定の選択条件に基づき複数の前記装置グループの各々から1つずつコンピュータを選択し、選択した複数のコンピュータを第1更新グループに割り当て、
    前記第1更新グループに属する前記複数のコンピュータの各々に対して、当該コンピュータに適用されたソフトウェアの更新指示を送信する
    ことを特徴とする、制御プログラム。
JP2017083709A 2017-04-20 2017-04-20 情報処理装置、情報処理システム、及び制御プログラム Active JP6536618B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017083709A JP6536618B2 (ja) 2017-04-20 2017-04-20 情報処理装置、情報処理システム、及び制御プログラム
US15/951,232 US10365923B2 (en) 2017-04-20 2018-04-12 Information processing device, information processing system, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017083709A JP6536618B2 (ja) 2017-04-20 2017-04-20 情報処理装置、情報処理システム、及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2018181194A true JP2018181194A (ja) 2018-11-15
JP6536618B2 JP6536618B2 (ja) 2019-07-03

Family

ID=63852297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017083709A Active JP6536618B2 (ja) 2017-04-20 2017-04-20 情報処理装置、情報処理システム、及び制御プログラム

Country Status (2)

Country Link
US (1) US10365923B2 (ja)
JP (1) JP6536618B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7505198B2 (ja) 2020-02-12 2024-06-25 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システムおよびプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3723421A1 (en) * 2017-07-01 2020-10-14 Ruckus Wireless, Inc. Identifying a synchronization master for radio nodes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031312A (ja) * 2004-07-15 2006-02-02 Hitachi Ltd ストレージ装置
JP2009230171A (ja) * 2008-03-19 2009-10-08 Fujitsu Ltd アップデート管理プログラム、管理ノード、アップデート管理方法、およびクラスタシステム
US20140089912A1 (en) * 2012-09-21 2014-03-27 Silver Spring Networks, Inc. System and method for efficiently updating firmware for nodes in a mesh network
JP2016157270A (ja) * 2015-02-24 2016-09-01 富士通株式会社 ストレージ制御装置、およびストレージ制御プログラム
WO2016181462A1 (ja) * 2015-05-11 2016-11-17 株式会社日立製作所 情報処理システムおよびクラスタ管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120801A1 (en) * 2001-12-21 2003-06-26 Keever Darin W. Method and apparatus for a group communication system
CN100580653C (zh) * 2004-03-12 2010-01-13 微软公司 用于管理更新分发系统中软件更新的分发的应用程序编程接口
JP2006113754A (ja) 2004-10-13 2006-04-27 Ntt Comware Corp ソフトウェア更新装置及び方法
KR101383691B1 (ko) * 2010-10-25 2014-04-09 한국전자통신연구원 무선 메쉬 네트워크에서의 협력적 무선 펌웨어 업데이트 장치 및 방법
CA2886035A1 (en) * 2012-11-01 2014-05-08 Cooper Technologies Company Distribution of software updates in wireless multihop networks
US9904535B2 (en) * 2015-09-14 2018-02-27 At&T Intellectual Property I, L.P. Method and apparatus for distributing software

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031312A (ja) * 2004-07-15 2006-02-02 Hitachi Ltd ストレージ装置
JP2009230171A (ja) * 2008-03-19 2009-10-08 Fujitsu Ltd アップデート管理プログラム、管理ノード、アップデート管理方法、およびクラスタシステム
US20140089912A1 (en) * 2012-09-21 2014-03-27 Silver Spring Networks, Inc. System and method for efficiently updating firmware for nodes in a mesh network
JP2016157270A (ja) * 2015-02-24 2016-09-01 富士通株式会社 ストレージ制御装置、およびストレージ制御プログラム
WO2016181462A1 (ja) * 2015-05-11 2016-11-17 株式会社日立製作所 情報処理システムおよびクラスタ管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7505198B2 (ja) 2020-02-12 2024-06-25 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システムおよびプログラム

Also Published As

Publication number Publication date
US10365923B2 (en) 2019-07-30
JP6536618B2 (ja) 2019-07-03
US20180307475A1 (en) 2018-10-25

Similar Documents

Publication Publication Date Title
US11500552B2 (en) Configurable hyperconverged multi-tenant storage system
US7966470B2 (en) Apparatus and method for managing logical volume in distributed storage systems
JP7106953B2 (ja) サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム
JP6222227B2 (ja) ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
JP2009193599A (ja) アレイ・コントローラ及び記憶サブシステムを備えたコンピュータ・システム
JP2014137711A (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
CN105068836A (zh) 一种基于sas网络的远程可共享的启动系统
US10482049B2 (en) Configuring NVMe devices for redundancy and scaling
US10860224B2 (en) Method and system for delivering message in storage system
JP6536618B2 (ja) 情報処理装置、情報処理システム、及び制御プログラム
US20180307427A1 (en) Storage control apparatus and storage control method
US20160224273A1 (en) Controller and storage system
JP5747133B1 (ja) 共有ストレージシステム、及びストレージ装置へのアクセスを制御する方法
WO2013175622A1 (ja) 情報処理装置、情報処理プログラム、およびアクセス制御方法
JP6022116B1 (ja) 階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法
JP5924117B2 (ja) コンピュータ、データ格納方法、データ格納プログラム及び情報処理システム
US20160203016A1 (en) Methods, systems, and computer readable media for virtual machine (vm) deployment
JP2021047806A (ja) 情報処理システム、情報処理装置および情報処理プログラム
JP2016012166A (ja) ストレージ管理装置,ストレージ管理プログラム,及び制御方法
CN114327250B (zh) 存储系统和存储系统的控制方法
US20230004374A1 (en) Computer system and control method for firmware version management
KR102084661B1 (ko) 디스크 관리 방법 및 이를 수행하는 컴퓨터 장치
JP2018124618A (ja) 情報処理装置、制御プログラム、及び制御方法
US10585601B2 (en) Information processing apparatus, storage apparatus, and information processing system wherein virtual volume to physical volume mapping is updated from management machine responsive to storage indicating said physical volume is not present
JP6492863B2 (ja) 拡張記憶制御装置、拡張記憶制御システム、拡張記憶制御方法、及び、拡張記憶制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190520

R150 Certificate of patent or registration of utility model

Ref document number: 6536618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150