JP2010026873A - ストレージ装置及びその制御方法 - Google Patents

ストレージ装置及びその制御方法 Download PDF

Info

Publication number
JP2010026873A
JP2010026873A JP2008188994A JP2008188994A JP2010026873A JP 2010026873 A JP2010026873 A JP 2010026873A JP 2008188994 A JP2008188994 A JP 2008188994A JP 2008188994 A JP2008188994 A JP 2008188994A JP 2010026873 A JP2010026873 A JP 2010026873A
Authority
JP
Japan
Prior art keywords
command
storage device
external storage
issue
issuance
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
Application number
JP2008188994A
Other languages
English (en)
Inventor
Taiki Kono
太貴 河野
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008188994A priority Critical patent/JP2010026873A/ja
Priority to US12/236,547 priority patent/US7908408B2/en
Publication of JP2010026873A publication Critical patent/JP2010026873A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

【課題】ストレージシステム全体としてのI/O性能を向上させながら、ストレージシステムの汎用性及び利便性を向上させ得るストレージ装置及びその制御方法を提案する。
【解決手段】ホストコンピュータから与えられたリード要求又はライト要求に応じたコマンドを生成し、生成したコマンドを複数のポートのうちのいずれかのポートを介して外部ストレージ装置に発行する外部接続機能がストレージ装置に搭載されている場合に、コマンドの種別ごとに、テスト用コマンドを複数の発行方式で外部ストレージ装置に発行すると共に、発行方式ごとのI/O性能を測定し、発行方式ごとのI/O性能の測定結果を表示し、及び又は発行方式ごとのI/O性能の測定結果に基づいて、チャネルプロセッサが当該外部ストレージ装置に対してコマンドを発行する際の発行方式を設定するようにした。
【選択図】図11

Description

本発明は、ストレージ装置及びその制御方法に関し、特に外部接続機能が搭載されたストレージ装置に適用して好適なものである。
従来、ストレージ装置の機能の1つとして、自己に接続された他のストレージ装置(以下、これを外部ストレージ装置と呼ぶ)が提供する論理ボリュームを仮想化する外部接続機能がある(例えば特許文献1参照)。
外部接続機能が搭載されたストレージ装置(以下、これをメインストレージ装置と呼ぶ)には、仮想化される外部ストレージ装置内に設定された論理ボリュームとそれぞれ対応付けて、仮想的な論理ボリュームが設定される。
そして、メインストレージ装置は、ホストコンピュータからある仮想ボリュームに対するリード要求やライト要求が与えられた場合、対応する論理ボリュームを有する外部ストレージ装置にそのリード要求又はライト要求に応じたコマンドを発行し、実際のリード処理やライト処理をその外部ストレージ装置に実行させる。
このような外部接続機能によれば、複数台の外部ストレージ装置がそれぞれ提供する論理ボリュームを一元管理することができるため、ストレージ装置の増設等を容易化させることができる利点がある。
なお、かかる特許文献1には、メインストレージ装置がホストコンピュータからのリード要求やライト要求に応じたコマンドを対応する外部ストレージ装置に送信する際に、外部ストレージ装置におけるリード処理やライト処理の処理状況をモニタし、必要に応じて負荷分散処理を行うことが開示されている(特許文献1)。
特開2006−331458号公報
ところで、近年、外部ストレージ装置として用いられるストレージ装置には、種々の機能が搭載されたものや種々の特性を有するものがある。このようなストレージ装置の中には、メインストレージ装置からコマンドを送信するに際して、そのストレージ装置に搭載された機能やそのストレージ装置の特性に応じた発行パターンでコマンドを発行しなければI/O性能が劣化するものも存在する。
例えば、ストレージ装置に搭載される機能として、シーケンシャルデータ(連続したデータ)のリードコマンドが連続して与えられた場合に、次回以降に要求されると推測されるデータをキャッシュメモリに先読みしておくシーケンシャル学習機能があるが、このようなシーケンシャル学習機能が搭載されたストレージ装置の中には、I/O性能向上のためにメインストレージ装置から外部ストレージ装置に複数のパスを用いてコマンドを順次発行すると、リード対象のデータがシーケンシャルデータであることを認識できないものが存在する。
またストレージ装置に搭載される他の機能として、キャッシュメモリ上に保存されているデータに対するリード要求やライト要求のコマンドが与えられたときに、当該コマンドの送受信を担当するポート又はプロセッサが他のポート又は他のプロセッサがアクセスできないように排他処理を行う排他処理機能がある。
そしてシーケンシャル学習機能及び排他処理機能の双方が搭載されたストレージ装置を外部ストレージ装置として用い、さらにメインストレージ装置から外部ストレージ装置に複数のパスを用いてコマンドを順次発行すると、リード対象のデータがシーケンシャルデータである場合には、あるポートに送信したリードコマンドに基づきシーケンシャル学習機能によってキャッシュメモリに読み出されたデータを、次に他のポートに送信したリードコマンドによっては直ちに読み出すことができず、排他処理の解除があるまで待ち(排他解除待ち)が発生するという事態が生じる。
さらにかかる外部ストレージ装置として用いられるストレージ装置の中には、すべてのポートが万全に使用できるわけではなく、コマンドに応じたリード処理やライト処理を実行するプロセッサの数がポートの数に比べて少ないなどの理由により、あるポートを使用すると別のポートの処理機能が低下してしまうものもある。
従って、メインストレージ装置が外部ストレージ装置に対してコマンドを発行するに際しては、その外部ストレージ装置に搭載された機能や、その外部ストレージ装置の特性に適したパターンでコマンドを発行することが望まれ、そのようにすることによってシステム全体としてのI/O性能を向上させ得るものと考えられる。
しかしながら、ホストコンピュータ、メインストレージ装置及び外部ストレージ装置を含むストレージシステムを構築するに際して、ユーザが各外部ストレージ装置にそれぞれ搭載された機能や各外部ストレージ装置の特性を完全に把握し、メインストレージ装置に対して外部ストレージ装置ごとの当該外部ストレージ装置に適したコマンドの発行パターンを設定することは煩雑である。従って、かかるストレージシステムを構築するに際してこのような設定を容易に行うことができれば、ストレージシステムの汎用性及び利便性を向上させ得るものと考えられる。
本発明は以上の点を考慮してなされたもので、ストレージシステム全体としてのI/O性能を向上させながら、ストレージシステムの汎用性及び利便性を向上させ得るストレージ装置及びその制御方法を提案しようとするものである。
かかる課題を解決するため本発明においては、自己に接続された外部ストレージ装置が提供する1又は複数の論理ボリュームをそれぞれ仮想化してホストコンピュータに提供するストレージ装置において、それぞれ異なるパスを介して前記外部ストレージ装置と接続された複数のポートと、前記ホストコンピュータから与えられたリード要求又はライト要求に応じたコマンドを生成し、生成したコマンドを前記複数のポートのうちのいずれかのポートを介して前記外部ストレージ装置に発行するチャネルプロセッサとを備え、前記チャネルプロセッサは、前記コマンドの種別ごとに、テスト用コマンドを複数の発行方式で前記外部ストレージ装置に発行すると共に、前記発行方式ごとのI/O性能を測定し、前記発行方式ごとのI/O性能の測定結果を表示し、及び又は前記発行方式ごとのI/O性能の測定結果に基づいて、当該外部ストレージ装置に対して前記コマンドを発行する際の前記発行方式を設定することを特徴とする。
また本発明においては、自己に接続された外部ストレージ装置が提供する1又は複数の論理ボリュームをそれぞれ仮想化してホストコンピュータに提供するストレージ装置の制御方法において、前記ホストコンピュータから与えられたリード要求又はライト要求に応じたコマンドを生成し、生成したコマンドを、それぞれ異なるパスを介して前記外部ストレージ装置と接続された複数のポートのうちのいずれかのポートを介して前記外部ストレージ装置に発行する機能が前記ストレージ装置に搭載され、前記コマンドの種別ごとに、テスト用コマンドを複数の発行方式で前記外部ストレージ装置に発行すると共に、前記発行方式ごとのI/O性能を測定する第1のステップと、前記発行方式ごとのI/O性能の測定結果を表示し、及び又は前記発行方式ごとのI/O性能の測定結果に基づいて、前記チャネルプロセッサが当該外部ストレージ装置に対して前記コマンドを発行する際の前記発行方式を設定する第2のステップと備えることを特徴とする。
本ストレージ装置及びその制御方法を適用することにより、ストレージシステムを構築するに際して、ユーザが各外部ストレージ装置にそれぞれ搭載された機能や各外部ストレージ装置の特性を完全に把握する必要がなく、そのストレージ装置に対する外部ストレージ装置ごとの最適なコマンド発行パターンの設定を容易に行うことができる。
本発明によれば、ストレージシステム全体としてのI/O性能を向上させながら、ストレージシステムの汎用性及び利便性を向上させることができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態によるストレージシステムの全体構成
図1において、1は全体として本実施の形態によるストレージシステムを示す。このストレージシステム1では、1又は複数のホストコンピュータ2が第1のネットワーク3を介してメインストレージ装置4に接続されると共に、このメインストレージ装置4に直接又は第2のネットワーク5を介して外部ストレージ装置6が接続されて構成される。またメインストレージ装置4には、管理用端末7が接続されている。
ホストコンピュータ2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータやワークステーション、メインフレームなどから構成される。ホストコンピュータ2は、キーボード、スイッチやポインティングデバイス、マイクロホン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備える。
第1及び第2のネットワーク3,5は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。この第1のネットワーク3を介したホストコンピュータ2及びメインストレージ装置4間の通信及びメインストレージ装置4及び外部ストレージ装置6間の通信は、例えば第1及び第2のネットワーク3,5がSANである場合にはファイバーチャネルプロトコルに従って行われ、第1及び第2のネットワーク3,5がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
メインストレージ装置4は、ホストコンピュータ2に対して外部ストレージ装置6が提供する1又は複数の論理ボリュームをそれぞれ仮想化してホストコンピュータ2に提供する外部接続機能が搭載されており、複数の物理記憶デバイス10から構成される記憶部11と、コントロール部12とを備えて構成される。
物理記憶デバイス10としては、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスク又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクが適用される。
これら物理記憶デバイス10はコントロール部12によりRAID方式で運用される。1又は複数の物理記憶デバイス10が提供する物理的な記憶領域上に、1又は複数の論理ボリュームVOLが設定される。そしてデータは、これら論理ボリュームVOLに所定大きさのブロック(以下、これを論理ブロックと呼ぶ)単位で記憶される。
論理ボリュームVOLには、それぞれ固有の識別子(LUN:Logical Unit Number)が付与される。本実施の形態の場合、データの入出力は、このLUNと、各ブロックにそれぞれ付与される固有の番号(LBA:Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
なお、メインストレージ装置4が提供する論理ボリュームVOLの属性としては、実ボリューム及び仮想ボリュームがある。実ボリュームは、実体を有する論理ボリュームであり、記憶部11の物理記憶デバイス10が提供する物理的な記憶領域上に設定された論理ボリュームVOLが該当する。
仮想ボリュームは、実体を有さない仮想的な論理ボリュームであり、メインストレージ装置4内の論理ボリュームVOLや、外部ストレージ装置6内に設定された論理ボリュームと対応付けられる。外部接続機能は、仮想ボリュームに対するホストコンピュータ2からのリード要求及びライト要求に応じたコマンドを、その仮想ボリュームと対応付けられた論理ボリュームを有する外部ストレージ装置6に発行する機能であり、当該外部ストレージ装置においてその論理ボリュームに対してデータがリード/ライトされる。またこのときリードされたデータは、メインストレージ装置4を介してホストコンピュータ2に転送される。
一方、コントロール部12は、複数のポート20、複数のチャネルプロセッサ21、キャッシュメモリ22及び共有メモリ23を備えて構成される。
ポート20は、コントロール部12を第1若しくは第2のネットワーク3,5又は外部ストレージ装置6と接続するためインタフェースであり、例えばIP(Internet Protocol)アドレスやWWN(World Wide Name)などの固有のネットワークアドレスがそれぞれ割り当てられる。各ポート20は、それぞれ異なるパスを介して外部ストレージ装置6と接続される。
チャネルプロセッサ21は、CPU21A及び内部メモリ21B等を備えて構成され、ホストコンピュータ2又は外部ストレージ装置6から送信される各種コマンドを解釈して必要な処理を実行する。例えばチャネルプロセッサ21は、外部接続機能に関連して、ホストコンピュータ2から与えられたリード要求やライト要求に応じたコマンドを生成し、生成したコマンドを対応するポート20を介して対応する外部ストレージ装置6に発行する。
キャッシュメモリ22及び共有メモリ23は、チャネルプロセッサ21により共有されるメモリである。キャッシュメモリ22は、主に物理記憶デバイス10に入出力するデータを一時的に保存するために利用される。また共有メモリ23は、主にメインストレージ装置4全体の構成に関するシステム構成情報や、コマンド等を記憶するために利用される。
外部ストレージ装置6は、複数の物理記憶デバイスと、当該物理記憶デバイスに対するデータの入出力を制御するコントロール部とを備えて構成される。外部ストレージ装置6は、外部接続機能が搭載されていない点を除いてメインストレージ装置4と同様の構成を有するため、その詳細な説明は省略する。本実施の形態の場合、各外部ストレージ装置6は、それぞれ複数のパスを介してメインストレージ装置4と接続される。
管理用端末7は、メインストレージ装置4全体の動作を制御する端末装置であり、例えばノード型のパーソナルコンピュータから構成される。管理用端末7は、図示しないLANを介して各チャネルプロセッサ21と接続されている。管理用端末7は、メインストレージ装置4から収集した情報を表示した情報画面や各種のGUI(Graphical User Interface)を表示したり、GUIを用いたユーザからの入力に応じたコマンドをメインストレージ装置4に送信する。
(2)I/O性能テスト機能
次に、メインストレージ装置4に搭載されたI/O性能テスト機能について説明する。なお、以下において、シーケンシャルリード及びシーケンシャルライトとは、それぞれ連続するデータ(シーケンシャルデータ)の読み出し又は書き込みを指し、ライトランダムリード及びランダムライトとは、それぞれ連続しないデータ(ランダムデータ)の読み出し又は書き込みを指す。
本ストレージシステム1の場合、メインストレージ装置4には、新たに接続された外部ストレージ装置6に対して複数種類のコマンド発行方式でテスト用コマンドをコマンド種別(シーケンシャルリードコマンド、シーケンシャルライトコマンド、ランダムリードコマンド及びランダムライトコマンド)ごとにそれぞれ発行し、その外部ストレージ装置6において最も良いI/O性能が得られたコマンド発行方式をコマンド種別ごとにそれぞれ検出するI/O性能テスト機能が搭載されている。
ここで、本実施の形態の場合、チャネルプロセッサ21におけるコマンド(テスト用コマンドを含む)の発行方式としては、第1〜第4のコマンド発行方式が予め規定されている。
このうち第1のコマンド発行方式は、外部ストレージ装置6内の論理ボリュームごとにそれぞれ予め定められた特定のポート(以下、これを優先ポートと呼ぶ)20を介して外部ストレージ装置6にコマンドを送信するコマンド発行方式である。このコマンド発行方式は、外部ストレージ装置6が以下の特徴をもつ場合に有効である。
(a) リード対象のデータがシーケンシャルであってもリードコマンドを受信するポートが異なるとシーケンシャルデータであると判断できない場合。
(b) 外部ストレージ装置6に排他処理機能が搭載されている場合。シーケンシャルデータを対象とする複数のコマンドを異なるパスを介して外部ストレージ装置6に送信した場合、排他解除待ちが発生することになる。
(c) 外部ストレージ装置6内の全ポートが万全に使用できるわけでなく、チャネルプロセッサの数がポートに比べて少ないなどの理由により、あるポートを使用すると他のポートの処理能力が低下してしまう場合。
また第2のコマンド発行方式は、メインストレージ装置4内の1つのポート20を使用して外部ストレージ装置6にコマンドを順次発行し、そのポート20から送信したコマンドによりリード又はライトするよう指定したデータの合計量(以下、これをコマンドサイズと呼ぶ)が予め定められた閾値を超えた場合に、コマンドの送信を行うポート20を別のポートに切り替えるコマンド発行方式である。この第2のコマンド方式は、外部ストレージ装置6が上述した(a)〜(c)の特徴をもたない場合に有効である。
さらに第3のコマンド発行方式は、シーケンシャルリード及びシーケンシャルライトに限定したコマンド発行方式であり、第1のコマンド発行方式と同様に、優先ポート20を介して外部ストレージ装置6にコマンドを送信するコマンド発行方式である。ただし、第3のコマンド発行方式は、コマンドを上述のコマンドサイズの閾値分だけ貯めてから一度に外部ストレージ装置6に送信するという点が第1のコマンド発行方式と異なる。この第3のコマンド発行方式は、外部ストレージ装置6が上述した(a)〜(c)の特徴をもつ場合や、外部ストレージ装置6における一つ一つのコマンド処理の内部処理が遅い場合に有効である。
さらに第4のコマンド発行方式は、第2のコマンド発行方式と同様に、シーケンシャルリード及びシーケンシャルライトに限定したコマンド発行方式であり、メインストレージ装置4内の1つのポート20を使用して外部ストレージ装置6にコマンドを発行し、そのポート20におけるコマンドサイズが上述のコマンドサイズの閾値を超えた場合に、コマンドの送信を行うポートを別のポート20に切り替えるコマンド発行方式である。この第4のコマンド発行パターンは、コマンドを上述のコマンドサイズの閾値分だけ貯めてから一度に外部ストレージ装置6に送信するという点が第2のコマンド発行方式と異なる。この第4のコマンド発行方式は、外部ストレージ装置6が第2のコマンド発行方式に有効な特徴をもたない場合に有効である。
そしてメインストレージ装置4は、I/O性能テスト機能に基づくI/O性能テストの実行時、シーケンシャルリードコマンド及びシーケンシャルライトコマンドについては第1〜第4のコマンド発行方式で発行すると共に、ランダムリードコマンド及びランダムライトコマンドについては第1及び第2のコマンド発行方式で発行し、そのとき受け付けられたコマンドのコマンドサイズを計測する。
この際、メインストレージ装置4は、シーケンシャルリード及びシーケンシャルライトに関しては、第2〜第4のコマンド発行方式のそれぞれについて、コマンドサイズの閾値が「0」MB、「10000000」MB、「20000000」MB及び「50000000」MBの場合についてI/O性能テストを行う。従って、本実施の形態の場合、シーケンシャルリード及びシーケンシャルライトについては、それぞれ第1のコマンド発行方式で1パターン、第2〜第4のコマンド発行方式でそれぞれ4パターンの合計13種類のパターン(以下、これらのパターンをそれぞれコマンド発行パターンと呼ぶ)のI/O性能テストが行われることになる。
またメインストレージ装置4は、ランダムリード及びランダムライトに関しても、コマンドサイズの閾値が「0」MB、「10000000」MB、「20000000」MB及び「50000000」MBの場合についてI/O性能テストを行う。従って、本実施の形態の場合、ランダムリード及びランダムライトについては、第1のコマンド発行方式で1パターン、第2のコマンド発行方式で4パターンの合計5種類のコマンド発行パターンのI/O性能テストが行われることになる。
なお、コマンドサイズが「0」MBの場合とは、1つのコマンドにより指定されるリード又はライト対象のデータのデータ量に関わりなく、1コマンドずつの区切りでコマンドを外部ストレージ装置6に送信する場合のことを意味する。例えば第2及び第4のコマンド発行方式の場合には、1つのコマンドを送信したら次のパスに移り(ラウンドロビン)、第3のコマンド発行方式の場合には、第1のコマンド発行方式と同じになる。従って、第3及び第4のコマンド方式の場合には、コマンドサイズを「0」MBとする意味はない。
以上のようなI/O性能テストを実行するための手段として、チャネルプロセッサ21の内部メモリ21Bには、図1に示すように、I/O性能テストメインプログラム30、運用時コマンド処理プログラム31、ボリューム優先ポート設定プログラム32、コマンドレスポンス応答プログラム33及び周期処理プログラム34が実装され、共有メモリ23には、コマンド発行パターン管理テーブル35、I/O性能テスト環境設定管理テーブル36、運用時コマンド発行パターン管理テーブル37、コマンド発行順序管理テーブル38及びボリューム優先ポート管理テーブル39が格納されている。
このうちI/O性能テストメインプログラム30は、上述したI/O性能テストを実行するためのメインプログラムであり、運用時コマンド処理プログラム31は、ストレージシステム1の通常運用時にチャネルプロセッサ21が外部ストレージ装置6に対して必要なコマンドを発行するコマンド処理を行うためのプログラムである。
またボリューム優先ポート設定プログラム32は、I/O性能テスト時や通常運用時に外部ストレージ装置6に対して上述した第1又は第3のコマンド発行方式でコマンドを発行する際に利用する優先ポート20を外部ストレージ装置6内の論理ボリュームごとにそれぞれ設定するためのプログラムである。
さらにコマンドレスポンス応答プログラム33は、外部ストレージ装置6に発行したコマンドに対するその外部ストレージ装置6からの応答を受信したときのコマンドレスポンス応答処理を行うためのプログラムであり、周期処理プログラム34は、I/O性能テスト時や通常運用時に外部ストレージ装置6に対して上述した第2又は第4のコマンド発行方式でコマンドを発行する際に当該コマンドを発行するポート20を切り替えるためのプログラムである。
一方、コマンド発行パターン管理テーブル35は、コマンド発行パターンの設定及びI/O性能テストのテスト結果を管理するためのテーブルであり、図2に示すように、外部ストレージ種別欄35A、コマンド発行パターン番号欄35B、コマンド発行方式欄35C、コマンドサイズ欄35D及び測定結果欄35Eから構成されている。
そして、外部ストレージ種別欄35Aには、I/O性能テストのテスト対象となる外部ストレージ装置6の種別(識別情報)が格納される。またコマンド発行方式欄35Cには、その行(エントリ)に対応するコマンド発行方式(第1〜第4のコマンド発行方式)が格納される。図2の例の場合、「A」〜「D」がそれぞれ第1〜第4のコマンド発行方式に対応する。またコマンドサイズ欄35Dには、その行に対応するコマンド発行パターンにおけるコマンドサイズの閾値が格納される。
さらに本実施の形態の場合、上述のようにコマンド発行方式(第1〜第4のコマンド発行方式)と、コマンドサイズの閾値(「0」、「10000000」、「20000000」及び「50000000」)との組み合わせで合計13種類のコマンド発行パターンが存在するが、これらのコマンド発行パターンにそれぞれ付与された番号(以下、これをパターン番号と呼ぶ)がコマンド発行パターン番号欄35Bに格納される。
測定結果欄35Eは、シーケンシャルリード欄35F、シーケンシャルライト欄35G、ランダムリード欄35H及びランダムライト欄35Iから構成される。これらシーケンシャルリード欄35F、シーケンシャルライト欄35G、ランダムリード欄35H及びランダムライト欄35Iは、それぞれ有効/無効欄35FA,35GA,35HA,35IA及び測定結果格納欄35FB,35GB,35HB,35IBから構成されている。
そして有効/無効欄35FA,35GA,35HA,35IAには、そのエントリのコマンド発行パターンがそのシーケンシャルリード欄35F、シーケンシャルライト欄35G、ランダムリード欄35H及びランダムライト欄35Iに対応するコマンド種別(シーケンシャルリードコマンド、シーケンシャルライトコマンド、ランダムリードコマンド又はランダムライトコマンド)において有効なコマンド発行パターンであるか否かを表す情報(有効のときには「○」、無効のときには「×」)が格納される。
また測定結果格納欄35FB,35GB,35HB,35IBには、I/O性能テストにおいてその行に対応するコマンド発行パターンでコマンドを発行した場合に得られた測定結果が格納される。例えば、図2の上から3行目のシーケンシャルリード欄35Fの測定結果格納欄35FA及び同じ行のシーケンシャルライト欄35Gの測定結果格納欄35GBには、それぞれシーケンシャルリードコマンド又はシーケンシャルライトコマンドのコマンドサイズが「10000000」MBのときに結果的に読み出され又は書き込まれたデータの合計量が格納される。また図2のコマンド発行パターン管理テーブル35における同じ行のランダムリード欄35Hの測定結果格納欄35HB及び同じ行のランダムライト欄35Iの測定結果格納欄35IBには、ランダムリードコマンド又はランダムライトコマンドのコマンドサイズが「10000000」MBのときに結果的に処理されたコマンド数がそれぞれ格納される。
他方、I/O性能テスト環境設定管理テーブル36は、外部ストレージ装置6ごとにかつコマンド種別ごとにそれぞれ予め設定された上述のI/O性能テストの条件を管理するためのテーブルであり、図3に示すように、外部ストレージ種別欄36A、コマンド種別欄36B、テスト時間欄36C、外部ストレージ発行LU数欄36D、コマンド発行サイズ欄36E及び使用ポート欄36Fから構成される。
そして外部ストレージ種別欄36Aには、I/O性能テストの対象となる外部ストレージ装置6の識別情報が格納され、コマンド種別欄36Bには、I/O性能テストの際に対応する外部ストレージ装置6に発行するコマンドのコマンド種別が格納される。
さらにテスト時間欄36Cには、そのコマンド種別のコマンドによるI/O性能テストを行う時間(テスト時間)が格納され、外部ストレージ発行LU数欄36Dには、そのI/O性能テスト時に対応するコマンド種別のコマンドを発行すべき論理ボリューム数が格納される。
さらにコマンド発行サイズ欄36Eには、1つのコマンドでリード又はライトを要求するデータ量が格納され、使用ポート欄36Fには、対応するコマンド種別のコマンドをテスト対象の外部ストレージ装置6に送信する際に使用するポート20のポートIDが格納される。
他方、運用時コマンド発行パターン管理テーブル37は、上述のようなI/O性能テストに基づいて、外部ストレージ装置6ごとにかつコマンド種別ごとに通常運用時に使用すべきコマンド発行パターンとして設定されたコマンド発行パターンを管理するためのテーブルであり、図4に示すように、外部ストレージ種別欄37A、コマンド種別欄37B、コマンド発行パターン番号欄37C及び適用時刻欄37Dから構成される。
そして、外部ストレージ種別欄37Aには、メインストレージ装置4に接続された外部ストレージ装置6の識別情報が格納され、コマンド種別欄37Bにはその外部ストレージ装置6に発行可能なコマンドのコマンド種別が格納される。またコマンド発行パターン番号欄37Cには、対応するコマンド種別について通常運用時に使用するコマンド発行パターンとして設定されたコマンド発行パターンのパターン番号が格納される。なお、コマンド発行パターン番号欄に37C格納されるパターン番号は、図2について上述したコマンド発行パターン管理テーブル35のコマンド発行パターン番号欄35Bに格納されたパターン番号と対応する。
従って、図4の例の場合、1行目のコマンド発行パターン番号欄に「11」という候補番号が格納されているため、「Hitachi USP(1111)」という外部ストレージ装置6のシーケンシャルリードについては、第4のコマンド発行方式で1秒間に「10000000」MBのデータを読み出すコマンド発行パターン(図2参照)が通常運用時のコマンド発行パターンとして設定されていることが示されている。
また、適用時刻欄37Dには、コマンド発行パターン番号欄37Cにパターン番号が格納されたコマンド発行パターンを適用すべき時刻又は時間帯が格納される。図4において「default」は、対応する外部ストレージ装置6に対して対応するコマンド種別のコマンドを発行する際に、原則として対応するコマンド発行パターンを使用すべきことを意味する。
ただし、本実施の形態においては、後述のようにユーザが時間帯を指定して、その時間帯におけるコマンド発行パターンとして所望のコマンド発行パターンを設定することができるため、そのような場合にはその時間帯が適用時刻欄37Dに格納される。そして適用時刻欄37Dに時間帯が格納されている場合、その時間帯においては、同じ行のコマンド発行パターン番号欄37Cに格納されたコマンド発行パターンが優先的に使用される。
例えば図4の場合、「Hitachi USP(1111)」という外部ストレージ装置6に関しては、通常はシーケンシャルリード、シーケンシャルライト、ランダムリード及びランダムライトのコマンド発行パターンとしてそれぞれパターン番号が「11」、「11」、「2」及び「2」のコマンド発行パターンが設定されている。しかしながら、「0:00から6:00まで」の時間帯については、シーケンシャルリード及びシーケンシャルライトのコマンド発行パターンとしてパターン番号が「13」のコマンド発行パターンが設定され、ランダムリード及びシランダムライトのコマンド発行パターンとしてパターン番号が「5」のコマンド発行パターンが設定されている。また、毎週日曜日については、シーケンシャルリード及びシーケンシャルライトのコマンド発行パターンとしてパターン番号が「13」のコマンド発行パターンが設定され、ランダムリード及びシランダムライトのコマンド発行パターンとしてパターン番号が「5」のコマンド発行パターンが設定されている。
コマンド発行順序管理テーブル38は、I/O性能テスト時や通常運用時に1つのポート20を介して送信したコマンドに基づきリード又はライトされるデータの累計サイズ(以下、これをコマンド送信累計サイズと呼ぶ)を管理するためのテーブルであり、外部ストレージ種別欄38A、LUN欄38B、コマンド種別欄38C、送信ポートID欄38D、開始LBA欄38E、合計サイズ欄38F及び開始時間欄38Gから構成される。
そして外部ストレージ種別欄38Aには、コマンドの送信先となる外部ストレージ装置6の識別情報が格納され、LUN欄38Bには、その外部ストレージ装置6内の論理ボリュームのうち、コマンドの宛先とした又は宛先としている論理ボリュームのLUNが格納される。
またコマンド種別欄38Cには、そのとき送信した又は送信するコマンドのコマンド種別が格納され、送信ポートID欄38Dには、そのコマンドを送信するのに使用した又は使用しているポート20のポートIDが格納される。さらに開始LBA欄38Eには、そのポート20の使用を開始した最初のコマンドにおいてデータのリード又はライト先として指定したLBAが格納され、合計サイズ欄38Fには、そのポート20を使用して送信したコマンドに基づいてリード又はライトされるデータの合計サイズが格納される。さらに開始時間欄38Gには、そのポート20の使用開始時刻が格納される。
ボリューム優先ポート管理テーブル39は、各外部ストレージ装置6の各論理ボリュームについて予めユーザによりそれぞれ設定された優先ポート20を管理するためのテーブルであり、図6に示すように、外部ストレージ種別欄39A、LUN欄39B及び優先ポートID欄39Cから構成される。
そして外部ストレージ種別欄39Aには、対象とする外部ストレージ装置6の識別情報が格納され、LUN欄39Bには、その外部ストレージ装置6内に設けられた論理ボリュームのうち、メインストレージ装置4によって仮想化される論理ボリュームのLUNが格納される。さらに優先ポートID欄39Cには、対応する論理ボリュームについて設定された優先ポート20のポートIDが格納される。
(3)I/O性能テストに関するGUI画面の構成
図7は、かかるI/O性能テストに関連して管理用端末7に表示されるI/O性能テストメイン画面40を示す。このI/O性能テストメイン画面40は、ユーザが管理用端末7を操作してI/O性能テストの対象とする外部ストレージ装置6を選択することによって管理用端末7に表示させることができる画面である。
I/O性能テストメイン画面40では、その中央部にI/O性能テスト結果表示部41が設けられ、このI/O性能テスト結果表示部41に、そのとき設定されている各コマンド発行パターンの内容と、そのときI/O性能テストのテスト対象として選択された外部ストレージ装置6について先行して行われたI/O性能テストのテスト結果とが表示される。
具体的に、I/O性能テスト結果表示部41には、コマンド発行パターン管理テーブル35(図2)のエントリのうち、外部ストレージ種別欄35Aにそのとき選択された外部ストレージ装置6の識別情報が格納された各エントリのコマンド発行パターン番号欄35B、コマンド発行方式欄35C、コマンドサイズ欄35D及び測定結果欄35Eにそれぞれ格納された情報が格納される。
またI/O性能テスト結果表示部41の周囲には、新規追加ボタン42、編集ボタン43、性能グラフボタン44、測定開始ボタン45、測定環境設定ボタン46及び終了ボタン47が表示される。
そしてI/O性能テストメイン画面40では、新規追加ボタン42をクリックすることによって、そのとき登録されているコマンド発行パターン(本実施の形態の場合、初期状態では13パターン)に加えて新たなコマンド発行パターンを自ら定義してI/O性能テスト結果表示部41に追加登録することができ、また編集ボタン43をクリックすることによって、そのとき既に設定されている各コマンド発行パターンの内容を編集することができる。
またI/O性能テストメイン画面40では、性能グラフボタン44をクリックすることによって、そのときI/O性能テスト結果表示部41に表示されているI/O性能テストのテスト結果をグラフ表示した図8に示すようなI/O性能テストグラフ表示画面48を表示させることができ、測定環境設定ボタン46をクリックすることによって、図9に示すような測定環境設定画面50を表示させることができる。
さらにI/O性能テストメイン画面40では、測定開始ボタン45をクリックすることによって、そのときI/O性能テストのテスト対象として選択されている外部ストレージ装置6に対するI/O性能テストを開始させることができる。そして、このとき行われたI/O性能テストのテスト結果が当該I/O性能テストメイン画面40のI/O性能テスト結果表示部41に表示されると共に、図2について上述したコマンド発行パターン管理テーブル35に反映される。
さらにI/O性能テストメイン画面40では、かかるI/O性能テストの終了後に終了ボタンをクリックすることによって、図10に示すような運用時コマンド発行パターン管理画面60を表示させることができる。
図9は、I/O性能テストメイン画面40の測定環境設定ボタン46をクリックしたときに表示される測定環境設定画面50を示す。この測定環境設定画面50は、そのとき選択されている外部ストレージ装置6に対する測定環境(コマンド種別ごとのテスト時間、外部ストレージ発行LU数、コマンド発行サイズ及び使用ポート)を設定するための画面である。
実際上、測定環境設定画面50では、画面中央に図3について上述したI/O性能テスト環境設定管理テーブル36と同様の構成を有する測定環境設定部51が表示される。そしてユーザは、この測定環境設定部51を利用して、コマンド種別ごとのテスト時間、外部ストレージ発行LU数、コマンド発行サイズ及び使用ポートをそれぞれ設定することができる。そしてこのとき設定されたその外部ストレージ装置6に対するコマンド種別ごとのテスト時間、外部ストレージ発行LU数、コマンド発行サイズ及び使用ポートがI/O性能テスト環境設定管理テーブル36に登録されて管理される。
また測定環境設定画面50では、「性能が最大のパターンをdefaultに自動的に設定する」か否かを設定することができる。そしてこの設定に対応するチェックボックス52にチェックを入れておいた場合、コマンド種別ごとに、この後行われるI/O性能テストにおいて最も良いI/O性能が得られたコマンド発行パターンがデフォルトのコマンド発行パターンとして設定される。
さらに測定環境設定画面50では、「測定済のパターンに対しても再度測定を行う」か否かを設定することができる。そしてこの設定に対応するチェックボックス53にチェックを入れた場合には、I/O性能テストの際に、すべてのコマンド種別のすべてのコマンド発行パターンによるテストが行われる。また、かかるチェックボックス53にチェックを入れなかった場合には、既にI/O性能が測定されているコマンド発行パターンに関するI/O性能テストが行われず、新たに設定されたコマンド発行パターンや条件の編集が行われたコマンド発行パターンについてのみI/O性能テストが行われる。
なお、測定環境設定画面50には、測定開始ボタン54及び閉じボタン55も表示される。そして測定環境設定画面50では、測定開始ボタン54をクリックすることによって、そのとき選択されている外部ストレージ装置6に対するI/O性能テストを開始させることができ、閉じボタン55をクリックすることによって、この測定環境設定画面50を閉じさせることができる。
一方、図10は、外部ストレージ装置6に対するI/O性能テストが終了した後にI/O性能テストメイン画面40の終了ボタン47をクリックしたときに表示される運用時コマンド発行パターン管理画面60を示す。この運用時コマンド発行パターン管理画面60は、I/O性能テストのテスト対象として選択されている外部ストレージ装置6について、通常運用時にコマンド種別ごとにそれぞれ使用するコマンド発行パターンをユーザが設定及び管理するための画面である。
この運用時コマンド発行パターン管理画面60では、画面中央部に設定コマンド発行パターン表示部61が表示され、この設定コマンド発行パターン表示部61内に、現在、対応する外部ストレージ装置6について設定されているコマンド種別ごとのコマンド発行パターンが表示される。
例えば図10の例では、I/O性能テストのテスト対象として選択されていた外部ストレージ装置6は「HITACHI USP(1111)」であり、その外部ストレージ装置6について、シーケンシャルリード及びシーケンシャルライトに関する「default」のコマンド発行パターンとして候補番号が「11」のコマンド発行パターンがそれぞれ設定されており、ランダムリード及びランダムライトに関する「default」のコマンド発行パターンとして候補番号が「2」のコマンド発行パターンがそれぞれ設定されていることが示されている。
また運用時コマンド発行パターン管理画面60には、設定コマンド発行パターン表示部61の上下位置に新規追加ボタン62、編集ボタン63、再測定ボタン64及び終了ボタン65が表示される。
そしてユーザは、新規追加ボタン62をクリックすることによって、そのとき対象としている外部ストレージ装置6に対するコマンド種別ごとのコマンド発行パターンとして新たなコマンド発行パターンを定義して登録することができる。具体的には、所望のコマンド種別について、所望するコマンド発行パターンのパターン番号と、そのコマンド発行パターンを適用すべき時間帯とを設定コマンド発行パターン表示部61に入力するようにする。そしてこのときの登録内容が図4について上述した運用時コマンド発行パターン管理テーブル37に反映される。
またユーザは、編集ボタン63をクリックすることにより、既に設定コマンド発行パターン表示部61に表示されている設定を編集することができ、再測定ボタン64をクリックすることにより、そのとき対象としている外部ストレージ装置6に対するI/O性能テストを再度行わせることができる。そしてこのときの編集やI/O性能テストの再実行により設定コマンド発行パターン表示部61に変更があった場合には、その変更内容が運用時コマンド発行パターン管理テーブル37に反映される。さらにユーザは、終了ボタン65をクリックすることによって、この運用時コマンド発行パターン管理画面60を閉じることができる。
(4)I/O性能テスト機能に関する各種処理
(4−1)I/O性能テストに関する処理の流れ
図11は、本ストレージシステム1におけるI/O性能テスト及び実運用に関する手続及び処理の流れを示す。
かかるI/O性能テストを実行するに際して、ユーザは、まずストレージシステム1を構築する(SP1)。ストレージシステム1の構築には、ホストコンピュータ2、メインストレージ装置4及び外部ストレージ装置6間の接続が含まれる。またストレージシステム1の構築には、メインストレージ装置4内の仮想ボリューム及び外部ストレージ装置6内の論理ボリュームの設定や、かかる仮想ボリューム及びかかる論理ボリューム間の対応付け、並びに図6について上述した外部ストレージ装置6内の論理ボリュームごとの優先ポート20の設定なども含まれる。
続いて、ユーザは、管理用端末7を操作して、メインストレージ装置4に接続された各外部ストレージ装置6に対するI/O性能テストを実行させる。I/O性能テストは、外部ストレージ装置6ごとに行う。本ストレージシステム1の場合、このI/O性能テストのテスト結果に基づいて、外部ストレージ装置6ごとにコマンド種別ごとの最適なコマンド発行パターンがメインストレージ装置4に設定される(SP2)。
この後、ストレージシステム1の運用を開始する(SP3)。運用中、メインストレージ装置4は、外部ストレージ装置6に対してコマンドを発行する際には、ステップSP2において設定し又はユーザにより設定されたコマンド発行パターンでコマンドを発行する。
この後、ストレージシステム1のシステム構成が変更された場合や、ストレージシステム1の運用形態が変更された場合、又は外部ストレージ装置6のI/O性能が低下した場合(SP4)、ユーザは、管理用端末7を操作することにより指定した外部ストレージ装置6に対するI/O性能テストを再度実行させることができる(SP4、SP5)。この結果、新たなシステム構成や新たな運用形態に最適なコマンド発行パターンが再度検出されてメインストレージ装置4に設定される。
(4−2)I/O性能テスト機能に関する管理用端末の処理内容
図12は、図11のステップSP2において管理用端末7が実行するI/Oテストメイン処理を示す。図11のステップSP2において、ユーザは、まず管理用端末7を操作してI/O性能テストに関するプログラムを起動する。
そして管理用端末7は、かかるプログラムが起動されると、このプログラムに従って図12に示すI/O性能テストメイン処理を開始し、まず、I/O性能テストのテスト対象となる外部ストレージ装置6がユーザにより選択されるのを待ち受ける(SP10)。
そして管理用端末7は、やがてテスト対象の外部ストレージ装置6が選択されると、メインストレージ装置4の共有メモリ23(図1)に格納されているコマンド発行パターン管理テーブル35(図2)の各エントリのうち、そのとき選択された外部ストレージ装置6と同じ識別情報が外部ストレージ種別欄35Aに格納されたすべてのエントリの情報をコマンド発行パターン管理テーブル35から読み出し、読み出した情報に基づいて図7について上述したI/O性能テストメイン画面40を表示する(SP11)。
続いて管理用端末7は、I/O性能テストメイン画面40上におけるユーザ操作に応じて、I/O性能テストのための準備処理(以下、これをI/O性能テスト準備処理と呼ぶ)を実行し(SP12)、この後、このI/O性能テストメイン処理を終了する。
なお、かかるI/O性能テストメイン処理のステップSP12における管理用端末7の具体的な処理内容を図13に示す。
管理用端末7は、I/O性能テストメイン処理のステップSP12に進むと、この図13に示すI/O性能テスト準備処理を開始し、まず、I/O性能テストメイン画面40上の新規追加ボタン42がクリックされたか否かを判断する(SP20)。
そして管理用端末7は、この判断において肯定結果を得た場合、その後、ユーザが定義した新たなコマンド発行パターン(コマンド発行方式及びサイズ)をI/O性能テストメイン画面40のI/O性能テスト結果表示部41に追加登録すると共に、このコマンド発行パターンをコマンド発行パターン管理テーブル35(図2)にも追加登録する。また管理用端末7は、この後、再度新規追加ボタン42がクリックされるまで同様の処理を繰り返す(SP21)。そして管理用端末7は、やがて新規追加ボタン42がクリックされると、ステップSP20に戻る。
一方、管理用端末7は、ステップSP20の判断において否定結果を得ると、I/O性能テストメイン画面40上の編集ボタン43がクリックされたか否かを判断する(SP22)。
そして管理用端末7は、この判断において肯定結果を得た場合、その後、I/O性能テストメイン画面40のI/O性能テスト結果表示部41に登録されているコマンド発行パターンの定義をユーザ操作に応じて変更すると共に、その変更をコマンド発行パターン管理テーブル35(図2)にも反映させる。また管理用端末7は、この後、再度編集ボタン43がクリックされるまで同様の処理を繰り返す(SP23)。そして管理用端末7は、やがて編集ボタン43がクリックされると、ステップSP20に戻る。
他方、管理用端末7、ステップSP22の判断において否定結果を得ると、I/O性能テストメイン画面40上の性能グラフボタン44がクリックされたか否かを判断する(SP24)。
そして管理用端末7は、この判断において肯定結果を得た場合、I/O性能テストメイン画面40のI/O性能テスト結果表示部41に表示されている先行するI/O性能テストのテスト結果に基づいて図8に示すようなグラフを生成し、これをI/O性能テストグラフ表示画面48として表示する。また管理用端末7は、この後、I/O性能テストグラフ表示画面48内の閉じボタン49(図8)がクリックされると、ステップSP20に戻る。
さらに管理用端末7は、ステップSP24の判断において否定結果を得ると、I/O性能テストメイン画面40上の測定環境設定ボタン46がクリックされたか否かを判断する(SP26)。
そして管理用端末7は、この判断において肯定結果を得た場合、メインストレージ装置4の共有メモリ23に格納されたI/O性能テスト環境設定管理テーブル36を読み出し、このI/O性能テスト環境設定管理テーブル36に基づいて図9に示す測定環境設定画面50を表示する。また管理用端末7は、この後、ユーザ操作に応じて測定環境設定画面50の測定環境設定部51に表示された表示内容を変更すると共に、この変更をかかるI/O性能テスト環境設定管理テーブル36にも反映させる。そして管理用端末7は、この後、測定環境設定画面50の閉じボタン56(図9)がクリックされると、この測定環境設定画面50を閉じてステップSP20に戻る。
さらに管理用端末7は、ステップSP26の判断において否定結果を得ると、I/O性能テストメイン画面40上の測定開始ボタン45がクリックされたか否かを判断する(SP28)。
そして管理用端末7は、この判断において肯定結果を得た場合、メインストレージ装置4に対してI/O性能テストを実行すべき旨のI/O性能テスト実行命令を送信し(SP29)、この後ステップSP20に戻る。
さらに管理用端末7は、ステップSP28の判断において否定結果を得ると、I/O性能テストメイン画面40上の終了ボタン47がクリックされたか否かを判断する(SP30)。そして管理用端末7は、この判断において否定結果を得た場合にはステップSP20に戻り、この後ステップSP30において肯定結果を得るまでステップSP20〜ステップSP30の処理を繰り返す。
そして管理用端末7は、やがてかかる終了ボタン47がクリックされることによりステップSP30において肯定結果を得ると、図10について上述した運用時コマンド発行パターン管理画面60を表示する(SP31)。
また管理用端末7は、この後、この運用時コマンド発行パターン管理画面60上で行われたユーザ操作に基づき、必要に応じて設定コマンド発行パターン表示部61に新たなコマンド発行パターンの適用条件を追加登録したり、設定コマンド発行パターン表示部61に表示されている既存のコマンド発行パターンの適用条件を更新する。そして管理用端末7は、設定コマンド発行パターン表示部61に新たなコマンド発行パターンの適用条件を追加登録したり、既存のコマンド発行パターンの適用条件を更新した場合には、これを運用時コマンド発行パターン管理テーブル37(図4)に反映する(SP32)。
そして管理用端末7は、やがて運用時コマンド発行パターン管理画面60上の終了ボタン65(図10)がクリックされると、このI/O性能テスト準備処理を終了する。
(4−3)I/O性能テスト機能に関するメチャネルプロセッサの処理内容
一方、図14は、I/O性能テスト機能に関するメインストレージ装置4のチャネルプロセッサ21(図1)の処理内容を示している。
図13のステップSP29において管理用端末7から送信されるI/O性能テスト実行命令を受信したメインストレージ装置4のチャネルプロセッサ21は、内部メモリ21B(図1)に格納されているI/O性能テストメインプログラム30(図1)に基づいて、図12のステップSP10においてユーザにより選択された外部ストレージ装置6に対するI/O性能テストを実行する。
すなわち、チャネルプロセッサ21は、管理用端末7から送信されるI/O性能テスト実行命令を受信すると、この図14に示すI/O性能テスト実行処理を開始し、まず、共有メモリ23(図1)に格納されたコマンド発行パターン管理テーブル35(図2)のエントリ(行)のうち、I/O性能テスト実行命令において指定された外部ストレージ装置6の識別情報が外部ストレージ種別欄35A(図2)に格納されたエントリを1つ選択する(SP40)。
続いてチャネルプロセッサ21は、I/O性能テストを行うコマンド種別をシーケンシャルリード、シーケンシャルライト、ランダムリード及びランダムライトの中から1つ選択し(SP41)、この後、コマンド発行パターン管理テーブル35を参照して、ステップSP41において選択したコマンド種別がステップSP40において選択したエントリについて有効か否かを判断する(SP42)。
そしてチャネルプロセッサ21は、この判断において否定結果を得るとステップSP41に戻り、これに対して肯定結果を得ると、コマンド発行パターン管理テーブル35を参照して、ステップSP41において選択したコマンド種別についてのI/O性能テストが未だ行われていない(未測定の状態)であるか否かを判断する(SP43)。
チャネルプロセッサ21は、この判断において肯定結果を得るとステップSP45に進み、これに対して否定結果を得ると図9について上述した測定環境設定画面50において、「測定済のパターンに対しても再度測定を行う」という項目に対応するチェックボックス53がチェックされていたか否かを判断する(SP44)。
チャネルプロセッサ21は、この判断において否定結果を得るとステップSP41に戻り、これに対して肯定結果を得ると、そのときテスト対象として選択されている外部ストレージ装置6に対して、コマンド発行パターン管理テーブル35上のステップSP40において選択されたエントリに対応するコマンド発行パターンで、ステップSP41において選択されたコマンド種別のI/O性能テストを実行する(SP45)。
この後、チャネルプロセッサ21は、すべてのコマンド種別についてのI/O性能テストが終了したか否かを判断し(SP46)、否定結果を得るとステップSP41に戻る。そしてチャネルプロセッサ21は、この後、ステップSP41において選択するコマンド種別を順次他のコマンド種別に切り替えながら、ステップSP41〜ステップSP46の処理を繰り返す。
またチャネルプロセッサ21は、やがてコマンド発行パターン管理テーブル35のステップSP40において選択されたエントリに対応するコマンド発行パターンについてすべてのコマンド種別によるI/O性能テストを完了することによりステップSP46において肯定結果を得ると、コマンド発行パターン管理テーブル35のすべてのエントリについて(すべてのコマンド発行パターンについて)同様の処理を終えたか否かを判断する(SP47)。
そしてチャネルプロセッサ21は、この判断において否定結果を得ると、この後、ステップSP40において選択するコマンド発行パターン管理テーブル35のエントリを順次他のエントリに切り替えながら、ステップSP40〜ステップSP47の処理を繰り返す。
またチャネルプロセッサ21は、コマンド発行パターン管理テーブル35のすべてのエントリについて(すべてのコマンド発行パターンについて)同様の処理を終えることによりステップSP47において肯定結果を得ると、図9について上述した測定環境設定画面50において、「性能が最大のパターンをdefaultに自動的に設定する」という項目に対応するチェックボックス52がチェックされていたか否かを判断する(SP48)。
そしてチャネルプロセッサ21は、この判断において否定結果を得ると、このI/O性能テスト実行処理を終了し、これに対して肯定結果を得ると、コマンド種別(シーケンシャルリード、シーケンシャルライト、ランダムリード及びランダムライト)ごとにステップSP40〜ステップSP47の処理においてI/O性能が最大のコマンド発行パターンをそれぞれデフォルト(default)として運用時コマンド発行パターン管理テーブル37(図4)に設定し(SP49)、この後、このI/O性能テスト実行処理を終了する。
(4−4)I/O性能テスト処理
図15は、図14について上述したI/O性能テスト実行処理のステップSP45におけるチャネルプロセッサ21の具体的な処理内容を示している。
チャネルプロセッサ21は、I/O性能テスト実行処理のステップSP45に進むと、この図15に示すI/O性能テスト処理を開始し、まず、I/O性能テストの開始時間として現在時刻を記憶する(SP50)。
続いてチャネルプロセッサ21は、現在時刻を取得し(SP51)、この後、ステップSP50において記憶した開始時刻と、ステップSP51において取得した現在時刻とに基づいて、そのとき実行しているコマンド種別についてI/O性能テスト環境設定管理テーブル36(図3)上で規定されたテスト時間が経過したか否かを判断する(SP52)。
そしてチャネルプロセッサ21は、この判断において否定結果を得ると、そのとき対象としているコマンド発行パターン用のテストコマンドを生成し(SP53)、生成したテストコマンドをそのとき対象としている外部ストレージ装置6に送信した後(SP54)、かかるテストコマンドに対する当該外部ストレージ装置6からの応答を待ち受ける(SP55)。
次いでチャネルプロセッサ21は、ステップSP51に戻り、この後、そのとき実行しているコマンド種別についてのI/O性能テストを開始してからI/O性能テスト環境設定管理テーブル36(図3)上で規定されたテスト時間が経過するまでステップSP51〜ステップSP55の処理を繰り返す。
この後チャネルプロセッサ21は、やがてステップSP52において肯定結果を得ると、上述のようにして外部ストレージ装置6に送信したテストコマンドに対する当該外部ストレージ装置6からの応答結果に基づいて、その外部ストレージ装置6における1秒当たりのデータの読み出し若しくは書き込み量(コマンド種別がシーケンシャルリード又はシーケンシャルライトの場合)、又は1秒当たりの処理コマンド数(コマンド種別がランダムリード又はランダムライトの場合)を算出し(SP56)、算出結果をコマンド発行パターン管理テーブルに反映した後(SP57)、このI/O性能テスト処理を終了する。
(4−5)テストコマンド生成処理
図16は、図15について上述したI/O性能テスト処理のステップSP53におけるチャネルプロセッサ21の具体的な処理内容を示す。
チャネルプロセッサ21は、I/O性能テスト処理のステップSP53に進むと、この図16に示すテストコマンド生成処理を開始し、まず、そのとき発行すべきコマンドのコマンド種別を判定する(SP60)。なお、このとき判定されるコマンド種別は、図14について上述したI/O性能テスト実行処理のステップSP41において選択したコマンド種別である。
続いてチャネルプロセッサ21は、外部ストレージ装置6内のコマンドの発行対象となる論理ボリュームを決定する。具体的に、チャネルプロセッサ21は、I/O性能テスト環境設定管理テーブル36(図3)上の対応する使用ポート欄36F(図3)に格納されている各ポートIDのポートとそれぞれ対応付けられた論理ボリュームの中から当該I/O性能テスト環境設定管理テーブル36上の対応する外部ストレージ発行LU数欄36D(図3)に格納された数だけ選択することになる(SP61)。
続いてチャネルプロセッサ21は、このとき選択した各論理ボリュームをそれぞれ対象とするコマンド(そのとき対象としているコマンド種別のコマンド)を生成し、生成したコマンドをキャッシュメモリ22(図1)に格納する(SP62)。そしてチャネルプロセッサ21は、この後、このテストコマンド生成処理を終了してI/O性能テスト処理に戻る。
(4−6)コマンド送信メイン処理
一方、図17は、図15について上述したI/O性能テスト処理のステップSP54におけるチャネルプロセッサ21の具体的な処理内容を示す。
チャネルプロセッサ21は、I/O性能テスト処理のステップSP54に進むと、この図17に示すコマンド送信メイン処理を開始し、まず、対象とする外部ストレージ装置6に送信するコマンドのコマンド発行パターンを決定する(SP70)。このとき決定されるコマンド発行パターンは、図14について上述したI/O性能テスト実行処理のステップSP41において選択したコマンド種別のコマンド発行パターンであって、未だI/O性能テストが行われていないコマンド発行パターンである。
続いてチャネルプロセッサ21は、図16について上述したコマンド生成処理において生成したコマンドを、ステップSP70において決定したコマンド発行パターンでテスト対象の外部ストレージ装置6に送信する(SP71)。そしてチャネルプロセッサ21は、この後、このコマンド送信メイン処理を終了してI/O性能テスト処理に戻る。
(4−7)コマンド送信処理
図18〜図21は、図17について上述したコマンド送信メイン処理のステップSP71において行なわれるコマンド送信処理の具体的な処理内容を示す。チャネルプロセッサ21は、そのときテストを行うコマンド発行方式が第1のコマンド発行方式であるときには、図18に示す第1のコマンド送信処理によりコマンドを外部ストレージ装置6に送信し、そのときテストを行うコマンド発行方式が第2のコマンド発行方式であるときには、図19に示す第2のコマンド送信処理によりコマンドを外部ストレージ装置6に送信する。
またチャネルプロセッサ21は、そのときテストを行うコマンド発行方式が第3のコマンド発行方式であるときには、図20に示す第3のコマンド送信処理によりコマンドを外部ストレージ装置6に送信し、そのときテストを行うコマンド発行方式が第4のコマンド発行方式であるときには、図21に示す第4のコマンド送信処理によりコマンドを外部ストレージ装置6に送信する。
(4−7−1)第1のコマンド発行方式によるコマンド送信処理
図18は、そのときテストを行うコマンド発行方式が第1のコマンド発行方式であるときのチャネルプロセッサ21の具体的な処理内容を示す。
この場合、チャネルプロセッサ21は、図18に示す第1のコマンド送信処理手順に従って、図16について上述したテストコマンド生成処理により生成したコマンドを、外部ストレージ装置6内の対応する各論理ボリューム(図16のステップSP61において選択した論理ボリューム)に対して、当該論理ボリュームについて設定された優先ポート20をそれぞれ介して送信する。そしてチャネルプロセッサ21は、この後、この第1のコマンド送信処理を終了してコマンド送信メイン処理に戻る。
(4−7−2)第2のコマンド発行方式によるコマンド送信処理
一方、図19は、そのときテストを行うコマンド発行方式が第2のコマンド発行方式であるときのチャネルプロセッサ21の具体的な処理内容を示す。
この場合、チャネルプロセッサ21は、まず、コマンド発行順序管理テーブル38(図5)を参照して、テスト対象の外部ストレージ装置6内の論理ボリュームのうち、そのとき対象とする論理ボリュームに対して送信するコマンドのコマンド種別がそれまで継続して送信していたコマンド種別と一致するか否かを判断する(SP90)。
そしてチャネルプロセッサ21は、この判断において肯定結果を得ると、かかるコマンド発行順序管理テーブル38の対応するエントリの合計サイズ欄38F(図5)に格納された合計サイズを、今回送信するコマンドにより読み書きされるデータサイズ分だけ増加させる(SP91)。
これに対してチャネルプロセッサ21は、ステップSP90の判断において否定結果を得ると、コマンド発行順序管理テーブル38を初期化し、対応するエントリのLUN欄38B(図5)、コマンド種別欄38C(図5)及び開始時間欄38G(図5)にそれぞれ対応する情報を格納する。またチャネルプロセッサ21は、今回送信するコマンドにより読み書きされるデータ量をそのエントリの合計サイズ欄38Fに格納する(SP92)。
続いてチャネルプロセッサ21は、コマンド発行順序管理テーブル38において設定されたポート20を介して外部ストレージ装置6に対応するコマンドを第2のコマンド発行方式で送信し(SP93)、この後、コマンド発行順序管理テーブル38の対応するエントリの合計サイズ欄38Fに格納された合計サイズが、コマンド発行パターン管理テーブル35(図2)の対応するエントリのコマンドサイズ欄35D(図2)に格納されたサイズを超えたか否かを判断する(SP94)。
チャネルプロセッサ21は、この判断において否定結果を得ると、この図19に示す第2のコマンド送信処理を終了してコマンド送信メイン処理に戻る。
これに対してチャネルプロセッサ21は、この判断において肯定結果を得ると、コマンド発行順序管理テーブル38(図5)の対応するエントリの送信ポートID欄38D(図5)に格納されたポートIDを次のポートのポートIDに変更する(SP95)。
続いてチャネルプロセッサ21は、そのエントリの合計サイズ欄38F(図5)に格納された合計サイズを初期化(「0」にリセット)し(SP96)、この後、この図19に示す第2のコマンド送信処理を終了してコマンド送信メイン処理に戻る。
(4−7−3)第3のコマンド発行方式によるコマンド送信処理
他方、図20は、そのときテストを行うコマンド発行方式が第3のコマンド発行方式であるときのチャネルプロセッサ21の具体的な処理内容を示す。
この場合、チャネルプロセッサ21は、ステップSP100〜ステップSP102を図19について上述した第2のコマンド送信処理のステップSP90〜ステップSP92と同様に処理する。そしてチャネルプロセッサ21は、この後、コマンド発行順序管理テーブル38の対応するエントリの合計サイズ欄38Fに格納された合計サイズが、コマンド発行パターン管理テーブル35(図2)の対応するエントリのコマンドサイズ欄35D(図2)に格納されたコマンドサイズの閾値を超えたか否かを判断する(SP103)。
チャネルプロセッサ21は、この判断において否定結果を得ると、この第3のコマンド送信処理を終了してコマンド送信メイン処理に戻る。
これに対してチャネルプロセッサ21は、ステップSP103の判断において肯定結果を得ると、コマンド発行順序管理テーブル38の対応するエントリの合計サイズ欄38Fに格納された合計サイズと、コマンド発行パターン管理テーブル35(図2)の対応するエントリのコマンドサイズ欄35D(図2)に格納されたコマンドサイズの閾値との差分に相当するデータ量分のリード又はライトを行うためのコマンドを、そのとき対象としている論理ボリュームの優先ポート20を介して外部ストレージ装置6に送信する(SP104)。
次いでチャネルプロセッサ21は、コマンド発行順序管理テーブル38の対応するエントリの合計サイズ欄38F(図5)に格納された合計サイズを初期化(「0」にリセット)し(SP105)、この後、この第3のコマンド送信処理を終了してコマンド送信メイン処理に戻る。
(4−7−4)第4のコマンド発行方式によるコマンド送信処理
図21は、そのときテストを行うコマンド発行方式が第4のコマンド発行方式であるときのチャネルプロセッサ21の具体的な処理内容を示す。
この場合、チャネルプロセッサ21は、ステップSP110〜ステップSP114を図20について上述した第3のコマンド送信処理のステップSP100〜ステップSP104と同様に処理する。そしてチャネルプロセッサ21は、この後、コマンド発行順序管理テーブル38上の対応するエントリの送信ポートID欄38Dに格納されているポートIDを次のポート20のポートIDに変更する(SP115)。
次いでチャネルプロセッサ21は、コマンド発行順序管理テーブル38の対応するエントリの合計サイズ欄38F(図5)に格納された合計サイズを初期化(「0」にリセット)し(SP116)、この後、この第4のコマンド送信処理を終了してコマンド送信メイン処理に戻る。
(4−8)運用時におけるチャネルプロセッサのコマンド処理
(4−8−1)運用時コマンド処理
図22は、運用時にホストコンピュータ2(図1)から送信されたコマンド(シーケンシャルリードコマンド、シーケンシャルライトコマンド、ランダムリードコマンド又はランダムライトコマンド)を受信したメインストレージ装置4のチャネルプロセッサ21の具体的な処理内容を示している。かかるチャネルプロセッサ21は、内部メモリ21B(図1)に格納された運用時コマンド処理プログラム31(図1)に基づいてこの図22に示す運用時コマンド処理を実行する。
すなわち、かかるチャネルプロセッサ21は、ホストコンピュータ2からのコマンドを受信すると、この運用時コマンド処理を開始し、まず、受信したコマンドにおいて指定されたデータのリード又はライト先の論理ボリュームは外部ストレージ装置6が提供する論理ボリュームと対応付けられた仮想ボリュームであるか否かを判断する(SP120)。
この判断において否定結果を得ることは、受信したコマンドにおいて指定されたデータのリード又はライト先の論理ボリュームが、メインストレージ装置4が提供する実体を有する論理ボリュームであることを意味する。
かくしてこのときチャネルプロセッサ21は、かかるコマンドにおいて指定されたデータを当該コマンドにおいて指定された論理ボリュームからリード又はライトし(SP121)、この後、この運用時コマンド処理を終了する。
これに対してステップSP120の判断において肯定定結果を得ることは、受信したコマンドにおいて指定されたデータの最終的なリード又はライト先の論理ボリュームが、外部ストレージ装置6が提供する論理ボリュームであることを意味する。
かくしてこのときチャネルプロセッサ21は、仮想ボリュームと、外部ストレージ装置6内の論理ボリュームとの対応関係を管理するための図示しないテーブルを参照して、かかる仮想ボリュームと対応付けられた論理ボリュームが存在する外部ストレージ装置6を特定する(SP)。
次いでチャネルプロセッサ21は、その外部ストレージ装置6に対して指定されたデータをリード又はライトさせるためのコマンドを送信し(SP123)、この後、この運用時コマンド処理を終了する。
(4−8−2)運用時コマンド送信メイン処理
図23は、図22について上述した運用時コマンド処理のステップSP123におけるチャネルプロセッサ21の具体的な処理内容を示す。
チャネルプロセッサ21は、運用時コマンド処理のステップSP123に進むと、この図23に示す運用時コマンド送信メイン処理を開始し、まず、そのとき受信したコマンドがライトコマンドであるか否かを判断する(SP130)。
チャネルプロセッサ21は、この判断において肯定結果を得ると、メインストレージ装置4内のキャッシュメモリ22(図1)上にライトデータを一時的に格納するための領域を確保できるか否かを判断する(SP131)。
チャネルプロセッサ21は、この判断において否定結果を得ると、所定時間待機し(SP132)、この後ステップSP131に戻る。そしてチャネルプロセッサ21は、この後、ステップSP131において肯定結果を得るまで、ステップSP131及びステップSP132の処理を繰り返す。
やがてチャネルプロセッサ21は、ステップSP131において肯定結果を得ると、かかるライトコマンドと共にホストコンピュータ2から送信されるライトデータをメインストレージ装置4内のキャッシュメモリ22に格納し(SP133)、この後、ホストコンピュータ2にライト処理が完了した旨を通知する(SP134)。
続いてチャネルプロセッサ21は、それまでに受信したコマンドに基づいて、かかるライトコマンドがシーケンシャルライトコマンド及びランダムライトコマンドのいずれであるかを判断する(SP135)。
そしてチャネルプロセッサ21は、この判断結果に基づいて、かかるライトコマンドに基づいて対応する外部ストレージ装置に送信すべきライトコマンドのコマンド発行パターンを決定する(SP136)。具体的に、チャネルプロセッサ21は、ステップSP135における判断結果と、運用時コマンド発行パターン管理テーブル37と、現在時刻となどを参照して、かかるコマンド発行パターンを決定することになる。
そしてチャネルプロセッサ21は、この後、対応する外部ストレージ装置に対して、ステップSP136において決定したコマンド発行パターンでライトコマンドを送信する(SP137)。なお、このときのコマンドの送信方法は、図18〜図21について上述した方法のうちの対応する方法が用いられる。そしてチャネルプロセッサ21は、この後、この運用時コマンド送信メイン処理を終了する。
一方、チャネルプロセッサ21は、ステップSP130の判断において否定結果を得ると、メインストレージ装置4のキャッシュメモリ22(図1)上にリードデータを格納するための領域を確保し(SP139)、この後、リード対象のデータがキャッシュメモリ22上に存在するか否かを判断する(SP140)。
チャネルプロセッサ21は、この判断において否定結果を得ると、ステップSP135に進み、この後ステップSP135〜ステップSP137について上述した処理を順次実行することにより、対応する外部ストレージ装置6にコマンドを送信する。これによりチャネルプロセッサ21は、その外部ストレージ装置6にホストコンピュータ2からのリードコマンドにおいて指定されたリード対象のデータを読み出させる。
そしてチャネルプロセッサ21は、その外部ストレージ装置6からリード対象のデータが転送されてくると、このデータをホストコンピュータ2に転送し(SP138)、この後、この運用時コマンド送信メイン処理を終了する。
これに対してチャネルプロセッサ21は、ステップSP139の判断において肯定結果を得ると、キャッシュメモリ22からリード対象のデータを読み出し(SP141)、読み出したデータをホストコンピュータ2に送信する(SP142)。そしてチャネルプロセッサ21は、この後、この運用時コマンド送信メイン処理を終了する。
(4−8−3)コマンドレスポンス応答処理
一方、図24は、図22について上述した運用時コマンド処理と並行してチャネルプロセッサ21が行うコマンドレスポンス応答処理の処理手順を示す。
チャネルプロセッサ21は、運用時にホストコンピュータ2(図1)から送信されたコマンドを受信すると、内部メモリ21B(図1)に格納されたコマンドレスポンス応答プログラム33(図1)に基づいて、このコマンドレスポンス応答処理を実行する。
すなわちチャネルプロセッサ21は、運用時にホストコンピュータ2からのコマンドを受信すると、このコマンドレスポンス応答処理を開始し、図23のステップSP136において対応する外部ストレージ装置6にコマンドを送信した後に、当該外部ストレージ装置6から送信されるそのコマンドに対する応答を受信するのを待ち受ける(SP151)。
そしてチャネルプロセッサ21は、かかる応答を受信すると、そのときホストコンピュータ2から与えられたコマンド要求がリード要求であったか否かを判断する(SP152)。そしてチャネルプロセッサ21は、この判断において否定結果を得ると、このコマンドレスポンス応答処理を終了する。
これに対してチャネルプロセッサ21は、ステップSP151の判断において肯定結果を得ると、かかるリード要求を送信してきたホストコンピュータ2に対してリード完了通知を送信し(SP152)、この後、このコマンドレスポンス応答処理を終了する。
(4−8−4)周期処理
上述のように第3及び第4のコマンド発行方式では、コマンド発行パターン管理テーブル35(図2)において設定されたサイズ分のコマンドを貯めてから一度に外部ストレージ装置6にコマンドを送信する。
このため、例えば図23について上述した運用時コマンド送信メイン処理のステップSP136において、コマンド発行パターンとして第3又は第4のコマンド発行パターンが決定された場合、その後、ホストコンピュータ2からのコマンドの到達頻度が少ないと、コマンドの待ち状態が長く続いてホストコンピュータ2から見たメインストレージ装置4の性能が低下する問題がある。
そこで、本実施の形態のメインストレージ装置4においては、コマンド発行パターンとして第3又は第4のコマンド発行パターンが決定された場合、周期的にコマンド発行順序管理テーブルを検索し、開始時間から長く放置されているケースが存在する場合には、コマンド発行パターン管理テーブル35において設定されたサイズ分のコマンドが貯められていない状態であっても、それまでに貯めたコマンドを外部ストレージ装置6に送信する。
図25は、このような制御処理に関するチャネルプロセッサ21の具体的な処理内容を示している。チャネルプロセッサ21は、内部メモリ21B(図1)に格納された周期処理プログラム34に基づいて、この図25に示す周期処理を実行する。
すなわちチャネルプロセッサ21は、メインストレージ装置4の電源が投入されると、この図25に示す周期処理を開始し、まず、現在時刻を取得する(SP160)。
続いてチャネルプロセッサ21は、コマンド発行順序管理テーブル38(図5)のエントリ(行)を1つ選択し(SP161)、この後、そのエントリの開始時間欄38G(図5)を参照して、当該エントリについて、コマンドを貯め始めてから予め定められた所定時間が経過したか否かを判断する(SP162)。
チャネルプロセッサ21は、この判断において否定結果を得るとステップSP170に進み、これに対して肯定結果を得ると、そのエントリにおけるコマンド発行方式が第2のコマンド発行方式であるか否かを判断する(SP163)。
チャネルプロセッサ21は、この判断において肯定結果を得ると、コマンド発行順序管理テーブル38のそのエントリの送信ポートID欄38D(図5)に格納されている送信ポートIDを次のポート20のポートIDに変更し(SP164)、この後ステップSP169に進む。
これに対してチャネルプロセッサ21は、ステップSP163の判断において否定結果を得ると、そのエントリにおけるコマンド発行方式が第3のコマンド発行方式であるか否かを判断する(SP163)。
そしてチャネルプロセッサ21は、この判断において肯定結果を得ると、新たなコマンドを生成して対応する優先ポート20に送信し(SP166)、この後ステップSP169に進む。
これに対してチャネルプロセッサ21は、新たなコマンドを生成して、そのコマンドをコマンド発行順序管理テーブル38のそのエントリの送信ポートID欄38D(図5)に格納されている送信ポートIDのポート20に送信し(SP167)、この後、当該送信ポートID欄38Dに格納されている送信ポートIDを次のポート20のポートIDに変更する(SP168)。
続いてチャネルプロセッサ21は、コマンド発行順序管理テーブル38におけるそのエントリの合計サイズ欄38Fに格納されている合計サイズを初期化(「0」にリセット)する(SP169)。
次いでチャネルプロセッサ21は、コマンド発行順序管理テーブル38におけるすべてのエントリについて同様の処理を終えたか否かを判断する(SP170)。そしてチャネルプロセッサ21は、この判断において否定結果を得るとステップSP161に戻り、この後、ステップSP170において肯定結果を得るまで同様の処理を繰り返す。
そしてチャネルプロセッサ21は、やがてコマンド発行順序管理テーブル38におけるすべてのエントリについて同様の処理を終えることによりステップSP170において肯定結果を得ると、ステップSP160〜ステップSP170の処理を実行する周期として予め定められた所定時間が経過するのを待ち受ける(SP171)。
そしてチャネルプロセッサ21は、やがてかかる所定時間が経過すると、ステップSP160に戻り、この後、同様の処理を繰り返す。
(4−8−5)ボリューム優先ポート設定処理
図26は、ストレージシステム1の運用時にシーケンシャルリード、シーケンシャルライト、ランダムリード及び又はランダムライトのコマンド発行パターンとして第1又は第3のコマンド発行方式のコマンド発行パターンが選択又は設定された場合における優先ポート20の設定に関するチャネルプロセッサ21の処理内容を示している。チャネルプロセッサ21は、この図26に示すボリューム優先ポート設定処理を、内部メモリ21B(図1)に格納されたボリューム優先ポート設定プログラム32(図1)に従って実行する。
すなわちチャネルプロセッサ21は、ある外部ストレージ装置6に対するシーケンシャルリード、シーケンシャルライト、ランダムリード及び又はランダムライトのコマンド発行パターンとして第1又は第3のコマンド発行方式のコマンド発行パターンが選択又は設定された場合、まず、ボリューム優先ポート管理テーブル39(図6)を参照して、仮想化した論理ボリュームごとに優先ポート20を設定する(SP180)。そしてチャネルプロセッサ21は、この後、この図26に示すボリューム優先ポート設定処理を終了する。
(5)本実施の形態の効果
以上のように本実施の形態によるストレージシステム1では、チャネルプロセッサ21が、コマンド種別ごとに、テスト用コマンドを複数のコマンド発行パターンで外部ストレージ装置6に発行すると共に、コマンド発行パターンごとのI/O性能を測定し、コマンド発行パターンごとのI/O性能の測定結果を表示したり、コマンド発行パターンごとのI/O性能の測定結果に基づいて、当該外部ストレージ装置6に対してコマンドを発行する際のコマンド発行パターンとして最適なコマンド発行パターンを設定するため、ストレージシステム1を構築する際や新たな外部ストレージ装置6を導入したときなどに、ユーザが外部ストレージ装置6に搭載された機能や外部ストレージ装置6の特性を完全に把握する必要がなく、メインストレージ装置4に対する外部ストレージ装置6ごとの最適なコマンド発行パターンの設定を容易に行うことができる。かくするにつきストレージシステム1全体としてのI/O性能を向上させながら、ストレージシステム1の汎用性及び利便性を向上させることができる。
(6)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成されたストレージシステム1に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のストレージシステムに広く適用することができる。
また上述の実施の形態においては、コマンド発行方式として第1〜第4のコマンド発行方式を採用するようにした場合について述べたが、本発明はこれに限らず、この他種々のコマンド発行方式を広く適用することができる。
さらに上述の実施の形態においては、コマンドサイズの閾値(第1及び第2の閾値)を「0」MB、「10000000」MB、「20000000」MB及び「50000000」MBとするようにした場合について述べたが、本発明はこれに限らず、この他種々のサイズを広く適用することができる。
外部接続機能が搭載されたストレージ装置に広く適用することができる。
本実施の形態によるストレージシステムの全体構成を示すブロック図である。 コマンド発行パターン管理テーブルを示す概念図である。 I/O性能テスト環境設定管理テーブルを示す概念図である。 運用時コマンド発行パターン管理テーブルを示す概念図である。 コマンド発行順序管理テーブルを示す概念図である。 ボリューム優先ポート管理テーブルを示す概念図である。 I/O性能テストメイン画面を示す図である。 I/O性能テストグラフ表示画面を示す図である。 測定環境設定用画面を示す図である。 運用時コマンド発行パターン管理画面を示す図である。 実施の形態によるストレージシステムにおけるI/O性能テスト及び実運用に関する手続及び処理の流れを示すフローチャートである。 I/O性能テストメイン処理の処理手順を示すフローチャートである。 I/O性能テスト準備処理の処理手順を示すフローチャートである。 I/O性能テスト実行処理の処理手順を示すフローチャートである。 I/O性能テスト処理の処理手順を示すフローチャートである。 テストコマンド生成処理の処理手順を示すフローチャートである。 コマンド送信メイン処理の処理手順を示すフローチャートである。 第1のコマンド送信処理手順の処理手順を示すフローチャートである。 第2のコマンド送信処理手順の処理手順を示すフローチャートである。 第3のコマンド送信処理手順の処理手順を示すフローチャートである。 第4のコマンド送信処理手順の処理手順を示すフローチャートである。 運用時コマンド処理の処理手順を示すフローチャートである。 運用時コマンド送信メイン処理の処理手順を示すフローチャートである。 コマンドレスポンス応答処理の処理手順を示すフローチャートである。 周期処理の処理手順を示すフローチャートである。 ボリューム優先ポート設定処理の処理手順を示すフローチャートである。
符号の説明
1……ストレージシステム、2……ホストコンピュータ、6……外部ストレージ装置、7……管理用端末、10……物理記憶デバイス、12……コントロール部、20……ポート(優先ポート)、21……チャネルプロセッサ、22……キャッシュメモリ、23……共有メモリ、30……I/O性能テストメインプログラム、31……運用時コマンド処理プログラム、32……ボリューム優先ポート設定プログラム、33……コマンドレスポンス応答プログラム、34……周期処理プログラム、35……コマンド発行パターン管理テーブル、36……I/O性能テスト環境設定管理テーブル、37……運用時コマンド発行パターン管理テーブル、38……コマンド発行順序管理テーブル、39……ボリューム優先ポート管理テーブル、40……I/O性能テストメイン画面、48……I/O性能テストグラフ表示画面、50……測定環境設定画面、60……運用時コマンド発行パターン管理画面。

Claims (16)

  1. 自己に接続された外部ストレージ装置が提供する1又は複数の論理ボリュームをそれぞれ仮想化してホストコンピュータに提供するストレージ装置において、
    それぞれ異なるパスを介して前記外部ストレージ装置と接続された複数のポートと、
    前記ホストコンピュータから与えられたリード要求又はライト要求に応じたコマンドを生成し、生成したコマンドを前記複数のポートのうちのいずれかのポートを介して前記外部ストレージ装置に発行するチャネルプロセッサと
    を備え、
    前記チャネルプロセッサは、前記コマンドの種別ごとに、
    テスト用コマンドを複数の発行方式で前記外部ストレージ装置に発行すると共に、前記発行方式ごとのI/O性能を測定し、
    前記発行方式ごとのI/O性能の測定結果を表示し、及び又は前記発行方式ごとのI/O性能の測定結果に基づいて、当該外部ストレージ装置に対して前記コマンドを発行する際の前記発行方式を設定する
    ことを特徴とするストレージ装置。
  2. 前記チャネルプロセッサは、
    前記テスト用コマンドを前記複数の発行方式で、かつ発行方式ごとにそれぞれ1又は複数の発行パターンで前記外部ストレージ装置に発行すると共に、前記発行パターンごとのI/O性能を測定し、
    前記発行パターンごとのI/O性能の測定結果を表示し、及び又は前記発行パターンごとのI/O性能の測定結果に基づいて、当該外部ストレージ装置に対して前記コマンドを発行する際の前記発行パターンを設定する
    ことを特徴とする請求項1に記載のストレージ装置。
  3. 同じ前記発行方式の前記複数の発行パターンは、それぞれ1秒間にリード又はライトすべきデータの合計量が異なる
    ことを特徴とする請求項2に記載のストレージ装置。
  4. 前記コマンドの種別は、
    少なくともシーケンシャルデータのリードを要求するシーケンシャルリードコマンドと、シーケンシャルデータのライトを要求するシーケンシャルライトコマンドと、ランダムデータのリードを要求するランダムリードコマンドと、ランダムデータのライトを要求するランダムライトコマンドとを含む
    ことを特徴とする請求項1に記載のストレージ装置。
  5. 前記複数の発行方式のうちの1つの発行方式は、
    前記複数のポートのうちの前記外部ストレージ装置が提供する前記論理ボリュームごとにそれぞれ予め1つの優先ポートが定められ、前記論理ボリュームを対象とする前記コマンドを対応する前記優先ポートを介して前記外部ストレージ装置に発行する方式である
    ことを特徴とする請求項1に記載のストレージ装置。
  6. 前記複数の発行方式のうちの1つの発行方式は、
    前記複数のポートのうちの1つのポートを介して前記外部ストレージ装置に前記コマンドを送信し、
    当該ポートを介して送信した前記コマンドによりリード又はライトすべきデータの合計量が予め定められた第1の閾値を超えた場合に前記コマンドを送信するポートを前記複数のポートのうちの他のポートに切り替える方式である
    ことを特徴とする請求項1に記載のストレージ装置。
  7. 前記複数の発行方式のうちの1つの発行方式は、
    前記複数のポートのうちの前記外部ストレージ装置が提供する前記論理ボリュームごとにそれぞれ予め1つの優先ポートが定められ、前記論理ボリュームを対象とする前記コマンドを、当該コマンドによりリード又はライトされるデータの合計量が予め定められた第2の閾値を超える分だけ貯めてから一度に、対応する前記優先ポートを介して前記外部ストレージ装置に発行する方式である
    ことを特徴とする請求項1に記載のストレージ装置。
  8. 前記複数の発行方式のうちの1つの発行方式は、
    前記複数のポートのうちの1つのポートを介して前記コマンドを、当該コマンドによりリード又はライトされるデータの合計量が前記第1の閾値を超える分だけ貯めてから一度に、前記外部ストレージ装置に送信する
    ことを特徴とする請求項1に記載のストレージ装置。
  9. 自己に接続された外部ストレージ装置が提供する1又は複数の論理ボリュームをそれぞれ仮想化してホストコンピュータに提供するストレージ装置の制御方法において、
    前記ホストコンピュータから与えられたリード要求又はライト要求に応じたコマンドを生成し、生成したコマンドを、それぞれ異なるパスを介して前記外部ストレージ装置と接続された複数のポートのうちのいずれかのポートを介して前記外部ストレージ装置に発行する機能が前記ストレージ装置に搭載され、
    前記コマンドの種別ごとに、テスト用コマンドを複数の発行方式で前記外部ストレージ装置に発行すると共に、前記発行方式ごとのI/O性能を測定する第1のステップと、
    前記発行方式ごとのI/O性能の測定結果を表示し、及び又は前記発行方式ごとのI/O性能の測定結果に基づいて、前記チャネルプロセッサが当該外部ストレージ装置に対して前記コマンドを発行する際の前記発行方式を設定する第2のステップと
    を備えることを特徴とするストレージ装置の制御方法。
  10. 前記第1のステップでは、
    前記テスト用コマンドを前記複数の発行方式で、かつ発行方式ごとにそれぞれ1又は複数の発行パターンで前記外部ストレージ装置に発行すると共に、前記発行パターンごとのI/O性能を測定し、
    前記第2のステップでは、
    前記発行パターンごとのI/O性能の測定結果を表示し、及び又は前記発行パターンごとのI/O性能の測定結果に基づいて、当該外部ストレージ装置に対して前記コマンドを発行する際の前記発行パターンを設定する
    ことを特徴とする請求項9に記載のストレージ装置の制御方法。
  11. 同じ前記発行方式の前記複数の発行パターンは、それぞれ1秒間にリード又はライトすべきデータの合計量が異なる
    ことを特徴とする請求項10に記載のストレージ装置の制御方法。
  12. 前記コマンドの種別は、
    少なくともシーケンシャルデータのリードを要求するシーケンシャルリードコマンドと、シーケンシャルデータのライトを要求するシーケンシャルライトコマンドと、ランダムデータのリードを要求するランダムリードコマンドと、ランダムデータのライトを要求するランダムライトコマンドとを含む
    ことを特徴とする請求項9に記載のストレージ装置の制御方法。
  13. 前記複数の発行方式のうちの1つの発行方式は、
    前記複数のポートのうちの前記外部ストレージ装置が提供する前記論理ボリュームごとにそれぞれ予め1つの優先ポートが定められ、前記論理ボリュームを対象とする前記コマンドを対応する前記優先ポートを介して前記外部ストレージ装置に発行する方式である
    ことを特徴とする請求項9に記載のストレージ装置の制御方法。
  14. 前記複数の発行方式のうちの1つの発行方式は、
    前記複数のポートのうちの1つのポートを介して前記外部ストレージ装置に前記コマンドを送信し、
    当該ポートを介して送信した前記コマンドによりリード又はライトすべきデータの合計量が予め定められた第1の閾値を超えた場合に前記コマンドを送信するポートを前記複数のポートのうちの他のポートに切り替える方式である
    ことを特徴とする請求項9に記載のストレージ装置の制御方法。
  15. 前記複数の発行方式のうちの1つの発行方式は、
    前記複数のポートのうちの前記外部ストレージ装置が提供する前記論理ボリュームごとにそれぞれ予め1つの優先ポートが定められ、前記論理ボリュームを対象とする前記コマンドを、当該コマンドによりリード又はライトされるデータの合計量が予め定められた第2の閾値を超える分だけ貯めてから一度に、対応する前記優先ポートを介して前記外部ストレージ装置に発行する方式である
    ことを特徴とする請求項9に記載のストレージ装置の制御方法。
  16. 前記複数の発行方式のうちの1つの発行方式は、
    前記複数のポートのうちの1つのポートを介して前記コマンドを、当該コマンドによりリード又はライトされるデータの合計量が前記第1の閾値を超える分だけ貯めてから一度に、前記外部ストレージ装置に送信する
    ことを特徴とする請求項9に記載のストレージ装置の制御方法。
JP2008188994A 2008-07-22 2008-07-22 ストレージ装置及びその制御方法 Pending JP2010026873A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008188994A JP2010026873A (ja) 2008-07-22 2008-07-22 ストレージ装置及びその制御方法
US12/236,547 US7908408B2 (en) 2008-07-22 2008-09-24 Storage device and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008188994A JP2010026873A (ja) 2008-07-22 2008-07-22 ストレージ装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2010026873A true JP2010026873A (ja) 2010-02-04

Family

ID=41569627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008188994A Pending JP2010026873A (ja) 2008-07-22 2008-07-22 ストレージ装置及びその制御方法

Country Status (2)

Country Link
US (1) US7908408B2 (ja)
JP (1) JP2010026873A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221981A (ja) * 2010-04-08 2011-11-04 Hitachi Ltd 外部ストレージシステムに結合されたストレージシステムのエラーコード管理方法及び装置
JP2012079183A (ja) * 2010-10-04 2012-04-19 Fujitsu Ltd ストレージシステムの仮想化制御装置及び制御プログラム
JPWO2011099098A1 (ja) * 2010-02-10 2013-06-13 日本電気株式会社 ストレージ装置
JP2020160860A (ja) * 2019-03-27 2020-10-01 Necプラットフォームズ株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101515525B1 (ko) * 2008-10-02 2015-04-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작 방법
US8868798B1 (en) * 2010-09-24 2014-10-21 Emc Corporation Techniques for modeling disk performance
US8930621B2 (en) * 2012-06-07 2015-01-06 Hitachi, Ltd. Storage subsystem and storage control method
CN107615388A (zh) 2015-03-20 2018-01-19 波利伍德有限责任公司 存储控制器中的可配置多级纠错
US9997251B2 (en) 2015-03-26 2018-06-12 Burlywood, LLC Medium defect management method for storage systems requiring an integrated controller
JP2018018271A (ja) * 2016-07-27 2018-02-01 富士通株式会社 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US10764315B1 (en) * 2019-05-08 2020-09-01 Capital One Services, Llc Virtual private cloud flow log event fingerprinting and aggregation
CN116346379A (zh) * 2021-12-24 2023-06-27 北京字节跳动网络技术有限公司 数据获取方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
US7343524B2 (en) * 2002-09-16 2008-03-11 Finisar Corporation Network analysis omniscent loop state machine
JP4391265B2 (ja) * 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
JP5000234B2 (ja) 2006-08-24 2012-08-15 株式会社日立製作所 制御装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2011099098A1 (ja) * 2010-02-10 2013-06-13 日本電気株式会社 ストレージ装置
JP5533887B2 (ja) * 2010-02-10 2014-06-25 日本電気株式会社 ストレージ装置
JP2011221981A (ja) * 2010-04-08 2011-11-04 Hitachi Ltd 外部ストレージシステムに結合されたストレージシステムのエラーコード管理方法及び装置
US8738963B2 (en) 2010-04-08 2014-05-27 Hitachi, Ltd. Methods and apparatus for managing error codes for storage systems coupled with external storage systems
US9361177B2 (en) 2010-04-08 2016-06-07 Hitachi, Ltd. Methods and apparatus for managing error codes for storage systems coupled with external storage systems
JP2012079183A (ja) * 2010-10-04 2012-04-19 Fujitsu Ltd ストレージシステムの仮想化制御装置及び制御プログラム
JP2020160860A (ja) * 2019-03-27 2020-10-01 Necプラットフォームズ株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Also Published As

Publication number Publication date
US7908408B2 (en) 2011-03-15
US20100023652A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
JP2010026873A (ja) ストレージ装置及びその制御方法
JP5121161B2 (ja) 記憶システム、パス管理方法及びパス管理装置
JP4836118B2 (ja) 複数の種類のストレージ装置を管理するための装置と方法
JP5159421B2 (ja) ストレージシステム及び管理装置を用いたストレージシステムの管理方法
US9785381B2 (en) Computer system and control method for the same
JP5202884B2 (ja) 記憶ボリューム間でデータを移行する方法および装置
US8762679B2 (en) Systems and methods of allocating storage regions to virtual regions
US8161262B2 (en) Storage area dynamic assignment method
JP2006350418A (ja) 記憶制御装置及びその制御方法
EP1818795A2 (en) Storage system, data processing method and storage apparatus
JP4380240B2 (ja) ヒントに基づく記憶領域の割当と性能保証方法、記憶装置及び管理プログラム
WO2012017493A1 (ja) 計算機システム及びデータ移行方法
JP2009282800A (ja) ストレージ装置及びその制御方法
US20070106861A1 (en) Performance reporting method considering storage configuration
JP2007102439A (ja) ストレージシステム及びライセンス管理方法
JP4819521B2 (ja) 記憶システム及び仮想化方法並びにストレージ装置
JP2012181819A (ja) 連続的なリモートコピーのためのネットワーク効率の改良
JP2009211401A (ja) ストレージ装置及びその制御方法
JP5801968B2 (ja) 管理装置及び管理方法
JP2009075643A (ja) 記憶システム及びデータ再配置方法
JP2009259031A (ja) 外部接続ストレージシステムのパス管理及び障害箇所検出方法
JP2009157471A (ja) ファイル共有システム及びファイル共有システムの設定方法
JP4837495B2 (ja) 記憶システム及びデータ管理移行方法
US9098212B2 (en) Computer system with storage apparatuses including physical and virtual logical storage areas and control method of the computer system
JP2009282922A (ja) 管理サーバ、プール増設方法および計算機システム