JP2008186137A - ストレージシステムの複数の論理リソースを制御する制御装置 - Google Patents

ストレージシステムの複数の論理リソースを制御する制御装置 Download PDF

Info

Publication number
JP2008186137A
JP2008186137A JP2007017665A JP2007017665A JP2008186137A JP 2008186137 A JP2008186137 A JP 2008186137A JP 2007017665 A JP2007017665 A JP 2007017665A JP 2007017665 A JP2007017665 A JP 2007017665A JP 2008186137 A JP2008186137 A JP 2008186137A
Authority
JP
Japan
Prior art keywords
virtual
real
path
resource
unit
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
JP2007017665A
Other languages
English (en)
Other versions
JP4813385B2 (ja
Inventor
Kenta Shiga
賢太 志賀
Toshihiko Murakami
俊彦 村上
Daiki Nakatsuka
大樹 中塚
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 JP2007017665A priority Critical patent/JP4813385B2/ja
Priority to EP08250023A priority patent/EP1953634A3/en
Priority to US11/971,927 priority patent/US8161487B2/en
Publication of JP2008186137A publication Critical patent/JP2008186137A/ja
Application granted granted Critical
Publication of JP4813385B2 publication Critical patent/JP4813385B2/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/0662Virtualisation aspects
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】上位部にストレージシステムの所定種類の論理リソースを利用できるようにするための論理リソース情報設定の必要性をなるべく無くす。
【解決手段】ストレージシステムの論理リソースを制御する制御装置に、仮想的な論理リソースである仮想リソースを用意する仮想リソース用意部と、実体としての論理リソースである実リソースを上記用意された仮想リソースに割当てる実リソース割当て部とを備える。仮想リソース用意部により、制御装置よりも上位にある上位部によって未だ使用されていない仮想リソースである予備リソースが、一以上の前記上位部の各々に対して一つ以上用意される。
【選択図】図3

Description

本発明は、ストレージシステムの複数の論理リソースの制御に関する。
ストレージシステムには、複数種類の論理リソースがあり、それら複数種類の論理リソースの一つとして、例えば、論理的な記憶装置であるLU(Logical Unit)がある。LUの種類として、例えば、実LUと仮想LUがある。実LUは、ストレージシステムに備えられる複数の物理的な記憶装置のうちの少なくとも一つの記憶空間を基に用意されたLUである。仮想LUは、ストレージシステムの上位部(例えばホスト計算機)に提供される仮想的なLUである。実LUの全部或いは一部は仮想LUに割当てられる。ストレージシステムが、上位部から仮想LUを指定したI/Oコマンド(ライトコマンド/リードコマンド)を受信した場合、仮想LUに割当てられた、実LU又はその一部に対して、データのI/Oを行うことができる。仮想LUとしては、例えば、Thin Provisioningの技術により提供されるLU、言い換えれば、記憶容量が自動的に拡張されるLUを採用することができる。Thin Provisioningに関する技術は、例えば特許文献1に開示されている。
特開2003−15915号公報
一般に、ストレージシステムの各所定種類の論理リソースを上位部に利用できるようにするためには、各所定種類の論理リソースに関する情報の設定(以下、「論理リソース情報設定」と言う)を、論理リソースの使用を制御する記憶制御装置に対して、管理者が手動で行う必要がある。所定種類の論理リソースがLUである場合には、LUの論理リソース情報設定として、例えば、LUの数と、LUのサイズと、どのホストに対してどのLUを割当てるかとのうちの少なくとも一つを、管理者が手動で入力する必要がある。
ストレージシステムは、一般に、種々の企業や官公庁等に導入され運用される。論理リソース情報設定を行うためには、ストレージシステムに関する専門的な知識が必要になることが多い。それ故、導入先において、そのような知識を有した人間が管理者となって、論理リソース情報設定を行うことになる。論理リソース情報設定の必要性をなるべくなくすことができれば、ストレージシステムを導入したり運用したりしやすくなると考えられる。ストレージシステムの導入先によっては、ストレージシステムに関する専門的な知識を持った人間、つまり管理者になり得る人間がおらず、特に、そのような導入先には、論理リソース情報設定の必要性がなるべく無いことが望まれると考えられる。
従って、本発明の目的は、上位部にストレージシステムの所定種類の論理リソースを利用できるようにするための論理リソース情報設定の必要性をなるべく無くすことにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
ストレージシステムの論理リソースを制御する制御装置に、仮想的な論理リソースである仮想リソースを用意する仮想リソース用意部と、実体としての論理リソースである実リソースを上記用意された仮想リソースに割当てる実リソース割当て部とを備える。仮想リソース用意部により、制御装置よりも上位にある上位部によって未だ使用されていない仮想リソースである予備リソースが、一以上の前記上位部の各々に対して一つ以上用意される。
本発明の一実施の形態の概要を説明する。
ストレージシステムの論理リソースを制御する制御装置に、仮想的な論理リソースである仮想リソースを用意する仮想リソース用意部と、実体としての論理リソースである実リソースを上記用意された仮想リソースに割当てる実リソース割当て部とが備えられる。仮想リソース用意部により、制御装置よりも上位にある上位部によって未だ使用されていない仮想リソースである予備リソースが一以上の前記上位部の各々に対して一つ以上用意される。
制御装置は、ストレージシステムに内蔵されても良いし、ストレージシステムの外に存在しても良い(例えば、ストレージシステムに接続されるスイッチ装置であっても良い)。この制御装置と該制御装置に接続した複数の物理記憶装置とにより、ストレージシステムを構築することができる。
上位部としては、例えば、ホスト計算機、ホスト計算機で実行されるコンピュータプログラム(例えばアプリケーションプログラム)、或いは、一以上のホスト計算機及び/又は一以上のコンピュータプログラムを用いて定義することができる業務、など、種々の単位とすることができる。
一つの実施形態では、仮想リソース用意部が、上位部に対して用意されている予備リソースがその上位部によって初めて使用されることを契機に、新たな予備リソースをその上位部に対して用意することができる。また、予備リソースが、実リソースが割当てられていない仮想リソースであるとすることができる。この場合、実リソース割当て部が、上位部によって予備リソースが初めて使用されることを契機に、複数の実リソースの中からどの仮想リソースにも割当てられていない実リソースを選択し、該選択した実リソースを、前記初めて使用される予備リソースに割当てることができる。
一つの実施形態では、新たな予備リソースが上位部に用意された契機で、該上位部との接続を切断することを該上位部に要求する切断要求部が更に備えられてよい。
一つの実施形態では、仮想リソースが、仮想的な論理記憶装置(例えばLU)である仮想記憶装置とすることができる。実リソースが、ストレージシステムに備えられている複数の物理記憶装置のうちの一以上の物理記憶装置を基に形成された、実体としての論理記憶装置である実記憶装置とすることができる。予備リソースが、上位部から送信されるライトコマンドで未だ指定されたことがない仮想論理記憶装置である予備記憶装置とすることができる。
仮想リソース用意部が、予備記憶装置を指定したライトコマンドを初めて前記上位部から受信したことを契機に、新たな予備記憶装置を上位部に対して用意することができる。予備記憶装置が、実記憶装置が割当てられていない仮想記憶装置であってもよい。この場合、実リソース割当て部が、予備記憶装置を指定したライトコマンドを初めて上位部から受信したことを契機に、複数の実記憶装置の中からどの仮想記憶装置にも割当てられていない実記憶装置を選択し、該選択した実記憶装置を、該予備記憶装置に割当てることができる。
受信したライトコマンドに従うライト対象データを、該ライトコマンドで指定されている予備記憶装置に割当てられた実記憶装置に書込むコマンド制御部と、新たな予備記憶装置が上位部に用意された契機で、該上位部との接続を切断することの要求である切断要求を該上位部に送信する切断要求部とが備えられても良い。この場合、コマンド制御部が、切断要求に応答して上記接続が切断された後に、上位部と制御装置とが接続されて、該上位部から受信した所定種類のコマンドに応答して、該上位部に対して用意された新たな予備記憶装置に関する情報(例えば、仮想LUN)を上位部に提供することができる。
どのような種類の上位部に対してどれだけの数及び/又はだれだけの容量の仮想記憶装置を用意するかが定義されたポリシー情報を記憶する記憶領域が更に制御装置に備えられても良い。この場合、仮想リソース用意部が、ライトコマンドの送信元の上位部の種類と、ポリシー情報とに基づいて、該上位部に対して用意する予備記憶装置の数及び/又は容量を制御することができる。
一つの実施形態では、仮想リソースが、仮想的な論理パスである仮想パスとすることができる。実リソースが、実体としての論理パスである実パスとすることができる。予備リソースが、上位部から送信されるI/Oコマンドの送信で未だ使用されたことがない仮想パスである予備パスとすることができる。
仮想リソース用意部が、予備パスを経由したI/Oコマンドを初めて上位部から受信したことを契機に、新たな予備パスを上位部に対して用意することができる。予備パスが、実パスが割当てられていない仮想パスであってもよい。この場合、実リソース割当て部が、予備パスを経由したI/Oコマンドを初めて上位部から受信したことを契機に、複数の実パスの中からどの仮想パスにも割当てられていない実パスを選択し、該選択した実パスを、該予備パスに割当てることができる。なお、I/Oコマンドが初めて予備パスを経由したことは、例えば、該予備パスに実パスが割当てられていないことにより、検出することができる。
受信したI/Oコマンドを処理するコマンド制御部と、新たな予備パスが上位部に用意された契機で、該上位部との接続を切断することの要求である切断要求を該上位部に送信する切断要求部とが更に制御装置に備えられても良い。コマンド制御部が、切断要求に応答して上記接続が切断された後に、上位部と制御装置とが接続されて、該上位部から受信した所定種類のコマンドに応答して、該上位部に対して用意された新たな予備パスに関する情報(例えば、ポートID)を、上位部に提供することができる。
一以上の上位部の各々から送信されたコマンドを受信する複数のポートが更に制御装置に備えられ、論理パスに、ポートIDが含まれてもよい。この場合、実リソース割当て部が、どの仮想パスにも割当てられていない二以上の実パスの各々のポートIDに対応した各ポートの負荷に応じて、該二以上の実パスの中から選択する実パスを制御することができる。
一つの実施形態では、仮想リソースが、仮想記憶装置と仮想パスとの両方であってもよい。同様に、実リソースが、実記憶装置と実パスとの両方であって、予備リソースが、予備記憶装置と予備パスとの両方であっても良い。
上述した各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、図面を参照して、詳細に、本発明の幾つかの実施形態を説明する。なお、その際、所定種類の論理リソースとして、LUを例に採った実施形態を「第一の実施形態」とし、論理パスを例に採った実施形態を「第二の実施形態」とする。
<第一の実施形態>。
図1は、本発明の第一実施形態に係る計算機システムの構成例を示す。
SAN(Storage Area Network)10に、ホスト計算機3及びストレージシステム1が接続されている。SAN10に代えて、他種のネットワーク、例えば、インターネット、或いはLAN(Local Area Network)などが採用されても良い。言い換えれば、例えば、ホスト計算機3とストレージシステム1との間の通信のプロトコルは、ファイバチャネルであっても良いし、TCP(Transmission Control Protocol)/IP(Internet Protocol)であっても良いし、iSCSI(internet Small Computer System Interface)であっても良い。また、図1には、ホスト計算機3は一つだけ示しているが、実際には、複数台存在する。ホスト計算機3の数は一つであっても良い。
ホスト計算機3には、CPUや記憶資源が備えられる。記憶資源には、例えば、図22に示すように、OS(オペレーティングシステム)11や、ボリューム管理マネージャ12や、アプリケーションプログラム(以下、AP)13が記憶され、それらがCPUにより実行される。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。ボリューム管理マネージャ12は、ホスト計算機3に提供される仮想LUを認識(例えばマウント)し管理することができる。AP13は、ボリューム管理マネージャ12やOS11を通じて、I/Oコマンド(ライトコマンド/リードコマンド)を送信することができる。
ストレージシステム1には、制御装置107と、複数のディスク装置103とが備えられている。
複数のディスク装置103の各々は、物理的なディスク型記憶装置であり、具体的には、例えば、ハードディスクドライブである。勿論、それに代えて、DVD(Digital Versatile Disk)ドライブ等の他種の物理的なディスク型記憶装置が採用されても良いし、フラッシュメモリデバイス等の他種の物理的な記憶装置が採用されても良い。複数のディスク装置103の記憶空間を基に、複数の実LUが形成される。各実LUは、例えば、複数のディスク装置103のうちの二以上のディスク装置103によりRAID構成されたRAIDグループの記憶空間を基に形成されて良い。
制御装置107は、ストレージシステム1の動作を制御する装置である。制御装置107は、一以上のポート108と、管理ポート109と、主メモリ101と、キャッシュメモリ110と、不揮発性メモリ100と、一以上のIO
I/F105と、それらが接続されるバス102とを備える。バス102に代えて、他種の転送制御部(例えばLSI(Large Scale Integration)で構成されたスイッチ)が採用されても良い。
一以上のIO I/F105の各々は、複数のディスク装置103の各々と通信する(例えばデータの入出力をする)ためのインタフェース装置である。各IO
I/F105及び各ディスク装置103は、バス106に接続される。
一以上のポート108の各々は、SAN10に接続されるポートであり、例えば、SAN10を介してホスト計算機3からI/Oコマンドを受信する。
管理ポート109は、管理端末2と通信するためのポートである。管理ポート109と管理端末2との間では、通信ネットワーク或いは専用線を経由して通信が行われる。
主メモリ101は、例えば揮発性(或いは不揮発性)のメモリであり、例えば、CPU104のワーク領域として利用される。
キャッシュメモリ110は、ホスト計算機3から受信したライトコマンドに従って仮想LUに書込まれるライト対象データや、ホスト計算機3から受信したリードコマンドに従って仮想LUから読み出されたリード対象データを、一時的に記憶する。なお、本実施形態において、ライトコマンドに従ってライト対象データが仮想LUに書込まれるとは、該ライトコマンドから特定された仮想領域に対応する物理領域にライト対象データが書きこまれることを意味する。「仮想領域に対応する物理領域」とは、仮想領域に対応する実領域に対応した物理領域のことである。仮想領域とは、仮想LUにおける記憶領域(例えば、I/Oコマンドから特定されたアドレスに対応する領域)を意味し、実領域とは、実LUにおける記憶領域を意味し、物理領域とは、ディスク装置103における記憶領域を意味する。リードコマンドに従ってリード対象データが読み出されるとは、該リードコマンドから特定された仮想領域に対応する物理領域からリード対象データが読み出されることを意味する。
不揮発性メモリ100には、CPU104で実行される複数のコンピュータプログラムや、CPU104により参照される情報が記憶される。複数のコンピュータプログラムには、例えば、ホスト登録処理を実行するホスト登録プログラム111、コマンド制御処理を実行するコマンド制御プログラム112、実LU割当て処理を実行する仮想LU制御プログラム113、及び、セッション切断処理を実行するセッション制御プログラム114が含まれる。CPU104により参照される情報として、例えば、ホストテーブル121及びLUテーブル122がある。
図2(a)は、ホストテーブル121の構成例を示す。
ホストテーブル121には、ホストIDが書かれるカラム1211と、仮想LUNが書かれるカラム1212と、実LUNが書かれるカラム1213とがある。ホストテーブル121を構成する各レコードにおいて、カラム1211と交差するフィールドには、ホストIDが書かれ、カラム1212と交差するフィールドには、仮想LUNが書かれ、カラム1213と交差するフィールドには、実LUNが書かれる。ホストIDとは、ホスト計算機3の識別子である。仮想LUNとは、仮想LUのLUN(Logical Unit Number)である。実LUNとは、実LUのLUNである。なお、実LUNの値として、未割当てを意味する値“unassigned”があるが、これは、仮想LU(例えば、仮想LUN1に対応した仮想LU)に実LUが割当てられていないことを意味する。
本実施形態の説明において、「レコード」とは、テーブルの行を意味する。従って、例えば、一番目のレコードによれば、ホストID“H01”に対応するホスト(以下、ホストH01)に、仮想LUN“0”に対応する仮想LU(以下、仮想LU0)が見えており、該仮想LU0に、実LUN“0”に対応する実LU(以下、実LU0)が割当てられていることがわかる。また、二番目のレコードによれば、ホストH01に、仮想LU1が見えているが、実LUが割当てられていないことがわかる。
なお、この実施形態の説明では、説明を分かり易くするために、一つの仮想LUに割当てられる実LUの数は一つであるとする。つまり、仮想LUと実LUとが一対一で対応するとする。また、図2(a)によれば、異なるホストH01,H02に同一の仮想LU0,1が提供されているが、ホストH01に提供される仮想LU0,1と、ホストH02に提供される仮想LU0,1は、異なる。言い換えれば、本実施形態では、仮想LUの識別は、仮想LUNとホストIDとの組み合わせで行われ、故に、同一の仮想LUNを有する複数の仮想LUが一つのホストに提供されることは無い。
図2(b)は、LUテーブル122の構成例を示す。
LUテーブル122には、実LUNが書かれるカラム1221と、実LUに関するステータスが書かれるカラム1222とがある。LUテーブル122を構成する各レコードにおいて、カラム1221と交差するフィールドには、実LUNが書かれ、カラム1222と交差するフィールドには、実LUに関するステータスが書かれる。実LUに関するステータスとしては、例えば、割当て済み(assigned)と未割当て(unassigned)の2種類があるが、それより多くの種類があってもよい。
ちなみに、本実施形態では、ストレージシステム1の導入時(言い換えれば、製品出荷時)には、予め、複数の実LUが用意されている。実LUの数や、実LUのサイズ等は、管理者(管理端末2のオペレータ)によって変更する必要が無い。ストレージシステム1の導入時には、ホストテーブル121及びLUテーブル122のうち、少なくともLUテーブル122が用意されていてよい。そして、そのLUテーブル122のカラム1221の全てのフィールドには、予め用意されている全ての実LUの実LUNが記録されていて、カラム1222にはおける全てのフィールドには未割当てが記録されていてよい。
以上が、本実施形態に係る計算機システムについての説明である。
この実施形態では、ホストに対して、常に、実LUが割当てられていない一以上の仮想LUが予備リソースとして用意される。言い換えれば、ホストに対しては、常に、一つ以上の仮想LUを見せることができる。ホストからは、それら一以上の仮想LUのうちのどれに実LUが割当てられていてどれに実LUが割当てられていないかはわからないが、それら一以上の仮想LUの少なくとも一つに、実LUが未割当ての仮想LUが含まれている。以下、図3(a)、図3(b)及び図3(c)を参照して、本実施形態で行われる処理の流れの一例の概要を説明する。なお、図3(a)、図3(b)及び図3(c)の各々では、仮想LUを点線で示し、仮想LUに割当てられた実LUを実線で示し、仮想LUに割当てられていない実LUの図示を省略している。
図3(a)に示すように、ストレージシステム1が導入された後、ホストH01に対して仮想LU0が提供される。仮想LU0は、ホストH01を制御装置107が検出した場合に、制御装置107により用意されても良い。また、初めの仮想LUである仮想LU0をホストH01に対して用意する場合に限り、制御装置107が、管理端末2からLU作成指示を受けて、該LU作成指示に応答して、ホストH01に対して仮想LU0を用意しても良い。なお、仮想LU0をホストH01に対して用意するとは、具体的には、例えば、図20(a)に示すように、ホストテーブル121に、以下のレコード、すなわち、ホストIDとして“H01”が記録され、仮想LUNとして“0”が記録され、実LUNとして“unassigned”が記録されたレコードを、追加することである。このため、ホストテーブル121のレコードの数は、或るホストに新たに仮想LUが用意されると一つ増えることになるので、ホストテーブル121のサイズは、ホストに用意される仮想LUが増えると、増えることになる。
制御装置107は、ホストH01から仮想LU0を指定したライトコマンドを初めて受信した場合に、図3(b)に示すように、複数の実LUの中から未割当ての実LU(例えば実LU0)を選択して仮想LU0に割り当て、且つ、ホストH01に対して新たな仮想LU1を用意する。この段階において、ホストテーブル121は、図2(a)に示す通りになり、LUテーブル122は、図2(b)に示す通りになる。制御装置107は、ホストH01にセッション切断要求を送信する。ホストH01がセッション切断要求に応答して、当該セッションを切断した後、ホストH01がストレージシステム1に再ログインしたならば、ホストH01に仮想LUN1が提供されるので、新たに仮想LU1が見えるようになる。
この処理において、例えば、未割当ての実LUは、LUテーブル122からステータスが“unassigned”の実LUNを探し出すことで、特定することができる。また、制御装置107は、ライトコマンドに従うライト対象データを、仮想LU0に実LU0を割当てて以降、任意のタイミングで、実LU0に書込むことができる。また、セッション切断要求に代えて、ホストから再ログインがなされることになる要求であれば何でも良い。再ログインとは、ストレージシステム1に対して行う2回目以降のログインのことであり、再ログインに対する言葉として初回ログインがある。再ログインでも初回ログインでも、ログイン要求がホストからストレージシステム1に対して送信される。セッション切断要求を送信するとは、例えば、iSCSIの場合には、Asynchronous Message又はTCPコネクション切断要求を送信することである。また、ホストから仮想LUが見えるとは、ホストから仮想LUを認識すること、具体的には、例えば、ホストに仮想LUがマウントされること、より具体的には、例えば、ホストにおける特定のコンピュータプログラム(例えばボリューム管理マネージャ12)が仮想LUを認識することを意味する。
以後、制御装置107は、ライトコマンドを受信した場合、受信したライトコマンドが、仮想LU0を指定したライトコマンドである場合には、該ライトコマンドに従うライト対象データを、仮想LU0に割当てられている実LU0に書込む。また、制御装置107は、受信したライトコマンドが、実LUが未割当ての仮想LU1を指定したライトコマンドである場合には、言い換えれば、仮想LU1を指定したライトコマンドを初めて受信した場合には、以下の処理を行う。すなわち、制御装置107は、図3(c)に示すように、複数の実LUの中から未割当ての実LU(例えば実LU3)を選択して仮想LU1に割り当て、且つ、ホストH01に対して新たな仮想LU2を用意する。この段階において、ホストテーブル121は、図21(a)に示す通りになり、LUテーブル122は、図21(b)に示す通りになる。制御装置107は、ホストH01にセッション切断要求を送信する。ホストH01がセッション切断要求に応答してストレージシステム1に再ログインしたならば、ホストH01に仮想LUN2が提供されるので、ホストH01からは、新たに仮想LU2が見えるようになる。
ちなみに、図3(c)において、再ログインがされる前であれば、例えば、ボリューム管理マネージャ12が、ホストH01のユーザ、或いは、ホストH01に接続されているホスト管理端末(詳細は後述する)等からの要求に応答して、現在認識されている仮想LU0、1に関する情報(例えば、仮想LUN及び仮想LUサイズ)を表示した管理画面400(図4(a)参照)を提供する。一方、再ログインがなされた後であれば、例えば、例えば、ボリューム管理マネージャ12が、ホストH01のユーザ、或いは、ホストH01に接続されているホスト管理端末等からの要求に応答して、現在認識されている仮想LU0、1及び2に関する情報(例えば、仮想LUN及び仮想LUサイズ)を表示した管理画面400(図4(b)参照)を提供する。図4(a)と図4(b)とを比較すれば、再ログインにより、仮想LU2が新たに用意されたことがわかる。なお、仮想LUサイズは、本実施形態では、一律に30MB(メガバイト)という固定値としており、仮想LUと実LUは一対一で対応するため、実LUサイズも30MBである。仮想LUサイズや実LUサイズは他の値であっても良い。
以上のように、本実施形態では、実LUが割当てられていない仮想LU(以下、「予備仮想LU」と言うことがある)を指定したライトコマンドを初めて受信した場合、未割当ての実LUが選択されて仮想LUに割り当てられるが、そのようなライトコマンドを受信したことを契機として、制御装置107が、該ライトコマンドの送信元のホストに対して、新たに予備仮想LUを用意する。その際、その新たに用意された予備仮想LUの仮想LUNは、そのホストに対して既に用意されている一以上の仮想LUの仮想LUNに重複しない番号、例えば、それら一以上の仮想LUNのうち番号が最も大きい仮想LUNに1を加算したLUNとすることができる。また、新たに予備仮想LUを用意する契機としては、予備仮想LUを指定したライトコマンドを初めて受信した契機、言い換えれば、予備仮想LUが枯渇する契機に代えて、他の契機が採用されてもよい。例えば、予備仮想LUが常に複数個用意されているならば、或る予備仮想LUに割当てられている実LUの空き容量が少なくなったことを契機として、新たに一又は二以上の予備仮想LUが用意されても良い。
また、上述した説明において、ホストH01にとっての初期状態は、図3(a)に示す状態としたが、それに限らず、例えば、図3(b)に示す状態が初期状態であっても良い。すなわち、ホストH01には、初めは、一以上の予備仮想LUに加えて、実LUが割当てられている少なくとも一つの仮想LUが用意されても良い。
また、前述の説明では、予備仮想LUの定義として、実LUが割当てられていない仮想LUとしたが、それに代えて、より広い概念として、ライトコマンドで未だ一度も指定されていない仮想LUとしても良い。すなわち、本実施形態では、仮想LUに実LUが割当てられる契機としては、該仮想LUを指定したライトコマンドを初めて受信したことであるが、それに代えて、ホストH01に新たに仮想LUが用意された契機としても良い。この場合であれば、ライトコマンドを受信する前に前もって仮想LUに実LUが割当てられることになる。また、この場合であれば、例えば、ホストH01にとっての初期状態としては、実LUが割当てられている仮想LU(但し、該仮想LUを指定したライトコマンドを未だ受信していない状態の仮想LU)のみが用意された状態であっても良い。その際、該仮想LUを指定したライトコマンドを初めて受信したことを契機として、新たに仮想LUが用意されても良い。新たに用意された仮想LUには、その仮想LUの用意を契機に実LUが割り当てられても良いし、その仮想LUを指定したライトコマンドを初めて受信した契機で実LUが割り当てられても良い。
以下の説明では、予備仮想LUの定義としては、ライトコマンドで未だ一度も指定されていない仮想LUとし、実LUが割当て済みであるか否かはどちらでも良いことにする。
さて、図3(a)、図3(b)及び図3(c)を参照した説明において、ホストH01に対して初めて予備仮想LUを用意する方法(以下、初回準備方法)としては、幾つかの方法、例えば以下の3つの方法が考えられる。
第一の初回準備方法は、制御装置107が、ホストH01を初めて検出したことを契機に、ホストH01に対して仮想LU0を用意する方法である。第一の初回準備方法で行われる処理の流れの一例を、図16に示す。すなわち、ホストH01が、所定の種類の情報(例えば、ストレージシステム1のIPアドレス)を含んだディスカバリ要求を、ストレージシステム1に送信する(S101)。制御装置107が、そのディスカバリ要求に応答して、ホストH01に仮想LU0を用意し、ホストH01と仮想LU0とを対応付け(S102)、用意した仮想LU0の仮想LUN0をホストH01に送信する(S103)。ホストH01のボリューム管理マネージャ12が、OS11を通じて、ストレージシステム1からの仮想LUN0を含んだ初回ログインをストレージシステム1に行う(ログイン要求をストレージシステム1に送信する)ことにより(S104)、仮想LU0を認識することができる。
第二の初回準備方法は、管理端末2からLU作成指示を受信したことを契機に、ホストH01に対して仮想LU0を用意する方法である。第二の初回準備方法で行われる処理の流れの一例を、図17に示す。すなわち、管理端末2が、ホストH01のホストID“H01”を含んだLU作成指示を送信する(S111)。制御装置107が、そのLU作成指示に応答して、ホストH01に仮想LU0を用意し、ホストH01と仮想LU0とを対応付け(S112)、応答を管理端末2に返す(S113)。ホストH01のボリューム管理マネージャ12が、OS11を通じて、仮想LUN0を含んだログイン要求をストレージシステム1に送信する(初回ログインする)ことにより(S114)、仮想LU0を認識することができる。なお、この第二の初回準備方法では、ボリューム管理マネージャ12は、ユーザからの入力等により、仮想LU0の仮想LUN0を知ることができる。
なお、この第二の初回準備方法では、管理端末2を、ホストH01のエージェントプログラム14に代えることができる。例えば、図19(a)に示すように、ホストH01の記憶資源にエージェントプログラム14が記憶されていて、エージェントプログラム14が、図19(b)に例示するように、ホスト管理端末4からの指示に応答して、LU作成指示をストレージシステム1に送信しても良い。この場合であれば、例えば、図1の構成において、管理端末2及び管理ポート109は無くても良い。なお、ホスト管理端末4のオペレータを「ホスト管理者」と言い、それに対し、管理端末2のオペレータを「ストレージ管理者」と言うこともできる。
第三の初回準備方法は、特定のサーバ、例えば名前管理サーバ(iSNS(internet Storage name service)サーバ)を利用する方法である。第三の初回準備方法で行われる処理の流れの一例を、図18に示す。すなわち、ホストH01が、自分のID“H01”を名前管理サーバに登録し(S121)、名前管理サーバから、登録の完了の通知を受ける(S122)。名前管理サーバが、新規に登録されたID“H01”をストレージシステム1に通知する(S123)。制御装置107が、その通知に応答して、ホストH01に仮想LU0を用意し、ホストH01と仮想LU0とを対応付け(S124)、ホストH01に対応する仮想LUN0を名前管理サーバに登録し(S125)、応答を名前管理サーバから受ける(S126)。名前管理サーバでは、ホストID“01”と仮想LUN“0”とが対応付けられている。ホストH01が、所定の種類の情報(例えば、名前管理サーバのIPアドレス)を含んだディスカバリ要求を、名前管理サーバに送信する(S127)。名前管理サーバが、そのディスカバリ要求に応答して、ホストH01に対応した仮想LUN0をホストH01に送信する(S128)。ホストH01のボリューム管理マネージャ12が、OS11を通じて、ストレージシステム1からの仮想LUN0を含んだログイン要求をストレージシステム1に送信する(初回ログインする)ことにより(S129)、仮想LU0を認識することができる。なお、名前管理サーバに登録する情報は、仮想LUNの代わりに、iSCSIネームであってもよい。
上述した第一乃至第三の初回準備方法において、ステップ102、ステップ112及びステップ124で、ホスト登録プログラム111が、図5に例示するホスト登録処理を実行することができる。以下の説明では、初回準備方法が完結した場合のホストH01にとっての初期状態として、図3(b)の状態であるとする。
ステップ5001で、ホスト登録プログラム111は、ホストIDを決定する。決定されるホストIDとしては、ステップ102では、ディスカバリ要求から特定されるIDとすることができる。ステップ112では、LU作成指示に応答して任意に決めたID、或いは、LU作成指示から特定されるIDとすることができる。ステップ124では、名前管理サーバからの通知から特定されるIDとすることができる。
ステップ5002で、ホスト登録プログラム111は、LUテーブル122から、一以上の未割当ての実LUを検索し、検索した一以上の未割当ての実LUから未割当ての実LU(例えば実LU0)を選択し、該選択した実LUに対応したステータスを“assigned”に変更する。
ステップ5003で、ホスト登録プログラム111は、ホストテーブル121に、ホストID“H01”と、任意の仮想LUN(例えば仮想LUN“0”)と、ステップ5002で選択された実LUに対応した実LUN(例えば実LUN“0”)とを記録したレコードを追加する。
ステップ5004で、ホスト登録プログラム111は、ホストテーブル121に、ホストID“H01”と、任意の仮想LUN(例えば仮想LUN“1”)と、実LUNとして“unassigned”とを記録したレコードを追加する。すなわち、ホスト登録プログラム111は、ホストH01に対して、実LUが割当てられていない仮想LUを用意する。
以上が、ホスト登録処理の一例である。なお、例えば、ホストH01の初期状態が例えば図3(a)に示した状態であれば、ステップ5002及び5003は不要であり、ステップ5004で、実LUが割当てられていない仮想LUを用意すれば良い。また、例えば、ステップ5004は、必ずしもホスト登録処理において行わなくても良い(この場合は、例えば、ステップ5003で用意した仮想LUに初めてライトが生じることを契機に、別のコンピュータプログラムによって、ステップ5004に相当する処理が実行されても良い)。
図6と図7との組み合わせにより、コマンド制御プログラム111が実行するコマンド制御処理の流れの一例を示す。
コマンド制御プログラム111は、ホストから制御装置107が受信したコマンドを解析し、該コマンドがReport LUNである場合(ステップ6001でYes)、ステップ6002を実行する。すなわち、コマンド制御プログラム111は、ホストテーブル121から、コマンド(Report LUN)の送信元ホストのIDを含んだレコードを検索する。そして、ステップ6003で、コマンド制御プログラム111は、見つかった各レコードにある仮想LUNを、該送信元ホストに送信する。
ホストから制御装置107が受信したコマンドがReport LUNではない場合(ステップ6001でNo)、コマンド制御プログラム111は、受信したコマンドで指定されている仮想LUNが記録されているレコードをホストテーブル121から探す(ステップ6004)。その結果、見つかったレコードに記録されている実LUNの値が“unassigned”であれば(ステップ6005でYes)、図7のステップ7001に進む。一方、見つかったレコードに記録されている実LUNの値が“assigned”であれば(ステップ6005でNo)、コマンド制御プログラム111は、受信したコマンドに従う処理(通常のコマンド処理)を実行する(ステップ6006)。例えば、該コマンドがライトコマンドであれば、コマンド制御プログラム111は、該ライトコマンドに従うライト対象データをキャッシュメモリ110に一時格納し、該ライトコマンドで指定されている仮想LUに、該キャッシュメモリ110に一時格納したライト対象データを書く。また、例えば、該コマンドがリードコマンドであれば、コマンド制御プログラム111は、該リードコマンドに従うリード対象データを、該リードコマンドで指定されている仮想LUから読出してキャッシュメモリ110に一時格納し、該キャッシュメモリ110に一時格納したリード対象データを、リードコマンドの送信元ホストに送信する。
図7のステップ7001において、コマンド制御プログラム111は、受信したコマンドがライトコマンドであれば(ステップ7001でYes)、ステップ7002にて、仮想LU制御プログラム113を呼び出して実LU割当て処理(詳細は図8(a)に示す)を実行させる。一方、受信したコマンドがライトコマンドでなければ(ステップ7001でNo)、ステップ7003に進む。
ステップ7003において、コマンド制御プログラム111は、受信したコマンドがリードコマンドであれば(ステップ7003でYes)、ステップ7004にて、リードコマンドの送信元ホストに、読み出したデータとして0を返す。それに代えて、他種の方法で、エラーを送信元ホストに通知しても良い。一方、受信したコマンドがリードコマンドでなければ(ステップ7003でNo)、ステップ7005に進む。
ステップ7005において、コマンド制御プログラム111は、受信したコマンドがRead Capacity又はInquiryであれば(ステップ7005でYes)、ステップ7006にて、コマンドの送信元ホストに、固定値を送信する。固定値としては、例えば、コマンドがRead Capacityであれば、仮想LUサイズ(例えば上記の30MB)であり、コマンドがInquiryであれば、ストレージシステム1のメーカ名や製造番号等である。受信したコマンドがRead Capacity及びInquiryでなければ(ステップ7005でNo)、ステップ7007にて、コマンド制御プログラム111は、受信したコマンドに従う処理(通常のコマンド処理)を実行する。
図8(a)は、仮想LU制御プログラム113により実行される実LU割り当て処理の流れの一例を示す。
ステップ8001で、仮想LU制御プログラム113は、LUテーブル122から、未割当ての実LUを選択し(つまり、“unassigned”となっている実LUNを選択し)、選択した実LUのステータスを“assigned”に変更する。
ステップ8002で、仮想LU制御プログラム113は、ホストテーブル121の、実LUが未割当ての仮想LUを表すレコードを、実LUが仮想LUに割当て済みであることを表すレコードに変更する。具体的には、例えば、仮想LU制御プログラム113は、ホストテーブル121の、実LUNが“unassigned”になっているレコード(ライトコマンドの送信元ホストのホストIDが記録されているレコード)において、“unassigned”を、ステップ8001でステータスが“assigned”になった実LUNに変更する。
ステップ8003で、仮想LU制御プログラム113は、ホストテーブル121に、実LUが未割当ての仮想LUを表すレコード(ライトコマンドの送信元ホストのホストIDが記録されているレコード)を追加する。
ステップ8004で、仮想LU制御プログラム113は、セッション制御プログラム114を呼び出す(つまり、セッション切断処理を実行させる)。
図8(b)は、セッション制御プログラム114により実行されるセッション切断処理の流れの一例を示す。
ステップ8005で、セッション制御プログラム114は、ライトコマンドの送信元ホストに、セッション切断要求を送信する。これにより、送信元ホストが、そのセッション切断要求に応答して、ストレージシステム1に再ログインすることで、図8(a)のステップ8003で用意された仮想LUを新たに認識することができる。また、送信元ホストは、例えば、仮想LU1を指定したライトコマンドを送信した場合に、再ログインすることになった場合には、該ライトコマンドをストレージシステム1に再送すれば、該ライトコマンドに従うライト対象データが、仮想LU1に割当てられた実LUに書かれることになる。
以上が、第一の実施形態についての説明である。
上述した第一の実施形態によれば、ホストには常に一以上の予備仮想LUが用意される。具体的には、例えば、新規にホストを導入する場合(言い換えれば、ホストに対して初めて仮想LUを用意する場合)、ホスト或いは管理端末等から、LUの数やサイズ等の指定を含まない所定の要求を送信すれば、該ホストに予備仮想LUが用意される。その後、ホストから予備仮想LUへの初めてのライトを契機に、そのホストに対して新たに予備仮想LUが用意され、このような処理が、予備仮想LUに対して初めてのライトが生じる都度に実行される。つまり、ホストが新規に導入されるときでも、導入した後でも、ホストにLUを提供するためにLUの数やサイズ等の論理リソース情報設定を行わなくても済む。このため、ストレージシステムに関する専門的な知識を持った管理者が不在の企業等にも、ストレージシステムを導入し易くなる。
また、上述した第一の実施形態によれば、ホストには常に一以上の予備仮想LUが用意される。言い換えれば、予備仮想LUが枯渇しそうな場合には新たに予備仮想LUが自動的に用意されてホストに提供される。このため、ホストに対してLUを追加するといった論理リソース情報設定を行わなくても、ホストにとって仮想LUが枯渇してしまう(空き容量のある仮想LUが無くなってしまう)可能性を軽減することができる。
論理リソース情報設定をなるべく行わせないための別法としては、仮想LUを、Thin Provisioningの技術により提供される仮想LUとし、予め、ストレージシステム1に接続可能な最大数のホストの各々に対して、一つのホストに割当てることが可能な最大数の仮想LUを割当てておく方法が考えられる。しかし、この別法を採用すると、十分に大きな容量を持ったメモリ、具体的には、例えば、ホスト最大数×仮想LU最大数分の領域割り当てを管理するためのテーブルを記憶することができる容量以上のメモリが必要になる。本実施形態によれば、そのような別法より少ない容量のメモリで、LUの管理(例えば、ホストテーブル121やLUテーブル122の記憶)が可能である。
ところで、この第一の実施形態については、例えば以下のような種々の変形例が考えられる。
(第一の変形例)仮想LUは、Thin Provisioningの技術により提供される仮想LUであっても良い。割り当て単位としては、実LU単位であっても良いし、実LUを構成する複数の記憶領域(実領域)の単位であっても良い。実LU単位とした場合には、一つの仮想LUに、複数の実LUを割り当てることが可能となる。この場合には、例えば、ホストテーブル121には、仮想LUの記憶領域(アドレス範囲)が記録されるカラムが用意されて良い。こうすることで、ホストテーブル121には、どのホストにどの仮想LUのどの記憶領域にどの実LUが割り当てられているかを記録することができる。Thin Provisioningの技術としては、例えば、特開2003−15915号公報(US特許番号6725328号、US特許番号6836819号、US出願番号10/991421号)に開示の技術を援用することができる。
(第二の変形例)仮想LUは、いわゆる外部接続技術に従う仮想LUであってもよい。具体的には、例えば、実LUは、ストレージシステム1に接続された外部のストレージシステムに存在しても良い。この場合、仮想LUに対するライトコマンドに従うライト対象データは、該仮想LUに対応している外部の実LUに書込まれる。外部接続技術としては、例えば、特開2005−107645号公報(US出願番号10/769805号、US出願番号11/471556号)に開示の技術を援用することができる。なお、変形例では、ストレージシステム1には、ディスク装置3は無くても良い。また、制御装置107は、ファイバチャネルスイッチなどのスイッチ装置であっても良い。
(第三の変形例)仮想LUはホストに対して用意されることに代えて、業務、アプリケーションなど他の上位部に用意されても良い。上位部を業務とした場合、例えば、一つの業務は、一以上のアプリケーションプログラムにより実行することができ、そのため、業務IDと一以上のアプリケーションプログラムにそれぞれ対応した一以上のアプリケーションIDとの対応や、どのアプリケーションがどのホストに存在するかを表すアプリケーションIDとホストIDとの対応がテーブル等に記録されてよい。この場合、制御装置107は、或る仮想LUを指定したライトコマンドを受けた場合、該ライトコマンドの送信元アプリケーションが属する業務を特定し、その業務について上記或る仮想LUについて初めてのライトであれば、業務に対して新たに仮想LUを用意しても良い。
(第四の変形例)ストレージシステム1は、予め搭載されている複数のディスク装置103の各々がストレージシステム1の導入先では取り外し不可能(言い換えれば交換不可能)に構成されていても良い。取り外し不可能な構成としては、例えば、複数のディスク装置103がカバーで覆われていて、ストレージシステム1の導入先にいる人間が手作業でディスク装置103を交換することができないようになっていても良い。ストレージシステム1には、所定個数(例えば2個)の拡張スロット(例えばディスク装置103が着脱可能なスロット)が用意されていて、所定個数分、ディスク装置103が増やせる構成になっていても良い。
(第五の変形例)上述した計算機システムは、メインフレームに係る計算機システムであっても良い。また、ストレージシステム1は、NAS(Network Attached Storage)装置であっても良く、この場合、制御装置107は、NASヘッドであってもよい。
(第六の変形例)仮想LUの用意に関するポリシーを記録した情報であるポリシー情報が不揮発性メモリ100に記憶されても良い。該ポリシーとしては、例えば、どのような種類の上位部(例えば、ホスト、アプリケーション及び業務のうちのどれであって、ホスト、アプリケーション或いは業務として更にどのような種類であるか)に対してどれだけの数及び/又はどれだけの容量の仮想LUを用意するかを定義したものである。この場合、仮想LU制御プログラム113は、或る仮想LUに対する初回のライトコマンドがどのような上位部であるかと、ポリシー情報とに基づいて、上位部(例えばホスト)に対して用意する仮想LUの数及び/又は容量を制御しても良い(決定しても良い)。
<第二の実施形態>。
以下、本発明の第二の実施形態について、第一の実施形態との相違点を主に説明し、第一の実施形態との共通点については説明を省略或いは簡略する。
図9は、本発明の第二実施形態に係る計算機システムの構成例を示す。
第二の実施形態は、前述したように、論理リソースがパスである場合の一実施形態である。第二の実施形態では、制御装置107´が、ホスト計算機3に対して、必ず、実パスが割り当てられていない仮想パスを一つ以上見せる。ホスト3がその仮想パスを経由したI/Oコマンドを発行する時に、制御装置107´が、その仮想パスに実パスを割り当てると共に、実パスが割り当てられていない仮想パスを追加作成する。これにより、例えば、ホスト管理者がI/Oのスループットを増やすためにパスを追加したい場合、ホスト管理者は、ホスト側のパス設定を変えるだけで済み、ストレージシステム1に対する論理リソース情報設定を不要にすることができる。
第二の実施形態では、第一の実施形態におけるホスト登録プログラム111、コマンド制御プログラム112、仮想LU制御プログラム113、ホストテーブル121及びLUテーブル122に代えて、ホスト登録プログラム115、コマンド制御プログラム116、仮想パス制御プログラム117、ホストテーブル123及びLUテーブル124が、不揮発性メモリ100に記憶される。
図10(a)は、ホストテーブル123の構成例を示す。
ホストテーブル123には、ホストIDが記録されるカラム1231と、仮想パスのIDが記録されるカラム1232と、実パスのIDが記録されるカラム1233とがある。このテーブル123の各レコード(行)には、ホストID、仮想パスのID、及び実パスのIDが記録される。このテーブル123から、どのホストに対してどの仮想パスが割当てられており、その仮想パスにどの実パスが割当てられているか或いはその仮想パスに実パスが未割当て(“unassigned”)であるかがわかる。
図10(b)は、パステーブル124の構成例を示す。
パステーブル124には、実パスのIDが記録されるカラム1241と、ポートIDが記録されるカラム1242と、LUNが記録される1243と、パスに関するステータスが記録されるカラム1244とがある。このテーブル124の各レコード(行)には、実パスのID、ポートID、LUN及びステータスが記録される。このテーブル124から、各実パスについて、どのポートとどのLUとの組み合わせで構成されていて、その実パスが割当て済み(“assigned”)であるか未割当て(“unassigned”)であるかがわかる。このテーブル124によれば、例えば、IDが“0”の実パス(以下、実パス0)が或る仮想パスに割当てられた場合、該仮想パスを使用するホストからのI/Oコマンドに従うI/Oは、該実パス0を構成するLUN0に対応した実LUに対して発生することになる。本実施形態において、実パスとは、ポートIDとLUNとの組み合わせで表されるパスであり、それに対し、仮想パスとは、仮想的なパスであり、ポートIDとLUNとの組み合わせが不要なパスである。上述したLUNは、本実施形態では、実LUのLUNとする。すなわち、本実施形態に係る仕組みは、主に、LUに関する論理リソース情報設定をなるべく不要とするための仕組みではなく、パスに関する論理リソース情報設定をなるべく不要にするための仕組みである。勿論、この第二の実施形態を第一の実施形態と組み合わせても良い。この場合であれば、パステーブル124に記録されるLUNを、仮想LUNとすることができる。
この図10(b)に示したパステーブル124は、ストレージ管理者が実LUを作成すると、制御装置107´が、その実LUと全てのポート108との間のパスを表すレコードを追加することを意味している。例えば、ポート108がP00、P01、P02、P03の4個ある場合、ストレージ管理者によりLU0が作成されると、制御装置107´が、P00-LU0、P01-LU0、P02-LU0、P03-LU0の四つの実パスを表すレコードをパステーブル124に追加する。また、格別図示しないが、ストレージ管理者により新たにLU1が作成されると、制御装置107´が、P00-LU1、P01-LU1、P02-LU1、P03-LU1の四つの新たな実パスを表すレコードをパステーブル124に更に追加する。すなわち、実LUが新たに作成される都度に、ポート108の数分の実パスが新たに作成されることになる。なお、それに代えて、例えば、ストレージシステム1には、製品出荷時に、複数の実LUが用意されていて、故に、それら複数の実LUにそれぞれ対応する複数の実LUNが予めあって、その製品出荷時では、更に、[(ポート108の数)×(実LUNの数)]分の実パス、すなわち、全てのポートIDの各々と全ての実LUNの各々とを含んだ各実パスが予め用意されていても良い。
以下、図11(a)及び図11(b)を参照して、本実施形態で行われる処理の流れの一例の概要を説明する。なお、図11(a)及び図11(b)の各々では、仮想パスを点線で示し、仮想パスに割当てられた実パスを実線で示し、仮想パスに割当てられていない実パスの図示を省略している。
図11(a)に示すように、ホストH01の導入時では、ホストH01には、実LU0が認識されており、且つ、実パス0が割当てられた仮想パス0と、実パスが割当てられていない仮想パス1とも認識されているとする。ホストH01には、自分が認識しているパスが仮想パスであるか否かであることまでは認識されない。ホストH01の記憶資源には、例えば、パス管理マネージャというコンピュータプログラムが記憶されていて、それが、ホストH01のCPUで実行される。パス管理マネージャは、認識しているパスを管理しており、図11(a)の状態において、図12(a)に例示する管理画面1200を表示することができる。管理画面1200には、ホストH01のパス管理マネージャが認識しているパスに関する情報、例えば、LUN“0”と、LUN“0”が構成要素である仮想パス0を構成するポートのID“P00”と、LUN“0”が構成要素である仮想パス1を構成するポートのID“P01”とが表示される。例えば、SCSI(iSCSIを含む)のプロトコルに従ってI/Oコマンドを発行する場合には、ポートID(例えば番号)、LUN及びLBA(論理ブロックアドレス)をパラメータとして含んだコマンドを発行することができるが、そうなると、ポートID及びLUNの組み合わせにより、パスを指定することになる。この実施形態では、一つのLUNに全てのポートIDが関連付けられて実パスが構成されるので、一つのホストにおいて、一つのLUNにつき認識可能なパスの最大数は、制御装置107´に備えられているポートの数である。
図11(a)の状態において、制御装置107´が、LUN“0”及びポートID“P01”を含んだコマンドを受信した場合、言い換えれば、仮想パス1経由でコマンドを受信した場合、図11(b)に示すような処理を実行する。すなわち、制御装置107´は、LUN0を含んだ複数の実パスのうちの未割当ての実パス(例えば実パス1)を選択し、選択した実パス1を仮想パス1に割当てる。また、制御装置107´は、新たな仮想パス2を用意し、ホストH01にその新たな仮想パス2を割当てる。そして、制御装置107´は、セッション切断要求を、コマンドの送信元であるホストH01に送信する。ホストH01は、制御装置107´からセッション切断要求を受信し、そのセッション切断要求に応答して、当該セッションを切断した後、再ディスカバリ要求をストレージシステム1に送信し、その後、再ログインを実行する。これにより、ホストH01のパス管理マネージャで、仮想パス2を新たに認識することができる。パス管理マネージャは、例えば、図12(b)に示すように、管理画面1210に、LUN0について、ポートID“P02”を新たに表示することができる。
再ディスカバリ要求とは、2回目にストレージシステム1に送信したディスカバリ要求であり、再ディスカバリ要求に対して、1回目にストレージシステム1に送信したディスカバリ要求である初回ディスカバリ要求がある。図11(b)において、ホストH01がLUN0について認識できているポートはP00及びP01なので、ホストH01は、セッション切断要求に応答して、セッションを切断した後、LUN0を含んだディスカバリ要求を、ポートP00あるいはP01(つまり、自分が現在認識しているポートIDのうちの少なくとも一つ)を指定して送信する。制御装置107´は、LUN0を含んだディスカバリ要求を、ポートP00あるいはP01で受信する。制御装置107´は、そのディスカバリ要求に応答して、ホストテーブル123及びパステーブル124を参照すれば、ホストH01に用意された仮想パス0,1にそれぞれ実パス0,1が割当てられており、且つ、仮想パス2に実パスが割当てられていないことが分かる。そこで、制御装置107´は、自分が有する他のポート(P00及びP01以外のポート)から任意の一つのポート(例えばP02)を選択し、LUN0を含んだディスカバリ要求に対するディスカバリ応答として、割当て済みの実パス0,1をそれぞれ構成するポートID“P00”及び“P01”と、上記選択したポートのID“P02”とを含む応答を、ホストH01に返す。その後、ホストH01が、その応答に含まれている全てのポートID“P00”、“P01”及び“P02”に対して、ログイン要求を送信することにより、各ポートP00、P01及びP02との間でセッション(例えばiSCSIセッション)を確立することができる。
以上が、第二の実施形態で行われる処理の流れの一例の概要である。なお、この第二の実施形態において、ホストH01の導入時では、必ずしも、実パスが割当てられていない仮想パス1がホストH01に用意されている必要は無く、例えば、仮想パス0が用意されているのみであっても良いし、実パス1が割当てられた仮想パス0が用意されているのみであっても良い。言い換えれば、この第二の実施形態において、予備リソースとしては、一度も指定されたことの無い仮想パスとすることができ、該仮想パスに実パスが割当てられているか否かはどちらでも良いとすることができる。また、ポートは、ポートIDに代わりにIPアドレスで識別されてもよい。また、LUは、LUNの代わりに、iSCSIネームで識別されても良い。
図13は、ホスト登録プログラム115により実行されるホスト登録処理の流れの一例を示す。
この第二の実施形態では、ホスト登録処理よりも前に、ストレージ管理者が、管理端末2を操作して、ストレージシステム1にLUを作成しておくことができる。それに代えて、ストレージシステム1の出荷時に既に複数のLUが用意されていても良い。また、この第二の実施形態では、ストレージ管理者が、管理端末2を操作して、ホストIDとLUNとを指定したホスト登録コマンドを送信することができる。ホスト登録処理は、そのコマンドに応答して開始されて良い。或いは、例えば、第一実施形態との組み合わせとするならば、ホスト登録処理の開始の契機は、第一実施形態と同様であっても良い。図5のステップ5001と同様の方法で決定されても良い。
ステップ1301で、ホスト登録プログラム115は、ホストIDを決定する。決定されるホストIDとしては、管理端末2から受信したホスト登録コマンドに指定されているホストIDとすることができる。或いは、図5のステップ5001と同様の方法で決定されても良い。
ステップ1302で、ホスト登録プログラム115は、パステーブル124から、一以上の未割当ての実パスを検索し、検索した一以上の未割当ての実パスから未割当ての実パス(例えば実パス0)を選択し、該選択した実パスに対応したステータスを“assigned”に変更する。
ステップ1303で、ホスト登録プログラム115は、ホストテーブル123に、ホストID“H01”と、任意の仮想パスID(例えば仮想パスID“0”)と、ステップ1302で選択された実パスに対応した実パスID(例えば実パスID“0”)とを記録したレコードを追加する。
ステップ1304で、ホスト登録プログラム115は、ホストテーブル121に、ホストID“H01”と、任意の仮想パスID(例えば仮想パスID“1”)と、実パスIDとして“unassigned”とを記録したレコードを追加する。すなわち、ホスト登録プログラム111は、ホストH01に対して、実パスが割当てられていない仮想パスを用意する。
以上が、ホスト登録プログラム115により行われるホスト登録処理の一例である。なお、例えば、ホストH01の初期状態が、例えば、実パスが割当てられていない仮想パス0のみでよければ、ステップ1302及び1303は不要であり、ステップ1304で、実パスが割当てられていない仮想パス0を用意すれば良い。また、例えば、ステップ1304は、必ずしもホスト登録処理において行わなくても良い(この場合は、例えば、ステップ1303で用意した仮想パスが初めて使用された(その仮想パスを経由して初めてコマンドを受信した)ことを契機に、別のコンピュータプログラムによって、ステップ1304に相当する処理が実行されても良い)。また、ステップ1302では、ホスト登録プログラム115は、未割り当ての実パスのうち、ポート108の負荷(例えば、過去1日のトラフィック量、及び/又は、そのポート108を含んだ実パスのうち割当て済みの実パスの数等)に基づいて、最も負荷が低いと推定される実パスを選択しても良い。
図14は、コマンド制御プログラム116により行われるコマンド制御処理の流れの一例を示す。
ステップ1401で、コマンド制御プログラム116は、ホストによってコマンドの送信に使用された、該ホストに対して用意された仮想パスが、該ホストによって初めて使用された仮想パス(以下、初回使用仮想パス)であるか否かと、受信したコマンドがI/Oコマンド(つまりライトコマンド又はリードコマンド)であるか否かを判断する。初回使用パスでありI/Oコマンドであると判断すれば(ステップ1401でYes)、コマンド制御プログラム116は、ステップ1402で、仮想パス制御プログラム117を呼び出して実パス割り当て処理を実行させる。一方、初回使用パスではない、或いは、I/Oコマンドではないと判断すれば(ステップ1401でNo)、コマンド制御プログラム116は、ステップ1403で、受信したコマンドの処理(通常のコマンド処理)を実行する。
図15は、仮想パス制御プログラム117により実行される実パス割り当て処理の流れの一例を示す。
ステップ1501で、仮想パス制御プログラム117は、パステーブル124から、未割当ての実パスを選択し(つまり、“unassigned”となっている実パスIDを選択し)、選択した実パスのステータスを“assigned”に変更する。
ステップ1502で、仮想パス制御プログラム117は、ホストテーブル123の、実パスが未割当ての仮想パスを表すレコードを、実パスが仮想LUに割当て済みであることを表すレコードに変更する。具体的には、例えば、仮想パス制御プログラム117は、ホストテーブル122の、実パスIDが“unassigned”になっているレコード(I/Oコマンドの送信元ホストのホストIDが記録されているレコード)において、“unassigned”を、ステップ1501でステータスが“assigned”になった実パスIDに変更する。
ステップ1503で、仮想パス制御プログラム117は、ホストテーブル123に、実パスが未割当ての仮想パスを表すレコード(I/Oコマンドの送信元ホストのホストIDが記録されているレコード)を追加する。
ステップ1504で、仮想パス制御プログラム117は、セッション制御プログラム114を呼び出す(つまり、セッション切断処理を実行させる)。
以上が、仮想パス制御プログラム117により実行される実LU割り当て処理についての説明である。なお、例えば、ステップ1501では、仮想パス制御プログラム117は、未割り当ての実パスのうち、ポート108の負荷(例えば、過去1日のトラフィック量、及び/又は、そのポート108を含んだ実パスのうち割当て済みの実パスの数等)に基づいて、最も負荷が低いと推定される実パスを選択しても良い。例えば、未割当ての実パスとして、第一の実パスと第二の実パスとがあり、第一の実パスを構成するポートIDに対応したポートに比して、第二の実パスを構成するポートIDに対応したポートの方が、負荷が低ければ、第二の実パスが選択されても良い。
以上が、第二の実施形態についての説明である。第二の実施形態では、第一の実施形態で説明した幾つかの変形例のうちの少なくとも一つを適用することができる。また、ホスト導入時についていえば、例えば、図16を参照して説明した方法を採用する場合、ホストH01が、ストレージシステム1にLUN0を含んだディスカバリ要求を送信した場合に、ストレージシステム1の制御装置107´が、仮想パス0をホストH01に用意し、ポートID(例えば、ディスカバリ要求を受信したポートのポートID、或いは、LUN0を構成要素とする未割当ての一以上の実パスの中から任意に選択した実パスを構成するポートID)をホストH01に返しても良い。また、例えば、図17を参照して説明した方法を採用する場合、ストレージシステム1の制御装置107´が、管理端末2或いはホストH01等から、LUN0パス作成指示を受信し、そのパス作成指示に応答して、仮想パス0をホストH01に用意し、ポートID(LUN0を構成要素とする未割当ての一以上の実パスの中から任意に選択した実パスを構成するポートID)をホストH01に返しても良い。また、例えば、図18を参照して説明した方法を採用する場合、ストレージシステム1の制御装置107´が、名前管理サーバから変更通知を受信したことに応答して、仮想パス0をホストH01に用意し、ポートID(LUN0を構成要素とする未割当ての一以上の実パスの中から任意に選択した実パスを構成するポートID)をホストH01に返しても良い。
この第二の実施形態によれば、ホストに、常に、一以上の仮想パスが予備的に用意される。具体的には、例えば、実パスが割当てられていない仮想パスが初めて使用された契機、言い換えれば、実パスの割当てられていないポート108で初めてI/Oコマンドを受信した契機で、自動的に仮想パスに実パスが割当てられて、該I/Oコマンドが処理され、且つ、新たに仮想パスがホストに用意され、該ホストに、ディスカバリ要求及び再ログインを実行させることで、該新たに用意された仮想パスを使用可能にさせる。このため、ホストに対して新たにパスを用意するための論理リソース情報設定を不要にすることができる。
以上、本発明の好適な幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、図4(a)、図4(b)、図12(a)、図12(b)に例示した管理画面は、ホストに備えられている表示装置に表示されても良いし、各ホストを管理するためのホスト管理端末の表示画面に表示されても良い。また、管理画面を表示する主体は、ホストに備えられているボリューム管理マネージャ或いはパス管理マネージャに代えて、ホスト管理端末で実行されるコンピュータプログラムとすることもできる。
図1は、本発明の第一実施形態に係る計算機システムの構成例を示す。 図2(a)は、本発明の第一実施形態におけるホストテーブルの構成例であり、且つ、図3(b)においてのホストテーブルを示す。図2(b)は、本発明の第一実施形態におけるLUテーブルの構成例であり、且つ、図3(b)においてのLUテーブルを示す。 図3(a)は、本発明の第一の実施形態におけるホスト導入時の状態の一例を示す。図3(b)は、図3(a)において仮想LU0に初めてライトが生じた場合に実行される処理の一例の説明図である。図3(c)は、図3(b)において、仮想LU1に初めてライトが生じた場合に実行される処理の説明図である。 図4(a)は、図3(b)において再ログインが行われる前の、ホストの管理画面の一例である。図4(b)は、図3(b)において再ログインが行われた後の、ホストの管理画面の一例である。 図5は、本発明の第一実施形態におけるホスト登録プログラムによって実行されるホスト登録処理の流れの一例を示す。 図6は、本発明の第一実施形態におけるコマンド制御プログラムによって実行されるコマンド制御処理の流れの一例の一部を示す。 図7は、本発明の第一実施形態におけるコマンド制御プログラムによって実行されるコマンド制御処理の流れの一例の残りの一部を示す。 図8(a)は、本発明の第一実施形態における仮想LU制御プログラムにより実行される実LU割り当て処理の流れの一例を示す。図8(b)は、本発明の第一実施形態におけるセッション制御プログラムにより実行されるセッション切断処理の流れの一例を示す。 図9は、本発明の第二実施形態に係る計算機システムの構成例を示す。 図10(a)は、本発明の第二実施形態におけるホストテーブルの構成例を示す。図10(b)は、本発明の第二実施形態におけるパステーブルの構成例を示す。 図11(a)は、本発明の第二の実施形態におけるホスト導入時の状態の一例を示す。図11(b)は、図11(a)において仮想パス1が初めて使用された場合に実行される処理の一例の説明図である。 図12(a)は、図11(b)において再ログインが行われる前の、ホストの管理画面の一例である。図12(b)は、図11(b)において再ログインが行われた後の、ホストの管理画面の一例である。 図13は、本発明の第二実施形態におけるホスト登録プログラムにより実行されるホスト登録処理の流れの一例を示す。 図14は、本発明の第二実施形態におけるコマンド制御プログラムにより行われるコマンド制御処理の流れの一例を示す。 図15は、本発明の第二実施形態における仮想パス制御プログラムにより実行される実パス割り当て処理の流れの一例を示す。 図16は、本発明の第一実施形態において第一の初回準備方法が実行された場合に行われる処理の流れの一例である。 図17は、本発明の第一実施形態において第二の初回準備方法が実行された場合に行われる処理の流れの一例である。 図18は、本発明の第一実施形態において第三の初回準備方法が実行された場合に行われる処理の流れの一例である。 図19(a)は、本発明の第一の実施形態においてホストに備えられる複数のコンピュータプログラムの別の一例を示す。図19(b)は、本発明の第一の実施形態においてホスト管理端末がありホストに接続されていることを示す図である。 図20(a)は、図3(a)においてのホストテーブルを示す。図20(b)は、図3(a)においてのLUテーブルを示す。 図21(a)は、図3(c)においてのホストテーブルを示す。図21(b)は、図3(c)においてのLUテーブルを示す。 図22は、本発明の第一の実施形態においてホストに備えられる複数のコンピュータプログラムの一例を示す。
符号の説明
1…ストレージシステム、3…ホスト計算機、107…制御装置

Claims (19)

  1. ストレージシステムの論理リソースを制御する制御装置であって、
    仮想的な論理リソースである仮想リソースを用意する仮想リソース用意部と、
    実体としての論理リソースである実リソースを前記用意された仮想リソースに割当てる実リソース割当て部と
    を備え、
    前記仮想リソース用意部により、前記制御装置よりも上位にある上位部によって未だ使用されていない仮想リソースである予備リソースが一以上の前記上位部の各々に対して一つ以上用意される、
    制御装置。
  2. 前記仮想リソース用意部が、前記上位部に対して用意されている前記予備リソースが前記上位部によって初めて使用されることを契機に、新たな予備リソースを前記上位部に対して用意する、
    請求項1記載の制御装置。
  3. 前記予備リソースが、実リソースが割当てられていない仮想リソースであり、
    前記実リソース割当て部が、前記上位部によって前記予備リソースが初めて使用されることを契機に、複数の実リソースの中からどの仮想リソースにも割当てられていない実リソースを選択し、該選択した実リソースを、前記初めて使用される予備リソースに割当てる、
    請求項2記載の制御装置。
  4. 前記新たな予備リソースが前記上位部に用意された契機で、該上位部との接続を切断することを該上位部に要求する切断要求部を更に備える、
    請求項1記載の制御装置。
  5. 前記仮想リソースが、仮想的な論理記憶装置である仮想記憶装置であり、
    前記実リソースが、前記ストレージシステムに備えられている複数の物理記憶装置のうちの一以上の物理記憶装置を基に形成された、実体としての論理記憶装置である実記憶装置であり、
    前記予備リソースが、前記上位部から送信されるライトコマンドで未だ指定されたことがない前記仮想的な論理記憶装置である予備記憶装置である、
    請求項1記載の制御装置。
  6. 前記仮想リソース用意部が、前記予備記憶装置を指定したライトコマンドを初めて前記上位部から受信したことを契機に、新たな予備記憶装置を前記上位部に対して用意する、
    請求項5記載の制御装置。
  7. 前記予備記憶装置が、実記憶装置が割当てられていない仮想記憶装置であり、
    前記実リソース割当て部が、前記予備記憶装置を指定したライトコマンドを初めて前記上位部から受信したことを契機に、複数の実記憶装置の中からどの仮想記憶装置にも割当てられていない実記憶装置を選択し、該選択した実記憶装置を、該予備記憶装置に割当てる、
    請求項6記載の制御装置。
  8. 前記受信したライトコマンドに従うライト対象データを、該ライトコマンドで指定されている前記予備記憶装置に割当てられた実記憶装置に書込むコマンド制御部と、
    前記新たな予備記憶装置が前記上位部に用意された契機で、該上位部との接続を切断することの要求である切断要求を該上位部に送信する切断要求部と
    を更に備え、
    前記コマンド制御部が、前記切断要求に応答して前記接続が切断された後に前記上位部により接続されて受信した所定種類のコマンドに応答して、該上位部に対して用意された前記新たな予備記憶装置に関する情報を前記上位部に提供する、
    請求項5記載の制御装置。
  9. どのような種類の上位部に対してどれだけの数及び/又はだれだけの容量の仮想記憶装置を用意するかが定義されたポリシー情報を記憶する記憶領域を更に備え、
    前記仮想リソース用意部が、前記ライトコマンドの送信元の前記上位部の種類と、前記ポリシー情報とに基づいて、該上位部に対して用意する予備記憶装置の数及び/又は容量を制御する、
    請求項5記載の制御装置。
  10. コマンド制御部と、
    切断要求部と
    を更に備え、
    前記仮想リソースが、仮想的な論理ユニット(LU)である仮想LUであり、
    前記実リソースが、前記ストレージシステムに備えられている複数の物理記憶装置のうちの一以上の物理記憶装置を基に形成された、実体としてのLUである実LUであり、
    前記予備リソースが、実LUが割当てられていない仮想LUである予備LUであり、
    前記仮想リソース用意部が、所定種類の契機で、前記上位部に初めて予備LUを用意し、その後は、予備LUを指定したライトコマンドを初めて前記上位部から受信したことを契機に、新たな予備LUを該上位部に対して用意し、
    前記実リソース割当て部が、予備LUを指定したライトコマンドを初めて前記上位部から受信したことを契機に、複数の実LUの中からどの仮想LUにも割当てられていない実LUを選択し、該選択した実LUを、該予備LUに割当て、
    前記切断要求部が、新たな予備LUが前記上位部に用意された契機で、該上位部との接続を切断することの要求である切断要求を該上位部に送信し、
    前記コマンド制御部が、前記受信したライトコマンドに従うライト対象データを、該ライトコマンドで指定されている前記予備LUに割当てられた実LUに書込むよう構成されており、前記切断要求に応答して前記接続が切断された後に前記上位部による再ログインに応答して、該上位部に対して用意された前記新たな予備LUに関する情報を前記上位部に提供する、
    請求項1記載の制御装置。
  11. 前記仮想リソースが、仮想的な論理パスである仮想パスであり、
    前記実リソースが、実体としての論理パスである実パスであり、
    前記予備リソースが、前記上位部から送信されるI/Oコマンドの送信で未だ使用されたことがない仮想パスである予備パスである、
    請求項1記載の制御装置。
  12. 前記仮想リソース用意部が、前記予備パスを経由したI/Oコマンドを初めて前記上位部から受信したことを契機に、新たな予備パスを前記上位部に対して用意する、
    請求項11記載の制御装置。
  13. 前記予備パスが、実パスが割当てられていない仮想パスであり、
    前記実リソース割当て部が、前記予備パスを経由したI/Oコマンドを初めて前記上位部から受信したことを契機に、複数の実パスの中からどの仮想パスにも割当てられていない実パスを選択し、該選択した実パスを、該予備パスに割当てる、
    請求項12記載の制御装置。
  14. 前記受信したI/Oコマンドを処理するコマンド制御部と、
    前記新たな予備パスが前記上位部に用意された契機で、該上位部との接続を切断することの要求である切断要求を該上位部に送信する切断要求部と
    を更に備え、
    前記コマンド制御部が、前記切断要求に応答して前記接続が切断された後に前記上位部により接続されて受信した所定種類のコマンドに応答して、該上位部に対して用意された前記新たな予備パスに関する情報を前記上位部に提供する、
    請求項11記載の制御装置。
  15. 前記一以上の上位部の各々から送信されたコマンドを受信する複数のポートを更に備え、
    前記論理パスが、ポートIDを含み、
    前記実リソース割当て部が、どの仮想パスにも割当てられていない二以上の実パスの各々のポートIDに対応した各ポートの負荷に応じて、該二以上の実パスの中から選択する実パスを制御する、
    請求項11記載の制御装置。
  16. コマンド制御部と、
    切断要求部と、
    複数のポートと
    を更に備え、
    前記仮想リソースが、仮想的な論理パスである仮想パスであり、
    前記実リソースが、実体としての論理パスである実パスであり、
    前記予備リソースが、実パスが割当てられていない仮想パスである予備パスであり、
    前記論理パスが、ポートIDを含み、
    前記仮想リソース用意部が、所定種類の契機で、前記上位部に初めて予備パスを用意し、その後は、予備パスを経由したI/Oコマンドを初めて前記上位部から受信したことを契機に、新たな予備パスを該上位部に対して用意し、
    前記実リソース割当て部が、前記予備パスを経由したI/Oコマンドを初めて前記上位部から受信したことを契機に、複数の実パスの中からどの仮想パスにも割当てられていない実パスを選択し、該選択した実パスを、該予備パスに割当て、
    前記切断要求部が、新たな予備パスが前記上位部に用意された契機で、該上位部との接続を切断することの要求である切断要求を該上位部に送信し、
    前記コマンド制御部が、前記受信したI/Oコマンドを処理するよう構成されており、前記切断要求に応答して前記接続が切断された後に前記上位部により接続されて受信したディスカバリ要求に応答して、前記新たな予備パスに関わるポートIDを前記上位部に送信し、該上位部からの再ログインにより、該送信したポートIDに対応したポートと前記上位部との接続を確立する、
    請求項1記載の制御装置。
  17. 前記仮想リソースが、仮想的な論理記憶装置である仮想記憶装置と、仮想的な論理パスである仮想パスとの両方であり、
    前記実リソースが、前記ストレージシステムに備えられている複数の物理記憶装置のうちの一以上の物理記憶装置を基に形成された、実体としての論理記憶装置である実記憶装置と、実体としての論理パスである実パスとの両方であり、
    前記予備リソースが、前記上位部から送信されるライトコマンドで未だ指定されたことがない前記仮想的な論理記憶装置である予備記憶装置と、前記上位部から送信されるI/Oコマンドの送信で未だ使用されたことがない仮想パスである予備パスとの両方である、
    請求項1記載の制御装置。
  18. 仮想的な論理リソースである仮想リソースを用意する仮想リソース用意部と、
    実体としての論理リソースである実リソースを前記用意された仮想リソースに割当てる実リソース割当て部と
    を備え、
    前記仮想リソース用意部が、前記制御装置よりも上位にある上位部によって未だ使用されていない仮想リソースである予備リソースを一以上の前記上位部の各々に対して一つ以上用意している、
    ストレージシステム。
  19. ストレージシステムの論理リソースを制御する方法であって、
    上位部によって未だ使用されていない仮想リソースである予備リソースが一以上の前記上位部の各々に対して一つ以上用意されているように、仮想リソースを上位部に対して用意し、
    実体としての論理リソースである実リソースを前記用意された仮想リソースに割当てる、
    方法。
JP2007017665A 2007-01-29 2007-01-29 ストレージシステムの複数の論理リソースを制御する制御装置 Expired - Fee Related JP4813385B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007017665A JP4813385B2 (ja) 2007-01-29 2007-01-29 ストレージシステムの複数の論理リソースを制御する制御装置
EP08250023A EP1953634A3 (en) 2007-01-29 2008-01-04 Controller for controlling a plurality of logical resources of a storage system
US11/971,927 US8161487B2 (en) 2007-01-29 2008-01-10 Controller for controlling a plurality of logical resources of a storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007017665A JP4813385B2 (ja) 2007-01-29 2007-01-29 ストレージシステムの複数の論理リソースを制御する制御装置

Publications (2)

Publication Number Publication Date
JP2008186137A true JP2008186137A (ja) 2008-08-14
JP4813385B2 JP4813385B2 (ja) 2011-11-09

Family

ID=39297792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007017665A Expired - Fee Related JP4813385B2 (ja) 2007-01-29 2007-01-29 ストレージシステムの複数の論理リソースを制御する制御装置

Country Status (3)

Country Link
US (1) US8161487B2 (ja)
EP (1) EP1953634A3 (ja)
JP (1) JP4813385B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079626A (ja) * 2008-09-26 2010-04-08 Hitachi Ltd 計算機システムの負荷分散方法及びシステム

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
JP5272185B2 (ja) * 2008-09-26 2013-08-28 株式会社日立製作所 計算機システム及びストレージシステム
US8656070B2 (en) * 2009-04-29 2014-02-18 Lsi Corporation Striping with SCSI I/O referrals
EP2476055B1 (en) * 2009-09-08 2020-01-22 SanDisk Technologies LLC Apparatus, system, and method for caching data on a solid-state storage device
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US8782344B2 (en) 2012-01-12 2014-07-15 Fusion-Io, Inc. Systems and methods for managing cache admission
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9081507B2 (en) * 2012-03-14 2015-07-14 Symantec Corporation Shared storage access management systems and methods
US9262437B2 (en) * 2013-01-07 2016-02-16 Hitachi, Ltd. Storage system and control method for storage system
US10216428B1 (en) * 2015-03-27 2019-02-26 EMC IP Holding Company LLC Batch configuration of virtual data storage devices
JP2019067251A (ja) * 2017-10-03 2019-04-25 株式会社日立製作所 計算機システム及び通信経路の制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02161676A (ja) * 1988-12-13 1990-06-21 Mitsubishi Electric Corp ボリューム管理方式
JP2001022683A (ja) * 1999-07-05 2001-01-26 Hitachi Ltd 外部記憶制御装置
JP2004240563A (ja) * 2003-02-04 2004-08-26 Hitachi Ltd ディスク制御装置およびディスク制御装置の制御方法
JP2005115581A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd ストレージパス制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
JP4139675B2 (ja) * 2002-11-14 2008-08-27 株式会社日立製作所 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
US7325097B1 (en) * 2003-06-26 2008-01-29 Emc Corporation Method and apparatus for distributing a logical volume of storage for shared access by multiple host computers
JP4307202B2 (ja) 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
US7412583B2 (en) * 2003-11-14 2008-08-12 International Business Machines Corporation Virtual incremental storage method
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US7313636B2 (en) * 2004-06-15 2007-12-25 Lsi Corporation Methods and structure for supporting persistent reservations in a multiple-path storage environment
JP2007017665A (ja) 2005-07-07 2007-01-25 Konica Minolta Business Technologies Inc 画像形成装置
US7571295B2 (en) * 2005-08-04 2009-08-04 Intel Corporation Memory manager for heterogeneous memory control
JP4718285B2 (ja) * 2005-09-22 2011-07-06 株式会社日立製作所 ファイル管理機能を備えたコンピュータシステム、ストレージ装置およびファイル管理方法
JP2009116809A (ja) * 2007-11-09 2009-05-28 Hitachi Ltd 記憶制御装置、ストレージシステム及び仮想ボリュームの制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02161676A (ja) * 1988-12-13 1990-06-21 Mitsubishi Electric Corp ボリューム管理方式
JP2001022683A (ja) * 1999-07-05 2001-01-26 Hitachi Ltd 外部記憶制御装置
JP2004240563A (ja) * 2003-02-04 2004-08-26 Hitachi Ltd ディスク制御装置およびディスク制御装置の制御方法
JP2005115581A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd ストレージパス制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079626A (ja) * 2008-09-26 2010-04-08 Hitachi Ltd 計算機システムの負荷分散方法及びシステム

Also Published As

Publication number Publication date
EP1953634A3 (en) 2011-11-02
US8161487B2 (en) 2012-04-17
JP4813385B2 (ja) 2011-11-09
EP1953634A2 (en) 2008-08-06
US20080183965A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
JP4813385B2 (ja) ストレージシステムの複数の論理リソースを制御する制御装置
US7117336B2 (en) Computer system for managing storage areas in a plurality of storage devices
US8103826B2 (en) Volume management for network-type storage devices
JP4575028B2 (ja) ディスクアレイ装置およびその制御方法
US8364869B2 (en) Methods and apparatus for managing virtual ports and logical units on storage systems
US7603538B2 (en) Access environment construction system and method
JP4797636B2 (ja) 複合型情報プラットフォーム装置とその情報処理装置構成方法
JP2004220450A (ja) ストレージ装置、その導入方法、及びその導入プログラム
JP4285058B2 (ja) ネットワーク管理プログラム、管理計算機及び管理方法
US20070192553A1 (en) Backup apparatus and backup method
JP2001142648A (ja) 計算機システム及びそのデバイスの割り当て方法
WO2011135636A1 (ja) 計算機システム及びその制御方法
US20070079098A1 (en) Automatic allocation of volumes in storage area networks
JP2010097596A (ja) リソースプロビジョニングのための方法および装置
US7689797B2 (en) Method for automatically configuring additional component to a storage subsystem
JP2003345631A (ja) 計算機システム及び記憶領域の割当方法
JP2006048313A (ja) 複数の管理者から管理されるストレージシステムの管理方法
US7406578B2 (en) Method, apparatus and program storage device for providing virtual disk service (VDS) hints based storage
JP5439435B2 (ja) 計算機システムおよびその計算機システムにおけるディスク共有方法
JP2004355638A (ja) 計算機システム及びそのデバイスの割り当て方法
JP2006155640A (ja) アクセスの設定方法
JP4258768B2 (ja) ファイル配置システム
US8117405B2 (en) Storage control method for managing access environment enabling host to access data
JP4871758B2 (ja) ボリューム割当方式
JP6712982B2 (ja) ストレージ装置、ストレージシステム及びストレージ装置の管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110805

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees