JP2020173727A - ストレージ管理装置、情報システム、及びストレージ管理方法 - Google Patents
ストレージ管理装置、情報システム、及びストレージ管理方法 Download PDFInfo
- Publication number
- JP2020173727A JP2020173727A JP2019076609A JP2019076609A JP2020173727A JP 2020173727 A JP2020173727 A JP 2020173727A JP 2019076609 A JP2019076609 A JP 2019076609A JP 2019076609 A JP2019076609 A JP 2019076609A JP 2020173727 A JP2020173727 A JP 2020173727A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- information
- volume
- pool
- management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】タイプが異なるストレージシステムであっても、複数のストレージシステムのストレージプールを統合し、ストレージ要件に応じて好適なストレージプールにストレージボリュームを作成する。【解決手段】複数のストレージシステム(ディスクアレイ30、SDSシステム4、HCIシステム5)が存在する情報システム1において、ストレージ要件をパラメータとしてストレージボリュームの作成が要求されたとき、ストレージ管理サーバ10は、ストレージ要件と第1の管理情報(ストレージプール管理テーブル122)に保持された特性情報との比較に基づいて、当該ストレージ要件を満たすストレージプールを選出し、選出したストレージプールにストレージボリュームを作成し、作成したストレージボリュームに関するエントリを第2の管理情報(ボリューム管理テーブル123)に追加する。【選択図】図1
Description
本発明は、ストレージ管理装置、情報システム、及びストレージ管理方法に関し、ストレージシステムを管理するストレージ管理装置、ストレージシステムの少なくとも一部として動作する計算機を含む情報システム、及びストレージシステムを管理するストレージ管理方法に適用して好適なものである。
情報システムには、1以上のストレージ装置から構成される様々なストレージシステムの形態が存在している。例えば、従来広く知られているディスクアレイは、SAN(Storage Area Network)を介して計算機サーバに接続されて、計算機サーバにデータ格納領域を提供する外部記憶装置である。この他、近年注目されているストレージシステムの形態として、SDS(Software Defined Storage)やHCI(Hyper-Converged Infrastructure)がある。
SDSは、ストレージ機能を有するSDS用ソフトウェア(本明細書ではこれを「ストレージ制御プログラム」と呼ぶ)が物理的な計算機(例えば汎用的な計算機)で実行されることにより、当該計算機がストレージ装置となる(すなわち、当該計算機がSDSとなる)。ベンダがSDSとしてのストレージ装置を提供する場合、ストレージ制御プログラムをユーザに提供する。ユーザは、自身で用意した計算機にこのストレージ制御プログラムをインストールする。結果として、当該計算機がSDSとなる。ディスクアレイやSDSは、計算機サーバとストレージ装置がネットワークで接続する分離型のシステムである。
また、HCIは、物理的な1つの計算機(例えば汎用的な計算機)に、計算機サーバとストレージ装置を集約した統合型のシステムである。一般的には、サーバ仮想化技術により1つの計算機に複数のサーバを集約する。また、HCIが提供するストレージは、SDSによって実現される。
例えば特許文献1には、HCIの形態においてストレージプールを提供する技術が開示されている。具体的には、特許文献1では、サーバ仮想化によって、記憶領域を管理する仮想サーバとアプリケーション仮想マシンとが物理的な計算機に存在する計算機システムが開示されており、この仮想サーバは、各仮想領域を仮想ストレージプールに提供し、共有ストレージがなくとも仮想ストレージプールを実現する。
ところで、大規模なデータセンタでは、複数のストレージシステムが混在し、それぞれのストレージシステムが独立して運用される。しかし特許文献1を含む従来技術では、ストレージシステムごとに特性が異なるために、データセンタ全体のストレージプール及びストレージボリュームを統合して管理することができないという課題があった。
詳しく説明すると、ストレージシステムは、ソフトウェア及びハードウェアの形態が異なると、その特性が異なる。また、ソフトウェア及びハードウェアの形態が同一であっても、特定の機能を有効にしていたり、設定したパラメータが異なったりすると、ストレージシステムの特性は異なるものとなってしまう。これらをまとめると、種別(タイプ)が異なるストレージシステムでは、特性が異なる、と言える。
そして、上述したようにストレージシステムの特性が異なるとき、従来技術によるストレージ管理方法では、データセンタ全体でストレージプールを統合して管理することができないため、ストレージボリュームを作成する際に指定される多様なストレージ要件に対して、ストレージ要件に応じて好適なストレージプールにストレージボリュームを作成できることができなかった。
本発明は以上の点を考慮してなされたもので、種別(タイプ)が異なるストレージシステムであっても、複数のストレージシステムのストレージプールを統合し、ストレージ要件に応じて好適なストレージプールにストレージボリュームを作成できるストレージ管理装置、情報システム、及びストレージ管理方法を提案しようとするものである。
かかる課題を解決するため本発明においては、複数のストレージシステムが存在する情報システムを統合管理するストレージ管理装置であって、各前記ストレージシステムが提供するストレージプールに関する第1の管理情報と、前記ストレージプールに作成されたストレージボリュームに関する第2の管理情報と、を保持し、前記第1の管理情報には、前記ストレージプールの特性情報が含まれ、前記第2の管理情報には、前記ストレージボリュームに要求されたストレージ要件を示す要求要件情報と当該ストレージボリュームに提供されている要件を示す提供要件情報とが含まれ、前記ストレージ要件をパラメータとして前記ストレージボリュームの作成が要求されたとき、前記ストレージ要件と前記第1の管理情報に保持された前記特性情報との比較に基づいて、当該ストレージ要件を満たす前記ストレージプールを選出する配置先選択処理を実行し、前記配置先選択処理で選出された前記ストレージプールに前記ストレージボリュームを作成し、前記作成した前記ストレージボリュームに関するエントリを前記第2の管理情報に追加するストレージ管理装置が提供される。
また、かかる課題を解決するため本発明においては、複数のストレージシステムと、前記複数のストレージシステムとネットワークで接続され、前記複数のストレージシステムを統合管理するストレージ管理装置と、を備える以下の情報システムが提供される。この情報システムにおいては、前記ストレージ管理装置は、各前記ストレージシステムが提供するストレージプールに関する第1の管理情報と、前記ストレージプールに作成されたストレージボリュームに関する第2の管理情報と、を保持し、前記第1の管理情報には、前記ストレージプールの特性情報が含まれ、前記第2の管理情報には、前記ストレージボリュームに要求されたストレージ要件を示す要求要件情報と当該ストレージボリュームに提供されている要件を示す提供要件情報とが含まれる。そして、前記ストレージ要件をパラメータとして前記ストレージボリュームの作成が要求されたとき、前記ストレージ管理装置は、前記ストレージ要件と前記第1の管理情報に保持された前記特性情報との比較に基づいて、当該ストレージ要件を満たす前記ストレージプールを選出する配置先選択処理を実行し、前記配置先選択処理で選出された前記ストレージプールに前記ストレージボリュームを作成し、前記作成した前記ストレージボリュームに関するエントリを前記第2の管理情報に追加する。
また、かかる課題を解決するため本発明においては、複数のストレージシステムが存在する情報システムを統合管理するストレージ管理装置による以下のストレージ管理方法が提供される。このストレージ管理方法においては、前記ストレージ管理装置が、各前記ストレージシステムが提供するストレージプールに関する第1の管理情報と、前記ストレージプールに作成されたストレージボリュームに関する第2の管理情報と、を保持し、前記第1の管理情報には、前記ストレージプールの特性情報が含まれ、前記第2の管理情報には、前記ストレージボリュームに要求されたストレージ要件を示す要求要件情報と当該ストレージボリュームに提供されている要件を示す提供要件情報とが含まれる。そして、前記ストレージ要件をパラメータとして前記ストレージボリュームの作成が要求されたとき、前記ストレージ管理装置が、前記ストレージ要件と前記第1の管理情報に保持された前記特性情報との比較に基づいて、当該ストレージ要件を満たす前記ストレージプールを選出する配置先選択処理を実行し、前記配置先選択処理で選出された前記ストレージプールに前記ストレージボリュームを作成し、前記作成した前記ストレージボリュームに関するエントリを前記第2の管理情報に追加する。
本発明によれば、タイプが異なるストレージシステムであっても、複数のストレージシステムのストレージプールを統合し、ストレージ要件に応じて好適なストレージプールにストレージボリュームを作成することができる。
以下、図面を参照しながら、本発明の一実施の形態を詳述する。なお、本実施の形態は、特許請求の範囲に係る発明を限定するものではなく、また、本実施の形態のなかで説明されている諸要素及びその組み合わせの全てが、本発明の解決手段に必須とは限らない。
(1)用語説明
まず、本実施の形態で用いられる各種用語について説明する。
まず、本実施の形態で用いられる各種用語について説明する。
本実施の形態では、特段の断りがない限り、物理的なストレージ装置(すなわち、専用のハードウェアで構成されたストレージ装置)を「在来型ストレージ装置」と称する。また、ストレージ制御プログラムがインストールされた物理的な計算機(例えば汎用的な計算機)を「SDS」と称する。そして「ストレージ装置」は、在来型ストレージ装置とSDSの両方を意味する語として用いられる。例えば、在来型ストレージ装置とSDSとが共通して備える機能や特徴を説明する場合、「ストレージ装置」の語が用いられる。
「ボリューム」とは、ストレージ装置や記憶デバイス等のターゲットデバイスが、ホスト計算機等のイニシエータに提供する記憶空間のことを意味する。イニシエータがボリューム上の領域に対するI/O(Input/Output)要求、例えばリード要求を発行すると、ボリュームを提供しているターゲットデバイスは、その領域に対応付けられているターゲットデバイス上の領域からデータを読み出して、イニシエータに返送する。
なお、ストレージ装置の中には、上記ボリュームとして、所謂シンプロビジョニング(Thin Provisioning)技術により形成される仮想的なボリュームをイニシエータに提供できるものがある。本実施の形態では、仮想的なボリュームをイニシエータに提供する機能を「Thin Provisioning機能」と称する。
仮想的なボリュームは、その初期状態(定義された直後)では、記憶空間上の領域に記憶デバイスが対応付けられていない。イニシエータが記憶空間上の領域にデータ書き込み要求を発行した時点で、ストレージ装置はその領域に対応付けられる記憶デバイスを動的に決定することができる。本実施の形態におけるSDSは、仮想的なボリュームをイニシエータに提供することができる。
「ボリュームの仮想化機能」(または単に「仮想化機能」と呼ばれることもある)とは、他のストレージ装置が有するボリュームを、自己のボリュームとしてイニシエータデバイスに提供する機能である。ボリュームの仮想化機能は、例えば、専用の装置(例えば、仮想化アプライアンスと呼ばれる)に実装されて提供される。また例えば、ストレージ装置がボリュームの仮想化機能を備えていることもある。
(2)情報システムの全体構成
図1は、本発明の一実施の形態に係る情報システムの構成例を示すブロック図である。
図1は、本発明の一実施の形態に係る情報システムの構成例を示すブロック図である。
図1に示したように、情報システム1は、1または複数のアプリケーションサーバ20、ストレージ管理サーバ10、1または複数のディスクアレイ30、1または複数のSDSシステム4、及び1または複数のHCIシステム5を備えて構成され、各構成はネットワーク60で相互接続される。SDSシステム4は、1または複数のSDSノード40を含んで構成されるストレージシステムであり、HCIシステム5は、1または複数のHCIノード50を含んで構成されるストレージシステムである。情報システム1は、例えば、種別(タイプ)が異なる複数のストレージシステムが混在するデータセンタと考えることができる。
アプリケーションサーバ20は、ユーザが使用するアプリケーションプログラム221が実行される計算機であり、ホストシステムの一例である。アプリケーションサーバ20は、汎用的な計算機でよいが、サーバ仮想化を用いた仮想マシンであってもよい。アプリケーションプログラム221は、例えば、データベース管理システム(DBMS:Database Management System)あるいは表計算ソフトウェアやワードプロセッサ等のプログラムである。
ストレージ管理サーバ10は、情報システム1の使用者または管理者(以下では単に「ユーザ」と呼ぶ)が情報システム1の管理操作を行うために使用する計算機であり、本実施の形態に係るストレージ管理装置に相当する。ストレージ管理サーバ10は、情報システム1のストレージシステム(ディスクアレイ30、SDSシステム4、HCIシステム5)を管理するサーバであり、汎用的な計算機でもよいし、サーバ仮想化を用いた仮想マシンであってもよい。また、ストレージ管理サーバ10は、ユーザが情報システム1の管理操作を行う時に使用する入力デバイス及び出力デバイスを有する。入力デバイスは、例えばキーボードやマウス等であり、出力デバイスは、例えばディスプレイ等である。なお、情報システム1におけるストレージ管理サーバ10以外のサーバコンピュータも、同様に入力デバイス及び出力デバイスを備えてもよい。
ディスクアレイ30は、アプリケーションサーバ20が使用するデータを格納するためのストレージ装置として動作する計算機である。ディスクアレイ30は、在来型ストレージ装置であり、専用のハードウェアで構成されたストレージ装置である。
SDSシステム4では、複数のSDSノード40がノード間のネットワークで接続されることで、SDSを形成する。
それぞれのSDSノード40は、ディスクアレイ30と同様に、アプリケーションサーバ20が使用するデータを格納するためのストレージ装置として動作する計算機である。SDSノード40は汎用的な計算機(サーバコンピュータ)でよく、SDSシステム4に含まれるそれぞれのSDSノード40の基本的なハードウェア構成は、何れも同じでよい。但し、各サーバコンピュータのハードウェア構成は、必ずしも完全に同一でなくてもよく、具体的には例えば、サーバコンピュータが有するプロセッサ(例えばCPU(Central Processing Unit))の数やメモリの容量等が異なっていてもよい。SDSノード40では、サーバコンピュータのプロセッサでストレージ制御プログラムが実行されることにより、サーバコンピュータがストレージ装置としての動作を行う。なお、SDSノード40は、物理的な計算機でもよいが、サーバ仮想化を用いた仮想マシン(ストレージVM)でもよい。
HCIシステム5では、複数のHCIノード50がノード間のネットワークで接続されることで、SDSを形成する。なお、HCIシステム5で形成されるSDSは、SDSシステム4(SDSノード40)が形成するSDSと同一のSDSであってもよいし、複数のHCIノード50のみで形成されるSDSであってもよい。
それぞれのHCIノード50は、ディスクアレイ30やSDSノード40と同様に、アプリケーションサーバ20が使用するデータを格納するためのストレージ装置として動作する計算機である。HCIノード50は汎用的な計算機(サーバコンピュータ)でよく、HCIシステム5に含まれるそれぞれのHCIノード50の基本的なハードウェア構成は、何れも同じでよい。但し、各サーバコンピュータのハードウェア構成は、必ずしも完全に同一でなくてもよく、具体的には例えば、サーバコンピュータが有するプロセッサの数やメモリの容量等が異なっていてもよい。
ディスクアレイ30、SDSシステム4、及びHCIシステム5(HCIにおけるSDS機能部分)は、1以上のストレージプール(図1におけるストレージプール380,480,580)を作成し、ストレージプールから作成するボリュームを定義することができ、定義されたボリュームは、アプリケーションサーバ20等のイニシエータに提供される。アプリケーションサーバ20は、ボリュームを提供しているストレージ装置(ディスクアレイ30,SDSノード40,HCIノード50)に対するライト要求を発行することで、アプリケーションプログラム221によって生成されたデータ(例えばデータベーステーブル等)をボリュームに格納する。また、アプリケーションサーバ20は、ボリュームを提供しているストレージ装置(ディスクアレイ30,SDSノード40,HCIノード50)に対するリード要求を発行することで、データをボリュームから読み出す。
なお、SDSノード40、HCIノード50、アプリケーションサーバ20、及びストレージ管理サーバ10の少なくとも1つは、クラウド基盤のような計算機リソースプール(例えば、インタフェースデバイス、メモリ及びプロセッサ)に基づき提供される仮想的な装置であってもよい。また、SDSノード40、HCIノード50、アプリケーションサーバ20、及びストレージ管理サーバ10はそれぞれ、情報システム1内に複数存在していてもよい。本実施の形態では、一例として、図1に示したように、情報システム1においてストレージ管理サーバ10及びアプリケーションサーバ20がそれぞれ1台存在し、SDSノード40及びHCIノード50が複数台存在する構成で説明する。
ネットワーク60には、例えば、イーサネット(登録商標)やファイバチャネル等の伝送媒体が用いられる。ネットワーク60は、アプリケーションサーバ20がディスクアレイ30またはSDSに対してデータを読み書きする際に用いられる他、ストレージ管理サーバ10と、ディスクアレイ30、SDSノード40またはHCIノード50(またはアプリケーションサーバ20)との間での管理操作コマンドや各種管理情報のやり取りにも用いられる。なお、別の形態として、アプリケーションサーバ20と、ディスクアレイ30、SDSノード40またはHCIノード50との間で読み書きされるデータを送受信するためのネットワークと、ストレージ管理サーバ10が管理操作コマンド等を送受信するためのネットワークとが、別々に設けられてもよい。すなわち、ネットワーク60は、単一のネットワークでもよいし、複数のネットワークでもよい。
(3)詳細構成
(3−1)ストレージ管理サーバ
図2は、ストレージ管理サーバの構成例を示すブロック図である。
(3−1)ストレージ管理サーバ
図2は、ストレージ管理サーバの構成例を示すブロック図である。
図2に示したように、ストレージ管理サーバ10は、主記憶装置であるメモリ120、ディスク130、及び管理ネットワークI/F140と、これらに接続されたプロセッサであるCPU110とを含んで構成される。これらの各コンポーネント、すなわち、CPU110、メモリ120、ディスク130、及び管理ネットワークI/F140の数は限定されず、1つでも複数でもよい。
CPU110は、メモリ120にロードされた各プログラムを実行する。メモリ120は、DRAM(Dynamic Random Access Memory)等の揮発性メモリであって、ストレージ統合管理ソフトウェア121、ストレージプール管理テーブル122、ボリューム管理テーブル123、及びオペレーティングシステム124が格納される。ディスク130は、磁気ディスクまたはフラッシュメモリ等の不揮発性記憶媒体を有する記憶デバイスであって、各テーブル(ストレージプール管理テーブル122,ボリューム管理テーブル123)のデータを格納するために用いられる。
なお、図2でメモリ120内に示したソフトウェアやテーブル等は、ストレージ管理サーバ10が稼動していないとき(電源OFF状態のとき)には、ディスク130に格納されており、ストレージ管理サーバ10が起動されたときに、ディスク130からメモリ120にロードされるとよい。このような挙動は、情報システム1における全てのサーバコンピュータ(すなわち、ストレージ管理サーバ10、アプリケーションサーバ20、SDSノード40、HCIノード50)に共通する。
管理ネットワークI/F140は、ストレージ管理サーバ10をネットワーク60に接続するためのインタフェースデバイスであって、ストレージ管理サーバ10とネットワーク60間に設けられる伝送線(ネットワークケーブル)を接続するためのポートも有する。そのため以下では、ネットワークI/Fを「ポート」とも称する。なお、ポート経由の通信は、伝送線経由の通信に代えて、無線通信であってもよい。これは情報システム1における全てのサーバコンピュータ(すなわち、ストレージ管理サーバ10、アプリケーションサーバ20、SDSノード40、HCIノード50)に共通する。
続いて、メモリ120上に格納されているプログラム等の役割を概説する。なお、以降の説明では、情報システム1における各サーバコンピュータ(ストレージ管理サーバ10、アプリケーションサーバ20、SDSノード40、HCIノード50)で実行される処理について、記載の簡略のために「プログラム」を主語として説明を行う場合があるが、実際には、サーバコンピュータのプロセッサがプログラムを実行することによって、プログラムに記述された処理が行われる。すなわち、プログラムを主語にして説明される処理の主体は、実際にはプログラムを実行しているプロセッサである。これは情報システム1における全てのサーバコンピュータ(すなわち、ストレージ管理サーバ10、アプリケーションサーバ20、SDSノード40、HCIノード50)に共通する。
ストレージ統合管理ソフトウェア121は、複数のストレージシステムを管理するためのプログラムである。ストレージ統合管理ソフトウェア121で行われる管理とは、具体的には例えば、ストレージボリュームの定義や削除等の操作、及びストレージシステムの状態の監視等がある。
ストレージプール管理テーブル122は、各ストレージシステムが提供するストレージプールの情報を保持するテーブルである。ストレージプール管理テーブル122の詳細は、図3を参照しながら後述する。なお、ストレージプール管理テーブル122の格納方法は、RDBMS(Relational DataBase Management System)でもよいし、ファイルシステムに格納されたファイルでもよい。
ボリューム管理テーブル123は、各ストレージプールに作成したストレージボリュームに関する情報を保持するテーブルである。ボリューム管理テーブル123の詳細は、図4を参照しながら後述する。
オペレーティングシステム124は、入出力制御機能、ディスク130やメモリ120等への読み書き制御機能等を有し、他のプログラムにこれらの機能を提供するプログラムである。
ここで、ストレージ管理サーバ10で保持されるテーブル(ストレージプール管理テーブル122,ボリューム管理テーブル123)について、具体例を挙げてより詳しく説明する。
図3は、ストレージプール管理テーブルの具体例を示す図である。前述したように、ストレージプール管理テーブル122は、各ストレージシステムが提供するストレージプールに関する所定の情報を保持するテーブルであり、ストレージプールの特性情報が含まれる。
図3の場合、ストレージプール管理テーブル122は、ストレージプールID1220、ストレージID1221、ストレージタイプ1222、提供プロトコル1223、提供機能1224、データ保護レベル1225、性能1226、総容量1227、使用容量1228、及び空き容量1229から構成されたデータテーブルであって、1つのストレージプールにつき1つのエントリを保持する。以下、図3においてストレージプール管理テーブル122の各項目に保持される情報について詳しく説明する。
ストレージプールID1220は、ストレージプールを識別するための識別子(ID)である。
ストレージID1221は、ストレージシステムを識別するための識別子である。ストレージID1221とする具体的な識別子は、例えばディスクアレイ30の識別子やSDSの識別子でもよいし、SDSを形成するSDSノード40やHCIノード50の識別子でもよい。
ストレージタイプ1222は、ストレージシステムの形態を示す情報である。本例では、ディスクアレイであることを意味する「Disk array」、SDSノードで形成されたSDSであることを意味する「SDS」、HCIノードで形成されたSDSであることを意味する「SDS(HCI)」の何れかが示される。
提供プロトコル1223は、ストレージシステムがサポートするプロトコルを示す。例えば、ブロックストレージのプロトコルとして「FC」や「iSCSI」が示される。なお、他のプロトコルとして例えば、ファイルストレージやオブジェクトストレージのプロトコルでもよい。
提供機能1224は、ストレージシステムがサポートするストレージ機能のうち、ストレージプールで有効化が可能な機能を示す。具体的な機能としては例えば、スナップショット(Snapshot)、クローン、圧縮(Compression)、重複排除(Deduplication)、リモートコピー(Remote Copy)、暗号化、データ階層化(Tiering)等が含まれる。
データ保護レベル1225は、ストレージシステムがサポートするデータの冗長度を示す。データの冗長度は、例えばデータとパリティの数で表すことができる。なお、データ冗長化の種類は、ノード間のデータ冗長化であってもよいし、ノード内の複数のディスク間のデータ冗長化であってもよい。さらに、ノード間のデータ冗長化として、レプリケーションやイレーシャーコーディング等のデータ冗長化方法を含んでもよい。また、ノード内の複数のディスク間のデータ冗長化は、RAID(Redundant Arrays of Inexpensive Disks)等でもよい。
性能1226は、スループットの値を含む処理性能を示す。具体的には例えば、あるデータサイズの1秒間あたりのI/O数を示す「iops(あるいはkiops)」が示される。性能1226に示されるI/O数は、リードI/Oの性能値でも、ライトI/Oの性能値でも、両者を混ぜ合わせたI/Oの性能値でもよい。また、性能指標は、スループットに代えて(あるいは加えて)、レスポンス性能であってもよい。また、性能値は、平均値や最大値・最小値で示されてもよいし、基準性能からの相対値等で示されてもよい。
総容量1227は、ストレージプールのサイズ(容量)を示す。使用容量1228は、ストレージボリュームに割り当て済みの容量を示す。使用容量1228は、容量の絶対値で表してもよいし、総容量に対する使用割合で表してもよい。空き容量1229は、ストレージボリュームに割り当てていない容量を示す。空き容量1229は、容量の絶対値で表してもよいし、総容量に対する空きの割合で表してもよい。
以上のように、ストレージプール管理テーブル122は、ストレージプールに関する様々な属性の情報を保持するものであり、そのなかにはストレージプールの特性を示す特性情報が含まれる。但し、ストレージプール管理テーブル122がストレージプールの特性情報として保持し得る属性は、図3の例示に限定されるものではない。例えば、ストレージプールで提供されるサービス品質(QoS:Quality of Service)等の属性を含めるようにしてもよい。
図4は、ボリューム管理テーブルの具体例を示す図である。前述したように、ボリューム管理テーブル123は、各ストレージプールに作成したストレージボリュームに関する情報を保持するテーブルであり、ストレージボリュームに要求されたストレージ要件を示す情報(要求要件情報)と当該ストレージボリュームに提供されている要件を示す情報(提供要件情報)とが含まれる。なお、ストレージボリュームは、ストレージプールから特定の領域を切り出して提供される。
図4の場合、ボリューム管理テーブル123は、ボリュームID1230、ストレージプールID1231、使用プロトコル1232、使用ボリュームサイズ1233、使用機能1234、要求プロトコル1235、要求ボリュームサイズ1236、要求機能1237、要求可用性1238、及び要求性能1239から構成されたデータテーブルであって、1つのストレージボリュームにつき1つのエントリを保持する。以下、図4においてボリューム管理テーブル123の各項目に保持される情報について詳しく説明する。
ボリュームID1230は、ストレージプールに作成したストレージボリュームを識別するための識別子(ID)である。
ストレージプールID1231は、ストレージボリュームの作成先のストレージプールを示す識別子であり、図3に示したストレージプール管理テーブル122のストレージプールID1220と対応する。
使用プロトコル1232は、当該ストレージボリュームのアクセスに用いているプロトコルを示す。使用プロトコル1232に記載可能なプロトコルは図3に示したストレージプール管理テーブル122の提供プロトコル1223と同様であり、説明を省略する。
使用ボリュームサイズ1233は、当該ストレージボリュームのサイズを示す。
使用機能1234は、当該ストレージボリュームの作成先のストレージプール(ストレージプールID1231で特定されるストレージプール)が提供する機能のうち、当該ストレージボリュームが使用している機能を示す。使用機能1234に記載可能な機能は図3に示したストレージプール管理テーブル122の提供機能1224と同様であり、説明を省略する。
図4のボリューム管理テーブル123において、上記の使用プロトコル1232〜使用機能1234の項目は、当該ストレージボリュームに現在提供されている要件を示す情報(提供要件情報)である。一方、以下の項目(要求プロトコル1235〜要求性能1239)は、ストレージボリュームの作成時等にユーザ(またはアプリケーションプログラム)によって指定・要求されたストレージ要件を示す情報(要求要件情報)である。
要求プロトコル1235は、ストレージ要件で指定されたプロトコルを示す。要求ボリュームサイズ1236は、ストレージ要件で要求されたストレージボリュームのサイズを示す。要求機能1237は、ストレージ要件で要求された、ストレージボリューム(ストレージプール)で使用可能な機能を示す。
要求可用性1238は、ストレージ要件で要求された、ストレージボリューム(ストレージプール)に対する信頼性を示す。信頼性の具体的な例としては、保証稼働率のパーセント表示でもよいし、平均故障間隔(MTBF:Mean Time Between Failure)や平均復旧時間(MTTR:Mean Time To Recovery)等の値でもよい。
要求性能1239は、ストレージ要件で要求された、ストレージボリューム(ストレージプール)の性能を示すものであり、当該ストレージボリュームを使用するアプリケーションプログラムが要求する性能を示す。要求性能1239に記載可能な性能は図3に示したストレージプール管理テーブル122の性能1226と同様であり、説明を省略する。
以上のように、ボリューム管理テーブル123は、既存の各ストレージボリュームに関する要求要件情報及び提供要件情報を保持する。但し、ボリューム管理テーブル123が保持し得る情報の属性は、図4の例示に限定されるものではなく、例えば、サービス品質(QoS)等の要求値を含めるようにしてもよい。
(3−2)SDSシステム
図5は、SDSシステムの構成例を示すブロック図である。図5では、特に、SDSノード40の構成例が詳しく示されている。
図5は、SDSシステムの構成例を示すブロック図である。図5では、特に、SDSノード40の構成例が詳しく示されている。
図5に例示したように、SDSノード40は、主記憶装置であるメモリ420、ディスク430、及びネットワークI/F440と、これらに接続されたプロセッサ(CPU410)と、ハイパーバイザ(Hypervisor)450及びストレージVM460と、を含んで構成される。これらのコンポーネントのうち、CPU410、メモリ420、ディスク430、及びネットワークI/F440の数は限定されず、1つでも複数でもよい。
CPU410は、メモリ420にロードされた各プログラムを実行する。メモリ420は、DRAM等の揮発性メモリである。ディスク430は、磁気ディスクまたはフラッシュメモリ等の不揮発性記憶媒体を有する記憶デバイスであって、アプリケーションサーバ20やHCIノード50内のコンピュートVM570から書き込まれたデータを格納するために用いられる。
ハイパーバイザ450は、物理的なリソース、すなわちCPU410、メモリ420、ディスク430、及びネットワークI/F440を複数の仮想マシン(VM)で共有することを可能にするソフトウェアである。本実施の形態では、一例としてSDSノード40でサーバ仮想化が用いられており、ハイパーバイザ450によって仮想マシンであるストレージVM460が稼働する。
ストレージVM460は、ハイパーバイザ450によって仮想化された仮想CPU(vCPU)461、仮想メモリ(vRAM)462、コンピュートネットワークI/F463、管理ネットワークI/F464、及びノード間ネットワークI/F465を有する。vRAM462は、ストレージ制御プログラム466及びオペレーティングシステム467を有する。
ストレージ制御プログラム466は、SDSノード40(すなわちサーバコンピュータ)をストレージ装置として機能させるためのプログラムである。具体的には例えば、SDSノード40は、ストレージ制御プログラム466の働きにより、アプリケーションサーバ20等のイニシエータに1以上のボリュームを提供できるほか、イニシエータからI/O要求(リード要求やライト要求)を受け付けて、リード要求で指定されたアドレスのデータをイニシエータに返送したり、ライト要求で指定されたライトデータをボリュームに格納したりする等の処理を行うことができる。
なお、在来型ストレージ装置は、例えばボリュームのミラーコピーを作成する等、ボリュームを提供する以外の機能を有するが、SDSにおけるストレージ制御プログラム466も同様に、ボリュームを提供する以外の機能をSDSノード40に実現するプログラムであってもよい。
また、ストレージ制御プログラム466は、アプリケーションサーバ20から頻繁にアクセスされるデータを保持しておくための領域をvRAM462上に確保してもよい。
コンピュートネットワークI/F463は、アプリケーションサーバ20と接続し、データの読み書きに用いるネットワークである。管理ネットワークI/F464は、ストレージ管理サーバ10の要求を受け付けるためのネットワークである。ノード間ネットワークI/F465は、複数のSDSノード40を接続するネットワークである。SDSシステム4においてSDSノード40は、ノード間ネットワークI/F465によって互いに接続されてSDSを形成する。なお、これらのネットワークI/Fは、物理的に異なるネットワークを用いてもよいし、ハイパーバイザ450の仮想ネットワーク機能によって仮想的なネットワークとしてもよい。
また、SDSノード40は、メモリ420(あるいはvRAM462)に保持されているデータが停電等の障害時に消失することを防止するデータ維持手段を有していてもよい。具体的には例えば、SDSノード40はバッテリを有し、停電時にバッテリから供給される電力を用いて、メモリ420上のデータを維持することができる。
(3−3)HCIシステム
図6は、HCIシステムの構成例を示すブロック図である。図6では、特に、HCIノード50の構成例が詳しく示されている。
図6は、HCIシステムの構成例を示すブロック図である。図6では、特に、HCIノード50の構成例が詳しく示されている。
図6に例示したように、HCIノード50は、主記憶装置であるメモリ520、ディスク530、及びネットワークI/F540と、これらに接続されたプロセッサ(CPU510)と、ハイパーバイザ(Hypervisor)550及びストレージVM560と、を含んで構成される。これらのコンポーネントのうち、CPU510、メモリ520、ディスク530、及びネットワークI/F540の数は限定されず、1つでも複数でもよい。
CPU510は、メモリ520にロードされた各プログラムを実行する。メモリ520は、DRAM等の揮発性メモリである。ディスク530は、磁気ディスクまたはフラッシュメモリ等の不揮発性記憶媒体を有する記憶デバイスであって、コンピュートVM570やアプリケーションサーバ20から書き込まれたデータを格納するために用いられる。
ハイパーバイザ550は、物理的なリソース、すなわちCPU510、メモリ520、ディスク530、及びネットワークI/F540を複数の仮想マシン(VM)で共有することを可能にするソフトウェアである。本実施の形態では、一例としてHCIノード50でサーバ仮想化が用いられており、ハイパーバイザ550によって仮想マシンであるストレージVM560とコンピュートVM570とが稼働する。
ストレージVM560の構成は、図5に示したストレージVM460と同様でよいため、説明を省略する。
コンピュートVM570は、ハイパーバイザ550によって仮想化された仮想CPU(vCPU)571、仮想メモリ(vRAM)572、コンピュートネットワークI/F573、及び管理ネットワークI/F674を有する。vRAM572は、アプリケーションプログラム575及びオペレーティングシステム576を有する。
コンピュートネットワークI/F573は、ストレージシステムと接続し、データの読み書きに用いるネットワークである。管理ネットワークI/F574は、ストレージ管理サーバ10の要求を受け付けるためのネットワークである。なお、これらのネットワークI/Fは、物理的に異なるネットワークを用いてもよいし、ハイパーバイザ550の仮想ネットワーク機能によって仮想的なネットワークとしてもよい。
(3−4)ディスクアレイ
図7は、ディスクアレイの構成例を示すブロック図である。
図7は、ディスクアレイの構成例を示すブロック図である。
図7に例示したように、ディスクアレイ30は、主記憶装置であるメモリ320、ディスク330、コンピュートネットワークI/F340、及び管理ネットワークI/F350と、これらに接続されたプロセッサ(CPU510)と、を含んで構成される。これらの各コンポーネント、すなわち、CPU310、メモリ320、ディスク330、コンピュートネットワークI/F340、及び管理ネットワークI/F350の数は限定されず、1つでも複数でもよい。
CPU310は、メモリ320にロードされた各プログラムを実行する。メモリ320は、DRAM等の揮発性メモリであって、ストレージ制御プログラム321及びオペレーティングシステム322が格納される。ディスク330は、磁気ディスクまたはフラッシュメモリ等の不揮発性記憶媒体を有する記憶デバイスであって、コンピュートVM570やアプリケーションサーバ20から書き込まれたデータを格納するために用いられる。
(4)ストレージ管理処理
本実施の形態では、上述した情報システム1において、ストレージ管理サーバ10が、タイプの異なる複数のストレージシステム(ディスクアレイ30、SDSシステム4、HCIシステム5)を統合して管理することができ、例えば、ストレージ要件に応じて好適なストレージプールにストレージボリュームを作成することができる。以下では、このようなストレージ管理装置(ストレージ管理サーバ10)によるストレージ管理処理について詳しく説明する。
本実施の形態では、上述した情報システム1において、ストレージ管理サーバ10が、タイプの異なる複数のストレージシステム(ディスクアレイ30、SDSシステム4、HCIシステム5)を統合して管理することができ、例えば、ストレージ要件に応じて好適なストレージプールにストレージボリュームを作成することができる。以下では、このようなストレージ管理装置(ストレージ管理サーバ10)によるストレージ管理処理について詳しく説明する。
(4−1)ストレージプール作成処理
図8は、ストレージプール作成処理の処理手順例を示すフローチャートである。ストレージプール作成処理は、ストレージシステムを新規に導入した後、ユーザ(例えばストレージ管理者)がストレージプールの作成をストレージ管理サーバ10に要求する際に実行される処理であって、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121によって実行される。ストレージプール作成処理が開始される際、ユーザは、ストレージプール作成の要求対象とするストレージを指定し、ストレージ管理サーバ10にストレージプール作成を要求する。
図8は、ストレージプール作成処理の処理手順例を示すフローチャートである。ストレージプール作成処理は、ストレージシステムを新規に導入した後、ユーザ(例えばストレージ管理者)がストレージプールの作成をストレージ管理サーバ10に要求する際に実行される処理であって、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121によって実行される。ストレージプール作成処理が開始される際、ユーザは、ストレージプール作成の要求対象とするストレージを指定し、ストレージ管理サーバ10にストレージプール作成を要求する。
図8によればまず、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121が、ユーザから指定された要求対象のストレージに、ユーザから指定されたパラメータでストレージプールを作成する(ステップS101)。このとき指定されるパラメータには、データ保護レベルや、有効化する機能等が含まれる。
次に、ストレージ統合管理ソフトウェア121は、ステップS101で作成したストレージプールに関する所定の情報を収集する(ステップS102)。ステップS102で収集される所定の情報は、具体的には、図3に例示したストレージプール管理テーブル122で保持される各項目の情報に相当し、ストレージプールの特性情報が含まれる。
最後に、ストレージ統合管理ソフトウェア121は、ステップS102で収集した情報を用いて、ステップS101で作成したストレージプールのエントリをストレージプール管理テーブル122に追加し、ユーザにストレージプール作成処理の完了を返し(ステップS103)、処理を終了する。
以上、ストレージプール作成処理について説明したが、ストレージプール管理テーブル122によるストレージプールの特性情報の管理という観点で見ると、上記処理(特にステップS102〜S103)は、ストレージプール管理テーブル122に新たにエントリを追加する必要が生じた場合の処理の一例とも言える。
(4−2)ストレージボリューム作成処理
図9は、ストレージボリューム作成処理の処理手順例を示すフローチャートである。ストレージボリューム作成処理は、ストレージボリュームを新規に作成する場合に実行される処理であって、ユーザ(例えばストレージ管理者)が、ストレージ要件を指定して、ストレージ管理サーバ10にストレージボリュームの作成を要求することによって開始される。また、図10は、ストレージボリューム作成処理のイメージを説明するための図である。図10では、ストレージボリューム作成処理における各処理の流れが、矢印付きの破線で示されている。なお、図10に示されたステップ番号は、図9のステップ番号と対応している。
図9は、ストレージボリューム作成処理の処理手順例を示すフローチャートである。ストレージボリューム作成処理は、ストレージボリュームを新規に作成する場合に実行される処理であって、ユーザ(例えばストレージ管理者)が、ストレージ要件を指定して、ストレージ管理サーバ10にストレージボリュームの作成を要求することによって開始される。また、図10は、ストレージボリューム作成処理のイメージを説明するための図である。図10では、ストレージボリューム作成処理における各処理の流れが、矢印付きの破線で示されている。なお、図10に示されたステップ番号は、図9のステップ番号と対応している。
まず、ストレージボリューム作成処理の事前処理として、ユーザが、アプリケーションプログラム221(またはアプリケーションプログラム575)がデータを格納するストレージを決定するために必要なストレージ要件を定義する。そして、ユーザは、定義したストレージ要件をパラメータとして、ストレージボリューム作成要求をストレージ管理サーバ10に要求する。
ここで、ストレージボリューム作成要求の要求に用いられるインタフェースは、ストレージ管理サーバ10が提供するGUI(Graphical User Interface)でもよいし、CLI(Command Line Interface)でもよいし、API(Application Programming Interface)を使用するツール等でもよい。ストレージ要件は、複数の項目(属性)を含むことができる。例えば、プロトコル、機能、可用性、データ保護レベル、性能、及びボリュームサイズ等を含む。ストレージ要件の形式は任意であり、例えば、CSV(Comma-Separated Values)、JSON(JavaScript(登録商標) Object Notation)、またはXML(eXtensible Markup Language)等の形式でよい。
図9に沿ってストレージボリューム作成処理の処理手順を説明する。
事前処理で説明したストレージボリューム作成要求を受けると、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121は、ユーザから指定されたストレージ要件をインプットとして、ストレージボリューム配置先選択処理を実行する(ステップS201)。
ステップS201のストレージボリューム配置先選択処理は、ストレージボリューム作成要求のパラメータとして入力されたストレージ要件と、ストレージプール管理テーブル122に保持している各ストレージプールの特性情報とを比較することによって、ストレージ要件を満たすストレージプールを選出(出力)する処理であって、その処理手順は図11を参照しながら後述する。
次に、ストレージ統合管理ソフトウェア121は、ステップS201のストレージボリューム配置先選択処理によって、条件(ストレージ要件)を満たすストレージプールが出力(選出)されたか否かを判定する(ステップS202)。
ストレージ要件を満たすストレージプールがストレージボリューム配置先選択処理で選出された場合は(ステップS202のYES)、ストレージ統合管理ソフトウェア121が、当該ストレージプールを提供するストレージシステムに対して、パラメータを指定してストレージボリュームの作成を指示し、指示を受けたストレージシステムが、上記パラメータで指示されたストレージプールにストレージボリュームを作成する(ステップS203)。ステップS203で指定されるパラメータには、ストレージプールの指定の他に、例えば、ストレージボリュームのサイズ、有効化する機能、プロトコル等が含まれる。図10の場合、SDSノード40のストレージVM460で提供されるストレージプール480において、ストレージボリューム490が作成されるイメージが示されている。
ステップS203の処理が行われた後、ストレージ統合管理ソフトウェア121は、ボリューム管理テーブル123に、ステップS203で作成したストレージボリュームのエントリを追加し、ユーザにストレージボリューム作成処理の完了を返し(ステップS204)、処理を終了する。図4に示したように、ステップS204でボリューム管理テーブル123に追加されるエントリには、作成したストレージボリュームのID(ボリュームID1230)、プロトコル(使用プロトコル1232)、ストレージボリュームのサイズ(使用ボリュームサイズ1233)、有効化した機能(使用機能1234)、要求可用性1238、及び要求性能1239等が含まれる。
なお、ステップS202において複数のストレージプールが条件(ストレージ要件)を満たす場合には、ステップS203においてストレージボリュームを作成するストレージプールを、所定の決定方法に従って決定すればよい。所定の決定方法としては例えば、最も空き容量が大きいストレージプールにストレージボリュームを作成するようにしてもよい。また例えば、ストレージ要件の構成要件ごとに係数を掛け、その合計値が最も高いストレージプールにストレージボリュームを作成するようにしてもよい。また例えば、ラウンドロビンでストレージプールを選択して順にストレージボリュームを作成するようにしてもよいし、あるいは、上記複数のストレージプールをユーザに出力してユーザに選択させる等してもよい。
一方、ステップS202の判定において、ストレージ要件を満たすストレージプールが出力されていなかった場合は(ステップS202のNO)、ストレージ要件を満たす条件でストレージボリュームを作成することができないため、ストレージボリューム作成処理を終了する。このとき、ストレージ要件を満たすストレージプールが存在しない旨を通知するエラー等を、ユーザ側に返すようにしてもよい。
図9に示したストレージボリューム作成処理の終了後、ストレージボリューム作成の完了を受理したユーザは、事後処理として、アプリケーションサーバ20(またはコンピュートVM570)とストレージボリュームを作成したストレージシステム(例えば図10の場合、SDSノード40)との間にパスを設定し、アプリケーションサーバ20のアプリケーションプログラム221(またはコンピュートVM570のアプリケーションプログラム575)は、ストレージボリュームに対してデータの読み書きを開始する。パスの設定とは具体的には例えば、「iSCSI」でイニシエータとターゲットを設定する処理である。
なお、HCIノード50の場合、コンピュートVM570とストレージシステムとの間にパスを設定する方法は、次の2つの方法の何れかを採用すればよい。
第1の方法は、情報システム1の何れかのストレージシステム(ディスクアレイ30、SDSシステム4、HCIシステム5)のストレージプールにストレージボリュームが作成された場合のパスの設定方法の一例である。第1の方法では、コンピュートVM570が、ストレージボリュームを作成したストレージシステム(ディスクアレイ30、SDSノード40、HCIノード50)との間にパスを設定する。
第2の方法は、SDS内のストレージプールにストレージボリュームが作成された場合のパスの設定方法の一例であり、このときコンピュートVM570は、同一ノード(HCIノード50)のストレージVM560にパスを設定し、ストレージVM560が、ストレージボリュームが作成されたノードに転送する。
第2の方法におけるストレージVM560による転送について詳述する。まず、ストレージボリュームが作成されたノードがストレージVM560自身のHCIノード50である場合は、ストレージVM560が、コンピュートVM570とデータの読み書きを直接やり取りする。一方、ストレージボリュームが作成されたノードがHCIシステム5内の別のHCIノード50である場合は、ストレージVM560はHCIノード間でデータを転送してデータを読み書きする。さらに、HCIノード50とSDSノード40のストレージ制御ソフトウェア(例えば図5に示したストレージ制御プログラム466)が互換性を有していれば、SDSノード40に作成されたストレージボリュームに対しても、ストレージVM560はデータを転送することができる。
(4−2−1)ストレージボリューム配置先選択処理
図11は、ストレージボリューム配置先選択処理の処理手順例を示すフローチャートである。ストレージボリューム配置先選択処理は、パラメータとして入力されたストレージボリュームのストレージ要件に基づいて、ストレージ要件を満たすストレージプールを選出する処理であって、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121によって実行される処理である。ストレージボリューム配置先選択処理は、図9に示したストレージボリューム作成処理(ステップS201)の他、後述する図14に示すストレージボリューム再配置処理(ステップS603)でも呼び出される。
図11は、ストレージボリューム配置先選択処理の処理手順例を示すフローチャートである。ストレージボリューム配置先選択処理は、パラメータとして入力されたストレージボリュームのストレージ要件に基づいて、ストレージ要件を満たすストレージプールを選出する処理であって、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121によって実行される処理である。ストレージボリューム配置先選択処理は、図9に示したストレージボリューム作成処理(ステップS201)の他、後述する図14に示すストレージボリューム再配置処理(ステップS603)でも呼び出される。
図11によればまず、ストレージ統合管理ソフトウェア121は、ストレージプール管理テーブル122を参照して、ストレージ要件で指定されたプロトコルをサポートしているストレージプールを検索する(ステップS301)。
次に、ストレージ統合管理ソフトウェア121は、ステップS301の検索によって、プロトコルの指定条件を満たすストレージプールが存在するか否かを判定する(ステップS302)。ステップS302で肯定の判定結果が得られた場合は(ステップS302のYES)、ステップS303に進む。一方、ステップS302で否定の判定結果が得られた場合は(ステップS302のNO)、ストレージ要件を満たすストレージプールを選出することができないため、ストレージボリューム配置先選択失敗を返して処理を終了する。ストレージボリューム配置先選択失敗の通知は、ストレージ要件を満足するストレージプールを選出できなかったことを通知するものであり、ストレージ要件の何れの要件について失敗と判定したかを示す情報を添えてもよい。これは、他の選別処理(ステップS304,S306)で否定の判定結果が得られた場合も同様である。
ステップS303では、ストレージ統合管理ソフトウェア121は、ストレージプール管理テーブル122を参照して、ステップS302でプロトコルの条件を満たしたストレージプールにおいて、ストレージ要件で指定された容量以上の空き容量が存在するか検索する。そしてステップS304では、上記検索の結果、ストレージ要件で指定された容量以上の空き容量を有するストレージプールが存在するか否かを判定する。ステップS304の判定で肯定の判定結果が得られた場合は(ステップS304のYES)、ステップS305に進む。一方、ステップS304の判定で否定の判定結果が得られた場合は(ステップS304のNO)、ストレージボリューム配置先選択失敗を返して処理を終了する。
ステップS305では、ストレージ統合管理ソフトウェア121は、ストレージプール管理テーブル122を参照して、ステップS304で空き容量の条件を満たしたストレージプールにおいて、ストレージ要件で指定されたその他の要件が満たされるか検索する。そしてステップS306ではステップS305の検索の結果、上記ストレージプールがストレージ要件を満たすか否かを判定する。ステップS306の判定で肯定の判定結果が得られた場合は(ステップS306のYES)、ステップS307に進む。一方、ステップS306の判定で否定の判定結果が得られた場合は(ステップS306のNO)、ストレージボリューム配置先選択失敗を返して処理を終了する。
ステップS307の処理が行われるケースでは、上述したステップS302,S304,S306の各判定を経て、指定されたストレージ要件を全て満たすストレージプールが選出されている。そこで、ステップS307では、ストレージ統合管理ソフトウェア121は、ストレージ要件を満足するストレージプールとして、上記選出されたストレージプールを出力し、処理を終了する。
以上のようにストレージボリューム配置先選択処理が行われることにより、ストレージ統合管理ソフトウェア121は、ストレージプール管理テーブル122に保持している各ストレージプールの特性情報に基づいて、指定されたストレージ要件を満足するストレージプールを検索し、該当するストレージプールを選出(出力)することができる。
なお、本実施の形態におけるストレージボリューム配置先選択処理は、図11の処理手順に限定されるものではなく、以下のような処理を行うようにしてもよい。
例えば、ステップS302でプロトコルの条件を満たしたストレージプールのうち、既に当該ストレージボリュームが作成されているストレージプールについては、ステップS303の処理をスキップしてもよい。これは、当該ストレージボリュームが配置済みであり、そのストレージボリュームのサイズに変更がない場合、ストレージプールに対して空き容量の判定は必要ないためである。
また例えば、ステップS306において、複数のストレージプールについて肯定の判定結果が得られた場合、すなわち、ストレージ要件を満足する複数のストレージプールが見つかった場合には、ストレージボリューム配置先選択処理の処理結果として、これら複数のストレージプールを出力してもよいし、所定の決定方法を用いて、1つまたは所定上限数までのストレージプールを出力するようにしてもよい。具体的な決定方法としては例えば、空き容量が大きい順に出力するストレージプールを決定してもよいし、ラウンドロビンで順番に決定してもよい。あるいは、ストレージ要件を構成する要件ごとに重みを付けて算出した優先度に基づいて、出力するストレージプールを決定するようにしてもよい。このとき、所定の要件を優先度の判断に用い、その他の要件は優先度の判断から除外するとしてもよい。優先する所定の要件として例えば、容量、性能、または可用性を挙げることができる。さらに、優先する要件や重みを、ストレージ要件のなかでユーザまたはアプリケーションが指定できるようにしてもよい。
また、図11に例示したストレージボリューム配置先選択処理では、ステップS302ではプロトコル、ステップS304では空き容量、ステップS306ではその他の要件、というように、ストレージ要件に含まれる構成要件に対して段階的に選別処理を実施したが、これらの選別処理の実行順は、図11の例に限定されるものではなく、任意の順番に変更してもよい。また、段階的に選別処理を行うのではなく、ストレージ要件に含まれる全ての構成要件に対して一括して選別処理を実施するようにしてもよい。
また、上述したストレージボリューム配置先選択処理の場合、最終的に選出されるストレージプールは、ストレージ要件の構成要件を全て満足するものに限られたが、本実施の形態はこれに限定するものではない。例えば、ストレージ要件の構成要件を必須要件と希望要件とに分け、少なくとも必須要件を全て満足することを、選出されるストレージプールの必要条件としてもよい。さらに、全ての必須要件を満足する複数のストレージプールのうちから、希望要件をどの程度満足するかに基づいて、ストレージボリューム配置先選択処理で最終的に選出するストレージプールを決定するようにしてもよい。このようにする場合、ストレージボリュームの配置先の判断にストレージ要件を柔軟に反映することができ、多様なストレージ要件の要求に応えることができる。なお、ストレージ要件における必須要件と希望要件の区分は、当該ストレージ要件を指定するユーザまたはアプリケーションが指定できるとしてもよいし、特定の構成要件を必須要件とするようストレージ管理サーバ10に予め設定できる等してもよい。
(4−3)ストレージシステムアップデート処理
図12は、ストレージシステムアップデート処理の処理手順例を示すフローチャートである。ストレージシステムアップデート処理は、ストレージシステムのハードウェアまたはソフトウェアのアップデート(アップグレード/ダウングレード)を実施する際に実行される処理であって、主にストレージ管理サーバ10のストレージ統合管理ソフトウェア121によって実行される。
図12は、ストレージシステムアップデート処理の処理手順例を示すフローチャートである。ストレージシステムアップデート処理は、ストレージシステムのハードウェアまたはソフトウェアのアップデート(アップグレード/ダウングレード)を実施する際に実行される処理であって、主にストレージ管理サーバ10のストレージ統合管理ソフトウェア121によって実行される。
ストレージシステムのアップデートが実施される具体的な状況としては、例えば、ディスクアレイ30にディスク330が増設された場合や、既存のストレージプールにディスクが追加された場合等が挙げられる。また、ストレージプールにストレージボリュームが新規に作成された場合も、図9に示したストレージボリューム作成処理の終了後に、図12のストレージシステムアップデート処理が行われる。なお、ストレージシステムのアップデートは、例えばユーザがストレージシステムに対してアップデート要求を行うことによって開始される。
図12によればまず、ユーザからのアップデート要求を受理したストレージシステムが、ストレージシステムをアップデートし、ユーザにアップデート完了を返す(ステップS401)。
次に、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121が、ステップS401におけるストレージシステムのアップデート完了を検出し、当該ストレージシステムの情報を収集して、当該ストレージシステムの特性が変更されたか否かを判定する(ステップS402)。具体的な判定方法としては例えば、図3の提供プロトコル1223〜空き容量1229に対応する情報について、現在のストレージプール管理テーブル122における現在の保持情報(アップデート前の情報)とステップS402で収集した情報(アップデート完了後の情報)とを比較することによって、特性が変更されたか否かを判定することができる。
ステップS402においてストレージシステムの特性が変更されたと判定した場合(ステップS402のYES)、ストレージ統合管理ソフトウェア121は、ストレージプール管理テーブル122のエントリのうち、ストレージID1221がアップデートしたストレージシステムのIDと一致するエントリに対して、ステップS402で収集した情報を用いて、特性が変更した属性の全てを更新し(ステップS403)、ストレージシステムアップデート処理を終了する。
一方、ステップS402においてストレージシステムの特性が変更されなかったと判定した場合は(ステップS402のNO)、ストレージプール管理テーブル122を更新する必要がないため、そのままストレージシステムアップデート処理を終了する。
なお、上述した処理手順では、ユーザがストレージシステムのアップデートを要求する際、アップデート要求をストレージシステムに対して行うとしたが、本実施の形態はこれに限らず、ストレージシステムのアップデート要求をストレージ管理サーバ10に対して行うとしてもよい。また、ユーザにストレージシステムのアップデート完了を返すタイミングは、ステップS401の完了後に限定されなくてもよく、例えば、ステップS403の完了後にストレージ管理サーバ10がユーザにアップデート完了を返すようにしてもよい。
以上、ストレージシステムアップデート処理について説明したが、ストレージプール管理テーブル122によるストレージプールの特性情報の管理という観点で見ると、上記処理(特にステップS402〜S403)は、ストレージプール管理テーブル122で既に保持されているエントリを更新する必要が生じた場合の処理の一例とも言える。したがって、ストレージプールの特性が変更され得る他のストレージ操作(例えば、ストレージシステムの設定変更等)が行われる場合も、ストレージ統合管理ソフトウェア121がステップS402〜S403と同様の処理を行うことにより、所定のエントリにおいて特性が変更した属性の全てを更新することができ、ストレージプール管理テーブル122はストレージプールの最新の特性情報を管理することができる。
(4−4)ストレージ要件変更処理
図13は、ストレージ要件変更処理の処理手順例を示すフローチャートである。ストレージ要件変更処理は、アプリケーションプログラム221(またはアプリケーションプログラム575)が要求するストレージ要件を変更する際に、ユーザ(例えばストレージ管理者)がストレージ管理サーバ10に対して要求して実行される処理である。
図13は、ストレージ要件変更処理の処理手順例を示すフローチャートである。ストレージ要件変更処理は、アプリケーションプログラム221(またはアプリケーションプログラム575)が要求するストレージ要件を変更する際に、ユーザ(例えばストレージ管理者)がストレージ管理サーバ10に対して要求して実行される処理である。
図13によるとまず、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121が、ユーザからのストレージ要件の変更要求を受理する(ステップS501)。ストレージ要件の変更要求には、要件を変更するストレージボリュームのIDや、要件変更後のストレージ要件が含まれる。
次に、ストレージ統合管理ソフトウェア121は、ボリューム管理テーブル123のエントリのうち、ボリュームID1230がステップS501で受理した変更要求に含まれるストレージボリュームのIDと一致するエントリに対して、特性が変更した属性の全てを、要件変更後のストレージ要件に基づいて更新し、ユーザに応答を返す(ステップS502)。
上記の処理が行われることによって、ストレージ要件が変更される場合に、当該変更に応じて、ボリューム管理テーブル123で保持するストレージ要件の情報を更新することができる。
(4−5)ストレージボリューム再配置処理
図14は、ストレージボリューム再配置処理の処理手順例を示すフローチャートである。ストレージボリューム再配置処理は、作成済みのストレージボリュームの格納先(配置先)のストレージプールを再検索し、ストレージボリュームを別のストレージプールに移動する処理である。ストレージボリューム再配置処理の実施契機については、図14の説明を行った後に述べる。
図14は、ストレージボリューム再配置処理の処理手順例を示すフローチャートである。ストレージボリューム再配置処理は、作成済みのストレージボリュームの格納先(配置先)のストレージプールを再検索し、ストレージボリュームを別のストレージプールに移動する処理である。ストレージボリューム再配置処理の実施契機については、図14の説明を行った後に述べる。
図14によればまず、ストレージ管理サーバ10のストレージ統合管理ソフトウェア121が、ボリューム管理テーブル123を参照し、1行ずつエントリを読み込む(ステップS601)。
次に、ストレージ統合管理ソフトウェア121は、ボリューム管理テーブル123の全てのエントリに対応するストレージボリュームについて、ストレージボリュームの再配置を判断し実行する処理(ステップS603以降の処理)が完了しているか否かを判定する(ステップS602)。ステップS602において全てのエントリについて再配置処理が完了していると判定した場合(ステップS602のNO)、ストレージ統合管理ソフトウェア121は処理を終了する。
一方、ステップS602において再配置処理が完了していないエントリが存在すると判定した場合(ステップS602のNO)、ストレージ統合管理ソフトウェア121は、ステップS601で読み込んだ未完了のエントリで情報を保持するストレージボリュームについて、ストレージボリューム配置先選択処理を実行する(ステップS603)。図11を参照して前述したように、ストレージボリューム配置先選択処理の実行によって、ストレージボリュームのストレージ要件を満たすストレージプールが選出される。
次に、ストレージ統合管理ソフトウェア121は、ステップS603のストレージボリューム配置先選択処理で選出されたストレージプールのなかに、現在の配置先のストレージプールが含まれているか否かを判定する(ステップS604)。現在の配置先のストレージプールが含まれていると判定した場合には(ステップS604のYES)、ストレージボリュームを別のストレージプールに移動する特段の必要性はないため、当該エントリに対する再配置処理を終了し、ステップS601に戻って別のエントリに対する再配置処理が進められる。
ステップS604において現在の配置先のストレージプールが含まれていないと判定した場合には(ステップS604のNO)、現在の配置先のストレージプールが当該エントリのストレージボリュームのストレージ要件を満たしていない、あるいは、より好適にストレージ要件を満たすストレージプールが存在することを意味する。そこで、ストレージ統合管理ソフトウェア121は、当該エントリのストレージボリュームをステップS603のストレージボリューム配置先選択処理で選出されたストレージプールに移動する(ステップS605)。
その後、ストレージ統合管理ソフトウェア121は、ボリューム管理テーブル123においてステップS605で移動したストレージボリュームのエントリを更新する(ステップS606)。ステップS606の処理まで行うと、当該エントリ(ストレージボリューム)に対する再配置処理が終了するので、ステップS601に戻って別のエントリに対する再配置処理を進める。
以上のようにストレージボリューム再配置処理を行うことにより、ストレージ統合管理ソフトウェア121は、ストレージボリュームの格納先(配置先)のストレージプールがストレージ要件を満たさなくなっている場合に、好適な別のストレージプールにストレージボリュームを再配置することができる。
上述したストレージボリューム再配置処理は、任意のタイミングで実施するようにしてよいが、少なくとも、ストレージプール(広義にはストレージシステム)の特性が変更されたとき(言い換えれば、ストレージプール管理テーブル122の特性情報が変更されたとき)、あるいは、ストレージボリュームに要求されるストレージ要件が変更されたとき(言い換えれば、ボリューム管理テーブル123の要件要求情報が変更されたとき)には、実施されることが好ましい。
具体的な実施タイミングを例示する。例えば、ストレージ管理サーバ10のオペレーティングシステム124によって定期的に起動してもよい。また例えば、ストレージプール作成処理(図8参照)、ストレージシステムアップデート処理(図12参照)、またはストレージ要件変更処理(図13参照)の実行時に、それぞれの処理に延長して実施するようにしてもよい。また例えば、オンラインアップデート等の保守のためにストレージボリュームを移動するような状況において実施するようにしてもよい。
なお、本実施の形態では、図12に例示したストレージボリューム再配置処理を開始する前に、ストレージプール管理テーブル122及びボリューム管理テーブル123における更新の有無を判定し、更新があった場合のみ、図12の処理を実行するようにしてもよい。更新の判定方法としては、エントリごとの更新日時に基づいて判定してもよいし、前回のテーブルのスナップショットとの比較に基づいて判定してもよい。このようにすることで、ストレージプールやストレージボリュームの構成等が変更されていない(各テーブルで更新がない)状況では、不要なストレージボリューム再配置処理を実行せずに済むため、ストレージ管理サーバ10における処理負荷の増加を抑制する効果が得られる。
以上に説明してきたように、本実施の形態に係る情報システム1は、ディスクアレイ30、SDSシステム4、及びHCIシステム5といった種別(タイプ)が異なる複数のストレージシステムを備えて構成されている。本実施の形態において、ストレージシステムの「種別(タイプ)が異なる」とは、ディスクアレイ30、SDSシステム4、HCIシステム5のようなストレージシステム自体のタイプの違いだけでなく、サポートしている機能やデータ保護レベル等、様々なストレージ特性の違いを含む。
このような本実施の形態に係る情報システム1において、ストレージ管理装置であるストレージ管理サーバ10は、ストレージシステムが提供するストレージプールに関する第1の管理情報(ストレージプール管理テーブル122)と、ストレージプールに作成されたストレージボリュームに関する第2の管理情報(ボリューム管理テーブル123)とを保持し、ストレージプール管理テーブル122には、ストレージプールの特性情報が含まれ、ボリューム管理テーブル123には、ストレージボリュームに対するストレージ要件を示す情報と当該ストレージボリュームに提供されている要件を示す情報とが含まれる。そして、ストレージ管理サーバ10(ストレージ統合管理ソフトウェア121)は、複数のストレージシステムに亘るこれらの情報を統合的に管理することにより、特性の異なるストレージシステムを跨いで各種のストレージ操作を実現することができる。
ストレージ管理サーバ10によるストレージ操作の詳細は、図8〜図14を参照しながら説明した通りであり、例えば、ストレージ要件をパラメータとしてストレージボリュームの作成が要求された場合には、ストレージ要件と各ストレージプールの特性情報(ストレージプール管理テーブル122)とを比較することによって、複数のストレージシステムに跨って、ストレージ要件を満たすストレージプールを選出することができ(ストレージボリューム配置先選択処理)、ストレージ要件に応じた好適なストレージプールにストレージボリュームを作成することができる。
また、ストレージ管理サーバ10は、上記したストレージプール管理テーブル122やボリューム管理テーブル123について、ストレージシステムの構成変更やアップデート、さらにはストレージ要件の変更等に応じて適宜エントリを更新することができるので、情報システム1における各ストレージシステムの状況の変化に対応して、ストレージシステムを統合的に管理することができる。
また、ストレージ管理サーバ10は、ストレージボリューム再配置処理において、作成済みのストレージボリュームの配置先のストレージプールが現時点でも好適な配置先であるかを判定し、判定結果に基づいて、より好適なストレージプールにストレージボリュームの配置先を変更することができるため、タイプが異なる複数のストレージシステムのなかで、ストレージ要件を継続的に満足させながらストレージボリュームを提供するという効果を奏する。
以上、本発明の実施の形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲を上述した実施の形態にのみ限定する趣旨ではない。すなわち、本発明は、他の種々の形態でも実施する事が可能である。
また、上述した実施の形態では、用途ごとにサーバコンピュータが存在していたが(例えば、ストレージ管理サーバ10、アプリケーションサーバ20、SDSノード40等)、1つのサーバコンピュータが複数の用途を兼ねるように構成されていてもよい。例えば、上述した実施の形態でストレージ管理サーバ10が実行していたプログラムがSDSノード40で実行されるように構成されていてもよい。この場合ユーザは、SDSノード40に備えられている入出力デバイス(キーボードやディスプレイ)を用いて、管理操作を行う。
また、上述した実施の形態では、ストレージシステムが受け付けるI/O要求(コマンド)は、いわゆるSCSIコマンドである例が説明された。つまりSDSが、いわゆるブロックレベルのアクセス要求を受け付けるストレージ装置である例を説明した。しかし本発明に係る情報システムにおいては、ストレージシステムがそれ以外のタイプのストレージ装置であってもよい。例えば、ファイルレベルやオブジェクトレベルのアクセス要求を受け付けるストレージ装置(所謂、NAS(Network Attached Storage)やOSD(Object-based Storage Device))等でもよい。
また、上述した実施の形態における各処理をCPUに実行させる各プログラムは、計算機が読み取り可能な記憶メディアに格納された状態で提供され、プログラムを実行する各装置にインストールされてもよい。計算機が読み取り可能な記憶メディアとは、非一時的なコンピュータ可読媒体で、たとえばICカード、SDカード、DVD等の不揮発性記憶媒体である。あるいは、上述した実施の形態における各処理をCPUに実行させる各プログラムは、プログラム配布サーバからネットワーク経由で提供されてもよい。
また、図面において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。
1 情報システム
4 SDSシステム
5 HCIシステム
10 ストレージ管理サーバ
20 アプリケーションサーバ
30 ディスクアレイ
40 SDSノード
50 HCIノード
60 ネットワーク
110 CPU
120 メモリ
121 ストレージ統合管理ソフトウェア
122 ストレージプール管理テーブル
123 ボリューム管理テーブル
124 オペレーティングシステム
130 ディスク
140 管理ネットワークI/F
221 アプリケーションプログラム
310 CPU
320 メモリ
321 ストレージ制御プログラム
322 オペレーティングシステム
330 ディスク
340 コンピュートネットワークI/F
350 管理ネットワークI/F
380 ストレージプール
410 CPU
420 メモリ
430 ディスク
440 ネットワークI/F
450 ハイパーバイザ
460 ストレージVM
461 仮想CPU(vCPU)
462 仮想メモリ(vRAM)
463 コンピュートネットワークI/F
464 管理ネットワークI/F
465 ノード間ネットワークI/F
466 ストレージ制御プログラム
467 オペレーティングシステム
480 ストレージプール
490 ストレージボリューム
510 CPU
520 メモリ
530 ディスク
540 ネットワークI/F
550 ハイパーバイザ
560 ストレージVM
570 コンピュートVM
571 仮想CPU(vCPU)
572 仮想メモリ(vRAM)
573 コンピュートネットワークI/F
574 管理ネットワークI/F
575 アプリケーションプログラム
576 オペレーティングシステム
580 ストレージプール
4 SDSシステム
5 HCIシステム
10 ストレージ管理サーバ
20 アプリケーションサーバ
30 ディスクアレイ
40 SDSノード
50 HCIノード
60 ネットワーク
110 CPU
120 メモリ
121 ストレージ統合管理ソフトウェア
122 ストレージプール管理テーブル
123 ボリューム管理テーブル
124 オペレーティングシステム
130 ディスク
140 管理ネットワークI/F
221 アプリケーションプログラム
310 CPU
320 メモリ
321 ストレージ制御プログラム
322 オペレーティングシステム
330 ディスク
340 コンピュートネットワークI/F
350 管理ネットワークI/F
380 ストレージプール
410 CPU
420 メモリ
430 ディスク
440 ネットワークI/F
450 ハイパーバイザ
460 ストレージVM
461 仮想CPU(vCPU)
462 仮想メモリ(vRAM)
463 コンピュートネットワークI/F
464 管理ネットワークI/F
465 ノード間ネットワークI/F
466 ストレージ制御プログラム
467 オペレーティングシステム
480 ストレージプール
490 ストレージボリューム
510 CPU
520 メモリ
530 ディスク
540 ネットワークI/F
550 ハイパーバイザ
560 ストレージVM
570 コンピュートVM
571 仮想CPU(vCPU)
572 仮想メモリ(vRAM)
573 コンピュートネットワークI/F
574 管理ネットワークI/F
575 アプリケーションプログラム
576 オペレーティングシステム
580 ストレージプール
Claims (14)
- 複数のストレージシステムが存在する情報システムを統合管理するストレージ管理装置であって、
各前記ストレージシステムが提供するストレージプールに関する第1の管理情報と、前記ストレージプールに作成されたストレージボリュームに関する第2の管理情報と、を保持し、
前記第1の管理情報には、前記ストレージプールの特性情報が含まれ、
前記第2の管理情報には、前記ストレージボリュームに要求されたストレージ要件を示す要求要件情報と当該ストレージボリュームに提供されている要件を示す提供要件情報とが含まれ、
前記ストレージ要件をパラメータとして前記ストレージボリュームの作成が要求されたとき、
前記ストレージ要件と前記第1の管理情報に保持された前記特性情報との比較に基づいて、当該ストレージ要件を満たす前記ストレージプールを選出する配置先選択処理を実行し、
前記配置先選択処理で選出された前記ストレージプールに前記ストレージボリュームを作成し、
前記作成した前記ストレージボリュームに関するエントリを前記第2の管理情報に追加する
ことを特徴とするストレージ管理装置。 - 既存の前記ストレージボリュームに対する前記ストレージ要件の変更が要求されたとき、
前記要求された変更の内容に基づいて、前記第2の管理情報に保持された前記既存のストレージボリュームに関するエントリにおける前記要求要件情報を更新する
ことを特徴とする請求項1に記載のストレージ管理装置。 - 前記ストレージプールの特性が変更された場合に、
前記変更の内容に基づいて、前記第1の管理情報に保持された前記特性情報を更新する
ことを特徴とする請求項1に記載のストレージ管理装置。 - 前記第1の管理情報に保持された前記特性情報または前記第2の管理情報に保持された前記要求要件情報が変更されたとき、
前記配置先選択処理を再実行し、現在の配置先とは異なる前記ストレージプールが選出された場合には、新たに選出された前記ストレージプールに前記ストレージボリュームを移動し、当該移動後の情報で前記第2の管理情報を更新する
ことを特徴とする請求項1に記載のストレージ管理装置。 - 前記配置先選択処理では、前記ストレージ要件に含まれる全ての構成要件を満たす前記特性情報を有する前記ストレージプールを、当該ストレージ要件を満たす前記ストレージプールとする
ことを特徴とする請求項1に記載のストレージ管理装置。 - 前記配置先選択処理では、少なくとも前記ストレージ要件に含まれる特定の構成要素を満たす前記特性情報を有する前記ストレージプールを、当該ストレージ要件を満たす前記ストレージプールとする
ことを特徴とする請求項1に記載のストレージ管理装置。 - 前記配置先選択処理において、前記ストレージ要件を満たす前記ストレージプールのうちから、前記特定の構成要素以外の構成要素と前記特性情報との比較に基づいて、前記選出する前記ストレージプールの優先度を決定する
ことを特徴とする請求項6に記載のストレージ管理装置。 - 前記配置先選択処理において、複数の前記ストレージプールが前記ストレージ要件を満たす前記ストレージプールの候補となる場合、前記ストレージ要件に含まれる所定の構成要件の比較結果に基づいて、前記選出する前記ストレージプールの優先度を決定する
ことを特徴とする請求項1に記載のストレージ管理装置。 - 前記ストレージプールの前記特性情報は、当該ストレージプールが提供可能な機能、データ保護レベル、または処理性能のうちの少なくとも何れかを含む
ことを特徴とする請求項1に記載のストレージ管理装置。 - 複数のストレージシステムと、
前記複数のストレージシステムとネットワークで接続され、前記複数のストレージシステムを統合管理するストレージ管理装置と、
を備え、
前記ストレージ管理装置は、各前記ストレージシステムが提供するストレージプールに関する第1の管理情報と、前記ストレージプールに作成されたストレージボリュームに関する第2の管理情報と、を保持し、
前記第1の管理情報には、前記ストレージプールの特性情報が含まれ、
前記第2の管理情報には、前記ストレージボリュームに要求されたストレージ要件を示す要求要件情報と当該ストレージボリュームに提供されている要件を示す提供要件情報とが含まれ、
前記ストレージ要件をパラメータとして前記ストレージボリュームの作成が要求されたとき、
前記ストレージ管理装置は、
前記ストレージ要件と前記第1の管理情報に保持された前記特性情報との比較に基づいて、当該ストレージ要件を満たす前記ストレージプールを選出する配置先選択処理を実行し、
前記配置先選択処理で選出された前記ストレージプールに前記ストレージボリュームを作成し、
前記作成した前記ストレージボリュームに関するエントリを前記第2の管理情報に追加する
ことを特徴とする情報システム。 - 前記ストレージ管理装置は、
前記第1の管理情報に保持された前記特性情報または前記第2の管理情報に保持された前記要求要件情報が変更されたとき、
前記配置先選択処理を再実行し、現在の配置先とは異なる前記ストレージプールが選出された場合には、新たに選出された前記ストレージプールに前記ストレージボリュームを移動し、当該移動後の情報で前記第2の管理情報を更新する
ことを特徴とする請求項10に記載の情報システム。 - 前記複数のストレージシステムの少なくとも1つは、ストレージ機能を有するソフトウェアが物理的な計算機で実行されることによって当該計算機がストレージとなる種別のストレージシステムである
ことを特徴とする請求項10に記載の情報システム。 - 複数のストレージシステムが存在する情報システムを統合管理するストレージ管理装置によるストレージ管理方法であって、
前記ストレージ管理装置が、各前記ストレージシステムが提供するストレージプールに関する第1の管理情報と、前記ストレージプールに作成されたストレージボリュームに関する第2の管理情報と、を保持し、
前記第1の管理情報には、前記ストレージプールの特性情報が含まれ、
前記第2の管理情報には、前記ストレージボリュームに要求されたストレージ要件を示す要求要件情報と当該ストレージボリュームに提供されている要件を示す提供要件情報とが含まれ、
前記ストレージ要件をパラメータとして前記ストレージボリュームの作成が要求されたとき、
前記ストレージ管理装置が、
前記ストレージ要件と前記第1の管理情報に保持された前記特性情報との比較に基づいて、当該ストレージ要件を満たす前記ストレージプールを選出する配置先選択処理を実行し、
前記配置先選択処理で選出された前記ストレージプールに前記ストレージボリュームを作成し、
前記作成した前記ストレージボリュームに関するエントリを前記第2の管理情報に追加する
ことを特徴とするストレージ管理方法。 - 前記第1の管理情報に保持された前記特性情報または前記第2の管理情報に保持された前記要求要件情報が変更されたとき、
前記ストレージ管理装置が、前記配置先選択処理を再実行し、現在の配置先とは異なる前記ストレージプールが選出された場合には、新たに選出された前記ストレージプールに前記ストレージボリュームを移動し、当該移動後の情報で前記第2の管理情報を更新する
ことを特徴とする請求項13に記載のストレージ管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019076609A JP2020173727A (ja) | 2019-04-12 | 2019-04-12 | ストレージ管理装置、情報システム、及びストレージ管理方法 |
US16/804,617 US11188243B2 (en) | 2019-04-12 | 2020-02-28 | Storage management apparatus, information system, and storage management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019076609A JP2020173727A (ja) | 2019-04-12 | 2019-04-12 | ストレージ管理装置、情報システム、及びストレージ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020173727A true JP2020173727A (ja) | 2020-10-22 |
Family
ID=72747921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019076609A Pending JP2020173727A (ja) | 2019-04-12 | 2019-04-12 | ストレージ管理装置、情報システム、及びストレージ管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11188243B2 (ja) |
JP (1) | JP2020173727A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022095014A (ja) * | 2020-12-16 | 2022-06-28 | 株式会社日立製作所 | ストレージ管理システム、管理方法 |
JP7473522B2 (ja) | 2021-12-22 | 2024-04-23 | 株式会社日立製作所 | ストレージ管理システム、及びストレージ管理方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11797197B1 (en) | 2019-07-18 | 2023-10-24 | Pure Storage, Inc. | Dynamic scaling of a virtual storage system |
WO2023070025A1 (en) * | 2021-10-22 | 2023-04-27 | Pure Storage, Inc. | Declarative provisioning of storage |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166257B1 (en) * | 2008-01-24 | 2012-04-24 | Network Appliance, Inc. | Automated continuous provisioning of a data storage system |
US8370833B2 (en) | 2008-02-20 | 2013-02-05 | Hewlett-Packard Development Company, L.P. | Method and system for implementing a virtual storage pool in a virtual environment |
US8140812B2 (en) * | 2009-07-01 | 2012-03-20 | International Business Machines Corporation | Method and apparatus for two-phase storage-aware placement of virtual machines |
US8549247B2 (en) * | 2010-12-28 | 2013-10-01 | Hitachi, Ltd. | Storage system, management method of the storage system, and program |
US8650377B2 (en) * | 2011-06-02 | 2014-02-11 | Hitachi, Ltd. | Storage managing system, computer system, and storage managing method |
JP6292102B2 (ja) * | 2014-11-12 | 2018-03-14 | トヨタ自動車株式会社 | 燃料供給装置 |
US9696930B2 (en) * | 2015-06-10 | 2017-07-04 | International Business Machines Corporation | Reducing new extent failures on target device during non-disruptive logical data set migration |
US9678683B1 (en) * | 2016-11-01 | 2017-06-13 | Red Hat, Inc. | Lazy persistent storage volume provisioning |
-
2019
- 2019-04-12 JP JP2019076609A patent/JP2020173727A/ja active Pending
-
2020
- 2020-02-28 US US16/804,617 patent/US11188243B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022095014A (ja) * | 2020-12-16 | 2022-06-28 | 株式会社日立製作所 | ストレージ管理システム、管理方法 |
JP7244482B2 (ja) | 2020-12-16 | 2023-03-22 | 株式会社日立製作所 | ストレージ管理システム、管理方法 |
US11797384B2 (en) | 2020-12-16 | 2023-10-24 | Hitachi, Ltd. | Storage management system and management method |
JP7473522B2 (ja) | 2021-12-22 | 2024-04-23 | 株式会社日立製作所 | ストレージ管理システム、及びストレージ管理方法 |
Also Published As
Publication number | Publication date |
---|---|
US11188243B2 (en) | 2021-11-30 |
US20200326864A1 (en) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7138126B2 (ja) | リソース配置を最適化するための適時性リソース移行 | |
JP6957431B2 (ja) | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム | |
US10013196B2 (en) | Policy based provisioning of storage system resources | |
JP4124331B2 (ja) | Dbms向け仮想ボリューム作成・管理方法 | |
US9658779B2 (en) | Computer system and control method for computer system | |
US11188243B2 (en) | Storage management apparatus, information system, and storage management method | |
CN103597440A (zh) | 用于创建克隆文件的方法以及采用该方法的文件系统 | |
US10664182B2 (en) | Storage system | |
JP5416860B2 (ja) | 計算機システムおよびその制御方法 | |
WO2013098960A1 (ja) | 計算機システム、ファイル管理方法及び記憶媒体 | |
US20180267713A1 (en) | Method and apparatus for defining storage infrastructure | |
US11250022B1 (en) | Offline index builds for database tables | |
US8924595B1 (en) | Mixed mode simulation | |
JP2011242840A (ja) | ThinProvisioningが適用されたストレージ装置 | |
EP2595048A2 (en) | Volume copy management method on thin provisioning pool of storage subsystem | |
US10019182B2 (en) | Management system and management method of computer system | |
JP5193801B2 (ja) | ストレージシステムの性能向上又は管理方法、システム、装置及びプログラム | |
US11768744B2 (en) | Alerting and managing data storage system port overload due to host path failures | |
WO2015125171A1 (en) | System and method for managing logical volumes | |
JP2011070464A (ja) | 計算機システム及び計算機システムの性能管理方法 | |
US20210334043A1 (en) | Storage system and storage system control method | |
KR101754713B1 (ko) | 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법 | |
JP2008186141A (ja) | データ管理方法、データ管理プログラム、データ管理システム、および、構成管理装置 | |
US12045484B2 (en) | Data placement selection among storage devices associated with storage nodes of a storage system | |
US20220308794A1 (en) | Distributed storage system and management method |