JPWO2016166880A1 - ストレージシステム、ストレージ装置 - Google Patents
ストレージシステム、ストレージ装置 Download PDFInfo
- Publication number
- JPWO2016166880A1 JPWO2016166880A1 JP2017512162A JP2017512162A JPWO2016166880A1 JP WO2016166880 A1 JPWO2016166880 A1 JP WO2016166880A1 JP 2017512162 A JP2017512162 A JP 2017512162A JP 2017512162 A JP2017512162 A JP 2017512162A JP WO2016166880 A1 JPWO2016166880 A1 JP WO2016166880A1
- Authority
- JP
- Japan
- Prior art keywords
- management
- processor
- command
- message
- destination
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
ストレージシステムは、管理サーバ計算機及びストレージ装置を備える。ストレージ装置は、第1ネットワークを介して管理サーバ計算機に接続される管理プロセッサと、管理プロセッサに第2ネットワークを介して接続され、かつ、記憶デバイスに接続されて記憶デバイスヘのI/Oを実行する複数のI/Oプロセッサと、を有する。管理サーバ計算機は、複数のI/OプロセッサのうちのいずれかのI/Oプロセッサのためのコマンドを生成する。管理サーバ計算機は、コマンドをカプセル化しかつ暗号化して暗号化メッセージを生成し、暗号化メッセージを管理プロセッサへ送信する。管理プロセッサは、暗号化メッセージを受信し、コマンドに基づいて、複数のI/OプロセッサのうちのI/Oプロセッサを第1宛先として選択する。管理プロセッサは、暗号化メッセージを復号化しカプセル化を解除してコマンドを復元し、第1宛先に対してコマンドを送信する。
Description
本発明は、ストレージ装置の保守及び管理のための技術に関する。
ストレージ装置は、物理記憶デバイス、チャネル基板、ディスクアダプタ基板、及び、1又は複数のプロセッサを含む制御基板等のコンポーネントを有し、これらの要素が相互接続される。チャネル基板は、フロントエンドのインタフェースであり、例えば、FC(Fibre Channel)やiSCSI(Internet Small Computer System Interface)等の通信ネットワークを介してホスト計算機に接続される。また、ディスクアダプタ基板は、バックエンドのインタフェースであり、例えばSAS(Serial Attached SCSI)等の通信ネットワークを介して物理記憶デバイスに接続される。制御基板には、1つ又は複数のプロセッサが含まれる。
ストレージ装置は、ホスト計算機からのI/O(Input or Output)処理を行う装置である。具体的には、ストレージ装置のプロセッサが、ホスト計算機からのI/O要求を受信した場合に、そのI/O要求に応じて物理記憶デバイスにデータをリード又はライトする。
ストレージ装置には管理サーバ計算機や保守端末が接続される。管理サーバ計算機及び保守端末は、プロセッサに対して通信することによりストレージ装置の保守及び管理を行う。
管理サーバ計算機は、通信ネットワークを介して制御基板に接続され、プロセッサ保守・管理のための制御を行っている。このため、管理サーバ計算機からストレージ装置の通信は、ストレージ装置の外部からの攻撃にさらされる場合もある。
上記課題を解決するために、本発明の一態様であるストレージシステムは、管理サーバ計算機及びストレージ装置を備える。ストレージ装置は、第1ネットワークを介して管理サーバ計算機に接続される管理プロセッサと、管理プロセッサに第2ネットワークを介して接続され、かつ、記憶デバイスに接続されて記憶デバイスへのI/Oを実行する複数のI/Oプロセッサと、を有する。管理サーバ計算機は、複数のI/OプロセッサのうちのいずれかのI/Oプロセッサのためのコマンドを生成する。管理サーバ計算機は、コマンドをカプセル化しかつ暗号化して暗号化メッセージを生成し、暗号化メッセージを管理プロセッサへ送信する。管理プロセッサは、暗号化メッセージを受信しコマンドに基づいて、複数のI/OプロセッサのうちのI/Oプロセッサを第1宛先として選択する。管理プロセッサは、暗号化メッセージを復号化しカプセル化を解除してコマンドを復元し、第1宛先に対してコマンドを送信する。
本発明のストレージシステムは、管理サーバ計算機とストレージ装置との間のセキュアな通信ができる。
なお、以後の説明では「aaaテーブル」、「aaa一覧」等の表現にて本発明の情報を説明するが、これら情報はテーブル、一覧、等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」、「aaa一覧」等について「aaa情報」と呼ぶことがある。
さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「番号」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート及び通信制御デバイスを用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。
また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって記憶装置にインストールされてもよい。
本発明は、以下に説明する実施例に限定されるものではない。以下、図面を用いて本実施例を説明する。
図1は、本実施例に係るストレージシステムの構成図である。本実施例のストレージシステムは、ストレージ装置1を保守及び管理するため操作を実行する管理系のシステムである。
ストレージシステムは、ストレージ装置1と、複数の管理サーバ計算機(以下、管理サーバという)2と、保守端末3とを有する。ストレージ装置1、複数の管理サーバ2及び保守端末3は、管理LAN(第1ネットワーク)5を介して相互に接続されている。管理LAN5は、例えばEthernet(登録商標)等のインタフェース(I/F)で接続されたネットワークである。なお、管理サーバ2は、複数には限られず1つであってもよい。
保守端末3は、図示しないプロセッサ及びメモリとNIC(network interface card)等の通信I/Fとを有する汎用計算機である。保守端末3では、webブラウザ31が実行されている。webブラウザ31は、ストレージ装置1のwebサーバ111に対して、httpや、httpsなどのプロトコルを用いて接続される。なお、httpsの通信には、SSL(Secure Sockets Layer)が用いられる。ユーザ又は保守員は、保守端末3のwebブラウザ31を介してストレージ装置1におけるプログラムのインストールや初期設定、FRU(Field Replaceable Unit)等の交換可能なハードウェアの閉塞及び交換指示、障害又は保守に関する情報の取得を行う。
管理サーバ2は、図示しないプロセッサ及びメモリと通信I/Fとを有する。管理サーバ2では、メモリ内のプログラムをプロセッサが実行することにより複数の管理アプリケーション21及び通信アプリケーション23が実行される。また、管理サーバ2では、ストレージ装置1のL7SW(レイヤ7スイッチ)機能を利用するL7SWクライアント25が実行されている。図中では、複数の管理アプリケーション21が、管理APP#A、管理APP#Bとして示されているが、1つの管理アプリケーションのみが実行されていてもよい。なお、管理サーバ2で実行される通信アプリケーション23を、以下では、サーバAPP23という場合がある。
管理アプリケーション21は、ストレージ装置1の論理デバイス(LDEV)の管理、PATHの定義、及び、モニタ情報採取などの機能を有する。
ストレージ装置1は、冗長化された2つのコントローラ(CTL、制御基板)10を有する。なお、本実施例ではストレージ装置1が有するCTL10の数は2つであるが、CTL10の数は2つには限られず1つであってもよいし、3つ以上であってもよい。2つのCTL#1と#2の構成は、基本的に同様である。
各CTL10は、複数のI/Oプロセッサ(以下、MP:Main Processerという)13と、管理プロセッサ(以下、BMC:Baseboard Management Controllerという)11とを有する。各CTL10内の複数のMP17及びBMC11は、内部LAN(第2ネットワーク)15を介して相互に接続されている。また、2つのCTL#1、#2は、内部LAN15を介して接続されることで冗長化されている。なお、この例では、管理プロセッサをBMCとして説明しているが、これに限定されない。管理プロセッサは、例えば、SOC(System on Chip)等の他のプロセッサでもよい。
内部LAN15は、例えば、Gigabit EthernetなどのI/Fで接続されており、ストレージ装置1の外部から遮断されたネットワークである。一方、管理LAN5には、BMC11が接続される。管理サーバ2及び保守端末3は、BMC11を介してMP17と通信する。なお、内部LAN15は、PCIe(PCI Express)等の高速通信I/Fであってもよい。
BMC11は、図示しないプロセッサ、メモリ、管理LAN5に接続される通信I/F、及び内部LAN15に接続される通信I/Fを有する。BMC11には、例えばフラッシュメモリROM(FROM)等の記憶デバイス14が接続される。記憶デバイス14には、ストレージ装置1の保守及び管理を行うプログラムであるBMCファームウェア(BMCF/W)、ネットワークの設定情報及び認証情報等の各種構成情報が格納される。
ストレージ装置1を起動した場合に、BMCF/WがBMC11のメモリに展開され実行される。BMCF/Wにより、BMC11は、webサーバ111と、保守/UI API(Application Programming Interface)117と、通信アプリケーション113と、L7SWサーバ119と、排他制御機能115と、を実現する。このとき、メモリ上にL7SWテーブル41、及び、排他制御テーブル121が展開される。なお、BMC11で実行される通信アプリケーション113を、以下では、BMCAPP113という場合がある。BMCF/Wにより、BMC11はさらに、ストレージ装置1の電源制御、管理サーバがストレージ装置を遠隔操作するリモートKVM機能、電圧や温度情報などの環境情報を収集する等のストレージ装置1を保守・管理するための機能を実現する。
管理サーバ2のL7SWクライアント25と、BMC11のL7SWサーバ119とは、TCP/IPベースのソケット通信プロトコルを用いて接続される。
複数のMP17には、例えばSSD(Solid State Drive)等の1つ又は複数の記憶デバイス12が接続される。記憶デバイス12には、メインマイクロプログラム(メインマイクロ)171が格納される。MP17は更に、図示しないチャネル基板、SAN(Storage Area Network)等のネットワークを介して、図示しないホスト計算機に接続される。
ストレージ装置1を起動した場合に、メインマイクロ171が各MP17内のメモリに展開され実行される。メインマイクロ171により、各MP17では、通信アプリケーション172、IO制御モジュール173及び保守制御モジュール174が実現される。なお、MP17で実行される通信アプリケーション172を、以下では、MPAPP172という場合がある。
IO制御モジュール173は、ホスト計算機からのI/O要求に応じて、図示しない物理記憶デバイスとのI/Oを制御する。保守制御モジュール174は、BMC11のL7SWサーバ119を介して管理サーバ2の管理アプリケーション21と通信する。また、保守制御モジュール174は、BMC11の保守/UI API117とWebサーバ111を介して、保守端末3又は管理サーバ2の管理アプリケーション21と通信する。
各管理サーバ2、BMC11及び各MP17上で、通信アプリケーション23、113、172がそれぞれ動作することにより、各管理サーバ2、BMC11及び各MP17の間で共通I/Fでの通信が可能となる。通信アプリケーション23、113、172は、要求される機能を示すAPID(Application ID)を含むコマンドによるコマンド通信を行う。各通信アプリケーション23、113、172間の通信は、APIDに依存しないTCPセッション層によるハンドシェーク論理を用いている。なお、APIDを用いたコマンド通信は、TCPのセッションとは異なるより上位層であるアプリケーション層の通信となる。
なお、管理サーバ2のL7SWクライアント25とBMC11のL7SWサーバ119との間の通信を、管理サーバ−BMC間通信という。また、L7Wクライアント及びL7SWサーバ119を介した管理サーバ2とMP17との間の通信を管理サーバ−MP間通信という。また、BMC11の保守/UI API117を介した保守端末3とMP17との間のhttp/httpsを用いた通信を直接ラウンチといい、保守UI/API117を介した管理サーバ2の管理アプリケーション21とMP17との間のhttp/httpsを用いた通信を間接ラウンチという。
MP17は、管理LAN5に直接接続されずに、BMC11を介して管理LAN5に接続される。これにより、MP17が、ストレージ装置1の外部からの攻撃を受けにくくなる。
また、保守UI/API117がBMC11で実行されることにより以下(1)−(3)の効果を有する。
(1)保守端末3の画面表示などのUI処理を、MP17のI/O処理とは独立して行うことができる。つまり、保守UI/API117がMP17の資源を使用しないため、UI処理を行うことでのI/Oのスループットの低下や応答遅延を回避することができる。
(2)MP17に障害が発生した場合であっても、保守UI/API117がMP17の障害情報をモニタ及び収集できる。
(3)例えば、OpenSSLなどのセキュリティのアップデートが必要になった場合に、BMC/FWのアップデートを行うたけでよい。つまり、セキュリティのアップデートの度にメインマイクロのアップデートを行う必要はない。このため、保守UI/API117がMP17で実行される場合に比べて、メインマイクロのアップデート回数や、アップデート中及びアップデート後のリブート等による、I/O処理への影響を回避できる。
(2)MP17に障害が発生した場合であっても、保守UI/API117がMP17の障害情報をモニタ及び収集できる。
(3)例えば、OpenSSLなどのセキュリティのアップデートが必要になった場合に、BMC/FWのアップデートを行うたけでよい。つまり、セキュリティのアップデートの度にメインマイクロのアップデートを行う必要はない。このため、保守UI/API117がMP17で実行される場合に比べて、メインマイクロのアップデート回数や、アップデート中及びアップデート後のリブート等による、I/O処理への影響を回避できる。
図2は、APIDの一覧を示す図である。
APIDの一覧を説明する。APIDは、前述の通り、通信アプリケーション23、113、172において事前に定義されたIDである。この一覧は、各管理サーバ2、BMC11及びMPがそれぞれ記憶する。
一覧は、APIDの毎のエントリを有する。各エントリは、APID301と、当該APIDを含むコマンド(以下、APコマンドという)の送信先の装置を指定した通信タイプ302と、当該APコマンドの機能303と、当該通信に使用されるBMCのCTLを指定したBMC304と、送信先MP17にAPコマンドを送信するBMC11のアプリケーションの種別を示すAPP種別305と、を有する。
例えば、APID0x10は、管理サーバ2がCTL1又は2のうちの閉塞の対象となるMP17に対し、対象MPの閉塞を指示する場合のIDである。BMCAPP113が対象MPにAPコマンドを送信する。また、例えば、APID0x81は、管理サーバ2が対象のBMC11に対し、BMCF/Wの交換を指示する場合のIDである。
図3は、L7SWテーブル41の一例である。
L7SWテーブル41は、BMC11のメモリに記憶され、L7SWサーバ119により更新され参照されるテーブルである。
L7SWテーブル41は、メッセージID毎のエントリを有する。各エントリは、L7SWクライアント25からL7SWサーバ119に送信されるメッセージを識別するメッセージID401と、当該メッセージの送信元の装置のIPアドレスである送信元IP402と、当該メッセージの送信先の装置のIPアドレスである送信先IP403と、当該メッセージの送信がSSLを用いて行われた場合の接続先を示すSSL構造体ポインタ404と、接続状態を示す接続ステータス405と、接続先の装置が有するMPのMP番号406と、L7SWクライアント25及びL7SWサーバ119の間の通信を識別する管理サーバ−BMC間FD番号407と、L7SWサーバ119及びMP17の間の通信の識別子であるBMC−MP間FD番号408とを有する。管理サーバ−BMC間FD番号407及びBMC−MP間FD番号408により、L7SWクライアント25及びL7SWサーバ119の間の通信とBMC11及びMP17間の通信とが関連づけられる。なお、L7SWクライアント25及びL7SWサーバ119間の通信の識別は、メッセージID501を用いて識別することができる。このため、L7SWテーブル41には、管理サーバ−BMC間FD番号407の欄を設けなくてもよい。
なお、この例では、送信元又は送信先の装置は、保守端末3、BMC11又はMP17のいずれかである。SSL構造ポインタは、暗号化されたメッセージを送信する場合の接続先である。接続ステータスは、例えば、初期状態、セッションの待ち状態(listen)、通常のセッション(http)を受け付けた状態(accept済み)、SSLでのセッション(https)を受け付けた状態(SSL accept済み)、通常のセッションのクローズ待ちの状態、接続の認証済み状態、SSLでのセッションのクローズ待ち状態などがコード化されて入力される。例えば、10はセッションの待ち状態、30はSSLを用いたセッションを受け付けた状態である。
図4は、排他制御テーブル121の一例である。
排他制御テーブル121は、BMC11のメモリに記憶され、保守/UI API117又はL7SWサーバ119により更新され参照されるテーブルである。排他制御テーブル121は、MP17毎に排他制御を行うためのテーブルである。つまり、このテーブル121は、各MP17対し2つ以上のAPコマンドを送信することを防ぐために使用される。
排他制御テーブル121は、MP17毎のエントリを有する。各エントリは、MP17の識別子であるMP番号501と、当該MPの実行状態を示すステータス502、当該MPのエントリ中APID503と、コマンドの要求元のIDの種別を示すID種504と、当該コマンドのIDを示す要求元ID505と、要求元のIPアドレスを示す要求元IP506と、を有する。本実施例では、要求元ID種504は、保守/UI API117のプロセスのPID(Process ID)又はメッセージのメッセージIDのいずれかである。要求元ID種504がPIDである場合、保守端末3のwebブラウザ31とBMC11のwebサーバ111との間の通信を経由したコマンドであることを示す。要求元ID種504がメッセージIDである場合、管理サーバ2のL7SWクライアント25とBMC11との間の通信を経由したコマンドであることを示す。要求元ID505は、PID又はメッセージIDのいずれかのIDを示す。要求元IP506は、要求元である保守端末3又は管理サーバ2のIPアドレスである。なお、エントリ中APID503、要求元ID種504、要求元ID505及び要求元IP506の各情報は、管理目的の情報である。このため、排他制御テーブル121には、これらの欄を設けなくてもよい。
図5は、L7SWサーバ119を介した管理サーバ−MP間通信を説明する図である。
管理サーバ2の管理アプリケーション21が、L7SWサーバ119を介してMP17の保守制御モジュール174と通信を行う場合を説明する。管理アプリケーション21から関数をコールされた場合、サーバAPP23は、その関数を示すAPID及び宛先のMP番号(MP#)を含めたヘッダをデータに付与したAPコマンドを、L7SWクライアント25に引き渡す。このヘッダを、以下の説明及び図では通信APPヘッダ71という。通信APPヘッダ71には、APコマンドの識別子が指定される。識別子として、例えば、APコマンドの送信の開始を示す送信フラグ、APコマンドの正常受信の受信応答であるACKフラグ、APコマンドの異常受信の受信応答であるNAKフラグ、APコマンドに実データが存在することを示すデータフラグ、APコマンドがデータの再送であることを示す再送フラグ等が指定される。また、宛先のMP番号には、例えば”any“として、宛先のMPが指定されなくてもよい。
L7SWクライアント25は、管理アプリケーション21から関数コールによりサーバAPP23が呼び出されると、このサーバAPP23の指示により、L7SWサーバ119とのセッションを確立する。L7SWクライアント25は、受信したAPコマンドにL7ヘッダ72を付与することによりカプセル化したメッセージを生成し、メッセージをSSL26により暗号化しTCPヘッダ73及びIPヘッダ74を付与し、管理LAN5を通じて暗号化されたメッセージを送信する。L7ヘッダ72には、前述のメッセージIDと、送信元の管理サーバ2及び管理アプリケーション21を指定する送信元種類、送信先のBMC11又はMP17を指定する送信先種類が指定される。なお、L7SWクライアント25は、生成したメッセージを暗号化せずに平文のまま平文のメッセージとして送信してもよい。
L7SWサーバ119は、メッセージID解釈機能42と、セッション終端機能46と、メッセージID管理機能45と、MP振分機能44と、L7SWテーブル参照更新機能47と、SSL43と、排他制御機能115とを有する。
L7SWサーバ119は、L7クライアント25とのセッションを確立した後、L7SWサーバ119から暗号化されたメッセージを受信し、TCPヘッダ73及びIPヘッダ74を除去し、復号する。なお、受信したメッセージが平文のメッセージの場合は、L7SWサーバ119は、TCPヘッダ73及びIPヘッダ74を除去した後の複合はしない。
L7SWサーバ119は、メッセージのL7ヘッダ72の情報に基づき、メモリ内のL7SWテーブル41を更新する(メッセージID解釈機能42)。このとき、送信先がMPである場合には、L7SWサーバ119は、宛先のMPを決定する(MP振分機能44)。この場合、L7SWサーバ119は、排他制御テーブル121に基づき、宛先となるMP17への通信が多重化されないよう、排他制御を行う(排他制御機能115)。排他制御については、後述する。
L7SWサーバ119は、メッセージのL7ヘッダを除去する。これにより、APコマンドが復元される。更にL7SWサーバ119は、L7SWクライアント25とのセッションを終端する(セッション終端機能46)。
L7SWサーバ119は、復元したAPコマンドに、宛先MPを示すTCPヘッダ73及びIPヘッダ74を付与し、内部LAN15を介して宛先MPに送信する。内部LAN15上のAPコマンドの通信は、暗号化されていない平文の通信となる。なお、L7SWサーバ119は、復元したAPコマンド内に宛先のMP番号が指定されていない場合、MP17への多重化を回避する為後述の排他制御により宛先のMP17を選択する。そして、L7SWサーバ119は、選択した宛先のMP番号を通信APPヘッダ71に含めたAPコマンドを宛先のMP17に送信する。
本実施例では、各管理サーバ2にL7SWクライアント25を設け、BMC11にL7SWサーバ119を設けた。これにより、L7SWサーバ119は、1又は複数の管理サーバ2内の複数の管理アプリケーション21からの要求に基づくメッセージを一括して受付けることができるとともに、その内部のAPコマンドを複数のMPに振り分ける事ができる。また、L7SWサーバ119は、MP17とのAPコマンドによる通信をメッセージ毎に管理することができる。
L7SWクライアント25が、(a)L7ヘッダを付与したメッセージを生成することで、管理LAN5上でAPコマンドがカプセル化されたメッセージを用いてL7SWサーバ119と通信を行うことができる。これにより、メッセージの宛先をL7SWサーバにする等、コマンドのフォーマットを隠蔽することができる。
さらに、L7SWクライアント25がSSLを有することにより、(b)L7SWサーバ119に対する管理LAN5上のメッセージの通信が暗号化される。このため、管理LAN5におけるストレージ装置1の外部からの盗聴、改ざん、なりすまし又はDDoS(Distributed Denial of Service)攻撃などのセキュリティ上のリスクを低減できる。
一方、BMC11にL7SWサーバ119を設けたことにより、メッセージを用いることで、(c)管理サーバ2からMP17への通信を一旦BMC11のL7SWサーバ119で完結させることができる。これにより、下記に示す(d)〜(f)の効果が得られる。
(d)管理サーバ2からMP17への通信を一旦BMC11のL7SWサーバ119で完結させることにより、各管理サーバ2上で複数の管理アプリケーション21が実行される場合であっても、L7ヘッダ72(送信元種類)により送信元の管理アプリケーション21が識別できる。これにより、複数の管理アプリケーション21から非同期でメッセージでの通信を行うことができ、管理アプリケーション21間で同期をとる必要がなくなる。これは複数の管理サーバ2を有する場合も同様である。L7SWサーバ119は、1又は複数のL7SWクライアント25から送信されるメッセージに基づくAPコマンドの処理を、メッセージID毎のスレッドで管理することができる。
(e)L7SWサーバ119により、管理サーバ−MP間通信を、管理サーバ2とBMC11との間の第1通信と、BMC11とMP17との間の第2通信に分離することができる。これにより、第1通信ではコマンドを暗号化し、第2ではコマンドを非暗号化することができる。従って、高いスループット及び応答性能を求められるI/O制御を行うMP17は、暗号処理による負荷を負うことがない。
(f)L7SWサーバ119により、第2通信においては、L7ヘッダを除去したAPコマンドを用いた通信が可能になる。つまり、第1通信とは分離した第2通信を用いることにより、管理サーバ−MP間の通信がBMC11で一旦バッファされ、BMC11とMP17との間の第2通信となる。このようにすることで、管理サーバ−MP間のコマンドの直接の送受信機会(TCP層でのハンドシェーク及び通信を含む)を少なくすることができるため、管理サーバ2とBMC11との間の管理LAN5の帯域幅に拘束されずにすむ。また、管理LAN5に通信障害が発生した場合であっても、BMC11が受信したメッセージに基づくAPコマンドの処理については、内部LAN15を介したBMC−MP間の第2通信を行えばよいこととなり、管理LAN5側の障害の影響を受けにくい。
(g)また例えば、管理サーバ2が、BMC11が有する情報にアクセスしたい場合もある。この場合、メッセージを用いた管理サーバ−BMC間通信のみで通信を完結できる。なお、BMC11は、例えば、Networkの設定情報や認証情報などを記憶している。
図6は、直接ラウンチを説明する図である。
BMC11における保守/UI API117は、webサーバ111を介してwebブラウザ31に画面表示情報を提供する。また、保守/UI API117は、webブラウザ31からのアクセスに基づき、メインマイクロ171の保守制御モジュール174に対してAPコマンドを送信し、保守制御モジュール174から情報を取得する。具体的には、例えば、保守/UI API117は、ストレージ装置1の構成情報や状態のモニタ情報の取得、保守交換対象部品に対する閉塞指示などを行う。
例えば、webブラウザ31がwebサーバ111に対してhttp又はhttps(暗号化)を用いたセッションを確立する。保守/UI API117は、直接ラウンチと間接ラウンチの何れかの方法により起動される。直接ラウンチでは、webブラウザ31がwebサーバ111を介して保守/UI API117を起動する。間接ラウンチでは、管理サーバ2の管理アプリケーション21がwebサーバ111を介して保守/UI API117を起動する。
webブラウザ31から保守/UI API117に対して要求があった場合、保守/UI API117は、要求に基づいたAPID及び宛先のMP17を指定したAPコマンドを生成する。このAPコマンドを以下では、保守側APコマンドという。そして、BMCAPP113は、通信排他制御を実施した後、通信APPヘッダ71で指定されたMP番号を有するMPを指定したTCPヘッダ及びIPヘッダを保守側APコマンドに付与し、内部LAN15を介して宛先のMPに送信する。内部LAN上では、暗号化されていない平文の通信となる。
保守制御モジュール174は、メインマイクロ171側で閉塞や回復指示等の保守制御のスケジュール管理や構成情報の参照及び更新等、保守/UI API117とメインマイクロ171との通信のためのI/Fの機能を有する。これにより、保守端末3又は管理サーバ(間接ラウンチの場合)21からMP17に対して、ストレージ装置1の保守制御のための操作を行うことができる。
なお、保守/UI API117は、MP17にAPコマンドを送信した後、その応答を待って、次のAPコマンドをMP17に送信する。つまり、保守/UI API117から各MP17へのAPコマンドは、多重化されない。しかし、L7SWサーバ119から各MP17に対するAPコマンドが送信される。
このため、保守/UI API117も、排他制御機能115により、各MPへの通信に対して排他制御を行う。
このため、保守/UI API117も、排他制御機能115により、各MPへの通信に対して排他制御を行う。
間接ラウンチでは、管理アプリケーション21がwebサーバ111を介して保守/UI API117にアクセスすることで、画面表示情報等の情報を取得できる。これにより、管理サーバ2が保守/UI API117と同等の機能を実装しなくても、管理アプリケーション21が保守/UI API117の機能を利用することができる。
図7は、管理サーバ−MP間通信の一例を示すシーケンス図の一部である。図8は、管理サーバ−MP間の通信の一例を示すシーケンス図の他の一部である。
この通信は、管理アプリケーション2がMP17の処理の要求を示す関数をコールした場合に開始される。管理アプリケーション#Aは、サーバAPP23の関数Aをコール(関数callA)する(S701)。
サーバAPP23は、関数Aに対応するAPIDを指定し、APID及び宛先のMP番号を含めた通信APPヘッダ71をデータに付与しAPコマンドを生成する。サーバAPP23は、APコマンドをL7SWクライアント25に引渡す(S702)。
L7SWクライアント25は、L7SWサーバ119との間にSSL又は通常のセッションを確立する。L7SWクライアント25は、新規のメッセージID(0x10)と、送信元種類と、送信先種類を含めたL7ヘッダ72をAPコマンドに付与し暗号化して(通常のセッションの場合は平文のまま)メッセージを生成する。L7SWクライアント25は、メッセージをL7SWサーバ119に送信する(S703)。なお、L7SWクライアント25は、L7SWサーバ119との間のセッション毎に、異なるメッセージIDを生成する。
L7SWサーバ119は、メッセージを受信し、メッセージ内のメッセージID(0x10)に基づくスレッドを管理する(700)。メッセージID0x10のスレッドを破線で示す。L7SWサーバ119は、メッセージに基づきL7SWテーブル41及び排他制御テーブル121を更新し、排他制御を実行し、APコマンドの宛先のMPを選択する。排他制御の詳細は後述する。
L7SWサーバ119は、メッセージ復号しL7ヘッダを除去することによりAPコマンドを復元する。なお、この例ではAPコマンドに、実データの存在を意味する(Data Flag ON)の識別子が含まれる。L7SWサーバ119は、APコマンドをMPAPP172に送信する(S704)。
MPAPP172は、APコマンドを受信し、L7SWサーバ119に受信応答を送信する(S706)。この例では、APコマンドの受信応答(AP応答)のAPヘッダには、正常応答である旨の識別子(ACK Flag ON)が含まれる。
L7SWサーバ119は、AP応答を受信し、L7SWクライアント25に対し、メッセージの受信応答(メッセージ応答)を送信する(S707)。なお、メッセージ応答には、対応するメッセージと同じメッセージID0x10が付与される。
MPAPP172は、S704で受信したAPコマンド内のAPID及びデータを、メインマイクロ171に引き渡す(S708)。
メインマイクロ171は、APIDを解釈し、その要求に基づく処理を実行する。この例では、APIDが0x04であるので、メインマイクロ171は、構成情報を参照し、情報を返す処理を実行する(図2参照)。
メインマイクロ171は、処理が終了した後、APコマンドに基づく処理の結果を、MPAPP172に引き渡す(S710)。
MPAPP172は、メインマイクロ171から処理の結果を取得し、結果に基づきAP処理応答を生成し、AP処理応答をL7SWサーバ119に送信する(S711)。なお、AP処理応答は、結果となるデータに通信APPヘッダ71を付したAPコマンドの形式で送信される。この例では、AP処理応答のAPヘッダには、実データの存在を意味する識別子に(Data Flag ON)が含まれる。
L7SWサーバ119は、AP処理応答を受信し、AP処理応答に基づきメッセージ処理応答を生成し、メッセージ処理応答をL7SWクライアント25に送信する(S712)。メッセージ処理応答は、AP処理応答にL7ヘッダを付与して生成される。このL7ヘッダには、当該処理要求のメッセージに含まれるメッセージIDに関連するメッセージIDが含まれる。具体的には、この例では、処理要求のメッセージID0x10に0x10を加えて0x20とする。
L7SWクライアント25は、メッセージ処理応答を受信し、管理アプリケーション#Aに関数Aに基づく要求の結果及び完了応答を通知する(S713)。
管理アプリケーション#Aは、結果及び完了応答を受信し、完了応答の受信応答をL7SWクライアント25に通知する(S714)。
L7SWクライアント25は、受信応答を受信し、その受信応答にL7ヘッダを付与したメッセージ受信応答を、L7SWサーバ119に送信する(S715)。メッセージ受信応答には、メッセージ処理応答と同一のメッセージID(0x20)が含まれる。
L7SWサーバ119は、メッセージ受信応答を受信し、メッセージ受信応答に基づきL7SWテーブル41及び排他制御テーブル121を更新し、メッセージ受信応答のL7ヘッダを除去したAP受信応答をMPAPP172に送信する(S716)。MPAPP172は、AP受信応答を受信し、関数Aの要求に基づく通信を終了する。
図8を説明する。ここでは、管理アプリケーション#Bが、サーバAPP23の関数Bをコール(関数callB)する(S801)場合を説明する。サーバAPP23は、関数Bに対応するAPIDを指定し、APID及び宛先のMP番号を含めた通信APPヘッダ71をデータに付与しAPコマンドを生成する。サーバAPP23は、APコマンドをL7SWクライアント25に引渡す(S802)。
この場合の管理アプリケーション#B−MP17間の通信も、管理アプリケーション#A−MP17間の通信と基本的に同様である。ただし、要求に基づきL7SWクライアント25が生成するメッセージのメッセージIDが異なる(S803)。このメッセージは、メッセージID0x11が付与される。L7SWサーバ119は、メインマイクロ171との間の通信を、メッセージのメッセージID(0x11)に基づくスレッドで管理する(800)。破線で示すメッセージID0x11のスレッドは、メッセージID0x10のスレッドと基本的に同様である。
L7SWサーバ119がL7SWクライアント25に送信するメッセージ応答には、メッセージと同じメッセージID0x11が付与される。
なお、L7SWサーバ119及びL7SWクライアント25間のメッセージ処理応答及びメッセージ受信応答のL7ヘッダには、当該メッセージのメッセージに関連するメッセージID(0x21)が含まれる(S812、S815)。
上記の通信においては、管理アプリケーション21からメインマイクロ171に対する1つの要求について、L7SWクライアント25がL7ヘッダ71にメッセージIDを含めたメッセージを生成する。これにより、L7ヘッダを除去したAPコマンドでのL7SWサーバ119とメインマイクロ171との間の通信が、メッセージIDを用いてスレッド管理できる。これにより、L7クライアント25から複数のメッセージが送信された場合であっても、L7SWサーバ119は、メッセージ毎に通信を管理することができる。図7及び8は、メッセージの0x10系と0x11系の通信スレッドをシリアルに記載しているが、上記の通り多重での処理も可能である。
図9は、管理サーバ−BMC間の通信の一例を示すシーケンス図の一部である。図10は、管理サーバ−BMC間の通信の一例を示すシーケンス図の他の一部である。
この通信は、管理アプリケーション2がBMC11で完結する処理の要求を示す関数をコールした場合に開始される。管理アプリケーション#Aは、サーバAPP23の関数Cをコール(関数callC)する(S901)。
サーバAPP23は、要求Cに対応するAPIDを指定し、APID及び宛先をBMC11とした通信APPヘッダ71をデータに付与しAPコマンドを生成する。サーバAPP23は、APコマンドをL7SWクライアント25に引渡す(S902)。
L7SWクライアント25は、L7SWサーバ119との間にセッションを確立する。L7SWクライアント25は、新規のメッセージID(0x12)と、送信元種類と、送信先種類を含めたL7ヘッダ72をAPコマンドに付与しメッセージを生成する。L7SWクライアント25は、メッセージをL7SWサーバ119に送信する(S903)。
L7SWサーバ119は、メッセージを受信し、メッセージ内のメッセージID(0x12)に基づくスレッドを管理する(900)。メッセージID0x12のスレッドを破線で示す。L7SWサーバ119は、メッセージに基づきL7SWテーブル41を更新する。
L7SWサーバ119は、メッセージのL7ヘッダを除去しAPコマンドを生成する。なお、この例ではAPコマンドに、実データの存在を意味する(Data Flag ON)の識別子が含まれる。L7SWサーバ119は、APコマンドをBMCAPP113に送信する(S904)。
BMCAPP113は、APコマンドを受信し、L7SWサーバ119に受信応答を送信する(S906)。この例では、APコマンドの受信応答(AP応答)のAPヘッダには、正常応答である旨の識別子(ACK Flag ON)が含まれる。
L7SWサーバ119は、AP応答を受信し、L7SWクライアント25に対し、メッセージの受信応答(メッセージ応答)を送信する(S907)。なお、メッセージ応答には、対応するメッセージと同じメッセージID0x12が付与される。
BMCAPP113は、APIDを解釈し、その要求に基づく処理を実行する。この例では、APIDが0x84であるので、BMCAPP113は、BMC構成情報を参照し、情報を返す処理を実行する(図2参照)。
BMCAPP113は、処理が終了した後、APコマンドに基づく処理の結果に基づきAP処理応答を生成し、AP処理応答をL7SWサーバ119に送信する(S911)。なお、AP処理応答は、結果となるデータに通信APPヘッダ71を付したAPコマンドの形式で送信される。この例では、AP処理応答のAPヘッダには、実データの存在を意味する識別子に(Data Flag ON)が含まれる。
L7SWサーバ119は、AP処理応答を受信し、AP処理応答に基づきメッセージ処理応答を生成し、メッセージ処理応答をL7SWクライアント25に送信する(S912)。メッセージ処理応答は、AP処理応答にL7ヘッダを付与して生成される。このL7ヘッダには、当該処理要求のメッセージに含まれるメッセージIDに関連するメッセージIDが含まれる。具体的には、この例では、処理要求のメッセージID0x12に0x10を加えて0x22とする。
L7SWクライアント25は、メッセージ処理応答を受信し、管理アプリケーション#Aに関数Cに基づく要求の結果及び完了応答を通知する(S913)。
管理アプリケーション#Aは、結果及び完了応答を受信し、完了応答の受信応答をL7SWクライアント25に通知する(S914)。
L7SWクライアント25は、受信応答を受信し、その受信応答にL7ヘッダを付与したメッセージ受信応答を、L7SWサーバ119に送信する(S915)。メッセージ受信応答には、メッセージ処理応答と同一のメッセージID(0x22)が含まれる。
L7SWサーバ119は、メッセージ受信応答を受信し、メッセージ受信応答に基づきL7SWテーブル41を更新し、メッセージ受信応答のL7ヘッダを除去したAP受信応答をBMCAPP113に送信する(S916)。BMCAPP113は、AP受信応答を受信し、関数Cの要求に基づく通信を終了する。
図10を説明する。ここでは、管理アプリケーション#Bが、サーバAPP23の関数Dをコール(関数callD)する(S1001)場合を説明する。サーバAPP23は、要求Dに対応するAPIDを指定し、APID及び宛先をBMC11とした通信APPヘッダ71をデータに付与しAPコマンドを生成する。サーバAPP23は、APコマンドをL7SWクライアント25に引渡す(S1002)。
この場合の管理アプリケーション#B−BMC11間の通信も、管理アプリケーション#A−BMC11間の通信と基本的に同様である。ただし、要求に基づきL7SWクライアント25が生成するメッセージのメッセージIDが異なる(S1003)。このメッセージは、メッセージID0x13が付与される。L7SWサーバ119は、BMCAPP113との間の通信を、メッセージのメッセージID(0x13)に基づくスレッドで管理する(1000)。破線で示すメッセージID0x13のスレッドは、図9のメッセージID0x12のスレッドと基本的に同様である。
L7SWサーバ119がL7SWクライアント25に送信するメッセージ応答には、メッセージと同じメッセージID0x13が付与される。
なお、L7SWサーバ119及びL7SWクライアント25間のメッセージ処理応答及びメッセージ受信応答のL7ヘッダには、当該メッセージのメッセージに関連するメッセージID(0x23)が含まれる(S1012、S1015)。
上記の通信では、管理アプリケーション21が、BMC11に対する要求を行った場合であっても、MP17に対する要求と同様にL7SWクライアント25がL7ヘッダ71にメッセージIDを含めたメッセージを生成する。これにより、L7ヘッダを除去したAPコマンドでのL7SWサーバ119とBMCAPP113との間の通信もメッセージIDのスレッドで管理できる。つまり、L7SWサーバ119は、宛先に関わらずL7クライアント25から複数のメッセージをメッセージ毎に管理できる。図9及び10は、メッセージの0x12系と0x13系の通信スレッドをシリアルに記載しているが、上記の通り多重での処理も可能である。
図11は、保守端末−MP間の通信の一例を示すシーケンス図の一部である。
保守端末3がwebブラウザ31を起動した場合、webブラウザ31がwebサーバ111に接続する(http/https接続)(S1102)。
webサーバ111は、要求として、画面表示情報の取得要求を保守/UI API117に送信する(S1103)。保守/UI API117は、排他制御テーブル121を更新し、取得要求に基づき排他制御を実行し、宛先のMPを選択する。排他制御の詳細は後述する。保守/UI API117は、取得要求に基づくAPIDを指定し、APIDをBMCAPP113に引き渡す(S1105)。
BMCAPP113は、APID及び宛先のMP番号を含めた通信APPヘッダ71をデータに付与しAPコマンドを生成する。BMCAPP113は、APコマンドを宛先MPのMPAPP172に送信する(S1106)。なお、この例ではAPコマンドに、実データの存在を意味する(Data Flag ON)の識別子が含まれる。
MPAPP172は、APコマンドを受信し、受信応答をBMCAPP113に送信する(S1108)。この例では、APコマンドの受信応答(AP応答)のAPヘッダには、正常応答である旨の識別子(ACK Flag ON)が含まれる。
BMCAPP113は、AP応答を受信し、保守/UI API117に取得要求に対する受信応答を引き渡す(S1109)。
MPAPP172は、APID及びデータをメインマイクロ171に引き渡す(S1110)。
メインマイクロ171は、APIDを解釈し、その要求に基づく処理を実行する。この例では、APIDが0x04であるので、メインマイクロ171は、構成情報を参照する処理を実行する(図2参照)。メインマイクロ171は、処理が終了した後、APコマンドに基づく処理の結果を、MPAPP172に引き渡す(S1112)。
MPAPP172は、メインマイクロ171から処理の結果となる画面表示用データを取得し、このデータに基づきAP処理応答を生成し、AP処理応答をBMCAPP113に送信する(S1113)。なお、AP処理応答は、結果となるデータに通信APPヘッダ71を付したAPコマンドの形式で送信される。この例では、AP処理応答のAPヘッダには、実データの存在を意味する識別子に(Data Flag ON)が含まれる。なお、AP処理応答は、画面表示用データのデータ量に応じて、データを分割して送信される。
BMCAPP113は、AP処理応答を受信し、通信APPヘッダ71を除去した処理応答を保守/UI API117に引き渡す(S1114)。なお、処理応答は、画面表示用データのデータ量に応じて、データを分割して引き渡される。
保守/UI API117は、処理応答を取得し、その受信応答をBMCAPP113に引き渡す(S1117)。BMCAPP113は、受信応答にデータ通信APPヘッダを付したAP受信応答をMPAPP172に送信する(S1121)。この例では、AP受信応答のAPヘッダには、正常応答である旨の識別子(ACK Flag ON)が含まれる。
保守/UI API117は、処理応答に基づき排他制御テーブルを更新し、画面表示用データをwebサーバ111に送信する(S1118)。
webサーバ111は、画面表示用データをwebブラウザ31に送信する(S1119)。これにより、webブラウザ31上で装置の状態が表示される。
上記処理により、保守端末3のwebブラウザ31からユーザ又は保守員が直接操作した場合であっても、BMC110の保守UI/UIAPI117を介してMP17の情報を取得できる。なお、ここでは、保守端末3のwebブラウザ31からwebサーバ111を介して保守UI/UIAPI117にアクセスしていたが(直接ラウンチ)、管理アプリケーションを介して保守UI/API117にアクセスされてもよい(間接ラウンチ)。
図12は、保守端末−MP間の通信の他の例を示すシーケンス図である。
保守端末3がwebブラウザ31を起動した場合、webブラウザ31がwebサーバ111に接続する(http/https接続)(S1202)。ユーザは、webブラウザを介して障害が発生した制御基板中のMP(対象MP)の閉塞を指示する(保守閉塞指示)。
webサーバ111は、保守閉塞指示に基づき、対象MPの閉塞要求を保守/UI API117に引き渡す(S1203)。保守/UI API117は、取得要求に基づき排他制御テーブル121を更新する。テーブル121の更新は、対象MPをエントリ禁止とする。保守/UI API117は、取得要求をBMCAPP113に引き渡す(S1205)。
BMCAPP113は、取得要求に基づくAPIDを指定し、APID及び対象MP番号を含めた通信APPヘッダ71をデータに付与しAPコマンドを生成する。BMCAPP113は、APコマンドを対象MPのMPAPP172に送信する(S1206)。なお、この例ではAPコマンドに、実データの存在を意味する(Data Flag ON)の識別子が含まれる。
MPAPP172は、APコマンドを受信し、受信応答をBMCAPP113に送信する(S1208)。この例では、APコマンドの受信応答(AP応答)のAPヘッダには、正常応答である旨の識別子(ACK Flag ON)が含まれる。
BMCAPP113は、AP応答を受信し、保守UI API117に取得要求に対する受信応答を引き渡す(S1209)。
MPAPP172は、APID及びデータをメインマイクロ171に引き渡す(S1210)。
メインマイクロ171は、APIDを解釈し、その要求に基づく処理を実行する。この例では、APIDが0x10であるので、メインマイクロ171は、自身の閉塞処理を実行し、その結果を、MPAPP172に引き渡す(S1212)。
MPAPP172は、メインマイクロ171から処理の結果である閉塞完了通知を取得し、これに基づきAP処理応答を生成し、AP処理応答をBMCAPP113に送信する(S1213)。なお、AP処理応答は、結果となるデータ(閉塞完了通知)に通信APPヘッダ71を付したAPコマンドの形式で送信される。この例では、AP処理応答のAPヘッダには、実データの存在を意味する識別子に(Data Flag ON)が含まれる。なお、ここでの閉塞処理はI/O制御モジュールの閉塞処理であり、AP処理応答が返却可能な例である。MP17全体を閉塞させる処理の場合には、AP処理応答が返却されない場合もある。
BMCAPP113は、AP処理応答を受信し、通信APPヘッダ71を除去した処理応答を保守/UI API117に引き渡す(S1214)。
保守/UI API117は、処理応答を受信し、その受信応答をBMCAPP113に引き渡す(S1217)。BMCAPP113は、受信応答にデータ通信APPヘッダを付したAP受信応答をMPAPP172に送信する(S1221)。この例では、AP受信応答のAPヘッダには、正常応答である旨の識別子(ACK Flag ON)が含まれる。
保守/UI API117は、処理応答に基づき排他制御テーブルを更新し、対象MPの閉塞完了通知をwebサーバ111に引き渡す送信する(S1222)。
webサーバ111は、対象MPの閉塞が完了した旨をwebブラウザ31に表示する(S1223)(保守閉塞完了Mssg転送)。
保守/UI API117は、処理応答に基づき画面表示用データ(更新情報)をwebサーバ111に送信する(S1224)。webサーバ111は、画面表示用データ(更新情報)をwebブラウザ31に送信する(S1225)。これにより、webブラウザ31上で対象MP閉塞後の装置の状態が表示される。
上記処理により、保守端末3のwebブラウザ31からユーザ又は保守員が直接操作した場合であっても(直接ラウンチ)、BMC110の保守UI/UIAPI117を介して障害のある制御基板中のMP17を閉塞し、その後の装置の状態を取得できる。なお、ここでは、保守端末3のwebブラウザ31からwebサーバ111を介して保守UI/UIAPI117にアクセスしていたが、管理アプリケーションを介して保守UI/API117にアクセスされてもよい(間接ラウンチ)。
図13は、排他制御のフローチャートの一例である。
この処理は、MP17に対する要求を受信したBMC11の各部(L7SWサーバ119又は保守/UI API117)が実行する処理である。本実施例では、L7SWサーバ119がL7SWクライアント25からメッセージを受信した場合、又は、保守/UI API117がwebサーバ111を介してユーザからの要求を受信した場合に、それらの要求の宛先のMPを決定する処理である。以下では、処理の主体をBMC11として説明する。
BMC11は、要求対象のMPが指定されているか否かを判定する(S1301)。要求の対象となるMPが指定されている場合(S1301;指定)、BMC11は、排他制御テーブル121に基づき指定のMPのステータスを判定する(S1303)。指定のMPのステータスがエントリ待ち以外の場合、つまり、実行中又はエントリ禁止の場合、BMC11はエラーコードをBMCAPP113に引き渡し(S1306)、処理を終了する。
一方、要求の対象となるMPが指定されていない場合(S1301;any)、BMC11は、排他制御テーブル121に基づきステータスが“エントリ待ち”のMPがあるか否かを判定する(S1302)。“エントリ待ち”のMPがない場合(S1302;No)BMC11はエラーコードをBMCAPP113に引き渡し(S1306)、処理を終了する。
“エントリ待ち”のMPがある場合(S1302;Yes)BMC11は、エントリ待ちの1つのMPを宛先MPとして選択する(S1304)。そして、BMC11は、選択された宛先MPに基づき、排他制御テーブル121を更新し、処理を終了する(S1305)。具体的には、BMC11は、宛先MPのステータス502を“実行中”とし、自身が送信するAPコマンドに含まれるAPIDを、エントリ中ID503に指定するとともに、要求に応じて要求元ID種504、要求元ID505及び要求元IP506を指定する。ただし、前述の通り、エントリ中APID503、要求元ID種504、要求元ID505及び要求元IP506は管理目的の情報であるため、BMC11はこれらを指定しなくてもよい。
上記処理により、要求に宛先MPが指定されていない場合は、エントリ可能なMPを宛先MPに指定できる。また、要求に宛先MPが指定されている場合も、宛先MPがエントリ可能な状態か否かを判定できる。このようにすることで、BMCのL7SWサーバ119は、複数の要求を受信した場合であっても、それらの要求を効率よくMPに振り分けることができる。
また、直接ラウンチ及び間接ラウンチにおいて、宛先MPを指定しない指示があった場合は、エントリ可能なMPを宛先MPに指定できる。また、宛先MPが指定された指示の場合は、宛先MPがエントリ可能な状態か否かを判定できる。
なお、本発明は、本実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1:ストレージ装置 2:管理サーバ 3:保守端末 5:管理LAN 10:コントローラ 11:BMC 15:内部LAN 17:メインプロセッサ
Claims (10)
- 管理サーバ計算機及びストレージ装置を備え、
前記ストレージ装置は、
第1ネットワークを介して前記管理サーバ計算機に接続される管理プロセッサと、
前記管理プロセッサに第2ネットワークを介して接続され、かつ、記憶デバイスに接続されて前記記憶デバイスへのI/Oを実行する複数のI/Oプロセッサと、
を有し、
前記管理サーバ計算機は、前記複数のI/OプロセッサのうちのいずれかのI/Oプロセッサのためのコマンドを生成し、
前記管理サーバ計算機は、前記コマンドをカプセル化しかつ暗号化して暗号化メッセージを生成し、前記暗号化メッセージを前記管理プロセッサへ送信し、
前記管理プロセッサは、前記暗号化メッセージを受信し、前記暗号化メッセージを復号化しかつカプセル化を解除して前記コマンドを復元し、前記コマンドに基づいて、前記複数のI/OプロセッサのうちのI/Oプロセッサを第1宛先として選択し、前記第1宛先に対して前記コマンドを送信する、
ストレージシステム。 - 前記管理サーバ計算機が前記コマンドに前記複数のI/Oプロセッサのうちの第1I/Oプロセッサを指定した場合、前記管理プロセッサは、前記コマンドで指定された前記第1プロセッサを前記第1宛先として選択する、
請求項1に記載のストレージシステム。 - 前記管理プロセッサは、前記複数のI/Oプロセッサの状態を示す状態情報を記憶し、
前記管理プロセッサは、前記状態情報に基づき、前記第1I/Oプロセッサが処理を受付できるエントリ待ち状態であるか否かを判定し、
前記管理プロセッサは、前記第1I/Oプロセッサがエントリ待ち状態である場合に前記コマンドを前記第1I/Oプロセッサへ送信する、
請求項2に記載のストレージシステム。 - 前記管理サーバ計算機が前記コマンドにI/Oプロセッサを指定していない場合、前記管理プロセッサは、前記状態情報に基づき前記複数のI/Oプロセッサのうちの、エントリ待ち状態である第2I/Oプロセッサを前記第1宛先として選択し、
前記管理プロセッサは、前記コマンドに前記第1宛先を指定し、前記第2I/Oプロセッサに送信する、
請求項3に記載のストレージシステム。 - 前記管理サーバ計算機は、前記管理プロセッサに対する管理コマンドを発行し、
前記管理サーバ計算機は、前記管理コマンドをカプセル化しかつ暗号化して暗号化管理メッセージを生成し、前記暗号化管理メッセージを前記管理プロセッサへ送信し、
前記管理プロセッサは、前記暗号化管理メッセージを受信し、前記暗号化管理メッセージを復号化し前記カプセル化を解除して前記管理コマンドを復元し、前記管理コマンドに基づく処理を実行する、
請求項4に記載のストレージシステム。 - 前記第1ネットワークを介して前記ストレージ装置及び前記管理サーバ計算機に接続される保守端末装置をさらに備え、
前記保守端末装置は、前記管理プロセッサに対して、前記複数のI/OプロセッサのうちのいずれかのI/Oプロセッサのための要求を送信し、
前記管理プロセッサは、前記要求に基づいて、前記複数のI/OプロセッサのうちのI/Oプロセッサを第2宛先として選択しかつ保守コマンドを生成し、前記第2宛先に前記保守コマンドを送信する、
請求項5に記載のストレージシステム。 - 前記保守端末装置が前記要求に前記複数のI/Oプロセッサの中の第3I/Oプロセッサを指定した場合、前記管理プロセッサは、前記第3I/Oプロセッサを前記第2宛先として選択し、前記状態情報に基づき、前記第3I/Oプロセッサが前記要求に基づく処理を受付できるエントリ待ち状態か否かを判定し、
前記管理プロセッサは、前記第3I/Oプロセッサがエントリ待ち状態である場合に、前記保守コマンドを前記第3I/Oプロセッサへ送信する、
請求項6に記載のストレージシステム。 - 前記保守端末装置が前記要求にI/Oプロセッサを指定していない場合、前記管理プロセッサは、前記状態情報に基づき、前記複数のI/Oプロセッサのうちの、エントリ待ち状態である第4I/Oプロセッサを前記第2宛先として選択し、
前記第4I/Oプロセッサに対して前記保守コマンドを送信する、
請求項7に記載のストレージシステム。 - 前記管理サーバ計算機は、前記複数のI/OプロセッサのうちのいずれかのI/Oプロセッサに対する処理の指示を前記管理プロセッサへ送信し、
前記管理プロセッサは、前記指示に基づいて、前記複数のI/Oプロセッサのうちの第2宛先を選択し、前記指示に基づいて前記コマンドを生成し、前記第2宛先に前記コマンドを送信する、
請求項8に記載のストレージシステム。 - 第1ネットワークを介して管理サーバ計算機に接続される管理プロセッサと、
前記管理プロセッサに第2ネットワークを介して接続され、かつ、記憶デバイスに接続されて前記記憶デバイスのI/Oを実行する複数のI/Oプロセッサと、
を有し、
前記管理サーバ計算機から、前記複数のI/OプロセッサのうちのいずれかのI/Oプロセッサのための、カプセル化されかつ暗号化されたコマンドである暗号化メッセージを受信した場合、前記管理プロセッサは、前記コマンドに基づいて、前記暗号化メッセージを復号化しかつカプセル化を解除して前記コマンドを復元し、前記コマンドに基づいて、前記複数のI/OプロセッサのうちのI/Oプロセッサを第1宛先として選択し、前記第1宛先に対して前記コマンドを送信する、
ストレージ装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/061786 WO2016166880A1 (ja) | 2015-04-17 | 2015-04-17 | ストレージシステム、ストレージ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2016166880A1 true JPWO2016166880A1 (ja) | 2017-08-24 |
Family
ID=57126417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017512162A Pending JPWO2016166880A1 (ja) | 2015-04-17 | 2015-04-17 | ストレージシステム、ストレージ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10671555B2 (ja) |
JP (1) | JPWO2016166880A1 (ja) |
WO (1) | WO2016166880A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10747549B2 (en) * | 2017-07-19 | 2020-08-18 | Hewlett Packard Enterprise Development Lp | Proxy application to transfer application protocol requests over IOCTL commands |
CN112969090A (zh) * | 2019-12-03 | 2021-06-15 | 华为技术有限公司 | 一种http请求传输方法及设备 |
US11653204B2 (en) | 2020-01-21 | 2023-05-16 | Samsung Electronics Co., Ltd. | Sideband authentication of storage device |
US11513695B2 (en) | 2020-12-03 | 2022-11-29 | International Business Machines Corporation | Vital product data synchronization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004199668A (ja) * | 2002-12-03 | 2004-07-15 | Matsushita Electric Ind Co Ltd | インタフェース回路、ディスクコントローラ、ディスクドライブ装置およびインタフェース制御方法 |
JP2005275525A (ja) * | 2004-03-23 | 2005-10-06 | Hitachi Ltd | ストレージシステム |
JP2015060264A (ja) * | 2013-09-17 | 2015-03-30 | 日本電気株式会社 | システム、制御方法、管理サーバおよびプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039746B2 (en) | 2002-12-03 | 2006-05-02 | Matsushita Electric Industrial Co., Ltd. | Interface circuit, disc controller, disc drive apparatus and interface control method |
JP6296324B2 (ja) * | 2013-07-12 | 2018-03-20 | ブラザー工業株式会社 | 登録サーバのプログラム、情報機器、情報機器のプログラム、及びネットワークシステム |
-
2015
- 2015-04-17 US US15/552,815 patent/US10671555B2/en active Active
- 2015-04-17 WO PCT/JP2015/061786 patent/WO2016166880A1/ja active Application Filing
- 2015-04-17 JP JP2017512162A patent/JPWO2016166880A1/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004199668A (ja) * | 2002-12-03 | 2004-07-15 | Matsushita Electric Ind Co Ltd | インタフェース回路、ディスクコントローラ、ディスクドライブ装置およびインタフェース制御方法 |
JP2005275525A (ja) * | 2004-03-23 | 2005-10-06 | Hitachi Ltd | ストレージシステム |
JP2015060264A (ja) * | 2013-09-17 | 2015-03-30 | 日本電気株式会社 | システム、制御方法、管理サーバおよびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US10671555B2 (en) | 2020-06-02 |
WO2016166880A1 (ja) | 2016-10-20 |
US20180032459A1 (en) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103051664B (zh) | 一种云存储系统的文件管理方法、装置及该云存储系统 | |
US10069625B2 (en) | System and method for automatic key generation for self-encrypting drives | |
JP2023015141A (ja) | 強化セキュリティ、レジリエンス、及び、コントロールによる分散データストレージのための方法及びシステム | |
WO2016166880A1 (ja) | ストレージシステム、ストレージ装置 | |
US9983813B2 (en) | Maintenance of a fabric priority during synchronous copy operations | |
TW201407378A (zh) | 藉由存取標記之集中管理以用於雲端儲存之有效資料轉移 | |
US20150334184A1 (en) | Enabling execution of remotely-hosted applications using application metadata and client updates | |
JP2014530371A (ja) | ファイル暗号化方法及び装置、ファイル復号方法及び装置 | |
US20130173904A1 (en) | Secure data communications with network back end devices | |
EP2847963B1 (en) | Method and apparatus for accelerating connections in a cloud network | |
TW202232353A (zh) | 安全儲存通行裝置 | |
CN107222759B (zh) | 媒体文件加解密的方法、系统、设备和介质 | |
KR20140054950A (ko) | 클라우드 컴퓨팅에서 소셜리티 스토리지 서비스를 위한 데이터 페더레이션 시스템 및 그 방법 | |
WO2013101754A1 (en) | Unified network architecture having storage devices with secure boot devices | |
US8189790B2 (en) | Developing initial and subsequent keyID information from a unique mediaID value | |
US9582676B2 (en) | Adding or replacing disks with re-key processing | |
CN110610101A (zh) | 一种数据存证方法、装置、设备及存储介质 | |
US9356782B2 (en) | Block encryption | |
US8903096B2 (en) | Security key distribution in a cluster | |
WO2022066051A1 (ru) | Управление резервными копиями состояний удаленных вычислительных устройств | |
KR20180090060A (ko) | 사물 인터넷 보안 모듈 | |
US20130173906A1 (en) | Cloning storage devices through secure communications links | |
US10110572B2 (en) | Tape drive encryption in the data path | |
US20220311603A1 (en) | Quantum key distribution in a multi-cloud environment | |
JP2015154149A (ja) | ネットワークシステム、スイッチ、ネットワーク管理方法およびネットワーク管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170509 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170926 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180320 |