JP2010198464A - 論理ユニット管理方法、プログラムおよびディスク装置 - Google Patents

論理ユニット管理方法、プログラムおよびディスク装置 Download PDF

Info

Publication number
JP2010198464A
JP2010198464A JP2009044273A JP2009044273A JP2010198464A JP 2010198464 A JP2010198464 A JP 2010198464A JP 2009044273 A JP2009044273 A JP 2009044273A JP 2009044273 A JP2009044273 A JP 2009044273A JP 2010198464 A JP2010198464 A JP 2010198464A
Authority
JP
Japan
Prior art keywords
disk
actual data
logical unit
processing unit
raid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009044273A
Other languages
English (en)
Other versions
JP5149835B2 (ja
Inventor
Yamato Yamauchi
大和 山内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009044273A priority Critical patent/JP5149835B2/ja
Publication of JP2010198464A publication Critical patent/JP2010198464A/ja
Application granted granted Critical
Publication of JP5149835B2 publication Critical patent/JP5149835B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】LUの使用率にあわせて、容易にディスクのON/OFFを制御することを目的とする。
【解決手段】複数のディスク230を用いて、少なくとも1つ以上のLU250を構成しているディスク装置2において、ディスク装置2が、ディスク2301本分以上の空容量が生じたことを検知するとLU250に保存されている実データを、空容量が生じていないディスク230にまとめ、空容量が生じていないディスク230でLU250を再構成し、LU250を構成していないディスク230の電源をOFFにすることを特徴とする。
【選択図】図1

Description

本発明は、論理ユニット管理方法、プログラムおよびディスク装置の技術に関する。
時間と共に変化するデータの価値に応じて、ストレージシステム間のデータマイグレーションを管理するというデータライフサイクル管理の技術がある。また、この技術を更に一歩進めた技術として、アクセス頻度の少ないディスクドライブの回転を停止したり、電源をOFFにしたりすることにより、ストレージシステムの消費電力の低減を図る技術がある。このような技術は、一般にMAID(Massive Arrays of Inactive Disks)として知られている。例えば、特許文献1や特許文献2では、ストレージシステムに接続された算出機からの指示に基づいて、ストレージシステムが提供する論理ボリュームを構成するディスクドライブの電源をON/OFF制御する技術が開示されている。
特開2005−157710号公報 特開2007−241334号公報
ここで、サーバ側で使用する記憶領域が複数の物理的なディスクで構成されている場合を考える。特許文献1や、特許文献2に記載の技術では、ディスクの使用状況が変化し、データが保存されていない記憶領域の大きさが、その記憶領域を構成している物理ディスク1本分以上になっても、データがどのディスクに保存されているかディスク装置側では把握していない。そのため、ディスクにおけるデータの有無の情報を基に、物理ディスクの電源を自動でOFFにすることができない。
ディスクにおけるデータの有無を確認せず、ディスクドライブの電源をOFFにした場合、そのディスク上のデータが必要になったときにディスクの電源をONにしなければならず、アクセス時間が遅くなってしまう。
データの保存されていないディスクの電源をOFFにするためには、サーバ管理者により、記憶領域の使用率から電源ON/OFFが可能かどうかの判断が必要である。更に、ディスク構成としてRAID(Redundant Arrays of Independent Disks)を利用している場合、サーバ上でデータの片寄せや、記憶領域の拡張・縮小作業などを行い、ディスク装置側でRAIDの構成変更を行う必要があるため、作業者には多くの知識と手間が要求される。
このようなRAIDの構成変更を行って、領域を拡張する場合(論理ユニット:LU(Logical Unit)を構成するディスクを増やす場合)、従来の技術で可能であるが、領域を縮小する場合(LUを構成するディスクを減らす場合)に関してはディスク装置側でデータの保存場所に関する情報を保持していないためできない。
このような背景を鑑みて本発明がなされたのであり、本発明は、LUの使用率にあわせて、容易にディスクのON/OFFを制御することを目的とする。
前記課題を解決するため、本発明は、論理ユニット中に物理ディスク1本分以上の空容量が生じたことを検知すると、前記論理ユニットに保存されている実データを、いずれかのディスクが空ディスクとなるように、前記複数のディスク間で実データを移動して、前記実データをまとめる処理を行い、前記処理により生じた空ディスク以外のディスクで論理ユニットを再構成し、前記論理ユニットを構成していないディスクの電源をOFFにすることを特徴とする。
その他の、解決手段については発明を実施するための形態において記載する。
本発明によれば、LUの使用率にあわせて、容易にディスクのON/OFFを制御することができる。
本実施形態に係るディスク管理システムの構成例を示した図である。 ディスク装置におけるメモリの構成例を示す図である。 論理ディスク使用状況テーブルの構成例を示す図であり、(a)は、「LU1」に関する論理ディスク使用状況テーブルを示し、(b)は、「LU2」に関する論理ディスク使用状況テーブルを示す。 論理ディスクテーブルの構成例を示す図である。 運用状況テーブルの構成例を示す図である。 一時保存用ディスクテーブルの構成例を示す図である。 RAIDテーブルの構成例を示す図である。 拡張用RAIDテーブルの構成例を示す図である。 縮小用RAIDテーブルの構成例を示す図である。 所属サーバテーブルの構成例を示す図である。 本実施形態に係る論理ディスク監視処理の手順を示すフローチャートである。 本実施形態に係るディスク管理処理の手順を示すフローチャートである。 本実施形態に係る書込管理処理の手順を示すフローチャートである。 本実施形態に係るディスク電源OFF処理の手順を示すフローチャートである。 本実施形態に係るセクタ戻し処理の手順を示すフローチャートである。 本実施形態に係るRAID縮小処理の手順を示すフローチャートである。 本実施形態に係るセクタ配置処理の手順を示すフローチャートである。 本実施形態に係るディスク電源ON処理の手順を示すフローチャートである。 本実施形態に係るRAID拡張処理の手順を示すフローチャートである。
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
(用語の定義)
ここで、本実施形態で使用する用語について定義しておく。「ディスク」とはディスク装置内の物理ディスクのことを表し、「LU」とはディスク装置が提供する論理ユニットのことを表す。また、「ブロック」とはディスク上の位置を管理するための単位であり、「セクタ」とはLU上の位置を管理するための単位とする。なお、本実施形態では、説明を簡単にするためブロックの大きさとセクタの大きさを同じものとして扱っている。更に、「実データ」とは、LUに書き込まれ、保存されるデータを指し、テーブルに格納されているデータは「情報」と記載して、両者を区別することとする。
[システム構成]
図1は、本実施形態に係るディスク管理システムの構成例を示した図である。
ディスク管理システム10は、サーバ1と、ディスク装置2と、スイッチ3とを有してなる。サーバ1とディスク装置2は、サーバ1の通信インタフェース120とスイッチ3とディスク装置2の通信インタフェース260とを介して、互いに接続されている。またサーバ1と同様の構成を有するサーバ1aも同様にディスク装置2に接続することが可能である。このように、ディスク装置2は、複数のサーバ1と接続することが可能である。
サーバ1は、ディスク装置2におけるLU250の使用量を監視し、監視結果をディスク装置2へ通知する機能を有する。
サーバ1は、CPU(Central Processing Unit)110と、メモリ100と、通信インタフェース120とを有している。通信インタフェース120については、前記したため、ここでは説明を省略する。ディスク装置2のLU250に格納されているプログラムが、RAM(Random Access Memory)などで構成されるメモリ100に展開され、CPU110によって実行されることによって、論理ディスク監視処理部101や、アプリケーション102や、図示しない業務アプリケーションが、具現化している。
論理ディスク監視処理部101は、LU250の使用状況を監視し、その監視結果をディスク装置2のディスク管理処理部201へ伝える機能を有する。
アプリケーション102は、LU250への書き込みやLU250上のどの位置を使用しているかの把握、図示しない入力部を介して入力された論理ディスク監視処理部101への終了命令、ディスク管理処理部201への終了命令を行う機能を有する。
また、メモリ100には、LU250などに格納されている論理ディスク使用状況テーブル103および論理ディスクテーブル104が、一時的に格納されている。論理ディスク使用状況テーブル103は図3を参照して後記し、論理ディスクテーブル104は図4を参照して後記する。
ディスク装置2は、CPU210と、メモリ200(記憶部)と、キャッシュ220と、複数のディスク230と、一時保存用ディスク240と、通信インタフェース260とを有する。通信インタフェース260については、前記したため、ここでの説明を省略する。また、ディスク装置2は複数のディスク230を使用したRAID構成の複数のLU250(「LU1」、「LU2」)を構成している。このLU250には、アプリケーション102や、業務アプリケーションのプログラムなどが格納されおり、前記したように、これらのプログラムがサーバ1のメモリ110に展開され、CPU110によって実行されることにより、サーバ1はサービスの提供を受けることができる。
一時保存用ディスク240は、RAIDの再構成を行う際に、一時的にLU250の実データを退避させるためのディスクである。
図2は、ディスク装置におけるメモリの構成例を示す図である。
メモリ200には、図示しないROM(Read Only Memory)などの不揮発性記憶装置に格納されているプログラムがメモリ200に展開され、CPU210で実行されることにより、ディスク管理処理部201と、書込管理処理部202を具現化している。
ディスク管理処理部201は、ディスク230を管理する機能を有する。
また、書込管理処理部202は、アプリケーション102からの書込処理を管理する機能を有する。
更に、メモリ200には、ディスク装置2が最初のRAID作成時に作成されるRAID構成テーブル203と、運用状況テーブル204(現在データ位置情報)と、一時保存用ディスクテーブル205と、RAIDテーブル206と、拡張用RAIDテーブル207(拡張データ位置情報)と、縮小用RAIDテーブル208(縮小データ位置情報)と、所属サーバテーブル209とが、図示しないROM(Read Only Memory)などの不揮発性記憶装置から読み込まれている。各テーブルは、図3〜図10を参照して後記する
[各種テーブル]
次に、図3〜図10を参照して、本実施形態で使用する各種テーブルの説明を行う。なお、本実施形態では、テーブルの1行を「エントリ」と記載することとする。
(論理ディスク使用状況テーブル)
図3は、論理ディスク使用状況テーブルの構成例を示す図であり、(a)は、「LU1」に関する論理ディスク使用状況テーブルを示し、(b)は、「LU2」に関する論理ディスク使用状況テーブルを示す。
論理ディスク使用状況テーブル103は、セクタにおける現在のデータ状況を示すテーブルである。論理ディスク使用状況テーブル103は、LU250上におけるセクタの位置を示した「LU上の位置」の項と、そのセクタにおけるデータの有無を示した「実データの有無」の項を有する。また、論理ディスク使用状況テーブル103における1行(レコード)を論理ディスク使用状況テーブルエントリと記載する。なお、サーバ1は、自身が使用しているLU250に関する論理ディスク使用状況テーブル103を有している。つまり、サーバ1が「LU1」を使用していれば、「LU1」に関する論理ディスク使用状況テーブル103(図3の(a))を有しており、サーバ1が「LU2」を使用していれば、「LU2」に関する論理ディスク使用状況テーブル103(図3の(b))を有している。
(論理ディスクテーブル)
図4は、論理ディスクテーブルの構成例を示す図である。
論理ディスクテーブル104は、各LU250に関する情報が格納されているテーブルである。
論理ディスクテーブル104は、LU250の名称を示した「LU名」の項と、そのLU250の現在の使用率を示した「使用率」の項と、RAIDの構成変更を開始する閾値として使用率の上限を示した「上限閾値」の項と下限を示した「下限閾値」の項とを有する。更に、論理ディスクテーブル104は、LU250を構成しているディスク230の数を示した「割当ディスク数」と、割当ディスクで電源がONになっているディスク230の数を示した「使用中ディスク数」の項を持つ。図4に示す論理ディスクテーブル104の「LU1」では、「割当ディスク数」が「4」で、「使用中ディスク数」が「3」となっているが、これは最初4つのディスク230でLU250を構成し、その後、3つのディスク230に縮小されたことを示している。
なお、以下では論理ディスクテーブル104の1行を論理ディスクテーブルエントリと記載する。
(運用状況テーブル)
図5は、運用状況テーブルの構成例を示す図である。
運用状況テーブル204は、ディスク装置2側で管理する現在のディスク230や、LU250における情報を格納するテーブルである。
運用状況テーブル204は、「パリティグループ情報」の項と、「ディスク上の実データ位置」の項と、「ブロックの状態」の項と、「ブロックの割当先」の項とを有する。
「パリティグループ情報」の項は、対象となっているブロックに格納されている実データが、どのパリティグループに所属しているか、あるいは電源OFFのディスク230に所属しているかの情報を格納する。ここで、パリティグループとは、共通のパリティデータを有する実データのグループである。例えば、実データ「D11」と「D12」と「D13」とからパリティデータ「P10」が生成されていれば、実データ「D11」と「D12」と「D13」は同一のパリティグループに属する。同様に、実データ「D21」と「D22」と「D23」とからパリティデータ「P20」が生成されていれば、実データ「D21」と「D22」と「D23」は同一のパリティグループに属する。
「ディスク上の実データ位置」の項は、ディスク230上のブロックの位置に関する情報を格納する。
「ブロックの状態」の項は、対象となるブロックに対して実データの有無またはパリティ用のブロックかどうかを示す情報が格納されている。「有」はパリティデータ以外の実データが対象となるブロックに格納されており、「パリティデータ」は、パリティデータが格納されており、「無」は実データが格納されていないことを示す。「ブロックの割当先」の項は、対象となっているブロックが、LU250上におけるどのセクタに割り当てられているか、またはどのパリティグループのパリティデータに割り当てられているかを示す情報が格納されている。
以下では、運用状況テーブル204の1行を運用状況テーブルエントリと記載する。
(一時保存用ディスクテーブル)
図6は、一時保存用ディスクテーブルの構成例を示す図である。
一時保存用ディスクテーブル205は、RAIDの再構成を行う際に、一時保存用ディスク240に退避した実データのブロック情報や、セクタ情報を格納するためのテーブルである。
一時保存用ディスクテーブル205は、「ディスク上の実データ位置」の項と、「ブロックの状態」の項と、「ブロックの割当先」の項を有する。
「ディスク上の実データ位置」の項は、一時保存用ディスク240における、対象となっているブロックの位置を示す情報が格納されている。
「ブロックの状態」の項は、対象となっているブロックにおける実データの有無を示す情報が格納されている。
「ブロックの割当先」の項は、対象となっているブロックがどのセクタに割り当てられているかを示す情報を格納する。
以下では、一時保存用ディスクテーブル205の1行を一時保存用ディスク240エントリと記載する。
(RAIDテーブル)
図7は、RAIDテーブルの構成例を示す図である。
RAIDテーブル206は、現在のRAIDが構成されたときの各ブロックの情報を格納するテーブルである。ここで、RAIDテーブル206は、RAIDが構成された時点のブロックの情報であり、その後、実データが書き込まれることによって、各ブロックの実際の情報はRAIDテーブル206とはズレが生じている。このズレを補正したものが、図5に示す運用状況テーブル204であるが、この補正については後記して説明する。
RAIDテーブル206は、「パリティグループ情報」の項と、「ディスク上の実データ位置」の項と、「ブロックの種類」の項と、「ブロックの割当先」の項とを有する。
「パリティグループ情報」、「ディスク上の実データ位置」、「ブロックの割当先」の各項は、図5の運用状況テーブル204と同様であるため、説明を省略する。
「ブロックの種類」は、対象となるブロックが、実データ用かパリティデータ用かを示す情報である。
以下では、RAIDテーブル206の1行をRAIDテーブルエントリと記載する。
(拡張用RAIDテーブル)
図8は、拡張用RAIDテーブルの構成例を示す図である。
拡張用RAIDテーブル207は、図7に示すRAIDテーブル206におけるRAID構成に対し、ディスク230が1つ増えたときの各ブロックの情報を格納するテーブルである。
拡張用RAIDテーブル207の構成は、図7のRAIDテーブル206と同様であるので、説明を省略するが、図7のRAIDテーブル206が「ディスク1」〜「ディスク3」の3つのディスク230における情報を格納しているのに対し、図8の拡張用テーブルでは、「ディスク1」〜「ディスク4」の4つのディスク230における情報を格納している。
RAIDを拡張する際、ディスク管理処理部201は、この拡張用RAIDテーブル207を参照して、実データの割り振りを決定する。
なお、図8は、ディスク230が1つ増えたときのブロックに関する情報を格納しているが、ディスク230が2つ以上増えたときの情報を格納してもよいことは当然である。
また、拡張用RAIDテーブル207の1行を拡張用RAIDテーブルエントリと記載することとする。
(縮小用RAIDテーブル)
図9は、縮小用RAIDテーブルの構成例を示す図である。
縮小用RAIDテーブル208は、図7に示すRAIDテーブル206におけるRAID構成で、ディスク230が1つ減ったときの各ブロックの情報を格納するテーブルである。
縮小用RAIDテーブル208の構成は、図7のRAIDテーブル206と同様であるので、説明を省略するが、図7のRAIDテーブル206が「ディスク1」〜「ディスク3」の3つのディスク230における情報を格納しているのに対し、図9の縮小用テーブルでは、「ディスク1」〜「ディスク2」の2つのディスク230における情報を格納している。
RAIDを縮小する際、ディスク管理処理部201は、この縮小用RAIDテーブル208を参照して、実データの割り振りを決定する。
なお、図9は、ディスク230が1つ減ったときのブロックに関する情報を格納しているが、ディスク230が2つ以上減ったときの情報を格納してもよいことは当然である。
また、縮小用RAIDテーブル208の1行を縮小用RAIDテーブルエントリと記載することとする。なお、RAIDを構成するためには、通常、3つ以上のディスク230が必要であるが、ここでは説明を簡単にするため、2つのディスク230でRAIDを構成するものとする。
(所属サーバテーブル)
図10は、所属サーバテーブルの構成例を示す図である。
所属サーバテーブル209は、各LU250がどのサーバ1で使用され(所属し)、どのようなディスク構成となっているかを示す情報が格納されている。
所属サーバテーブル209は、「RAIDグループ名」の項と、「LU名」の項と、「所属サーバ」の項と、「割当ディスク」の項と、「使用中ディスク」の項を有する。
「RAIDグループ名」の項は、「LU名」の項に登録されているLU250が、どのRAIDグループに所属しているか示す情報を格納している。ここで、RAIDグループとは、どのディスク230が割り当てられているかによってグループ分けしたものである。例えば、図10における「LU1」および「LU2」は、どちらも同じ「ディスク1」〜「ディスク4」が割当ディスクとなっているので、同じRAIDグループ(「RAIDグループ1」)となる。
「所属サーバ」の項は、対象となっているLU250がどのサーバ1で使用されているか(どのサーバ1に所属しているか)を示す情報が格納されている。
更に、所属サーバテーブル209は、LU250を構成しているディスク数を示した割当ディスクの名称を示す「割当ディスク」の項と、割当ディスクで電源がONになっているディスク230の数を示した使用中ディスクの名称を示す「使用中ディスク」の項を有する。図10に示す論理ディスクテーブル104の「LU1」および「LU2」では、割当ディスクが「ディスク1」〜「ディスク4」で、使用中ディスクが「ディスク1」〜「ディスク3」となっているが、これは最初「ディスク1」〜「ディスク4」のディスク230でLU250を構成したが、その後、「ディスク1」〜「ディスク3」のディスク230構成に縮小されたことを示している。
なお、所属サーバテーブル209の1行を所属サーバテーブルエントリと記載することとする。
(RAID構成テーブル)
RAID構成テーブル203の構造はRAIDテーブル206と同様の構成をしているため、図示および詳細な説明を省略する。RAID構成テーブル203は、一番最初にRAIDが構成されたときに作成されるテーブルであり、その後、RAIDが再構成されても不変である。
[フローチャート]
次に、図11〜図19を参照して、本実施形態に係るフローチャートを説明する。
(論理ディスク監視処理)
図11は、本実施形態に係る論理ディスク監視処理の手順を示すフローチャートである。
まず、サーバ1の論理ディスク監視処理部101が起動されると、論理ディスク監視処理部101は、サーバ1自身が使用しているLU250をディスク装置2へ通知する(S101)。
次に、論理ディスク監視処理部101は、論理ディスク使用状況テーブル103と、論理ディスクテーブル104を作成する(S102)。論理ディスク使用状況テーブル103と、論理ディスクテーブル104の作成手順は、以下の通りである。
まず、論理ディスク監視処理部101は、アプリケーション102から、サーバ1自身が使用しているLU250上の、どのセクタに実データが保存されているかという情報を取得する。そして、論理ディスク監視処理部101は、論理ディスク使用状況テーブル103を参照し、実データが保存されているセクタに対応する論理ディスク使用状況テーブルエントリの「実データの有無」の項に「有」を登録する。また、論理ディスク監視処理部101は、実データが保存されていないセクタに対応する論理ディスク使用状況テーブルエントリの「実データの有無」の項に「無」を記入する。このようにして、論理ディスク監視処理部101は、論理ディスク使用状況テーブル103を作成する。
次に、論理ディスクテーブル104の作成手順を説明する。
論理ディスク監視処理部101は、論理ディスク使用状況テーブル103における同一のLU250における「実データの有無」の項における「有」の割合から、LU250の使用率を算出する。そして、論理ディスク監視処理部101は、算出した使用率を該当する論理ディスクテーブルエントリの「使用率」の項に登録する。また、論理ディスク監視処理部101は、ディスク装置2の所属サーバテーブル209を検索し、サーバ1自身が使用しているLU250に対応している所属サーバテーブルエントリを取得する。そして、論理ディスク監視処理部101は、取得した所属サーバテーブルエントリの「割当ディスク」と、「使用中ディスク」の項の情報から、割当ディスク数と、使用中ディスク数を算出する。続いて、論理ディスク監視処理部101は、算出した割当ディスク数と、使用中ディスク数を、該当する論理ディスク使用状況テーブルエントリの「割当ディスク数」と、「使用中ディスク数」の項それぞれに登録する。更に、論理ディスク監視処理部101は、割当ディスク数と使用中ディスク数から上限閾値と下限閾値を算出し、アプリケーション102が使用しているLU250の論理ディスクテーブルエントリの「上限閾値」と「下限閾値」の項を登録する。上限閾値および下限閾値は、予め設定しておいた値を論理ディスクテーブルエントリに格納してもよいし、予め設定しておいた上限閾値や下限閾値(パーセンテージ)から残容量を算出してもよい。
そして、アプリケーション102が実データをLU250に書き込めるように、ディスク装置2へ書込管理処理部202の起動要求を送信する(S103)。
次に、論理ディスク監視処理部101は、図示しない入力部を介して終了命令が入力されたか否かを判定する(S104)。
ステップS104の結果、終了命令が入力された場合(S104→Yes)、論理ディスク監視処理部101は、処理を終了する。
ステップS104の結果、終了命令が入力されていない場合(S104→No)、論理ディスク監視処理部101は、ディスク装置2のディスク管理処理部201が図12のステップS207で送信した使用率確認シグナルを受信したか否かを判定する(S105)。
ステップS105の結果、使用率確認シグナルを受信している場合(S105→Yes)、論理ディスク監視処理部101は、ステップS107へ処理を進める。
ステップS105の結果、使用率確認シグナルを受信していない場合(S105→No)、論理ディスク監視処理部101は、前回論理ディスク使用状況テーブル103と論理ディスクテーブル104を更新してから一定時間経過したか否かを判定する(S106)。
ステップS106の結果、一定時間経過していない場合(S106→No)、論理ディスク監視処理部101は、ステップS104へ処理を戻す。
ステップS106の結果、一定時間経過している場合(S106→Yes)、論理ディスク監視処理部101は、ステップS102と同様の手順で論理ディスク使用状況テーブル103と、論理ディスクテーブル104を更新する(S107)。
次に、論理ディスク監視処理部101は、論理ディスクテーブル104を参照し、サーバ1自身が使用している各LU250の使用率と各閾値(上限閾値、下限閾値)を比較する(S108)。
ステップS108における比較の結果、対象としているすべてのLU250で下限閾値以下である場合(S108→下限閾値以下)、論理ディスク監視処理部101は、ディスク装置2のディスク管理処理部201へ電源OFFシグナルと、対象となるLU名を通知し(S109)、ステップS104へ処理を戻す。
ステップS108における比較の結果、上限閾値以上の使用率であるLU250が存在する場合(S108→上限閾値以下)、論理ディスク監視処理部101は、ディスク装置2のディスク管理処理部201へ電源ONシグナルと、対象となるLU名を通知し(S110)、ステップS104へ処理を戻す。
ステップS108における比較の結果、下限閾値以上を有するLUが存在し、かつ上限閾値以上の使用率を有するLU250が存在しない場合(S108→それ以外)、論理ディスク監視処理部101は、ステップS104へ処理を戻す。
(ディスク管理処理)
図12は、本実施形態に係るディスク管理処理の手順を示すフローチャートである。
まず、ディスク管理処理部201が起動すると、図11のステップS101で送信される通知を待機する。この通知を受信したディスク管理処理部201は通知に含まれるサーバ1が使用しているLU名を受信し、RAIDテーブル206、拡張用RAIDテーブル207、縮小用RAIDテーブル208、所属サーバテーブル209を作成する(S201)。
具体的には、ディスク管理処理部201は、RAIDが構成された際に作成されるRAID構成テーブル203をコピーすることによりRAIDテーブル206を作成する。
次に、ディスク管理処理部201は、ステップS201で受信した通知に含まれるLU名をキーとして、RAID構成テーブル203(構成は、RAIDテーブル206と同様)を検索し、「ブロックの割当先」および「ディスク上の実データ位置」の情報から、割当ディスクに関する情報を算出し、更に「パリティグループ情報」から使用中ディスクに関する情報を算出する。そして、ディスク管理処理部201は、「ディスク上の実データ位置」から、該当するLU250が所属するRAIDグループ名を抽出する。ディスク管理処理部201は、「RAIDグループ名」と「LU名」と「割当ディスク」と「使用中ディスク」とを所属サーバテーブル209の該当する項に追加する。
更に、ディスク管理処理部201は、論理ディスク監視処理部101から通知された、どのLU250がどのサーバ1のアプリケーション102で使用されているかの情報を、該当する所属サーバテーブルエントリの「所属サーバ」の項に登録することによって、所属サーバテーブル209を作成する。
また、ディスク管理処理部201は、RAIDテーブル206を基に、現在使用中のディスク230の数より1つディスク230を増やした場合の拡張用RAIDテーブル207を作成し、更に、使用中のディスク230の数より1つディスク230を減らした場合の縮小用RAIDテーブル208を作成する。
縮小用RAIDテーブル208の作成は、RAIDテーブル206の実データを逐次的に並べ替えることによって行われる。つまり、ディスク数が4つのとき各パリティグループが「D1,D2,D3、P1」、「D4,D5,P2,D6」、「D7,P3,D8,D9」、・・・(D1,D2・・・は実データ、P1、P2・・・は、パリティデータ)となっていたとすると、ディスク数を3つに減らしたときの各パリティグループは、「D1,D2,P1a」、「D3,P2a,D4」、「P3a,D5,D6」、・・・(P1a、P2a・・・はパリティデータ)となる。各実データと各パリティデータの情報をブロックとセクタとパリティグループの対応関係で表現したものを縮小用RAIDテーブル208として保存する。
拡張用RAIDテーブル207の作成も同様であり、RAIDテーブル206の実データを逐次的に並べ替えることによって行われる。つまり、「D1」、「D2」、・・・をディスクに保存されている実データであるとすると、ディスク数が4つのとき各パリティグループが「D1,D2,D3、P1」、「D4,D5,P2,D6」、「D7,P3,D8,D9」、・・・となっていたとすると、ディスク数を5つに増やしたときの各パリティグループは、「D1,D2,D3,D4,P1b」、「D5,D6,D7,P2b,D8」(P1b、P2b・・・はパリティデータ)、・・・となる。各実データと各パリティデータの情報をブロックとセクタとパリティグループの対応関係で表現したものを拡張用RAIDテーブル207として保存する。
ステップS201の処理後、ディスク管理処理部201は、運用状況テーブル204を作成する(S202)。具体的には、まず、ディスク管理処理部201は、RAIDテーブル206を運用状況テーブル204へコピーする。このとき、ディスク管理処理部201は、RAIDテーブル206における「ブロックの種類」の項を、「ブロックの状態」の項へ対応させる。次に、ディスク管理処理部201は、各サーバ1から論理ディスク使用状況テーブル103を取得する。そして、ディスク管理処理部201は取得した論理ディスク使用状況テーブル103の上から1エントリずつ、以下の処理を行う。ディスク管理処理部201は、処理対象となっている論理ディスク使用状況テーブルエントリにおける「LU上の位置」と同じセクタを「ブロックの割当先」に有する運用状況テーブルエントリを検索・取得する。そして、ディスク管理処理部201は、対象となっている論理ディスク使用状況テーブルエントリの「実データの有無」の項に格納されている情報を、取得した運用状況テーブルエントリの「ブロックの状態」の項へコピーする。
ステップS202の処理を行う理由は以下の通りである。
ステップS201の段階におけるRAIDテーブル206は、RAIDを構成または再構成した直後のRAID構成を示すが、前回のディスク管理処理の終了から、今回の起動の間に実データがLU250に書込要求が行われる可能性がある。LU250に対する書き込みは、図13で後記する書込管理処理で行われるが、図13で説明する通り、電源OFFのディスク230に実データを書き込もうとすると、書込管理処理部202が電源ONのディスク230の実データが書き込まれていないブロックへ、この実データを自動的に書き込むため、現在のセクタとブロックの関係はRAIDテーブル206とは、異なる構成となる。そこで、ディスク管理処理部201は、書込管理処理を起動する前に、最新のセクタと実データとの関係を保持している論理ディスク使用状況テーブル103を基に、運用状況テーブル204を最新のセクタと実データとの関係に更新する。
そして、アプリケーション102から送信された書込要求を処理できるように、書込管理処理部202が実データをLU250に格納する書込管理処理部202を起動する(S203)。書込管理処理の動作は、図13を参照して後記する。
次に、ディスク管理処理部201は、サーバ1の図示しない入力部を介して終了命令が入力されたか否かを判定する(S204)。
ステップS204の結果、終了命令が入力された場合(S204→Yes)、ディスク管理処理部201は、処理を終了する。
ステップS204の結果、終了命令が入力されていない場合(S204→No)、ディスク管理処理部201は、図11のステップS109またはステップS110で送信されたシグナル(電源OFFシグナルまたは電源ONシグナル)を受信したか否かを判定する(S205)。なお、前記したように、このシグナルには図11のステップS108における比較の対象となったLU名が付随している。
ステップS205の結果、シグナルを受信していない場合(S205→No)、ディスク管理処理部201は、ステップS204へ処理を戻す。
ステップS205の結果、電源ONシグナルを受信した場合(S205→電源ONシグナル)、ディスク管理処理部201は、図11のステップS110で電源ONシグナルと共に、通知されたLU名を基に、図18を参照して後記するディスク電源ON処理を実行し(S206)、ステップS204へ処理を戻す。
ステップS205の結果、電源OFFシグナルを受信した場合(S205→電源OFFシグナル)、ディスク管理処理部201は、図11のステップS109で電源OFFシグナルとともに、通知されたLU名をキーとして、所属サーバテーブル209から、キーとなっているLUと同じRAIDグループに所属するすべてのLU名を取得する。そして、ディスク管理処理部201は、取得したLU名を使用しているすべてのサーバ1に対し使用率確認シグナルを送信する(S207)。この処理は、あるLU250では使用率が下限閾値を超えていても、他のLU250が下限閾値を超えていないときに、RAID構成の縮小を行ってしまうことを避けるためである。
次に、ディスク管理処理部201は、ステップS207に対する通知先となっているすべてのサーバ1から電源OFFシグナルを受信したか否かを判定する(S208)。
ステップS208の結果、通知先すべてから電源OFFシグナルを受信したわけではない場合(S208→No)、ディスク管理処理部201は、ステップS204へ処理を戻す。
ステップS208の結果、通知先すべてから電源OFFシグナルを受信した場合(S208→Yes)、ディスク管理処理部201は、対象となるRAIDグループにおいて、図14を参照して後記するディスク電源OFF処理を実行し(S209)、ステップS204へ処理を戻す。
(図11と図12の概略)
ここで、2台のサーバ1(「サーバA」、「サーバB」)がそれぞれ同じRAIDグループに所属しているLU250(「LU1」、「LU2」)を使用している場合における図11と図12の流れを説明する。
「サーバA」において、図11のステップS105でディスク装置2から使用率確認シグナルを受信しておらず(S105→No)、ステップS106で、前回更新後、一定時間が経過している場合(S106→Yes)、「サーバA」の論理ディスク監視処理部101は、ステップS108で自身が使用している「LU1」の使用率と、各閾値を比較する。比較の結果、下限閾値以下であった場合、ステップS109で電源OFFシグナルとLU名(「LU1」)をディスク装置2へ通知する。
この通知を、図12のステップS205で受信したディスク装置2のディスク管理処理部201は、ステップS207で「LU1」と同じRAIDグループに所属する「LU2」を使用している「サーバB」へ使用率確認シグナルを送信する(図12のステップS207)。
ディスク装置2から使用率確認シグナルを受信したサーバBの論理ディスク監視処理部101は、ステップS105で「Yes」と判定し、ステップS108で「サーバB」自身が使用している「LU2」の使用率と、各閾値を比較する。この結果、「LU2」の使用率が下限閾値以下であれば(S108→下限閾値以下)、電源OFFシグナルと、LU名(「LU2」)とをディスク装置へ通知する。
「サーバB」から電源OFFシグナルを含む通知を受信したディスク装置2のディスク管理処理部201は、図12のステップS208で通知先すべて(ここでは「サーバB」)から電源OFFシグナルを受信したと判定し、ステップS209の処理を行う。
(書込管理処理)
図13は、本実施形態に係る書込管理処理の手順を示すフローチャートである。
図13の処理は、図12のステップS203で起動される処理である。
まず、サーバ1のアプリケーション102は、LU250に書き込むための実データと、書込先のセクタ名とが対となっている書込要求を書込管理処理部202へ送信する。
書込管理処理部202は、アプリケーション102から書込要求があるかを判定する(S300)。
ステップS300の結果、書込要求がない場合(S300→No)、書込管理処理部202は、ステップS300へ処理を戻す。
ステップS300の結果、書込要求がある場合(S300→Yes)、書込管理処理部202は、ステップS301へ処理を進める。
書込管理処理部202が、サーバ1のアプリケーション102から書込要求を受け取ると、書込要求があったセクタ名をキーとして、運用状況テーブル204(図5)を検索し、対象となっているセクタ名を「ブロックの割当先」の項に有する運用状況テーブルエントリ(以下、「エントリ1」と記載)を取得する(S301)。
続いて、書込管理処理部202は、取得した「エントリ1」の「パリティグループ情報」の項を参照して、パリティグループ情報が「OFF」であるか否かを判定する(S302)。
パリティグループ情報が「OFF」でない場合(S302→No)、書込管理処理部202は、ステップS305へ処理を進める。
パリティグループ情報が「OFF」である場合(S302→Yes)、このセクタは電源がOFFになっているディスク230に所属しているため、書込管理処理部202は、ステップS303,S304の処理を行って、電源がOFFになっていないディスク230に所属するセクタで、実データが書き込まれていないブロックに対応付けられているセクタを検索し、このセクタのエントリと書込要求のあったセクタのエントリを入れ替え、書込要求されている実データを書き込む。
つまり、書込管理処理部202は、運用状況テーブル204を参照して、「パリティグループ情報」が「OFF」以外であり、かつ「ブロックの状態」の項が「無」であるブロックを有する運用状況テーブルエントリ(以下、「エントリ2」と記載)を取得する(S303)。
そして、書込管理処理部202は、「エントリ1」と「エントリ2」において「ブロックの状態」と「ブロックの割当先」の項に登録されている情報を入れ替える(S304)。
次に、書込管理処理部202は、「エントリ1」における「ブロックの状態」の項を「有」にし、「ディスク上の実データ位置」の項が示すブロックに実データを書き込む(S305)。
更に、書込管理処理部202は、運用状況テーブル204を参照して、「ブロックの状態」の項が「無」の運用状況テーブルエントリ(セクタ)が存在するか否かを判定する(S306)。
ステップS306の結果、「ブロックの状態」の項が「無」であるセクタが存在する場合(S306→Yes)、書込管理処理部202は、ステップS308へ処理を進める。
ステップS306の結果、「ブロックの状態」の項が「無」であるセクタが存在しない場合(S306→No)、つまりすべてのセクタに実データが書き込まれている場合、書込管理処理部202は、以下の手順で運用状況テーブル204を更新する(S307)。
まず、書込管理処理部202は、サーバ1が有する論理ディスク使用状況テーブル103を取得する。そして、書込管理処理部202は、論理ディスク使用状況テーブル103および運用状況テーブル204を検索して、論理ディスク使用状況テーブルエントリの「LU上の位置」で示されるセクタと、運用状況テーブルエントリの「ブロックの割当先」が示すセクタが同じである組み合わせを選択する。そして、書込管理処理部202は、選択した論理ディスク使用状況テーブルエントリの「ブロックの状態」を、選択した運用状況テーブルエントリの「ブロックの状態」へコピーする。その後、書込管理処理部202は、ステップS308へ処理を進める。
ステップS307を行う意味は以下の通りである。実データをLU250から削除する際、サーバ1やディスク装置2は、実際のLU250に格納されている実データを「Null」にすることはなく、サーバ1で管理している論理ディスク使用状況テーブル103の情報を「無」にするだけで済ますことが多い。これにより、ディスク装置2へのアクセス回数を減らすことができる。しかしながら、この方式では実データの削除時にディスク装置2に対するI/Oがないため、ディスク装置2側では実データの削除を検知することができず、従ってディスク装置2で管理されている運用状況テーブル204にも実データの削除は反映されない。そこで、書込管理処理部202は、運用状況テーブル204における「ブロックの状態」がすべて「有」となったとき(S306→No)に、サーバ1の論理ディスク使用状況テーブル103の状態を運用状況テーブル204に反映させている。これにより、実データの削除時におけるディスク装置2へのアクセス頻度を減らすことを保ちつつ、実際には、空いているブロックがあるのにもかかわらず、運用状況テーブル204における「ブロックの状態」がすべて「有」になってしまうことを避けることができる。
書込管理処理部202は、図示しない入力部を介して終了命令が入力されたか否かを判定する(S308)。
ステップS308の結果、終了命令が入力された場合(S308→Yes)、書込管理処理部202は、処理を終了し、終了命令が入力されなかった場合(S308→No)、ステップS300へ処理を戻す。
図13の処理によれば、電源がOFFになっているディスク230へ実データを書き込もうとすると、書込管理処理部202は電源がONになっているディスク230上の実データが書き込まれていないブロックを検出する。そして、書込管理処理部202は、検出したブロックに実データを書き込むため、ユーザは、RAID構成が変更されたことを意識せずに実データをLU250に書き込むことができる。
(ディスク電源OFF処理)
図14は、本実施形態に係るディスク電源OFF処理の手順を示すフローチャートである。
なお、図14の処理は、図12のステップS209に相当する処理である。
まず、ディスク管理処理部201は、ディスク230の電源がOFFとなっているものがあれば、すべてをONにする(S401)。ここで、すべてのディスク230の電源をONにするのは、図15で後記しているセクタ戻し処理を実行できるようにするためである。
そして、ディスク管理処理部201は、運用状況テーブル204におけるセクタの状態をRAID構成時またはRAID再構成時の状態へ戻すセクタ戻し処理を実行する(S402)。セクタ戻し処理については、図15を参照して後記する。
次に、ディスク管理処理部201は、ディスク230を減らした状態でRAIDを再構成するRAID縮小処理を実行する(S403)。RAID縮小処理については、図16を参照して後記する。
更に、ディスク管理処理部201は、ステップS403のRAID縮小処理終了直後において、電源がOFFとなるディスク230に格納されている実データを電源がONのディスク230に移動するセクタ配置処理を実行する(S404)。セクタ配置処理については、図17を参照して後記する。
そして、ディスク管理処理部201は、運用状況テーブル204における「ブロックの状態」が「OFF」となっているディスク230(OFFにすべきディスク230)の電源をOFFにし、所属サーバテーブルエントリの使用中ディスクを更新し、縮小再構成したRAID構成に従ってRAIDテーブル206、拡張用RAIDテーブル207、縮小用RAIDテーブル208を更新する(S405)。各テーブルの更新は以下の手順で行う。ディスク管理処理部201は、RAIDテーブル206を拡張用RAIDテーブル207にコピーすることによって、拡張用RAIDテーブル207を更新する。また、ディスク管理処理部201は、縮小用RAIDテーブル208をRAIDテーブル206にコピーすることによってRAIDテーブル206を更新する。また、ディスク管理処理部201は、新たに作成したRAIDテーブル206を基に、縮小用RAIDテーブル208を作成する。縮小用RAIDテーブル208の作成手順は、図12のステップS201で説明した通りであるので説明を省略する。
そして、ディスク管理処理部201は、図12の処理へリターンする。
(セクタ戻し処理)
図15は、本実施形態に係るセクタ戻し処理の手順を示すフローチャートである。
なお、図15の処理は、図14のステップS402に相当する処理である。セクタ戻し処理は、前記したように運用状況テーブル204における、実データの書込管理処理(図13)を行ったために生じるRAID構成時またはRAID再構成時におけるセクタの状態からのズレを直すための処理である。これは、縮小RAIDテーブル206は、RAIDテーブル206を基に、つまりRAID構成時またはRAID再構成時におけるセクタの状態を基に作成されているためである。
ディスク管理処理部201は、図15の処理を運用状況テーブル204の一番最初のエントリから運用状況テーブルエントリ毎に行う。
まず、ディスク管理処理部201は、すべての運用状況テーブルエントリ(エントリ)に対して、ステップS502〜S504の処理を実行したか否かを判定する(S501)。
ステップS501の結果、すべての運用状況テーブルエントリに対して、処理していない場合(S501→No)、ディスク管理処理部201は、対象となっている運用状況テーブルエントリ(以下、「エントリ10」と記載)を取得する(S502)。
次に、ディスク管理処理部201は、RAIDテーブル206を検索して、取得した「エントリ10」における「ディスク上の実データ位置」の項に登録されているブロックと同じブロックを有するエントリ(RAIDテーブルエントリ)を取得する。更に、ディスク管理処理部201は、運用状況テーブル204を検索して、取得したRAIDテーブルエントリにおける「ブロックの割当先」の項に登録されているセクタと同じセクタを有するエントリ(運用状況テーブルエントリ:以下、「エントリ20」と記載)を取得する(S503)。
そして、ディスク管理処理部201は、「エントリ10」の「ディスク上の実データ位置」が示すブロックに保存されている実データと、「エントリ20」の「ディスク上の実データ位置」が示すブロックに保存されている実データとを入れ替える(S504)。
続いて、ディスク管理処理部201は、ステップS501へ処理を戻す。
ステップS501において、すべての運用状況テーブル204に対して処理を終了した場合(S501→Yes)、図14の処理へリターンする。
なお、図13の処理において実データの入れ替えが実行されていない運用状況テーブルエントリに関しては、「エントリ10」と「エントリ20」とが一致するため、実質的にステップS504における実データの入れ替えは生じない。
(RAID縮小処理)
図16は、本実施形態に係るRAID縮小処理の手順を示すフローチャートである。
図16は、図14のステップS403に相当する処理である。図16では、図15の処理でRAID構成時またはRAID再構成時のセクタ状態に戻された運用状況テーブル204を基に縮小RAID再構成処理を行う。
図16の処理は、パリティグループ毎に行われる処理である。
まず、ディスク管理処理部201は、処理していないパリティグループがあるか否かを判定する(S601)。
ステップS601の結果、処理していないパリティグループがある場合(S601→Yes)、ディスク管理処理部201は、処理対象となっているパリティグループを「パリティグループ情報」の項に有する運用状況テーブルエントリ(エントリ)を選択し、これらのエントリの実データを一時保存用ディスク240にコピーし、その内容を一時保存用ディスクテーブル205に登録することにより、一時保存用ディスクテーブル205を更新する(S602)。具体的には、まず、ディスク管理処理部201は、一時保存用ディスクテーブル205に一時保存用ディスクテーブルエントリを確保する。このとき、ディスク管理処理部201は、確保した一時保存用ディスクテーブルエントリの「ディスク上の実データ位置」に、一時保存用ディスク240のブロックを割り当てる。そして、ディスク管理処理部201は、コピーしようとする運用状況テーブルエントリの「ディスク上の実データ位置」が示すブロックに保存されている実データを、一時保存用ディスクテーブルエントリのディスク上の実データ位置で示される場所にコピーする。更に、ディスク管理処理部201は、対象となっている運用状況テーブルエントリの「ブロックの状態」と「ブロックの割当先」の情報を、対象となっている一時保存用ディスクテーブルエントリの「ブロックの状態」と「ブロックの割当先」にそれぞれコピーする。なお、ステップS602において、「ブロックの状態」の項がパリティとなっている運用状況テーブルエントリは処理の対象外とする。
次に、ディスク管理処理部201は、縮小用RAIDテーブル208を使って、RAIDを再構成し、運用状況テーブル204を更新する(S603)。具体的には、ディスク管理処理部201は、縮小用RAIDテーブル208から、処理対象のパリティグループと同じパリティグループ(「OFF」は処理対象外となる)を有するエントリに関し1エントリづつ以下の処理を行う。ディスク管理処理部201は、運用状況テーブル204を検索して、処理の対象となっている縮小用RAIDテーブルエントリの「ディスク上の実データ位置」の項が示すブロックと同じブロックを「ディスク上の実データ位置」の項に有するエントリ(運用状況テーブルエントリ)を検出する。そして、ディスク管理処理部201は、処理対象となっている縮小用RAIDテーブルエントリを、検出した運用状況テーブルエントリへコピーする(「ブロックの種類」の項の情報は「ブロックの状態」の項へコピーする)。
そして、ディスク管理処理部201は、一時保存用ディスク240へ避難した(コピーした)実データをLU250に戻し、運用状況テーブル204と一時保存用ディスクテーブル205の各テーブルを更新する(S604)。具体的には、以下の手順で行われる。まず、ディスク管理処理部201は、処理対象となっているパリティグループと同じパリティグループ情報を有する運用状況テーブルエントリを1エントリづつ検出する。次に、ディスク管理処理部201は、検出した運用状況テーブルエントリの「ブロックの割当先」の項を参照し、この項が示すブロックが一時保存用ディスクテーブル205の「ブロックの割当先」に存在するか否かを判定する。存在しなければ、ディスク管理処理部201は、ステップS601の処理へ戻る。存在すれば、該当する一時保存用ディスクテーブルエントリの「ディスク上の実データ位置」の項が示すブロックに保存されている実データを、検出した運用状況テーブルエントリの「ディスク上の実データ位置」の項が示すブロックへコピーする。
続いて、ディスク管理処理部201は、該当する一時保存用ディスクテーブルエントリの「ブロックの状態」と「ブロックの割当先」の項に登録されているデータを、検出した運用状況テーブルエントリの「ブロックの状態」と「ブロックの割当先」の項へコピーする。そして、ディスク管理処理部201は、該当する一時保存用ディスクテーブルエントリの「ブロックの状態」と「ブロックの割当先」の項に保存されている情報を削除する。その後、パリティグループ内に、パリティデータを生成できるだけの実データがそろっていれば、ディスク管理処理部201は、処理対象となっているパリティグループと同一のパリティグループである実データから新たなパリティデータを生成する。
ステップS604の処理後、ディスク管理処理部201は、ステップS601へ処理を戻し、次のパリティグループに対してステップS601〜S604の処理を行う。
ステップS601の結果、処理していないパリティグループがない場合(S601→No)、ディスク管理処理部201は一時保存用ディスクテーブル205のエントリを、電源OFF対象のディスク230に該当する運用状況テーブルエントリ(エントリ)へ反映させ、各テーブルを更新し(S605)、図14の処理へリターンする。この処理において、ディスク管理処理部201は、電源がOFFとなるディスク230に割り当てられるブロックと、LU250上のセクタを対応付ける。これは、RAID構成を縮小する際には、逐次的に縮小したディスク230のブロックへ割り当てているため、最後に1ディスク分のセクタが余ってしまう。このセクタには、実データが保存されているセクタも含まれている。なぜならば、図13の書込管理処理において、実データを書き込むために入れ替えたセクタも、図15のセクタ戻し処理で、すべて元に戻されるためである。そこで、ステップS605では、ディスク管理処理部201が、一時的に余ったセクタを電源がOFFとなる予定のディスク230へ割り振る。このままでは、電源がOFFになるディスク230に実データが書き込まれたセクタが割り振られたままになってしまうので、電源がOFFとなる予定のディスク230へ割り振ったセクタを電源がONとなる予定のディスク230へ割り振り直す処理を行う必要がある。この処理は図17のセクタ配置処理で行う。
ステップS605の具体的な処理は、以下の手順で行われる。まず、ディスク管理処理部201は、縮小用RAIDテーブル208を検索して、「パリティグループ情報」が「OFF」となっているエントリ(縮小用RAIDテーブルエントリ)を取得する。そして、ディスク管理処理部201は、運用状況テーブル204を検索して、取得した縮小用RAIDテーブルエントリにおける「ディスク上の実データ位置」に登録されているブロックと同じブロックを「ディスク上の実データ位置」に有するエントリ(運用状況テーブルエントリ)を取得する。更に、ディスク管理処理部201は、取得した縮小用RAIDテーブルエントリの「パリティグループ情報」(「OFF」)と「ブロックの割当先」の情報を、取得した運用状況テーブルエントリの「パリティグループ情報」と「ブロックの割当先」へコピーする。
これにより、ディスク管理処理部201は、RAID構成を縮小した際に、電源がOFFとなるディスク230のブロックとLU250上のセクタとを対応付ける。
次に、ディスク管理処理部201は、一時保存用ディスクテーブル205を検索して、取得した運用状況テーブルエントリの「ブロックの割当先」に保存されているセクタと同じセクタを「ブロックの割当先」に有するエントリ(一時保存用ディスクテーブルエントリ)を取得する。そして、ディスク管理処理部201は、取得した一時保存用ディスクテーブルエントリの「ディスク上の実データ位置」のブロックの実データを、取得している運用状況テーブルエントリの「ディスク上の実データ位置」が示すブロックへコピーする。そして、ディスク管理処理部201は、取得している一時保存用ディスクテーブルエントリの「ブロックの状態」の情報を、取得している運用状況テーブルエントリの「ブロックの状態」へコピーする。そして、ディスク管理処理部201は、取得している一時保存用ディスクテーブルエントリの「ブロックの状態」と「ブロックの割当先」を削除する。
これにより、ディスク管理処理部201は、一時保存用ディスク240で余っているセクタに保存されている実データを、電源がOFFとなっているディスク230へ割り振ると同時に、一時保存用ディスク240のセクタとブロックの関係を、運用状況テーブル204へ反映する。
(セクタ配置処理)
図17は、本実施形態に係るセクタ配置処理の手順を示すフローチャートである。
なお、図17は、図14のステップS404に相当する処理である。図17において、ディスク管理処理部201は、電源がOFFとなる予定のディスク230へ一時的に割り振られたセクタおよび実データを、電源がONとなる予定のディスク230へ割り振り直す処理を行う。
なお、ディスク管理処理部201は、運用状況テーブル204の一番最初のエントリから運用状況テーブルエントリ毎に行う。
まず、ディスク管理処理部201は、すべての運用状況テーブルエントリ(エントリ)について処理を行ったか否かを判定する(S701)。
ステップS701の結果、すべてのエントリについて処理を行っている場合(S701→Yes)、ディスク管理処理部201は、図14の処理へリターンする。
ステップS701の結果、すべてのエントリについて処理を行っていない場合(S701→No)、ディスク管理処理部201は、運用状況テーブル204を検索して、「パリティグループ情報」が「OFF」であり、かつ「ブロックの状態」が「有」となっているエントリ(運用状況テーブルエントリ:以下、「エントリ100」と記載)を取得する(S702)。
次に、ディスク管理処理部201は、運用状況テーブル204を検索して、「パリティグループ情報」が「OFF」ではなく、「ブロックの状態」が「無」となっているエントリ(運用状況テーブルエントリ:以下、「エントリ200」と記載)を取得する(S703)。
そして、ディスク管理処理部201は、「エントリ100」の「ディスク上の実データ位置」が示すブロックに保存されている実データを、「エントリ200」の「ディスク上の実データ位置」が示すブロックに保存されている実データと入れ替える(S704)。なお、このとき、ディスク管理処理部201が「エントリ100」に該当する実データを、「エントリ200」が示すブロックへコピーしてもよい。続いて、ディスク管理処理部201は、運用状況テーブル204を参照して、「エントリ100」の「ブロックの状態」と「ブロックの割当先」の情報を、「エントリ200」のそれらと入れ替える。
そして、ディスク管理処理部201は、ステップS701へ処理を戻し、「エントリ100」がなくなるまでステップS701〜S704の処理を行う。
(ディスク電源ON処理)
図18は、本実施形態に係るディスク電源ON処理の手順を示すフローチャートである。
なお、図18の処理は、図12のステップS206に相当する処理である。
まず、ディスク管理処理部201は、ディスク230の電源がOFFとなっているものがあれば、すべてをONにする(S801)。ここで、すべてのディスク230の電源をONにするのは、図14のステップS401と同様、セクタ戻し処理を実行できるようにするためである。
そして、ディスク管理処理部201は、運用状況テーブル204における「セクタの状態」をRAID構成時またはRAID再構成時の状態へ戻すセクタ戻し処理を実行する(S802)。セクタ戻し処理については、図15を参照して説明したため説明を省略する。
次に、ディスク管理処理部201は、ディスク230を増やした状態でRAIDを再構成するRAID拡張処理を実行する(S803)。RAID拡張処理については、図19を参照して後記する。
更に、ディスク管理処理部201は、ステップS803のRAID拡張処理終了直後において、電源がOFFとなるディスク230に格納されている実データを電源がONのディスク230に移動するセクタ配置処理を実行する(S804)。セクタ配置処理については、図17を参照して説明したため、ここでは説明を省略する。
そして、ディスク管理処理部201は、運用状況テーブル204における「ブロックの状態」が「OFF」となっているディスク230(OFFにすべきディスク230)の電源をOFFにし、所属サーバテーブルエントリの「使用中ディスク」を更新し、拡張再構成したRAID構成に従ってRAIDテーブル206、拡張用RAIDテーブル207、縮小用RAIDテーブル208を更新する(S805)。各テーブルの更新は以下の手順で行う。ディスク管理処理部201は、RAIDテーブル206を縮小用RAIDテーブル208にコピーすることによって、縮小用RAIDテーブル208を更新する。また、ディスク管理処理部201は、拡張用RAIDテーブル207をRAIDテーブル206にコピーすることによってRAIDテーブル206を更新する。更に、ディスク管理処理部201は、新たに作成したRAIDテーブル206を基に、拡張用RAIDテーブル207を作成する。拡張用RAIDテーブル207の作成手順は、図12のステップS201で説明した通りであるので説明を省略する。
(RAID拡張処理)
図19は、本実施形態に係るRAID拡張処理の手順を示すフローチャートである。
図19の処理は、図18のステップS803に相当する処理である。
まず、ディスク管理処理部201は、所属サーバテーブル209を参照して、電源がOFFになっているディスク230から電源をONにするディスク230(電源ON対象ディスク230)を決定する。このとき、既にすべてのディスク230が使用中であり、電源ON対象ディスク230を決定できないとき、ディスク管理処理部201はサーバ1にその旨を通知し、サーバ1は図示しない表示部にすべてのディスク230が使用中である旨の情報を表示する。
次に、ディスク管理処理部201は、電源ON対象ディスク230上の実データを一時保存用ディスク240へコピーし、一時保存用ディスクテーブル205を更新する(S901)。
具体的には、ディスク管理処理部201は、運用状況テーブル204を検索して、「ディスク上の実データ位置」が、電源ON対象ディスク230上のブロックとなっており、かつ「ブロックの状態」がパリティとなっていないエントリ(運用状況テーブルエントリ)を取得する。
そして、ディスク管理処理部201は、一時保存用ディスクテーブル205に一時保存用ディスクテーブルエントリを1つ確保し、それぞれのエントリに一時保存用ディスク240のブロックを割り当てる。そして、ディスク管理処理部201は、取得した運用状況テーブルエントリの「ディスク上の実データ位置」に保存されているブロックの実データを、一時保存用ディスクテーブルエントリの「ディスク上の実データ位置」が示すブロックへコピーする。
続いて、ディスク管理処理部201は、処理対象となっている運用状況テーブルエントリの「ブロックの状態」と「ブロックの割当先」の情報を、処理対象となっている一時保存用ディスクテーブルエントリの「ブロックの状態」と「ブロックの割当先」にコピーする。
ディスク管理処理部201は、すべての運用状況テーブルエントリに関し、ステップS901の処理を行う。
次に、ディスク管理処理部201は、運用状況テーブル204において、まだ処理していないパリティグループがあるか否かを判定する(S902)。
ステップS902の結果、処理していないパリティグループがある場合(S902→Yes)、ディスク管理処理部201は、処理対象となっているパリティグループの運用状況テーブル204における「ディスク上の実データ位置」が示すブロックの実データをキャッシュ220にコピーする(S903)。
具体的には、ディスク管理処理部201は、処理対象となっているパリティグループ情報を有する運用状況テーブル204を検索して、「ブロックの状態」が「パリティデータ」となっていないエントリ(運用状況テーブルエントリ)を取得する。そして、ディスク管理処理部201は、取得した運用状況テーブルエントリの「ディスク上の実データ位置」に保存されているブロックの実データをキャッシュ220にコピーし、「ブロックの状態」と、「ブロックの割当先」の情報をキャッシュ220のキャッシュテーブルエントリにコピーする。キャッシュエントリの構造は、一時保存用ディスクテーブルエントリと同様であるため、説明を省略する。キャッシュ220と、一時保存用ディスク240にコピーされる実データの関係については、後記して説明する。
ディスク管理処理部201は、処理対象となっているパリティグループに係るすべての運用状況テーブルエントリについて、ステップS903の処理を行う。
次に、ディスク管理処理部201は、拡張用RAIDテーブル207を使って、運用状況テーブル204を更新し、RAIDの再構成を行う(S904)。
具体的には、ディスク管理処理部201は、拡張用RAIDテーブル207を検索して、パリティグループ情報が、処理対象となっているパリティグループと同じであるエントリ(拡張用RAIDテーブルエントリ)を取得する。続いて、ディスク管理処理部201は、運用状況テーブル204を検索して、取得した拡張用RAIDテーブルエントリの「ディスク上の実データ位置」が示すブロックと同じブロックを示すエントリ(運用状況テーブルエントリ)を取得する。そして、ディスク管理処理部201は、取得している拡張用RAIDテーブルエントリを運用状況テーブルエントリへコピーする(「ブロックの種類」の項は「ブロックの状態」の項へ変換した上でコピーする)。
ディスク管理処理部201は、処理対象となっているパリティグループに係るすべての運用状況テーブルエントリおよびすべての拡張用RAIDテーブルエントリについて、ステップS904の処理を行う。
次に、ディスク管理処理部201は、キャッシュ220にコピーした実データをLU250上に戻し、運用状況テーブル204を更新した(S905)後、ステップS902へ処理を戻し、次のパリティグループに対してステップS902〜S905の処理を行う。
具体的には、ディスク管理処理部201は、運用状況テーブル204を検索して、図示しないキャッシュエントリの「ブロックの割当先」に保存されているブロックと同じブロックを「ブロックの割当先」に有するエントリ(運用状況テーブルエントリ)を取得する。そして、ディスク管理処理部201は、処理対象となっているキャッシュエントリの「ブロックの割当先」の実データを運用状況テーブルエントリの「ディスク上の実データ位置」が示すブロックへコピーする。更に、ディスク管理処理部201は、キャッシュエントリの「ブロックの状態」と「ブロックの割当先」の情報を、取得している運用状況テーブルエントリの「ブロックの状態」と「ブロックの割当先」へコピーする。このとき、パリティグループ内にパリティデータを生成できるだけの実データがそろっていれば、ディスク管理処理部201は、取得している運用状況テーブルエントリの「パリティグループ情報」が処理対象となっているパリティグループと同じパリティグループに対してパリティを有効にする。つまり、新たにグループ分けされたパリティグループの実データから、新しいパリティデータを生成する。
ディスク管理処理部201は、処理対象となっているパリティグループに係るすべての運用状況テーブルエントリについて、ステップS905の処理を行う。
ステップS902の結果、すべてのパリティグループに対してステップS903〜S905の処理を行っている場合(S902→No)、ディスク管理処理部201は、一時保存用ディスクテーブル205のエントリが示す実データをLU250上に戻し、一時保存用ディスクテーブル205と運用状況テーブル204とを更新し(S906)、図18の処理へリターンする。
具体的には、ディスク管理処理部201は、一時保存用ディスクテーブル205から1エントリ(一時保存用ディスクテーブルエントリ)を選択する。選択は、例えば、一時保存用ディスクテーブル205の一番上のエントリから順に選択される。次に、ディスク管理処理部201は、運用状況テーブル204を検索して、選択された一時保存用ディスクテーブルエントリの「ブロックの割当先」と同じブロックを「ブロックの割当先」に有するエントリ(運用状況テーブルエントリ)を取得する。そして、ディスク管理処理部201は、選択された一時保存用ディスクテーブルエントリの「ディスク上の実データ位置」が示すブロックに保存している実データを、取得した運用状況テーブルエントリの「ディスク上の実データ位置」が示すブロックへコピーする。そして、ディスク管理処理部201は、選択した一時保存用ディスクテーブルエントリの「ブロックの状態」と「ブロックの割当先」の情報を、取得した運用状況テーブルエントリの「ブロックの状態」と「ブロックの割当先」の項へコピーする。最後に、ディスク管理処理部201は、選択した一時保存用ディスクテーブルエントリの「ブロックの状態」と「ブロックの割当先」の情報を削除する。
ディスク管理処理部201は、すべての一時保存用ディスクテーブルエントリに対し、ステップS906の処理を行う。
ここで、一時保存用ディスク240に保存される実データと、キャッシュ220に保存される実データとの関係を説明する。
ディスク230が3つ(「ディスク1」〜「ディスク3」)の状態から、1つディスクが増えた場合(「ディスク1」〜「ディスク4」)について説明する。
図18のセクタ戻し処理(S802)終了後、「ディスク1」〜「ディスク3」に保存されている各パリティグループを「D1,D2,P1」、「D3,P2,D4」、「P3,D5,D6」、・・・、「D97,P49,D98」とする。そして、現在電源がOFFとなっている「ディスク4」には、「D99,D100,D101,D102,D103,・・・」が保存されているとする。
まず、ステップS901において、ディスク管理処理部201は、「ディスク4」に格納されている「D99,D100,D101,D102,D103,・・・」を一時保存用ディスク240に退避コピーし、「ディスク4」を空にしておく。
そして、ステップS903において、ディスク管理処理部201は、最初のパリティグループを構成する実データ「D1,D2」をキャッシュ220にコピーし、ステップS904,S905で拡張用RAIDテーブル207に従って、「ディスク1」〜「ディスク4」のデータに割り振る。このときのパリティグループは「D1,D2,DNull,PNull」となる。ここで、「DNull」は、実データ用の空セクタであり、PNullはパリティデータ用の空セクタである。ディスク管理処理部201は、次のパリティグループを構成する実データ「D3,D4」をキャッシュにコピーし(S903)、ステップS904,S905で拡張用RAIDテーブル207に従って、「ディスク1」〜「ディスク4」のデータに割り振る。このとき、新たな1番目のパリティグループにおいて、パリティデータを生成するのに必要な実データがそろったため、ディスク管理処理部201はパリティデータを生成する。このときのパリティグループは「D1,D2,D3,P1a」、「D4,DNull,PNull,DNull」となる。
ディスク管理処理部201は、「ディスク1」〜「ディスク3」で構成されていたすべてのパリティグループについて、同様の処理を繰り返す。
そして、すべてのパリティグループに関する処理が終了した時点(S902→No)における各パリティグループのデータ構造は、「D1,D2,D3,P1a」、「D4,D5,P2a,D6」、・・・、「D97,D98,DNull,PNull」となる。
次に、ステップS906で、ディスク管理処理部201は、一時保存ディスク240に退避していた「D99,D100,D101,D102,D103,・・・」の実データを拡張用RAIDテーブル207に従って、「ディスク1」〜「ディスク4」のデータに割り振る。これにより、「ディスク1」〜「ディスク4」で新たに構成されるパリティグループは、「D1,D2,D3,P1a」、「D4,D5,P2a,D6」、・・・、「D97,D98,D99,P33a」、「D100,D101,P34a,D102」、「D103、P35a,D104,D105」・・・となる。
[効果]
本実施形態によれば、ディスク230の空容量に応じて、RAIDを再構成することにより、無駄のないLU250を実現することができる。
また、サーバ1がディスク230の使用率を監視して、RAIDの再構成を指示するため、ユーザが複雑な操作を行わなくてもよい。
更に、RAIDの再構成後、電源がOFFとなっているディスク230に実データを書き込もうとすると、ディスク装置2の書込管理処理部202が、電源がONとなっているディスク230において、実データが書き込まれていないブロックを検出する。そして、書込管理処理部202は、実データが書き込まれようとしている電源がOFFのディスク上のブロックと、検出した電源がONとなっているディスク230上のブロックへ実データを書き込むことにより、ユーザはRAIDの再構成を意識することなくLUを使用することができる。
1 サーバ
2 ディスク装置
10 ディスク管理システム
100 メモリ(サーバ)
101 論理ディスク監視処理部
102 アプリケーション
103 論理ディスク使用状況テーブル
104 論理ディスクテーブル
200 メモリ(ディスク装置:記憶部)
201 ディスク管理処理部
202 書込管理処理部
203 RAID構成テーブル
204 運用状況テーブル(現在データ位置情報)
205 一時保存用ディスクテーブル
206 RAIDテーブル
207 拡張用RAIDテーブル(拡張データ位置情報)
208 縮小用RAIDテーブル(縮小データ位置情報)
209 所属サーバテーブル
220 キャッシュ
230 ディスク
240 一時保存用ディスク
250 LU(論理ユニット)

Claims (10)

  1. 複数のディスクを用いて、少なくとも1つ以上の論理ユニットを構成しているディスク装置による論理ユニット管理方法であって、
    前記ディスク装置が、
    ディスクの個数の倍数分の空容量が生じたことを検知すると、
    前記論理ユニットに保存されている実データを、いずれかのディスクが空ディスクとなるように、前記複数のディスク間で実データを移動して、前記実データをまとめる処理を行い、
    前記処理により生じた空ディスク以外のディスクで論理ユニットを再構成し、
    前記論理ユニットを再構成した後、前記論理ユニットを構成していないディスクの電源をOFFにする
    ことを特徴とする論理ユニット管理方法。
  2. 前記ディスク装置が、
    前記ディスク装置と通信可能なサーバが、前記電源をOFFにされたディスクに実データを書き込もうとしたとき、電源がOFFでないディスクにおいて、実データが格納されていないディスクの位置を検索し、前記検索したディスクの位置へ前記実データを書き込むことを特徴とする請求項1に記載の論理ユニット管理方法。
  3. 現在の論理ユニットにおける実データの位置と、ディスクにおける実データの位置とを対応付けた現在データ位置情報を記憶部に有するとともに、
    前記ディスクの数を減らしたときの、前記論理ユニットにおける実データの位置と、ディスクにおける実データの位置を対応付けた縮小データ位置情報を記憶部に、更に有し、
    前記ディスク装置が、
    前記現在データ位置情報と、縮小データ位置情報を基に、前記ディスク内の実データの移動を行い、前記論理ユニットの再構成を行う
    ことを特徴とする請求項1に記載の論理ユニット管理方法。
  4. 前記ディスク装置が、
    前記ディスク装置と通信可能なサーバが、前記論理ユニットを構成する各ディスクの使用率を監視し、前記使用率が、所定の値以下となったとき、前記ディスクの個数の倍数分の空容量が生じたと判定する請求項1に記載の論理ユニット管理方法。
  5. 前記ディスク装置が、
    現在の論理ユニットにおける実データの位置と、ディスクにおける実データの位置を対応付けた現在データ位置情報を記憶部に有し、
    ディスクの数を増やしたときの、論理ユニットにおける実データの位置と、ディスクにおける実データの位置を対応付けた拡張データ位置情報を記憶部に、更に有し、
    前記論理ユニットの使用領域が、所定の値以上となったとき、
    前記現在データ位置情報と、拡張データ位置情報とを基に、前記ディスク内の実データの移動を行い、
    前記ディスクを増やした論理ユニットを再構成する
    ことを特徴とする請求項1に記載の論理ユニット管理方法。
  6. 請求項1から請求項5に記載の論理ユニット管理方法をコンピュータに実行させることを特徴とするプログラム。
  7. 複数のディスクを用いて、少なくとも1つ以上の論理ユニットを構成しているディスク装置であって、
    ディスクの個数の倍数分の空容量が生じたことを検知すると、前記論理ユニットに保存されている実データを、いずれかのディスクが空ディスクとなるように、前記複数のディスク間で実データを移動して、前記実データをまとめる処理を行い、前記処理により生じた空ディスク以外のディスクで論理ユニットを再構成し、前記論理ユニットを再構成した後、前記論理ユニットを構成していないディスクの電源をOFFにするディスク管理処理部を有する
    ことを特徴とするディスク装置。
  8. 前記ディスク装置は、
    前記ディスク装置と通信可能なサーバが、前記電源をOFFにされたディスクに実データを書き込もうとしたとき、電源がOFFでないディスクにおいて、実データが格納されていないディスクの位置を検索し、前記検索したディスクの位置へ前記実データを書き込む書込管理処理部を、更に有する
    ことを特徴とする請求項7に記載のディスク装置。
  9. 前記ディスク装置は、
    現在の論理ユニットにおける実データの位置と、ディスクにおける実データの位置とを対応付けた現在データ位置情報と、
    前記ディスクの数を減らしたときの、前記論理ユニットにおける実データの位置と、ディスクにおける実データの位置を対応付けた縮小データ位置情報を有する記憶部を、更に有し、
    前記ディスク管理処理部は、
    前記現在データ位置情報と、縮小データ位置情報を基に、前記ディスク内の実データの移動を行い、前記論理ユニットの再構成を行う機能を、更に有する
    ことを特徴とする請求項7に記載のディスク装置。
  10. 前記ディスク管理処理部は、
    前記ディスク装置と通信可能なサーバが、前記論理ユニットを構成する各ディスクの使用率を監視する機能と、
    前記使用率が、予め設定された所定の値以下となったとき、前記ディスクの個数の倍数分の空容量が生じたと判定する機能を有する
    ことを特徴とする請求項7に記載のディスク装置。
JP2009044273A 2009-02-26 2009-02-26 論理ユニット管理方法、プログラムおよびディスク装置 Expired - Fee Related JP5149835B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009044273A JP5149835B2 (ja) 2009-02-26 2009-02-26 論理ユニット管理方法、プログラムおよびディスク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009044273A JP5149835B2 (ja) 2009-02-26 2009-02-26 論理ユニット管理方法、プログラムおよびディスク装置

Publications (2)

Publication Number Publication Date
JP2010198464A true JP2010198464A (ja) 2010-09-09
JP5149835B2 JP5149835B2 (ja) 2013-02-20

Family

ID=42823107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009044273A Expired - Fee Related JP5149835B2 (ja) 2009-02-26 2009-02-26 論理ユニット管理方法、プログラムおよびディスク装置

Country Status (1)

Country Link
JP (1) JP5149835B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016170632A1 (ja) * 2015-04-22 2016-10-27 株式会社日立製作所 計算機及び電源制御方法
WO2017145223A1 (ja) * 2016-02-22 2017-08-31 株式会社日立製作所 計算機システム、計算機システムの制御方法、および記録媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006098036A1 (ja) * 2005-03-17 2006-09-21 Fujitsu Limited 省電力制御装置、省電力制御方法および省電力制御プログラム
JP2006343924A (ja) * 2005-06-08 2006-12-21 Hitachi Ltd ボリューム管理システムおよびその方法
JP2007219703A (ja) * 2006-02-15 2007-08-30 Fujitsu Ltd ハードディスクストレージ制御プログラム、ハードディスクストレージ装置、ハードディスクストレージ制御方法
JP2007249784A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd 記憶装置の電源制御方法
JP2008052547A (ja) * 2006-08-25 2008-03-06 Hitachi Ltd 記憶制御装置及び記憶制御装置の障害回復方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006098036A1 (ja) * 2005-03-17 2006-09-21 Fujitsu Limited 省電力制御装置、省電力制御方法および省電力制御プログラム
JP2006343924A (ja) * 2005-06-08 2006-12-21 Hitachi Ltd ボリューム管理システムおよびその方法
JP2007219703A (ja) * 2006-02-15 2007-08-30 Fujitsu Ltd ハードディスクストレージ制御プログラム、ハードディスクストレージ装置、ハードディスクストレージ制御方法
JP2007249784A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd 記憶装置の電源制御方法
JP2008052547A (ja) * 2006-08-25 2008-03-06 Hitachi Ltd 記憶制御装置及び記憶制御装置の障害回復方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016170632A1 (ja) * 2015-04-22 2016-10-27 株式会社日立製作所 計算機及び電源制御方法
WO2017145223A1 (ja) * 2016-02-22 2017-08-31 株式会社日立製作所 計算機システム、計算機システムの制御方法、および記録媒体
US10459638B2 (en) 2016-02-22 2019-10-29 Hitachi Ltd. Computer system that generates group information and redundant code based on user data and changes the group information and redundant code based on transmission data, control method for computer system, and recording medium

Also Published As

Publication number Publication date
JP5149835B2 (ja) 2013-02-20

Similar Documents

Publication Publication Date Title
US8041914B2 (en) Storage system comprising function for reducing power consumption
US8909848B2 (en) Method for managing storage system using flash memory, and computer
JP2008065525A (ja) 計算機システム、データ管理方法及び管理計算機
JP2005157739A (ja) ディスクアレイ装置及びディスクアレイ装置の障害回避方法
JP2005196625A (ja) 情報処理システムおよび管理装置
JP2009157571A (ja) データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム
JP2007213721A (ja) ストレージシステム及びその制御方法
JP2010049634A (ja) ストレージシステム及びストレージシステムにおけるデータ移行方法
JP2009199541A (ja) 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム
JP5385458B2 (ja) 計算機システムおよびその更改方法
JP4717922B2 (ja) 情報処理システム、情報処理システムにおける制御方法、および、管理装置
WO2012168966A1 (en) Storage apparatus and method of controlling storage apparatus
JP2008269374A (ja) ストレージシステムおよびその制御方法
JPWO2016166844A1 (ja) 分散処理システム、タスク処理方法、記憶媒体
JP2008102590A (ja) ストレージシステムの運用管理方法およびストレージシステム
JP2016118821A (ja) ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム
JP2010250446A (ja) ファイル制御システムおよびそれに用いるファイル制御計算機
US20160196085A1 (en) Storage control apparatus and storage apparatus
US7873866B2 (en) Computer system, storage system and configuration management method
JP4937863B2 (ja) 計算機システム、管理計算機及びデータ管理方法
JP2010113587A (ja) ストレージシステムおよびストレージシステムによるファイルシステムの管理方法
JP5149835B2 (ja) 論理ユニット管理方法、プログラムおよびディスク装置
JP2009129025A (ja) 記憶情報配置システム、記憶情報配置方法、および記憶情報配置プログラム
JP5130764B2 (ja) ストレージシステムおよびその省電力化方法ならびにプログラム
JP5543653B2 (ja) 管理計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121130

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees