JP2021149550A - ストレージシステムおよびストレージシステムの分析方法 - Google Patents

ストレージシステムおよびストレージシステムの分析方法 Download PDF

Info

Publication number
JP2021149550A
JP2021149550A JP2020049126A JP2020049126A JP2021149550A JP 2021149550 A JP2021149550 A JP 2021149550A JP 2020049126 A JP2020049126 A JP 2020049126A JP 2020049126 A JP2020049126 A JP 2020049126A JP 2021149550 A JP2021149550 A JP 2021149550A
Authority
JP
Japan
Prior art keywords
storage system
information
storage
copy
volume
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
JP2020049126A
Other languages
English (en)
Other versions
JP7191059B2 (ja
Inventor
彰 出口
Akira Deguchi
彰 出口
清美 和田
Kiyomi Wada
清美 和田
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 JP2020049126A priority Critical patent/JP7191059B2/ja
Priority to US17/016,971 priority patent/US20210294497A1/en
Publication of JP2021149550A publication Critical patent/JP2021149550A/ja
Application granted granted Critical
Publication of JP7191059B2 publication Critical patent/JP7191059B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】複数のストレージ間での影響分析を効率化する。【解決手段】ストレージシステムは、複数のストレージシステム200A、200Bおよび分析サーバ300を備え、分析サーバ300は、ストレージシステム200Aの情報及びこのストレージシステム200Aと連携動作を行うストレージシステム200Bの情報に基づいて、ストレージシステム200Aがストレージシステム200Bに及ぼす影響を分析して出力する。【選択図】図1

Description

本発明は、ストレージシステムおよびストレージシステムの分析方法に関する。
業務システムなどの大規模システムでは、運用管理にかかるコスト削減およびトラブル時の迅速対処による可用性の向上が求められている。このような背景から、ストレージの稼働情報および構成情報などを収集・分析し、ストレージの保守およびトラブル対応の迅速化および容易化する技術が注目されている。このような技術の一例として、特許文献1には、ホストが認識する記憶領域であるボリュームを新規作成した時にパリティグループを構成するボリュームの要求性能およびパリティグループの稼働率から、新規ボリュームの作成先のパリティグループを選択する方法が開示されている。
特開2007−48325号公報
しかしながら、ストレージ内で資源を共有する他ボリュームへの影響分析に比べ、ストレージ間でのリモートコピー構成などでは、あるストレージの構成変更が他ストレージの性能などへ影響することがあるため、他ストレージへの影響分析が困難であり、原因分析にも時間がかかる。
本発明は、上記事情に鑑みなされたものであり、その目的は、複数のストレージ間での影響分析を効率化することが可能なストレージシステムおよびストレージシステムの分析方法を提供することにある。
上記目的を達成するため、第1の観点に係るストレージシステムは、第1プロセッサと第1ドライブとを備える第1ストレージシステムと、第2プロセッサと第2ドライブとを備える第2ストレージシステムと、通信可能な分析装置を備え、前記分析装置は、前記第1ストレージシステムの情報および前記第1のストレージシステムと連携動作を行う前記第2ストレージシステムの情報に基づいて、前記第1のストレージシステムが前記第2ストレージシステムに及ぼす影響を分析して出力する。
本発明によれば、複数のストレージ間での影響分析を効率化することができる。
図1は、第1実施形態に係るストレージシステムの概略構成を示すブロック図である。 図2は、図1のストレージシステム間の非同期リモートコピー方法を示すブロック図である。 図3は、図1のストレージシステムのハードウェア構成例を示すブロック図である。 図4は、図3のメモリの構成例を示すブロック図である。 図5は、図1の分析サーバのハードウェア構成例を示すブロック図である。 図6は、図5のリソーステーブルの構成例を示す図である。 図7は、図5のIO情報テーブルの構成例を示す図である。 図8は、図5の構成情報テーブルの構成例を示す図である。 図9は、図5のコピー性能テーブルの構成例を示す図である。 図10は、図5の接続ストレージテーブルの構成例を示す図である。 図11は、図5の同期コピー応答時間テーブルの構成例を示す図である。 図12は、図4のライトプログラムおよびリモートコピープログラムの処理を示すフローチャートである。 図13は、図4の情報送信プログラムおよび情報受信プログラムの処理を示すフローチャートである。 図14は、図5のコピー性能変化検出プログラムの処理を示すフローチャートである。 図15は、図5の影響分析プログラムの処理を示すフローチャートである。 図16は、図5の同期コピー影響分析プログラムの処理を示すフローチャートである。 図17は、図5のGUIプログラムによる表示画面例を示す図である。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素およびその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えば、CPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えば、メモリ)及び/又は通信インターフェースデバイス(例えば、ポート)を用いながら行うため、処理の主語がプログラムとされてもよい。プログラムを主語として説明された処理は、プロセッサまたはそのプロセッサを有する計算機が行う処理としてもよい。
図1は、第1実施形態に係るストレージシステムの概略構成を示すブロック図である。
図1において、ストレージシステムは、複数のストレージシステム200A、200Bおよび分析サーバ300を備える。ホスト100A、100B、ストレージシステム200A、200Bおよび分析サーバ300は、ネットワーク400Aを介して通信可能に接続されている。このとき、ストレージシステム200A、200Bは、互いに連携動作可能である。ストレージシステム200A、200B間での連携動作として、例えば、リモートコピーを挙げることができる。ストレージシステム200A、200B間での連携動作は、データマイグレーションであってもよい。ストレージシステム200A、200Bは、互いに連携動作することで分散ファイルシステムを構築するようにしてもよい。なお、図1の例では、ストレージシステム200A、200Bが2台ある場合を示したが、ストレージシステムは3台以上あってもよい。図1の例では、ホスト100A、100B、ストレージシステム200A、200B、分析サーバがネットワーク400Aに接続されるが、複数のネットワークを用いる構成であってもよいし、通信手段が異なってもよい。
各ホスト100A、100Bは、例えば、IOリクエスト(データのリード要求またはライト要求)をストレージシステム200A、200Bにそれぞれ実施する。各ストレージシステム200A、200Bは、各ホスト100A、100BからのIOリクエストに応じてIO処理をそれぞれ実施する。このとき、各ストレージシステム200A、200Bは、ネットワーク400Aを介して各ホスト100A、100Bに容量をそれぞれ提供する。
各ホスト100A、100Bは、ホストI/F111A、111B、プロセッサ112A、112Bおよびメモリ113A、113Bをそれぞれ備える。
各ホストI/F111A、111Bは、各ホスト100A、100Bと外部との通信を制御する機能を備えるハードウェアである。各プロセッサ112A、112Bは、各ホスト100A、100B全体の動作制御を司るハードウェアである。ホスト100A、100Bは一つ以上のプロセッサ111A、111Bを備える。一つ以上のプロセッサは、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。一つ以上のプロセッサは、シングルコアでもよいしマルチコアでもよい。一つ以上のプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field―Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。各メモリ113A、113Bは、例えば、SRAM(Static Randam Access Memory)またはDRAM(Dynamic Random Access Memory)などの半導体メモリから構成することができる。各メモリ113A、113Bには、各プロセッサ112A、112Bが実行中のプログラムを格納したり、各プロセッサ112A、112Bがプログラムを実行するためのワークエリアを設けたりすることができる。ホスト100A、100Bは、物理的なコンピュータでもよいし、仮想マシン(Virtual Machine)でもよいし、コンテナなどでもよい。
分析サーバ300は、ストレージシステム200Bの状態の変化を検出し、ストレージシステム200Bの状態の変化の検出結果に基づいて、ストレージシステム200Aの状態を分析し、ストレージシステム200Aの状態の分析結果を出力する。このとき、分析サーバ300は、ストレージシステム200Bの状態の変化が、ストレージシステムの処理に及ぼす影響を見積り、ストレージシステム200Aの処理に及ぼす影響の見積結果を出力する。例えば、分析サーバ300は、ストレージシステム200Bの構成および資源(リソースとも言う)の稼働率を管理し、ストレージシステム200Bの構成または資源の稼働率の変化の検出結果に基づいて、ストレージシステム200Aの資源の稼働率を見積り、ストレージシステム200Aの資源の稼働率の見積結果に基づいて、ストレージシステム200Aの処理性能への影響を見積る。
また、分析サーバ300は、ITインフラの構成情報および稼働情報などを収集および分析し、ストレージシステム200A、200B(またはストレージ管理者)へフィードバックしたり、アラートを通知したりすることができる。
さらに、分析サーバ300は、ポータルを提供し、その提供先では、構成変更時(負荷を増加させる等)の影響を確認したりできる。その提供先では、この機能を用いて、トラブル発生時の対処の有効性を確認することもできる。分析サーバ300は、ホストが認識する記憶領域であるボリュームの作成操作および稼働実績の確認などを実施する管理サーバを兼ねてもよい。
なお、分析サーバ300は、クラウド上やストレージベンダのデータセンタに配置され、複数の顧客の複数の装置に接続されるようにしてもよいし、顧客サイトに配置され、その顧客サイトのストレージのみに接続されてもよい。分析サーバ300は、複数台のサーバで構成されてもよい。分析サーバ300は、物理的なコンピュータでもよいし、仮想マシン(Virtual Machine)でもよいし、コンテナなどでもよい。分析サーバ300は、複数のクラウド、データセンタに配置され、分析などの処理を分散処理してもよい。
以下、図1のストレージシステム200A、200Bおよび分析サーバ300についてより詳細に説明する。なお、以下の説明では、ストレージシステム200A、200B間の連携動作として、リモートコピーを例にとる。
図2は、図1のストレージシステム間の非同期リモートコピー方法を示すブロック図である。なお、図2では、ストレージシステム200Aがコピー元、ストレージシステム200Bがコピー先として連係動作する場合を例にとる。図2では非同期リモートコピーを例にとるが、同期リモートコピーの場合であっても、本実施形態は適用可能である。図2を用いてリモートコピー方式の一例を説明するが、説明される方式とは別のリモートコピー方式であっても、本発明は適用可能である。 図2において、ストレージシステム200Aは、プライマリボリューム251Aおよびジャーナルボリューム252Aを備える。ストレージシステム200Bは、セカンダリボリューム251Bおよびジャーナルボリューム252Bを備える。図2の例では、プライマリボリューム251Aはホスト100Aが認識する記憶領域であり、セカンダリボリューム251Bはホスト100Bが認識する記憶領域である。
プライマリボリューム251Aは、コピー元のライトデータを保持する。ジャーナルボリューム252Aは、転送前のライトデータをジャーナルとして一時的に保持する。なお、ジャーナルは、ライトデータの他、メタデータ(書き込み位置、ライト順序、ジャーナルボリューム上のアドレス情報など)を含む。セカンダリボリューム251Bは、ストレージシステム200Aから転送されてきたデータを保持する。ジャーナルボリューム252Bは、転送後のライトデータをジャーナルとして一時的に保持する。
そして、ストレージシステム200Aは、ホスト100Aからのライト要求を受け付けると、ライト要求で指定されたライトデータをプライマリボリューム251Aに保存する(P1)。そして、ストレージシステム200Aは、プライマリボリューム251Aに保存したライトデータをジャーナルとしてジャーナルボリューム252Aに保存し(P2)、ホスト100Aに完了報告を返す。
ストレージシステム200Aは、ホスト100Aに完了報告を返した後、ジャーナルボリューム252Aに保存したデータをストレージシステム200Bのジャーナルボリューム252Bに非同期に転送する(P3)。ストレージシステム200Bは、ストレージシステム200Aから転送されたデータをジャーナルボリューム252Bにジャーナルとして一時的に保持し、ジャーナルボリューム252Bに一時的に保持したライトデータをセカンダリボリューム251Bに保存する(P4)。
このとき、ストレージシステム200Aは、書き込みデータを転送する相手ストレージおよび相手ボリュームを制御情報として管理する。例えば、ストレージシステム200Aは、相手ストレージであるストレージシステム200Bのストレージ番号、プライマリボリューム251Aとセカンダリボリューム251Bがペアであることを管理するための対応関係表、プライマリボリューム251Aへの複数のライト要求の順序を管理するためのシーケンス番号情報、および、プライマリボリューム251Aへの書き込みに対して作成したジャーナルの格納先となるジャーナルボリューム252Aの番号を管理する。
ここで、ストレージシステム200Aは、キャッシュを備え、回線障害がない場合などは、ジャーナルは、キャッシュ上に格納されることがある。回線障害時や、ジャーナルボリューム252Aへのライト量が、ジャーナルボリューム252Aからジャーナルボリューム252Bへの転送量を超える場合などは、ストレージシステム200Aに滞留するジャーナル量が増加する。この時、ストレージシステム200Aのキャッシュ容量が不足するため、キャッシュから物理的な記憶領域である物理ドライブへジャーナルを書き込む。この処理をデステージ処理と呼ぶ。ストレージシステム200Bへジャーナルを転送する処理においては、物理ドライブからジャーナルの読み出しが必要となる。この処理をステージング処理と呼ぶ。キャッシュ容量の不足の判定基準として、残容量比率が0%だけでなく、残容量比率が所定の閾値を下回ることとなどとしてもよい。
ストレージシステム200Aが、物理デバイスへのデステージおよび物理デバイスからのステージングを実施すると、ストレージシステム200Aのプロセッサの負荷が増大し、IO性能が低下する。また、ジャーナルボリューム252Aからジャーナルボリューム252Bへの転送量は、ストレージシステム200A、200Bの構成変更または資源の稼働率の影響を受ける。
このため、分析サーバ300は、ストレージシステム200A、200Bの構成および資源の稼働率を管理し、ストレージシステム200A、200Bの構成または資源の稼働率の変化の検出結果に基づいて、リモートコピーにおけるコピー率を見積り、そのリモートコピーにおけるコピー率に基づいて、相手のストレージシステム200B、200Aの資源の稼働率を見積り、ストレージシステム200B、200Aの処理性能への影響を見積る。そして、分析サーバ300は、ストレージシステム200B、200Aの処理性能への影響の見積結果を出力することにより、ストレージシステム200A、200B間での影響分析を効率化することができる。
なお、ストレージシステム200Aは、上述した非同期リモートコピー方式以外にも、シーケンス番号を用いることなく、一定期間(例えば1分)に新たに書き込まれたデータを差分データとして管理し定期的に差分データをストレージシステム200Bに転送する方式を採用してもよい。差分データはジャーナルボリュームのような領域に格納することができる。このとき、ストレージシステム200Aは、転送中データの格納用と新たな書き込み用とでジャーナルボリュームを分けることで、転送中の新たな書き込みが転送データを追い越すのを防止する。一定期間に同一アドレスに複数回の書き込みが行われた場合は、最後に書き込まれたデータのみを差分データとして管理することで転送量を削減することができる。また、一定期間に新たにデータが書き込まれたアドレスを管理し、データはプライマリボリューム251Aに格納し、プライマリボリューム251Aから直接ストレージシステム200Bへ転送することもできる。この場合、一定期間に同一アドレスに複数回の書き込みが行われた場合のみ、差分データをジャーナルボリュームのような別領域に格納する。このため、差分データを管理する容量を削減することができる。
次に、同期リモートコピーについて説明する。同期リモートコピーはホストからのIOと同期してライトデータをコピー先であるストレージシステム200Bへ転送する方式である。同期リモートコピーの場合は、ジャーナルボリューム252A、252Bは不要である。このとき、ストレージシステム200Aは、ホスト100Aからのライト要求で指定されたライトデータをプライマリボリューム251Aに保存し、プライマリボリューム251Aに保存したデータをセカンダリボリューム251Bに書き込み、ホスト100Aへ完了報告する。
図3は、図1のストレージシステムのハードウェア構成例を示すブロック図である。なお、図3では、図1のストレージシステム200Aの構成例を示すが、ストレージシステム200Bについても、ストレージシステム200Aと同様に構成することができる。
図3において、ストレージシステム200Aは、コントローラ210と、物理ドライブ216を備える。ストレージシステム200Aは、ネットワーク400Bを介して保守端末270に接続されている。
コントローラ210は、フロントエンドI/F211、プロセッサ212、メモリ213、バックエンドI/F214および管理I/F215を備える。なお、図3では、冗長度を向上するため、二つのコントローラ210が搭載されているが、三つ以上のコントローラ210が搭載されてもよい。その場合は、一つのコントローラ210が故障となった場合は、その他のコントローラ210が故障となったコントローラ210が実行していた処理を引き継ぐ。また、コントローラ210は二重化されてなくてもよい。
コントローラ210は、ホスト100Aからの要求を処理し、物理ドライブ216を制御する。フロントエンドI/F211は、ホスト100Aとの通信を行うインタフェースである。プロセッサ212は、コントローラ210全体を制御する。メモリ213は、プロセッサ221で使用されるプログラムおよびデータを格納する。また、メモリ213は、物理ドライブ216に格納されるデータのキャッシュを格納する。バックエンドI/F214は、物理ドライブ216との通信を行うインタフェースである。管理I/F215は、保守端末270との通信を行うインタフェースである。物理ドライブ216は、不揮発性のデータ記憶媒体を有する装置であり、例えば、SSD(Solid State Drive)でもよいし、HDD(Hard Disk Drive)でもよい。SCM(Storage Class Memory)などその他の記憶デバイスでもよい。1つ以上の物理ドライブ216をパリティグループという単位でまとめて、RAID(Redundant Arrays of Independent Disks)のような高信頼化技術を使用してもよい。
ストレージシステム200Aは、物理ドライブ216を用いて、ボリュームを作成する。ボリュームは、物理ドライブ216に対応付けられる。一つのボリュームのデータが、パリティグループを構成する複数の物理ドライブに格納されてもよい。ボリュームの所定の領域と物理ドライブ216の所定の領域を対応付けるが、ボリュームと物理ドライブ216の間に容量プールという概念を導入してもよい。ボリュームに書き込みが行われた領域についてのみ、容量プールから容量を割り当てることでコストを削減することができる。この技術は、ThinProvisioningと呼ばれる。
保守端末270は、ストレージシステム200Aの物理ドライブ216の初期設定、プロセッサ212で実行されるプログラムのインストール、ホストに影響するボリュームの作成、稼働情報やアラートなどの表示などを実施する。保守端末270は、プロセッサ271、メモリ272、入出力部274および保守ポート275を備える。
プロセッサ271は、保守端末270全体を制御する。メモリ272は、プロセッサ271で実行される保守プログラム273を格納する。入出力部274は、保守端末270に入力されるデータを受け付けたり、保守端末270での保守状況を表示したりする。保守ポート275は、ストレージシステム200Aとの通信に用いられるポートである。
図4は、図3のメモリ213の構成例を示すブロック図である。
図4において、メモリ213は、制御情報を格納する制御情報部221、プログラムを格納するプログラム部222およびデータをキャッシュするキャッシュ部223を備える。
制御情報部221は、ジャーナル管理テーブル231、ペア管理テーブル232、シーケンス番号情報233、稼働情報テーブル234、ワークロード情報テーブル235および構成情報テーブル236を備える。プログラム部222は、ライトプログラム241、リモートコピープログラム242および情報送信プログラム243を備える。
ペア管理テーブル232は、プライマリボリュームとセカンダリボリュームの関係を管理する。なお、ボリュームに付与されるボリューム番号は、ストレージシステム内でのみユニークなので、プライマリボリュームを有するストレージシステム200Aのペア管理テーブル232は、ストレージシステム200Bのストレージ番号およびセカンダリボリュームのボリューム番号を持つ。セカンダリボリュームを有するストレージシステム200Bのペア管理テーブル232は、ストレージシステム200Aのストレージ番号およびプライマリボリュームのボリューム番号を持つ。このほか、コピー停止、コピー中などのコピーの状態なども管理されうる。
シーケンス番号情報233は、ホスト100Aから書き込まれたライト要求の順序を管理するための情報である。シーケンス番号情報233には番号情報が格納される。ホスト100Aから書き込み要求を受領した時、シーケンス番号情報233から番号を割り当て、シーケンス番号情報233をインクリメントする。I/O単位にライト順序を保証する非同期リモートコピーの場合、ストレージシステムは、シーケンス番号を用いてデータ転送の順序管理を行う。
ジャーナル管理テーブル231は、プライマリボリュームとセカンダリボリュームの関係およびシーケンス番号を共有するプライマリボリューム群を管理する。複数のプライマリボリュームでライト順序を保つ場合、ストレージシステムは、複数のプライマリボリュームをコンシステンシーグループとしてグループ管理し、当該グループに一つのシーケンス番号を設定する。
稼働情報テーブル234は、ストレージシステム200Aの稼働情報を格納する。稼働情報テーブル234は、ストレージシステム200A、200Bごとに保持される。各ストレージシステム200A、200Bは、稼働情報テーブル234の情報を情報送信プログラム243が分析サーバ300に送信し、分析サーバ300は、この情報を図5のリソーステーブル391に時系列的に格納する。
ワークロード情報テーブル235は、ストレージシステム200AのIO情報を格納する。ワークロード情報テーブル235は、ストレージシステム200A、200Bごとに保持される。各ストレージシステム200A、200Bは、ワークロード情報テーブル235の情報を情報送信プログラム243が分析サーバ300に送信し、分析サーバ300は、この情報を図5のIO情報テーブル393に時系列的に格納する。
構成情報テーブル236は、ストレージシステム200Aの構成情報を格納する。構成情報テーブル236は、ストレージシステム200A、200Bごとに保持される。各ストレージシステム200A、200Bは、構成情報テーブル236の情報を情報送信プログラム243が分析サーバ300に送信し、分析サーバ300は、この情報を図5の構成情報テーブル395に時系列的に格納する。
図5は、図1の分析サーバ300のハードウェア構成例を示すブロック図である。
図5において、分析サーバ300は、プロセッサ312およびメモリ313を備える。なお、分析サーバ300は、VM(Virtual Machine)でもよいし、コンテナでもよい。
プロセッサ312は、分析サーバ300全体の動作制御を司るハードウェアである。プロセッサ312は、CPU(Central Processing Unit)であってもよいし、GPU(Graphics Processing Unit)であってもよい。プロセッサ312は、シングルコアプロセッサであってもよいし、マルチコアプロセッサであってもよい。プロセッサ312は、処理の一部を行うアクセラレータなどのハードウェア回路(例えば、FPGA(Field−Programmable Gate Array)またはASIC(Application Specific Integrated Circuit))を備えていてもよい。プロセッサ312は、ニューラルネットワークとして動作してもよい。
メモリ313は、情報受信プログラム381、コピー性能変化検出プログラム382、影響分析プログラム383、同期コピー影響分析プログラム384、GUI(Graphical User Interface)プログラム385、リソーステーブル391、接続ストレージテーブル392、IO情報テーブル393、コピー性能テーブル394、構成情報テーブル395および同期コピー応答時間テーブル396を格納する。GUIプログラム385は、自ストレージシステムが他ストレージシステムから受ける影響の結果を表示したり、対象ストレージの構成変更の内容を表示したりする。
図6は、図5のリソーステーブル391の構成例を示す図である。
図6において、リソーステーブル391は、図5の分析サーバ300に接続される各ストレージシステムから収集したリソースの稼働実績を時系列的に格納する。
リソーステーブル391は、時刻、ストレージ番号、MP稼働率、メモリ使用率、ダーティ使用率、内部帯域、PG稼働率およびポート稼働率のエントリを備える。リソーステーブル391は、これらのリソース以外のリソースの情報も管理してもよい。
時刻は、各ストレージシステムから収集したリソースの稼働実績の収集時刻を示す。ストレージ番号は、各ストレージシステムを一意に識別する番号を示す。MP稼働率は、各ストレージシステムのプロセッサの稼働率を示す。メモリ使用率は、各ストレージシステムのメモリの使用率を示す。ダーティ使用率は、ダーティデータによるキャッシュ使用率を示す。ダーティデータとは、ホストからキャッシュに書き込まれ、物理ドライブにライトする前のデータを意味する。内部帯域は、各ストレージシステムの内部ネットワークの使用率を示す。PG稼働率は、各ストレージシステムのパリティグループの稼働率を示す。ポート稼働率は、各ストレージシステムのポートの稼働率を示す。MP稼働率もプロセッサ毎の稼働率を管理してもよいし、平均の稼働率でもよい。また、各プロセッサの稼働率および平均の両方を管理してもよい。
図7は、図5のIO情報テーブル393の構成例を示す図である。
図7において、IO情報テーブル393は、分析サーバ300に接続される各ストレージシステムから収集したIOの実績を時系列的に格納する。
IO情報テーブル393は、時刻、ストレージ番号、ボリューム番号、リード数/秒、ライト数/秒、平均データ長、リード応答時間、ライト応答時間、リードミス率およびライトミス率のエントリを備える。IO情報テーブル393は、これらのリソース以外のリソースの情報も管理してもよい。
時刻は、各ストレージシステムから収集したIOの実績の収集時刻を示す。ストレージ番号は、各ストレージシステムを一意に識別する番号を示す。ボリューム番号は、各ストレージシステムのボリュームを一意に識別する番号を示す。ストレージ番号およびボリューム番号によって識別されるボリュームについて、リード数/秒、ライト数/秒、平均データ長、リード応答時間、ライト応答時間、リードミス率およびライトミス率が管理される。リード数/秒は、1秒当たりのデータのリード数を示す。ライト数/秒は、1秒当たりのデータのライト数を示す。平均データ長は、IOデータの平均長を示す。リード応答時間は、リード時の応答時間を示す。ライト応答時間は、ライト時の応答時間を示す。リードミス率は、リード時に対象データがキャッシュ上になかった割合を示す。ライトミス率は、ライト時に対象アドレスのデータがキャッシュ上になかった割合を示す。図7の例では、ボリューム単位にリード数/秒などの各種情報を保持するが、分析内容が装置単位の分析のみであれば装置単位に各種情報を保持すればよい。
図8は、図5の構成情報テーブル395の構成例を示す図である。
図8において、構成情報テーブル395は、分析サーバ300に接続される各ストレージシステムから収集した構成情報の実績を時系列的に格納する。
構成情報テーブル395は、時刻、ストレージ番号、MP数、メモリ容量、リンク帯域、PG数およびドライブ数のエントリを備える。構成情報テーブル395は、これらのリソース以外のリソースの情報も管理してもよい。
時刻は、各ストレージシステムから収集した構成情報の収集時刻を示す。ストレージ番号は、各ストレージシステムを一意に識別する番号を示す。MP数は、各ストレージシステムのプロセッサの個数を示す。メモリ容量は、各ストレージシステムのメモリの容量を示す。リンク帯域は、リモートコピー時の各ストレージシステムのリンクの帯域を示す。PG数は、各ストレージシステムのパリティグループの個数を示す。ドライブ数は、各ストレージシステムの物理ドライブの個数を示す。パリティグループ数は、パリティグループの構成毎に個数を管理してもよい。
なお、分析サーバ300は、図6のリソーステーブル391、図7のIO情報テーブル393および図8の構成情報テーブル385に格納されるそれぞれの情報の収集頻度を変えてもよい。例えば、構成情報テーブル385に格納される構成情報は頻繁に変わらないので、低頻度で収集してもよい。また、構成変更が実施されたのを契機にストレージシステムが構成情報を分析サーバ300に送信するようにしてもよい。
図9は、図5のコピー性能テーブル394の構成例を示す図である。
図9において、コピー性能テーブル394は、各ストレージシステムの稼働情報、IO情報、および構成情報からコピー性能を取得するための情報を格納する。
コピー性能テーブル394は、稼働情報として、MP稼働率、PG稼働率、内部帯域およびリンク帯域などのエントリを備え、IO情報として、リード数/秒、ライト数/秒などのエントリを備え、構成情報として、MP数、メモリ容量およびリンク帯域などのエントリを備え、さらにコピー性能のエントリを備える。リモートコピー適用ボリュームのリード数/秒、ライト数/秒や、リモートコピー非適用ボリュームのリード数/秒、ライト数/秒を備えてもよい。
分析サーバ300は、各ストレージシステムの稼働情報および構成情報は、図6のリソーステーブル391、図7のIO情報テーブル393および図8の構成情報テーブル385の情報から抽出し、コピー性能テーブル394に登録することができる。リモートコピー適用ボリュームのリード数/秒、ライト数/秒を備える場合、上記情報に加えて図4のペア管理テーブルの情報を用いて、リモートコピー適用ボリュームのリード数/秒、ライト数/秒を算出することができる。
コピー性能は、単位時間当たりのコピーのバイト数を示す。コピー性能は、プロセッサの空き待ち時間などの変化から低下したり、ストレージシステム内部の論理としてMP稼働率または構成により、処理方式が変わったりすることがある。分析サーバ300は、そのような変化に基づいて、過去においてどのようなコピー性能になっていたかの実績をコピー性能テーブル394に記録する。
分析サーバ300は、頻出稼働率および構成ごとにコピー性能の実績がどの程度であったかをカウントして最も多いコピー性能を記録してもよいし、機械学習のような手法を用いてコピー性能を学習してもよい。各ストレージシステムから収集した情報を使うのでなく、各種構成におけるコピー性能を事前に実測し、構成情報およびコピー性能を、予めコピー性能テーブル394に格納してもよい。また、構成情報およびコピー性能のパタンを随時追加してもよい。また、予め構成情報およびコピー性能格納するが、各ストレージシステムから収集した情報を用いて、テーブル内容を更新または追記してもよい。
分析サーバ300は、ストレージシステムごとにコピー性能テーブル394を作成してもよいし、分析サーバ300に接続される全てのストレージシステムの情報から一つのコピー性能テーブル394を作成してもよい。
全てのストレージシステムの稼働率および構成情報などの細かな違いを全て収集し、学習に用いるのは現実的に難しい。ストレージシステムごとに学習を実施すれば、そのような違いによってコピー性能に差がでることを回避でき、コピー性能の精度を向上させることができる。
全てのストレージシステムについて学習を実施する場合、より多くの学習パタンを取得できるため、これまでに発生していなかった稼働率および構成のパタンとなるような構成変更を行う場合のコピー性能も予測できる。
図9の例では、プロセッサ、パリティグループおよび内部帯域など各種稼働率からコピー性能を算出する方法を示したが、図5のコピー性能変化検出プログラム382が、ストレージシステムの状態変化を検出し、リモートコピーのネック部位になる部分を特定し、当該ネック部分の稼働率と構成からコピー性能を算出する方法でもよい。例えば、図2のストレージシステム200Bが新規ボリュームを作成し、ストレージシステム200Bのプロセッサの稼働率が変化し、そのプロセッサがリモートコピーのネックになる場合、分析サーバ300は、そのプロセッサの稼働率と構成からコピー性能を計算するようにしてもよい。
図10は、図5の接続ストレージテーブル392の構成例を示す図である。
図10において、接続ストレージテーブル392は、どのストレージのどのボリュームが別のどのストレージのどのボリュームと関係を持っているかを管理する。
接続ストレージテーブル392は、コピー元ストレージ番号、コピー先ストレージ番号、コピー元ボリューム番号およびコピー先ボリューム番号のエントリを備える。分析サーバ300は、接続ストレージテーブル392を参照することで、リモートコピーなどにおいて、あるストレージシステムの状態が変化した場合に、そのストレージシステムの状態が変化の影響を受ける他のストレージシステムを判定することができる。なお、図10では、ボリューム単位の関係を管理する例を示したが、ストレージシステム単位で関係を管理してもよい。
図11は、図5の同期コピー応答時間テーブル396の構成例を示す図である。
図11の同期コピー応答時間テーブル396は、図9のコピー性能テーブル394のコピー性能のエントリの代わりに、応答時間のエントリを備える。
応答時間とは、ストレージシステム200AがIO要求をホストから受領し、そのIO要求の完了をホストに報告するまでの時間である。応答時間は、ストレージシステム200Aにおける処理時間や、ネットワーク転送時間、ストレージシステム200Bにおける処理時間により影響を受ける。ストレージシステム200A、200Bでは、例えば、プロセッサの稼働率が高くなると、プロセッサの空き待ちが発生し、応答時間が長くなる可能性がある。その他の各種資源についても同様に応答時間に影響する。図11では、応答時間に影響を与える可能性があるリソースの稼働率、および、構成と応答時間の実績を管理する。
図12は、図4のライトプログラム241およびリモートコピープログラム242の処理を示すフローチャートである。なお、図12の例では、図2のストレージシステム200Aがライトプログラム241を実行し、ストレージシステム200Bがリモートコピープログラム242を実行する場合を示した。
図12において、ライトプログラム241は、ホスト100Aからのライト要求を受け付けると(S100)、ライト要求で指定されたライトデータをプライマリボリューム251Aに保存する(S101)。この保存とは、ライトデータをキャッシュに格納することを意味する。一般的に、キャッシュ上のライトデータを物理ドライブへの書き込む処理は、非同期に実行される。
次に、ライトプログラム241は、ライトデータのシーケンス番号を取得し(S102)、プライマリボリューム251Aに保存したライトデータをジャーナルとしてジャーナルボリューム252Aに保存し(S103)、ホスト100Aに完了報告を返す(S104)。
次に、リモートコピープログラム242は、ホスト100Aへの完了報告とは非同期に、ジャーナル読み出し要求をライトプログラムに発行する(S105)。ライトプログラム241は、ジャーナル読み出し要求を受けると、ジャーナルボリューム252Aに保存したデータをジャーナルボリューム252Bに転送する(S108)。ステップS108は、ライトプログラム以外の別のプログラムが実行してもよい。その場合、ライトプログラム241はS104後に処理を終了する。図12の例は、リモートコピープログラム242がストレージシステム200Aにリード要求を発行する。しかし、ライトプログラム241がS104の後に、ストレージシステム200Bにライト要求を発行してもよい。その場合、ストレージシステム200Bはライト要求を受領しS106を実行する。
次に、リモートコピープログラム242は、ストレージシステム200Aから転送されたデータをジャーナルボリューム252Bにジャーナルとして一時的に保持し(S106)、ジャーナルボリューム252Bに一時的に保持したライトデータをシーケンス番号順にセカンダリボリューム251Bに保存する(S107)。リモートコピープログラム242は複数のプロセスが並列に動作する可能性がある。このため、S106で格納されたジャーナルのシーケンス番号より小さいシーケンス番号を有するジャーナルがストレージシステム200Bに未到着の場合がある。このような、より小さいシーケンス番号を有するジャーナルの到着を待つために、ジャーナルをジャーナルボリューム252Bに一時的に格納する。
図13は、図4の情報送信プログラム243および図5の情報受信プログラム381の処理を示すフローチャートである。なお、図13の例では、図2のストレージシステム200Aが情報送信プログラム243を実行し、分析サーバ300が情報受信プログラム381を実行する場合を示した。
図13において、情報送信プログラム243は、ストレージシステム200Aの稼働情報および構成情報を取得し(S110)、分析サーバ300に送信する(S111)。
次に、情報受信プログラム381は、ストレージシステム200Aの稼働情報および構成情報を受領し(S112)、図6のリソーステーブル391、図7のIO情報テーブル393または図8の構成情報テーブル385に時系列的に格納する(S113)。
情報送信プログラム243は、ストレージシステム200Aの構成または設定などの変化を検出したのを契機(ボリュームがペアが作られた契機など)に情報を送信してもよいし、定期的に情報を送信してもよい。情報受信プログラム381は、稼働情報および構成情報などに応じて収集方法および収集頻度を変えてもよい。
図14は、図5のコピー性能変化検出プログラム382の処理を示すフローチャートである。
図14において、コピー性能変化検出プログラム382は、対象ストレージシステムのIO負荷の変化を予測する(S120)。変化がある場合は、S123へ進む。変化がない場合、コピー性能変化検出プログラム382は、構成変更の指示の有無をチェックする(S121)。変化がある場合は、S123へ進む。変化がない場合、コピー性能変化検出プログラム382は、構成情報、稼働情報、IO負荷の変化が実際に発生したか否かをチェックする(S124)。変化がある場合は、ステップS123へ進む。変化がない場合は、ステップS120へ戻り繰りステップS120から処理を再実行する。一定時間経過後ステップS120へ戻ってもよい。S122で変化を検出するために、図6、図7、図8の各種テーブルを参照してもよい。構成情報の変化は、前回収集した値との差により容易に検出することができる。リソースの稼働率やIO負荷については、前回との差が所定の閾値以内であるか否かにより判断する方法や学習により判断することができる。学習による方法では、過去の履歴データを学習し、リソースの稼働率やIO負荷を予測する。収集した値が予測範囲を逸脱する場合に、変化として検出することができる。これは、一般に知られる異常値検出の技術を適用することで実現される。ステップS120のIO負荷の変化の予測も、過去の履歴データを学習し、将来のIO負荷を予測する。
ステップS120、S121、および、S122で変化を検出した場合、コピー性能変化検出プログラム382は変化後のコピー性能を取得する(S123)。コピー性能変化検出プログラム382は、コピー性能を取得する場合、図9のコピー性能テーブル394を参照してもよい。
次に、コピー性能変化検出プログラム382は、コピー性能の変化があるかどうかを判断し(S124)、コピー性能の変化がない場合、ステップS120へ戻る。一方、コピー性能の変化がある場合、図10の接続ストレージテーブル392を参照し、対象ストレージシステムに接続される接続ストレージシステムを特定する(S125)。
次に、コピー性能変化検出プログラム382は、影響分析プログラム383を呼び出し、接続ストレージシステムについて影響分析処理を実行する(S126)。
最後に、コピー性能変化検出プログラム382は、分析結果を提示し、処理を終了する(S127)。分析結果は、ステップS125で検出した別のストレージシステムにおける影響を踏む情報である。
また、構成変更においては、リソース数の変化から、構成変更後のリソース稼働率を計算しリソース稼働率の変化としてもよい。例えば、プロセッサ障害およびプロセッサ減設時などでは、コピー性能変化検出プログラム382は、平均稼働率×プロセッサ数÷残プロセッサ数という式からMP稼働率を計算することもできる。
また、新規ボリュームの作成処理という構成変更については、IOPS(Input/output operations per second)とMP稼働率の関係を事前に記憶または学習しておく。そして、新規ボリュームの作成時、コピー性能変化検出プログラム382は、作成する新規ボリュームの要求IOPSを指定させ、現在のIOPS+指定させたIOPSという式に基づいて、IOPSとMP稼働率の関係をサーチし、ボリューム作成後のMP稼働率を取得するようにしてもよい。
スナップショットなどのストレージ機能を適用する場合、コピー性能変化検出プログラム382は、現在MP稼働率×(スナップショット適用前の処理オーバヘッド+スナップショット処理オーバヘッド)÷スナップショット適用前の処理オーバヘッド=スナップショット適用後のMPオーバヘッドという式からMP稼働率を計算することもできる。スナップショット適用前の処理オーバヘッドとは、正ストレージシステムではIOにより処理のオーバヘッドであるし、副ストレージシステムでは、ジャーナルをセカンダリボリュームに反映するための処理である。
図15は、図5の影響分析プログラム383の処理を示すフローチャートである。 図15において、影響分析プログラム383は、図9のコピー性能テーブル394を参照し、コピー性能と、IO情報から図14のステップS125で特定した接続ストレージシステムのリソースの稼働率を計算する(S130)。コピー性能は、図14のステップS123で決定済みの値である。IO情報は、リモートコピー機能が適用されているボリュームのリード/秒、ライト/秒、および、リモートコピー機能が適用されていないボリュームのリード/秒、ライト/秒を用いる。これ以外の情報を用いてもよいし、これより少ない情報を用いてリソースの稼働率を取得してもよい。図9の例では、IO情報として、リード数/秒とライト数/秒を有する。リモートコピー適用ボリュームのリード数/秒とライト数/秒、リモートコピー非適用ボリュームのリード数/秒とライト数/秒を有してもよい。リモートコピー適用状況は、図4のペア管理テーブル232に格納されている。ペア管理情報に含まれる情報も分析サーバ300へ収集することで実現され得る。
次に、影響分析プログラム383は、接続ストレージシステムのMP稼働率からボリュームの応答時間を計算する(S131)。ここで言うボリュームは、リモートコピーのコピー元ボリュームだけでなく、リモートコピー対象外のボリュームを含む全てのボリュームである。MP稼働率と応答時間の関係を事前に管理してもよい。関係は機械学習のような機能を用いて関係を構築してもよい。待ち行列様なモデルから計算してもよい。次に、影響分析プログラム383は、コール元のプログラムに分析結果を報告する(S132)。
MP稼働率を計算で算出することも可能である。非同期リモートコピーの場合、コピー量がプライマリボリュームへの書き込み量を下回る場合、コピー元のストレージシステムのジャーナルボリュームが保持するジャーナル量が増加する。ジャーナルボリュームが保持するジャーナル量がキャッシュ容量より大きくなると、コピー元のストレージシステムは物理ドライブに書き込む(デステージ処理)。更に、コピー先のストレージシステムに転送において、物理ドライブからの読み出し処理が必要となる(ステージング処理)。このため、物理ドライブへのデステージ、および、ステージングのための処理オーバヘッドが増加する。上述したように図9に格納される実績を用いてMP稼働率を算出する代わりに、以下に示す計算式によって算出することもできる。
A=非リモートコピーボリュームのリード/秒×リード処理オーバヘッド
B=非リモートコピーボリュームのライト/秒×ライト処理オーバヘッド)
C=リモートコピーボリュームのリード/秒×(リモートコピーリード処理オーバヘッド)
D=リモートコピーボリュームのライト/秒×(リモートコピーライト処理オーバヘッド+ジャーナルボリュームのデステージ処理オーバヘッド)
E=コピー回数/秒×(コピーオーバヘッド+ジャーナルボリュームのステージング処理オーバヘッド)
とすると、
新MP稼働率=(A+B+C+D+E)/1秒
によって、コピー量が変化した後のMP稼働率を計算することができる。この場合、各種処理オーバヘッドは事前に設定しておき、ストレージシステムおよび分析サーバが管理しておくものとする。これは、事前に測定することで値を取得し、管理サーバや保守サーバを介して、ストレージシステムおよび分析サーバに登録してもよいし、事前にプログラムに組み込んでもよい。
この式において、ジャーナルボリュームのデステージ処理オーバヘッド、ジャーナルボリュームのステージング処理オーバヘッドおよびコピー回数/秒が、対象ストレージシステムの状態変化によって影響を受ける。デステージ処理オーバヘッドおよびステージング処理オーバヘッドは、コピー量がプライマリボリュームへの書き込み量を下回る場合、発生する。
なお、オーバヘッドの単位は秒(その処理にプロセッサを何秒使うか)である。
図16は、図5の同期コピー影響分析プログラム384の処理を示すフローチャートである。
図16において、同期コピー影響分析プログラム384は、IO負荷の変化の予測、構成性変更指示の有無のチェック、変化(構成情報、稼働情報、IO負荷)の有無をチェックする。変化がある場合は、ステップS123へ進む。変化がない場合は、ステップS120へ戻る。これらの処理は、図14の処理と同じである。
次に、同期コピー影響分析プログラム384は、図11の同期コピー応答時間テーブル396を参照し、リソースの稼働率の変化後の応答時間を取得する。ここで、同期リモートコピーの場合、接続ストレージシステムは、非同期リモートコピーのようにジャーナルボリュームを利用せず、対象ストレージシステムからの応答を待つ。このため、対象ストレージシステム側でのリソースの稼働率の変化により、対象ストレージシステム側での処理時間が増加すると、接続ストレージシステムからジャーナルボリュームへの書き込み要求に対する応答時間が増加することがある。
次に、同期コピー影響分析プログラム384は、応答時間の変化があるかどうかを判断し(S142)、応答時間の変化がない場合、ステップS120へ戻る。一方、応答時間の変化がある場合、図10の接続ストレージテーブル392を参照し、対象ストレージシステムに接続される接続ストレージシステムを特定する(S143)。
次に、同期コピー影響分析プログラム384は、接続ストレージシステムのプライマリボリュームの応答時間を計算する(S144)。このとき、同期コピー影響分析プログラム384は、対象ストレージシステムのリソースの稼働率の変化後に増加する応答時間を、接続ストレージシステムのプライマリボリュームの応答時間に加算し、対象ストレージシステムからの影響発生後の応答時間を見積ることができる。
次に、影響分析プログラム383は、接続ストレージシステムへの影響を報告する(S145)。接続ストレージシステムへの影響は、例えば、対象ストレージシステムからの影響発生後の応答時間である。
図17は、図5のGUIプログラム385による表示画面例を示す図である。
図17において、表示画面500は、対象ストレージ501、構成変更502、設定変更503、故障発生504および影響ストレージ505の表示欄を備える。
対象ストレージ501は、影響を与える側のストレージシステムの候補を表示する。構成変更502は、プロセッサ、パリティグループ、キャッシュおよびポートなどの現状と変更後の構成を表示する。設定変更503は、新規ボリュームの作成およびスナップショット適用などの設定情報を表示する。故障発生504は、プロセッサ、リンクおよびドライブなどの故障発生個所を表示する。影響ストレージ505は、影響を受ける側のストレージシステムおよび影響内容を表示する。
そして、ユーザがユーザ端末上でブラウザを立ち上げ、分析サーバ300にアクセスする。そして、GUIプログラム385は、ユーザ端末上に表示画面500を表示させ、ユーザが表示画面500上で対象ストレージを選択すると、対象ストレージの構成変更、設定変更または故障発生などに応じて影響ストレージの影響内容を表示させる。これにより、ユーザは、あるストレージの構成変更などが他ストレージの性能などにどのように影響するかを確認することができ、他ストレージへの影響分析を容易化することが可能となるとともに、原因分析にかかる時間を短縮することができる。
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
100A、100B ホスト、200A、200B ストレージシステム、111A、111B ホストI/F、112A、112B プロセッサ、113A、113B メモリ、400A ネットワーク

Claims (13)

  1. 第1プロセッサと第1ドライブとを備える第1ストレージシステムと、第2プロセッサと第2ドライブとを備える第2ストレージシステムと、通信可能な分析装置を備えたストレージシステムにおいて、
    前記分析装置は、
    前記第1ストレージシステムの情報および前記第1のストレージシステムと連携動作を行う前記第2ストレージシステムの情報に基づいて、前記第1のストレージシステムが前記第2ストレージシステムに及ぼす影響を分析して出力するストレージシステム。
  2. 前記連携動作は、前記第2のストレージシステムから第1のストレージシステムへのリモートコピーである請求項1に記載のストレージシステム。
  3. 前記第2のストレージシステムは、
    処理したIOにかかるデータを前記リモートコピーにより前記第1のストレージシステムに送信し、
    前記送信するデータはキャッシュに格納して、前記キャッシュから読み出して送信し、送信後に削除し、
    前記キャッシュの容量が不足する場合には、前記送信するデータを前記第1ドライブに格納して、前記第1ドライブから読み出して送信するストレージシステム。
  4. 前記分析装置は、前記リモートコピーが設定されているストレージシステム間の関係に基づいて、前記第1ストレージシステムの影響を受ける前記第2ストレージシステムを特定する請求項2に記載のストレージシステム。
  5. ストレージシステム間の関係に基づいて、1の第1のストレージシステムに対して複数の第2のストレージシステムの影響を分析する請求項4に記載のストレージシステム。
  6. 前記分析装置は、
    前記第1ストレージシステムの情報に基づいて、リモートコピー性能を見積もり、
    前記見積もったリモードコピー性能に基づいて、前記第1ストレージシステムの処理性能への影響を見積る請求項2に記載のストレージシステム。
  7. 前記ストレージシステムの情報には、構成情報及び資源の稼働率が含まれており、
    前記第1ストレージシステムの構成情報及び稼働率に基づいて、リモートコピー性能を見積もり、
    前記見積もったリモードコピー性能と、前記第1ストレージシステムの構成情報及び稼働率とに基づいて、前記第2のストレージシステムの処理性能への影響を見積る請求項6に記載のストレージシステム。
  8. 前記リモートコピー性能が低下した場合に、前記第2のストレージシステムへの影響が発生する請求項7に記載のストレージシステム。
  9. 前記分析装置は、
    前記第1ストレージシステムの情報に基づいて、リモートコピーの応答時間を見積もり、
    前記見積もったリモードコピーの応答時間に基づいて、前記第1ストレージシステムの処理性能への影響を見積る請求項2に記載のストレージシステム。
  10. 前記分析装置は、
    前記第1のストレージシステムの変化を検出し、
    変化のある第1のストレージについて、影響の分析を行う請求項6に記載のストレージシステム。
  11. 前記第1のストレージシステムの変化は、予測されたIO量の変化、構成変更指示、実実測された変化のいずれかである請求項10に記載のストレージシステム。
  12. 前記第2のストレージシステムの影響は、IO処理性能への影響である請求項6に記載のストレージシステム。
  13. 第1プロセッサと第1ドライブとを備える第1ストレージシステムと、第2プロセッサと第2ドライブとを備える第2ストレージシステムと、通信可能な分析装置を備えたストレージシステムの分析方法であって、
    前記第1ストレージシステムの情報および前記第1のストレージシステムと連携動作を行う前記第2ストレージシステムの情報に基づいて、前記第1のストレージシステムが前記第2ストレージシステムに及ぼす影響を分析して出力するストレージシステムの分析方法。
JP2020049126A 2020-03-19 2020-03-19 ストレージシステムおよびストレージシステムの分析方法 Active JP7191059B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020049126A JP7191059B2 (ja) 2020-03-19 2020-03-19 ストレージシステムおよびストレージシステムの分析方法
US17/016,971 US20210294497A1 (en) 2020-03-19 2020-09-10 Storage system and method for analyzing storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020049126A JP7191059B2 (ja) 2020-03-19 2020-03-19 ストレージシステムおよびストレージシステムの分析方法

Publications (2)

Publication Number Publication Date
JP2021149550A true JP2021149550A (ja) 2021-09-27
JP7191059B2 JP7191059B2 (ja) 2022-12-16

Family

ID=77747861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020049126A Active JP7191059B2 (ja) 2020-03-19 2020-03-19 ストレージシステムおよびストレージシステムの分析方法

Country Status (2)

Country Link
US (1) US20210294497A1 (ja)
JP (1) JP7191059B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11334434B2 (en) * 2020-02-19 2022-05-17 Seagate Technology Llc Multi-level erasure system with cooperative optimization
US11372553B1 (en) 2020-12-31 2022-06-28 Seagate Technology Llc System and method to increase data center availability using rack-to-rack storage link cable
US11537289B2 (en) * 2021-01-29 2022-12-27 Seagate Technology Llc Intelligent data storage system activity tracking

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018236A (ja) * 2005-07-07 2007-01-25 Hitachi Ltd ストレージ管理システム
JP2009104488A (ja) * 2007-10-24 2009-05-14 Hitachi Ltd ストレージ装置及びその制御方法並びにストレージシステム
JP2009110346A (ja) * 2007-10-31 2009-05-21 Hitachi Ltd 性能履歴の管理方法および性能履歴の管理システム
WO2016121118A1 (ja) * 2015-01-30 2016-08-04 株式会社日立製作所 性能分析装置及び方法並びに記憶媒体
WO2017077583A1 (ja) * 2015-11-02 2017-05-11 株式会社日立製作所 ストレージシステムを含む情報システム及びストレージシステムにおける性能劣化予測方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018236A (ja) * 2005-07-07 2007-01-25 Hitachi Ltd ストレージ管理システム
JP2009104488A (ja) * 2007-10-24 2009-05-14 Hitachi Ltd ストレージ装置及びその制御方法並びにストレージシステム
JP2009110346A (ja) * 2007-10-31 2009-05-21 Hitachi Ltd 性能履歴の管理方法および性能履歴の管理システム
US20120110263A1 (en) * 2007-10-31 2012-05-03 Kazuhisa Fujita Management method of performance history and a management system of performance history
WO2016121118A1 (ja) * 2015-01-30 2016-08-04 株式会社日立製作所 性能分析装置及び方法並びに記憶媒体
WO2017077583A1 (ja) * 2015-11-02 2017-05-11 株式会社日立製作所 ストレージシステムを含む情報システム及びストレージシステムにおける性能劣化予測方法

Also Published As

Publication number Publication date
US20210294497A1 (en) 2021-09-23
JP7191059B2 (ja) 2022-12-16

Similar Documents

Publication Publication Date Title
US11301144B2 (en) Data storage system
US20200034292A1 (en) Adaptable data caching mechanism for in-memory cluster computing
JP4391265B2 (ja) ストレージサブシステムおよび性能チューニング方法
US9485160B1 (en) System for optimization of input/output from a storage array
US11199973B2 (en) Storage system, computer system, and control method for storage system
US9563423B1 (en) System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
JP5463267B2 (ja) 仮想計算機システムおよび仮想計算機の移行方法
JP4800059B2 (ja) 仮想ストレージシステム及びその制御方法
US9712427B1 (en) Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model
US20210294497A1 (en) Storage system and method for analyzing storage system
US20060161700A1 (en) Redirection of storage access requests
US20060224850A1 (en) Computer system, storage system, and device control method
JP2005326935A (ja) 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
US8380924B2 (en) Storage system and processing efficiency improving method of storage system
WO2014178104A1 (ja) 計算機システム及び非同期リモートレプリケーションの分析を支援する方法
US20110231580A1 (en) Information system, information apparatus and method of controlling information apparatus
US9647905B1 (en) System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval
JP5000234B2 (ja) 制御装置
US10782898B2 (en) Data storage system, load rebalancing method thereof and access control method thereof
US9232000B1 (en) Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server
US10503440B2 (en) Computer system, and data migration method in computer system
US9591099B1 (en) Server connection establishment over fibre channel using a block device access model
US9407601B1 (en) Reliable client transport over fibre channel using a block device access model
US9270786B1 (en) System and method for proxying TCP connections over a SCSI-based transport
US9473590B1 (en) Client connection establishment over fibre channel using a block device access model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220817

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: 20221108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221206

R150 Certificate of patent or registration of utility model

Ref document number: 7191059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150