(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023000777
(43)【公開日】2023-01-04
(54)【発明の名称】ストレージシステム及び制御方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20221222BHJP
G06F 16/185 20190101ALI20221222BHJP
【FI】
G06F3/06 301Z
G06F3/06 304N
G06F16/185
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021101785
(22)【出願日】2021-06-18
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】小池 惇爾
(72)【発明者】
【氏名】中川 弘隆
(72)【発明者】
【氏名】野澤 広大
(57)【要約】
【課題】外部ストレージ装置に対する自動階層制御が行われる場合でも、所望のサービス品質を維持することが可能なストレージシステムを提供する。
【解決手段】ストレージシステム1は、アクセス性能の異なる複数の階層のいずれかに所属するクラウドボリューム22及び23を提供するクラウドシステム2と接続する。クラウドシステム2は、クラウドボリューム22及び23を利用するボリューム利用状況に基づいて外部提供ボリュームが所属する階層を変更する。ストレージシステム1のストレージコントローラ17は、クラウドボリューム22及び23に対応する外部ボリュームにページを割り当てたボリューム11をホスト計算機3に提供する。また、ストレージコントローラ17は、ボリューム利用状況を調整して、クラウドボリューム22及び23が所属する階層を制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
アクセス性能の異なる複数の階層のいずれかに所属する外部提供ボリュームを提供する外部ストレージシステムと接続し、前記外部ストレージシステムは、前記外部提供ボリュームの利用状況に基づいて前記外部提供ボリュームが所属する階層を変更する、ストレージシステムであって、
前記外部提供ボリュームに対応付けた外部ボリュームにページを割り当てたボリュームをホストに提供し、前記利用状況を調整して、前記外部提供ボリュームが所属する階層を制御する制御部を有するストレージシステム。
【請求項2】
前記外部ストレージシステムは、前記利用状況が所定の条件を満たさない場合、前記外部提供ボリュームが所属する階層を、前記アクセス性能が低い階層に変更し、
前記制御部は、前記利用状況が前記条件を満たすように、前記外部提供ボリュームに対してアクセス要求を発行する、請求項1に記載のストレージシステム。
【請求項3】
前記制御部は、前記条件に応じた時間間隔で前記アクセス要求を繰り返し発行する、請求項2に記載のストレージシステム。
【請求項4】
前記アクセス要求は、前記外部提供ボリュームにおける所定の記憶領域に対するライト要求である、請求項2に記載のストレージシステム。
【請求項5】
前記制御部は、前記外部提供ボリュームの所属する階層のアクセス性能が所定のアクセス性能と一致していない場合、その旨を通知する、請求項1に記載のストレージシステム。
【請求項6】
前記制御部は、前記外部提供ボリュームの所属する階層のアクセス性能が所定のアクセス性能と一致していない場合、前記外部ボリュームを前記所定のアクセス性能を有する別の前記外部提供ボリュームに対応付ける、請求項1に記載のストレージシステム。
【請求項7】
前記制御部は、前記外部ボリュームの容量が前記別の外部提供ボリュームに対応付けることが可能な空き容量以上の場合、前記外部ボリュームを前記別の外部提供ボリュームに対応付け、前記外部ボリュームの容量が前記空き容量未満の場合、その旨を通知する、請求項6に記載のストレージシステム。
【請求項8】
前記外部ボリュームは、広域通信ネットワークおよびゲートウェイを介して前記外部提供ボリュームと相互に通信可能に接続されている、請求項1に記載のストレージシステム。
【請求項9】
アクセス性能の異なる複数の階層のいずれかに所属する外部提供ボリュームを提供する外部ストレージシステムと接続し、前記外部ストレージシステムは、前記外部提供ボリュームの利用状況に基づいて前記外部提供ボリュームが所属する階層を変更する、ストレージシステムの制御方法であって、
前記外部提供ボリュームにページを割り当てたボリュームをホストに提供し、前記利用状況を調整して、前記外部提供ボリュームが所属する階層を制御する、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ストレージシステム及び制御方法に関する。
【背景技術】
【0002】
アクセス性能の異なる複数種類のストレージ装置を備えたストレージシステムでは、同一種類のストレージ装置の記憶領域を1つの階層として管理し、ストレージ装置に格納されたデータの利用状況などに応じて、データを格納する階層を制御する階層制御が行われることがある。
【0003】
特許文献1には、クラウドシステム上に配置された外部ストレージ装置の記憶領域の集合を1つの階層として用いるストレージシステムが開示されている。このストレージシステムは、顧客のデータセンタのようなオンプレミス環境に配置され、オンプレミス環境の内部に配置された内部ストレージ装置の記憶領域と、クラウドシステム上に配置された外部ストレージ装置の記憶領域とをそれぞれ別の階層として管理し、アクセス頻度の高いデータを内部ストレージ装置に格納し、アクセス頻度の低いデータを外部ストレージ装置に格納している。これにより、オンプレミス環境の内部ストレージ装置の容量を節約しつつ内部ストレージ装置が有する高いアクセス性能を活かすことが可能となる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
クラウドシステムでは、そのクラウドシステムを利用するストレージシステムとは独立して、データを格納する階層を制御する自動階層制御が行われることがある。自動階層制御を行うクラウドシステムは、例えば、SSD(Solid State Drive)のようなアクセス性能が高いストレージ装置に格納しているデータに対するアクセス頻度が低下すると、そのデータを安価で大容量なストレージ装置に移動させている。
【0006】
特許文献1に記載のストレージシステムにおいて、クラウドシステム側で自動階層制御が行われると、データを格納するストレージ装置のアクセス性能が変動してしまい、ストレージシステムが保証するサービス品質を維持できない場合がある。
【0007】
本開示の目的は、外部ストレージ装置に対する自動階層制御が行われる場合でも、所望のサービス品質を維持することが可能なストレージシステム及び制御方法を提供することにある。
【課題を解決するための手段】
【0008】
本開示の一態様に従うストレージシステムは、アクセス性能の異なる複数の階層のいずれかに所属する外部提供ボリュームを提供する外部ストレージシステムと接続し、前記外部ストレージシステムは、前記外部提供ボリュームを利用する利用状況に基づいて前記外部提供ボリュームが所属する階層を変更する、ストレージシステムであって、前記外部提供ボリュームに対応付けた外部ボリュームにページを割り当てたボリュームをホストに提供し、前記利用状況を調整して、前記外部提供ボリュームが所属する階層を制御する制御部を有する。
【発明の効果】
【0009】
本発明によれば、外部ストレージ装置に対する自動階層制御が行われる場合でも、所望のサービス品質を維持することが可能になる。
【図面の簡単な説明】
【0010】
【
図1】本開示の一実施形態の計算機システムを示す図である。
【
図3】ストレージシステムのハードウェア構成の一例を示す図である。
【
図4】計算機システムにおけるボリューム構成を示す図である。
【
図5】制御情報及びプログラムの一例を示す図である。
【
図6】ボリューム管理テーブルの一例を示す図である。
【
図7】外部ボリューム管理テーブルの一例を示す図である。
【
図8】ストレージプール管理テーブルの一例を示す図である。
【
図9】外部接続装置管理テーブルの一例を示す図である。
【
図10】スケジュール管理テーブルの一例を示す図である。
【
図11】ページ移動容量管理テーブルの一例を示す図である。
【
図12】階層制御用I/O策定処理の一例を説明するためのフローチャートである。
【
図13】階層制御処理の一例を説明するためのフローチャートである。
【
図14】階層割当状況警告処理の一例を説明するためのフローチャートである。
【
図15】警告メッセージ画面の一例を示す図である。
【
図16】階層一致判定処理の一例を説明するためのフローチャートである。
【
図17】ストレージプール管理処理の一例を説明するためのフローチャートである。
【
図18】ストレージプール管理処理の一例を説明するためのフローチャートである。
【
図19】ストレージプール管理処理の他の例を説明するためのフローチャートである。
【
図20】警告メッセージ画面の他の例を示す図である。
【
図21】警告メッセージ画面の他の例を示す図である。
【発明を実施するための形態】
【0011】
以下、本開示の実施形態について図面を参照して説明する。
【0012】
図1は、本開示の一実施形態の計算機システムを示す図である。
図1に示す計算機システムは、ストレージシステム1と、クラウドシステム2と、ホスト計算機3と、管理装置4とを有する。ストレージシステム1及びクラウドシステム2は、ストレージネットワーク5を介して相互に接続可能であり、ストレージシステム1及びホスト計算機3は、ストレージネットワーク6を介して相互に接続可能である。また、管理装置4は、ストレージシステム1及びクラウドシステム2のそれぞれと管理ネットワーク7を介して相互に接続可能である。ストレージネットワーク5及び6は、本実施形態では、iSCSI(Internet Small Computer System Interface)にて構築されたSAN(Storage Area Network)であるが、他のネットワークでもよい。また、管理ネットワーク7は、本実施形態では、Ethernet(登録商標)であるが、他のネットワークでもよい。
【0013】
ストレージシステム1、ホスト計算機3及び管理装置4は、ストレージシステム1によるサービスの提供を受ける顧客のデータセンタのようなオンプレミス環境8に配置され、クラウドシステム2は、オンプレミス環境とは別の場所に設けられたクラウド環境9に配置される。
【0014】
ストレージシステム1は、ホスト計算機3からのアクセス要求であるI/O要求(リード要求及びライト要求)に応じてデータのリード及びライトを制御する。ストレージシステム1は、ボリューム11と、ストレージプール12と、内部ボリューム13と、外部ボリューム14及び15と、制御情報16と、ストレージコントローラ17とを有する。
【0015】
ボリューム11は、ホスト計算機3に提供する仮想ボリュームであり、ストレージプール12から切り出される。ストレージプール12は、ボリューム11として提供可能なプールボリュームの総体であり、本実施形態では、プールボリュームとして、内部ボリューム13と外部ボリューム14及び15とを有する。内部ボリューム13は、ストレージシステム1の内部に設けられた内部ストレージ装置であるSSD101(
図3、
図4参照)の記憶領域に割り当てられたボリュームである。外部ボリューム14及び15は、後述するクラウドボリューム22及び23に対応付けられている。
【0016】
ストレージプール12は、アクセス性能(例えば、リード速度及びライト速度など)の異なる複数種類のボリューム(より具体的には、アクセス性能の異なる複数種類のストレージ装置のそれぞれの記憶領域に対応する複数種類のボリューム)を階層(Tier)として有する。本実施形態では、ストレージプール12は、アクセス性能が高い方から順に、「Tier1」、「Tier2」、「Tier3」の3つの階層を有する。内部ボリューム13と外部ボリューム14及び15とは別の階層に所属している。また、外部ボリューム14及び15は、同じ階層に所属してもよいし、別の階層に所属してもよい。具体的には、内部ボリューム13は「Tier1」に所属し、外部ボリューム14及び15はそれぞれ「Tier2」又は「Tier3」に所属する。
【0017】
制御情報16は、ストレージシステム1を制御するための情報であり、ボリューム管理テーブル161、外部ボリューム管理テーブル162、ストレージプール管理テーブル163、外部接続装置管理テーブル164、スケジュール管理テーブル165、及びページ移動容量管理テーブル166を含む。各テーブル161~166の詳細な説明は後述する(
図5~11参照)。
【0018】
ストレージコントローラ17は、ストレージシステム1を制御する制御部である。ストレージコントローラ17は、例えば、後述するプログラムを読み取り、その読み取ったプログラムを実行して、ボリューム管理部201、外部ボリューム管理部202、ストレージプール管理部203、外部装置制御部204及びI/O制御部205を実現する。
【0019】
クラウドシステム2は、広域通信ネットワークなどのネットワーク上に設けられ、記憶資源(例えば、論理ボリューム)がネットワークを介してユーザに提供されるサービスである。クラウドシステム2は、ゲートウェイサーバ21と、クラウドボリューム22及び23と、クラウド制御部24とを有する。
【0020】
ゲートウェイサーバ21は、ストレージシステム1との通信を行う。クラウドボリューム22及び23は、ストレージシステム1に提供するボリュームであり、後述するクラウドストレージ装置26(
図4参照)の記憶領域に割り当てられている。クラウドストレージ装置26は、アクセス性能が異なる複数種類のストレージ装置を含む。
【0021】
クラウド制御部24は、クラウドシステム2を制御する。例えば、クラウド制御部24は、クラウドシステム2の自動階層制御を行う。自動階層制御は、クラウドボリューム22及び23の利用状況であるボリューム利用状況に応じて、異なる種類のクラウドストレージ装置26間のデータの再配置を行うことで、クラウドボリューム22及び23の階層を変更する制御である。
【0022】
本実施形態では、クラウドシステム2はアクセス性能が高い方から順に、「HOT」、「COLD」の2つの階層を有し、クラウド制御部24は、クラウドボリューム22及び23の利用状況と所定の条件である利用要件とに基づいて、クラウドボリューム22及び23の階層を変更する。例えば、クラウド制御部24は、HOTのクラウドボリュームに対する利用状況が利用要件を満たさない場合、そのクラウドボリュームの階層を「COLD」に変更する。
【0023】
以下では、ストレージシステム1が管理する階層(Tier1」、「Tier2」、「Tier3」)とクラウドシステム2が管理する階層(「HOT」、「COLD」)とを区別するために、ストレージシステム1が管理する階層を内部階層、クラウドシステム2が管理する階層を外部階層と呼ぶこともある。また、ストレージシステム1は、内部階層「Tier2」を外部階層「HOT」と同等なアクセス性能を有する階層として管理し、内部階層「Tier3」を外部階層「COLD」と同等なアクセス性能を有する階層として管理する。このため、例えば、クラウドシステム2にてクラウドボリューム22及び23の外部階層が「HOT」から「COLD」に変更されると、その変更されたクラウドボリューム22及び23に対応する外部ボリューム14及び15が内部階層「Tier2」として要求されるアクセス性能を満たさなくなる。
【0024】
ホスト計算機3は、ストレージシステム1に対してI/O要求を発行する端末装置である。
【0025】
管理装置4は、ストレージシステム1を管理するストレージ管理者にて使用される端末装置であり、ストレージ管理GUI(Graphical User Interface)41及びクラウド管理GUI42を有する。ストレージ管理GUI41は、ストレージシステム1を管理するためのGUIであり、クラウド管理GUI42は、クラウドシステム2を管理するためのGUIである。
【0026】
図2は、ホスト計算機3の構成の一例を示す図である。
図2に示すホスト計算機3は、メモリ31と、プロセッサ32と、入力部33と、出力部34と、ネットワークI/F35と、HBA(Host Bus Adapter)36とを有する。
【0027】
メモリ31は、書き込みおよび読み出しが可能なデータを記録する記録装置であり、例えば、プロセッサ32の動作を規定するプログラムとして、ハイパーバイザ311と、アプリケーションプログラム312とを記録する。ハイパーバイザ311は、仮想マシンを構築する。アプリケーションプログラム312は、仮想マシン上で動作し、例えば、I/O要求を発行する。
【0028】
入力部33は、ホスト計算機3のユーザなどから種々の情報が入力される。入力部33に入力された情報は、例えば、プロセッサ32の処理に利用される。出力部34は、種々の情報をユーザに対して出力する。ネットワークI/F35は、管理ネットワーク7を介して外部装置と通信を行う。
【0029】
HBA36は、ストレージネットワーク6を介してストレージシステム1のボリューム11と接続される通信デバイスである。
図2の例では、HBA36は2つ示されているが、HBA36は、1つでもよいし、3つ以上でもよい。また、各HBA36は、アプリケーションプログラム312にて発行されたI/O要求をストレージシステム1に送信するRAWデバイス361を有する。
【0030】
図3は、ストレージシステム1のハードウェア構成の一例を示す図である。
図3に示すストレージシステム1は、SSD101と、ホストI/F部102と、ディスクI/F部103と、共有メモリ部104と、制御処理部105とを有する。ホストI/F部102、ディスクI/F部103、共有メモリ部104及び制御処理部105は、内部ネットワーク106を介して相互に通信可能に接続される。
【0031】
SSD101は、データを記憶するディスクであり、ホスト計算機3からI/O要求の対象となるデータを格納する内部ストレージ装置として機能する。なお、内部ストレージ装置は、SSD101に限らず、HDD(Hard Disk Drive)のような他の種類のストレージ装置でもよい。SSD101は、複数あってもよい。
【0032】
ホストI/F部102は、ホスト計算機3と通信可能に接続する複数のI/F1021を有するホスト側の入出力部であり、例えば、FEPK(Front End Package)である。I/F1021は、例えば、ホスト計算機3からI/O要求を受け付けたり、I/O要求の結果をホスト計算機3に出力したりする。
【0033】
ディスクI/F部103は、SSD101と通信可能に接続する複数のI/F1031を有するディスク側の入出力部であり、例えば、BEPK(Back End Package)である。各I/F1031は、例えば、ケーブルを介してSSD101と接続するとともに、内部ネットワーク106と接続されており、内部ネットワーク106とドライブ103との間におけるリード及びライト対象のデータの受け渡し処理を仲介する。
【0034】
共有メモリ部104は、一時的にデータ及び情報を格納する一時記憶部であり、例えば、CMPK(Cache Memory Package)である。共有メモリ部104は、データキャッシュ用メモリ1041と、制御情報用メモリ1042とを有する。データキャッシュ用メモリ1041及び制御情報用メモリ1042は、例えば、DRAM(Dynamic Random Access Memory)のような揮発性メモリである。
【0035】
データキャッシュ用メモリ1041は、SSD101にライトするデータを一時的に格納(キャッシュ)するとともに、SSD101からリードしたデータを一時的に格納する。制御情報用メモリ1042は、ストレージシステム1により種々の処理に必要な制御情報と、ストレージシステム1が行う各処理を実行するためのプログラムを格納する。
【0036】
制御処理部105は、ホストI/F部102、ディスクI/F部103及び共有メモリ部104と協働してストレージシステム1全体を制御するものであり、例えば、MPPK(Micro Processor Package)である。制御処理部105は、複数のMP(Micro Processor)1051と、ローカルメモリ(LM)1052と、各MP1051及びローカルメモリ1052とを通信可能に接続するバス1053とを有する。MP1051は、ホストI/F部102が受け付けたI/O要求に応じた処理を行う。ローカルメモリ1052は、制御情報用メモリ1042に格納されている制御情報のうち制御処理部105で必要となる部分と、制御情報用メモリ1042に格納されているプログラムのうちMP1051で実行されるプログラムとを記憶する。
【0037】
図3に示したホストI/F部102、ディスクI/F部103、共有メモリ部104及び制御処理部105は、
図1に示したストレージコントローラ17を構成する。また、ホストI/F部102、ディスクI/F部103、共有メモリ部104及び制御処理部105は、それぞれ
図3の例では、読み書きされるデータのレプリカを作成して信頼性を向上させるために2重化されているが、2重化されていなくてもよいし、3重化以上に多重化されてもよい。
【0038】
図4は、本実施形態の計算機システムにおけるボリューム構成を示す図である。ストレージシステム1は、内部ボリューム13及び外部ボリューム14及び15で構成されるストレージプール12を有し、ストレージプール12から切り出したボリューム11をホスト計算機3に提供する。ボリューム11は、ページと呼ばれる単位で管理されている。
図4の例では、ボリューム11は、2つのページA及びBを有し、ページAが内部ボリューム13に対応し、ページBが外部ボリューム14又は15に対応する。
【0039】
内部ボリューム13は、SSD101の記憶領域に割り当てられており、外部ボリューム14及び15は、クラウドシステム2に設けられた外部ストレージ装置であるクラウドストレージ装置26の記憶領域に割り当てられている。
【0040】
クラウドシステム2は、ゲートウェイサーバ21と、クラウドストレージシステム25とを有する。クラウドストレージシステム25は、クラウドストレージ装置26と、クラウドストレージ装置26の記憶領域に割り当てられたクラウドボリューム22及び23とを有する。クラウドボリューム22及び23は、ゲートウェイサーバ21にて仮想ボリューム27として仮想化されてストレージシステム1に提供されている。ストレージシステム1の外部ボリューム14及び15は、具体的には、仮想ボリューム27及びクラウドボリューム22及び23を介してクラウドストレージ装置26の記憶領域に割り当てられる。クラウドストレージ装置26は、上述したように、複数種類あり、各種類のクラウドストレージ装置26はアクセス性能が異なっている。
【0041】
図5は、制御情報用メモリ1042に格納される制御情報及びプログラムの一例を示す図である。
図5に示すように制御情報用メモリ1042は、制御情報として、ボリューム管理テーブル161、外部ボリューム管理テーブル162、ストレージプール管理テーブル163、外部接続装置管理テーブル164、スケジュール管理テーブル165、及びページ移動容量管理テーブル166を記憶する。
【0042】
図6は、ボリューム管理テーブル161の一例を示す図である。ボリューム管理テーブル161は、ストレージシステム1の各ボリューム(ボリューム11、内部ボリューム13、外部ボリューム14及び15)を管理するための情報であり、フィールド1611~1616を有する。
【0043】
フィールド1611は、ボリュームを識別するための識別情報であるボリュームID(VOL ID)を格納する。フィールド1612は、ボリュームの容量を格納する。フィールド1613は、ボリュームの空き容量を格納する。フィールド1614は、ボリュームのタイプ(TYPE)を格納する。ここでタイプ「DP-VVOL」はボリュームがボリューム11であることを示し、タイプ「NORMAL」はボリュームが内部ボリューム13であることを示し、タイプ「EXTERNAL」はボリュームが外部ボリューム14及び15であることを示す。フィールド1615は、ボリュームに対応するストレージ装置を示す所属記憶媒体を格納する。なお、ボリューム11の所属記憶媒体はストレージプール12であるとしている。フィールド1616は、ボリュームの割当先を格納する。ボリューム11の割当先はホスト計算機3であり、内部ボリューム13、外部ボリューム14及び15の割当先はストレージプール12である。
【0044】
図7は、外部ボリューム管理テーブル162の一例を示す図である。外部ボリューム管理テーブル162は、外部ボリューム14及び15を管理するための情報であり、フィールド1621~1628を有する。
【0045】
フィールド1621は、外部ボリューム14及び15を識別するための識別情報であるボリュームIDを格納する。フィールド1622は、外部ボリューム14及び15の容量を格納する。フィールド1623は、外部ボリューム14及び15が接続するポートを識別するための識別情報である外部ポートID(EXTERNAL PORT ID)を格納する。フィールド1624は、外部ボリューム14及び15が所属する外部グループを識別するための識別情報である外部グループID(EXTERNAL GROUP ID)を格納する。
【0046】
フィールド1625は、外部ボリューム14及び15と対応付けられたクラウドボリューム22及び23を識別するための識別情報である接続先ボリュームID(接続先VOL ID)を格納する。フィールド1626は、クラウドボリューム22及び23を有するクラウドシステム2を識別するための識別情報である接続先装置IDを格納する。フィールド1627は、クラウドボリューム22及び23の階層(外部階層)である接続先所属階層を格納する。接続先所属階層は、「HOT」又は「COLD」を示す。フィールド1628は、外部ボリューム14及び15に要求するアクセス性能を示す外部ボリューム性能を格納する。
図7の例では、外部ボリューム性能は、IOPS(Input/Output Per Second)を用いて示されているが、他の指標が用いられてもよい。
【0047】
図8は、ストレージプール管理テーブル163の一例を示す図である。ストレージプール管理テーブル163は、ストレージプール12を管理するための情報であり、フィールド1631~1636を有する。
【0048】
フィールド1631は、ストレージプール12を識別するための識別情報であるプールID(Pool ID)を格納する。フィールド1632は、ストレージプール12の仮想容量を格納する。フィールド1633は、ストレージプール12の実容量を格納する。フィールド1634は、ストレージプール12のタイプを格納する。
【0049】
フィールド1635及び1636は、ストレージプール12を構成する階層ごとに設けられる。フィールド1635は、対象の階層の容量である割当容量を格納し、フィールド1636は、対象の階層に割り当てられている割当ボリュームを識別するための識別情報である割当ボリューム(VOL)IDを格納する。
図8の例では、階層「Tier1」の割当容量及び割当ボリュームIDをT1容量及びT1割当ボリュームID、階層「Tier2」の割当容量及び割当ボリュームIDをT2容量及びT2割当ボリュームID、階層「Tier3」の割当容量及び割当ボリュームIDをT3容量及びT3割当ボリュームIDと示している。
【0050】
図9は、外部接続装置管理テーブル164の一例を示す図である。外部接続装置管理テーブル164は、クラウドシステム2を管理する情報であり、フィールド1641~1644を有する。
【0051】
フィールド1641は、クラウドシステム2を識別するための識別情報である装置IDを格納する。フィールド1642は、クラウドシステム2と接続する管理ポートを格納する。フィールド1643は、クラウドシステム2にて管理される階層である外部階層を示す階層情報を格納する。本実施形態では、外部階層は「HOT」及び「COLD」である。フィールド1644は、外部階層のアクセス性能を示すI/O性能要件を格納する。具体的には、フィールド1644は、フィールド1644A及び1644Bを含み、フィールド1644Aは、外部階層に所属するクラウドボリューム22及び23にて受付可能なI/O要求の種類を示すI/Oパターン(IO PATTERN)を格納し、フィールド1644Bは、IOPSを格納する。
【0052】
図10は、スケジュール管理テーブル165の一例を示す図である。スケジュール管理テーブル165は、階層制御用のI/O要求である制御用I/O要求の発行スケジュールを管理する情報であり、フィールド1651~1657を有する。
【0053】
フィールド1651は、外部ボリューム14及び15のボリュームIDを格納する。フィールド1652は、外部ボリューム14及び15にて受付可能なI/O要求の種類を示すI/Oパターンを格納する。フィールド1653は、外部ボリューム14及び15に要求するアクセス性能を示す要求アクセス性能としてIOPSを格納する。フィールド1654は、制御用I/O要求のアクセス対象の記憶領域である対象領域を示す対象領域情報を格納する。対象領域情報は、例えば、対象領域のLBA(Logical Block Addressing)などである。
【0054】
フィールド1655は、外部ボリューム14及び15に対して制御用I/O要求を発行した直近の日時であるI/O発行日時を格納する。フィールド1656は、階層制御用のI/O要求を発行する時間間隔である繰り返し間隔を格納する。繰り返し間隔は、クラウドシステム2における自動階層制御の制御条件に応じて決定される。制御条件は、クラウドボリューム22及び23の利用状況に係る所定の条件であり、例えば、クラウドボリューム22及び23に対して所定期間アクセスがない(I/O要求がない)場合に、クラウドボリュームの階層を下げる(アクセス性能が低い階層に変更する)などである。この場合、繰り返し間隔は、所定期間よりも短い期間となる。本実施形態では、繰り返し期間を1日としている。
【0055】
フィールド1657は、外部ボリュームの状態(Status)を格納する。外部ボリュームの状態としては、外部ボリュームの実際のアクセス性能(階層)が外部ボリューム性能と一致している通常状態(NORMAL)、実際のアクセス性能が外部ボリューム性能よりも低い警告状態(WARNING)、実際のアクセス性能が外部ボリューム性能よりも高い通告状態(NOTICE)などがある。
【0056】
図11は、ページ移動容量管理テーブル166の一例を示す図である。ページ移動容量管理テーブル166は、外部ボリューム14及び15に対応付けたクラウドボリュームの階層を管理するための情報であり、フィールド1661~1665を有する。
【0057】
フィールド1661は、移動対象を識別するための識別情報であるエントリ番号(エントリ#)を格納する。フィールド1662は、移動対象(外部階層を変更する対象)の外部ボリュームに対応する外部階層である移動元階層を格納する。フィールド1663は、移動対象の外部ボリュームの移動後の階層である移動先階層を格納する。フィールド1664は、移動対象の外部対象ボリュームの容量である移動容量を格納する。フィールド1665は、移動先の階層の空き容量を格納する。
【0058】
図5の説明に戻る。制御情報用メモリ1042は、プログラムとして、ボリューム管理プログラム171、外部ボリューム管理プログラム172、ストレージプール管理プログラム173、外部装置制御プログラム174及びI/O制御プログラム175を記憶する。ボリューム管理プログラム171、外部ボリューム管理プログラム172、ストレージプール管理プログラム173、外部装置制御プログラム174及びI/O制御プログラム175は、それぞれ
図1に示したボリューム管理部201、外部ボリューム管理部202、ストレージプール管理部203、外部装置制御部204及びI/O制御部205を実現するためのプログラムである。
【0059】
各部201~205が協働することにより、ストレージコントローラ17は、外部ボリューム14及び15に対応付けられたクラウドボリューム22及び23が所属する階層を制御する外部階層制御処理を実行する。具体的には、ストレージコントローラ17は、外部ボリューム14及び15の利用状況を調整して、外部ボリューム14及び15に対応付けられたクラウドボリューム22及び23が所属する階層を制御する。
【0060】
また、ストレージコントローラ17は、クラウドボリューム22及び23の所属する階層のアクセス性能が所定のアクセス性能である外部ボリューム性能と一致していない場合、その旨の警告メッセージ画面を通知する階層割当状況警告処理を行ってもよい。また、ストレージコントローラ17は、クラウドボリューム22及び23のアクセス性能が外部ボリューム性能を満たしていない場合、外部ボリュームに対応付けられたクラウドボリュームを、アクセス性能が外部ボリューム性能を満たす外部階層に所属する別のクラウドボリュームに対応付ける階層調整処理を行ってもよい。
【0061】
以下、ストレージコントローラ17が行う処理についてより詳細に説明する。
【0062】
先ず、
図12及び
図13を用いて、外部階層制御処理に係る処理を説明する。
【0063】
図12は、外部ボリューム管理部202による階層制御用I/O策定処理の一例を説明するためのフローチャートである。
【0064】
階層制御用I/O策定処理では、先ず、外部ボリューム管理部202は、制御情報用メモリ1042から外部ボリューム管理テーブル162を読み取る(ステップS101)。また、外部ボリューム管理部202は、制御情報用メモリ1042から外部接続装置管理テーブル164を読み取る(ステップS102)。さらに、外部ボリューム管理部202は、制御情報用メモリ1042からスケジュール管理テーブル165を読み取る(ステップS103)。
【0065】
そして、外部ボリューム管理部202は、外部ボリューム管理テーブル162に含まれるボリュームIDにて識別される外部ボリュームごとに、ステップS104~S106の処理を繰り返すループ処理LOOP1を実行する。
【0066】
ループ処理LOOP1では、外部ボリューム管理部202は、当該外部ボリュームが所属する外部階層である接続先所属階層が変更されたか否かを判断する(ステップS104)。例えば、ストレージシステム1は、ユーザから管理装置4のストレージ管理GUI41を介して接続先所属階層を変更する変更要求に従って外部ボリューム14及び15の接続先所属階層を変更し、外部ボリューム管理部202は、変更要求を監視して、接続先所属階層が変更されたか否かを判断する。
【0067】
接続先所属階層が変更された場合、外部ボリューム管理部202は、外部ボリューム管理テーブル162から、当該外部ボリュームのボリュームIDと対応付けられた接続先装置IDを取得する(ステップS105)。そして、外部ボリューム管理部202は、制御情報用メモリ1042の外部接続装置管理テーブル164から、取得した接続先装置IDと同じ装置IDに対応するI/O性能要件を取得し、そのI/O性能要件に基づいて、スケジュール管理テーブル165を更新する(ステップS106)。
【0068】
一方、所属階層が変更されていない場合、外部ボリューム管理部202は、ステップS105及びS106をスキップする。
【0069】
外部ボリューム管理部202は、全ての外部ボリュームに対してステップS104~S106の処理を行うと、ループ処理LOOP1を終了して、階層制御用I/O策定処理を終了する。
【0070】
図13は、外部装置制御部204による階層制御処理の一例を説明するためのフローチャートである。
【0071】
階層制御処理では、先ず、外部装置制御部204は、制御情報用メモリ1042からスケジュール管理テーブル165を読み取る(ステップS201)。
【0072】
そして、外部装置制御部204は、スケジュール管理テーブル165に含まれるボリュームIDにて識別される外部ボリュームごとに、ステップS202~S205の処理を繰り返すループ処理LOOP2を実行する。
【0073】
ループ処理LOOP2では、外部装置制御部204は、現在時刻を取得し(ステップS202)、現在日時がスケジュール管理テーブル165において当該外部ボリュームのボリュームIDに対応するI/O発行日時を過ぎているか否かを判断する(ステップS203)。
【0074】
現在日時がI/O発行日時を過ぎている場合、外部装置制御部204は、当該外部ボリュームに対して階層制御用のI/O要求である制御用I/O要求を発行する(ステップS204)。制御用I/O要求
は、本実施形態では、当該外部ボリュームのボリュームIDに対応する対象領域に対するライト要求である。対象領域は、例えば、データとは別の管理情報を格納する領域である。
【0075】
そして、外部装置制御部204は、スケジュール管理テーブル165において当該外部ボリュームのボリュームIDに対応するI/O発行日時を現在時刻からボリュームIDに対応する繰り返し間隔後に更新する(ステップS205)。
【0076】
なお、現在日時がI/O発行日時を過ぎていない場合、外部装置制御部204は、ステップS204及びS205の処理をスキップする。
【0077】
そして、外部装置制御部204は、全ての外部ボリュームに対してステップS202~S205の処理を行うと、ループ処理LOOP2を終了して、階層制御処理を終了する。
【0078】
次に、
図14及び
図15を用いて階層割当状況警告処理を説明する。
【0079】
図14は、外部装置制御部204による階層割当状況警告処理の一例を説明するためのフローチャートである。
【0080】
階層割当状況警告処理では、先ず、外部装置制御部204は、制御情報用メモリ1042からスケジュール管理テーブル165を読み取る(ステップS301)。
【0081】
そして、外部装置制御部204は、スケジュール管理テーブル165に含まれるボリュームIDにて識別される外部ボリュームごとに、ステップS302~S305の処理を繰り返すループ処理LOOP3を実行する。
【0082】
ループ処理LOOP3では、外部装置制御部204は、外部ボリューム管理テーブル162から、当該外部ボリュームのボリュームIDに対応付けられた接続先装置IDを取得し、その接続先装置IDのクラウドシステム2のクラウド制御部24から、当該外部ボリュームに対応するクラウドボリュームの階層である接続先階層を取得する(ステップS302)。
【0083】
外部装置制御部204は、外部接続装置管理テーブル164から、接続先装置IDと同じ装置IDと接続先階層を示す階層情報とに対応付けられたI/O性能要件を取得する。また、外部装置制御部204は、外部ボリューム管理テーブル162から、当該外部ボリュームのボリュームIDに対応付けられた外部ボリューム性能を取得する。そして、外部装置制御部204は、I/O性能要件が外部ボリューム性能と一致しているか否かを判断する(ステップS303)。
【0084】
I/O性能要件が外部ボリューム性能と一致していない場合、外部装置制御部204は、当該外部ボリュームを性能不一致の外部ボリュームとして特定する(ステップS304)。そして、外部装置制御部204は、スケジュール管理テーブル165を更新する(ステップS305)。例えば、外部装置制御部204は、スケジュール管理テーブル165における、当該外部ボリュームのボリュームIDに対応付けられた状態を「WARNING」又は「NOTICE」に更新する。
【0085】
一方、I/O性能要件が外部ボリューム性能と一致している場合、外部装置制御部204は、ステップS304及びS305をスキップする。
【0086】
外部装置制御部204は、全ての外部ボリュームに対してステップS302~S305の処理を行うと、ループ処理LOOP3を終了して、性能不一致の外部ボリュームが存在するか否かを判断する(ステップS306)。例えば、外部装置制御部204は、スケジュール管理テーブル165において状態が「WARNING」の外部ボリュームが存在する場合、性能不一致の外部ボリュームが存在すると判断する。
【0087】
性能不一致の外部ボリュームが存在する場合、外部装置制御部204は、警告メッセージ画面を出力し(ステップS307)、処理を終了する。一方、性能不一致の外部ボリュームが存在しない場合、外部装置制御部204は、ステップS307の処理をスキップして、そのまま処理を終了する。
【0088】
図15は、警告メッセージ画面の一例を示す図である。
図15に示す警告メッセージ画面1500は、外部ボリュームごとに、その外部ボリュームの名称1501、外部ボリューム14及び15が所属する内部階層であるプール割当階層1502、外部ボリューム14及び15が所属する外部階層である接続先所属階層1503、外部ボリューム14及び15の状態1504と、外部ボリューム14及び15に対するエラーメッセージ1505とを示す。
【0089】
次に、
図16~
図21を用いて階層調整処理に係る処理を説明する。
【0090】
図16は、ストレージプール管理部203による階層一致判定処理の一例を説明するためのフローチャートである。
【0091】
階層一致判定処理では、先ず、ストレージプール管理部203は、制御情報用メモリ1042から外部ボリューム管理テーブル162を読み込む(ステップS401)。
【0092】
そして、外部装置制御部204は、外部ボリューム管理テーブル162に含まれるボリュームIDにて識別される外部ボリュームごとに、ステップS402~S405の処理を繰り返すループ処理LOOP4を実行する。
【0093】
ループ処理LOOP4では、外部装置制御部204は、外部ボリューム管理テーブル162から、当該外部ボリュームのボリュームIDに対応付けられた接続先装置IDを取得する(ステップS402)。外部装置制御部204は、接続先装置IDのクラウドシステム2のクラウド制御部24から、当該外部ボリュームに対応付けられたクラウドボリュームの外部階層を接続先所属として取得する(ステップS403)。
【0094】
外部装置制御部204は、外部接続装置管理テーブル164から、接続先装置IDと同じ装置IDと接続先所属階層を示す階層情報とに対応付けられたI/O性能要件を取得する。また、外部装置制御部204は、外部ボリューム管理テーブル162から、当該外部ボリュームのボリュームIDに対応付けられた外部ボリューム性能を取得する。そして、外部装置制御部204は、I/O性能要件が外部ボリューム性能と一致しているか否かを判断する(ステップS404)。
【0095】
I/O性能要件が外部ボリューム性能と一致していない場合、外部装置制御部204は、ページ移動容量管理テーブル166にレコードを追加する(ステップS405)。具体的には、外部装置制御部204は、ページ移動容量管理テーブル166に対して、当該外部ボリュームの現在の階層を移動元階層、I/O性能要件が外部ボリューム性能と一致する階層を移動先階層として有するレコードを追加する。なお、外部装置制御部204は、移動容量及び空き容量については、例えば初期値として0を追加する。
【0096】
一方、I/O性能要件が外部ボリューム性能と一致している場合、外部装置制御部204は、ステップS405をスキップする。
【0097】
外部装置制御部204は、全ての外部ボリュームに対してステップS402~S405の処理を行うと、ループ処理LOOP4を終了して、階層一致判定処理を終了する。
【0098】
図17~
図19は、ストレージプール管理部203によるストレージプール管理処理の一例を説明するためのフローチャートである。具体的には、
図17は、ストレージプール管理部203によるページ移動容量算出処理の一例を説明するためのフローチャートであり、
図18は、ストレージプール管理部203によるプロモーション処理の一例を説明するためのフローチャートであり、
図19は、ストレージプール管理部203によるデモーション処理の一例を説明するためのフローチャートである。なお、ページ移動容量算出処理は、例えば、ストレージプール管理テーブル163が更新された際などに実行される。
【0099】
ページ移動容量算出処理では、先ず、ストレージプール管理部203は、制御情報用メモリ1042からページ移動容量管理テーブル166を読み取る(ステップS501)。次に、ストレージプール管理部203は、制御情報用メモリ1042からストレージプール管理テーブル163を読み取る(ステップS502)。また、ストレージプール管理部203は、制御情報用メモリ1042からボリューム管理テーブル161を読み取る(ステップS503)。
ストレージプール管理部203は、ページ移動容量管理テーブル166から移動元階層及び移動先階層を取得する(ステップ504)。
【0100】
そして、ストレージプール管理部203は、ストレージプール管理テーブル163に含まれる割当ボリュームIDのうち、移動元階層の割当ボリュームIDにて識別される移動対象プールボリュームごとにステップS505の処理を繰り返すループ処理LOOP5を実行する。
【0101】
ループ処理LOOP5では、ストレージプール管理部203は、当該移動対象プールボリュームの容量を、ページ移動容量管理テーブル166における当該移動対象プールボリュームの階層を移動元階層として含むレコードの移動容量t3に加える(ステップS505)。
【0102】
ストレージプール管理部203は、全ての移動対象プールボリュームに対してステップS505の処理を行うと、ループ処理LOOP5を終了して、
図18のプロモーション処理に移行する。
【0103】
プロモーション処理では、ストレージプール管理部203は、ストレージプール管理テーブル163に含まれる階層ごとにステップS601の処理を繰り返すループ処理LOOP6を実行する。
【0104】
ループ処理LOOP6では、ストレージプール管理部203は、当該階層に割り当てることが可能な空き容量(当該階層の割当ボリュームの空き容量)を算出して、ぺージ移動容量管理テーブル166における当該階層を移動先階層として含むレコードの空き容量t4に加える(ステップS601)。
【0105】
ストレージプール管理部203は、全ての階層に対してステップS601の処理を行うと、ループ処理LOOP6を終了する。そして、ストレージプール管理部203は、ページ移動容量管理テーブル166に含まれるエントリ番号ごとにステップS602~S603の処理を繰り返すループ処理LOOP7を実行する。
【0106】
ループ処理LOOP7では、ストレージプール管理部203は、当該エントリ番号において移動容量t3<空き容量t4を満たすか否かを判断する(ステップS602)。移動容量t3<空き容量t4を満たさない場合、ストレージプール管理部203は、警告メッセージ画面を出力し(ステップS603)、処理を終了する。
【0107】
ストレージプール管理部203は、全てのエントリ番号に対してステップS602~S603の処理を行うと、ループ処理LOOP7を終了する。そして、ステップS603をスキップした場合、ストレージプール管理部203は、移動対象プールボリュームのうちページ移動容量管理テーブル166におけるアクセス性能が移動元階層よりも移動先階層の方が高いプロモーション移動対象プールボリュームの階層を移動元階層から移動先階層に変更し(ステップS604)、デモテーション処理に移行する。
【0108】
デモテーション処理では、ストレージプール管理部203は、ストレージプール管理テーブル163に含まれるプールIDにて識別されるプールごとにステップS701の処理を繰り返すループ処理LOOP8を実行する。
【0109】
ループ処理LOOP8では、ストレージプール管理部203は、プロモーション階層移動処理にて各割当階層の空き容量が変化したため、再度、当該階層に割り当てることが可能な空き容量を算出して、ぺージ移動容量管理テーブル166における当該階層を移動先階層として含むレコードの空き容量t5に加える(ステップS701)。
【0110】
ストレージプール管理部203は、全ての階層に対してステップS701の処理を行うと、ループ処理LOOP8を終了する。そして、ストレージプール管理部203は、ページ移動容量管理テーブル166に含まれるエントリ番号ごとにステップS702~S703の処理を繰り返すループ処理LOOP9を実行する。
【0111】
ループ処理LOOP9では、ストレージプール管理部203は、当該エントリ番号において移動容量t3<空き容量t5を満たすか否かを判断する(ステップS702)。移動容量t3<空き容量t5を満たさない場合、ストレージプール管理部203は、警告メッセージ画面を出力し(ステップS703)、処理を終了する。
【0112】
ストレージプール管理部203は、全てのエントリ番号に対してステップS702~S703の処理を行うと、ループ処理LOOP9を終了する。そして、ステップS703をスキップした場合、ストレージプール管理部203は、移動対象プールボリュームのうちページ移動容量管理テーブル166におけるアクセス性能が移動元階層よりも移動先階層の方が低いデモーション移動対象プールボリュームの階層を移動元階層から移動先階層に変更し(ステップS704)、デモテーション処理を終了する。
【0113】
図20は、ステップS603で出力される警告メッセージ画面の一例を示す図である。
図21に示す警告メッセージ画面2000は、ストレージプールの名称2001と、ストレージプールの階層2002と、総容量2003と、空き容量2004と、移動容量2005と、状態2006と、メッセージ2007とを有する。
【0114】
図21は、ステップS703で出力される警告メッセージ画面の一例を示す図である。
図22に示す警告メッセージ画面2100は、ストレージプールの名称2101と、ストレージプールの階層2102と、総容量2103と、空き容量2104と、移動容量2105と、状態2106と、メッセージ2107とを有する。
【0115】
以上説明したように本実施形態によれば、ストレージシステム1は、アクセス性能の異なる複数の階層のいずれかに所属するクラウドボリューム22及び23を提供するクラウドシステム2と接続する。クラウドシステム2は、クラウドボリューム22及び23を利用するボリューム利用状況に基づいて外部提供ボリュームが所属する階層を変更する。ストレージシステム1のストレージコントローラ17は、クラウドボリューム22及び23に対応する外部ボリュームにページを割り当てたボリューム11をホスト計算機3に提供する。また、ストレージコントローラ17は、ボリューム利用状況を調整して、クラウドボリューム22及び23が所属する階層を制御する。したがって、外部ストレージ装置に対する自動階層制御が行われる場合でも、所望のサービス品質を維持することが可能になる。
【0116】
また、本実施形態では、ストレージコントローラ17は、ボリューム利用状況が所定の利用要件を満たすように、クラウドボリューム22及び23に対してアクセス要求を発行する。このため、クラウドボリューム22及び23が所属する階層が変更されることを抑制することが可能となるため、所望のサービス品質を維持することが可能になる。
【0117】
また、本実施形態では、利用要件に応じた繰り返し間隔でアクセス要求が発行されるため、クラウドボリューム22及び23が所属する階層が変更されることを適切に抑制することが可能となる。
【0118】
また、本実施形態では、アクセス要求はクラウドボリューム22及び23における所定の記憶領域に対するライト要求であるため、リード要求に応じて料金が発生する場合に、コストを低減することが可能になる。
【0119】
また、本実施形態では、ストレージコントローラ17は、クラウドボリューム22及び23が所属する階層が所定のアクセス性能と一致していない場合、その旨を通知する。このため、ストレージシステム1の管理者はクラウドボリューム22及び23が所属する階層が所定のアクセス性能を有していない場合に適切な対処を行うことが可能となる。
【0120】
また、本実施形態では、ストレージコントローラ17は、外部ボリュームに対応付けたクラウドボリューム22及び23が所属する階層が所定のアクセス性能と一致していない場合、外部ボリュームを所定のアクセス性能を有する別の外部提供ボリュームに対応付ける。このため、所望のサービス品質に変更することが可能になる。
【0121】
上述した本開示の実施形態は、本開示の説明のための例示であり、本開示の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本開示の範囲を逸脱することなしに、他の様々な態様で本開示を実施することができる。
【符号の説明】
【0122】
1:ストレージシステム 2:クラウドシステム 3:ホスト計算機 4:管理装置 5~6:ストレージネットワーク 7:管理ネットワーク 8:オンプレミス環境 9:クラウド環境 11:ボリューム 12:ストレージプール 13:内部ボリューム 14~15:外部ボリューム 16:制御情報 17:ストレージコントローラ 21:ゲートウェイサーバ 22~23:クラウドボリューム 24:クラウド制御部 25:クラウドストレージシステム 26:クラウドストレージ装置 27:仮想ボリューム