JP4671738B2 - ストレージシステム及び記憶領域割当て方法 - Google Patents

ストレージシステム及び記憶領域割当て方法 Download PDF

Info

Publication number
JP4671738B2
JP4671738B2 JP2005106034A JP2005106034A JP4671738B2 JP 4671738 B2 JP4671738 B2 JP 4671738B2 JP 2005106034 A JP2005106034 A JP 2005106034A JP 2005106034 A JP2005106034 A JP 2005106034A JP 4671738 B2 JP4671738 B2 JP 4671738B2
Authority
JP
Japan
Prior art keywords
storage
storage area
disk
file
data
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
JP2005106034A
Other languages
English (en)
Other versions
JP2006285739A (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
Priority to JP2005106034A priority Critical patent/JP4671738B2/ja
Priority to US11/167,274 priority patent/US7380093B2/en
Publication of JP2006285739A publication Critical patent/JP2006285739A/ja
Application granted granted Critical
Publication of JP4671738B2 publication Critical patent/JP4671738B2/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

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)

Description

本発明は、ストレージシステム及び記憶領域割当て方法に関する。
例えば、行政組織や企業あるいは大学等の各種機関では、日々増大し続ける多量のデータを効率的に管理するために、複数のコンピュータで記憶資源を共有する。このようなシステムとしては、例えば、SAN(Strorage Area Network)が知られている。
SANでは、例えば、複数のホストコンピュータ(以下、「ホスト」)と複数のストレージ装置とを備えている。各ホストとストレージ装置とは、例えば、ファイバチャネルプロトコルに基づいて、データ転送を行うことができる。
ストレージ装置は、例えば、ディスクアレイ装置またはストレージサブシステム等とも呼ばれるもので、多数の物理的な記憶デバイスをアレイ状に配設して構成される。ストレージ装置は、例えば、RAID(Redundant Array of Independent Disks)に基づく複数の記憶領域を提供することができる。各ディスクドライブが有する物理的な記憶領域上には、論理的な記憶領域である論理ボリューム(論理的な記憶デバイス)が形成される。
各ホストは、自分に割り当てられた論理ボリュームを使用して、データの入出力を行うことができる。例えば、データベース管理プログラム等のような、ホスト上で稼働するアプリケーションプログラム(以下、「アプリケーション」)は、所定の論理ボリュームに記憶されたデータ群を用いて、所定の業務を遂行する。
多数の論理ボリュームを各ホストにそれぞれ提供可能なストレージシステムにおいては、各ホストは、多数の論理ボリュームの中から所望の論理ボリュームを選択して使用することができる。このような利点がある一方、論理ボリュームに関する選択肢が多すぎるため、ユーザは、どのアプリケーションにどの論理ボリュームを割り当てるのが良いかについての選択に悩む。
そこで、ストレージシステム内の記憶資源を一元管理するための管理プログラムを設け、この管理プログラムによって、各ホストに論理ボリュームを割り当てるようにした技術が提案されている(特許文献1)。この文献に記載の技術では、各ホストは、新たな論理ボリュームが必要になると、必要とするボリュームサイズやRAID構成の種別を管理プログラムに通知する。管理プログラムは、ホストからの要求に合致する論理ボリュームを選択し、この選択された論理ボリュームをホストに割り当てる。
特開2001−142648号公報
前記文献に記載の管理プログラムは、ホストからの要求を受けて、論理ボリュームをそのホストに割り当てる。従って、ボリュームの割当ては、ユーザから隠蔽されており、ユーザは、物理的記憶デバイスの種類や数等を意識する必要はない。
しかし、前記文献に記載の従来技術では、ボリュームサイズやRAID構成のような論理ボリュームに関する大まかな条件を指定することはできるが、その論理ボリュームを構成する物理的記憶デバイスの位置やアクセス経路についての詳細な条件を指定することはできない。
従って、アプリケーションの具体的な利用方法を考慮して、そのアプリケーションに最適な論理ボリュームを選択することができないという未解決の課題がある。例えば、データベース管理プログラムで使用されるデータベースファイルとシステムファイルとは、それぞれ異なる物理的記憶デバイスに、あるいは、それぞれ異なるアクセス経路となる物理的記憶デバイスに記憶されるのが好ましい。
もしも、データベースファイルとシステムファイルとが同一の物理的記憶デバイスに記憶された場合、システムファイルの作成に伴うデータ入出力(I/O)とデータベースファイルへのデータ入出力(I/O)とが同一の記憶デバイスに対して行われる。このため、その記憶デバイスへのI/Oが競合し、応答性能が劣化する。
また、信頼性の観点から、システムファイルのような重要ファイルは、複数の論理ボリュームにそれぞれ記憶させて、二重化する。この場合も、二重化される各ファイルは、それぞれ物理的に異なる記憶デバイスに記憶されるのが好ましい。
このように、アプリケーションによるファイルの具体的な使用方法や使用内容は、そのアプリケーションが把握しており、ファイルの使用方法等は、アプリケーションの種類等によってそれぞれ相違する。
しかし、前記文献に記載の従来技術では、アプリケーションによるファイルの使用方法等を考慮して論理ボリュームを選択することができない。このため、従来技術では、信頼性や性能の点で、不適切な論理ボリュームが選択される可能性があり、そのアプリケーションに適した論理ボリュームを選択することができないという問題がある。
そこで、本発明の一つの目的は、データの性質に応じて適切な記憶領域を提供可能なストレージシステム及び記憶領域割当て方法を提供することにある。本発明の一つの目的は、既に存在する他の記憶領域との物理的な関係及び新たな記憶領域に記憶されるデータの特性を考慮して、適切な記憶領域を割り当てることができるようにしたストレージシステム及び記憶領域割当て方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
本発明の一つの側面に従うストレージシステムは、少なくとも一つ以上のアプリケーションプログラムが実行される第1コンピュータと、アプリケーションプログラムにより使用される複数のデータを一つまたは複数の記憶デバイスに記憶させるストレージ装置と、第1コンピュータ及びストレージ装置にそれぞれ接続され、アプリケーションプログラムへの記憶領域の割当てを制御する第2コンピュータとを備えたストレージシステムであって、第2コンピュータは、各記憶デバイスに関するデバイス管理情報を管理するためのデバイス管理情報管理部と、各データに関するデータ管理情報を管理するためのデータ管理情報管理部と、アプリケーションプログラムへの記憶領域の割当てを制御する制御部と、を備え、制御部は、アプリケーションプログラムへの記憶領域の割当てが要求された場合に、データ管理情報及びデバイス管理情報を用いることにより、要求された記憶領域と既に存在する他の記憶領域との物理的な関係を考慮して、要求された記憶領域に記憶されるデータの特性に応じた記憶領域を選択し、この選択された記憶領域をアプリケーションプログラムが利用できるように、第1コンピュータ及びストレージ装置にそれぞれ所定の指示を出すようになっている。
このストレージシステムは、少なくとも一つ以上の第1コンピュータと、少なくとも一つ以上のストレージ装置と、少なくとも一つ以上の第2コンピュータとを備えて構成することができる。第1コンピュータは、例えば、サーバマシン等のように構成され、一つまたは複数のアプリケーションプログラム(以下、アプリケーション)を実行させることができる。ストレージ装置は、アプリケーションにより使用されるデータ(例えば、ファイル)を記憶するための記憶領域をアプリケーションに提供する。第2コンピュータは、ストレージシステム内の記憶領域を管理するための管理用コンピュータである。記憶領域は、一つまたは複数の記憶デバイスの有する物理的な記憶領域上に設定される。
データ管理情報は、例えば、既に存在する他の記憶領域に記憶されているデータを管理するための情報である。データ管理項目としては、例えば、データの種別、データを使用するアプリケーションを特定する情報、データのサイズ等を挙げることができる。
デバイス管理情報は、各記憶デバイスを管理するための情報である。デバイス管理項目としては、例えば、論理ボリュームを特定する情報、論理ボリュームのRAID構成、論理ボリュームの状態(使用中か否か等)、論理ボリュームを構成する記憶デバイスを特定する情報、論理ボリュームへのアクセス経路等を挙げることができる。
第2コンピュータの制御部は、アプリケーションへの記憶領域の割当てが要求されると、この要求された記憶領域と既に存在する他の記憶領域との物理的な関係を考慮して、その要求された記憶領域に記憶されるデータの特性に応じた記憶領域を選択する。
これから選択しようとする記憶領域と他の記憶領域との物理的な関係とは、例えば、これら各記憶領域をそれぞれ構成する、あるいは、これら各記憶領域に関連する物理的構成の関係を意味する。物理的構成としては、例えば、その記憶領域を構成する物理的記憶デバイスの位置、その物理的記憶デバイスへのアクセス経路等を挙げることができる。
データの特性に応じた記憶領域とは、例えば、そのデータの使用方法等に応じた記憶領域である。例えば、耐障害性の観点から冗長化されて記憶される複数のデータは、それぞれ異なる物理的記憶デバイスから構成される記憶領域に、または、それぞれアクセス経路の異なる物理的記憶デバイスから構成される記憶領域に、記憶される。また、例えば、性能向上の観点からI/Oの競合を回避すべき複数のデータは、それぞれ物理的構成の異なる記憶領域に記憶される。
一つの実施形態では、記憶領域の割当て要求には、要求された記憶領域に関する物理的な位置条件以外の他の条件が含まれており、制御部は、要求された記憶領域に記憶されるデータの特性に適合するように物理的な位置条件を選定し、この選定された物理的な位置条件に合致する未使用の記憶領域を選択する。
物理的な位置条件以外の他の条件としては、例えば、記憶領域のサイズ、その記憶領域の構成(RAIDレベル)、その記憶領域を必要とするコンピュータ及びアプリケーションを特定する情報等を挙げることができる。この大まかな指示に基づいて、記憶領域を選択することも可能である。しかし、本発明の制御部は、他の条件に加えて、データの特性に適合する物理的な位置条件を選定し、この選定された物理的な位置条件に合致する未使用の記憶領域を選択する。他の条件は、基本条件と呼ぶこともできる。
ここで、物理的な位置条件とは、例えば、要求された記憶領域を構成する記憶デバイスに関する条件として定義可能であり、例えば、記憶領域を構成する物理的記憶デバイスの位置や、記憶デバイスへのアクセス経路等を挙げることができる。
物理的な位置条件は、要求された記憶領域と他の記憶領域とがそれぞれ異なる物理的配置属性を備えるべきか否かの可否を示す情報を含んで構成することもできる。物理的配置属性とは、例えば、その記憶領域のストレージシステム内における物理的な所在に関する属性を意味し、どのストレージ装置に存在するか、どの記憶デバイスにより構成されるか、どのようなアクセス経路でアクセス可能か等を挙げることができる。
本発明の他の実施形態では、物理的な位置条件は、要求された記憶領域と他の記憶領域とがそれぞれ異なる物理的配置属性を備えるべきか否かの相対的な強度を示す情報を含んで構成されている。例えば、相対的な強度の値が高く設定されるほど、他の記憶領域とは異なる物理的配置属性を備える記憶領域が要求される。このように、これから選択または生成しようとする記憶領域と既に存在する他の記憶領域とを物理的に遠ざけるべきか否かを、相対的な強度を示す情報によって指示することができる。
制御部は、要求された記憶領域に記憶される第1データと該第1データに関連して他の記憶領域に記憶されている第2データとの論理的な関係に適合するように、要求された記憶領域を選択することができる。例えば、第1データと第2データとが互いにバックアップする関係にある場合(即ち、二重化されたデータの場合)、第1データの記憶される記憶領域は、第2データの記憶されている記憶領域と異なる物理的属性を備えているのが好ましい。また、第1データと第2データとのI/Oが競合する場合も、それぞれ異なる物理的属性を備えた記憶領域に記憶させるのが好ましい。
制御部は、第1データと第2データとが同一の記憶デバイスに記憶可能な関係を有する場合、他の記憶領域を構成する記憶デバイスを含むようにして、要求された記憶領域を選択することができる。例えば、第1データと第2データとが、二重化の関係になく、I/Oが競合する関係にも無い場合、第1データ及び第2データは、それぞれ同一の記憶デバイスに設定された別々の記憶領域に記憶させることができる。
制御部は、第1データと第2データとがそれぞれ異なる記憶デバイスに記憶されるべき関係を有する場合、他の記憶領域を構成する記憶デバイスを除くようにして、要求された記憶領域を選択することもできる。
記憶領域の割当て要求には、要求された記憶領域を構成すべき記憶デバイスに関する物理的な位置条件以外の他の条件が含まれており、制御部は、要求された記憶領域に記憶される第1データと該第1データに関連して他の記憶領域に記憶されている第2データとがそれぞれ異なる記憶デバイスに記憶されるべき関係を有する場合、他の記憶領域を構成する記憶デバイスを除いた記憶デバイスのみから生成され、かつ、他の条件を満たす記憶領域を選択することができる。
制御部は、予め設定された配置ルールとデータ管理情報とに基づいて、要求された記憶領域を構成すべき記憶デバイスに関する物理的な位置条件を決定する位置条件決定部と、決定された物理的な位置条件と記憶領域の割当て要求に含まれている他の条件及びデバイス管理情報に基づいて、要求された記憶領域を決定する記憶領域決定部と、を含んで構成することができる。
本発明は、例えば、記憶領域割当て方法、記憶領域の割当てを管理する管理用コンピュータとして把握することもできる。本発明の構成の全部または一部は、マイクロコンピュータにより実行されるコンピュータプログラムとして構成可能な場合がある。このコンピュータプログラムは、例えば、ハードディスク、光ディスク、半導体メモリ等の記憶媒体に固定して配布することができるほか、インターネット等の通信ネットワークを介して、配信することもできる。
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、以下に述べるように、業務ホスト10と、ストレージ装置20及び管理ホスト30を備えており、これら各装置10〜30は、それぞれ互いに接続されている。管理ホスト30は、アプリケーション110へのボリューム222の割当てが要求されると、この要求されたボリューム222の用途(どのような性質のデータを格納するのか)に応じて、既に存在する他のボリュームとの物理的な関係を考慮し、用途に適したボリュームを選択または新たに生成し、アプリケーション110に提供する。
アプリケーション110へのボリューム割当て要求には、例えば、ボリュームサイズやRAID構成等の基本的な条件が含まれている。管理ホスト30は、この基本条件に合致する未使用のボリューム222を抽出し、この抽出されたボリューム222の中からボリュームの用途に応じた適切な物理的属性を有するボリュームを選択する。従って、ボリューム割当て要求を指示するユーザやアプリケーション110は、基本的条件だけを指定すればよく、物理的属性の適否について考慮する必要はない。
図1は、本発明に係るストレージシステムの全体構成を示すブロック図である。このストレージシステムは、例えば、業務ホスト10と、ストレージ装置20と、管理ホスト30とを含んで構成することができる。なお、図1中では、それぞれ一つずつ示しているが、複数の業務ホスト10及び複数のストレージ装置20を設けることができる。
業務ホスト10は、例えば、サーバマシンやメインフレームとして構成されるもので、所定の一つまたは複数の業務処理を実行する。業務ホスト10は、例えば、アプリケーション110と、ボリューム管理部120と、ボリューム管理テーブル130とを備えて構成することができる。アプリケーション110としては、例えば、データベース管理プログラム、ウェブページ生成プログラム、ドキュメント生成プログラム、画像生成プログラム等を挙げることができる。一つの業務ホスト10上で複数種類のアプリケーション110をそれぞれ実行させることができる。
ボリューム管理部120は、ボリューム管理テーブル130を用いることにより、その業務ホスト10が使用する各ボリュームの情報を管理する。ボリューム管理テーブル130には、どのアプリケーション110がどのボリュームを利用しているかの情報が記憶されている。
ストレージ装置20は、例えば、ディスクコントローラ210と、記憶部220とを備えて構成することができる。ディスクコントローラ210は、ストレージ装置20の全体動作を制御するもので、業務ホスト10及び管理ホスト30との間の情報交換や、記憶部220との間のデータ入出力処理等を行う。ディスクコントローラ210は、ディスク管理テーブル211を用いることにより、記憶部220内の各ディスクドライブ221及び各ボリューム222をそれぞれ管理する。
記憶部220は、複数のディスクドライブ221を備えている。各ディスクドライブ221とディスクコントローラ210とは、それぞれ複数の経路で接続されている。いずれか一方の経路が使用不能な場合でも、ディスクコントローラ210は、他方の経路を介してディスクドライブ221にアクセスすることができる。
各ディスクドライブ221は、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ、光磁気ディスクドライブ等のような各種の物理的記憶デバイス及びこれらの均等物から構成することができる。ハードディスクドライブの場合、例えば、FC(Fibre Channel)ディスク、SATA(Serial AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。また、異種類のディスクを混在させることもできる。
RAID構成等によっても相違するが、例えば、3個1組あるいは4個1組等のような複数個のディスクドライブ221によって、パリティグループ(RAIDグループとも呼ぶ)を構成することができる。各パリティグループが提供する記憶領域上には、論理ボリューム(図中「LU」)222を少なくとも一つ以上設定することができる。この論理ボリューム(以下、「ボリューム」)222が「記憶領域」に該当し、ディスクドライブ221が「記憶デバイス」に該当する。アプリケーション110は、ボリューム221をアクセス対象として認識し、このボリューム221にデータを書き込んだり、このボリューム221からデータを読み出す。なお、一つのディスクドライブ221に一つのボリューム222を設定することもできる。
管理ホスト30は、アプリケーション110へのボリューム222の割当てを一元的に管理するコンピュータである。管理ホスト30は、例えば、アプリケーション管理部310と、ストレージ管理部320と、ファイル管理テーブル330とを備えて構成することができる。
アプリケーション管理部310は、ストレージシステム内に存在するアプリケーション110の情報を管理し、アプリケーション110が動作するために必要な指示を与えるものである。アプリケーション管理部310は、アプリケーション領域拡張部311を備えることができる。アプリケーション領域拡張部(以下、「領域拡張部」)311は、アプリケーション110が使用するボリュームの拡張、新規割当てを行うものである。領域拡張部311は、配置要求テーブル生成処理312及び配置ルールテーブル313を備えている。領域拡張部311は、後述のように、配置ルールテーブル313を用いて、配置要求テーブルを生成し、この生成された配置要求テーブルを含む領域要求リストをストレージ管理部320に送信する。
ストレージ管理部320は、ストレージシステム内のディスクドライブ221及びボリューム222の所在等を管理するものである。ストレージ管理部320は、例えば、記憶領域割当部321と、ディスク管理テーブル323とを備えて構成可能である。記憶領域割当部321は、デバイス選択処理322を実行する。
デバイス選択処理322の詳細は後述するが、デバイス選択処理322は、アプリケーション管理部310から渡される領域要求リストとディスク管理テーブル323とを用いることにより、新規ボリュームの用途に応じて、既存ボリュームと適切な物理的関係を有するボリューム222を選択する。
ファイル管理テーブル330は、アプリケーション110が使用している各ファイル管理するためのテーブルである。詳細は後述する。
図2は、ストレージシステムのハードウェア構成及びネットワーク構成に着目したブロック図である。先にネットワーク構造から説明すると、各業務ホスト10は、それぞれ通信ネットワークCN1を介して、ストレージ装置20に接続されている。
この通信ネットワークCN1としては、例えば、FC-SAN(Fibre Channel-SAN)やIP-SAN(Internet Protocol-SAN)等を挙げることができる。業務ホスト10は、例えば、ファイバチャネルプロトコル、TCP/IP(Transmission Control Protocol/Internet Protocol)、ESCON(登録商標)、FICON(登録商標)等のプロトコルに基づいて、ストレージ装置20と通信を行う。
各業務ホスト10,ストレージ装置20及び管理ホスト30は、別の通信ネットワークCN2を介して、それぞれ接続されている。この通信ネットワークCN2は、管理用ネットワークと呼ぶことができ、例えば、LAN(Local Area Network)やWAN(Wide Area Netwrok)等から構成することができる。各業務ホスト10,ストレージ装置20及び管理ホスト30は、例えば、TCP/IP等のプロトコルに基づいて、管理用のデータを通信することができる。
次に、ハードウェア構成について説明する。一つの業務ホスト10を例に挙げて説明すると、業務ホスト10は、例えば、CPU(Central Processing Unit)101と、メモリ102と、ローカルディスク103と、LANインターフェース104と、HBA(Host Bus Adapter)105とを備えて構成することができる。これら各部101〜105は、バス106によって接続されている。
メモリ102は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)等を含んで構成することができる。メモリ102には、アプリケーション110やボリューム管理部120のプログラムが記憶されている。CPU101は、これらのプログラムをメモリ102から読出して実行することにより、各機能をそれぞれ実現するようになっている。なお、ボリューム管理テーブル130は、ローカルディスク103に記憶させているが、これに限らず、メモリの空き容量がそれを許すならば、メモリ102に記憶させてもよい。
そして、業務ホスト10は、LANインターフェース104を介して通信ネットワークCN2に接続されており、管理ホスト30との間でデータ通信を行う。なお、業務ホスト10は、複数のHBA105を備えることができる。
ストレージ装置20のディスクコントローラ210は、例えば、CPU201と、制御メモリ202と、キャッシュメモリ203とを備えて構成できる。制御メモリ202には、制御プログラムのほかにディスク管理テーブル211が記憶されている。ディスク管理テーブル211は、定期的に、または不定期に、通信ネットワークCN2を介して、管理ホスト30に送信される。管理ホスト30は、ストレージ装置20から取得したディスク管理テーブル211に基づいて、ディスク管理テーブル323を生成する。ストレージ装置20は、例えば、記憶部220の構成が変更されると、I/O量の少ない時間帯を見計らって、ディスク管理テーブル211を管理ホスト30に送信する。
CPU201は、制御メモリ202に記憶されている制御プログラムを読み込んで実行することにより、RAID制御やディスクアクセス等を制御する。キャッシュメモリ203は、ディスクドライブ221に書き込まれるデータ(ライトデータ)や、業務ホスト10に読み出されたデータ(リードデータ)等が記憶されている。
なお、例えば、いずれかのディスクドライブ221の記憶領域をキャッシュ領域として使用することもできる。また、キャッシュメモリ203の一部を、一つまたは複数の論理ディスクに見せかけて、ディスクドライブ221へのアクセスが不要なデバイスとして利用することもできる。
ディスクコントローラ210は、複数のポート204及び通信ネットワークCN1を介して、各業務ホスト10とそれぞれ個別に通信を行うことができる。ディスクコントローラ210は、LANインターフェース205及び通信ネットワークCN2を介して、管理ホスト30に接続されている。なお、ディスクコントローラ210は、例えば、SAN等の通信ネットワーク206を介して各ディスクドライブ221に接続されている。
管理ホスト30は、例えば、CPU301と、メモリ302と、ローカルディスク303と、LANインターフェース304とを備えて構成することができる。これら各部301〜304は、バス305を介して接続されている。
メモリ302には、複数のプログラムが記憶されている。これらのプログラムをCPU301が読み込んで実行することにより、アプリケーション管理部310やストレージ管理部320が実現される。ローカルディスク303には、ファイル管理テーブル330を記憶させることができる。
図3は、ストレージシステムのデータ構造を模式的に示す説明図である。アプリケーション110がデータベース管理プログラムである場合を例に挙げる。アプリケーション110は、一つまたは複数のサーバプロセスを実行することができる。
一つのサーバプロセスは、それぞれ複数種類のファイル111A,111B,112A,112Bを利用することができる。RDエリア111A,111Bは、表を格納する論理的なエリアであり、複数のファイルから構成される。RDエリアは、表スペースあるいは表領域と呼ばれることもある。シンクポイントダンプ(以下、「spd」)112A,112Bは、障害からの回復時に必要な管理情報であり、システムファイルの一種であるシンクポイントダンプファイル(以下、spdファイル)から構成される。
サーバプロセスは、例えば定期的に、シンクポイントを取得する。シンクポイントの取得時には、そのサーバプロセスの配下にある全てのRDエリア111A,111B、及びいずれか1つのspd112A(または112B)に対して、同時にライトアクセスが行われる。
各RDエリア111A,111B及び各spd112A,112Bは、それぞれ複数のファイル113を含んで構成することができる。これらの各ファイル113は、それぞれ所定の論理ディスク(論理ボリューム)222に記憶される。なお、以下の説明では、論理ボリュームを論理ディスク222と呼ぶ。
既に述べた通り、各ボリューム222は、ディスクドライブ221の有する物理的な記憶領域上に設定された論理的な存在である。ボリューム222に記憶されるファイル113のデータは、そのボリューム222を構成する所定のディスクドライブ221の所定のアドレスに記憶される。
複数のディスクドライブ221によってRAIDに基づく記憶構造が形成される場合、ディスクコントローラ210は、RAIDレベルに応じて、ファイル113のデータをディスクドライブ221に記憶させる。例えば、RAID1の場合、ファイル113のデータは、別々のディスクドライブ221にそれぞれ記憶される。RAID3−5の場合、ファイル113のデータは、所定サイズに分割されて複数のディスクドライブ221に分散して記憶される。また、分割されたデータのパリティが算出され、この算出されたパリティは、所定のディスクドライブ221または各ディスクドライブ221に記憶される。以上述べたRAID制御は、ディスクコントローラ210によって行われる。
図3に示すように、RDエリア111A,111Bの各spdファイル113は、spd112A,112Bの各ファイル113とは物理的に異なるディスクドライブ221に記憶される。また、二重化されるspdファイルf6とf7、f8とf9は、それぞれ物理的に異なるディスクドライブ221に記憶される。
図4は、ディスク管理テーブル323の構成例を示す説明図である。ディスク管理テーブル323は、ストレージ装置20の保持するディスク管理テーブル211と同一の構成を備えることができる。
ディスク管理テーブル323は、例えば、論理ディスク番号と、サイズと、RAID構成と、状態と、物理ディスク番号と、パス情報とを対応付けることにより、構成することができる。論理ディスク番号とは、各論理ディスク222を識別するための情報である。本実施例では、論理ディスク番号により、各論理ディスク222をストレージ装置20内で一意に特定することができる。サイズとは、論理ディスク222の記憶容量(ボリュームサイズ)を示す。RAID構成とは、論理ディスク222のRAIDレベルを示す。
状態とは、論理ディスク222の現在の状態を示す。状態の種類としては、例えば、「使用中」、「未使用」、「障害発生」等を挙げることができる。「使用中」状態の場合、その論理ディスク222は、いずれかのアプリケーション110によって使用されていることを示す。「未使用」状態の場合、その論理ディスク222は、いずれのアプリケーション110からも使用されていない(マウントされていない)ことを示す。
物理ディスク番号とは、その論理ディスク222を構成するディスクドライブ221を特定するための情報である。物理ディスク番号により、ストレージ装置20内において、各ディスクドライブ221は、それぞれ一意に特定される。パス情報とは、論理ディスク222へのアクセス経路を識別するための情報である。パス情報には、ポート204を識別するポート番号を使用することができる。
図5は、ファイル管理テーブル330の構成例を示す説明図である。ファイル管理テーブル330は、ストレージシステム内の各ファイルが、どのアプリケーション110により使用されており、どこに記憶されているか等を一元的に管理する。
ファイル管理テーブル330は、例えば、ファイル名称と、ファイル種別と、サーバプロセスIDと、RDエリアIDと、ファイルグループIDと、論理ディスク番号と、ファイルサイズとを対応付けることにより、構成することができる。ファイル名称とは、そのファイルの名称である。ファイル種別とは、そのファイルの種類を示す。本実施例では、ファイル種別として「DB」及び「spd」の2種類を例示する。RDエリア111A,111Bを構成する各ファイルは、「DB」に分類される。spd112A,112Bを構成する各ファイルは、「spd」に分類される。
サーバプロセスIDとは、サーバプロセスを識別するための情報である。ストレージシステム内で、各サーバプロセスは、サーバプロセスIDにより一意に特定される。RDエリアIDとは、ストレージシステム内に存在する各RDエリアを一意に特定するための情報である。RDエリアIDは、RDエリアを構成するファイルについてのみ設定され、RDエリアに属さない他のファイル(種別「spd」のファイル)には設定されない。ファイルグループIDとは、二重化されるファイルのグループをストレージシステム内で一意に識別するための情報である。本実施例では、spdファイルに属するファイルのみが二重化される場合を例示する。従って、ファイルグループIDは、spdファイルに属するファイルについてのみ設定され、spdファイルに属さない他のファイル(種別「DB」のファイル)には設定されない。
論理ディスク番号とは、上述の通り、論理ディスク222を一意に特定するための情報であり、これにより、各ファイルが記憶されている論理ディスク222を特定することができる。ファイルサイズとは、そのファイルの大きさを示す。なお、本明細書では、論理ディスクを「デバイス」と呼ぶ場合もある。
図6は、配置ルールテーブル313の構成例を示す説明図である。配置ルールテーブル313は、アプリケーション110によるファイルの使用方法に基づいて導き出される論理ディスク222の割当て方針を管理するものである。従って、配置ポリシーテーブルと呼ぶこともできる。配置ルールテーブル313は、例えば、ルール番号と、新規ファイル種別と、既存ファイル種別と、比較項目と、フラグとを対応付けることにより、構成することができる。
ルール番号とは、配置ルールを識別するための情報である。新規ファイル種別とは、アプリケーション110に新たに割り当て予定の論理ディスク222に記憶されるファイルの種別を示す。既存ファイル種別とは、既に存在する論理ディスク222(使用中または障害発生中の論理ディスク222)に記憶されているファイルの種別を示す。比較項目とは、新規ファイルと既存ファイルとを比較すべき項目を示す。
フラグとは、新規ファイルと既存ファイルを、同一のディスクドライブ221に記憶させることの是非を示す。フラグが「可(OK)」に設定される場合、新規ファイルは、既存ファイルの記憶されているディスクドライブ221に記憶させることができる。即ち、その既存ファイルが記憶されているディスクドライブ221により構成された別の論理ディスク222を、アプリケーション110に割り当てることができる。フラグが「不可(NG)」に設定される場合、新規ファイルと既存ファイルとは、同一のディスクドライブ221に記憶させることはできない。新規ファイルと既存ファイルとは、それぞれ別々のディスクドライブ221に記憶される。
ルール番号r#1は、新規ファイル及び既存ファイルの種別がそれぞれ「DB」である場合の配置方針を規定する。この第1ルールでは、新規ファイルと既存ファイルとのRDエリアIDを比較し、両ファイルのRDエリアIDが一致する場合、新旧のファイルが同一のディスクドライブ221にそれぞれ記憶されることを許可する。
ルール番号r#2では、新規ファイルの種別が「DB」、既存ファイルの種別が「spd」である場合の配置方針を規定する。この第2ルールでは、新規ファイルと既存ファイルのサーバプロセスIDを比較し、両ファイルのサーバプロセスIDが一致する場合、新旧のファイルの同一のディスクドライブ221への記憶を禁止する。第2ルールでは、シンクポイントの取得時に、DBファイルとspdファイルとにそれぞれライトアクセスが発生するため、I/Oの競合を回避して応答性能の低下を防止している。
ルール番号r#3では、ルール番号r#2と逆に、新規ファイルの種別が「spd」、既存ファイルの種別が「DB」である場合の配置方針を規定する。この第3ルールの内容は、第2ルールの内容と同一である。
ルール番号r#4では、新規ファイル及び既存ファイルの種別がそれぞれ「spd」である場合の配置方針を規定する。この第4ルールでは、新旧のファイルのファイルグループIDを比較し、両ファイルのファイルグループIDが一致する場合、新規ファイルと既存ファイルとが同一のディスクドライブ221に記憶されるのを禁止する。spdファイルは二重化されるが、二重化されたspdファイルを同一のディスクドライブ221にそれぞれ記憶させるのは、耐障害性の点で好ましくないためである。
図7は、ボリューム管理テーブル130の構成例を示す説明図である。ボリューム管理テーブル130は、アプリケーション110が論理ディスク222を使用するための情報を管理している。ボリューム管理テーブル130は、例えば、デバイスファイル名と、論理ディスク番号と、インターフェース番号とを対応付けることにより、構成することができる。
デバイスファイル名とは、アプリケーション110からのアクセス要求を受け付けるためのファイル名を示す。論理ディスク番号とは、そのデバイスファイル名に関連づけられる論理ディスク222の番号を示す。インターフェース番号とは、業務ホスト10からストレージ装置20に接続するためのインターフェースを識別する情報であり、例えば、HBA105を特定するための情報が使用される。
図8は、アプリケーション管理部310によって生成される領域要求リスト314の構成例を示す説明図である。領域要求リスト314は、アプリケーション110に割り当てるべき論理ディスク222を選択するため条件を規定する。領域要求リスト314は、選択条件情報と呼ぶこともできる。ストレージ管理部320は、領域要求リスト314に規定された各条件を満たす未使用の論理ディスク222を選択する。
領域要求リスト314は、例えば、ホスト識別情報と、要求サイズと、RAID構成と、配置とを対応付けることにより、構成することができる。
ホスト識別情報とは、論理ディスク222の割当てを希望する業務ホスト10を識別するための情報である。ホスト識別情報により、各業務ホスト10は、ストレージシステム内で一意に特定される。
要求サイズとは、必要とする論理ディスク222のサイズを示す。RAID構成とは、必要とするRAID構成を示す情報である。配置とは、論理ディスク222の物理的な配置条件(位置条件)を規定する情報である。
RAID構成には、例えば「RAID1またはRAID5のいずれか」等のように、複数種類の構成をセットすることができる。なお、後述の実施例のように、ディスクドライブ221の種別(FCディスク、SATAディスク等)を領域要求リスト314の項目に含めることもできる。
ここで、配置の詳細は、配置要求テーブル315によって示すことができる。配置要求テーブル315は、後述のように、配置ルールテーブル313及びファイル管理テーブル330によって生成される。配置要求テーブル315は、ストレージシステム内の各論理ディスク222について、その選択の是非を示したものである。配置要求テーブル315は、例えば、論理ディスク番号とフラグとを対応付けることにより構成される。
フラグが「可(OK)」に設定されている場合、その論理ディスク222が構築されているディスクドライブ221に存在する別の未使用の論理ディスク222を選択可能であることを意味する。フラグが「不可(NG)」に設定されている場合、その論理ディスク222が構築されているディスクドライブ221に未使用の論理ディスク222が存在する場合でも、その未使用の論理ディスク222を選択できないことを意味する。換言すれば、フラグに「不可」が設定されている場合、その論理ディスク222に関連するディスクドライブ221とは全く別のディスクドライブ221に構築されている未使用の論理ディスク222が選択される。
図9は、論理ディスク222の割当て方法の概要を示すフローチャートである。アプリケーション110は、管理ホスト10のアプリケーション管理部310に対し、アプリケーション領域の拡張を要求する(S1)。ここでは、アプリケーション110から要求が発行される場合を説明するが、後述の実施例からも明らかなように、アプリケーション領域の拡張要求は、手動または自動で行うことができる。また、アプリケーション領域の拡張要求を、例えば、図外の管理端末から管理ホスト30に直接入力してもよい。
アプリケーション領域拡張要求には、必要とする論理ディスク222を抽出するための基本条件及びその論理ディスク222の使用方法に関する情報とが含まれている。論理ディスク222を抽出するための基本条件としては、例えば、ホスト識別情報と、要求サイズ及びRAID構成を挙げることができる。即ち、領域要求リスト314に含まれる条件のうち「配置」以外の条件が該当する。論理ディスク222の使用方法に関する情報としては、例えば、その論理ディスク222を必要とするアプリケーション110を特定するための情報(サーバプロセスID)及びその論理ディスク222に記憶予定のファイルの種別を挙げることができる。
アプリケーション管理部310は、アプリケーション領域の拡張要求を受信すると(S2)、配置ルールテーブル313及びファイル管理テーブル330に基づいて、配置要求テーブル315を生成する(S3)。アプリケーション管理部310は、アプリケーション領域拡張要求に含まれる他の条件と配置要求テーブル315とから領域要求リスト314を生成し、このリスト314をストレージ管理部320に送信する(S4)。
ストレージ管理部320は、領域要求リスト314を受け取ると、このリスト314に示された条件を全て満たす論理ディスク222を選択する(S5)。ストレージ管理部320は、アプリケーション領域の拡張を必要とするアプリケーション110が、その選択された論理ディスク222を使用できるように、ストレージ装置20に対して論理ディスク222の割当てを指示する(S6)。
ストレージ装置20は、ストレージ管理部320からのデバイス割当て指示を受け取ると、指定された論理ディスク222が所定の業務ホスト10から利用できるように、各種の設定を行う(S7)。
ストレージ管理部320は、ストレージ装置20へ指示を出す一方、アプリケーション領域の拡張を必要としている業務ホスト10に対して、デバイスファイルの生成を指示する(S8)。
業務ホスト10は、ストレージ管理部320からの指示に基づいて、その選択された論理ディスク222を使用するためのデバイスファイルを生成する(S9)。業務ホスト10は、そのデバイスファイル名をストレージ管理部320に通知する。
ストレージ管理部320は、業務ホスト10からデバイスファイル名を受け取ると(S10)、この受け取ったデバイスファイル名をアプリケーション管理部310に通知する(S11)。アプリケーション管理部310は、新たに割り当てられた論理ディスク222を使用するためのデバイスファイル名をストレージ管理部320から受け取ると(S11)、このデバイスファイル名を用いてアプリケーション領域を拡張し(S12)、処理を終了する。
以上が全体動作の概要である。次に、各処理の詳細をそれぞれ説明する。図10は、アプリケーション管理部310により実行されるアプリケーションプログラム領域拡張処理を示すメインフローチャートである。なお、以下に述べる各フローチャートも同様であるが、各フローチャートはそれぞれの処理の概要を示すもので、実際のプログラム構成とは相違する。
アプリケーション管理部310は、業務ホスト10または管理端末からアプリケーション領域の拡張要求を受け取ると(S20)、この処理を開始させる。アプリケーション管理部310は、配置要求テーブル生成処理312によって配置要求テーブル315を生成させる(S21)。配置要求テーブル生成処理312の詳細はさらに後述する。
アプリケーション管理部310は、配置要求テーブル315が生成されると、この配置要求テーブル315とアプリケーション拡張要求で示された他の条件とから、領域要求リスト314を生成する(S22)。
アプリケーション管理部310は、領域要求リスト314をストレージ管理部320に送信し、論理ディスク222の割当てを指示する(S23)。そして、ストレージ管理部320による領域拡張の結果であるデバイスファイル名をストレージ管理部320から受け取ると(S24)、アプリケーション管理部310は、このデバイスファイル名を用いてアプリケーション領域を拡張し、本処理を終了させる(S25)。
図11は、配置要求テーブル生成処理を示すフローチャートである。本処理は、図10中のS21に対応する。アプリケーション管理部310は、アプリケーション領域拡張要求に含まれているサイズやファイル種別等の情報を取得し(S30)、配置ルールテーブル313を参照する(S31)。
アプリケーション管理部310は、アプリケーション領域拡張要求に含まれているファイル種別に基づいて、配置ルールテーブル313を検索し、対応するルールを検出する(S32)。即ち、アプリケーション領域拡張要求に含まれているファイル種別は、新たに割り当てようとする論理ディスク222に記憶されるファイルの種別であり、配置ルールテーブル313中の”新規ファイル種別”に該当する。そこで、アプリケーション管理部310は、この新規ファイル種別に対応するルールを検出する。例えば、新規ファイル種別が「DB」の場合、配置ルールテーブル313に規定されている第1ルール及び第2ルールが検出される。もしも、新規ファイル種別が「spd」の場合、第3ルール及び第4ルールが検出される。
次に、アプリケーション管理部310は、ファイル管理テーブル330を参照し(S33)、S32で検出したルールに合致する既存ファイルを検出する(S34)。アプリケーション管理部310は、検出された既存ファイルが記憶されている論理ディスク番号を検出し、この論理ディスク番号にフラグを対応付けて、配置要求テーブル315に登録する(S35)。即ち、アプリケーション管理部310は、ファイル管理テーブル330の検索に用いたルールのフラグを、このルールに該当する論理ディスク番号に対応付けて、配置要求テーブル315に登録する。
アプリケーション管理部310は、そのルールに該当する他の既存ファイルがファイル管理テーブル330に存在するか否かを判定し(S36)、そのルールに合致する既存ファイルを全て検出するまで、S35のステップを実行する。そして、そのルールに合致する全ての論理ディスク番号にフラグを対応付けて、配置要求テーブル315に登録すると(S36:NO)、アプリケーション管理部310は、アプリケーション拡張要求に係る新規ファイル種別に対応する別のルールが存在するか否かを判定する(S37)。
その新規ファイル種別に関する別のルールが存在する場合(S37:YES)、アプリケーション管理部310は、S34〜S36のステップを繰り返す。全てのルールに基づいてファイル管理テーブル330を検索し、該当する論理ディスク番号及びそのフラグを配置要求テーブル315に登録すると(S37:NO)、アプリケーション管理部310は、配置要求テーブル315から重複した行を削除する(S38)。これにより、配置要求テーブル315が完成する。
具体例を挙げて説明する。例えば、アプリケーション領域拡張要求で要求されているファイル種別が「DB」、そのRDエリアIDが「rd1」、そのサーバプロセスIDが「sv1」であるとする。この場合、新規ファイル種別が「DB」であるから、配置ルールテーブル313から第1ルール(r#1)及び第2ルール(r#2)が検出される。
アプリケーション管理部310は、まず初めに、第1ルールに基づいてファイル管理テーブル330を検索するものとする。既に述べた通り、第1ルールでは、新規ファイル種別及び既存ファイル種別が共に「DB」の場合、これら新旧の両ファイルのRDエリアIDが一致するならば、同一のディスクドライブ221への共存を許可する。
アプリケーション管理部310は、ファイル種別が「DB」であり、かつ、そのRDエリアIDがアプリケーション領域拡張要求に係る新規ファイルのRDエリアIDと一致する既存ファイルを検索する(S34)。図5に示す例では、新規ファイルのRDエリアID「rd1」と同一のRDエリアIDを有するファイルは、「f1」及び「f2」の2つである。最初に、既存ファイル「f1」が発見される。
そこで、アプリケーション管理部310は、既存ファイル「f1」の格納先である論理ディスクの番号を検出する。この場合、論理ディスク番号は「0」である。アプリケーション管理部310は、この論理ディスク番号「0」に、第1ルールのフラグ「可」を対応付けて、配置要求テーブル315の一行目に登録する(S35)。
次に(S36:YES)、アプリケーション管理部310は、ファイル管理テーブル330から第1ルールに合致する既存ファイル「f2」を発見する(S34)。前記同様に、アプリケーション管理部310は、その既存ファイル「f2」が記憶されている論理ディスクの番号「0」に、第1ルールのフラグ「可」を対応付けて、配置要求テーブル315に登録する(S35)。この結果、配置要求テーブル315には、同一内容の行が2つ登録されることになるが、重複した行は最終的に取り除かれる(S38)。
次に、アプリケーション管理部310は、新規ファイルの種別「DB」に対応する第2ルールについて、前記同様の処理を行う(S37:YES)。第2ルールでは、spdファイルとDBファイルとが同一のサーバプロセスIDを有する場合、これら両ファイルが同一のディスクドライブ221に記憶されるのを禁止する。なお、サーバプロセスIDが異なる場合は、第2ルールは適用されない。サーバプロセスが異なれば、spdファイル取得時にI/Oの競合を生じないためである。
第2ルールに該当するファイルは、そのファイル種別が「spd」で、そのサーバプロセスIDが「sv1」であるファイルである。図5に示す例では、この第2ルールに該当するファイルは、「f6」、「f7」、「f8」及び「f9」の4つである。
そこで、アプリケーション管理部310は、既存ファイル「f6」に対応する論理ディスク番号「2」に、第2ルールのフラグ「不可」を対応付けて、テーブル315に登録する。続いて、アプリケーション管理部310は、既存ファイル「f7」に対応する論理ディスク番号「3」に第2ルールのフラグ「不可」を対応付けて、テーブル315に登録する。同様に、アプリケーション管理部310は、既存ファイル「f8」に対応する論理ディスク番号「2」にフラグ「不可」を対応付けて、テーブル315に登録し、最後に、既存ファイル「f9」に対応する論理ディスク番号「3」にフラグ「不可」を対応付けて、テーブル315に登録する。この結果、配置要求テーブル315には、論理ディスク番号「2」及び「3」の行がそれぞれ複数登録されるが、重複した行は削除される。
以上のように、アプリケーション管理部310は、予め設定されている配置ルールに基づいて、ファイル管理テーブル330を検索することにより、配置ルールに該当する論理ディスク222を検出し、所定のフラグをセットする。
図12は、ストレージ管理部320により実行される記憶領域割当て処理を示すフローチャートである。この処理は、アプリケーション管理部310から領域要求リスト314を受け取ると開始される(S40)。
ストレージ管理部320は、領域要求リスト314及びディスク管理テーブル323に基づいて、割当て可能な論理ディスク222を選択する(S41)。このデバイス選択処理の詳細は、さらに後述する。
ストレージ管理部320は、選択された論理ディスクの番号をストレージ装置20に通知し、デバイスの割当てを要求する(S42)。また、ストレージ管理部320は、業務ホスト10のボリューム管理部120に、選択された論理ディスクの番号を通知し、デバイスファイルの作成を指示する(S43)。
ボリューム管理部120によってデバイスファイルが作成されると、ストレージ管理部320は、このデバイスファイル名を取得し(S44)、このデバイスファイル名をアプリケーション管理部310に通知する(S45)。
図13は、ストレージ管理部320により実行されるデバイス選択処理322を示すフローチャートである。本処理は、図12中のS41に対応する。
ストレージ管理部320は、ディスク管理テーブル323を参照し(S50)、領域要求リスト314中の「配置」以外の他の条件が一致する未使用の論理ディスク222を検索する(S51)。即ち、ストレージ管理部320は、領域要求リスト314に記載されている基本的な条件(要求サイズ及びRAID構成)が一致し、かつ、未使用の論理ディスク222を全て抽出する。なお、領域要求リスト314には、「ホスト識別情報」も記載されているが、この情報は論理ディスク222の選択とは無関係の情報であるため、本処理では使用されない。
要求されたボリュームサイズ及びRAID構成をそれぞれ満たす未使用の論理ディスク222が存在する場合(S52:YES)、ストレージ管理部320は、その未使用論理ディスク222を構成する物理ディスク(即ち、ディスクドライブ221)が、配置要求テーブル315で「可」のフラグを設定されたいずれかの論理ディスクを構成する物理ディスクと一致するか否かを判定する(S53)。
既に述べたように、配置要求テーブル315には、新規ファイルと既存ファイルとを、同一のディスクドライブ221に共存可能な論理ディスクの番号と、同一のディスクドライブ221に共存させることができない論理ディスクの番号とが示されている。ストレージ管理部320は、未使用の論理ディスク222を構成するディスクドライブ221の番号(物理ディスク番号)をディスク管理テーブル323から検出する。また、ストレージ管理部320は、配置要求テーブル315で「可」のフラグがセットされている各論理ディスク222を構成するディスクドライブ221の物理ディスク番号を、ディスク管理テーブル323からそれぞれ検出する。
ストレージ管理部320は、未使用論理ディスク222に関する物理ディスク番号と、「可」のフラグがセットされた各論理ディスク222に関する物理ディスク番号とをそれぞれ比較する。未使用論理ディスク222に関する物理ディスク番号が、「可」のフラグがセットされたいずれかの論理ディスク222に関する物理ディスク番号と一致する場合(S53:YES)、ストレージ管理部320は、その未使用論理ディスク222を選択し、その論理ディスク番号を図12に示すフローチャートに返す(S55)。
これに対し、その未使用の論理ディスク222に関する物理ディスク番号が、「可」のフラグがセットされた各論理ディスク222に関する物理ディスク番号のいずれとも一致しない場合(S53:NO)、ストレージ管理部320は、次の検査を行う(S54)。
ストレージ管理部320は、その未使用論理ディスク222に関する物理ディスク番号が、配置要求テーブル315において「不可」のフラグにセットされた全ての論理ディスク番号に関する物理ディスク番号と不一致であるか否かを判定する(S54)。
未使用論理ディスク222に関する物理ディスク番号が、「不可」フラグに関する全ての物理ディスク番号と一致しない場合(S54:YES)、ストレージ管理部320は、その未使用の論理ディスク222を選択し、その論理ディスク番号を返す(S55)。何故なら、その未使用論理ディスク222は、配置要求テーブル315によって共用が禁止されたディスクドライブ221を一つも含んでおらず、その未使用論理ディスク222を選択しても、性能や耐障害性の点で問題ないためである。
このように、基本的条件を満たす未使用の論理ディスク222について、2種類の検査(S53,S54)が行われる。第1の検査は、共存可能検査であり(S53)、第2の検査は、共存不能検査である(S54)。なお、未使用の論理ディスク222が複数検出された場合、例えば、S53の検査をパスする未使用論理ディスク222が存在する場合は、それが選択される。S53の検査をパスする未使用論理ディスク222が一つも無い場合、S54の検査をパスする未使用論理ディスク222が選択される。なお、これに限らず、未使用の論理ディスク番号の若い順からS53,S54の検査をそれぞれ行い、いずれかの検査をパスした論理ディスクを選択するようにしてもよい。
ところで、未使用の論理ディスク222が1つも存在しない場合(S52:NO)、ストレージ管理部320は、新たな論理ディスク222を生成することができるか否かを判定する(S56)。また、ストレージ管理部320は、その未使用論理ディスク222に関する物理ディスク番号が、「不可」のフラグをセットされたいずれかの論理ディスク222に関する物理ディスク番号と一致する場合も(S54:NO)、新たな論理ディスク222を生成可能か否かを判定する(S56)。
例えば、まだ一つも論理ディスク222を設定していないディスクドライブ221が、要求サイズ及びRAID構成に合致する数以上あるような場合、ストレージ管理部320は、新たな論理ディスク222を生成可能であると判定する(S56:YES)。ストレージ管理部320は、領域要求リスト314で指定されたサイズ及びRAID構成を有する論理ディスク222の生成を、ストレージ装置20に指示する(S57)。
これに対し、例えば、必要なだけのディスクドライブ221が存在せず、新たな論理ディスク222を生成することができない場合(S56:NO)、ストレージ管理部320は、エラー処理を行う(S58)。このエラー処理では、例えば、デバイスの選択ができない旨を、アプリケーション管理部310等に通知する。アプリケーション管理部310は、このエラー通知を、例えば業務ホスト10や管理端末に送信することができる。
本実施例は、このように構成されるため、以下の効果を奏する。本実施例では、記憶領域の拡張を求めるアプリケーション110に、その用途に応じた適切な物理的位置関係を有する論理ディスク222を割り当てる構成とした。従って、本実施例では、例えば、DBファイルとspdファイルのように、一方のファイルへのアクセス時に他方のファイルへのアクセスも同時に発生し、I/Oが競合する関係にある複数のファイルを、それぞれ別々のディスクドライブ221に記憶させることができる。これにより、応答性能の低下を防止できる。また、本実施例では、例えば、二重化されたspdファイルのように、同一内容を有する複数のファイルをそれぞれ別々のディスクドライブ221に記憶させることができる。これにより、耐障害性を向上できる。
本実施例では、ボリュームサイズ及びRAID構成等の基本的な条件を含むアプリケーション領域拡張要求が発行されると、管理ホスト30は、複数ファイル間の物理的な配置関係を考慮して、適切な論理ディスク222を選択し、この選択された論理ディスク222をアプリケーション110に割り当てる構成とした。従って、例えば、ユーザ等は、物理ディスクレベルの位置関係を何ら意識することなく、アプリケーション領域の拡張を要求することができ、ストレージシステムの運用性を向上させることができる。
本実施例では、配置ルールテーブル313の内容を、アプリケーション110の生成者または利用者が適宜設定可能である。従って、アプリケーション110の生成者等は、事前に、そのアプリケーション110に適したデバイス割当てポリシーを設定することができる。これにより、例えば、アプリケーション110の領域不足を自動的に検出したような場合に、物理的な位置関係までを考慮して、論理ディスク222の割当てを自律的に運用することができる。
図14〜図16に基づいて、第2実施例を説明する。本実施例では、各論理ディスク222を選択可能性を重み付けして、判断する。なお、以下に述べる各実施例は、上述した第1実施例の変形例に該当する。
図14は、本実施例で使用される配置ルールテーブル313Aの構成例を示す説明図である。このテーブル313は、そのフラグの内容を除いて、前記実施例で述べた配置ルールテーブル313と同様の構成を備えている。
本実施例の配置ルールテーブル313Aでは、フラグを多値に設定しており、論理ディスク222間の物理的位置関係(複数ファイル間の物理的位置関係)について、重み付けしている。例えば、第1ルール(r#1)のフラグには「−1」という数値がセットされており、第2ルール(r#2)及び第3ルール(r#3)のフラグには「4」という数値がそれぞれセットされている。第4ルール(r#4)のフラグには「5」という数値がセットされている。
フラグの値が「−1」の場合、その論理ディスク222を構成するディスクドライブ221上に存在する未使用論理ディスク222を選択可能であることを示す。フラグの値が正の方向に増大するほど、その論理ディスク222を構成するディスクドライブ221上に存在する未使用論理ディスク222は、選択される可能性が低下する。即ち、新規ファイルと既存ファイルとをそれぞれ別々のディスクドライブ221に配置させたいという要求の相対的な強さを、フラグの値で示している。
フラグの値が「4」にセットされた論理ディスク222に関するディスクドライブ221は、フラグの値が「5」にセットされた論理ディスク222に関するディスクドライブ221よりも、選択される可能性は相対的に高くなる。
本実施例では、フラグの値として、例えば、「−1」、「1」、「2」、「3」、「4」、「5」等のように、一つのマイナス値及び複数のプラス値を使用しており、「0」を使用しない。後述のように、距離の初期値として「0」を使用する。但し、フラグの値は、上記の例に限定されない。例えば、「−3」、「−2」、「−1」、「1」、「2」、「3」等のように、複数のマイナス値と複数または一つのプラス値を採用してもよく、「0」を用いてもよい。このように、本実施例のフラグは、既存ファイルを記憶する論理ディスク222との距離感を示すものであるため、以下の説明では、フラグの値を「距離」と呼ぶ場合がある。
図15は、本実施例で使用される配置要求テーブル315A,315Bの構成例を示す説明図である。領域要求リスト314中の「配置」項目の内容は、配置要求テーブル315Aに規定されている。この配置要求テーブル315Aは、既に使用されている各論理ディスク222との「物理的位置関係の相性度」を示しており、その具体的な内容は、第2配置要求テーブル315Bによって示される。第2配置要求テーブル315Bは、第1配置要求テーブル315Aに登録されている各論理ディスク番号を、それぞれ物理ディスク番号に変換したものである。第2配置要求テーブル315は、物理配置要求テーブルと呼ぶこともできる。
図16は、本実施例によるデバイス選択処理を示すフローチャートである。本処理は、ストレージ管理部320により実行される。本処理は、以下に説明するように、第2配置要求テーブル作成段階(S60〜S67)と、候補テーブル作成段階(S68〜S73)と、デバイス選択段階(S74)との複数の段階を含んでいる。
ストレージ管理部320は、配置要求テーブル315Aから1行分の登録内容を取得し(S60)、ディスク管理テーブル323を参照して、その行に登録されている論理ディスク番号に対応する物理ディスク番号を取得する(S61)。
ストレージ管理部320は、取得した物理ディスク番号で第2配置要求テーブル315Bを検索することにより(S62)、その物理ディスク番号が既に登録済であるか否かを判定する(S63)。その物理ディスク番号が第2配置要求テーブル315Bに未だ登録されていない場合(S63:NO)、ストレージ管理部320は、第2配置要求テーブル315Bに、その物理ディスク番号及びその距離を追加する(S64)。ここで、その物理ディスク番号に対応付けられる距離は、その物理ディスク番号に対応する論理ディスク番号に設定されたフラグの値である。
そして、ストレージ管理部320は、配置要求テーブル315Aに未処理の行が残っているか否かを判定する(S67)、未処理の行が存在する場合(S67:YES)、ストレージ管理部320は、S60に戻って、配置要求テーブル315Aから次の行を取得し、その行の論理ディスク番号を物理ディスク番号に変換する(S61,S62)。この変換された物理ディスク番号が第2配置要求テーブル315Bに登録されていない場合(S63:NO)、ストレージ管理部320は、その物理ディスク番号及び距離を第2配置要求テーブル315Bに登録する(S64)。
このようにして第2配置要求テーブル315Bが作成されていく。もしも、S61で取得された物理ディスク番号が、第2配置要求テーブル315Bに既に登録されている場合(S63:YES)、ストレージ管理部320は、新たに取得された物理ディスク番号の距離と既に登録されている距離との大小を比較する(S65)。もしも、新たな距離の方が登録済の距離よりも大きい場合(S65:YES)、ストレージ管理部320は、登録済の距離を、新たな距離に更新させる(S66)。
即ち、同一の物理ディスク番号について、複数の距離が存在する場合、ストレージ管理部320は、より大きな方の距離を採用するようにしている。これにより、選択されるべきではないディスクドライブ221が選択される可能性を抑制することができ、より高い信頼性を持って適切な論理ディスク222をアプリケーション110に割当てることができる。
配置要求テーブル315Aの全ての行を処理すると(S67:NO)、第2配置要求テーブル315Bが完成する。ストレージ管理部320は、ディスク管理テーブル323を参照し、「配置」条件以外の他の条件(サイズやRAID構成)を満たす未使用の論理ディスク222の論理ディスク番号を抽出して、候補テーブルを作成する(S68)。この段階では、サイズやRAID構成のような基本的条件のみが一致する未使用の論理ディスク番号が候補テーブルに列挙されている。
次に、ストレージ管理部320は、候補テーブルに「距離」の列を追加し、各未使用の論理ディスク番号の距離の初期値として「0」をセットする(S69)。そして、ストレージ管理部320は、第2配置要求テーブル315Bから1行のデータを取得し(S70)、この行に含まれている物理ディスク番号に関連する論理ディスク番号が、候補テーブルに存在するか否かを判定する(S71)。即ち、候補テーブルに登録されている未使用論理ディスク番号に基づいてディスク管理テーブル323を参照し、未使用論理ディスク番号に対応する物理ディスク番号と、第2配置要求テーブル315Bに登録されている物理ディスク番号とを比較する。
そして、第2配置要求テーブル315Bに登録されている物理ディスク番号に関連する未使用論理ディスク番号に、その物理ディスク番号に対応付けられている距離を設定する(S72)。即ち、その未使用論理ディスク番号の距離の初期値を、「0」以外の値に更新させる。ストレージ管理部320は、第2配置要求テーブル315Bに未処理の行が残っているか否かを判定する(S73)。未処理の行が残っている間(S73:YES)、ストレージ管理部320は、第2配置要求テーブル315Bから一行ずつデータを取り出し、候補テーブルの該当する行の距離を更新させていく。
このようにして、第2配置要求テーブル315Bの全ての行を処理した場合(S73:NO)、即ち、候補テーブルが完成した場合、ストレージ管理部320は、この候補テーブルに登録されている未使用論理ディスク番号のうち、最も小さな距離が設定されている論理ディスク番号を選択する(S74)。なお、最小の距離を有する未使用論理ディスク番号が複数存在する場合、例えば、よりテーブルの先頭側に登録されている番号を選択すればよい。
このように構成される本実施例でも、前記実施例と同様の効果を奏する。これに加えて、本実施例では、別々のディスクドライブ221へのファイル配置を希望する要求の度合を、多値のフラグで設定可能とした。また、本実施例では、その要求の度合を、直感的に理解可能な「距離」で指定できるようにした。従って、例えば、ディスクドライブ221の数に比べてファイルの種類の方が多いような場合に、より適切な論理デバイス222を選択することができる。例えば、それぞれ異なるディスクドライブ221に構築されている論理デバイス222が3個しかなく、それぞれ物理的に異なる配置で記憶させるのが好ましいファイルが4種類ある場合を考える。この場合、少なくともいずれか2つのファイルは、同一のディスクドライブ221に記憶されることになる。本実施例では、距離が小さいファイルを同一のディスクドライブ221に共存させる。これにより、物理的な記憶領域の数に余裕が無い場合でも、できるだけ適切な記憶領域に複数種類のファイルを共存させることができる。
図17〜図21に基づいて、第3実施例を説明する。本実施例では、複数のストレージ装置20及び複数の業務ホスト10を備えるストレージシステムにおいて、管理ホスト30は、アプリケーション110に適切な論理ディスク222を割り当てる。
図17は、本実施例によるストレージシステムの全体構成を示すブロック図である。このストレージシステムは、複数の業務ホスト10及び複数のストレージ装置20と、一つの管理ホスト30とを備えている。
各業務ホスト10及び各ストレージ装置20の構成は、それぞれ第1実施例で述べたものと同様である。従って、その説明を省略する。各業務ホスト10と各ストレージ装置20とは、例えば、複数のファイバチャネルスイッチ40により接続されている。各スイッチ40は、それぞれ複数のポート41を備えている。そして、これら各スイッチ40は、そのLANポート42から通信ネットワークCN2を介して、管理ホスト30にそれぞれ接続されている。
管理ホスト30は、領域割当てマネージャ(以下、「割当てマネージャ」)500を備えている。この割当てマネージャ500は、第1実施例で述べたアプリケーション管理部310及びストレージ管理部320の両機能をそれぞれ実現するものである。なお、単一の割当てマネージャ500に代えて、アプリケーション管理部とストレージ管理部とに機能を分離し、両機能を連携させる構成でもよい。
割当てマネージャ500は、例えば、アプリケーション領域拡張部510と、配置ルールテーブル520と、ディスク管理テーブル530と、ファイル管理テーブル540とを備えて構成することができる。アプリケーション領域拡張部510は、配置要求テーブル生成処理511を含んでいる。
図18は、本実施例で使用されるディスク管理テーブル530の構成例を示す説明図である。ディスク管理テーブル530は、各ストレージ装置20がそれぞれ管理しているディスク管理テーブルを所定のタイミングで取得することにより、構成される。即ち、ディスク管理テーブル530は、各ストレージ装置20が個別に管理しているディスク管理テーブルを統合したものであり、ストレージシステム内に存在する全ての論理ディスク222に関する情報が登録されている。
ディスク管理テーブル530は、図4に示すディスク管理テーブル323の構成を全て備えている。これに加えて、本実施例のディスク管理テーブル530は、各論理ディスク番号に対応する装置番号と、スイッチ番号(以下、「SW番号」)及びHBA番号を管理する。
装置番号とは、各ストレージ装置20をストレージシステム内で一意に特定するための識別情報である。SW番号とは、各スイッチ40をストレージシステム内で一意に特定するための識別情報である。HBA番号とは、各HBA105をストレージシステム内で一意に特定するための識別情報である。
従って、ディスク管理テーブル530は、複数のストレージ装置20を備えるストレージシステムにおいて、各論理ディスク222の基本的な情報(論理ディスク番号、ボリュームサイズ、RAID構成、状態)に加えて、各論理ディスク222へのアクセス経路を特定する情報も管理する。
なお、論理ディスク番号及び物理ディスク番号等は、各ストレージ装置20からそれぞれのディスク管理テーブルを取得した後で、ストレージシステム内で一意の値となるように、番号を振り直すこともできる。
図19は、本実施例で使用される配置要求テーブル315C等の構成例を示す説明図である。この配置要求テーブル315Cは、例えば、装置番号とフラグとを対応付けることにより、構成することができる。なお、後述のように、装置番号に代えて、物理ディスク番号やHBA番号等の他の物理的情報を採用してもよい。なお、図19中には、後述する候補テーブル316も示されている。
図20は、本実施例で使用されるファイル管理テーブル540の構成例を示す説明図である。このファイル管理テーブル540は、「装置番号」の列を除いて、図5に示すファイル管理テーブル330と同様の構成を備えている。即ち、本実施例のファイル管理テーブル540は、前記実施例のファイル管理テーブル330中の「論理ディスク番号」に代えて、「装置番号」を採用する。装置番号は、各ファイルを記憶する物理ディスク(ディスクドライブ221)に関する物理的属性を示す情報の一例である。従って、「装置番号」に代えて、物理ディスク番号、ポート番号、スイッチ番号、HBA番号のような、他の物理的属性を示す情報を用いてもよい。なお、ファイル管理テーブル540は、ストレージシステム内に存在する全てのファイルに関するものであるから、物理的属性を示す情報は、ストレージシステム内で一意に特定可能な情報である必要がある。
次に、図21は、本実施例によるアプリケーション領域拡張処理を示すフローチャートである。管理ホスト30の割当てマネージャ500は、アプリケーション110等からアプリケーション領域の拡張要求を受け取ると(S80)、配置要求テーブル315Cを作成する(S81)。割当てマネージャ500は、図14に示した配置ルールテーブル313Aとファイル管理テーブル540とに基づいて、各ストレージ装置20を記憶先として選択可能か否かの相対的な強度を含む配置要求テーブル315Cを生成できる。
割当てマネージャ500は、ディスク管理テーブル530を参照し、「配置」以外の基本的条件(サイズ及びRAID構成)を満たす未使用の論理ディスク222を抽出し、この未使用論理ディスク番号を並べて候補テーブル316を生成する(S82)。割当てマネージャ500は、候補テーブル316に「距離」の列を追加し、各論理ディスク番号の距離の初期値としてそれぞれ「0」をセットする(S83)。
次に、割当てマネージャ500は、配置要求テーブル315Cから一行分のデータを取り出し(S84)、この行に含まれている装置番号で、候補テーブル316を検索する(S85)。より正確には、割当てマネージャ500は、その行に含まれている装置番号に対応する論理ディスク番号が、候補テーブル316に存在するか否かを検索する。ここで、装置番号に対応する論理ディスク番号とは、その装置番号で特定されるストレージ装置20に存在する未使用の論理ディスク222の番号である。
割当てマネージャ500は、その装置番号に対応する未使用論理ディスク番号を発見すると、その未使用論理ディスク番号の距離を、その装置番号について設定されている距離の値に更新させる(S86)。割当てマネージャ500は、配置要求テーブル315Cの全ての行についてS85,S86のステップをそれぞれ実行する(S87)。
配置要求テーブル315Cの全ての行について処理を完了すると(S87:YES)、候補テーブル316が完成する。この候補テーブル316は、基本条件を満たす未使用の論理ディスク222の論理ディスク番号と、その論理ディスク222が存在するストレージ装置20に設定されているフラグ(距離)とを対応付けたものである。
割当てマネージャ500は、候補テーブル316の中から、最も小さい距離に設定されている論理ディスク番号を1つ選択する(S88)。割当てマネージャ500は、その選択された論理ディスク番号で特定される未使用の論理ディスク222を有するストレージ装置20に対し、その選択された論理ディスク番号を明示して、デバイスの割当てを要求する(S89)。これにより、デバイス割当てを指示されたストレージ装置20は、例えば、指定された未使用論理ディスク222を所定の業務ホスト10から利用できるように、各種設定を行う。
一方、割当てマネージャ500は、所定の業務ホスト10のボリューム管理部120に対して、その選択された未使用論理ディスク番号を明示し、デバイスファイルの作成を指示する(S90)。ボリューム管理部120がデバイスファイルを作成すると、そのデバイスファイル名が割当てマネージャ500に返される。割当てマネージャ500は、このデバイスファイル名を取得すると、アプリケーション領域を拡張し(S91)、処理を終了する。
このように構成される本実施例も前記第1実施例と同様の効果を奏する。これに加えて、本実施例では、複数の業務ホスト10及び複数のストレージ装置20を備える大規模なストレージシステムにおいて、アプリケーション110によるファイルの使用方法を考慮して、適切な物理的位置関係を有する論理ディスク222を割当てることができる。
図23に基づいて第4実施例を説明する。本実施例は、第3実施例の変形例に相当し、物理的属性を示す情報として、「装置番号」に代えて、SW番号、HBA番号、物理ディスク番号、パス情報のうちいずれか一つを使用する(S85A)。
例えば、SW番号を採用する場合、異なるスイッチ40を介してアクセス可能なディスクドライブ221をアプリケーション110に割り当てることができる。HBA番号を採用する場合、異なるHBA105を介してアクセス可能なディスクドライブ221をアプリケーション110に割り当てることができる。
図24に基づいて第5実施例を説明する。本実施例では、領域要求リスト314内に、ディスクドライブ221の種別を示す情報を加えている。図に示す例では、基本的条件の一つとして、FCディスクを選択すべき旨が要求されている。
図示は省略するが、本実施例では、ディスク管理テーブルに、ディスクドライブ221の種別を示す例が加えられる。これにより、指定されたドライブ種別のディスクドライブ221から構成されている未使用の論理ディスク222を選択することができる。
図25に基づいて第6実施例を説明する。本実施例では、アプリケーション領域の拡張要求を発行するタイミングについて開示する。
図25は、アプリケーション領域拡張要求を発行するための処理を示すフローチャートである。この処理は、例えば、業務ホスト10が実行することができる。あるいは、業務ホスト10と管理トスと30とがそれぞれ分担して実行することもできる。
例えば、システム管理者等のユーザは、アプリケーション110の使用領域が足りないと判断したような場合、アプリケーション領域の拡張を手動操作で要求することができる(S100)。
ユーザからの指示があった場合(S100:YES)、業務ホスト10は、管理ホスト30にアプリケーション領域の拡張を要求する(S103)。ユーザからの指示がない場合(S100:NO)、業務ホスト10は、アプリケーション110の現在のデータ使用量を検出し(S101)、この検出された現在のデータ使用量とアプリケーション領域のサイズとからアプリケーション領域の使用率を求め、この使用率と予め設定されている所定値とを比較する(S102)。現在のデータ使用率が所定値に達していない場合(S102:NO)、S100に戻る。現在のデータ使用量が所定値に達した場合(S102:YES)、業務ホスト10は、管理ホスト30にアプリケーション領域の拡張を要求する(S103)。
このように、手動操作または自動的に、アプリケーション領域の拡張要求を発行することができる。自動的に発行する場合、論理ディスク222の割当てを自律的に運用することができ、保守性がさらに向上する。なお、データ使用量に代えて、記憶領域の空き容量を採用してもよい。この場合、空き容量が所定値以下になった場合に、アプリケーション領域の拡張を要求する。
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
本発明のストレージシステムの全体構成を示すブロック図である。 ストレージシステムのネットワーク構成及びハードウェア構成の概略を示すブロック図である。 ストレージシステムのデータ構造を示す説明図である。 ディスク管理テーブルの構成を示す説明図である。 ファイル管理テーブルの構成を示す説明図である。 配置ルールテーブルの構成を示す説明図である。 ボリューム管理テーブルの構成を示す説明図である。 領域要求リスト及び配置要求テーブルの構成を示す説明図である。 ストレージシステム内で記憶領域を適切に割当てるための処理概要を示すフローチャートである。 アプリケーション領域拡張処理を示すフローチャートである。 配置要求テーブルの生成処理を示すフローチャートである。 記憶領域割当て処理を示すフローチャートである。 デバイス選択処理を示すフローチャートである。 第2実施例で使用される配置ルールテーブルの構成を示す説明図である。 領域要求リスト及び複数の配置要求テーブルの構成を示す説明図である。 デバイス選択処理を示すフローチャートである。 第3実施例によるストレージシステムの全体構成を示すブロック図である。 ディスク管理テーブルの構成を示す説明図である。 領域要求リストと配置要求テーブル及び候補テーブルの構成を示す説明図である。 ファイル管理テーブルの構成を示す説明図である。 アプリケーション領域拡張処理を示すフローチャートである。 デバイス選択処理を示すフローチャートである。 第4実施例によるアプリケーション領域拡張処理を示すフローチャートである。 第5実施例で使用される領域要求リスト及び配置要求テーブルの構成を示す説明図である。 第6実施例で実行されるアプリケーション領域の拡張を要求するための処理を示すフローチャートである。
符号の説明
10…業務ホスト、20…ストレージ装置、30…管理ホスト、40…スイッチ、41…ポート、42…LANポート、101…CPU、102…メモリ、103…ローカルディスク、104…LANインターフェース、105…ホストバスアダプタ(HBA)、106…バス、110…アプリケーションプログラム、111A,111B…RDエリア、112A,112B…シンクポイントダンプファイル、113…ファイル、120…ボリューム管理部、130…ボリューム管理テーブル、201…CPU、202…制御メモリ、203…キャッシュメモリ、204…ポート、205…LANインターフェース、206…通信ネットワーク、210…ディスクコントローラ、211…ディスク管理テーブル、220…記憶部、221…ディスクドライブ、222…論理ボリューム(論理ディスク)、301…CPU、302…メモリ、303…ローカルディスク、304…LANインターフェース、305…バス、310…アプリケーション管理部、311…アプリケーション領域拡張部、312…配置要求テーブル生成処理、313,313A…配置ルールテーブル、314…領域要求リスト、315,315A,315B,315C…配置要求テーブル、316…候補テーブル、320…ストレージ管理部、321…記憶領域割当部、322…デバイス選択処理、323…ディスク管理テーブル、330…ファイル管理テーブル、500…割当てマネージャ、510…アプリケーション領域拡張部、511…配置要求テーブル生成処理、520…配置ルールテーブル、530…ディスク管理テーブル、540…ファイル管理テーブル

Claims (6)

  1. 少なくとも一つ以上のアプリケーションプログラムが実行される第1コンピュータと、前記アプリケーションプログラムにより使用される複数のデータを一つまたは複数の記憶デバイスに記憶させるストレージ装置と、前記第1コンピュータ及び前記ストレージ装置にそれぞれ接続され、前記アプリケーションプログラムへの記憶領域の割当てを制御する第2コンピュータとを備えたストレージシステムであって、
    前記第2コンピュータは、
    前記各記憶デバイスに関するデバイス管理情報を管理するためのデバイス管理情報管理部と、
    前記各データに関するデータ管理情報を管理するためのデータ管理情報管理部と、
    前記アプリケーションプログラムへの記憶領域の割当てを制御する制御部と、
    を備え、
    前記制御部は、
    前記アプリケーションプログラムへ割り当てる記憶領域に関する物理的な位置条件以外の他の条件を含む割当て要求により前記アプリケーションプログラムへの記憶領域の割当てが要求された場合に、前記データ管理情報及び前記デバイス管理情報を用いることにより、前記要求された記憶領域と既に存在する他の記憶領域との物理的な関係を考慮して、前記要求された記憶領域に記憶されるデータの特性に適合するように前記物理的な位置条件を選定し、この物理的な位置条件に合致する未使用の記憶領域を選択し、この選択された記憶領域を前記アプリケーションプログラムが利用できるように、前記第1コンピュータ及び前記ストレージ装置にそれぞれ所定の指示を出すものであり、
    前記物理的な位置条件は、前記要求された記憶領域と前記他の記憶領域とがそれぞれ異なる物理的配置属性を備えるべきかを示す要求度合であって、予め設定される複数の値の中からいずれか一つが設定される要求度合を含んで構成される、
    ストレージシステム。
  2. 前記記憶領域の物理的配置属性とは、その記憶領域を構成する記憶デバイスの位置、その記憶領域を構成する記憶デバイスへのアクセス経路のいずれか又は両方である
    請求項1に記載のストレージシステム。
  3. 前記他の条件には、前記要求された記憶領域の容量、その記憶領域に記憶させるデータの種類、その記憶領域の論理的構成の少なくともいずれか一つまたは複数が含まれている請求項に記載のストレージシステム。
  4. 前記制御部は、前記要求された記憶領域に記憶される第1データと該第1データに関連して前記他の記憶領域に記憶されている第2データとの論理的な関係に適合するように、前記要求された記憶領域を選択する
    請求項1に記載のストレージシステム。
  5. 前記制御部は、前記要求された記憶領域に記憶される第1データと該第1データに関連して前記他の記憶領域に記憶されている第2データとが同一の記憶デバイスに記憶可能な関係を有する場合、前記他の記憶領域を構成する記憶デバイスを含むようにして、前記要求された記憶領域を選択する
    請求項1に記載のストレージシステム。
  6. 前記制御部は、前記要求された記憶領域に記憶される第1データと該第1データに関連して前記他の記憶領域に記憶されている第2データとがそれぞれ異なる記憶デバイスに記憶されるべき関係を有する場合、前記他の記憶領域を構成する記憶デバイスを除くようにして、前記要求された記憶領域を選択する
    請求項1に記載のストレージシステム。
JP2005106034A 2005-04-01 2005-04-01 ストレージシステム及び記憶領域割当て方法 Expired - Fee Related JP4671738B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005106034A JP4671738B2 (ja) 2005-04-01 2005-04-01 ストレージシステム及び記憶領域割当て方法
US11/167,274 US7380093B2 (en) 2005-04-01 2005-06-28 Storage system including a device, data management unit, control unit and/or primary computer, and method, for allocating storage area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005106034A JP4671738B2 (ja) 2005-04-01 2005-04-01 ストレージシステム及び記憶領域割当て方法

Publications (2)

Publication Number Publication Date
JP2006285739A JP2006285739A (ja) 2006-10-19
JP4671738B2 true JP4671738B2 (ja) 2011-04-20

Family

ID=37071995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005106034A Expired - Fee Related JP4671738B2 (ja) 2005-04-01 2005-04-01 ストレージシステム及び記憶領域割当て方法

Country Status (2)

Country Link
US (1) US7380093B2 (ja)
JP (1) JP4671738B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698687B2 (en) * 2002-08-27 2010-04-13 Sony Ericsson Mobile Communications Ab Determining usability of a coded file for an application
JP2009515278A (ja) * 2005-11-04 2009-04-09 トムソン ライセンシング メディア記憶デバイスを管理する方法および装置
JP4871758B2 (ja) * 2007-02-26 2012-02-08 株式会社日立製作所 ボリューム割当方式
JP5002296B2 (ja) * 2007-03-27 2012-08-15 株式会社東芝 クラスタシステム及びプログラム
US8713127B2 (en) * 2008-02-05 2014-04-29 Novell, Inc. Techniques for distributed storage aggregation
JP5146032B2 (ja) * 2008-03-17 2013-02-20 富士通株式会社 入出力制御方法、制御装置及びプログラム
JP2009252106A (ja) * 2008-04-09 2009-10-29 Nec Corp ディスクアレイ制御方法及びディスクアレイ装置
US20100169570A1 (en) * 2008-12-31 2010-07-01 Michael Mesnier Providing differentiated I/O services within a hardware storage controller
JP5595701B2 (ja) * 2009-09-16 2014-09-24 株式会社日立製作所 ファイル管理方法及びストレージシステム
JP5640463B2 (ja) * 2010-05-31 2014-12-17 富士通株式会社 ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法
JP5821392B2 (ja) * 2011-08-12 2015-11-24 富士通株式会社 ストレージ装置、およびストレージ管理方法
US9104335B2 (en) * 2013-11-05 2015-08-11 Hitachi, Ltd. Computer system and method for migrating volume in computer system
WO2016085534A1 (en) * 2014-11-27 2016-06-02 Hewlett Packard Enterprise Development Lp Providing a loan of storage space in a data storage system
US10503654B2 (en) 2016-09-01 2019-12-10 Intel Corporation Selective caching of erasure coded fragments in a distributed storage system
CN110427340B (zh) * 2018-04-28 2023-08-04 伊姆西Ip控股有限责任公司 用于文件存储的方法、装置和计算机存储介质
CN111913919B (zh) * 2020-08-12 2024-08-06 湖北南邦创电科技有限公司 一种文件存储管理方法及存储介质
US11681456B2 (en) * 2021-05-19 2023-06-20 Huawei Cloud Computing Technologies Co., Ltd. Compaction policies for append-only stores

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173873A (ja) * 1991-12-24 1993-07-13 Fujitsu Ltd データ処理装置およびストレージ管理方法
JPH06161837A (ja) * 1992-11-20 1994-06-10 Hitachi Ltd 外部記憶装置上のボリューム選択方式
JP2000155711A (ja) * 1998-11-20 2000-06-06 Mitsubishi Electric Corp データ管理装置及びデータ管理方法
JP2003131819A (ja) * 2001-08-15 2003-05-09 Hewlett Packard Co <Hp> 自動データ記憶システムにおける記憶装置競合の管理方法
JP2003140930A (ja) * 2001-10-31 2003-05-16 Hitachi Ltd ストレージ・ネットワークにおけるストレージ・リソース運用管理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3616487B2 (ja) * 1997-11-21 2005-02-02 アルプス電気株式会社 ディスクアレイ装置
JP3843713B2 (ja) 1999-08-27 2006-11-08 株式会社日立製作所 計算機システム及びそのデバイスの割り当て方法
JP4255624B2 (ja) * 2001-02-22 2009-04-15 株式会社日立製作所 データベース管理システム、データベース管理システムにおける問合せ方法、およびデータベース管理システムにおける問い合わせ実行プログラム
JP2003345631A (ja) * 2002-05-28 2003-12-05 Hitachi Ltd 計算機システム及び記憶領域の割当方法
JP4435588B2 (ja) * 2004-01-30 2010-03-17 株式会社日立製作所 ストレージシステム
JP4485230B2 (ja) * 2004-03-23 2010-06-16 株式会社日立製作所 マイグレーション実行方法
JP2006178720A (ja) * 2004-12-22 2006-07-06 Hitachi Ltd ストレージシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173873A (ja) * 1991-12-24 1993-07-13 Fujitsu Ltd データ処理装置およびストレージ管理方法
JPH06161837A (ja) * 1992-11-20 1994-06-10 Hitachi Ltd 外部記憶装置上のボリューム選択方式
JP2000155711A (ja) * 1998-11-20 2000-06-06 Mitsubishi Electric Corp データ管理装置及びデータ管理方法
JP2003131819A (ja) * 2001-08-15 2003-05-09 Hewlett Packard Co <Hp> 自動データ記憶システムにおける記憶装置競合の管理方法
JP2003140930A (ja) * 2001-10-31 2003-05-16 Hitachi Ltd ストレージ・ネットワークにおけるストレージ・リソース運用管理方法

Also Published As

Publication number Publication date
JP2006285739A (ja) 2006-10-19
US7380093B2 (en) 2008-05-27
US20060224853A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
JP4671738B2 (ja) ストレージシステム及び記憶領域割当て方法
JP5341184B2 (ja) ストレージシステム及びストレージシステムの運用方法
JP4432488B2 (ja) ディザスタリカバリのシームレス管理のための方法と装置
JP5057656B2 (ja) ストレージシステム及びストレージシステムの運用方法
US7711979B2 (en) Method and apparatus for flexible access to storage facilities
US7222172B2 (en) Storage system having virtualized resource
JP4718851B2 (ja) ストレージシステムにおけるデータ移行
JP5099128B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP4568502B2 (ja) 情報処理システムおよび管理装置
JP4990322B2 (ja) データ移動管理装置及び情報処理システム
JP4488807B2 (ja) ボリューム提供システム及び方法
JP5396836B2 (ja) データ分散制御プログラム、ストレージ管理プログラム、制御ノード、およびディスクノード
JP5131271B2 (ja) 組み合わせ決定プログラム、組み合わせ決定装置、および組み合わせ決定方法
US20140351545A1 (en) Storage management method and storage system in virtual volume having data arranged astride storage device
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
JP2006178811A (ja) ストレージシステム及びストレージシステムのパス制御方法
JP2006127028A (ja) 記憶システム及び記憶制御装置
JP2008123132A (ja) 記憶制御装置及び記憶制御装置の論理ボリューム形成方法
JP2001142648A (ja) 計算機システム及びそのデバイスの割り当て方法
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
WO2014068615A1 (en) Storage system and data processing method
JP2009003499A (ja) ファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法
JP2008083922A (ja) 論理的なパスの数を制御する装置及び方法
JP4501548B2 (ja) 計算機システム及びそのデバイスの割り当て方法
JP5052257B2 (ja) 記憶システム及び記憶制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110118

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees