JP2009199541A - 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム - Google Patents

論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム Download PDF

Info

Publication number
JP2009199541A
JP2009199541A JP2008043134A JP2008043134A JP2009199541A JP 2009199541 A JP2009199541 A JP 2009199541A JP 2008043134 A JP2008043134 A JP 2008043134A JP 2008043134 A JP2008043134 A JP 2008043134A JP 2009199541 A JP2009199541 A JP 2009199541A
Authority
JP
Japan
Prior art keywords
logical volume
storage
storage area
stage
stage logical
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
JP2008043134A
Other languages
English (en)
Other versions
JP4519179B2 (ja
Inventor
Hideki Sakurai
英樹 櫻井
Yasuo Noguchi
泰生 野口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008043134A priority Critical patent/JP4519179B2/ja
Priority to US12/390,135 priority patent/US7966470B2/en
Publication of JP2009199541A publication Critical patent/JP2009199541A/ja
Application granted granted Critical
Publication of JP4519179B2 publication Critical patent/JP4519179B2/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/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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]

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

【課題】論理ボリュームに割り当てる他のボリューム数を増加させずに、かつデータのアクセス効率を低下させずに記憶容量を拡張できるようにする。
【解決手段】論理ボリューム生成手段4は、記憶領域拡張要求に応答して、第2段論理ボリューム2a,2bに対して割り当てられたストレージ装置6,7内の記憶領域6a,7aとストレージ装置8内の記憶領域8aとが割り当てられた第2段論理ボリューム2cを生成する。次に、論理ボリューム生成手段4は、第2段論理ボリューム2cとストレージ装置6〜8との記憶領域間の対応関係を第2段論理ボリューム構成情報に登録する。記憶領域拡張手段5は、第1段論理ボリューム構成情報に記憶された第1段論理ボリューム1aの記憶領域を記憶領域拡張要求で指定された記憶容量に拡張し、記憶領域が拡張された第1段論理ボリューム1aに対して、新たな第2段論理ボリューム2cを対応付ける。
【選択図】図1

Description

本発明は論理ボリュームへの記憶領域割当を管理するための論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステムに関し、特に記憶領域の拡張を行うための論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステムに関する。
大規模なコンピュータシステムでは、複数のディスク装置をまとめた論理ボリューム(仮想ボリュームともいう)を定義する場合がある。論理ボリュームでは、アプリケーションからのアクセスに使用する論理的なブロック番号(論理ブロック番号)と、複数のディスク装置内の1つのディスク装置およびそのディスク装置内のブロック番号(物理ブロック番号)との対応関係が定義される。これにより、アプリケーションが論理ブロック番号を指定することで、対応するディスク装置および物理ブロック番号を一意に特定し、指定されたブロックへのアクセスが可能となる。なお、複数のディスク装置で構成されたRAID(Redundant Array of Independent Disks)システムを、論理ボリュームに割り当てる1台のディスク装置として利用することもできる。
このような論理ボリュームを用いたシステムでは、システムを長期間運用していると、論理ボリュームに格納すべきデータ量が次第に増加していく。すると、論理ボリュームの記憶容量を拡張させる必要が生じる。論理ボリュームの記憶容量を拡張させる場合、論理ボリュームに対してディスク装置の追加割当を行う。論理ボリュームに割り当てるディスク装置が増加することで、論理ボリュームによってアプリケーションに対して提供される記憶容量も増加する。
ところが、基本的には、論理ボリュームの記憶領域を拡張するには、その論理ボリュームの使用を一旦停止し、新たに論理ボリュームの記憶領域を定義し直す必要がある。この場合、運用が一時的に停止することとなる。そこで、論理ボリュームの使用を停止せずに、運用しながら記憶領域の拡張を可能とする技術が考えられている。例えば、ストレージ内部に複数の論理ボリューム(内部論理ボリューム)と外部から認識される論理ボリューム(外部論理ボリューム)とを設け、内部論理ボリュームと外部論理ボリュームとの対応関係を運用中に再定義する技術がある。これにより、計算機から見たときの論理ボリュームの拡張が可能となる(例えば、特許文献1参照)。
なお、管理テーブルを用いて、論理ボリュームへのディスク装置の割当を管理すると、論理ボリュームの記憶容量が大きくなるのに従い、管理テーブルのデータ容量も大きくなる。例えば、論理ボリュームの記憶容量を増加させるために、その論理ボリュームに割り当てるディスク装置を増加させれば、その対応関係を管理するための情報も増加する。管理テーブルは、運用中はメモリに格納しておく必要があるため、管理テーブルの容量増加はメモリ資源の使用量増加を招く。
そこで、管理テーブルを格納するために必要なメモリ資源の量を抑制する技術が考えられている。例えば、管理テーブルの全管理データをディスクドライブに配置し、必要な部分のみをその都度メモリに格納することで、メモリの使用量を削減する技術がある(例えば、特許文献2参照)。
特開2002−236560号公報 特開2004−78398号公報
上記特許文献1のような技術を応用すれば、論理ボリュームに割り当てるディスク装置の再構築が可能である。この再構築機能によって、論理ボリュームに割り当てられていたディスク装置を他のディスク装置に交換することもできる。例えば、論理ボリュームに割り当てられていた複数のディスク装置を、より記憶容量の大きな1台のディスク装置に置き換えることができる。このような置き換えを行うと、論理ボリュームに割り当てるディスク装置の数が少なくなり、管理テーブルのデータ量を削減できる。
また、上記特許文献2のような技術を用いて管理テーブルを格納するためのメモリの使用量の削減が可能であっても、論理ボリュームに対して割当可能なディスク装置の最大数に制限がある場合がある。このような場合、システムが肥大化していくと、論理ボリュームに割り当てられているディスク装置を、1台当たりの記憶容量がより大きなディスク装置に置き換えて、ディスク装置数を減少させる必要が生じる。
しかし、論理ボリュームに割り当てるディスク装置の置き換えを行うと、格納されていたデータの大量のコピーが発生するという問題がある。ディスク装置内の全てのデータをコピーするには、ディスク装置間の通信経路上での通信量の増加を招き、同じ通信経路を介した他のデータ通信の効率が低下する。また、コピー対象のディスク装置へのデータ入出力が頻繁に発生することで、運用中のサービスを提供するための該当ディスク装置に対するアクセス効率が低下する。
本発明はこのような点に鑑みてなされたものであり、ユーザからの直接のアクセス対象となる論理ボリュームに割り当てる他のボリューム数を増加させずに、かつデータのアクセス効率を低下させずに、直接のアクセス対象となる論理ボリュームの記憶容量の拡張が可能な論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステムを提供することを目的とする。
上記課題を解決するために、論理ボリュームへの記憶領域割当処理をコンピュータに実行させるための論理ボリューム管理装置が提供される。この論理ボリューム管理装置は、第1の記憶手段、第2の記憶手段、アクセス手段、論理ボリューム生成手段、および記憶領域拡張手段を有する。
第1の記憶手段は、第1段論理ボリュームと少なくとも1つの第2段論理ボリュームとの記憶領域間の対応関係が登録された第1段論理ボリューム構成情報を記憶する。第2の記憶手段は、第2段論理ボリュームと少なくとも1つのストレージ装置との記憶領域間の対応関係が登録された第2段論理ボリューム構成情報を記憶する。アクセス手段は、第1段論理ボリュームの記憶領域を指定したアクセス要求に応答して、第1段論理ボリューム構成情報を参照し、アクセス要求で指定された第1段論理ボリュームの記憶領域に対応する第2段論理ボリュームの記憶領域を判断し、第2段論理ボリューム構成情報を参照し、判断された第2段論理ボリュームの記憶領域に対応するストレージ装置の記憶領域へアクセスを行う。論理ボリューム生成手段は、記憶容量を指定した第1段論理ボリュームの記憶領域拡張要求に応答して、第2段論理ボリュームに対して割り当てられたストレージ装置内の記憶領域と、記憶領域拡張要求で指定された記憶容量と第1段論理ボリュームの拡張前の記憶容量との差分に相当するストレージ装置内の記憶領域とが割り当てられた新たな第2段論理ボリュームを生成し、新たな第2段論理ボリュームとストレージ装置との記憶領域間の対応関係を第2段論理ボリューム構成情報に登録する。記憶領域拡張手段は、第1段論理ボリューム構成情報に記憶された第1段論理ボリュームの記憶領域を記憶領域拡張要求で指定された記憶容量に拡張し、記憶領域が拡張された第1段論理ボリュームに対して、論理ボリューム生成手段で生成した新たな第2段論理ボリュームを対応付ける。
このような論理ボリューム管理装置によれば、記憶領域拡張要求が入力されると、既存の第2段論理ボリュームに割り当てられていたストレージ装置の記憶領域と、拡張分のストレージ装置の記憶領域が割り当てられた新たな第2段論理ボリュームが生成される。そして、記憶領域を拡張した第1段論理ボリュームに対して、新たな第2段論理ボリュームが割り当てられる。
また、上記論理ボリューム管理装置と同様の機能をコンピュータで実現するための論理ボリューム管理プログラムが提供される。さらに、上記論理ボリューム管理装置で実行される処理と同様の処理をコンピュータで行う論理ボリューム管理方法が提供される。
また、上記課題を解決するために、論理ボリュームへの記憶領域割当を管理するための分散ストレージシステムであって、ネットワークに接続され、ストレージ装置を有する少なくとも1つのディスクノードと、第1段論理ボリュームと少なくとも1つの第2段論理ボリュームとの記憶領域間の対応関係が登録された第1段論理ボリューム構成情報を記憶する第1の記憶手段と、前記第2段論理ボリュームと少なくとも1つの前記ストレージ装置との記憶領域間の対応関係が登録された第2段論理ボリューム構成情報を記憶する第2の記憶手段と、前記第1段論理ボリュームの記憶領域を指定したアクセス要求に応答して、前記第1段論理ボリューム構成情報を参照し、アクセス要求で指定された前記第1段論理ボリュームの記憶領域に対応する前記第2段論理ボリュームの記憶領域を判断し、前記第2段論理ボリューム構成情報を参照し、判断された前記第2段論理ボリュームの記憶領域に対応する前記ストレージ装置の記憶領域へアクセスを行うアクセス手段と、記憶容量を指定した前記第1段論理ボリュームの記憶領域拡張要求に応答して、前記第2段論理ボリュームに対して割り当てられた前記ストレージ装置内の記憶領域と、前記記憶領域拡張要求で指定された記憶容量と前記第1段論理ボリュームの拡張前の記憶容量との差分に相当する前記ストレージ装置内の記憶領域とが割り当てられた新たな第2段論理ボリュームを生成し、前記新たな第2段論理ボリュームと前記ストレージ装置との記憶領域間の対応関係を前記第2段論理ボリューム構成情報に登録する論理ボリューム生成手段と、前記第1段論理ボリューム構成情報に記憶された前記第1段論理ボリュームの記憶領域を前記記憶領域拡張要求で指定された記憶容量に拡張し、記憶領域が拡張された前記第1段論理ボリュームに対して、前記論理ボリューム生成手段で生成した前記新たな第2段論理ボリュームを対応付ける記憶領域拡張手段と、を有し、前記ネットワークに接続されたアクセスノードと、前記ストレージ装置の記憶領域のうち、前記第2段論理ボリュームに割り当てられている記憶領域と、前記第2段論理ボリュームに割り当てられていない記憶領域とを管理しており、前記第1段論理ボリュームの記憶領域を拡張する場合、前記ストレージ装置の記憶領域のうち、前記第2段論理ボリュームに割り当てられていない記憶領域を選択し、選択した前記ストレージ装置の記憶領域を、前記新たな第2段論理ボリュームの拡張分の記憶領域に対して割り当てるべき記憶領域として通知する制御ノードと、を有する分散ストレージシステムが提供される。
本発明では、ユーザからの直接のアクセス対象となる論理ボリュームに割り当てる他のボリューム数を増加させずに、かつデータのコピーも行わずにアクセス対象となる論理ボリュームの記憶容量が拡張できる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、実施の形態の概要を示す図である。論理ボリューム管理装置は、第1の記憶手段1、第2の記憶手段2、アクセス手段3、論理ボリューム生成手段4、および記憶領域拡張手段5を有する。
第1の記憶手段1は、第1段論理ボリューム1aと少なくとも1つの第2段論理ボリューム2a,2b,2cとの記憶領域間の対応関係が登録された第1段論理ボリューム構成情報を記憶する。図1の例では、記憶領域拡張前は、第1段論理ボリュームに対して2台の第2段論理ボリューム2a,2bが対応付けられているものとする。
第2の記憶手段2は、第2段論理ボリューム2a,2b,2cと少なくとも1つのストレージ装置6〜8との記憶領域間の対応関係が登録された第2段論理ボリューム構成情報を記憶する。図1の例では、記憶領域拡張前は、第2段論理ボリューム2a,2bのみが存在する。第2段論理ボリューム2aには、ストレージ装置6の記憶領域6aが対応付けられている。第2段論理ボリューム2bには、ストレージ装置7の記憶領域7aが対応付けられている。
アクセス手段3は、第1段論理ボリューム1aの記憶領域を指定したアクセス要求に応答して、第1段論理ボリューム構成情報を参照し、アクセス要求で指定された第1段論理ボリューム1aの記憶領域に対応する第2段論理ボリューム2a,2b,2cの記憶領域を判断する。さらに、アクセス手段3は、第2段論理ボリューム構成情報を参照し、判断された第2段論理ボリュームの記憶領域に対応するストレージ装置の記憶領域へアクセスを行う。
論理ボリューム生成手段4は、記憶容量を指定した第1段論理ボリューム1aの記憶領域拡張要求に応答して、第2段論理ボリューム2a,2bに対して割り当てられたストレージ装置6,7内の記憶領域6a,7aと、記憶領域拡張要求で指定された記憶容量と第1段論理ボリュームの拡張前の記憶容量との差分に相当するストレージ装置8内の記憶領域8aとが割り当てられた新たな第2段論理ボリューム2cを生成する。次に、論理ボリューム生成手段4は、新たな第2段論理ボリューム2cとストレージ装置6〜8との記憶領域間の対応関係を第2段論理ボリューム構成情報に登録する。記憶領域拡張手段5は、第1段論理ボリューム構成情報に記憶された第1段論理ボリューム1aの記憶領域を記憶領域拡張要求で指定された記憶容量に拡張する。そして、記憶領域拡張手段5は、記憶領域が拡張された第1段論理ボリューム1aに対して、論理ボリューム生成手段4で生成した新たな第2段論理ボリューム2cを対応付ける。
このような論理ボリューム管理装置によれば、記憶領域拡張要求が入力されると、既存の第2段論理ボリューム2a,2bに割り当てられていたストレージ装置6,7の記憶領域6a,7aと、拡張分のストレージ装置8の記憶領域8aが割り当てられた新たな第2段論理ボリューム2cが生成される。そして、記憶領域を拡張した第1段論理ボリューム1aに対して、新たな第2段論理ボリューム2cが割り当てられる。その後、アクセス要求が入力されると、アクセス手段3により、アクセス対象の第1段論理ボリューム1aの記憶領域に対応する新たな第2段論理ボリューム2c内の記憶領域が判断される。そして、判断した記憶領域に対応するストレージ装置6〜8内のいずれかの記憶領域に対してアクセスが行われる。
このようにして、第1段論理ボリューム1aの記憶領域の拡張が行われる。その際、ストレージ装置6,7の記憶領域6a,7aは、既存の第2段論理ボリューム2a,2bと新たな第2段論理ボリューム2cとに対して重複して割り当てられている。すなわち、ストレージ装置6,7の記憶領域6a,7aに対しては、既存の第2段論理ボリューム2a,2bと新たな第2段論理ボリューム2cとのいずれからでもアクセスできる。その結果、既存の第2段論理ボリューム2a,2bを介してアクセスしていたデータに関して、新たな第2段論理ボリューム2c経由でアクセス可能であり、新たな第2段論理ボリューム2cを作成したことによるストレージ装置6,7の記憶領域6a,7a内のデータのコピーは不要である。
しかも、新たに作成した第2段論理ボリューム2cは、既存の第2段論理ボリューム2a,2bの記憶容量の総量に対して拡張分の記憶容量を加算した記憶容量を有している。そのため、拡張後の第1段論理ボリューム1aに対して割り当てるボリュームは、新たに作成した1台の第2段論理ボリューム2cのみですむ。その結果、第1段論理ボリューム1aに割当可能なボリューム数の上限があったとしても、その上限を超えることなく第1段論理ボリューム1aの記憶領域の拡張が可能となる。
このような2段階の論理ボリューム構成は、1つのコンピュータ内で実現できる。また、外部のコンピュータと連携して、第2段論理ボリュームとストレージ装置との間の記憶領域間の対応関係を管理することもできる。例えば、分散ストレージシステムには、ネットワークを介して接続されたディスクノードで提供される記憶機能を論理ボリューム(図1の第2段論理ボリュームに相当)としてアクセスノードに定義し、アクセスノードからディスクノードにネットワーク経由でリモートアクセスする機能がある。この場合、アクセスノード内のローカルのディスクアクセス機能において、論理ボリューム(図1の第1段論理ボリュームに相当)を定義し、その論理ボリュームに割り当てるべきボリュームとして、リモートアクセス用に定義された論理ボリュームを割り当てることができる。これによって、第1段としてローカルアクセス用の論理ボリュームを用い、第2段としてリモートアクセス用の論理ボリュームを用いた2段階の論理ボリューム構成が構築できる。
分散ストレージシステムは、ストレージ装置の追加が容易である。そのため、第2段の論理ボリュームを分散ストレージシステムによるリモートアクセス用の論理ボリュームとすることで、第1段の論理ボリュームの記憶容量の拡張も容易となる。そこで、以下に、分散ストレージシステムを用いた本実施の形態を詳細に説明する。
図2は、本実施の形態の分散ストレージシステム構成例を示す図である。本実施の形態では、ネットワーク10を介して、複数のディスクノード100,200,300,400、制御ノード500、アクセスノード600,700、および管理ノード800が接続されている。ディスクノード100,200,300,400それぞれには、ストレージ装置110,210,310,410が接続されている。
ストレージ装置110には、複数のハードディスク装置(HDD)111,112,113,114が実装されている。ストレージ装置210には、複数のHDD211,212,213,214が実装されている。ストレージ装置310には、複数のHDD311,312,313,314が実装されている。ストレージ装置410には、複数のHDD411,412,413,414が実装されている。各ストレージ装置110,210,310,410は、内蔵するHDDを用いたRAIDシステムである。本実施の形態では、各ストレージ装置110,210,310,410のRAID5のディスク管理サービスを提供する。
ディスクノード100,200,300,400は、例えば、IA(Intel Architecture)と呼ばれるアーキテクチャのコンピュータである。ディスクノード100,200,300,400は、接続されたストレージ装置110,210,310,410に格納されたデータを管理し、管理しているデータをネットワーク10経由で端末装置21,22,23に提供する。また、ディスクノード100,200,300,400は、冗長性を有するデータを管理している。すなわち、同一のデータが、少なくとも2つのディスクノードで管理されている。
制御ノード500は、ディスクノード100,200,300,400を管理する。例えば、制御ノード500は、管理ノード800から新たなリモート論理ボリュームの割当要求を受け取ると、新たなリモート論理ボリュームを定義し、その定義内容をディスクノード100,200,300,400やアクセスノード600,700に通知する。これにより、アクセスノード600,700から、新たに定義したリモート論理ボリュームを介したディスクノード100,200,300,400へのアクセスが可能となる。
アクセスノード600,700には、ネットワーク20を介して複数の端末装置21,22,23が接続されている。アクセスノード600,700には、ローカル論理ボリュームとリモート論理ボリュームが定義されている。そして、アクセスノード600,700は、端末装置21,22,23からのローカル論理ボリューム上でのデータのアクセス要求に応答して、リモート論理ボリュームによって定義されたディスクノード100,200,300,400内の対応するデータへアクセスする。
管理ノード800は、管理者が分散ストレージシステムの運用を管理するために使用するコンピュータである。管理ノード800では、分散ストレージシステムにおけるローカル論理ボリュームやリモート論理ボリュームの使用量などの情報を収集し、運用状況を画面に表示する。管理者は、ローカル論理ボリュームの空き容量が少なくなったことを確認すると、管理ノード800を介してローカル論理ボリュームの記憶容量の拡張を指示することができる。この指示を契機として、分散ストレージシステムにおいてローカル論理ボリュームの記憶領域拡張処理が開始される。
図3は、本実施の形態に用いる制御ノードのハードウェア構成例を示す図である。制御ノード500は、CPU(Central Processing Unit)501によって装置全体が制御されている。CPU501には、バス507を介してRAM(Random Access Memory)502、ハードディスクドライブ(HDD:Hard Disk Drive)503、グラフィック処理装置504、入力インタフェース505、および通信インタフェース506が接続されている。
RAM502には、CPU501に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM502には、CPU501による処理に必要な各種データが格納される。HDD503には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置504には、モニタ11が接続されている。グラフィック処理装置504は、CPU501からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース505には、キーボード12とマウス13とが接続されている。入力インタフェース505は、キーボード12やマウス13から送られてくる信号を、バス507を介してCPU501に送信する。
通信インタフェース506は、ネットワーク10に接続されている。通信インタフェース506は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、制御ノード500のハードウェア構成を示しているが、ディスクノード100,200,300,400、アクセスノード600,700、および管理ノード800も同様のハードウェア構成で実現することができる。
図2に示すように、複数のディスクノード100,200,300,400がネットワーク10に接続され、アクセスノード600,700からアクセス可能となっている。この分散ストレージシステムは、アクセスノード600,700に対して、仮想的なボリューム(論理ボリューム)として機能する。
図4は、論理ボリュームのデータ構造を示す図である。本実施の形態では、論理ボリュームがローカル論理ボリューム30とリモート論理ボリューム40,50との2段階で構成されている。ここで、ローカル論理ボリューム30の論理ボリューム識別子を「LVOLX」、リモート論理ボリューム40の論理ボリューム識別子を「LVOL1」、リモート論理ボリューム50の論理ボリューム識別子を「LVOL2」とする。
また、ネットワーク経由で接続された4台のディスクノード100,200,300,400には、個々のノードの識別のためにそれぞれ「SN−A」、「SN−B」、「SN−C」、「SN−D」というノード識別子が付与されている。そして、各ディスクノード100,200,300,400に接続されているストレージ装置110,210,310,410は、ディスクノード100,200,300,400のノード識別子によってネットワーク10上で一意に識別される。
各ディスクノード100,200,300,400が有するストレージ装置110,210,310,410それぞれにおいてRAID5のストレージシステムが構成されている。各ストレージ装置110,210,310,410で提供される記憶機能は、複数のスライスに分割されて管理されている。
論理ボリューム30は、2つの仮想記憶領域31,32が設けられている。仮想記憶領域31にはリモート論理ボリューム40が割り当てられており、仮想記憶領域32にはリモート論理ボリューム50が割り当てられている。
リモート論理ボリューム40は、セグメント41,42という単位で構成される。セグメント41,42の記憶容量は、ストレージ装置110,210,310,410における管理単位であるスライスの記憶容量と同じである。例えば、スライスの記憶容量が1ギガバイトとするとセグメントの記憶容量も1ギガバイトである。論理ボリューム700の記憶容量はセグメント1つ当たりの記憶容量の整数倍である。セグメントの記憶容量が1ギガバイトならば、論理ボリューム700の記憶容量は例えば4ギガバイトといったものになる。セグメント41,42は、それぞれプライマリスライス41a,42aとセカンダリスライス41b,42bとの組から構成される。
図4の例では、仮想記憶領域31,32は、それぞれセグメント2つ分の記憶領域を有している。従って、1つの仮想記憶領域に対して、2つのセグメントを有するリモート論理ボリュームが対応付けられている。
リモート論理ボリューム50も複数のセグメント51,52で構成される。各セグメント51,52は、プライマリスライス51a,52aとセカンダリスライス51b,52bとの組から構成される。
同一セグメントに属するスライスは別々のディスクノードに属する。個々のスライスを管理する領域には論理ボリューム識別子やセグメント情報や同じセグメントを構成するスライス情報の他にフラグがある。そのフラグにはプライマリあるいはセカンダリなどを表す値が格納される。
図4の例では、リモート論理ボリューム40,50内のスライスの識別子を、「P」または「S」のアルファベットと数字との組合せで示している。「P」はプライマリスライスであることを示している。「S」はセカンダリスライスであることを示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。例えば、1番目のセグメント41のプライマリスライスが「P1」で示され、セカンダリスライスが「S1」で示される。
また、ストレージ装置110,210,310,410内の各スライスに対応するリモート論理ボリューム40,50のスライスを、論理ボリューム識別子とスライスの識別子との組合せで示している。
このような2段階の構造の論理ボリュームによって、ローカル論理ボリューム30内の任意の記憶領域(例えば、1つのブロック)が、ストレージ装置110,210,310,410内の記憶領域と一意に対応付けられる。そして、各ストレージ装置110,210,310,410では、自己のスライスに対応するデータを記憶する。
図5は、分散ストレージシステムの各装置の機能を示すブロック図である。アクセスノード600は、論理ボリュームアクセス制御部610を有している。論理ボリュームアクセス制御部610は、端末装置21,22,23からのローカル論理ボリューム30内のデータを指定したアクセス要求に応じて、指定されたデータを管理するディスクノードに対してデータアクセスを行う。具体的には、論理ボリュームアクセス制御部610は、アクセス対象のデータが記憶されたローカル論理ボリューム30内のブロックを特定する。次に、論理ボリュームアクセス制御部610は、特定したブロックに対応するリモート論理ボリューム、およびそのリモート論理ボリューム内の対応するセグメントを特定する。さらに、論理ボリュームアクセス制御部610は、特定したリモート論理ボリュームのセグメントを構成するプライマリスライスに対応するディスクノードおよびそのディスクノード内のスライスを特定する。そして、論理ボリュームアクセス制御部610は、特定したディスクノードに対して、特定したスライスへのアクセス要求を出力する。
アクセスノード700も論理ボリュームアクセス制御部710を有している。論理ボリュームアクセス制御部710の機能は、アクセスノード600の論理ボリュームアクセス制御部610と同様である。
制御ノード500は、論理ボリューム管理部510とスライス管理情報群記憶部520とを有している。
論理ボリューム管理部510は、ディスクノード100,200,300,400が有するストレージ装置110,210,310,410内のスライスを管理する。例えば、論理ボリューム管理部510は、システム起動時に、ディスクノード100,200,300,400に対してスライス管理情報取得要求を送信する。そして、論理ボリューム管理部510は、スライス管理情報取得要求に対して返信されたスライス管理情報を、スライス管理情報群記憶部520に格納する。
スライス管理情報群記憶部520は、ディスクノード100,200,300,400から収集されたスライス管理情報を記憶する記憶装置である。例えば、制御ノード500内のRAMの記憶領域の一部がスライス管理情報群記憶部520として使用される。
ディスクノード100は、データアクセス部130、データ管理部140、およびスライス管理情報記憶部150を有している。
データアクセス部130は、アクセスノード600からの要求に応答して、ストレージ装置110内のデータにアクセスする。具体的には、データアクセス部130は、アクセスノード600からデータのリード要求を受け取った場合、リード要求で指定されたデータをストレージ装置110から取得し、アクセスノード600に送信する。また、データアクセス部130は、アクセスノード600からデータのライト要求を受け取った場合、ライト要求に含まれるデータをストレージ装置110内に格納する。なお、ディスクノード100のデータ管理部140は、データアクセス部130によってライト要求に基づくデータの書き込みが行われた場合、データが書き込まれたスライス(プライマリスライス)に対応するセカンダリスライスを管理するディスクノードのデータ管理部と連携動作し、セカンダリスライス内のデータも更新する。
さらに、データ管理部140は、論理ボリューム管理部510からのスライス管理情報取得要求に応答して、スライス管理情報記憶部150に記憶されたスライス管理情報を論理ボリューム管理部510に対して送信する。
スライス管理情報記憶部150は、スライス管理情報を記憶する記憶装置である。例えば、RAM内の記憶領域の一部がスライス管理情報記憶部150として使用される。なお、スライス管理情報記憶部150に格納されるスライス管理情報は、システム停止時にはストレージ装置110内に格納され、システム起動時にスライス管理情報記憶部150に読み込まれる。
他のディスクノード200,300,400は、ディスクノード100と同様の機能を有している。すなわち、ディスクノード200は、データアクセス部230、データ管理部240、およびスライス管理情報記憶部250を有している。ディスクノード300は、データアクセス部330、データ管理部340、およびスライス管理情報記憶部350を有している。ディスクノード400は、データアクセス部430、データ管理部440、およびスライス管理情報記憶部450を有している。ディスクノード200,300,400内の各要素は、ディスクノード100内の同名の要素と同じ機能を有している。
図6は、ディスクノード内のスライス管理情報のデータ構造例を示す図である。スライス管理情報記憶部150に格納されたスライス管理情報は、メタデータ151と重複割当テーブル152とで構成されている。
メタデータ151は、ストレージ装置110内のスライス単位に分割された格納領域に格納されたデータの管理情報が登録されたデータテーブルである。メタデータ151には、ディスクノードID、スライスID、フラグ、論理ボリュームID、セグメントID、ペアのディスクノードID、およびペアのスライスIDの欄が設けられている。
ディスクノードIDの欄には、メタデータ151を有しているディスクノード100のノード識別子が登録される。スライスIDの欄には、ストレージ装置110内の各スライスを一意に識別するためのスライス番号が設定される。フラグの欄には、スライスIDで示されるスライスに対応するリモート論理ボリューム内のスライスが、プライマリスライスかセカンダリスライスを示すフラグが設定される。図6の例では、プライマリスライスを「P」、セカンダリスライスを「S」で表している。
論理ボリュームIDの欄には、スライスIDで示されるスライスに対応するリモート論理ボリュームを示す論理ボリューム識別子が設定される。セグメントIDの欄には、スライスIDで示されるスライスに対応するリモート論理ボリューム内のセグメントを示すセグメント番号が設定される。
ペアのディスクノードIDの欄には、スライスIDで示されるスライスとペアとなるスライス(同一セグメントを構成するスライス)を格納するディスクノードのノード識別子が設定される。ペアのスライスIDの欄には、スライスIDで示されるスライスとペアとなるスライスをディスクノード内で一意に識別するためのスライス番号が設定される。
重複割当テーブル152は、複数のリモート論理ボリュームに割り当てられたスライスに関する管理情報が格納されたデータテーブルである。重複割当テーブル152には、ディスクノードID、スライスID、論理ボリュームID、およびセグメントIDの欄が設けられている。
ディスクノードIDの欄には、メタデータ151を有しているディスクノード100のノード識別子が登録される。スライスIDの欄には、重複割当が行われたスライスのスライス番号が設定される。論理ボリュームIDの欄には、重複割当が行われたリモート論理ボリューム(既に他のリモート論理ボリュームに割り当てられているスライスを割り当てたリモート論理ボリューム)の論理ボリューム識別子が設定される。セグメントIDの欄には、重複割当が行われたセグメントのセグメント番号が設定される。
なお、図6の例では、まだ重複割当は行われておらず、重複割当テーブル152のディスクノードID以外の欄は、空欄となっている。すなわち、初期状態では、重複割当のデータは登録されていない。
このようなスライス管理情報が、各ディスクノード100,200,300,400に格納されており、システム起動時に制御ノード500に送信される。制御ノード500では、各ディスクノード100,200,300,400から取得したスライス管理情報をスライス管理情報群記憶部520に格納する。
図7は、スライス管理情報群記憶部のデータ構造例を示す図である。スライス管理情報群記憶部520には、ディスクノード100,200,300,400それぞれから収集したスライス管理情報521〜524が格納されている。各スライス管理情報521〜524のデータ構造は、図6に示したとおりである。
次に、アクセスノード600の論理ボリュームアクセス制御部610について具体的に説明する。
図8は、論理ボリュームアクセス制御部の機能を示すブロック図である。論理ボリュームアクセス制御部610は、論理ボリューム構成管理部611、ローカル論理ボリューム構成情報記憶部612、リモート論理ボリューム構成情報記憶部613、アクセス要求取得部614、ローカル論理ボリュームアクセス部615、およびリモート論理ボリュームアクセス部616を有している。
論理ボリューム構成管理部611は、制御ノード500からの論理ボリューム構成変更要求に基づいて、ローカル論理ボリューム構成情報記憶部612とリモート論理ボリューム構成情報記憶部613との内容を更新する。
ローカル論理ボリューム構成情報記憶部612は、ローカル論理ボリュームとリモート論理ボリュームとの対応関係を示すローカル論理ボリューム構成情報を記憶する記憶機能である。リモート論理ボリューム構成情報記憶部613は、リモート論理ボリュームの記憶領域と、ディスクノード100,200,300,400が管理するストレージ装置110,210,310,410の記憶領域との対応関係を示すリモート論理ボリューム構成情報を記憶する記憶機能である。
アクセス要求取得部614は、ネットワーク20を介して接続された端末装置21〜23から送られたアクセス要求を取得する。なお、端末装置21〜23から送られるアクセス要求では、ローカル論理ボリューム30におけるアドレス(データが格納されているブロックのブロック番号と、そのブロック内でのデータの位置)によって、アクセス対象のデータが指定されている。アクセス要求取得部614は、取得したアクセス要求をローカル論理ボリュームアクセス部615に渡す。また、アクセス要求取得部614は、ローカル論理ボリュームアクセス部615からアクセス要求に対するアクセス結果を受け取ると、そのアクセス結果を、アクセス要求を出力した端末装置へ送信する。
ローカル論理ボリュームアクセス部615は、アクセス要求取得部614からアクセス要求を受け取ると、ローカル論理ボリューム構成情報記憶部612内のローカル論理ボリューム構成情報を参照し、アクセス対象のデータを含むリモート論理ボリューム内のアドレス(アクセス対象のローカル論理ボリューム内のブロックを含むセグメントのセグメントID、アクセス対象のブロックのブロック番号、およびブロック内でのデータの位置)を特定する。そして、ローカル論理ボリュームアクセス部615は、リモート論理ボリュームのアドレスを指定したアクセス要求を、リモート論理ボリュームアクセス部616に渡す。また、ローカル論理ボリュームアクセス部615は、リモート論理ボリュームアクセス部616からアクセス要求に対するアクセス結果を受け取ると、そのアクセス結果を、アクセス要求取得部614に渡す。
リモート論理ボリュームアクセス部616は、ローカル論理ボリュームアクセス部615からアクセス要求を受け取ると、リモート論理ボリューム構成情報記憶部613内のリモート論理ボリューム構成情報を参照し、アクセス対象のデータを管理するディスクノード、およびデータが格納されたディスクノード内のスライス番号を特定する。そして、リモート論理ボリュームアクセス部616は、アクセス対象のデータを管理するディスクノードに対して、スライス番号を指定したアクセス要求(スライス内でのデータの位置を示す情報も含む)を送信する。また、リモート論理ボリュームアクセス部616は、ディスクノードからアクセス要求に対するアクセス結果を受信すると、そのアクセス結果を、ローカル論理ボリュームアクセス部615に渡す。
図9は、ローカル論理ボリューム構成情報記憶部のデータ構造例を示す図である。ローカル論理ボリューム構成情報記憶部612には、ローカル論理ボリューム構成情報612aが格納されている。なお、図9には、ローカル論理ボリューム構成情報612aが1つだけ格納されているが、異なる論理ボリューム識別子を設定した複数のローカル論理ボリュームが作成されている場合、複数のローカル論理ボリューム構成情報が格納される。
ローカル論理ボリューム構成情報612aには、ローカル論理ボリュームとリモート論理ボリュームとの欄が設けられている。ローカル論理ボリュームの欄には、ローカル論理ボリューム30内に設けられた各仮想記憶領域31,32の範囲を示す情報が登録される。リモート論理ボリュームの欄には、ローカル論理ボリューム30内に設けられた各仮想記憶領域31,32それぞれに対応付けられたリモート論理ボリュームの範囲を示す情報が登録される。
ローカル論理ボリュームの欄は、論理ボリューム識別子、先頭アドレス、および終了アドレスの欄に細分化されている。論理ボリューム識別子の欄には、仮想記憶領域31、32が定義されたローカル論理ボリューム30の論理ボリューム識別子が設定される。先頭アドレスの欄には、仮想記憶領域のローカル論理ボリューム30内での先頭アドレス(先頭のブロックのブロック番号)が設定される。終了アドレスの欄には、仮想記憶領域のローカル論理ボリューム30内での終了アドレス(最後のブロックのブロック番号)が設定される。
リモート論理ボリュームの欄は、論理ボリューム識別子、先頭アドレス、および終了アドレスの欄に細分化されている。論理ボリューム識別子の欄には、仮想記憶領域31、32に対応付けられたリモート論理ボリューム40,50の論理ボリューム識別子が設定される。先頭アドレスの欄には、仮想記憶領域31,32に対応付けられたリモート論理ボリューム40,50内の記憶領域の先頭アドレス(先頭のブロックのブロック番号)が設定される。終了アドレスの欄には、仮想記憶領域31,32に対応付けられたリモート論理ボリューム40,50内の記憶領域の終了アドレス(最後のブロックのブロック番号)が設定される。
図10は、リモート論理ボリューム構成情報記憶部のデータ構造例を示す図である。リモート論理ボリューム構成情報記憶部613には、リモート論理ボリューム構成情報613aが格納されている。リモート論理ボリューム構成情報613aは、各ディスクノード100,200,300,400から制御ノード500が収集したスライス管理情報のうち、プライマリスライスの配置に関する情報のみを抽出したものである。
リモート論理ボリューム構成情報613aには、ディスクノードID、スライスID、論理ボリュームID、およびセグメントIDの欄が設けられている。
ディスクノードIDの欄には、プライマリスライスに割り当てられたディスクノードのノード識別子が設定される。スライスIDの欄には、プライマリスライスが割り当てられたディスクノード内のスライス番号が設定される。論理ボリュームIDの欄には、プライマリスライスが属するリモート論理ボリュームの論理ボリューム識別子が設定される。セグメントIDの欄には、プライマリスライスが属するリモート論理ボリューム内のセグメントを示すセグメント番号が設定される。
なお、リモート論理ボリューム構成情報613aは、制御ノード500からアクセスノード600に配布される。制御ノード500からアクセスノード700にも、同様のリモート論理ボリューム構成情報が配布される。そこで、アクセスノード700において、図9に示したローカル論理ボリューム構成情報612aと同様のローカル論理ボリューム構成情報を設定すれば、各アクセスノード600,700においてディスクノード100,200,300,400に対する共通のアクセス環境が構築される。
図11は、アクセスノードからディスクノードへのアクセス環境を示す模式図である。アクセスノード600,700では、ローカル論理ボリュームのアドレスで示される仮想記憶領域に対してリモート論理ボリュームが割り当てられている。リモート論理ボリュームはセグメント単位で管理されている。各セグメントはプライマリスライスとセカンダリスライスとの組で構成されており、プライマリスライスに対してディスクノード100,200内のスライスが割り当てられている。このような割当関係が各アクセスノード600,700で共通することで、いずれのアクセスノード600,700においても同様のデータアクセスが可能となる。すなわち、端末装置21〜23から、ローカル論理ボリュームの論理ボリューム識別子と、ローカル論理ボリューム内でのデータの位置を、ブロック番号とブロック内での位置(例えば、ブロックの先頭からのオフセットとデータ長)で特定することにより、ディスクノード100,200に格納されたデータが一意に特定される。
このような環境で分散ストレージシステムの運用を継続していると、ローカル論理ボリュームの空き容量が不足してくる。簡易的には、ローカル論理ボリュームの記憶領域を拡張すると共に、拡張分の新たなリモート論理ボリュームを生成し、そのリモート論理ボリュームをローカル論理ボリュームの拡張領域に割り当てればよい。ただし、そのような処理を繰り返していると、ローカル論理ボリュームとリモート論理ボリュームとの間の対応関係の管理が複雑となり、ローカル論理ボリューム構成情報のデータ量が増大する。さらに、ローカル論理ボリュームに割当可能なリモート論理ボリューム数に制限がある場合、その制限の最大数までリモート論理ボリュームを割り当てた後は、ローカル論理ボリュームの拡張が困難となる。
本実施の形態では、記憶領域を拡張したローカル論理ボリュームと同じ記憶容量を有するリモート論理ボリュームを新たに作成し、新たに作成したリモート論理ボリュームをローカル論理ボリュームに割り当てる。このようなローカル論理ボリュームへのリモート論理ボリュームの割当の切換は、システム運用を停止せずに行われる。また、新たに作成するリモート論理ボリュームに対して、切換前よりローカル論理ボリュームに割り当てられていたリモート論理ボリュームと同じディスクノード内の同じスライスを割り当てる(重複割当)ことで、切換処理後にデータのコピーを行う必要もなくなる。
以下に、ローカル論理ボリュームの記憶容量拡張処理について詳細に説明する。
図12は、ローカル論理ボリュームの記憶容量拡張処理の前半を示すシーケンス図である。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS11]管理ノード800の空き容量監視部810は、各アクセスノード600,700内のローカル論理ボリュームの空き容量が少なくなったことをモニタに表示する。その表示内容を確認した管理者からローカル論理ボリュームの拡張指示が入力されると、再構成指示部820が、管理者からの操作入力に応答して、制御ノード500に対して論理ボリューム識別子を「LVOL3」とするリモート論理ボリュームの割当要求を送信する。この割当要求には、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームが、論理ボリューム識別子が「LVOL1」と「LVOL2」と2つのリモート論理ボリュームを結合し、かつ記憶領域を拡張するものであることを示す情報が含まれる。具体的には、重複割当を行うセグメントの指定(論理ボリューム識別子が「LVOL1」と「LVOL2」である2つのリモート論理ボリュームの間で重複割当をすべき旨の指定)と、固有のスライス割当を行うセグメント(拡張領域分のセグメント)の指定とが、割当要求に含まれている。
[ステップS12]割当要求を受け取った制御ノード500の論理ボリューム管理部510は、スライス管理情報群記憶部520内のスライス管理情報に、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームを新たに定義する。そして、論理ボリューム管理部510は、新たに定義したリモート論理ボリュームを構成する各セグメントのプライマリスライスとセカンダリスライスとに対して、ディスクノード100,200,300,400内のスライスを割り当てる。なお、この処理の詳細は後述する(図22参照)。
[ステップS13]論理ボリューム管理部510は、ディスクノード100に対してスライス管理情報の変更要求を送信する。
[ステップS14]同様に、論理ボリューム管理部510は、ディスクノード200に対してスライス管理情報の変更要求を送信する。
なお、スライス管理情報の変更要求には、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームを構成する各セグメントのプライマリスライスとセカンダリスライスとに対して割り当てるべきスライスを示す情報が含まれている。
[ステップS15]ディスクノード100のデータ管理部140は、スライス管理情報記憶部150に格納されているスライス管理情報(メタデータと重複割当テーブル)の内容を変更する。この処理の詳細は後述する(図23参照)。
[ステップS16]同様に、ディスクノード200のデータ管理部240は、スライス管理情報記憶部250に格納されているスライス管理情報(メタデータと重複割当テーブル)の内容を変更する。
なお、スライス管理情報を更新する場合、メタデータには、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームの拡張領域に割り当てるスライスに関する情報が登録される。重複割当テーブルには、論理ボリューム識別子が「LVOL1」と「LVOL2」とのリモート論理ボリュームに割り当てられていたスライスの、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームへの重複割当に関する情報が登録される。
[ステップS17]ディスクノード100のデータ管理部140は、スライス管理情報の更新が完了すると、制御ノード500に対して変更完了通知を送信する。
[ステップS18]ディスクノード200のデータ管理部240は、スライス管理情報の更新が完了すると、制御ノード500に対して変更完了通知を送信する。
なお、各ディスクノード100,200から送られる変更完了通知には、更新後のスライス管理情報が含まれている。
[ステップS19]制御ノード500の論理ボリューム管理部510は、ディスクノード100,200のそれぞれから変更完了通知を受け取ると、管理ノード800に対して割当完了通知を送信する。
[ステップS20]管理ノード800の再構成指示部820は、制御ノード500からの割当完了通知を受け取ると、論理ボリューム識別子が「LVOL3」であるリモート論理ボリュームの接続要求をアクセスノード600に対して送信する。
[ステップS21]アクセスノード600の論理ボリューム構成管理部611は、接続要求を受信すると、制御ノード500に対してリモート論理ボリューム構成情報要求を送信する。
[ステップS22]制御ノード500の論理ボリューム管理部510は、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームに関するリモート論理ボリューム構成情報応答処理を行う。この処理の詳細は後述する(図24参照)。
[ステップS23]論理ボリューム管理部510は、生成したリモート論理ボリューム構成情報をアクセスノード600に対して送信する。
[ステップS24]アクセスノード600の論理ボリューム構成管理部611は、受信したリモート論理ボリューム構成情報に基づいて、リモート論理ボリューム構成情報記憶部613内に、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームに関するリモート論理ボリューム構成情報を追加登録する。そして、論理ボリューム構成管理部611は、管理ノード800に対して接続完了通知を送信する。
[ステップS25]管理ノード800の再構成指示部820は、ローカル論理ボリュームの構成変更要求をアクセスノード600に対して送信する。この構成変更要求には、論理ボリューム識別子が「LVOL3」であるリモート論理ボリュームが生成されたこと、およびそのリモート論理ボリュームの記憶容量などの情報が含まれる。
[ステップS26]アクセスノード600の論理ボリューム構成管理部611は、構成変更要求に応じて、ローカル論理ボリューム構成情報記憶部612内のローカル論理ボリューム構成情報612aを更新する。なお、この処理の詳細は後述する(図25参照)。
[ステップS27]論理ボリューム構成管理部611は、ローカル論理ボリューム構成変更完了通知を管理ノード800に送信する。
このようにして、アクセスノード600におけるローカル論理ボリュームの記憶領域が拡張される。このとき、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームに割り当てられていたディスクノードのスライスに関しては、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームに対しても重複割当が行われる。
ここで、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームの拡張領域の記憶容量が、リモート論理ボリュームにおけるセグメント2つ分であるものとする。また、新たに作成された論理ボリューム識別子が「LVOL3」のリモート論理ボリュームにおける拡張領域分のセグメントに関し、プライマリスライスに対してディスクノード100の空きスライスが割り当てられ、セカンダリスライスに対してディスクノード200の空きスライスが割り当てられたものとする。
図13は、重複割当時のアクセスノードからディスクノードへのアクセス環境を示す模式図である。なお、図13では、アクセスノード600はローカル論理ボリュームの記憶領域は拡張されているが、アクセスノード700はローカル論理ボリュームの記憶領域は拡張されていない状態を示している。
図13に示すように、アクセスノード600では、ローカル論理ボリュームの記憶領域が拡張されている。拡張された記憶領域は、開始アドレスが「L−a5」、終了アドレスが「L−a6」である。リモート論理ボリュームは、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームに置き換えられている。論理ボリューム識別子が「LVOL3」のリモート論理ボリュームは、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームと同じ記憶容量を有している。
論理ボリューム識別子が「LVOLX」のローカル論理ボリュームのアドレス「L−a1」〜「L−a6」の記憶領域は、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのアドレス「R3−a1」〜「R3−a6」の記憶領域に対応付けられている。論理ボリューム識別子が「LVOLX」のローカル論理ボリュームの拡張領域は、アドレス「L−a1」〜「L−a6」の記憶領域である。この記憶領域は、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのアドレス「R3−a5」〜「R3−a6」の記憶領域に対応する。
論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのアドレス「R3−a1」〜「R3−a2」の記憶領域に対応する2つのセグメントのプライマリスライスには、ディスクノード100の2つのスライスが割り当てられている。このディスクノード100の2つのスライスは、論理ボリューム識別子が「LVOL1」のリモート論理ボリュームと、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームとに、重複して割り当てられている。
論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのアドレス「R3−a3」〜「R3−a4」の記憶領域に対応する2つのセグメントのプライマリスライスには、ディスクノード200の2つのスライスが割り当てられている。このディスクノード200の2つのスライスは、論理ボリューム識別子が「LVOL2」のリモート論理ボリュームと論理ボリューム識別子が「LVOL3」のリモート論理ボリュームとに、重複して割り当てられている。
論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのアドレス「R3−a5」〜「R3−a6」の記憶領域に対応する2つのセグメントのプライマリスライスには、ディスクノード100の2つのスライスが割り当てられている。このディスクノード100の2つのスライスは、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームにのみ割り当てられている。
ディスクノード100では、新たなリモート論理ボリュームに対するスライスの割当が行われたこと、およびスライスの重複割当が行われたことが、スライス管理情報に設定される。
図14は、重複割当後のスライス管理情報を示す図である。図7に示した重複割当前と比較すると、スライス管理情報記憶部150内のメタデータ151には、以下の2つのスライスの割当に関する情報が追加されている。
スライスID「21」のスライスを、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのセグメントID「5」のセグメントのプライマリスライスとして割り当てたことが示されている。また、このスライスは、ノード識別子が「SN−B」であるディスクノード200のスライスID「21」のセグメントとペアとなることが示されている。
スライスID「22」のスライスを、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのセグメントID「6」のセグメントのプライマリスライスとして割り当てたことが示されている。また、このスライスは、ノード識別子が「SN−B」であるディスクノード200のスライスID「22」のセグメントとペアとなることが示されている。
図7に示した重複割当前と比較すると、スライス管理情報記憶部150内の重複割当テーブル152には、以下の2つのスライスの割当に関する情報が追加されている。
スライスID「1」のスライスは、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのセグメントID「1」に重複して割り当てられている。スライスID「2」のスライスは、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのセグメントID「2」に重複して割り当てられている。スライスID「11」のスライスは、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのセグメントID「3」に重複して割り当てられている。スライスID「12」のスライスは、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームのセグメントID「4」に重複して割り当てられている。
なお、重複割当が行われたディスクノード100内のスライスは、メタデータ151でのフラグがプライマリスライスであれば、重複割当時もプライマリスライスとして割り当てられる。同様に、メタデータ151でのフラグがセカンダリスライスであれば、重複割当時もセカンダリスライスとして割り当てられる。
記憶領域拡張処理を行ったアクセスノード600では、ローカル論理ボリューム構成情報が更新される。
図15は、記憶領域拡張後のローカル論理ボリューム構成情報を示す図である。図9と比較すると、ローカル論理ボリューム構成情報記憶部612内のローカル論理ボリューム構成情報612aにおける論理ボリューム識別子が「LVOLX」のローカル論理ボリュームに割り当てられたリモート論理ボリュームが、論理ボリューム識別子が「LVOL1」と「LVOL2」との2つのリモート論理ボリュームの組合せから、論理ボリューム識別子が「LVOL3」の1つのリモート論理ボリュームに変更されている。また、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームの記憶領域が拡張されたことから、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームの終了アドレスが「L−a6」に変更されている。
図16は、記憶領域拡張後のリモート論理ボリューム構成情報を示す図である。図10と比較すると、リモート論理ボリューム構成情報記憶部613内のリモート論理ボリューム構成情報613aにおいて、ディスクノード「SN−A」のスライスID「1」、「2」と、「SN−B」のスライスID「1」、「2」とが、新たに作成された論理ボリューム識別子が「LVOL3」のリモート論理ボリュームに重複して割り当てられている。また、ディスクノード「SN−A」のスライスID「11」、「12」が、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームに割り当てられている。
このようにして、アクセスノード600におけるローカル論理ボリュームの記憶領域の拡張が完了する。制御ノード500は、他のアクセスノード700に対しても、論理ボリューム識別子が「LVOL3」の新たなリモート論理ボリュームへの切換を指示する。そして、制御ノード500は、すべてのアクセスノード600,700においてリモート論理ボリュームの切換が完了すると、論理ボリューム識別子が「LVOL1」、「LVOL2」の、以前使用していたリモート論理ボリュームの定義を削除する。
以下、アクセスノード700のローカル論理ボリュームの記憶領域の拡張から、使用しなくなったリモート論理ボリュームの削除までの処理について説明する。
図17は、ローカル論理ボリュームの記憶容量拡張処理の後半を示すシーケンス図である。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS31]管理ノード800の再構成指示部820は、図12の処理に続けて、論理ボリューム識別子が「LVOL3」であるリモート論理ボリュームの接続要求をアクセスノード700に対して送信する。
[ステップS32]アクセスノード700は、接続要求を受信すると、制御ノード500に対してリモート論理ボリューム構成情報要求を送信する。
[ステップS33]制御ノード500の論理ボリューム管理部510は、リモート論理ボリューム構成情報応答処理を行う。
[ステップS34]論理ボリューム管理部510は、生成したリモート論理ボリューム構成情報をアクセスノード700に対して送信する。
[ステップS35]アクセスノード700は、受信したリモート論理ボリューム構成情報に基づいてリモート論理ボリューム構成情報を更新する。そして、アクセスノード700は、管理ノード800に対して接続完了通知を送信する。
[ステップS36]管理ノード800の再構成指示部820は、ローカル論理ボリュームの構成変更要求をアクセスノード700に対して送信する。
[ステップS37]アクセスノード700は、構成変更要求に応じて、ローカル論理ボリューム構成情報を更新する。
[ステップS38]アクセスノード700は、ローカル論理ボリューム構成変更完了通知を管理ノード800に送信する。
[ステップS39]管理ノード800の再構成指示部820は、すべてのアクセスノード600,700においてローカル論理ボリュームの拡張処理が完了したことを確認すると、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームの削除要求を制御ノード500に対して送信する。
[ステップS40]制御ノード500の論理ボリューム管理部510は、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームの削除を行う。具体的に、論理ボリューム管理部510は、スライス管理情報群記憶部520に格納されているスライス管理情報から論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームに関する情報を抽出すると共に、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームに対するスライスの割当が行われているディスクノードを判断する。そして、論理ボリューム管理部510は、スライス管理情報群記憶部520内のスライス管理情報を更新する。なお、この処理の詳細は後述する(図26参照)。
[ステップS41]論理ボリューム管理部510は、ディスクノード100に対してスライス管理情報の変更要求を送信する。この変更要求には、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームに関する情報を削除することを示す情報が含まれる。
[ステップS42]論理ボリューム管理部510は、ディスクノード200に対しても、同様にスライス管理情報の変更要求を送信する。
[ステップS43]ディスクノード100のデータ管理部140は、スライス管理情報を変更する。具体的には、データ管理部140は、受信した変更要求に基づいて、スライス管理情報記憶部150内のメタデータ151から論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームを割当先とするスライスに関する割当関係を示す情報を削除する。このとき、データ管理部140は、重複割当テーブル152において割当関係を示す情報が削除されたスライスに対する重複割当が設定されている場合、重複割当先を通常の割当先としてメタデータ151に反映する。すなわち、データ管理部140は、割当先の論理ボリューム識別子として「LVOL1」、「LVOL2」が設定されていたスライスに対して、新たな割当先として論理ボリューム識別子「LVOL3」を設定する。そして、データ管理部140は、メタデータ151に反映させた重複割当の情報に関しては、重複割当テーブル152から削除する。
[ステップS44]ディスクノード200は、ディスクノード100と同様にスライス管理情報を変更する。
[ステップS45]ディスクノード100のデータ管理部140は、スライス管理情報の変更が完了すると、変更完了通知を制御ノード500に対して送信する。
[ステップS46]ディスクノード200も同様に、スライス管理情報の変更が完了すると、変更完了通知を制御ノード500に対して送信する。
なお、各ディスクノード100,200から送られる変更完了通知には、更新後のスライス管理情報が含まれている。
[ステップS47]制御ノード500の論理ボリューム管理部510は、ディスクノード100,200のそれぞれから変更完了通知を受け取ると、管理ノード800に対して削除完了通知を送信する。
このように、すべてのアクセスノード600,700においてローカル論理ボリュームへの割当が解除されたリモート論理ボリュームは削除される。その際、削除されたリモート論理ボリュームに割り当てられていたディスクノード内のスライスに重複割当が存在する場合、そのスライスの割当先として、重複して設定されたリモート論理ボリュームへの割当が残される。
図18は、記憶容量拡張処理完了後のアクセスノードからディスクノードへのアクセス環境を示す模式図である。図18に示すように、アクセスノード600,700においてローカル論理ボリュームの記憶容量の拡張が完了することにより、ディスクノード100,200のスライスの重複割当が解消される。すなわち、ディスクノード100,200の各スライスは、1つのリモート論理ボリューム(図18の例では「LVOL3」)の1つのセグメントに対してのみ割り当てられている。
図19は、重複割当解消後のスライス管理情報を示す図である。ディスクノード100のスライス管理情報記憶部150に記憶されたメタデータ151は、重複割当時(図14参照)と比較すると、スライスID「1」、「2」、「11」、「12」の各スライスを割り当てたリモート論理ボリュームを示す論理ボリューム識別子が「LVOL3」に変更されている。また、重複割当テーブル152については、重複割当時(図14参照)の登録内容が削除されている。
図20は、重複割当解消後のリモート論理ボリューム構成情報を示す図である。図16と比較すると、リモート論理ボリューム構成情報記憶部613内のリモート論理ボリューム構成情報613aにおいて、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームに関する情報が削除されている。
図21は、記憶領域拡張後の論理ボリュームのデータ構造を示す図である。ローカル論理ボリューム30には、拡張記憶領域33が追加されている。新たに作成されたリモート論理ボリューム60は、6つのセグメント61〜66で構成される。セグメント61,62,65,66のプライマリスライス61a,62a,65a,66aには、それぞれディスクノード100が管理するストレージ装置110のスライス121,122,125,126が割り当てられている。セグメント63,64のプライマリスライス63a,64aには、それぞれディスクノード200が管理するストレージ装置210のスライス223,224が割り当てられている。セグメント61,62,65,66のセカンダリスライス61b,62b,65b,66bには、それぞれディスクノード200が管理するストレージ装置210のスライス221,222,225,226が割り当てられている。セグメント63,64のセカンダリスライス63b,64bには、それぞれディスクノード100が管理するストレージ装置110のスライス123,124が割り当てられている。
次に、各ノードで実行される主たる処理の詳細について説明する。
まず、制御ノード500における論理ボリューム識別子が「LVOL3」のリモート論理ボリューム割当処理(図12のステップS12)について説明する。
図22は、リモート論理ボリューム割当処理の手順を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
[ステップS51]制御ノード500の論理ボリューム管理部510は、管理ノード800からリモート論理ボリュームの割当要求を受け取ると、リモート論理ボリュームを新たに定義する。このとき、割当要求には、他のリモート論理ボリュームとの重複割当をすべきセグメントの指定と、固有スライス(重複させないスライス)の割当を行うセグメントの指定とが含まれる。そこで、論理ボリューム管理部510は、固有スライスを割り当てるべきセグメントのプライマリスライスとセカンダリスライスとに対して、ディスクノード100,200,300,400内の空きスライス(いずれのリモート論理ボリュームにも割り当てられていないスライス)を割り当てる。このとき、同一セグメントのプライマリスライスとセカンダリスライスとには、異なるディスクノードのスライスが割り当てられる。
[ステップS52]論理ボリューム管理部510は、割当要求において、重複割当を行うスライスの指定があるか否かを判断する。重複割当が指定されたスライスがあれば、処理がステップS53に進められる。重複割当が指定されたスライスがなければ、リモート論理ボリューム割当処理が終了する。
[ステップS53]論理ボリューム管理部510は、重複スライスの割当を行う。具体的には、論理ボリューム管理部510は、論理ボリューム識別子が「LVOL1」と「LVOL2」のリモート論理ボリュームとに割り当てられていたディスクノード100,200内のスライスを、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームにも割り当てる。
次に、ディスクノード100で行われるスライス管理情報変更処理(図12のステップS15)について説明する。
図23は、スライス管理情報変更処理の手順を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。
[ステップS61]ディスクノード100のデータ管理部140は、制御ノード500からスライス管理情報の変更要求を受信すると、固有スライスに関する割当情報を、スライス管理情報記憶部150内のメタデータ151に追加登録する。
[ステップS62]データ管理部140は、変更要求において、重複割当を行うスライスに関する情報があるか否かを判断する。重複割当を行うスライスがあれば、処理がステップS63に進められる。重複割当を行うスライスがなければ、スライス管理情報変更処理が終了する。
[ステップS63]データ管理部140は、重複割当を行うスライスに関する情報を、スライス管理情報記憶部150内の重複割当テーブルに追加登録する。
このようにして、ディスクノード100においてスライス管理情報が変更される。
次に、制御ノード500で行われるリモート論理ボリューム構成情報応答処理について詳細に説明する。
図24は、リモート論理ボリューム構成情報応答処理の手順を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
[ステップS71]制御ノード500の論理ボリューム管理部510は、固有スライスを検索する。具体的には、論理ボリューム管理部510は、スライス管理情報群記憶部520内の各スライス管理情報におけるメタデータから、追加する論理ボリューム識別子が「LVOL3」のリモート論理ボリュームが割当先として設定されたプライマリスライスの情報(フラグの欄に「P」、論理ボリュームIDの欄に「LVOL3」が設定された情報)を検索する。
[ステップS72]論理ボリューム管理部510は、重複スライスを検索する。具体的には、論理ボリューム管理部510は、スライス管理情報群記憶部520内の各スライス管理情報における重複割当テーブルから、追加する論理ボリューム識別子が「LVOL3」のリモート論理ボリュームが割当先として設定されたプライマリスライスの情報(論理ボリュームIDの欄に「LVOL3」が設定された情報)を検索する。
このように、ステップS71,S72の検索で検出された情報が、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームに関するリモート論理ボリューム構成情報となる。
次に、アクセスノード600におけるローカル論理ボリューム構成変更処理(図12のステップS26)について詳細に説明する。
図25は、ローカル論理ボリューム構成変更処理の手順を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。
[ステップS81]アクセスノード600の論理ボリューム構成管理部611は、端末装置21〜23からの論理ボリューム識別子が「LVOLX」のローカル論理ボリュームへのアクセスを一時的に停止する。具体的には、論理ボリューム構成管理部611は、ローカル論理ボリュームアクセス部615に対して、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームへのアクセスの一時停止を指示する。すると、ローカル論理ボリュームアクセス部615は、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームへのアクセス要求が入力されても、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームへのアクセスが開始されるまでアクセス要求の処理を停止する。
[ステップS82]論理ボリューム構成管理部611は、ローカル論理ボリューム構成情報を変更する。具体的には、論理ボリューム構成管理部611は、ローカル論理ボリューム構成情報記憶部612内のローカル論理ボリューム構成情報612aにおいて、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームのすべての記憶領域に対して、論理ボリューム識別子が「LVOL3」のリモート論理ボリュームを割り当てる。
[ステップS83]論理ボリューム構成管理部611は、端末装置21〜23からの論理ボリューム識別子が「LVOLX」のローカル論理ボリュームへのアクセスを開始する。具体的には、論理ボリューム構成管理部611は、ローカル論理ボリュームアクセス部615に対して、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームへのアクセスの開始を指示する。すると、ローカル論理ボリュームアクセス部615は、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームへのアクセス要求の処理を開始する。
このようにして、アクセスノード600において、ローカル論理ボリュームの構成が変更される。
次に、リモート論理ボリューム削除処理(図17のステップS40)の詳細について説明する。
図26は、リモート論理ボリューム削除処理の手順を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。
[ステップS91]制御ノード500の論理ボリューム管理部510は、スライス管理情報群記憶部520内のすべてのスライス管理情報におけるメタデータから、削除対象のスライスを検索する。具体的には、論理ボリューム管理部510は、削除対象となるリモート論理ボリュームの論理ボリューム識別子「LVOL1」、「LVOL2]が論理ボリュームIDの欄に設定されたスライスの情報を検索する。
[ステップS92]論理ボリューム管理部510は、削除対象スライスがある否かを判断する。検索によって削除対象スライスが見つかった場合、処理がステップS93に進められる。削除対象スライスが無い場合、リモート論理ボリューム削除処理が終了する。
[ステップS93]論理ボリューム管理部510は、スライス管理情報群記憶部520内のメタデータから削除対象スライス(ディスクノードIDとスライスIDとにより一意に特定される)を1つ選択する。
[ステップS94]論理ボリューム管理部510は、選択したスライスに関して重複割当があるか否かを判断する。
[ステップS95]論理ボリューム管理部510は、メタデータを書き換える。具体的には、論理ボリューム管理部510は、重複管理テーブルにおいて選択したスライスに対応付けて論理ボリュームIDおよびセグメントIDの欄に登録されていた情報を、メタデータ内の選択したスライスに対応する論理ボリュームIDおよびセグメントIDの欄に上書きによって書き込む。
[ステップS96]論理ボリューム管理部510は、重複割当テーブルから、選択したスライスに関する情報を削除する。その後、処理がステップS91に進められる。
[ステップS97]論理ボリューム管理部510は、メタデータを書き換える。具体的には、論理ボリューム管理部510は、選択したスライスが登録されたメタデータから、該当スライスに対応付けて、論理ボリュームID、セグメントID、ペアのディスクID、ペアのスライスIDの欄に登録されていた情報を削除する。その後、処理がステップS91に進められる。
以上説明したように、アクセスノード600,700においてローカル管理ボリュームに対してリモート論理ボリュームを割り当て、リモート論理ボリュームに対してディスクノードで提供される記憶領域(スライス)を割り当てることで、ローカル論理ボリュームの記憶領域拡張における柔軟性が増す。すなわち、ローカル論理ボリュームに割り当てるボリューム数が過大となった場合でも、1台のリモート論理ボリュームに容易にまとめることができる。これにより、システムの運用を停止させずに、ローカル論理ボリュームの拡張が継続的に可能となる。
しかも、リモート論理ボリュームはセグメント単位で管理されており、プライマリスライスとセカンダリスライスとを有している。このプライマリスライスとセカンダリスライスとは、ディスクノード100,200,300,400が連携動作することによって同じデータが格納されることが保証されている。従って、ディスクノードに障害が発生しても、データの消失が防止されると共に、データの復旧を迅速に行うことができる。
さらに、プライマリスライスとセカンダリスライスとを用いた冗長構成であることから、ディスクノード100,200,300,400のメンテナンスやデータの再配置も容易である。例えば、ディスクノード100に接続されたストレージ装置110の記憶容量が不十分であることから、大容量のストレージ装置を有するディスクノードを導入する場合を考える。このとき、新規に導入するディスクノードをネットワーク10に接続し、ディスクノード100が管理していたデータを新たなディスクノードが有するストレージ装置にコピーすればよい。データのコピーに関しては、ディスクノード100が管理していたデータが属するセグメントのセカンダリスライスからコピーをすることができる。セカンダリスライスは、複数のディスクノード100,200,300,400のいずれかに分散配置されている。そのため、ディスクノード100が管理するデータのコピーを作成する場合であっても、ディスクノード100に処理負荷が集中するのを防止できる。しかも、アクセスノード600,700からのデータ読み出しの処理はプライマリスライスに対してのみ行われる。そのため、セカンダリスライスからデータのコピーを行っていれば、アクセスノード600,700からのアクセス処理効率の低下を最小限に抑えることができる。
なお、上記の例では、論理ボリューム識別子が「LVOLX」のローカル論理ボリュームに対する記憶領域の拡張が完了すると、直ぐに論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームを削除している。これは、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームが、論理ボリューム識別子が「LVOLX」のローカル論理ボリューム経由でしかアクセスされない場合を想定したものである。しかし、運用によっては、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームに対して直接(ローカル論理ボリュームを介さずに)アクセスできるようにすることもできる。そのような場合、論理ボリューム識別子が「LVOL1」、「LVOL2」のリモート論理ボリュームを削除せずに、リモート論理ボリューム「LVOL3」と併用することもできる。
また、上記実施の形態では、ディスクノード100,200,300,400、制御ノード500,アクセスノード600,700、および管理ノード800が個別の装置となっているが、これらの装置のうちの任意の複数の装置の機能を1つの装置にまとめることもできる。例えば、制御ノード500と管理ノード800との機能を、アクセスノード600に設けることもできる。
なお、上記の例では説明を分かりやすくするために、リモート論理ボリュームに対してディスクノード100とディスクノード200とが管理するストレージ装置110,120のスライスのみを割り当てているが、ディスクノード300とディスクノード400が管理するストレージ装置310,320のスライスを割り当ててもよい。
また、上記の処理機能は、コンピュータによって実現することができる。その場合、ディスクノード100,200,300,400、制御ノード500,アクセスノード600,700、および管理ノード800が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
実施の形態の概要を示す図である。 本実施の形態の分散ストレージシステム構成例を示す図である。 本実施の形態に用いる制御ノードのハードウェア構成例を示す図である。 論理ボリュームのデータ構造を示す図である。 分散ストレージシステムの各装置の機能を示すブロック図である。 ディスクノード内のスライス管理情報のデータ構造例を示す図である。 スライス管理情報群記憶部のデータ構造例を示す図である。 論理ボリュームアクセス制御部の機能を示すブロック図である。 ローカル論理ボリューム構成情報記憶部のデータ構造例を示す図である。 リモート論理ボリューム構成情報記憶部のデータ構造例を示す図である。 アクセスノードからディスクノードへのアクセス環境を示す模式図である。 ローカル論理ボリュームの記憶容量拡張処理の前半を示すシーケンス図である。 重複割当時のアクセスノードからディスクノードへのアクセス環境を示す模式図である。 重複割当後のスライス管理情報を示す図である。 記憶領域拡張後のローカル論理ボリューム構成情報を示す図である。 記憶領域拡張後のリモート論理ボリューム構成情報を示す図である。 ローカル論理ボリュームの記憶容量拡張処理の後半を示すシーケンス図である。 記憶容量拡張処理完了後のアクセスノードからディスクノードへのアクセス環境を示す模式図である。 重複割当解消後のスライス管理情報を示す図である。 重複割当解消後のリモート論理ボリューム構成情報を示す図である。 記憶領域拡張後の論理ボリュームのデータ構造を示す図である。 リモート論理ボリューム割当処理の手順を示すフローチャートである。 スライス管理情報変更処理の手順を示すフローチャートである。 リモート論理ボリューム構成情報応答処理の手順を示すフローチャートである。 ローカル論理ボリューム構成変更処理の手順を示すフローチャートである。 リモート論理ボリューム削除処理の手順を示すフローチャートである。
符号の説明
1 第1の記憶手段
1a 第1段論理ボリューム
2 第2の記憶手段
2a,2b,2c 第2段論理ボリューム
3 アクセス手段
4 論理ボリューム生成手段
5 記憶領域拡張手段
6〜8 ストレージ装置
6a,6b,6c 記憶領域

Claims (7)

  1. 論理ボリュームへの記憶領域割当処理をコンピュータに実行させる論理ボリューム管理プログラムであって、
    前記コンピュータを、
    第1段論理ボリュームと少なくとも1つの第2段論理ボリュームとの記憶領域間の対応関係が登録された第1段論理ボリューム構成情報を記憶する第1の記憶手段、
    前記第2段論理ボリュームと少なくとも1つのストレージ装置との記憶領域間の対応関係が登録された第2段論理ボリューム構成情報を記憶する第2の記憶手段、
    前記第1段論理ボリュームの記憶領域を指定したアクセス要求に応答して、前記第1段論理ボリューム構成情報を参照し、アクセス要求で指定された前記第1段論理ボリュームの記憶領域に対応する前記第2段論理ボリュームの記憶領域を判断し、前記第2段論理ボリューム構成情報を参照し、判断された前記第2段論理ボリュームの記憶領域に対応する前記ストレージ装置の記憶領域へアクセスを行うアクセス手段、
    記憶容量を指定した前記第1段論理ボリュームの記憶領域拡張要求に応答して、前記第2段論理ボリュームに対して割り当てられた前記ストレージ装置内の記憶領域と、前記記憶領域拡張要求で指定された記憶容量と前記第1段論理ボリュームの拡張前の記憶容量との差分に相当する前記ストレージ装置内の記憶領域とが割り当てられた新たな第2段論理ボリュームを生成し、前記新たな第2段論理ボリュームと前記ストレージ装置との記憶領域間の対応関係を前記第2段論理ボリューム構成情報に登録する論理ボリューム生成手段、
    前記第1段論理ボリューム構成情報に記憶された前記第1段論理ボリュームの記憶領域を前記記憶領域拡張要求で指定された記憶容量に拡張し、記憶領域が拡張された前記第1段論理ボリュームに対して、前記論理ボリューム生成手段で生成した前記新たな第2段論理ボリュームを対応付ける記憶領域拡張手段、
    として機能させる論理ボリューム管理プログラム。
  2. 前記記憶領域拡張手段は、前記第1段論理ボリュームに対して前記新たな第2段論理ボリュームを対応付けた後、記憶領域拡張前に前記第1段論理ボリュームに対応付けられていた前記第2段論理ボリュームの情報を前記第2の記憶装置から削除することを特徴とする請求項1記載の論理ボリューム管理プログラム。
  3. 前記第2段論理ボリュームの記憶領域はセグメント単位に分割して管理されており、各セグメントには、セグメントと同じ記憶容量のプライマリスライスとセカンダリスライスとが設けられ、プライマリスライスとセカンダリスライスとに対して個別の前記ストレージ装置の記憶領域が対応付けられており、前記アクセス手段は、プライマリスライスに対応付けられた前記ストレージ装置の記憶領域にアクセスすることを特徴とする請求項1記載の論理ボリューム管理プログラム。
  4. 論理ボリュームへの記憶領域割当処理を行う論理ボリューム管理装置であって、
    第1段論理ボリュームと少なくとも1つの第2段論理ボリュームとの記憶領域間の対応関係が登録された第1段論理ボリューム構成情報を記憶する第1の記憶手段と、
    前記第2段論理ボリュームと少なくとも1つのストレージ装置との記憶領域間の対応関係が登録された第2段論理ボリューム構成情報を記憶する第2の記憶手段と、
    前記第1段論理ボリュームの記憶領域を指定したアクセス要求に応答して、前記第1段論理ボリューム構成情報を参照し、アクセス要求で指定された前記第1段論理ボリュームの記憶領域に対応する前記第2段論理ボリュームの記憶領域を判断し、前記第2段論理ボリューム構成情報を参照し、判断された前記第2段論理ボリュームの記憶領域に対応する前記ストレージ装置の記憶領域へアクセスを行うアクセス手段と、
    記憶容量を指定した前記第1段論理ボリュームの記憶領域拡張要求に応答して、前記第2段論理ボリュームに対して割り当てられた前記ストレージ装置内の記憶領域と、前記記憶領域拡張要求で指定された記憶容量と前記第1段論理ボリュームの拡張前の記憶容量との差分に相当する前記ストレージ装置内の記憶領域とが割り当てられた新たな第2段論理ボリュームを生成し、前記新たな第2段論理ボリュームと前記ストレージ装置との記憶領域間の対応関係を前記第2段論理ボリューム構成情報に登録する論理ボリューム生成手段と、
    前記第1段論理ボリューム構成情報に記憶された前記第1段論理ボリュームの記憶領域を前記記憶領域拡張要求で指定された記憶容量に拡張し、記憶領域が拡張された前記第1段論理ボリュームに対して、前記論理ボリューム生成手段で生成した前記新たな第2段論理ボリュームを対応付ける記憶領域拡張手段と、
    を有する論理ボリューム管理装置。
  5. 論理ボリュームへの記憶領域割当処理をコンピュータが行う論理ボリューム管理方法であって、
    前記コンピュータが、
    第1段論理ボリュームと少なくとも1つの第2段論理ボリュームとの記憶領域間の対応関係が登録された第1段論理ボリューム構成情報を第1の記憶手段に記憶させ、
    前記第2段論理ボリュームと少なくとも1つのストレージ装置との記憶領域間の対応関係が登録された第2段論理ボリューム構成情報を第2の記憶手段に記憶させ、
    前記第1段論理ボリュームの記憶領域を指定したアクセス要求に応答して、前記第1段論理ボリューム構成情報を参照し、アクセス要求で指定された前記第1段論理ボリュームの記憶領域に対応する前記第2段論理ボリュームの記憶領域を判断し、前記第2段論理ボリューム構成情報を参照し、判断された前記第2段論理ボリュームの記憶領域に対応する前記ストレージ装置の記憶領域へアクセスを行い、
    記憶容量を指定した前記第1段論理ボリュームの記憶領域拡張要求に応答して、前記第2段論理ボリュームに対して割り当てられた前記ストレージ装置内の記憶領域と、前記記憶領域拡張要求で指定された記憶容量と前記第1段論理ボリュームの拡張前の記憶容量との差分に相当する前記ストレージ装置内の記憶領域とが割り当てられた新たな第2段論理ボリュームを生成し、前記新たな第2段論理ボリュームと前記ストレージ装置との記憶領域間の対応関係を前記第2段論理ボリューム構成情報に登録し、
    前記第1段論理ボリューム構成情報に記憶された前記第1段論理ボリュームの記憶領域を前記記憶領域拡張要求で指定された記憶容量に拡張し、記憶領域が拡張された前記第1段論理ボリュームに対して、前記新たな第2段論理ボリュームを対応付ける、
    処理を実行することを特徴とする論理ボリューム管理方法。
  6. 論理ボリュームへの記憶領域割当処理を行う分散ストレージシステムであって、
    ネットワークに接続され、ストレージ装置を有する少なくとも1つのディスクノードと、
    第1段論理ボリュームと少なくとも1つの第2段論理ボリュームとの記憶領域間の対応関係が登録された第1段論理ボリューム構成情報を記憶する第1の記憶手段と、前記第2段論理ボリュームと少なくとも1つの前記ストレージ装置との記憶領域間の対応関係が登録された第2段論理ボリューム構成情報を記憶する第2の記憶手段と、前記第1段論理ボリュームの記憶領域を指定したアクセス要求に応答して、前記第1段論理ボリューム構成情報を参照し、アクセス要求で指定された前記第1段論理ボリュームの記憶領域に対応する前記第2段論理ボリュームの記憶領域を判断し、前記第2段論理ボリューム構成情報を参照し、判断された前記第2段論理ボリュームの記憶領域に対応する前記ストレージ装置の記憶領域へアクセスを行うアクセス手段と、記憶容量を指定した前記第1段論理ボリュームの記憶領域拡張要求に応答して、前記第2段論理ボリュームに対して割り当てられた前記ストレージ装置内の記憶領域と、前記記憶領域拡張要求で指定された記憶容量と前記第1段論理ボリュームの拡張前の記憶容量との差分に相当する前記ストレージ装置内の記憶領域とが割り当てられた新たな第2段論理ボリュームを生成し、前記新たな第2段論理ボリュームと前記ストレージ装置との記憶領域間の対応関係を前記第2段論理ボリューム構成情報に登録する論理ボリューム生成手段と、前記第1段論理ボリューム構成情報に記憶された前記第1段論理ボリュームの記憶領域を前記記憶領域拡張要求で指定された記憶容量に拡張し、記憶領域が拡張された前記第1段論理ボリュームに対して、前記論理ボリューム生成手段で生成した前記新たな第2段論理ボリュームを対応付ける記憶領域拡張手段と、を有し、前記ネットワークに接続されたアクセスノードと、
    前記ストレージ装置の記憶領域のうち、前記第2段論理ボリュームに割り当てられている記憶領域と、前記第2段論理ボリュームに割り当てられていない記憶領域とを管理しており、前記第1段論理ボリュームの記憶領域を拡張する場合、前記ストレージ装置の記憶領域のうち、前記第2段論理ボリュームに割り当てられていない記憶領域を選択し、選択した前記ストレージ装置の記憶領域を、前記新たな第2段論理ボリュームの拡張分の記憶領域に対して割り当てるべき記憶領域として通知する制御ノードと、
    を有する分散ストレージシステム。
  7. 前記制御ノードは、前記ストレージ装置の空き領域を管理しており、前記第1段論理ボリュームの記憶容量を拡張する際に、前記アクセスノードに対して、前記新たな第2段論理ボリュームに割り当てるべき前記ストレージ装置内の記憶領域を通知することを特徴とする請求項6記載の分散ストレージシステム。
JP2008043134A 2008-02-25 2008-02-25 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム Expired - Fee Related JP4519179B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008043134A JP4519179B2 (ja) 2008-02-25 2008-02-25 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム
US12/390,135 US7966470B2 (en) 2008-02-25 2009-02-20 Apparatus and method for managing logical volume in distributed storage systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008043134A JP4519179B2 (ja) 2008-02-25 2008-02-25 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム

Publications (2)

Publication Number Publication Date
JP2009199541A true JP2009199541A (ja) 2009-09-03
JP4519179B2 JP4519179B2 (ja) 2010-08-04

Family

ID=40999464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008043134A Expired - Fee Related JP4519179B2 (ja) 2008-02-25 2008-02-25 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム

Country Status (2)

Country Link
US (1) US7966470B2 (ja)
JP (1) JP4519179B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013122691A (ja) * 2011-12-12 2013-06-20 Fujitsu Ltd 割り当て装置およびストレージ装置
KR20170135594A (ko) * 2016-05-31 2017-12-08 삼성전자주식회사 스토리지 시스템 및 그의 볼륨 관리 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142115B2 (en) * 2008-03-31 2018-11-27 International Business Machines Corporation Distributed storage network data revision control
JP5218284B2 (ja) * 2008-08-20 2013-06-26 富士通株式会社 仮想ディスク管理プログラム、ストレージ装置管理プログラム、マルチノードストレージシステム、および仮想ディスク管理方法
US11429486B1 (en) 2010-02-27 2022-08-30 Pure Storage, Inc. Rebuilding data via locally decodable redundancy in a vast storage network
US8782491B2 (en) * 2011-08-17 2014-07-15 Cleversafe, Inc. Detecting intentional corruption of data in a dispersed storage network
US9229645B2 (en) 2012-02-10 2016-01-05 Hitachi, Ltd. Storage management method and storage system in virtual volume having data arranged astride storage devices
WO2013118194A1 (en) 2012-02-10 2013-08-15 Hitachi, Ltd. Storage system with virtual volume having data arranged astride storage devices, and volume management method
US9069835B2 (en) * 2012-05-21 2015-06-30 Google Inc. Organizing data in a distributed storage system
US11093327B1 (en) 2012-06-25 2021-08-17 Pure Storage, Inc. Failure abatement approach for failed storage units common to multiple vaults
US10114697B2 (en) * 2012-06-25 2018-10-30 International Business Machines Corporation Large object parallel writing
US9223510B2 (en) * 2013-06-26 2015-12-29 Globalfoundries Inc. Optimizing storage utilization by modifying a logical volume offset
WO2016051512A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
CN107430510A (zh) * 2015-12-31 2017-12-01 华为技术有限公司 数据处理方法、装置和系统
US10469405B2 (en) 2016-06-29 2019-11-05 Amazon Technologies, Inc. Network-accessible data volume modification
JP6254669B1 (ja) * 2016-12-19 2017-12-27 Fdcグローバル株式会社 情報処理装置、端末及びプログラム
US10180787B2 (en) * 2017-02-09 2019-01-15 International Business Machines Corporation Dispersed storage write process with lock/persist
US11093170B2 (en) * 2019-04-02 2021-08-17 EMC IP Holding Company LLC Dataset splitting based on workload footprint analysis

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236560A (ja) * 2000-12-07 2002-08-23 Hitachi Ltd 計算機システム
JP2003015915A (ja) * 2001-07-05 2003-01-17 Hitachi Ltd 記憶装置の容量自動拡張方法
JP2007279845A (ja) * 2006-04-03 2007-10-25 Hitachi Ltd ストレージシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880058B2 (en) 2000-12-07 2005-04-12 Hitachi, Ltd. Computer system with storage system having re-configurable logical volumes
JP4612269B2 (ja) 2002-08-13 2011-01-12 日本電気株式会社 仮想ボリューム管理方式
US6957303B2 (en) * 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
JP4244319B2 (ja) * 2003-12-17 2009-03-25 株式会社日立製作所 計算機システム管理プログラム,記録媒体,ならびに計算機システム管理システムおよびそのための管理装置および記憶装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236560A (ja) * 2000-12-07 2002-08-23 Hitachi Ltd 計算機システム
JP2003015915A (ja) * 2001-07-05 2003-01-17 Hitachi Ltd 記憶装置の容量自動拡張方法
JP2007279845A (ja) * 2006-04-03 2007-10-25 Hitachi Ltd ストレージシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013122691A (ja) * 2011-12-12 2013-06-20 Fujitsu Ltd 割り当て装置およびストレージ装置
KR20170135594A (ko) * 2016-05-31 2017-12-08 삼성전자주식회사 스토리지 시스템 및 그의 볼륨 관리 방법
KR102581479B1 (ko) * 2016-05-31 2023-09-21 삼성전자주식회사 스토리지 시스템 및 그의 볼륨 관리 방법

Also Published As

Publication number Publication date
US7966470B2 (en) 2011-06-21
JP4519179B2 (ja) 2010-08-04
US20090216986A1 (en) 2009-08-27

Similar Documents

Publication Publication Date Title
JP4519179B2 (ja) 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム
JP5158074B2 (ja) ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
JP5396836B2 (ja) データ分散制御プログラム、ストレージ管理プログラム、制御ノード、およびディスクノード
JP4386932B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP5412882B2 (ja) 論理ボリューム構成情報提供プログラム、論理ボリューム構成情報提供方法、および論理ボリューム構成情報提供装置
JP6511795B2 (ja) ストレージ管理装置、ストレージ管理方法、ストレージ管理プログラムおよびストレージシステム
US8386707B2 (en) Virtual disk management program, storage device management program, multinode storage system, and virtual disk managing method
US8032784B2 (en) Duplication combination management program, duplication combination management apparatus, and duplication combination management method
JP2005196625A (ja) 情報処理システムおよび管理装置
JP2005011316A (ja) 記憶領域割当方法、システム及び仮想化装置
JP2009230577A (ja) ソフトウェアアップデート管理プログラム、ソフトウェアアップデート管理装置、およびソフトウェアアップデート管理方法
JPWO2008136075A1 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JP7054001B2 (ja) 情報処理システム、管理装置および制御方法
JP2008102590A (ja) ストレージシステムの運用管理方法およびストレージシステム
JP2009026091A (ja) 接続管理プログラム、接続管理方法および情報処理装置
US7849264B2 (en) Storage area management method for a storage system
US7676644B2 (en) Data processing system, storage apparatus and management console
JP5195213B2 (ja) アップデート制御プログラム、アップデート制御装置、およびアップデート制御方法
US11797338B2 (en) Information processing device for reading object from primary device specified by identification, information processing system for reading object from primary device specified by identification, and access control method for reading object from primary device specified by identification
JP5640480B2 (ja) データ管理プログラム、ストレージシステム、およびデータ管理方法
JP6022116B1 (ja) 階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法
JPWO2008126169A1 (ja) ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置
JP5309816B2 (ja) データ管理プログラム、データ管理装置、およびデータ管理方法
JP2010277342A (ja) 管理プログラム、管理装置および管理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100323

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

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

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4519179

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees