JP5425913B2 - 複数のプロセッサユニットを備えたストレージシステム - Google Patents

複数のプロセッサユニットを備えたストレージシステム Download PDF

Info

Publication number
JP5425913B2
JP5425913B2 JP2011529793A JP2011529793A JP5425913B2 JP 5425913 B2 JP5425913 B2 JP 5425913B2 JP 2011529793 A JP2011529793 A JP 2011529793A JP 2011529793 A JP2011529793 A JP 2011529793A JP 5425913 B2 JP5425913 B2 JP 5425913B2
Authority
JP
Japan
Prior art keywords
ldev
vdev
ownership
basis
ali
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.)
Expired - Fee Related
Application number
JP2011529793A
Other languages
English (en)
Other versions
JP2012515371A (ja
Inventor
紀夫 下薗
康之 長副
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
Publication of JP2012515371A publication Critical patent/JP2012515371A/ja
Application granted granted Critical
Publication of JP5425913B2 publication Critical patent/JP5425913B2/ja
Expired - Fee Related 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing

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)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数のプロセッサユニットを備えたストレージシステムに関する。
複数のプロセッサユニットを備えたストレージシステムとして、例えば、特許文献1に開示のストレージシステムが知られている。
この種のストレージシステムでは、各プロセッサユニットに、複数のLDEVのうちの1以上のLDEVのオーナ権が付与される。ここで言う「LDEVのオーナ権」とは、そのLDEVにアクセスする権限のことである。「LDEV」とは、ストレージシステムが管理する論理的な記憶デバイスのことである。
例えば、ストレージシステムが、プロセッサユニット#0及び#1を有し、且つ、LDEV#0、#1及び#2を管理しており、プロセッサユニット#0に、LDEV#1のオーナ権が付与されているとする。このストレージシステムが、LDEV#1に対するI/O(Input/Output)コマンドをストレージシステムが受信した場合、LDEV#1のオーナ権を有するプロセッサユニット#0が、そのI/Oコマンドを処理することになる。
一つのプロセッサユニットに複数のLDEVのオーナ権が集中すると、そのプロセッサユニットに負荷が集中することになる。特許文献1によれば、各プロセッサユニットの負荷が監視され、その監視の結果に応じて、オーナ権がプロセッサユニット間で変更される。
特開2008−269424号公報
ストレージシステムの構成が変更された後(例えば、LDEVが追加された後、或いは、プロセッサユニットが追加された後)、ストレージシステムの運用が開始される(すなわち、ストレージシステムが、外部装置からI/Oコマンドを受信し処理し得るようになる)。各プロセッサユニットの負荷は、ストレージシステムの運用中に変化し得る。
通常、ストレージシステムの構成変更が行われてからプロセッサユニットの負荷が安定するまでに時間がかかる。このため、オーナ権の変更(負荷分散)が行われるまで待つ必要が生じる。
また、オーナ権の変更を行っている間、通常、ストレージシステムのI/O性能が低下する。なぜなら、オーナ権の変更のためには、種々の処理(例えば、ポートの設定変更処理や、プロセッサ間でLDEVに関する制御情報を移動する処理)が必要になるからである。
そこで、本発明の目的は、ストレージシステムのI/O性能になるべく影響を与えることなくプロセッサユニット間の負荷分散を行えるようにすることにある。
LDEVに対するI/Oコマンドの数に応じて動的に変化することの無い静的な情報を基に、LDEVのオーナ権の変更が行われる。具体的には、下記の通りである。
複数のプロセッサユニットに、外部装置からのI/O(Input/Output)コマンドを処理する二以上のプロセッサユニットが含まれている。
ストレーシステムの記憶資源(例えば、複数のプロセッサユニットからアクセス可能な共有メモリ)に、LDEV毎に決定された負荷指標が記憶される。各LDEVの負荷指標は、LDEVに対するI/Oコマンドの数に応じて動的に変化することが無い静的な値である。
複数のプロセッサユニットのいずれかが、以下の(X1)及び(X2):
(X1)上記二以上のプロセッサユニットのそれぞれに割り当てられている負荷指標;
(X2)対象のLDEVの負荷指標、
を基に、上記二以上のプロセッサユニットの中から、対象のLDEVのオーナ権の割当先とするプロセッサユニットを選択し、そのオーナ権を、選択したプロセッサユニットに割り当てる。この処理を行うプロセッサユニットは、上記二以上のプロセッサユニットのいずれか(つまり、I/Oコマンドを処理し得るプロセッサユニット)であっても良いし、それとは別のプロセッサユニット(例えば、LDEVのオーナ権の変更を行うがI/Oコマンドの処理を行わないプロセッサユニット)であっても良い。
プロセッサユニットについての上記(X1)の負荷指標は、そのプロセッサユニットに割り当てられている一以上のオーナ権にそれぞれ対応した一以上のLDEVの負荷指標に基づく値である。その値は、一以上の負荷指標を用いた計算式で算出された値(例えば、一以上の負荷指標の和)である。
プロセッサユニットは、1又は複数のプロセッサ(例えばマイクロプロセッサ)を有する。すなわち、プロセッサユニットは、1つのプロセッサであっても良いし、複数のプロセッサのグループであっても良い。
また、LDEVの基になっているPDEV(物理記憶デバイス)は、ストレージシステムに備えられていても良いし、ストレージシステムの外部(例えば別のストレージシステム)に備えられていても良い。
図1は、本発明の実施例1の概要を示す。 図2は、ストレージシステム111のハードウェア構成を示す。 図3は、ストレージシステム111での記憶領域の管理方式を示す。 図4は、MP213で実行されるコンピュータプログラム、及び、共有メモリ217内の構成情報420に含まれている情報を示す。 図5は、VDEVテーブル411の構成を示す。 図6は、VDEVセットアップ画面601を示す。 図7は、VDEVセットアップ処理のフローを示す。 図8は、LDEVテーブル412の構成を示す。 図9は、MP−PKテーブル414の構成を示す。 図10は、LDEVセットアップ画面1001を示す。 図11は、LDEVセットアップ処理のフローを示す。 図12は、オーナセットアップ処理のフローを示す。 図13は、ルーティングテーブル415(及びLUパステーブル413)の構成を示す。 図14は、LUセットアップ画面1401を示す。 図15は、LUセットアップ処理のフローを示す。 図16は、LI計算表を示す。 図17は、LDEV増設の全体の流れを示す。 図18は、本発明の実施例2の概要を示す。 図19は、実施例2においてMP213で実行されるコンピュータプログラムを示す。 図20は、オーナ再分散処理のフローを示す。 図21は、MP−PK増設の全体の流れを示す。 図22は、実施例3でのストレージシステムでの記憶領域の管理方式を示す。 図23は、実施例3においてMP213で実行されるコンピュータプログラムと、実施例3における構成情報2304を示す。 図24は、プールテーブル416の構成を示す。 図25は、プールVDEVセットアップ画面2501を示す。 図26は、プールVDEVセットアップ処理のフローを示す。 図27は、仮想LDEV増設の全体の流れを示す。
111・・・ストレージシステム
以下、図面を参照して、本発明の幾つかの実施例を説明する。また、以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するマイクロプロセッサ(MP)によって処理が行われるものとする。
図1は、本発明の実施例1の概要を示す。図1では、同種の要素の参照符号は、同一の親番号と異なる子符号との組合せで構成されている。しかし、以下の説明では、同種の構成要素を格別区別しない場合には、親番号のみを用いて説明する。
第一の通信ネットワーク(例えばLAN(Local Area Network)103)を介して、管理計算機101とストレージシステム111が互いに通信できる。
第二の通信ネットワーク(例えばSAN(Storage Area Network)104)を介して、ストレージシステム111が、複数(又は1つ)のホスト計算機(以下、ホスト)102からI/Oコマンドを受け付ける。
ストレージシステム111は、複数のポート112と、複数のマイクロプロセッサパッケージ(以下、MP−PK)115を有する。
各ポート112には、1以上のLU113が関連付けられている。LU(Logical Unit)113に、LDEV116が関連付けられている。言い換えれば、LDEV116へのパスが、ポート112とLU113の組合せで定義されている。
ホスト102は、ポート112とLU113とを指定してLDEV116へアクセスする。具体的には、例えば、ホスト102は、ポート番号とLUN(Logical Unit Number)とを含んだI/Oコマンドを送信する。この場合、ポート番号及びLUNに対応したLDEV116が特定され、特定されたLDEV116のオーナ権を有するMP−PK115に、そのI/Oコマンドが転送される。図1の例では、MP−PK115D以外のMP−PK115A、115B及び115Cには、それぞれ、2つのLDEVのオーナ権が割り当てられている。ポート112Dのポート番号とLU113GのLUNとを含んだI/Oコマンドが受信された場合、そのI/Oコマンドは、ポート112D及びLU113Gに対応したLDEV116Cのオーナ権を有するMP−PK115Bに転送され、処理される。
本実施例では、LDEV116Kが追加されると、いずれかのMP−PK115が、LDEV116KのLI(Load Index)に基づき、ALI(Assigned Load Index)が最も小さいMP−PK115Dに、LDEV116Kのオーナ権を割り当てる。LDEVのLIは、当該LDEVへのI/Oコマンドを処理するために必要なMP性能の指標であり、MP−PK115は、LDEVに関する構成情報を基にLIを算出する。また、MP−PK115のALIは、そのMP−PK115がオーナ権を有するLDEVのLIの総和である。MP−PK115は、各MP−PK115のALIがなるべく均等になるよう、LDEV116のオーナ権の割当先を決定することで、各MP−PK115の負荷を均等化する。
図2は、ストレージシステム111のハードウェア構成を示す。
ストレージシステム111は、1又は複数のディスクユニット205とコントローラに大別される。
ディスクユニット205は、ディスクドライブ218をBE(Back End)ポート215と接続するためのエンクロージャーである。ディスクユニット205は、複数のディスクスロットを有し、各ディスクスロットにディスクドライブ218が挿される。これにより、ディスクユニット205は、複数のディスクドライブ218を有する。ディスクドライブ218は、物理記憶デバイス(PDEV)の一つである。ディスクドライブ218は、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)である。HDDとしては、例えば、SAS(Serial Attached SCSI)ドライブとSATA(Serial ATA(Advanced Technology Attachment))ドライブがある。これらに限られず、他の種類のディスクドライブ(例えば、FCドライブ、DVD(Digital Versatile Disk)ドライブ)が採用されても良い。同様に、ディスクドライブ218に限らず、他の種類のPDEVが採用されても良い。
コントローラは、複数のフロントエンドパッケージ(以下、FE−PK)201と、複数のMP−PK115と、複数のキャッシュメモリパッケージ(以下、CM−PK)204と、複数のバックエンドパッケージ(以下、BE−PK)203と、ネットワークインタフェース202と、内部ネットワーク219とを有する。各パッケージが、内部ネットワーク(例えばクロスバスイッチ)280を介して相互に接続されている。なお、FE−PK201、MP−PK115、CM−PK204及びBE−PK203の少なくとも一つの数は、1でも良い。本実施例では、MP−PK115毎にLDEVオーナ権が割り当てられるが、MP−PK115が1つの場合には、そのMP−PK115が有する複数のMP毎にLDEVオーナ権が割り当てられても良い。
FE−PK201は、一以上のFE(Front End)ポート112と、ローカルルータ212とを有する。FEポート112は、図1に示したポート112である。FEポート112は、ホスト102からI/Oコマンド(ライトコマンド/リードコマンド)を受け付ける。ローカルルータ212は、図4に示すように、ルーティングテーブル415を有する。ローカルルータ212は、ルーティングテーブル415を基に、受信したI/Oコマンド内のポート番号及びLUNに対応するLDEVのオーナMP−PK(オーナ権を有するMP−PK)115を特定し、そのオーナMP−PK115に、そのI/Oコマンドを転送する。なお、ローカルルータ212は無くても良い。その場合、特定のMP−PKが、I/Oコマンドを受信し、ルーティングテーブル415を参照して、I/OコマンドをオーナMP−PKに転送しても良い。
MP−PK115は、複数(又は1つ)のMP213と、ローカルメモリ214とを有する。MP213は、コンピュータプログラムを実行することで、種々の処理(例えば、ホスト102からのI/Oコマンドの処理、LDEVオーナ権の変更)を実行する。ローカルメモリ214は、種々のデータ、例えば、MP213が実行するコンピュータプログラムや、コンピュータプログラムにおいて使用される制御情報を記憶することができる。MP−PK115は、ネットワークインタフェース202を通じて、管理計算機101と通信する。ネットワークインタフェース202は、通信インタフェース装置であり、例えばLANコントローラである。
CM−PK204は、一又は複数のメモリを有する。例えば、CM−PK204は、キャッシュメモリ216と、共有メモリ217とを有する。キャッシュメモリ216には、ホスト102からLDEV116に書き込まれるホストデータや、LDEV116からホスト102によって読み出されるホストデータが一時的に記憶される。共有メモリ217は、MP−PK間で通信するための制御情報を記憶する。制御情報には、ストレージシステム111の構成に関する構成情報が含まれている。
BE−PK203は、一つ以上のBEポート215を有する。BEポート215には、ディスクドライブ218が通信可能に接続される。
このストレージシステム111では、ライトコマンドが、例えば次のような処理流れで処理される。すなわち、FE−PK201のFEポート112が、ホスト102からライトコマンドを受信する。ローカルルータ212が、そのライトコマンド内のポート番号及びLUNに対応するLDEV(以下、この段落で「対象LDEV」と言う)のオーナMP−PK115を特定し、そのオーナMP−PK115に、そのライトコマンドを転送する。オーナMP−PK115内のいずれかのMP213が、そのライトコマンドに応答して、そのコマンドに従うデータ(ライトデータ)を、キャッシュメモリ216に書き込む。そのMP213は、ライト完了をホスト102に報告する。オーナMP−PK115内のいずれかのMP213が、キャッシュメモリ216からライトデータを読み出し、そのライトデータを、対象LDEVの基になっているディスクドライブ218に書き込む。
このストレージシステム111では、リードコマンドが、例えば次のような処理流れで処理される。すなわち、FE−PK201のFEポート112が、ホスト102からリードコマンドを受信する。ローカルルータ212が、そのリードコマンド内のポート番号及びLUNに対応するLDEV(以下、この段落で「対象LDEV」と言う)のオーナMP−PK115を特定し、そのオーナMP−PK115に、そのリードコマンドを転送する。オーナMP−PK115内のいずれかのMP213が、そのリードコマンドに応答して、対象LDEVの基になっているディスクドライブ218から、そのコマンドに従うデータ(リードデータ)を読み出し、そのリードデータを、キャッシュメモリ216に書き込む。そのMP213は、キャッシュメモリ216からリードデータを読み出し、読み出したリードデータを、FE−PK201を通じて、ホスト102に送信する。
図3は、ストレージシステム111での記憶領域の管理方式を示す。
複数のディスクドライブ218でRAID(Redundant Array of Independent (or Inexpensive) Disks)グループが構成されている。RAIDグループに基づく記憶空間として、仮想デバイス(VDEV)301がある。図3に示すVDEV301は、RAIDレベルがRAID−5のRAIDグループに基づくデバイスである。VDEV301を基に、1又は複数のLDEV116が形成される。
図4は、MP213で実行されるコンピュータプログラム、及び、共有メモリ217内の構成情報420に含まれている情報を示す。
構成情報420は、以下のテーブル:
VDEV301に関する情報が設定されているVDEVテーブル411;
LDEV116に関する情報が設定されているLDEVテーブル412;
パス(LUとLDEVの関係)に関する情報が設定されているLUパステーブル413;
MP−PK115に関する情報が設定されているMP−PKテーブル414;
を含んでいる。
MP213で実行されるコンピュータプログラムとして、例えば、I/O処理プログラム402、VDEVセットアップ処理プログラム403、LDEVセットアップ処理プログラム404、MP−PK処理プログラム405、LUセットアップ処理プログラム406及びオーナセットアップ処理プログラム407がある。
I/O処理プログラム402は、構成情報420を基に、ローカルルータ212から転送されて来たI/Oコマンドを処理する。I/Oコマンドの処理を高速化するために、構成情報420の一部がローカルメモリ214(図2参照)にコピーされて、そのコピーされた情報が参照されても良い。
VDEVセットアップ処理プログラム403は、VDEV301をセットアップする(VDEVテーブル411を設定する)。
LDEVセットアップ処理プログラム404は、LDEV116をセットアップする(LDEVテーブル412を設定する)。
MP−PK処理プログラム405は、MP−PK115をセットアップする(MP−PKテーブル414を設定する)。
LUセットアップ処理プログラム406は、LUをセットアップする(LUパステーブル413を設定する)。
オーナセットアップ処理プログラム407は、LDEVセットアップ処理プログラム404から呼び出される。オーナセットアップ処理プログラム407は、LDEV116のオーナ権を設定する。
プログラム403〜406が、ネットワークIF202を介して、管理計算機101との間で通信を行う。I/O処理プログラム402が、BEポート215を通じてディスクドライブ218にアクセスする。
本実施例では、全てのMP−PK115が、上述したプログラム402〜407を実行するが、少なくとも1つのMP−PKが、プログラム402を実行しなくても良い(この場合、そのMP−PKには、LDEVオーナ権が割り当てられない)。
図5は、VDEVテーブル411の構成を示す。
VDEVテーブル411は、VDEV毎に、VDEV ID、ステータス、RAIDタイプ、ドライブタイプ、分散モード、及びディスクドライブスロットIDのリストを有する。以下、これらの要素を、一つのVDEV(以下、図5〜7の説明において「対象VDEV」と言う)を例に採り、説明する。
VDEV IDは、対象VDEVの識別子である。
ステータスは、対象VDEVのステータスである。ステータスの値としては、例えば、対象VDEVが搭載された状態である「Installed」、対象VDEVが搭載されていない状態である「Not Installed」がある。
RAIDタイプは、対象VDEVの基になっているRAIDグループのRAIDタイプである。
ドライブタイプは、対象VDEVの基になっているRAIDグループが有する各ディスクドライブのタイプである。本実施例では、ドライブタイプとして、「SAS HDD」、「SATA HDD」及び「SSD」の3タイプがある。
分散モードは、LDEVオーナ権の自動分散に関するモードである。分散モードの値としては、例えば、VDEV単位でLDEVオーナ権を設定する「VDEV」と、LDEV単位でLDEVオーナ権を設定する「LDEV」がある。分散モード「VDEV」の場合、対象VDEVに含まれる全てのLDEVのオーナ権が一つのMP−PK115に割り当てられる。一方、分散モード「LDEV」の場合、対象VDEVに含まれる全てのLDEVのオーナ権が一つのMP−PK115に割り当てられることもあれば、二以上のMP−PK115に割り当てられることもある。
ディスクドライブスロットIDのリストは、対象VDEVの基になっているRAIDグループを構成する各ディスクドライブが挿されているスロットのIDのリストである。
このテーブル411は、図6に示す画面601に入力された情報を基に設定される。
図6は、VDEVセットアップ画面601を示す。
この画面601は、VDEVテーブル403の各種パラメータを管理計算機101から入力するための画面である。この画面601に、管理計算機101のオペレータによって、対象VDEVについてのVDEV ID、ディスクタイプ、RAIDタイプ、ディスクスロット、及び分散モードが指定される。
ディスクスロットは、例えば以下のように指定される。すなわち、画面601に、各ディスクユニットについての複数のスロットに対応する複数のセルが表示され、オペレータ所望のスロットに対応したセルが指定される。オペレータ指定のRAIDタイプのRAIDグループは、オペレータに指定されたセルに対応したスロットに挿されているディスクドライブ(オペレータ所望のディスクタイプのディスクドライブ)で構成され、そのRAIDグループを基に、オペレータ指定のVDEV IDのVDEVが設定される。
分散モードとして、マニュアルで、「VDEV」又は「LDEV」を設定できるが、それ以外に「AUTO」を指定可能である。分散モード「AUTO」が指定された場合は、VDEVセットアップ処理プログラム403によって、自動で、分散モードとして「VDEV」及び「LDEV」のいずれかが設定される。
図7は、VDEVセットアップ処理のフローを示す。
VDEVセットアップ処理プログラム403が、図6の画面601に入力されたパラメータ(VDEV ID、ディスクタイプ、RAIDタイプ、ディスクスロットのID、分散モード)を管理計算機101から受信する(S701)。
プログラム403は、受信したパラメータのうち分散モード以外のパラメータを、VDEVテーブル411に設定する(S702)。
プログラム403は、分散モードが「AUTO」か否かを判断し(S703)、この判断の結果が否定的であれば(S703:N)、受信した分散モード値をVDEVテーブル411に設定する(S705)。
S703の判断の結果が肯定的であれば(S703:Y)、プログラム403は、ディスクタイプが「SSD」か否かを判断する(S704)。
S704の判断の結果が肯定的であれば(S704:Y)、プログラム403は、分散モード「LDEV」をVDEVテーブル411に設定する(S706)。なぜなら、ディスクタイプがSSDの場合、SSDよりMPの方が性能ボトルネックになりやすく、LDEV単位でLDEVオーナ権を設定することで、MP性能ボトルネックの解消が期待できるからである。
一方、S704の判断の結果が否定的であれば(S704:N)、プログラム403は、分散モード「VDEV」をVDEVテーブル411に設定する(S707)。なぜなら、ディスクタイプがSAS HDD又はSATA HDDの場合、HDDの性能がボトルネックになりやすく、VDEV単位でLDEVオーナ権を設定することで、MP−PK間の負荷の均等化が期待できるからである。
図8は、LDEVテーブル412の構成を示す。
LDEVテーブル412は、LDEV毎に、LDEV ID、ステータス、VDEV ID、スタートアドレス、LDEVサイズ、LI(Load Index)、オーナモード及びオーナMP−PK IDを有する。以下、これらの要素を、一つのLDEV(以下、図8〜図12及び図16の説明において「対象LDEV」と言う)を例に採り、説明する。
LDEV IDは、対象LDEVの識別子である。
ステータスは、対象LDEVのステータスである。ステータスの値としては、例えば、対象LDEVが搭載された状態である「Installed」がある。
VDEV IDは、対象LDEVの基になっているVDEVの識別子である。
スタートアドレスは、対象LDEVがVDEVのアドレス空間のどのアドレスから開始されているか(つまり、VDEVにおけるLDEVの開始位置)を表す。
LDEVサイズは、対象LDEVの記憶容量である。
オーナモードは、対象LDEVのオーナ権の設定モードを示す。オーナモードの値としては、例えば、「AUTO」と「MANUAL」がある。「AUTO」ならば、オーナセットアップ処理プログラム407によって自動で対象LDEVのオーナMP−PKが決定される。「MANUAL」ならば、オペレータから指定されたMP−PKが対象LDEVのオーナMP−PKとされる。
オーナMP−PK IDは、対象LDEVのオーナ権が割り当てられたMP−PKの識別子(つまり、対象LDEVに対するI/O処理を行うMP−PKの識別子)である。
LIは、LDEVに関する構成を基に決定された値であり、LDEVの重みである。別の言い方をすれば、LIは、I/Oコマンドの処理による最大MP負荷を相対的に比較するための指標である。対象LDEVのLIは、種々の要素を基に決定することができるが、本実施例では、下記の三つの要素:
(E1)対象LDEVの基になっているVDEVのRAIDレベル;
(E2)対象LDEVの基になっているVDEVのディスクタイプ;
(E3)対象LDEVの基になっている1つのVDEVが有するLDEVの数、
を基に、決定される。例えば、LIは、要素(E1)及び(E2)によって決定された値が要素(E3)で割られることによって算出される。具体的には、例えば、アクセスパターンが、リード:ライト=1:1であり、キャッシュヒット率が50%であるとした場合、対象LDEVのLIは、下記(1)式、
LI=(1つのI/O処理あたりの平均時間(MPが要する時間))×(ドライブ性能)×(対象LDEVの基になっているVDEVの基になっているディスクドライブの数)÷(1つのI/O処理あたりの平均ドライブアクセス回数)÷(対象LDEVの基になっているVDEVに含まれるLDEVの数)・・・・(1)
を計算することで、算出することができる。
「キャッシュヒット」とは、キャッシュメモリ216にアクセスしたときにライト或いはリードの対象のデータが見つかることである。「キャッシュヒット率」とは、キャッシュヒットの確率である。
「ドライブ性能」は、例えば、ディスクドライブの単位時間当たりに処理可能なI/Oコマンド数(IOPS)、或いは、単位時間当りのディスク回転数(rpm)で表される。
(1つのI/O処理あたりの平均時間(MPが行う処理にかかる時間))や、(1つのI/O処理あたりの平均ドライブアクセス回数)は、例えばVDEVのRAIDタイプがRAID5の場合、パリティ生成に伴う処理やディスクアクセスが必要なため、RAIDタイプがRAID1のVDEVより多い。つまり、これらの値は、RAIDタイプに応じて異なる。
そこで、図16に示すようなLI計算表を用いて、LIが、下記(2)式、
LI=(計算表に記述されている値)÷(対象LDEVの基になっているVDEVに含まれるLDEVの数)・・・・(2)
を計算することで、算出されても良い。
図16に示すLI計算表は、RAIDタイプとディスクタイプに応じたVDEVのLIを示す表である。
LI計算表の各数値は、人間によって決定された経験的な値であっても良いが、近似的には以下のように計算することができる。
すなわち、アクセスパターンがリード:ライト=1:1であるすると、RAIDタイプのディスクドライブへのアクセス回数との関係は、下記の通り:
(RAID1)リードは1回、ライトは2回、合計3回;
(RAID5)リードは1回、ライトは3回、合計4回;
(RAID6)リードは1回、ライトは5回、合計6回;
となる。MP処理時間は、ディスクドライブへのアクセス回数にほぼ比例する。よって、両者は相殺されると考えられる。このため、VDEV全体のLIは、(ドライブ性能)x(1VDEV当たりのドライブ数)で計算される。図16の例では、SAS HDDのドライブ性能は200IOPS、SATA HDDのドライブ性能は150IOPS、SSDのドライブ性能は10000IOPSとされている。このため、図16によれば、RAIDタイプが「RAID1(2D2P)」について、ディスクタイプが「SAS HDD」の場合、VDEVのLIは800(200IOPS×4)とされ、ディスクタイプが「SATA HDD」の場合、VDEVのLIは600(150IOPS×4)とされ、ディスクタイプが「SSD」の場合、VDEVのLIは40000(10000IOPS×4)とされる。
図9は、MP−PKテーブル414の構成を示す。
MP−PKテーブル414は、MP−PK毎に、MP−PK ID、ステータス及びALI(Assigned Load Index)を有する。以下、これらの要素を、一つのMP−PK(以下、図9〜図12の説明において「対象MP−PK」と言う)を例に採り、説明する。
MP−PK IDは、MP−PKの識別子である。
ステータスは、対象MP−PKのステータスである。ステータスの値としては、例えば、対象MP−PKが搭載された状態である「Installed」と、対象MP−PKが搭載されていない状態である「Not-Installed」がある。
ALIは、割り当てられている全てのオーナ権に対応したLDEVのLIの総和である。
MP−PKセットアップ処理プログラム405は、対象MP−PKが搭載された場合、対象MP−PKのステータスを「Not-Installed」から「Installed」に変更し、対象MP−PKのALIとして「0」を設定する。
図10は、LDEVセットアップ画面1001を示す。
この画面1001は、対象LDEVの基とするVDEVのIDと、そのVDEVを基に作成されるLDEVの基準ID(例えばスタートID)と、そのVDEVを基に作成されるLDEVの数(LDEV NUM)を入力するための画面である。基準IDを基準(例えばスタート)としたIDが、各LDEVのIDとして設定される。また、この画面1001には、対象LDEVのオーナMP−PKのIDを設定可能である。対象LDEVのオーナMP−PKのIDとして、「AUTO」が指定された場合、オーナMP−PKは自動で決定される。
図11は、LDEVセットアップ処理のフローを示す。
LDEVセットアップ処理プログラム404が、図10の画面1001に入力されたパラメータ(VDEV ID、LDEV ID、LDEV数、LDEV毎のオーナMP−PK ID)を管理計算機101から受信する(S1101)。
プログラム404が、受信したパラメータのうちオーナMP−PK ID以外のパラメータを、LDEVテーブル412に設定する(S1102)。
そして、プログラム404が、オーナセットアップ処理プログラム407を呼び出す(S1103)。
図12は、オーナセットアップ処理のフローを示す。
オーナセットアップ処理プログラム407は、MP−PKテーブル414を参照して、ALIが最も小さいMP−PK(以下、MP−PK“X”)を選択する(S1201)。そして、オーナセットアップ処理プログラム407は、画面1001で指定された各対象LDEVについて、以下のS1203〜S1207を行う。
S1203では、プログラム407は、対象LDEVのオーナモードが「AUTO」か否かを判断する。この判断の結果が肯定的であれば(S1203:Y)、S1204が行われ、この判断の結果が否定的であれば(S1203:N)、S1208が行われる。
S1204では、プログラム407は、MP−PK“X”のIDを、対象LDEVのオーナMP−PK IDとして、LDEVテーブル412に設定する。
S1205では、プログラム407は、対象LDEVのオーナMP−PKのALIに、対象LDEVのLIを加算する。
S1206では、プログラム407は、対象LDEVを有するVDEV(画面1001で指定されたVDEV IDから識別されるVDEV)の分散モードが「LDEV」か否かを判断する。この判断の結果が肯定的であれば(S1206:Y)、S1207が行われ、この判断の結果が否定的であれば(S1206:N)、S1207がスキップされる。
S1207では、プログラム407は、MP−PKテーブル414を参照して、ALIが最も小さいMP−PK“X”を選択する。ここで選択されたMP−PK“X”は、S1201で選択されたMP−PK“X”とは異なる場合がある。なぜなら、S1201で選択されたMP−PK“X”のALIがS1205で更新され、その結果、S1201で選択されたMP−PK“X”のALIが他のMP−PKのALIを超える可能性があるからである。つまり、分散モードが「LDEV」の場合には、1つの対象LDEVのオーナ権が割り当てられる都度に、ALIが最も小さいMP−PK“X”が再選択されることになる。
S1208では、プログラム407は、画面1001で入力されたMP−PK IDを、対象LDEVのオーナMP−PK IDとして、LDEVテーブル412に設定する。
図13は、ルーティングテーブル415(及びLUパステーブル413)の構成を示す。
ルーティングテーブル415(及びLUパステーブル413)は、FEポート112毎に、FEポートID、LUN、LDEV ID、及びオーナMP−PK IDを有する。以下、これらの要素を、一つのFEポート(以下、図13〜15の説明において「対象FEポート」と言う)を例に採り、説明する。
FEポートIDは、対象FEポートの識別子(前述したポート番号)である。
LUNは、対象FEポートに関連付けられているLUの番号である。
LDEV IDは、対象FEポートに対応したLUNに関連付けられているLDEVの識別子である。
オーナMP−PK IDは、対象FEポートに対応したLDEVのオーナ権が割り当てられているMP−PKの識別子である。
図14は、LUセットアップ画面1401を示す。
この画面1401は、ルーティングテーブル415(及びLUパステーブル413)の各種パラメータを管理計算機101から入力するための画面である。この画面1401に、管理計算機101のオペレータによって、対象FEポートについて、FEポート ID、FEポートに関連付けるLUN、そのLUNに関連付けるLDEV IDが指定される。
図15は、LUセットアップ処理のフローを示す。
LUセットアップ処理プログラム406が、図14の画面1401に入力されたパラメータ(FEポート ID、LUN、LDEV ID)を管理計算機101から受信する(S1501)。
プログラム406は、受信したパラメータを、LUパステーブル413に設定する(S1502)。
また、プログラム406は、受信したパラメータを、ルーティングテーブル415に設定する(S1502)。
図17は、LDEV増設の全体の流れを示す。
オペレータ100が、1又は複数のディスクドライブ218(例えばRAIDグループ)をストレージシステム111に追加する(S1701)。なお、余剰のディスクドライブ218があれば、S1701は必ずしも行われなくても良い。
管理計算機101が、VDEVセットアップ画面601(図6参照)を表示し、オペレータからパラメータの入力を受ける(S1702)。管理計算機101が、入力されたパラメータをストレージシステム111に送信する。
VDEVセットアップ処理プログラム403が、VDEVセットアップ処理(図7参照)を行う(S1703)。ここでは、前述したように、パラメータとして入力された分散モードが「AUTO」であり、VDEVのディスクタイプがSSDであれば、分散モードとして「LDEV」がVDEVテーブル412に設定される。一方、パラメータとして入力された分散モードが「AUTO」であり、VDEVのディスクタイプがSSD以外(SATA HDD又はSAS HDD)であれば、分散モードとして「VDEV」がVDEVテーブル412に設定される。
管理計算機101が、LDEVセットアップ画面1001(図10参照)を表示し、オペレータからパラメータの入力を受ける(S1704)。管理計算機101が、入力されたパラメータをストレージシステム111に送信する。
LDEVセットアップ処理プログラム404が、LDEVセットアップ処理(図11参照)を行う(S1705)。その処理では、前述したように、LDEVセットアップ処理プログラム404が、オーナセットアップ処理プログラム407を呼び出す。
オーナセットアップ処理プログラム407が、オーナセットアップ処理(図12参照)を行う(S1706)。その処理では、ALIが最少のMP−PKに、追加されたLDEVのオーナ権が割り当てられる。追加されたLDEVを有するVDEV(新たに設定されたVDEV)の分散モードが「VDEV」であれば、オーナセットアップ処理の開始時点でALIが最小のMP−PKに、そのVDEVに含まれている全てのLDEVのオーナ権が割り当てられる。一方、そのVDEVの分散モードが「LDEV」であれば、そのVDEV内の1つのLDEVのオーナ権が、ALIが最小のMP−PKに割り当てられ、且つ、そのMP−PKのALIが更新される(そのALIにLDEVのLIが加算される)都度に、ALIが最小のMP−PKが再選択される。
管理計算機101が、LUセットアップ画面1401(図14参照)を表示し、オペレータからパラメータの入力を受ける(S1707)。管理計算機101が、入力されたパラメータをストレージシステム111に送信する。
LUセットアップ処理プログラム406が、LUセットアップ処理(図15参照)を行う(S1708)。
以上、本発明の実施例1によれば、LDEVが追加された直後、つまり構成変更の直後に、そのLDEVが、ALIが最小のMP−PKに割り当てられる。このため、構成変更の直後から、負荷分散が完了した状態での運用が可能になる。言い換えれば、ストレージシステム111の運用中(I/Oコマンドをホストから受け付けて処理する期間中)以外の期間(例えば保守中)に、MP−PK間での負荷分散が完了するので、ストレージシステム111のI/O性能に悪影響を与えないようにすることができる。
以下、本発明の実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略或いは簡略する(これは、後述の実施例3についても同様である)。
図18は、本発明の実施例2の概要を示す。
本実施例では、MP−PKが追加されると、LDEVオーナ権の変更(再分散)が行われる。具体的には、例えば、図18に示すように、MP−PK115C及び115Dが追加されたとする。この場合、LDEV116Lのオーナ権が、MP−PK115AからMP−PK115Cに変更され、LDEV116Mのオーナ権が、MP−PK115BからMP−PK115Dに変更される。つまり、MP−PK115の追加を契機として、追加されたMP−PKを含む複数のMP−PKにおける負荷が分散される。
図19は、実施例2においてMP213で実行されるコンピュータプログラムを示す。
MP213では、オーナ再分散処理プログラム408が実行される。オーナ再分散処理プログラム408は、追加されたMP−PKを含む複数のMP−PKのALIが平均化されるよう、LDEVオーナ権の再分散(変更)を行う。
図20は、オーナ再分散処理のフローを示す。
オーナ再分散処理プログラム408は、MP−PKテーブル414を参照し、追加されたMP−PKを含む複数のMP−PKのALIの平均値を計算する(S2001)。ここで算出された平均値は、オーナ再分散の際に使用される目標値である。目標値は、平均値に限らず、他種の値であっても良い。
ストレージシステム1801で管理されている全てのVDEVの各々について、S2003〜S2008が行われる。或る一つのVDEV(以下、図20の説明において「対象VDEV」と言う)を例に採り、S2003〜S2008を説明する。
S2003では、プログラム408が、VDEVテーブル411を参照し、対象VDEVの分散モードが「LDEV」か否かを判断する。この判断の結果が肯定的であれば(S2003:Y)、対象VDEV内の各LDEVについて、S2005及びS2006が行われる。一方、この判断の結果が否定的であれば(S2003:N)、S2007が行われる。
S2005では、プログラム408が、対象VDEV内の対象のLDEVのオーナ権を変更する必要があるか否かを判断する。具体的には、例えば、オーナ再分散処理プログラム408は、対象LDEVのオーナ権をALIが最小のMP−PKに移しても下記の(H1)及び(H2)の両方の条件:
(H1)対象LDEVの現在のオーナMP−PKのALI“P”が、ステップ2001で算出された平均値“AVE”以上になる(つまり、ALI“P”から対象LDEVのLIを引いた値が平均値“AVE”以上になる);
(H2)ALIが最小のMP−PKのALI“Q”が、ステップ2001で算出された平均値“AVE”以下になる(つまり、ALI“Q”と対象LDEVのLIとの和が平均値“AVE”以下になる)、
が維持されれば、オーナ権の変更が必要と判断する(つまり、S2005の判断の結果が肯定的となる)。言い換えれば、(H1)及び(H2)のいずれか一方でも満たされなければ、オーナ権の変更が不要と判断される(つまり、S2005の判断の結果が否定的となる)。これにより、LDEVオーナ権が必要以上に変更されることを防ぐことができ、以って、性能の低下を抑えることができる。
S2005の判断の結果が肯定的の場合(S2005:Y)、S2006が行われ、S2005の判断の結果が否定的の場合(S2005:N)、S2006がスキップされ、別のLDEVについて再度S2005が行われる。
S2006では、プログラム408が、対象LDEVのオーナ権をALIが最小のMP−PKに変更し、変更元のMP−PKのALI“P”の更新(つまり、更新後のALI=ALI“P”−(対象LDEVのLI))と、変更先のMP−PKのALI“Q”の更新(つまり、更新後のALI=ALI“Q”+(対象LDEVのLI))とを行う。
S2007では、プログラム408が、対象VDEV内の全てのLDEVのオーナ権を変更する必要があるか否かを判断する。具体的には、例えば、オーナ再分散処理プログラム408は、対象VDEV内の全てのLDEVのオーナ権をALIが最小のMP−PKに移しても下記の(h1)及び(h2)の両方の条件:
(h1)対象VDEV内の全てのLDEVの現在のオーナMP−PKのALI“p”が、ステップ2001で算出された平均値“AVE”以上になる(つまり、ALI“p”から対象VDEV内の全てのLDEVのLIの和“k”を引いた値が平均値“AVE”以上になる);
(h2)ALIが最小のMP−PKのALI“q”が、ステップ2001で算出された平均値“AVE”以下になる(つまり、ALI“q”と上記値“k”との和が平均値“AVE”以下になる)、
が維持されれば、オーナ権の変更が必要と判断する(つまり、S2007の判断の結果が肯定的となる)。言い換えれば、(h1)及び(h2)のいずれか一方でも満たされなければ、オーナ権の変更が不要と判断される(つまり、S2007の判断の結果が否定的となる)。これにより、LDEVオーナ権が必要以上に変更されることを防ぐことができ、以って、性能の低下を抑えることができる。
S2007の判断の結果が肯定的の場合(S2007:Y)、S2008が行われ、S2007の判断の結果が否定的の場合(S2007:N)、S2008がスキップされる。
S2008では、プログラム408が、対象VDEV内の全てのLDEVのオーナ権をALIが最小のMP−PKに変更し、変更元のMP−PKのALI“p”の更新(つまり、更新後のALI=ALI“p”−上記値“k”)と、変更先のMP−PKのALI“q”の更新(つまり、更新後のALI=ALI“q”+上記値“k”)とを行う。
S2006及びS2008では、LDEVのオーナモードが「MANUAL」の場合には、そのLDEVのオーナ権の変更は行われない。
図21は、MP−PK増設の全体の流れを示す。
オペレータ100が、1又は複数のMP−PK115をストレージシステム1801に追加する(S2101)。
管理計算機101が、オーナ再分散をストレージシステム1801に依頼する(S2102)。
オーナ再分散処理プログラム408が、その依頼に応答して、オーナ再分散処理(図20参照)を行う。
以上が、本発明の実施例2の説明である。なお、オーナ再分散処理の契機は、MP−PKの追加に限らない。例えば、LDEVが削除されたときに行われても良い。但し、LDEVの削除のように、ストレージシステム1801の全体として負荷が軽減されるイベント(負荷軽減イベント)が行われた場合には、そのイベントの直後にはオーナ再分散処理は行われなくても良い。例えば、負荷軽減イベントが行われてから所定のイベントが検出されるまでは、オーナ再分散は行われなくても良い。所定のイベントとは、例えば、以下のイベント(A)〜(C);
(A)オペレータから管理計算機101を通じてオーナ再分散指示を受信した;
(B)ストレージシステム1801の全体としての負荷が所定値以下になった;
(C)現在時刻が或る時刻を過ぎた(例えば夜間の時間帯になった);
のうちの少なくとも1つである。負荷軽減イベントの直後にオーナ再分散処理を行わないとする理由は、MP−PK間での負荷分散よりも、LDEVオーナ権の変更に伴う性能の一時的な低下を抑えることが好ましいと考えられることにある。
本発明の実施例2によれば、MP−PKの追加という構成変更の直後に、オーナ再分散処理が行われる。構成変更の直後のオーナ再分散処理が保守期間中に完了すれば、負荷分散が完了した状態での運用が可能になる。
図22は、実施例3でのストレージシステムでの記憶領域の管理方式を示す。
VDEV301を基に形成されたLDEV116としては、実施例1と同様にホスト102に提供されるLDEVもあれば、図22に示すように、ホスト102に提供されずプールVDEV351の構成要素とされるLDEV(以下、プールLDEV)116もある。図22では、3つのプールLDEV116で一つのプールVDEV351が構成されている。
プールVDEV351は、複数の実領域を有する。プールVDEV351に、仮想LDEV2116が関連付けられる。仮想LDEV2116は、複数の仮想領域(アドレス空間)を有する。
仮想LDEV2116に対するI/O処理は、例えば以下の通りである。
すなわち、仮想LDEV2116に対するライトコマンドが受領された場合、そのコマンドで指定されている仮想領域(ライト仮想領域)に、実領域が割り当てられているか否かが判断される。割り当てられていれば、その実領域に、ライトデータが書かれる。実領域が割り当てられていなければ、プールVDEV351内の未割当ての実領域がライト仮想領域に割り当てられる。割り当てられた実領域に、ライトデータが書かれる。
仮想LDEV2116に対するリードコマンドが受領された場合、そのコマンドで指定されている仮想領域に割り当てられている実領域から、リードデータが読み出される。読み出されたリードデータが、ホストに送信される。
本実施例では、仮想LDEV2116が追加されたとき(及び/又はMP−PKが追加されたとき)、LDEVオーナ権の変更が行われる。本実施例では、LDEV116ではなく、仮想LDEV2116のオーナ権がMP−PK115に割り当てられる。
仮想LDEV2116のLIは、例えば以下のように決定される。
例えば、図示のプールVDEV351が、LIが“10”である3つのプールLDEV116で構成されているとする。この場合、プールVDEV351のLIは、30(3×10)である。そして、このプールVDEV351に、4つの仮想LDEV2116が関連付けられている。このため、それぞれの仮想LDEV2116のLIは、7.5(30÷4)とされる。
図23は、実施例3においてMP213で実行されるコンピュータプログラムと、実施例3における構成情報2304を示す。
MP213では、プールVDEVセットアップ処理プログラム409が実行される。プールVDEVセットアップ処理プログラム409は、プールVDEV351のセットアップ処理を行う。
構成情報2304は、プールテーブル416を含む。プールテーブル416には、プールVDEV351に関する情報が設定される。
図24は、プールテーブル416の構成を示す。
プールテーブル416は、プールVDEV毎に、VDEV ID、ステータス、トータルLI、分散モード、仮想LDEV数(V−LDEV NUM)、及びプールLDEV IDのリストを有する。以下、これらの要素を、一つのプールVDEV(以下、図24〜26の説明において「対象プールVDEV」と言う)を例に採り、説明する。
VDEV IDは、対象プールVDEVの識別子である。
ステータスは、対象プールVDEVのステータスである。ステータスの値としては、例えば、対象プールVDEVが搭載された状態である「Installed」がある。
トータルLIは、対象プールVDEVを構成する全てのプールLDEVのLIの合計である。対象プールVDEVに関連付けられている各仮想LDEVのLIは、(対象プールVDEVのトータルLI)÷(対象プールVDEVに関連付けられている仮想LDEVの数)で算出される。
分散モードは、対象プールVDEVに関連付けられている仮想LDEVのオーナ権の自動分散に関するモードである。分散モードの値としては、実施例1と異なり、仮想LDEV単位でオーナ権を設定する「LDEV」のみとされる。
仮想LDEV数は、対象プールVDEVに関連付けられている仮想LDEVの数である。
プールLDEV IDのリストは、対象プールVDEVを構成するプールLDEVの識別子のリストである。
図25は、プールVDEVセットアップ画面2501を示す。
この画面2501は、プールテーブル416の各種パラメータを管理計算機101から入力するための画面である。この画面2501に、管理計算機101のオペレータによって、対象プールVDEVについて、プールVDEV ID、対象プールVDEVを構成するプールLDEVのIDが指定される。
図26は、プールVDEVセットアップ処理のフローを示す。
プールVDEVセットアップ処理プログラム409が、図25の画面2501に入力されたパラメータ(プールVDEV ID、プールLDEV ID)を管理計算機101から受信する(S2601)。
プログラム409は、受信したパラメータをプールテーブル416に設定する(S2602)。
プログラム409は、対象プールVDEVの分散モードとして「LDEV」をプールテーブル416に設定する(S2603)。
対象プールVDEVを構成する各プールLDEVについて、S2605及びS2606が行われる。
S2605では、プログラム409は、対象プールVDEVのトータルLIに、対象プールVDEVを構成するプールLDEVのLIを加算する(S2605)。
S2606では、プログラム409は、そのプールLDEVのLI(LDEVテーブル412におけるLI)を、現在の値からゼロに変更する。
図27は、仮想LDEV増設の全体の流れを示す。
管理計算機101が、プールVDEVセットアップ画面2501(図25参照)を表示し、オペレータからパラメータの入力を受ける(S2702)。管理計算機101が、入力されたパラメータをストレージシステム111に送信する。
プールVDEVセットアップ処理プログラム409が、プールVDEVセットアップ処理(図26参照)を行う(S2702)。ここでは、前述したように、分散モードとして必ず「LDEV」がプールテーブル416に設定される。また、プールVDEVを構成するプールLDEVのLIはゼロに更新される。
その後、S1704〜S1708と同様の処理が行われる(S2703〜S2707)。
以上、本発明の実施例3によれば、容量拡張技術(例えばいわゆるThin Provisioning技術)でも、構成変更直後にLDEVオーナ権の変更を行うことができる。仮想LDEVのオーナ権は、仮想LDEV単位で設定される。
以上、本発明の好適な幾つかの実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、実施例1〜3のうちの少なくとも2つ以上を組み合わせることが可能である。具体的には、例えば、実施例3でも、実施例2のように、MP−PKの増設時に、オーナ再分散処理が行われても良い。
また、LDEVオーナ権の変更は、オペレータからの指示があったときに行なわれても良い。
また、オーナ再分散処理は、MP−PKの増設時に代えて又は加えて、MP−PKの減設時に行われても良い。この場合、減設されたMP−PKに割り当てられていたLDEVのオーナ権が、残っているMP−PKに分散される。
また、LDEVの追加及び/又は削除は、運用中に行われても良い。同様に、MP−PKの増設及び/又は減設は、運用中に行われても良い。
また、LDEVの追加及び/又は削除は、ストレージシステム1801の全体としての負荷が低い期間(例えば夜間)に行われて良い。同様に、MP−PKの増設及び/又は減設は、ストレージシステム1801の全体としての負荷が低い期間(例えば夜間)に行われて良い。
また、ストレージシステム1801の全体としての負荷が低い期間(例えば夜間)では、運用中であれば、各MP−PKの負荷に応じて、負荷分散が行われても良い。
また、本発明は、例えば、外部接続(第一のストレージシステムが第二のストレージシステム内の記憶資源を第一のストレージシステム内の記憶資源であるかのようにホストに提供する技術)などの種々の技術にも適用可能である。

Claims (8)

  1. 複数の論理的な記憶デバイス(LDEV)の基になる仮想的な記憶デバイス(VDEV)の基になるRAID(Redundant Array of Independent (or Inexpensive) Disks)グループを構成する複数の物理的な記憶デバイス(PDEV)と、
    外部装置からI/O(Input/Output)コマンドを処理するマイクロプロセッサを含み前記複数のLDEVのうちの少なくとも1つのLDEVのオーナ権を有するマイクロプロセッサパッケージ(MP−PK)を複数個と、
    前記複数のLDEVの各々について決定された、LDEVの重みを表す値(LI)、を記憶する記憶資源と、
    前記複数のLDEVのうちの少なくとも1つのLDEVが関連付けられており前記I/Oコマンドを前記外部装置から受信し前記複数のMP−PKのうち前記受信したI/Oコマンドから特定されるLDEVのオーナ権を有するMP−PKへ前記受信したI/Oコマンドを転送するポートを複数個と
    を備え、
    前記複数のポート各々は、前記外部装置及び前記MP−PKに接続されており、
    前記複数のPDEVの各々は、前記MP−PKに接続されており、
    前記複数のLDEVの各々について、LDEVの前記LIは、
    (E1)そのLDEVの基になっているVDEVの基になっているRAIDグループのRAIDレベル;
    (E2)そのLDEVの基になっているVDEVの基になっているRAIDグループを構成するPDEVのタイプ;
    (E3)そのLDEVの基になっているVDEVが有するLDEVの数、
    を基に決定された値であり、
    LDEVが追加された場合に、いずれかのMP−PKが、
    前記追加されたLDEVの基になっているVDEVの基になるPDEVのタイプがSSD(Solid State Drive)かどうかを判断し、
    前記判断が肯定の場合、前記追加されたLDEVの基になっているVDEVについて、オーナ権の分散単位をLDEV単位と設定し、
    前記判断が否定の場合、前記追加されたLDEVの基になっているVDEVについて、オーナ権の分散単位をVDEV単位と設定し、
    前記複数のMP−PKのうち、MP−PKがオーナ権を有する1以上のLDEVの前記LIの合計値であるALIが最小のMP−PKを選択し、
    ALIが最小のMP−PKに、前記追加されたLDEVのオーナ権を設定し、追加されたLDEVのLIを用いてそのMP−PKのALIを更新する、
    ことを特徴とするストレージシステム。
  2. いずれかのMP−PKが、前記VDEVについてオーナ権の分散単位がLDEV単位の場合、前記追加されたLDEVについて、オーナ権を、ALIが最小のMP−PKに設定する、
    ことを特徴とする請求項1記載のストレージシステム。
  3. いずれかのMP−PKが、前記VDEVについてオーナ権の分散単位がVDEV単位の場合、前記複数のLDEVのうち、前記追加されたLDEVの基になっているVDEVに基づいて構成される前記追加されたLDEVを含む複数のLDEVについて、オーナ権を同一のMP−PKに設定する
    ことを特徴とする請求項2記載のストレージシステム。
  4. LDEVの前記LIは、そのLDEVについての前記(E1)及び(E2)によって決定された値がそのLDEVについての前記(E3)で割られることによって算出された値である、
    請求項3記載のストレージシステム。
  5. 複数の論理的な記憶デバイス(LDEV)の基になる仮想的な記憶デバイス(VDEV)の基になるRAID(Redundant Array of Independent (or Inexpensive) Disks)グループを構成する複数の物理的な記憶デバイス(PDEV)と、
    外部装置からI/O(Input/Output)コマンドを処理するマイクロプロセッサを含み前記複数のLDEVのうちの少なくとも1つのLDEVのオーナ権を有するマイクロプロセッサパッケージ(MP−PK)を複数個と、
    前記複数のLDEVの各々について決定された、LDEVの重みを表す値(LI)、を記憶する記憶資源と、
    前記複数のLDEVのうちの少なくとも1つのLDEVが関連付けられており前記I/Oコマンドを前記外部装置から受信し前記複数のMP−PKのうち前記受信したI/Oコマンドから特定されるLDEVのオーナ権を有するMP−PKへ前記受信したI/Oコマンドを転送するポートを複数個と
    を備え、
    前記複数のポート各々は、前記外部装置及び前記MP−PKに接続されており、
    前記複数のPDEVの各々は、前記MP−PKに接続されており、
    前記複数のLDEVの各々について、LDEVの前記LIは、
    (E1)そのLDEVの基になっているVDEVの基になっているRAIDグループのRAIDレベル;
    (E2)そのLDEVの基になっているVDEVの基になっているRAIDグループを構成するPDEVのタイプ;
    (E3)そのLDEVの基になっているVDEVが有するLDEVの数、
    を基に決定された値であり、
    LDEVが追加された場合に、いずれかのMP−PKが、
    前記追加されたLDEVの基になっているVDEVの基になるPDEVのタイプがSSD(Solid State Drive)かどうかを判断し、
    前記判断が肯定の場合、前記追加されたLDEVの基になっているVDEVについて、オーナ権の分散単位をLDEV単位と設定し、
    前記判断が否定の場合、前記追加されたLDEVの基になっているVDEVについて、オーナ権の分散単位をVDEV単位と設定し、
    MP−PKが追加された場合に、いずれかのMP−PKが、
    VDEVについて分散単位がLDEV単位かVDEV単位かを判断し、
    前記VDEVについて分散単位がLDEV単位の場合、そのVDEVの基になっているLDEVについて、(b−1)そのLDEVのオーナ権を有するMP−PKを、ALIが最小のMP−PKに変更し、(b−2)その(b−1)の後のMP−PKのALIを、そのLDEVのLIを基に更新し、(b−3)そのVDEVについて未だ(b−1)及び(b−2)が行われていないLDEVがあればそのLDEVについて(b−1)及び(b−3)を実行し、
    前記VDEVについて分散単位がVDEV単位の場合、(c)そのVDEVが基になっている全てのLDEVのオーナ権を有するMP−PKを、ALIが最小のMP−PKに変更する、
    ことを特徴とするストレージシステム。
  6. いずれかのMP−PKが、各MP−PKについて、そのMP−PKがオーナ権を有する1以上のLDEVの前記LIの合計値であるALIを算出し、
    いずれかのMP−PKが、前記複数のMP−PKのALIの平均値を算出し、
    いずれかのMP−PKが、前記VDEVについて分散単位がLDEV単位の場合、そのVDEVのLDEVについて、そのLDEVのオーナ権を有するMP−PKをALIが最小のMP−PKに変更されても下記の(H1)及び(H2)の両方の条件、
    (H1)そのLDEVのオーナ権を有するMP−PKのALIが前記平均値以上であること、
    (H2)ALIが最小のMP−PKのALIのALIが前記平均値以下であること、
    が維持されるか否かを判断し、その判断が肯定の場合に、そのLDEVについて前記(b−1)及び(b−2)を実行する、
    ことを特徴とする請求項5記載のストレージシステム。
  7. いずれかのMP−PKが、前記VDEVについて分散単位がVDEV単位の場合、前記VDEVが基になっている全てのLDEVについて、オーナ権を有するMP−PKがALIが最小のMP−PKに変更されても下記の(h1)及び(h2)の両方の条件、
    (h1)そのVDEV内の全てのLDEVのオーナ権を有する1以上のMP−PKの各々についてALIが前記平均値以上である、
    (h2)ALIが最小のMP−PKのALIが前記平均値以下である、
    が維持されるか否かを判断し、その判断が肯定の場合に、前記(c)を実行する、
    ことを特徴とする請求項6記載のストレージシステム。
  8. LDEVの前記LIは、そのLDEVについての前記(E1)及び(E2)によって決定された値がそのLDEVについての前記(E3)で割られることによって算出された値である、
    請求項7記載のストレージシステム。
JP2011529793A 2009-05-22 2009-05-22 複数のプロセッサユニットを備えたストレージシステム Expired - Fee Related JP5425913B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/002276 WO2010134134A1 (en) 2009-05-22 2009-05-22 Storage system comprising plurality of processor units

Publications (2)

Publication Number Publication Date
JP2012515371A JP2012515371A (ja) 2012-07-05
JP5425913B2 true JP5425913B2 (ja) 2014-02-26

Family

ID=41361331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011529793A Expired - Fee Related JP5425913B2 (ja) 2009-05-22 2009-05-22 複数のプロセッサユニットを備えたストレージシステム

Country Status (3)

Country Link
US (1) US8380925B2 (ja)
JP (1) JP5425913B2 (ja)
WO (1) WO2010134134A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101833464B1 (ko) * 2010-02-02 2018-02-28 시게이트 테크놀로지 인터내셔날 디스크 장치와 외부 저장 매체 사이의 데이터 전송 방법 및 그 방법을 이용하는 시스템
US9021499B2 (en) 2012-01-10 2015-04-28 Hewlett-Packard Development Company, L.P. Moving a logical device between processor modules in response to identifying a varying load pattern
US20130227180A1 (en) * 2012-02-24 2013-08-29 Pradeep Bisht Method for input/output load balancing using varied performing storage devices
US20150363128A1 (en) * 2013-03-18 2015-12-17 Hitachi, Ltd. Computer system and management system and management method of storage system
CA3010087A1 (en) * 2015-12-29 2017-07-06 Radical App Llp A system, method, and computer program product for securely delivering content between storage mediums
US10496316B1 (en) * 2018-10-31 2019-12-03 EMC IP Holding Company LLC Forming storage containers from extents having different widths within a group of storage devices
CN112395002B (zh) * 2019-08-14 2023-04-18 上海寒武纪信息科技有限公司 运算方法、装置、计算机设备和存储介质
JP2021028773A (ja) 2019-08-09 2021-02-25 株式会社日立製作所 ストレージシステム
KR20210048349A (ko) * 2019-10-23 2021-05-03 에스케이하이닉스 주식회사 메모리 시스템

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3716126B2 (ja) * 1999-03-17 2005-11-16 株式会社日立製作所 ディスクアレイ制御装置及びディスクアレイ
US6675268B1 (en) * 2000-12-11 2004-01-06 Lsi Logic Corporation Method and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumes
US7024517B1 (en) * 2001-09-27 2006-04-04 Emc Corporation System and method for configuring data storage in accordance with workload requirements
US7162579B2 (en) * 2002-08-19 2007-01-09 Aristos Logic Corporation Asymmetrical load balancing for mirrored storage volumes
US7020758B2 (en) * 2002-09-18 2006-03-28 Ortera Inc. Context sensitive storage management
JP4451118B2 (ja) * 2003-11-18 2010-04-14 株式会社日立製作所 情報処理システム、管理装置、論理デバイス選択方法及びプログラム
JP4377279B2 (ja) * 2004-05-06 2009-12-02 株式会社日立製作所 ストレージシステム、コンピュータシステム、およびストレージシステムの設定方法
US7886299B2 (en) * 2004-06-01 2011-02-08 Hitachi, Ltd. Method of dynamically balancing workload of a storage system
JP4518887B2 (ja) * 2004-09-10 2010-08-04 株式会社日立製作所 ストレージエリアネットワーク管理システム及び管理装置とボリューム割当て方法並びにコンピュータ・ソフトウエア
JP4555036B2 (ja) * 2004-09-16 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のデバイス切替制御方法
US7062628B2 (en) * 2004-09-28 2006-06-13 Hitachi, Ltd. Method and apparatus for storage pooling and provisioning for journal based storage and recovery
US7130960B1 (en) * 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
JP4327130B2 (ja) * 2005-06-24 2009-09-09 富士通株式会社 ディスクアレイアクセス動的制御装置、及び方法
US20070079098A1 (en) * 2005-10-03 2007-04-05 Hitachi, Ltd. Automatic allocation of volumes in storage area networks
JP4806556B2 (ja) * 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
JP2007122531A (ja) * 2005-10-31 2007-05-17 Hitachi Ltd 負荷分散システム及び方法
JP5106913B2 (ja) * 2007-04-23 2012-12-26 株式会社日立製作所 ストレージシステム、ストレージシステム管理方法、及び計算機システム
US8117619B2 (en) * 2007-08-31 2012-02-14 International Business Machines Corporation System and method for identifying least busy resources in a storage system using values assigned in a hierarchical tree structure
US20090172693A1 (en) * 2007-12-31 2009-07-02 Nortel Networks Limited Assigning work to a processing entity according to non-linear representations of loadings

Also Published As

Publication number Publication date
US20100306465A1 (en) 2010-12-02
US8380925B2 (en) 2013-02-19
WO2010134134A1 (en) 2010-11-25
JP2012515371A (ja) 2012-07-05

Similar Documents

Publication Publication Date Title
JP5425913B2 (ja) 複数のプロセッサユニットを備えたストレージシステム
JP5781925B2 (ja) 計算機システム及びその制御方法
US9684593B1 (en) Techniques using an encryption tier property with application hinting and I/O tagging
US8850152B2 (en) Method of data migration and information storage system
US7761684B2 (en) Data management method in storage pool and virtual volume in DKC
EP2399190B1 (en) Storage system and method for operating storage system
US8694727B2 (en) First storage control apparatus and storage system management method
CN107111458B (zh) 管理计算机及计算机系统的管理方法
US20150153961A1 (en) Method for assigning storage area and computer system using the same
JP5706531B2 (ja) 計算機システム、及び情報管理方法
JP2009037304A (ja) Raidレベルを変更する機能を有したストレージシステム
US9639435B2 (en) Management computer and management method of computer system
JP5531091B2 (ja) 計算機システム及びその負荷均等化制御方法
US20070055704A1 (en) Storage system and storage system control method
US20170308321A1 (en) Storage apparatus and storage system
JP2006285808A (ja) ストレージシステム
US20160004459A1 (en) Storage system and storage control method
US9760296B2 (en) Storage device and method for controlling storage device
US9436834B1 (en) Techniques using an encryption tier property in a multi-tiered storage environment
US20140164728A1 (en) Method for allocating and reallocating logical volume
JP6035363B2 (ja) 管理計算機、計算機システム、及び管理方法
US8990523B1 (en) Storage apparatus and its data processing method
US10747432B2 (en) Storage device, storage system, and storage control method
US8555004B2 (en) Storage system having function of performing formatting or shredding
US11256449B2 (en) Storage system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131127

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5425913

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees