JP2007280319A - 記憶領域動的割当方法 - Google Patents

記憶領域動的割当方法 Download PDF

Info

Publication number
JP2007280319A
JP2007280319A JP2006109323A JP2006109323A JP2007280319A JP 2007280319 A JP2007280319 A JP 2007280319A JP 2006109323 A JP2006109323 A JP 2006109323A JP 2006109323 A JP2006109323 A JP 2006109323A JP 2007280319 A JP2007280319 A JP 2007280319A
Authority
JP
Japan
Prior art keywords
storage area
computer
storage device
physical storage
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
JP2006109323A
Other languages
English (en)
Other versions
JP4940738B2 (ja
Inventor
Masayuki Yamamoto
山本  政行
Takayuki Nagai
崇之 永井
正靖 ▲浅▼野
Masayasu Asano
Taisuke Kaneda
泰典 兼田
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 JP2006109323A priority Critical patent/JP4940738B2/ja
Priority to US11/444,308 priority patent/US7613896B2/en
Priority to EP07251356A priority patent/EP1845439A3/en
Publication of JP2007280319A publication Critical patent/JP2007280319A/ja
Priority to US12/549,582 priority patent/US7917722B2/en
Priority to US13/040,451 priority patent/US8161262B2/en
Priority to US13/420,701 priority patent/US8412908B2/en
Application granted granted Critical
Publication of JP4940738B2 publication Critical patent/JP4940738B2/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
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0608Saving storage space on 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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]

Abstract

【課題】複数のホスト計算機がストレージシステム内の記憶領域を使用する場合、ホスト計算機の業務を継続し、ストレージシステムの処理性能の低減を防止する。
【解決手段】ストレージシステムは、第1の計算機に提供される第1の論理記憶領域を構成する第1の物理記憶デバイスの容量がある閾値以下の場合、第1の計算機からのアクセス要求に応じてデータの格納領域を割当て、第1の論理記憶領域に対応する第1の物理記憶デバイスの容量がある閾値を越える場合、第1の論理記憶領域を、第1、および第2の計算機に提供される第2の論理記憶領域に対応する第1の物理記憶デバイスとは異なる、他の物理記憶デバイスに対応付け、当該他の物理記憶デバイスからデータの格納領域を割り当てる。
【選択図】 図1

Description

本発明は、計算機システムに用いられるストレージシステムに関する。特に本発明は、ホスト計算機からストレージシステムへのデータ書き込みの際にボリューム容量の拡張を行う方法に関する。
一般にコンピュータシステムは、それぞれの業務を行うホスト計算機と、ホスト計算機の指示によりデータを読み書きするストレージシステムにより構成される。ストレージシステムは、データの格納および読み出しを行う複数のボリュームを提供する。
ホスト計算機のデータ書き込み量が増加すると、当該ホスト計算機に割り当てられていたボリュームの容量を増やす必要がある。これをボリューム容量の拡張と呼ぶ。
ボリューム容量の拡張方法の一例として、ストレージ管理者がホスト計算機の運用を停止して容量拡張作業を実施し、ホスト計算機の運用を再開する方法がある。しかし本方法では、ホスト計算機の運用を一旦停止するため、業務継続に課題がある。
特許文献1は、ストレージシステムにおけるボリューム容量自動拡張技術を開示する。ボリューム容量自動拡張技術とは、ストレージシステムに記憶領域プールを準備し、当該記憶領域プールから作成するボリュームは、ホスト計算機に対し仮想的な容量を見せながら、ホスト計算機のデータ書き込みに応じて必要な記憶領域を割り当てる技術である。
米国特許6,823,442号公報
ボリューム容量自動拡張技術は、一つの記憶領域プールから多数のボリュームをホスト計算機に提供するほど、ボリュームの容量利用率は向上する。しかし、特定のボリュームに記憶領域が集中して割り当てされる状況では、他のボリュームへ利用可能な記憶領域プールの記憶領域は減少する。
特許文献1は、前記状況において、各ボリュームに対して、「これ以上記憶領域を割り当てない」閾値を開示する。具体的には、ホスト計算機からボリュームへのデータ書き込みに対して、記憶領域プールから必要な記憶領域を割り当てが必要なとき、ストレージシステムは、当該閾値を参照し、閾値を超過する場合は、ホスト計算機の書き込み要求をエラーで応答する。エラーで応答する際、記憶領域プールからの記憶領域の割り当ては行わない。
このように、当該閾値は、記憶領域プールの記憶領域の減少を抑制する効果を持つ。しかし、閾値超過時はホスト計算機の運用を一旦停止するため、業務継続に課題がある。
第1および第2の計算機に接続されるストレージシステムは、ストレージシステム内の第1の物理記憶デバイスから構成される第1および第2の論理記憶領域を、それぞれ、第1および第2の計算機に対応付けて提供する。ストレージシステムは、第1の論理記憶領域に対応する第1の物理記憶デバイスの容量がある閾値以下の場合、第1の計算機からのアクセス要求に応じてデータの格納領域を割当て、第1の論理記憶領域に対応する第1の物理記憶デバイスの容量がある閾値を越える場合、第1の論理記憶領域を、第1および第2の論理記憶領域に対応する第1の物理記憶デバイスとは異なる、他の物理記憶デバイスに対応付け、当該他の物理記憶デバイスからデータの格納領域を割り当てる。
例えば、第1の物理記憶デバイスは、記憶領域プール(以下、「仮想ボリュームプール」と呼ぶ)であり、ストレージシステムは、第1および第2の計算機にそれぞれ提供する、論理的なボリューム(以下、「仮想ボリューム」と呼ぶ)に対し、仮想ボリュームプールから記憶領域を割り当てる。
本発明によると、複数のホスト計算機がストレージシステム内の記憶領域を使用する場合、ホスト計算機の業務を継続し、ストレージシステムの処理性能の低減を防止することができる。
以下に、図面を参照しながら本発明の実施形態を説明する。なお、これにより本発明が限定されるものではない。
実施例1では、ストレージ装置内に仮想ボリューム移行プログラムを設け、特定の仮想ボリュームに記憶領域が集中して割り当てされる状況では、ストレージ装置が、閾値超過時に未使用のボリュームへデータを移行する方法について説明する。
まず、実施例1における計算機システム構成について説明する。図1から図4は計算機システムの構成および計算機システムに接続される装置の構成を、図5から図6は各装置に具備される管理情報を示す。
図1に、実施例1における計算機システムの構成を示す。1台以上のホスト計算機10000と、1台以上のストレージ装置20000が、ストレージネットワーク50000で互いに接続される。
ホスト計算機10000は、プロセッサ11000と、メモリ12000と、ストレージネットワーク50000に接続するための一つ以上のI/Oポート13000と、管理ネットワーク60000と接続するための管理ポート14000と、処理結果を出力するためのディスプレイ装置等の出力部15000と、キーボードやマウス等の入力部16000とを有し、これらは内部バス17000で互いに接続される。メモリ12000には、OS(図示せず)と、ストレージ装置へのデータアクセスを伴う処理を行うアプリケーション(図示せず)が存在する。これらのプログラムは、ハードディスク等の記憶媒体(図示せず)から読み込まれ、プロセッサ11000がこれらのプログラムを実行するものとする。
ストレージ装置20000は、仮想ボリューム制御プログラム(以降仮想VOL制御PG)22111と、仮想ボリューム移行プログラム(以降仮想VOL移行PG)22120と、実ボリューム(以降実VOL)25000と、仮想ボリューム(以降仮想VOL)26000と、プールボリューム(以降プールVOL)27000と、仮想ボリュームプール(以降仮想VOLプール)27500とを備える。詳細な構成は、後述する。
管理計算機40000は、仮想ボリューム構成管理プログラム(以降仮想VOL構成管理PG)42200を備える。詳細は後述する。
管理端末70000の詳細は後述する。
以降の説明の都合上、実施例1では、ホスト計算機H1がストレージネットワークを介してストレージ装置ST1に接続されるものとする。また、ストレージネットワーク50000はFC(Fibre Channel)プロトコルを用いたネットワークとする。管理ネットワーク60000は、TCP/IPプロトコルを用いたネットワークとする。
図2に、ストレージ装置20000の詳細な構成例を示す。ストレージ装置20000は、ストレージ装置内の制御を行うコントローラ21000と、メモリ22000と、ストレージネットワーク50000に接続するための一つ以上のI/Oポート23000と、ホスト計算機に記憶領域として提供する一つ以上の実VOL25000と、ホスト計算機に記憶領域として提供する一つ以上の仮想VOL26000と、仮想VOLを提供するためにデータを格納する記憶領域である一つ以上のプールVOL27000と、一つ以上のプールVOLから構成され、ある仮想VOLへ記憶領域を提供するプールVOLの範囲を定める、仮想VOLプール27500とを有し、これらはコントローラ21000を介して互いに接続される。
ここで、図26を用いて、実VOL25000、仮想VOL26000、プールVOL27000の違いを説明する。ホスト計算機10000は、ストレージ装置のI/Oポートに割り当てられたSCSIポートID(以下、「PID」と略す)と、論理的な記憶領域である論理ユニット(以下、「LU」(Logical Unit)と略す)に割り当てられたSCSIのLU番号(以下、「LUN」と略す)を用いて、LU28000に対してアクセスし、データの読み書きを行う。LU28000は、ホスト計算機10000ごとに設定してもよい。また、LU28000は、ホスト計算機10000が使用するアプリケーションごとに設定してもよい。
ストレージ装置20000は、このLU28000に、実VOL25000、または、仮想VOL26000を対応付けることにより、ホスト計算機10000から読み書きされるデータを、実VOL25000または仮想VOL26000に格納する。
LU28000に実VOL25000が対応付けられているとき、ストレージ装置20000は、実VOL25000が対応付けられている、ストレージ装置内に搭載された複数台のハードディスクによるRAID、または、1台のハードディスクから構成される物理的な記憶領域へ、データを格納する。本実施例では、実VOL25000は、ストレージ装置内に搭載された、パリティグループ29000と呼ばれる複数台のハードディスク(以下、「HDD」と略す)によるRAID構成であるものとする。
LU28000に仮想VOL26000が対応付けられているとき、ストレージ装置20000は、特許文献1で開示された技術を用いて、ホスト計算機10000のデータ書き込みに応じて必要な記憶領域を割り当てる。まず、ストレージ装置20000は、仮想VOL26000と、当該仮想VOLに対して記憶領域を提供する仮想VOLプール27500に属する一又は複数のプールVOL27000の記憶領域とを関連付ける。さらに、ストレージ装置20000は、プールVOL27000と、ストレージ装置内に搭載された複数台のハードディスクによるRAID、または、1台のハードディスクから構成される、物理的な記憶領域とを関連付け、データを格納する。本実施例では、プールVOL27000は、実VOL25000と同様に、ストレージ装置内に搭載された、パリティグループ29000と呼ばれる複数台のハードディスク(HDD)によるRAID構成であるものとする。
なお、後述するように、ストレージ装置20000が具備する実VOLテーブル22200は、LU28000と実VOL25000の対応関係を管理するテーブルである。また、仮想VOLテーブル22300は、LU28000と仮想VOL26000の対応関係を管理するテーブルである。また、仮想VOLアドレステーブル22500は、仮想VOL26000とプールVOL27000の対応関係を管理するテーブルである。また、仮想VOLプールテーブル22600は、プールVOL27000と仮想VOLプール27500の対応関係を管理するテーブルである。また、パリティグループテーブル22700は、実VOL25000およびプールVOL27000と、パリティグループ29000との対応関係を管理するテーブルである。
図2の説明に戻って、メモリ22000には、コントローラが実行する、ストレージ装置内の制御を行うマイクロプログラム(以降マイクロPG)22100が存在する。マイクロPG22100の一部として、後述する仮想VOL制御PG22111と、仮想VOL移行PG22120が存在する。仮想VOL制御PG22111の動作概要は後述する。また、メモリ22000には、ストレージ装置内の実VOL25000を管理する実VOLテーブル22200と、仮想VOL26000を管理する仮想VOLテーブル22300と、仮想VOL制御PG22111が参照し、仮想VOLへ格納されたデータのプールVOLでの配置先を示す仮想VOLアドレステーブル22500と、仮想VOL制御PG22111が参照し、仮想VOLプールを構成するプールVOLの構成を示す仮想VOLプールテーブル22600と、ストレージ装置内の実VOL25000やプールVOL27000がどのパリティグループ29000から構成されているかを示すパリティグループテーブル22700が格納される。これらのテーブルおよびプログラムは、ストレージ装置起動時に、ハードディスク等の記憶媒体(図示せず)から読み込まれる。
なお、本実施例においては、I/Oポート23000の個数と、実VOL25000、仮想VOL26000、プールVOL27000、仮想VOLプール27500の個数や容量は問わない。
図3に、実施例1における、管理計算機の構成例を示す。
管理計算機40000は、プロセッサ41000と、メモリ42000と、管理ネットワーク60000に接続するための管理ポート44000と、処理結果を出力するためのディスプレイ装置等の出力部45000と、キーボードやマウス等の入力部46000とを有し、これらは内部バス47000で互いに接続される。メモリ42000には、ストレージ装置20000に対して構成情報の収集や構成設定を実行するための構成収集プログラム42100(フロー詳細は図示せず)と、仮想VOLの設定を実行するための仮想VOL構成管理PG42200(フロー詳細は図示せず)と、管理計算機40000の入力部46000や出力部45000、及び管理端末70000と通信し、仮想VOL構成管理PGの入出力を司る、入出力プログラム42700(フロー詳細は図示せず)と、管理計算機40000が管理対象であるホスト計算機10000やストレージ装置20000を特定するための装置テーブル43100が格納される。これらプログラムおよびテーブルは、プロセッサ41000がハードディスク等の記憶媒体(図示せず)からメモリ42000に読み込んで実行することにより実現される。また、図示していないが、メモリ42000には、OS(オペレーティングシステム)が記憶媒体から読み込まれ、プロセッサ41000がこれらのプログラムを実行している。
図4に、実施例1における、管理端末の構成例を示す。 管理端末70000は、プロセッサ71000と、メモリ72000と、管理ネットワーク60000に接続するための管理ポート74000と、処理結果を出力するためのディスプレイ装置等の出力部75000と、キーボードやマウス等の入力部76000とを有し、これらは内部バス77000で互いに接続される。メモリ72000には、管理計算機60000上のプログラムを遠隔地から実行するための入出力を制御する入出力プログラム42400を格納する。本プログラムは、プロセッサ71000がハードディスク等の記憶媒体(図示せず)からメモリ72000に読み込んで実行することにより実現される。また、図示していないが、メモリ72000には、OS(オペレーティングシステム)がハードディスク等の記憶媒体(図示せず)から読み込まれ、プロセッサ71000がこれらのプログラムを実行している。
図5に、実施例1における、ストレージ装置が具備する各テーブルの例を示す。
図5Aは、ストレージ装置内の実VOL25000を管理する実VOLテーブル22200の一例である。実VOLテーブル22200は、ストレージ装置内で実VOLの一意の識別子となる実VOL IDを登録する実VOL ID 22205と、実VOLのホスト計算機への割り当て状態を示すホスト割当状態22210と、実VOLの容量を示す容量22215より構成される。ホスト割当状態22210の値は、ホスト計算機に割当済であることを示す「Allocated」と、ホスト計算機に未割当であることを示す「Unallocated」が存在する。「Allocated」状態の場合は、ホスト計算機からアクセスされるための、I/Oポート23000のIDであるPIDと、SCSI LU番号であるLUNも合わせて格納される。
図5Bは、ストレージ装置内の仮想VOL26000を管理する仮想VOLテーブル22300の一例である。仮想VOL管理テーブル22300は、ストレージ装置内で仮想VOLの一意の識別子となる仮想VOL IDを登録する仮想VOL ID 22305と、仮想VOLのホスト計算機への割り当て状態を示すホスト割当状態22310と、仮想VOLの容量を示す仮想容量22315と、後述する閾値を示す閾値22320と、当該仮想VOLに対して実際に割当て済みの記憶領域の容量を示す割当済容量22325より構成される。ホスト割当状態22210の値は、図5Aと同様であるので、説明を省略する。
図5Cは、仮想VOL制御PG22111が参照し、仮想VOLへ格納されたデータのプールVOLでの配置先を示す仮想VOLアドレステーブル22500の一例である。仮想VOLアドレステーブル22500は、仮想VOLのIDを登録するVOL ID22505と、当該仮想VOLがデータ格納に用いる仮想VOLプールの識別情報を示す、ストレージ装置内で仮想VOLプールの一意の識別子となるプールIDを登録するプール22510と、当該仮想VOLがホスト計算機に対して提供する記憶領域空間のうち、実際に記憶領域を割当て済みの論理ブロックアドレス(以下、Logical Block Address、LBAと呼ぶ)を登録する割当済LBA22515と、前記LBAに対応した割当て済み記憶領域(以下、チャンクと呼ぶ)を、ストレージ装置内で一意に識別する識別子を登録する割当済チャンク22520より構成される。なお、割当済LBA22515における記号[xGB]は、あるボリュームの先頭からxGB目のアドレスを示す記号と定義する。
ここで、図5Cの各レコードが持つ意味を、VOL ID22505の値がv102のレコードを例に挙げて説明する。当該レコードにより、仮想VOL v102は、先頭から2GB目のアドレスを起点とし、先頭から4GB目のアドレスを終点とする、合計2GBの記憶領域は、データのリードライトをするためのチャンクch04を割り当て済みであることを示す。
図5Dは、仮想VOL制御PG22111が参照し、仮想VOLプールを構成するプールVOLの構成を示す、仮想VOLプールテーブル22600の一例である。仮想VOLプールテーブル22600は、プールIDを登録する、プールID22605と、当該仮想VOLプールに属するチャンクのチャンクIDを登録する、チャンク22610と、前記チャンクに対応した記憶領域を提供するプールVOLを示す、ストレージ装置内でプールVOLの一意の識別子となるプールVOL IDを登録する、プールVOL22615と、前記プールVOLが仮想VOLプールに対して提供する記憶領域空間とチャンクとの対応関係を示す、LBA22620と、当該チャンクの仮想VOLに対する割当状態を示す、仮想VOL割当状態22625より構成される。なお、プールVOL22615は、当該プールVOLの容量情報も格納する。また、仮想VOL割当状態22625は、当該チャンクが仮想VOLに割当済であることを示す「Allocated」状態と、未割当であることを示す「Unallocated」状態を持つ。「Allocated」状態においては、どの仮想VOLに割当済であるかを示す、仮想VOL IDの値も格納する。なお、LBA22620における記号[xGB]の意味は図5Cと同じである。
ここで、図5Dの各レコードが持つ意味を、チャンク22610の値がch01のレコードを例に挙げて説明する。当該レコードにより、チャンクch01は、容量10GBのプールVOL v201の、先頭から0GB目のアドレスを起点とし、先頭から2GB目のアドレスを終点とする、合計2GBの記憶領域から構成され、仮想VOL v101に割り当て済みであることを示す。
図5Eは、ストレージ装置内の実VOL25000やプールVOL27000がどのパリティグループ29000から構成されているかを示す、パリティグループテーブル22700の一例である。パリティグループテーブル22700は、ストレージ装置20000におけるパリティグループ29000の一意の識別子となるパルティグループIDを登録するパリティグループID(PG IDと略記)22705と、RAID構成を行う複数台のハードディスク(HDDと略記)を登録する対応HDD22710と、当該パリティグループで構成されるボリュームを、「実VOL」に用いるか、「プールVOL」に用いるかを示す値を登録する用途22715と、当該パリティグループから構成されるボリュームのIDを登録するVOL ID22720より構成される。
ここで、図5Eの各レコードが持つ意味を、PG ID22705の値がPG01のレコードを例に挙げて説明する。当該レコードにより、PG01は、a0,a1,a2,a3の四つのHDDからRAID構成される実ボリュームを構成できるパリティグループであり、実VOL v001を定義済であることを示す。
図6に、管理計算機40000が有する、装置テーブルの一例を示す。
装置テーブル43100は、管理計算機40000の仮想VOL構成管理プログラムの適用対象となるストレージ装置20000を特定するために用いる。本テーブルは、計算機システム内で装置を一意に識別するための装置IDを登録する、装置ID43110と、装置の種別を登録する、種別43120と、当該装置のベンダ名、モデル名、シリアル番号等の詳細情報を登録する、装置情報43130と、当該装置の管理ポートに対して通信するためのIPアドレスを登録する、IPアドレス43140により構成される。なお、これらの情報は、システム管理者によって管理計算機40000または管理端末70000から予め登録してもよい。また、ストレージネットワークや管理用ネットワーク上のネームサービスなどを用いて自動的に作成してもよい。
以上が実施例1における計算機システムの構成である。
次に、実施例1におけるストレージ装置の動作概要として、仮想VOLへのデータアクセス処理と、仮想VOLへのデータアクセスに伴う、仮想VOL移行処理について説明する。
データアクセス処理及び仮想VOL移行処理は、ストレージ装置20000内のコントローラ21000が、仮想VOL制御PG22111及び仮想VOL移行PG22120を実行することにより実現する。よって、以下では、仮想VOL制御PG22111によるコントローラ21000の動作と、仮想VOL移行PG22120によるコントローラ21000の動作を、順に説明する。
図7は、実施例1における、仮想VOL制御PG22111によるコントローラ21000の動作のフローチャートである。
まず初めに、コントローラ21000は、仮想VOLを作成する(ステップS10000)。
ここで、図8に進み、仮想VOL作成の一例を説明する。管理計算機40000のプロセッサ41000は、入出力PGにより、図8に示すような仮想VOL作成画面90000を表示する。仮想VOL作成画面90000は、仮想VOL作成先のストレージ装置名を入力する装置入力フィールド90010と、仮想VOLをホスト計算機からアクセスさせるための、I/Oポート23000のIDであるPIDを入力するPID入力フィールド90015と、SCSI LU番号であるLUNを入力するLUN入力フィールド90020と、仮想VOLの仮想容量を入力する容量入力フィールド90025と、後述するデータ移行閾値を入力する閾値入力フィールド90030と、前記装置入力フィールド90010、PID入力フィールド90015、LUN入力フィールド90020、容量入力フィールド90025、および閾値入力フィールド90030に入力された値をもとに、仮想VOL作成要求をストレージ装置に送信する、作成ボタン90040を備える。
これら入力フィールドおよびボタンは、全てストレージ管理者が入力およびボタン押下する。例えば、図8に示すパラメータをストレージ管理者が入力して仮想VOLを作成すると、管理計算機40000のプロセッサ41000は、ストレージ装置ST1に対して、仮想容量が10GB、データ移行閾値を仮想容量の60%である6GB、割当先のPIDをp1、割当先LUNを1とする、仮想VOLを作成する。
図7のステップS10000の説明に戻る。ストレージ装置20000のコントローラ21000は、管理計算機から、仮想VOL容量、割当先ホスト計算機、チャンク割当を停止する閾値等の設定情報を含む仮想VOL作成要求を受け取り、当該仮想VOL作成要求に従って、仮想VOLを作成する。
なお、ストレージ装置20000のコントローラ21000は、本ステップS10000を、仮想VOL作成時に実行する。ストレージ装置20000のコントローラ21000は、後述するステップS10010以降の処理を、ホスト計算機から仮想VOLに対するアクセス要求が発生する度に実行する。
次に、コントローラ21000は、ホスト計算機から仮想VOLに対するアクセス要求を受け取る。具体的には、コントローラ21000は、ホスト計算機が発行する、仮想VOLに対するデータの読み出しや書き込みのSCSIコマンドを受け取る。当該アクセス要求には、データの読み出しや書き込み先の仮想VOLとLBAの情報が含まれている(ステップS10010)。
次に、コントローラ21000は、ステップS10010で受け取ったアクセス要求先の記憶領域が割当済かどうか調べる。アクセス要求がリード要求である場合、コントローラ21000は、アクセス要求先の記憶領域が割当済であると判定する。アクセス要求がライト要求である場合、コントローラ21000は、ステップS100010で受け取った前記アクセス要求に含まれる書き込み先の仮想VOLとLBAの情報から、仮想VOLアドレステーブル22500において、当該仮想VOLの当該LBAエントリが存在するかどうかを調べる(ステップS10020)。
ステップS10020において、当該仮想VOLの当該LBAエントリが存在する場合は、記憶領域が割当済であるので、コントローラ21000は、ステップS10060に進む。
ステップS10020において、当該仮想VOLの当該LBAエントリが存在しない場合は、記憶領域が未割当であるので、コントローラ21000は、仮想VOL移行PGを実行する閾値を超過するか否かを調べる。具体的には、割当済容量22325の容量の値に、新たにチャンクが割り当てられたときの合計容量が、閾値22320を超過しない場合は、閾値未達と見なし、コントローラ21000は、ステップS10040に進む。前記合計容量が、閾値22320を超過する場合は、閾値超過と見なし、コントローラ21000は、ステップS10080に進む(ステップS10030)。
ステップS10030において、閾値22320を超過する場合、コントローラ21000は、仮想VOLのデータを移行するため、仮想VOL移行PG22200を実行し(ステップS10080)、ステップS10060に進む。仮想VOL移行PG22200の詳細は後述する。
ステップS10030において、前記合計容量が閾値を超過しない場合、コントローラ21000は、仮想VOLプールに未割当チャンクが存在するかを調べる。具体的には、コントローラ21000は、仮想VOLアドレステーブル22500の、前記アクセス要求先の前記仮想VOLのエントリ中の、プール22510を調べ、当該仮想VOLがどの仮想VOLプールにデータを格納するか調べる。さらに、コントローラ21000は、前記仮想VOLプールのIDをもとに、仮想VOLプールテーブル22600に登録されたチャンクのエントリの、仮想VOL割当状態22625を調べ、仮想VOL未割当のチャンクを探す(ステップS10040)。
ステップS10040において、仮想VOL未割当チャンクが存在しない場合は、コントローラ21000は、仮想VOLプール内の全記憶領域が割当済のため、ホスト計算機に対して、ステップS10010で受け取った前記アクセス要求のエラーを返し(ステップS10070)、本プログラムを終了する。
ステップS10040において、仮想VOL未割当チャンクが存在する場合、コントローラ21000は、ステップS10040で検出した未割当チャンクを、仮想VOLに割り当てる。具体的には、コントローラ21000は、仮想VOLプールテーブル22600において、検出した未割当チャンクの仮想VOL割当状態22625を「Unallocated」から「Allocated」に変更し、さらに、割当先仮想VOLとして、ステップS10010で受け取った前記アクセス要求のアクセス先である仮想VOLを登録する。さらに、コントローラ21000は、仮想VOLアドレステーブル22500において、ステップS10010で受け取った前記アクセス要求のアクセス先である仮想VOLの割当済LBAを追加し、当該割当済LBAに対応する割当済チャンクとして、ステップS10040で検出した未割当チャンクを登録する。さらに、コントローラ21000は、仮想VOLテーブル22300において、ステップS10010で受け取った前記アクセス要求のアクセス先である仮想VOLの割当済容量を、当該割当済容量にステップS10040で検出した未割当チャンクの容量を加算した値に、更新する(ステップS10050)。
続いて、コントローラ21000は、ステップS10010で受け取った前記アクセス要求の応答を返す。具体的には、コントローラ21000は、ステップS10010で受け取った前記アクセス要求のアクセス先仮想VOLとLBAの情報をもとに、仮想VOLアドレステーブル22500を参照し、アクセス先仮想VOLとLBAに対応するプールと割当済チャンクを調べる。さらに、コントローラ21000は、前記プールと前記割当済チャンクをもとに、仮想VOLプールテーブル22600を参照し、前記プールと前記割当済チャンクに対応するプールVOLとLBAを調べる。さらに、コントローラ21000は、前記プールVOLと前記LBAに対して、ステップS10010で受け取った前記アクセス要求に基づき、データの読み出しまたは書き込みを行う。最後に、コントローラ21000は、前記データの読み出しまたは書き込みの結果を、前記アクセス要求の応答として返す(ステップS10060)。その後、コントローラ21000は、処理を終了する。
以上が、仮想VOL制御PG22111による、コントローラ21000の動作である。
図9に、実施例1における、仮想VOL移行PG22120によるコントローラ21000の動作を示す。なお、以降では、仮想VOL制御PG22111のステップS10080において、移行対象となった仮想VOLを、移行元仮想VOLと呼ぶ。
まず初めに、コントローラ21000は、実VOL25000から、仮想VOLの移行候補を探す。具体的には、コントローラ21000は、実VOLテーブル22200を用いて、移行元仮想VOL26000の仮想容量以上の容量を備え、かつ、ホスト計算機に未割当の実VOLを探す。移行元仮想VOL26000の仮想容量以上の容量を備えるか否かは、容量22215の値と、移行元仮想VOLの仮想容量の値を比較すればよい。また、ホスト計算機に未割当であることは、ホスト割当状態22210の値が、「Unallocated」であればよい。本ステップにおいて、移行元仮想VOL26000の仮想容量以上の容量を備え、かつ、ホスト計算機に未割当の実VOL候補が複数存在した場合は、任意の方法を用いて、実VOL候補を一つに絞り込むこととする。例えば、管理計算機や管理端末の出力部に複数候補を出力し、ストレージ管理者が候補を選択してもよい。また、コントローラ21000が最初に検出した実VOLを実VOL候補としてもよい。なお、以降では、本ステップで移行先として選ばれた一つの実VOLを、移行先実VOLと呼ぶ(ステップS20000)。
次に、コントローラ21000は、移行元仮想VOL、および、ステップS20000で決定された移行先実VOLを移行状態に遷移させる。具体的には、コントローラ21000は、実VOLテーブル22200において、移行先実VOLのホスト割当状態22210の値を、仮想VOLテーブル22300における、移行元仮想VOLのホスト割当状態22310からコピーして格納する。次に、仮想VOLテーブル22300における、移行元仮想VOLのホスト割当状態22310を、移行状態であることを示す新たな値「In Migration」に変更する。このとき、移行先実VOLのIDもあわせて格納する(ステップS20010)。
次に、コントローラ21000は、移行元仮想VOLから移行先実VOLへデータを移行する。具体的には、コントローラ21000は、仮想VOLアドレステーブル22500を用いて、移行元仮想VOLに割当済のLBAおよび割当済LBAに対応するチャンクの組を一つ抽出する。ここで、割当済LBAをX、割当済LBAに対応するチャンクをYと呼ぶ。次に、コントローラ21000は、前記(X,Y)の組と、仮想VOLプールテーブル22600を用いて、YがどのプールVOLのどのLBAに対応するかを調べ、(X,Y, Yに対応するプールVOL, Yに対応するLBA)の組を作成する。次に、コントローラ21000は、(X,Y, Yに対応するプールVOL, Yに対応するLBA)の組に対して、Yに対応するプールVOLのYに対応するLBAのデータを、実VOLのLBA Xにコピーする。次に、コントローラ21000は、仮想VOLプールテーブル22600を用いて、コピーが完了したYに対応するプールVOLのYに対応するLBAの、仮想VOL割当状態を、「Unallocated」に更新する。最後に、コントローラ21000は、仮想VOLアドレステーブル22500を用いて、(X,Y)のエントリを削除する。以上の処理を、移行元仮想VOLに割当済のLBAおよび割当済LBAに対応するチャンクの組が抽出できなくなるまで繰り返す(ステップS20020)。
最後に、コントローラ21000は、データ移行が終了した移行元仮想VOLを削除する。具体的には、ステップS20010において移行状態とした移行元仮想VOLのエントリを削除する(ステップS20030)。
以上が、仮想VOL移行PG22120による、コントローラ21000の動作である。図9の処理フローにより、コントローラ21000は、仮想VOLのデータを実VOLへ移行する構成変更を実施し、閾値を超過した仮想VOLへのデータアクセスを停止させない。
次に、図7の仮想VOL制御PG22111および図9の仮想VOL移行PG22120による、コントローラ21000の動作を具体的に説明するため、図5、図10、図11、図12を用いて、ストレージ装置20000が具備する管理情報の状態遷移を示す。
図5において、ホスト計算機10000から、ストレージ装置20000に対して、仮想VOL v101のLBA「8GBから10GB」の範囲内にアクセス要求があったとき、ストレージ装置20000のコントローラ21000は、図7の仮想VOL制御PG22111を実行する。
コントローラ21000は、ステップS10010でアクセス要求を受け取る。
次に、コントローラ21000は、ステップS10020で、仮想VOL v101へのアクセス要求先の領域がLBA「8GBから10GB」の範囲内であることから、アクセス領域への記憶領域は未割当てであると判断し、ステップS10030へジャンプする。
次に、コントローラ21000は、ステップS10030で、仮想VOL v101へのこれ以上の領域割り当ては、閾値を超過すると判断し、ステップS10080へジャンプする。
次に、コントローラ21000は、ステップS10080において、仮想VOL移行PG22120を実行する。
次に、コントローラ21000は、仮想VOL移行PG22120のフローに従い、ステップS20000において、移行先実VOLにv001を決定する。さらに、ステップS20010において、コントローラ21000は、移行元仮想VOL v101と移行先実VOL v001を移行状態に遷移させる。この結果、ストレージ装置20000が具備する、五つのテーブル(実VOLテーブル22200, 仮想VOLテーブル22300, 仮想VOLアドレステーブル22500, 仮想VOLプールテーブル22600, パリティグループテーブル22700)の状態は、(図5A, 図5B, 図5C, 図5D, 図5E)から、(図10A, 図10B, 図5C, 図5D, 図5E)に遷移する。具体的には、コントローラ21000は、実VOLテーブル22200を、図10Aに示すように、仮想VOL v101のホスト割り当て状態を実VOL v001にコピーする。これにより、ホスト計算機10000に対して、アクセス先を示すI/Oポート23000のIDであるPIDと、SCSI LU番号であるLUNを変更を要求することなく、アクセス先を切り替えることができる。さらに、コントローラ21000は、仮想VOLテーブル22300を、図10Bに示すように、仮想VOL v101のホスト割り当て状態を移行中に更新する。
次に、ステップS20020において、コントローラ21000は、移行元仮想VOL v101から移行先実VOL v001へのデータ移行を行う。例えば移行元仮想VOL v101のLBA「4GBから6GB」の範囲のデータを移行すると、ストレージ装置20000が具備する、五つのテーブル(実VOLテーブル22200, 仮想VOLテーブル22300, 仮想VOLアドレステーブル22500, 仮想VOLプールテーブル22600, パリティグループテーブル22700)の状態は、(図10A, 図10B, 図5C, 図5D, 図5E)から、(図10A, 図11A, 図11B, 図11C, 図5E)に遷移する。具体的には、コントローラ21000は、移行元仮想VOL v101のLBA「4GBから6GB」を移行したのち、コントローラ21000は、仮想VOLテーブル22300を図11Aに示すように更新し、仮想VOLアドレステーブル22500のLBA「4GBから6GB」を削除して図11Bに示すように更新し、仮想VOLプールテーブル22600を図11Cに示すように更新する。以降、コントローラ21000は、移行元仮想VOL v101のLBA「0GBから2GB」と、「2GBから4GB」のデータを移行する。
次に、コントローラ21000は、ステップS20020において全てのデータ移行が完了すると、ステップS20030において、移行元仮想VOL v101を削除する。この結果、ストレージ装置20000が具備する、五つのテーブル(実VOLテーブル22200, 仮想VOLテーブル22300, 仮想VOLアドレステーブル22500, 仮想VOLプールテーブル22600, パリティグループテーブル22700)の状態は、 (図10A, 図11A, 図11B, 図11C, 図5E)から、(図10A, 図12A, 図12B, 図12C, 図5E)に遷移する。具体的には、コントローラ21000は、仮想VOLテーブル22300の仮想VOL v101のエントリを削除し、図12Aに示すように更新する。また、コントローラ21000は、仮想VOLアドレステーブル22500の、全ての仮想VOL v101のエントリを削除し、図12Bに示すように更新する。また、コントローラ21000は、仮想VOLプールテーブル22600の、全ての仮想VOL v101のエントリを削除し、図12Cに示すように更新する。
次に、コントローラ21000は、仮想VOL移行PG22120のフローを終了し、仮想VOL制御PG22111のフローに戻り、ステップS10060にジャンプする。
次に、コントローラ21000は、ステップS10060において、ホスト計算機10000から、ストレージ装置20000に対する、仮想VOL v101のLBA「8GBから10GB」の範囲内へのアクセス要求を、実VOL v001のLBA「8GBから10GB」の範囲内へのアクセス要求として応答する。以上で、仮想VOL制御PG22111のフローを終了する。
以上の動作概要によれば、ストレージ装置は、閾値超過した仮想VOLを実VOLにデータ移行することで、ホスト計算機からのデータアクセスを停止させず、計算機システムの業務を継続することができる。
なお、本実施例では、ストレージ装置20000のコントローラ21000は、仮想VOL制御PG22111から仮想VOL移行PG22120を呼び出し実行したとき、仮想VOL移行PG22120でのステップS20020での移行元仮想VOLから移行先実VOLへのデータ移行、および、ステップS20030での移行元仮想VOL削除が完了した後で、仮想VOL制御PG22111のステップS10060のアクセス要求応答を実施した。しかし、仮想VOL移行PG22120でのステップS20020およびステップS20030は、仮想VOL制御PG22111と並行に実行されてもよい。
つまり、ストレージ装置20000のコントローラ21000は、仮想VOL制御PG22111から仮想VOL移行PG22120を呼び出し実行したとき、ステップS20000とステップS20010によって、ホスト計算機のアクセス先を実VOLに切り替える準備を行う。準備が完了したら、コントローラ21000は、仮想VOL移行PG22120でのステップS20020のデータ移行処理とステップS20030の仮想VOL削除処理を実行する子プロセスを起動する。さらに、コントローラ21000は、仮想VOL制御PG22111のステップS10060に戻り、アクセス要求応答を実施する。こうすることで、コントローラ21000は、仮想VOLから実VOLへのデータ移行や仮想VOL削除の実行完了をまたずに、ホスト計算機からボリュームへのアクセス応答を継続することができる。
(変形例1)
次に、実施例1の第一の変形例におけるストレージ装置の動作概要を説明する。
実施例1と異なる点は、仮想VOL移行PG22120により、コントローラ21000は、プールVOLから移行先候補を探し、移行先候補となったプールVOLを実VOLに構成変更し、移行元仮想VOLを当該実VOLにデータ移行する点である。
図13に、実施例1の第一の変形例における、仮想VOL移行PG22120によるコントローラ21000の動作を示す。
まず初めに、コントローラ21000は、プールVOL27000から、仮想VOLの移行候補を探す。具体的には、コントローラ21000は、仮想VOLプールテーブル22600を用いて、移行元仮想VOL26000の仮想容量以上の容量を備えるプールVOLを探す。移行元仮想VOL26000の仮想容量以上の容量を備えるか否かは、プールVOL22615のプールVOL容量の値と、移行元仮想VOLの仮想容量の値を比較すればよい。本ステップにおいて、移行元仮想VOL26000の仮想容量以上の容量を備えるプールVOL候補が複数存在した場合は、任意の方法を用いて、プールVOL候補を一つに絞り込むこととする。例えば、管理計算機や管理端末の出力部に複数候補を出力し、ストレージ管理者が候補を選択してもよい。また、コントローラ21000が最初に検出したプールVOLをプールVOL候補としてもよい。また、コントローラ21000が、後述するプール内のデータ移行を最少で処理できるプールVOLをプールVOL候補としてもよい。以降では、本ステップで移行先として選ばれた一つのプールVOLを、移行先プールVOLと呼ぶ(ステップS21000)。
次に、コントローラ21000は、移行先プールVOLのデータを移行する。具体的には、コントローラ21000は、仮想VOLプールテーブル22600を用いて、仮想VOL割当済の移行先プールVOLのLBAを一つ探す。このLBAをXとする。コントローラ21000は、仮想VOLプールテーブル22600を用いて、移行先プールVOLとは異なるプールVOLに属し、仮想VOL未割当のLBAを探す。このLBAをYとする。コントローラ21000は、XのデータをYにコピーする。コピーが完了したら、コントローラ21000は、XとYの仮想VOL割当状態を入れ替える。さらにコントローラ21000は、仮想VOLプールテーブル22600から、XとYに対応するチャンクIDを探し、仮想VOLアドレステーブル22500において、Xに対応するチャンクIDが格納されたチャンク22520を、Yに対応するチャンクIDに更新する。以上の処理を、コントローラ21000は、仮想VOLプールテーブル22600を用いて、仮想VOL割当済の移行先プールVOLのLBAが無くなるまで繰り返す(ステップS21010)。
次に、コントローラ21000は、移行先プールVOLを実VOLに構成変更する。具体的には、コントローラ21000は、実VOLテーブル22200に、移行先プールVOLの新規エントリを作成し、仮想VOLプールテーブル22600から、移行先プールVOLのエントリを削除する。さらに、パリティグループテーブル22700において、移行先プールVOLが属するパリティグループの用途22715を、実VOLに変更する。本ステップにおいて、移行先プールVOLは、移行先実VOLになる(ステップS21020)。
次に、コントローラ21000は、移行元仮想VOLから移行先実VOLへデータを移行し(ステップS20020)、移行元仮想VOLを削除する(ステップS20030)。これらのステップは、図9の仮想VOL移行PGのフローに同様である。よって説明を省略する。
以上が、仮想VOL移行PG22120による、コントローラ21000の動作である。図13の処理フローにより、コントローラ21000は、プールVOLから移行対象を探し、移行対象となるプールVOLを実VOLに構成変更し、仮想VOLのデータを実VOLへ移行する構成変更を実施し、閾値を超過した仮想VOLへのデータアクセスを停止させない。
次に、図13の仮想VOL移行PG22120による、コントローラ21000の動作を具体的に説明するため、図5、図14を用いて、ストレージ装置20000が具備する管理情報の状態遷移を示す。
仮想VOL移行PG22120のフローに従い、コントローラ21000は、ステップS21000において、移行先プールVOLにv203を決定する。
次に、ステップS21010において、コントローラ21000は、移行先プールVOL v203のデータ移行を行うが、今回は移行対象のデータが存在しないため、移行は行わない。
次に、ステップS21020において、コントローラ21000は、移行先プールVOL v203を実VOLに構成変更する。
最後に、コントローラ21000は、ステップS20020およびステップS20030において、移行元仮想VOL v101から移行先実VOL v203にデータを移行し、全てのデータ移行が完了すると、移行元仮想VOL v101を削除する。
この結果、ストレージ装置20000が具備する、五つのテーブル(実VOLテーブル22200, 仮想VOLテーブル22300, 仮想VOLアドレステーブル22500, 仮想VOLプールテーブル22600, パリティグループテーブル22700)の状態は、 (図5A, 図5B, 図5C, 図5D, 図5E)から、(図14A, 図14B, 図14C, 図14D, 図14E)に遷移する。具体的には、コントローラ21000は、実VOLテーブル22200に実VOL v203のエントリを新規作成して仮想VOL v101のデータを移行し、図14Aに示すように更新する。さらに、コントローラ21000は、仮想VOLテーブル22300から仮想VOL v101のエントリを削除し、図14Bに示すように更新する。さらに、コントローラ21000は、仮想VOLアドレステーブル22500から、仮想VOL v101のエントリを削除し、図14Cに示すように更新する。さらに、コントローラ21000は、仮想VOLプールテーブル22600から、プールVOL v203のエントリを削除し、図14Dに示すように更新する。さらに、コントローラ21000は、パリティグループテーブル22700において、ボリュームv203が属するパリティグループPGxxの用途を実VOLに変更し、図14Eに示すように更新する。
以上が、 実施例1の第一の変形例におけるストレージ装置の動作概要である。
以上の動作概要によれば、ストレージ装置は、未割当の実VOLが十分に存在しない場合でも、プールVOLを実VOLに構成変更することで、閾値超過した仮想VOLを実VOLにデータ移行し、ホスト計算機からのデータアクセスを停止させず、計算機システムの業務を継続することができる。
なお、本変形例では、ストレージ装置20000のコントローラ21000は、仮想VOL制御PG22111から仮想VOL移行PG22120を呼び出し実行したとき、仮想VOL移行PG22120でのステップS20020での移行元仮想VOLから移行先実VOLへのデータ移行、および、ステップS20030での移行元仮想VOL削除が完了した後で、仮想VOL制御PG22111のステップS10060のアクセス要求応答を実施した。しかし、仮想VOL移行PG22120でのステップS20020およびステップS20030は、仮想VOL制御PG22111と並行に実行されてもよい。つまり、ストレージ装置20000のコントローラ21000は、仮想VOL制御PG22111から仮想VOL移行PG22120を呼び出し実行したとき、ステップS21000と、ステップS21010と、ステップS21020によって、ホスト計算機のアクセス先を実VOLに切り替える準備を行う。準備が完了したら、コントローラ21000は、仮想VOL移行PG22120でのステップS20020のデータ移行処理とステップS20030の仮想VOL削除処理を実行する子プロセスを起動する。さらに、コントローラ21000は、仮想VOL制御PG22111のステップS10060に戻り、アクセス要求応答を実施する。こうすることで、コントローラ21000は、仮想VOLから実VOLへのデータ移行や仮想VOL削除の実行完了をまたずに、ホスト計算機からボリュームへのアクセス応答を継続することができる。
(変形例2)
次に、実施例1の第二の変形例におけるストレージ装置の動作概要を説明する。
実施例1と異なる点は、仮想VOL移行PG22120により、コントローラ21000は、仮想VOLが移行前に属する仮想VOLプール(第一の仮想VOLプールと呼ぶ)内のプールVOLから移行先候補を探し、移行先候補となったプールVOLで、第二の仮想VOLプールを新たに作成するよう構成変更し、仮想VOLのまま運用を続ける点である。
図15に、実施例1の第二の変形例における、仮想VOL移行PG22120によるコントローラ21000の動作を示す。
まず初めに、コントローラ21000は、プールVOL27000から、仮想VOLの移行候補を探す。具体的には、コントローラ21000は、仮想VOLプールテーブル22600を用いて、後述するプール内のデータ移行を最少で処理できるプールVOLをプールVOL候補とする。なお、プールVOL候補の選択方法として、最初に検出したプールVOLをプールVOL候補としてもよい、また、例えば、管理計算機や管理端末の出力部に複数候補を出力し、ストレージ管理者が候補を選択してもよい。ここで、第一の変形例における仮想VOLの移行候補選択の違いは、移行元仮想VOL26000の仮想容量をプールVOL候補の選択方法としない点である。以降では、本ステップで移行先として選ばれた一つのプールVOLを、移行先プールVOLと呼ぶ(ステップS22000)。
次に、コントローラ21000は、移行先プールVOLのデータを移行する。本ステップにおいて、コントローラ21000は、移行先プールVOLに格納された仮想VOLデータのうち、移行元仮想VOLのデータ以外のデータを、他のプールVOLに移行し、さらに、移行先プールVOL以外のプールVOLに格納された移行元仮想VOLデータを、移行先プールVOLに移行する。コントローラ21000のデータの移行時の動作は、第一の変形例におけるステップS21010に同様である。よって、詳細の説明を省略する(ステップS22010)。
最後に、コントローラ21000は、移行先プールVOLで、第二の仮想VOLプールを新設する。具体的には、コントローラ21000は、仮想VOLプールテーブル22600に対して、第二の仮想VOLプールのエントリを設け、当該第二の仮想VOLプールに属するプールVOLに、移行先プールVOLを登録し、第一の仮想VOLプールのプールVOLエントリから、移行先プールVOLを削除する。さらに、仮想VOLアドレステーブル22500に対して、移行元仮想VOLの属するプールを、第二の仮想VOLプールに変更する(ステップS22020)。
以上が、仮想VOL移行PG22120による、コントローラ21000の動作である。図15の処理フローにより、コントローラ21000は、仮想VOLのままホスト計算機からのデータアクセスを継続する。
次に、図15の仮想VOL移行PG22120による、コントローラ21000の動作を具体的に説明するため、図5、図16、図17を用いて、ストレージ装置20000が具備する管理情報の状態遷移を示す。
仮想VOL移行PG22120のフローに従い、コントローラ21000は、ステップS22000において、移行先プールVOLにv201を決定する。
次に、ステップS22010において、コントローラ21000は、移行先プールVOL v201に存在する仮想VOLデータのうち、移行元仮想VOL v101のデータ以外のデータを、他のプールVOLに移行し、さらに、移行先プールVOL v201以外のプールVOLに格納された移行元仮想VOL v101のデータを、移行先プールVOL v201に移行する。
この結果、ストレージ装置20000が具備する、五つのテーブル(実VOLテーブル22200, 仮想VOLテーブル22300, 仮想VOLアドレステーブル22500, 仮想VOLプールテーブル22600, パリティグループテーブル22700)の状態は、 (図5A, 図5B, 図5C, 図5D, 図5E)から、(図5A, 図5B, 図16A, 図16B, 図5E)に遷移する。具体的には、コントローラ21000は、仮想VOLプールテーブル22600において、移行先プールVOL v201に存在するチャンクch04のデータをチャンクch08に移行し、チャンクch05のデータをチャンクch09に移行する。その結果が図16Bである。さらに、コントローラ21000は、仮想VOLアドレステーブル22500において、仮想VOL v102の割当済チャンクをch08に更新し、仮想VOL v103の割当済チャンクをch09に更新する。その結果が図16Aである。
最後に、ステップS22020において、コントローラ21000は、移行先プールVOL v201で、第二の仮想VOLプール p2を新設する。
この結果、ストレージ装置20000が具備する、五つのテーブル(実VOLテーブル22200, 仮想VOLテーブル22300, 仮想VOLアドレステーブル22500, 仮想VOLプールテーブル22600, パリティグループテーブル22700)の状態は、 (図5A, 図5B, 図16A, 図16B, 図5E)から、(図5A, 図5B, 図17A, 図17B, 図5E)に遷移する。具体的には、コントローラ21000は、仮想VOLプールテーブル22600に対して、第二の仮想VOLプールのp2のエントリを設け、p2に属するプールVOLに、移行先プールVOL v201を登録し、第一の仮想VOLプールp1のプールVOLエントリから、移行先プールVOL v201を削除する。この結果が図17Bである。さらに、コントローラ21000は、仮想VOLアドレステーブル22500に対して、移行元仮想VOL v101の属するプールを、第二の仮想VOLプールp2に変更する。この結果が図17Aである。
以上が、 実施例1の第二の変形例におけるストレージ装置の動作概要である。
以上の動作概要によれば、ストレージ装置は、未割当の実VOL、プールVOLが十分に存在しない場合でも、第二の仮想VOLプールを新設することにより、閾値超過した仮想VOLを仮想VOLのまま運用し、ホスト計算機からのデータアクセスを停止させず、計算機システムの業務を継続することができる。
以上が、実施例1の説明である。
以上実施例1によれば、ストレージ装置は、閾値超過した仮想VOLをデータ移行することで、ホスト計算機からのデータアクセスを停止させず、計算機システムの業務を継続することができる。
実施例2では、実施例1の構成に加え、管理計算機内に仮想ボリューム構成管理プログラムを設け、ストレージ管理者が仮想ボリューム作成時に設定したデータ移行方法をもとに、管理計算機のプロセッサが、仮想ボリューム構成管理プログラムを実行し、前記複数のデータ移行方法を選択する方法について説明する。
まず、実施例2における、計算機システムの構成、および、ストレージ装置の動作概要を説明する。
実施例2における計算機システム構成について説明する。図18から図20は計算機システムの構成および計算機システムに接続される装置の構成を示す。なお、実施例2における計算機システム構成の説明は、実施例1との違いのみ説明する。特に説明のない構成については、従来例と同様である。
図18に、実施例2における、計算機システムの構成例を示す。実施例1と異なる点は、ストレージ装置20000が、実施例1とは異なる処理を行う仮想VOL制御PG22112を備える点と、管理計算機40000が、実施例1とは異なる処理を行う仮想VOL構成管理PG42201を備える点である。詳細は後述する。
図19に、実施例2における、ストレージ装置の構成例を示す。 実施例1と異なり、メモリ22000の中に、マイクロPG22100の一部として、実施例2の仮想VOL制御PG22112と、仮想VOL移行PG22120を備える。これら仮想VOL制御PG22112と、仮想VOL移行PG22120も、ストレージ装置起動時に、ハードディスク等の記憶媒体(図示せず)から読み込まれる。
図20に、実施例2における、管理計算機の構成例を示す。
実施例1と異なり、メモリ42000の中に、仮想VOLの設定、および、仮想VOL移行条件を決定するための仮想VOL構成管理PG42201と、入力された仮想VOL移行方法を管理する、仮想VOL移行方法管理テーブル43200を備える点である。仮想VOL構成管理PG42201は、プロセッサ41000がハードディスク等の記憶媒体(図示せず)からメモリ42000に読み込んで実行することにより実現される。また、仮想VOL構成管理PG42201において、仮想VOLの設定処理は実施例1に同様である。よってフロー詳細は説明を省略する。また、仮想VOL移行方法管理テーブル43200は、後述する。さらに、仮想VOL移行方法を決定する処理は、後述する。
以上が実施例2における計算機システムの構成である。
次に、実施例2における計算機システムの動作概要として、仮想VOLへのデータアクセス処理について説明する。
データアクセス処理は、ストレージ装置20000内のコントローラ21000が、仮想VOL制御PG22112を実行することにより実現する。よって、以下では、仮想VOL制御PG22112によるコントローラ21000の動作を説明する。
図21は、実施例2における、仮想VOL制御PG22112によるコントローラ21000の動作のフローチャートである。なお、実施例2における仮想VOL制御PG22112の説明は、実施例1の仮想VOL制御PG22111との違いのみ説明する。特に説明のない構成については、実施例1の仮想VOL制御PG22111と同様である。
まず初めに、コントローラ21000は、仮想VOLを作成する。具体例を、図22を用いて説明する。管理計算機40000のプロセッサ41000は、仮想VOL構成管理PGにより、図22Aに示すような仮想VOL作成画面90000を表示する。実施例1における仮想VOL作成画面90000との違いは、仮想VOLのデータ移行方法を入力する移行方法入力フィールド90035が追加された点である。なお、移行方法入力フィールド90035に入力されたデータ移行方法は、例えば図22Bのように、仮想VOLごとに移行方法を管理できることとする。例えば図22Aに示すパラメータをストレージ管理者が入力して仮想VOLを作成すると、管理計算機40000のプロセッサ41000は、ストレージ装置ST1に対して、仮想容量が10GB、データ移行閾値を仮想容量の60%である6GB、割当先のPIDをp1、割当先LUNを1とする、仮想VOLを作成し、当該仮想VOLを移行するときは、実VOLへデータを移行する移行方法を選択するものとする(ステップS10000)。
ステップS10010、ステップS10020、ステップS10030、ステップS10050、ステップS10060、ステップS10070、ステップS10080は、実施例1に同様である。説明を省略する。
ステップS10030において、閾値22320を超過する場合、コントローラ21000は、仮想VOLのデータ移行方法を決定するため、管理計算機40000の仮想VOL構成管理PGに、データ移行方法を問い合わせる。ここでデータ移行方法とは、実施例1、実施例1の第一の変形例、実施例1の第二の変形例における、仮想VOL移行PGのいずれかであるとする(ステップS10090)。
続いて、管理計算機40000から応答である、仮想VOLのデータ移行方法にもとづき、仮想VOL移行PGを実行する(ステップS10080)。
以上が、仮想VOL制御PG22112による、コントローラ21000の動作である。
図23は、実施例2における、仮想VOL構成管理PG42201による、管理計算機40000のプロセッサ41000の動作のフローチャートである。
はじめに、プロセッサ41000は、ストレージ装置20000から、移行元仮想VOL情報を受け取る(ステップS30010)。
次に、プロセッサ41000は、ステップS30010で取得した移行元仮想VOLの移行方法を決定する。具体的には、プロセッサ41000は、移行元仮想VOL作成時の仮想VOL制御PG22112のステップS10000で取得した、図22Bに示す仮想VOLのデータ移行方法を、移行元仮想VOLの移行方法とする(ステップS30020)。
ステップS30020において、移行元仮想VOL作成時の移行方法入力フィールド90035に対する入力が「実VOLへ移行」であったときは、実施例1で述べた、未使用実VOLへのデータ移行を選択し(ステップS30030)、その内容を、ストレージ装置20000に応答して(ステップS30060)、プログラムを終了する。
ステップS30020において、移行元仮想VOL作成時の移行方法入力フィールド90035に対する入力が「プールVOLを未使用実VOLに変更して移行」であったときは、実施例1の第一の変形例で述べた、プールVOLを未使用実VOLに構成変更してデータ移行する方法を選択し(ステップS30040)、その内容を、ストレージ装置20000に応答して(ステップS30060)、プログラムを終了する。
ステップS30020において、移行元仮想VOL作成時の移行方法入力フィールド90035に対する入力が「プールの新設」であったときは、実施例1の第二の変形例で述べた、プールを新設してデータ移行する方法を選択し(ステップS30050)、その内容を、ストレージ装置20000に応答して(ステップS30060)、プログラムを終了する。
以上の動作概要によれば、管理計算機は、閾値超過した仮想VOLを、ストレージ管理者が予め指定した移行方法でデータ移行を指示することで、ホスト計算機からのデータアクセスを停止させず、計算機システムの業務を継続することができる。
(変形例1)
次に、実施例2における計算機システムの動作の変形例を説明する。
実施例2と異なる点は、管理計算機のプロセッサ41000が、仮想VOL移行方法を決定するとき、移行方法決定時点での未割当実VOLの容量と仮想VOLプール内のプールVOL容量を用いる点である。
本変形例における、仮想VOL制御PG22112によるコントローラ21000の動作は、実施例2と同様である。説明を省略する。ただし、ステップS10000において、管理計算機のプロセッサ41000は、図24Aに示すような、仮想VOL作成画面90000を表示する。図24Aの仮想VOL作成画面の図22Aとの違いは、ストレージ管理者が、仮想VOLのデータ移行方法を入力する移行方法入力フィールド90035への入力として、未割当実VOLへの移行を優先する「実VOL優先」か、仮想VOLプール内のプールVOLへの移行を優先する「プールVOL優先」か、入力する点である。なお、移行方法入力フィールド90035に入力されたデータ移行方法は、例えば図24Bのように、仮想VOLごとに移行方法を管理できることとする。例えば図24Aに示すパラメータをストレージ管理者が入力して仮想VOLを作成すると、管理計算機40000のプロセッサ41000は、ストレージ装置ST1に対して、仮想容量が10GB、データ移行閾値を仮想容量の60%である6GB、割当先のPIDをp1、割当先LUNを1とする、仮想VOLを作成し、当該仮想VOLを移行するときは、実VOLへデータ移行を優先する。
以上が、仮想VOL制御PG22112による、コントローラ21000の動作である。
図25は、本変形例における、仮想VOL構成管理PG42201による、管理計算機40000のプロセッサ41000の動作のフローチャートである。
はじめに、プロセッサ41000は、定期的に、ストレージ装置20000の、未使用実VOLと、未使用プール領域を監視する。具体的には、ストレージ装置20000から、実VOLテーブル22200に存在する未使用実VOLの一覧と、仮想VOLプールテーブル22600に存在するプールVOLの一覧と、仮想ボリュームテーブル22300に存在する仮想VOLの一覧を取得する(ステップS31005)。なお、本ステップで取得した情報は、後述するステップS31020,S31030,S31040,S31050において用いる。
プロセッサ41000は、ストレージ装置20000から、移行元仮想VOL情報を受け取る。(ステップS30010)。
次に、プロセッサ41000は、ステップS30010で取得した移行元仮想VOLの移行にあたり、優先評価対象を決定する。具体的には、プロセッサ41000は、移行元仮想VOL作成時の仮想VOL制御PG22112のステップS10000で取得した、図24Bに示す仮想VOLのデータ移行方法を、優先評価対象とする(ステップS31010)。
ステップS31010において、優先評価対象が「実VOL」であったとき、プロセッサ41000は、ストレージ装置20000の未使用実VOLでデータ移行可能かどうか判断し(ステップS31020)、移行可能であれば、ステップS30030へ進む。ここで、プロセッサ41000は、ステップS31005で定期的に取得する未使用実VOLの一覧から、移行先実VOLが選択できたとき、移行可能と判断する。また、他の判断方法として、プロセッサ41000は、未使用実VOLの総容量が、ある閾値を上回るとき、移行可能と判断してもよい。
ステップS31020において、未使用実VOLでデータ移行可能でなければ、プロセッサ41000は、プールVOLで移行可能かどうか判断し(ステップS31030)、移行可能であれば、ステップS30040に進み、移行可能でなければ、ステップS30050に進む。ここで、プロセッサ41000は、ステップS31005で定期的に取得するプールVOLの一覧から、移行元仮想VOLの仮想容量を上回る移行先プールVOLが選択できたとき、移行可能と判断する。また、プロセッサ41000は、ステップS31005で定期的に取得するプールVOLの一覧から、移行元仮想VOLの仮想容量を上回る移行先プールVOLが選択できないとき、移行可能でないと判断する。
ステップS31010において、優先評価対象が「プールVOL」であったとき、プロセッサ41000は、プールVOLで移行可能かどうか判断し(ステップS31040)、移行可能であれば、ステップS30040へ進む。なお、ステップS31040において、プロセッサ41000が移行可能か否か判断する方法は、ステップS31030に同様であるので、説明を省略する。
ステップS31040において、プールVOLでデータ移行可能でなければ、プロセッサ41000は、実VOLで移行可能かどうか判断し(ステップS31050)、移行可能であれば、ステップS30030に進み、移行可能でなければ、ステップS30050に進む。なお、ステップS31050において、プロセッサ41000が移行可能か否か判断する方法は、ステップS31020に同様であるので、説明を省略する。
ステップS30030、ステップS30040、ステップS30050、ステップS30060は、図23と同様であるので説明を省略する。
以上の動作概要によれば、管理計算機は、未割当の実VOL容量とプールVOL容量を定期的に監視し、仮想VOLが閾値超過したとき、未割当の実VOL容量とプールVOL容量とストレージ管理者が予め設定した移行条件に基づき、データ移行することで、ホスト計算機からのデータアクセスを停止させず、計算機システムの業務を継続することができる。
上述した実施例2によれば、ストレージ装置は、閾値超過した仮想VOLを、ストレージ管理者が予め定めたデータ移行条件に従ってデータ移行し、ホスト計算機からのデータアクセスを停止させず、計算機システムの業務を継続することができる。
上述した実施例1および2によると、、大規模なデータセンタのような計算機システムにおいても、多数のボリュームを容易に管理することができる。
実施例1における、計算機システムの構成例を示す図である。 実施例1における、ストレージ装置の構成例を示す図である。 実施例1における、管理計算機の構成例を示す図である。 実施例1における、管理端末の構成例を示す図である。 実施例1における、実VOLテーブルの一例を示す図である。 実施例1における、仮想VOLテーブルの一例を示す図である。 実施例1における、仮想VOLアドレステーブルの一例を示す図である。 実施例1における、仮想VOLプールテーブルの一例を示す図である。 実施例1における、パリティグループテーブルの一例を示す図である。 実施例1における、管理計算機が具備するテーブルの例を示す図である。 実施例1における、仮想VOL制御PGのフローチャートである。 実施例1における、仮想VOL作成画面例を示す図である。 実施例1における、仮想VOL移行PGのフローチャートである。 実施例1における、移行状態に遷移した実VOLテーブルの一例を示す図である。 実施例1における、移行状態に遷移した仮想VOLテーブルの一例を示す図である。 実施例1における、データ移行中の仮想VOLテーブルの一例を示す図である。 実施例1における、データ移行中の仮想VOLアドレステーブルの一例を示す図である。 実施例1における、データ移行中の仮想VOLプールテーブルの一例を示す図である。 実施例1における、データ移行後の仮想VOLテーブルの一例を示す図である。 実施例1における、データ移行後の仮想VOLアドレステーブルの一例を示す図である。 実施例1における、データ移行後の仮想VOLプールテーブルの一例を示す図である。 実施例1の第一の変形例における、仮想VOL移行PGのフローチャートである。 実施例1の第一の変形例における、実VOLテーブルの一例を示す図である。 実施例1の第一の変形例における、仮想VOLテーブルの一例を示す図である。 実施例1の第一の変形例における、仮想VOLアドレステーブルの一例を示す図である。 実施例1の第一の変形例における、仮想VOLプールテーブルの一例を示す図である。 実施例1の第一の変形例における、パリティグループテーブルの一例を示す図である。 実施例1の第二の変形例における、仮想VOL移行PGのフローチャートである。 実施例1の第二の変形例における、データ移行後の仮想VOLアドレステーブルの一例を示す図である。 実施例1の第二の変形例における、データ移行後の仮想VOLプールテーブルの一例を示す図である。 実施例1の第二の変形例における、プール分割後の仮想VOLアドレステーブルの一例を示す図である。 実施例1の第二の変形例における、プール分割後の仮想VOLプールテーブルの一例を示す図である。 実施例2における、計算機システムの構成例を示す図である。 実施例2における、ストレージ装置の構成例を示す図である。 実施例2における、管理計算機の構成例を示す図である。 実施例2における、仮想VOL制御PGのフローチャートである。 実施例2における、仮想VOL作成画面例を示す図である。 実施例2における、仮想VOL移行方法管理テーブルの一例を示す図である。 実施例2における、仮想VOL構成管理PGのフローチャートである。 実施例2の第一の変形例における、仮想VOL作成画面例を示す図である。 実施例2の第一の変形例における、仮想VOL移行方法管理テーブルの一例を示す図である。 実施例2の第一の変形例における、仮想VOL構成管理PGのフローチャートである。 本実施例における、LU、実VOL、仮想VOL、プールVOL、パリティグループの概念を説明する図である。
符号の説明
10000…ホスト計算機
20000…ストレージ装置
22111, 22112…仮想ボリューム制御プログラム(仮想VOL制御PG)
22120…仮想ボリューム移行プログラム(仮想VOL移行PG)
25000…実ボリューム(実VOL)
26000…仮想ボリューム(仮想VOL)
27000…プールボリューム(プールVOL)
28000…論理ユニット(LU)
29000…パリティグループ
40000…管理計算機
42200, 42201…仮想ボリューム構成管理プログラム(仮想VOL構成管理PG)
50000…ストレージネットワーク
60000…管理ネットワーク
70000…管理端末

Claims (20)

  1. 複数の計算機に接続されるストレージシステムであって、
    前記複数の計算機とネットワークを介して接続されるインタフェース部と、
    前記インタフェース部に接続される制御部と、
    前記複数の計算機が使用するデータを格納する複数の物理記憶デバイスとを有し、
    前記制御部は、前記複数の物理記憶デバイスのうちの少なくとも一以上の第1の物理記憶デバイスを第1および第2の論理記憶領域と対応付け、前記複数の計算機のうちの第1の計算機に対して前記第1の論理記憶領域を提供し、前記複数の計算機のうちの第2の計算機に対して前記第2の論理記憶領域を提供し、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量がある閾値以下の場合、前記第1の計算機からの前記第1の論理記憶領域に対するアクセス要求に応じて、前記第1の計算機が使用するデータの格納領域を前記第1の物理記憶デバイスから割り当て、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記第1の論理記憶領域を、前記第2の論理記憶領域に対応する前記第1の物理記憶デバイスと異なる他の物理記憶デバイスに対応付け、前記第1の計算機が使用するデータの格納領域を前記他の物理記憶デバイスから割り当て、前記アクセス要求に応答することを特徴とするストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記制御部は、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスに格納され、前記第1の計算機が使用するデータを、前記複数の物理記憶デバイスのうちの所定の容量を有する前記他の物理記憶デバイスに移行し、前記第1の計算機が使用するデータの格納領域を前記他の物理記憶デバイスから割り当て、前記アクセス要求に応答することを特徴とするストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記他の物理記憶デバイスの前記所定の容量は、前記第1の計算機が認識する前記第1の論理記憶領域の容量と一致することを特徴とするストレージシステム。
  4. 請求項1に記載のストレージシステムであって、
    前記制御部は、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記第1の物理記憶デバイスのうちの前記第1および第2の論理記憶領域に対応する格納領域と異なる格納領域を、前記第1の物理記憶デバイスと異なる所定の容量を有する前記他の物理記憶デバイスから割り当てられるように変更し、該変更した格納領域に対して前記第1の論理記憶領域に対応するデータを移行し、前記第1の計算機が使用するデータの格納領域を前記他の物理記憶デバイスから割り当て、前記アクセス要求に応答することを特徴とするストレージシステム。
  5. 請求項1に記載のストレージシステムであって、
    前記制御部は、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記第1の物理記憶デバイスのうちの前記第1の論理記憶領域に対応する格納領域を所定の容量を有する第1のグループとして特定し、前記第2の論理記憶領域に対応する格納領域、および前記第1の物理記憶デバイスのうちの前記第1のグループに含まれない格納領域を第2のグループとして特定し、前記第1の計算機が使用するデータの格納領域を前記第1の物理記憶デバイスのうちの前記第1のグループから割り当て、前記アクセス要求に応答することを特徴とするストレージシステム。
  6. 請求項1に記載のストレージシステムであって、
    前記第1の物理記憶デバイスは記憶領域プールであって、前記制御部は、当該ストレージシステムに接続される前記複数の計算機に対してデータの格納領域を提供することを特徴とするストレージシステム。
  7. 請求項1に記載のストレージシステムであって、
    前記制御部は、前記第1の計算機が使用する前記第1の論理記憶領域、および前記第2の計算機が使用する前記第2の論理記憶領域に対し、それぞれ、該第1および前記第2の論理記憶領域に対応する前記第1の物理記憶デバイスの容量の前記ある閾値を設定することを特徴とするストレージシステム。
  8. 請求項1に記載のストレージシステムであって、
    前記制御部は、前記第1の計算機からの前記アクセス要求に含まれる書き込みデータの容量の値、および前記第1の論理記憶領域の容量の値を用いて、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を越えるか否かを判定することを特徴とするストレージシステム。
  9. 第1の計算機と、第2の計算機と、管理計算機と、前記第1の計算機、前記第2の計算機、および前記管理計算機に接続されるストレージシステムとを有する計算機システムであって、
    前記ストレージシステムは、
    複数の物理記憶デバイスと、
    前記複数の物理記憶デバイスのうちの少なくとも一以上の第1の物理記憶デバイスを第1および第2の論理記憶領域と対応付け、前記複数の計算機のうちの第1の計算機に対して前記第1の論理記憶領域を提供し、前記複数の計算機のうちの第2の計算機に対して前記第2の論理記憶領域を提供する制御部とを有し、
    前記管理計算機は、
    前記ストレージシステム内の前記第1および第2の論理記憶領域に対応する、該第1および第2の論理記憶領域に格納されるデータの移行方法を特定する移行情報を有し、
    前記制御部は、前記第1の計算機が使用する前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量がある閾値以下の場合、前記第1の計算機からの前記第1の論理記憶領域に対するアクセス要求に応じて、前記第1の計算機が使用するデータの格納領域を前記第1の物理記憶デバイスから割り当て、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記管理計算機に対して前記第1の論理記憶領域の移行方法を問い合わせ、
    前記管理計算機は、前記移行情報に基づいて、前記第1の論理記憶領域を、前記第2の論理記憶領域に対応する前記第1の物理記憶デバイスと異なる他の物理記憶デバイスに対応付ける移行指示を、前記ストレージシステムに対して送信することを特徴とする計算機システム。
  10. 請求項9に記載の計算機システムであって、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、
    前記管理計算機は、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスに格納され、前記第1の計算機が使用するデータを、前記複数の物理記憶デバイスのうちの所定の容量を有する前記他の物理記憶デバイスに移行する移行指示を、前記ストレージシステムに対して送信し、
    前記制御部は、前記移行指示に基づいて前記第1の計算機が使用するデータを前記他の物理記憶デバイスに移行し、前記データの格納領域を前記他の物理記憶デバイスから割り当て、前記アクセス要求に応答することを特徴とする計算機システム。
  11. 請求項10に記載の計算機システムであって、
    前記他の物理記憶デバイスの前記所定の容量は、前記第1の計算機が認識する前記第1の論理記憶領域の容量と一致することを特徴とする計算機システム。
  12. 請求項9に記載の計算機システムであって、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、
    前記管理計算機は、前記第1の物理記憶デバイスのうち前記第1および第2の計算機に使用されていない格納領域を、前記第1の物理記憶デバイスと異なる所定の容量を有する前記他の物理記憶デバイスから割り当てられるように変更し、該変更した格納領域に対して前記第1の論理記憶領域に対応するデータを移行する移行指示を送信し、
    前記制御部は、前記移行指示に基づいて前記第1の計算機が使用するデータを前記他の物理記憶デバイスに移行し、前記データの格納領域を前記他の物理記憶デバイスから割り当て、前記アクセス要求に応答することを特徴とする計算機システム。
  13. 請求項9に記載の計算機システムであって、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、
    前記管理計算機は、前記第1の物理記憶デバイスのうちの前記第1の論理記憶領域に対応する格納領域を所定の容量を有する第1のグループとして特定し、前記第2の論理記憶領域に対応する格納領域、および前記第1の物理記憶デバイスのうちの前記第1のグループに含まれない格納領域を第2のグループとして特定する移行指示を送信し、
    前記制御部は、前記移行指示に基づいて前記第1の計算機が使用するデータを前記第1のグループとして特定し、前記第1の計算機が使用するデータの格納領域を前記第1の物理記憶デバイスのうちの前記第1のグループから割り当て、前記アクセス要求に応答することを特徴とする計算機システム。
  14. 請求項9に記載の計算機システムであって、
    前記第1の物理記憶デバイスは記憶領域プールであって、前記制御部は、前記複数の第1の計算機に対してデータの格納領域を提供することを特徴とする計算機システム。
  15. 請求項9に記載の計算機システムであって、
    前記制御部は、前記第1の計算機が使用する前記第1の論理記憶領域、および前記第2の計算機が使用する前記第2の論理記憶領域に対し、それぞれ、該第1および前記第2の論理記憶領域に対応する前記第1の物理記憶デバイスの容量の前記ある閾値を設定することを特徴とする計算機システム。
  16. 請求項9に記載の計算機システムであって、
    前記制御部は、前記第1の計算機からの前記アクセス要求に含まれる書き込みデータの容量の値、および前記第1の論理記憶領域の容量の値を用いて、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を越えるか否かを判定することを特徴とする計算機システム。
  17. 請求項9に記載の計算機システムであって、
    前記管理計算機は、前記第1および第2の計算機による前記ストレージシステム内の前記複数の物理記憶デバイスの使用状況を監視する監視部を有し、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記管理計算機は、前記ストレージシステム内の前記複数の物理記憶デバイスのうち、前記監視部が選定した前記第1の物理記憶デバイスと異なる他の物理記憶デバイスと前記第1の論理記憶領域とを対応付ける移行指示を、前記ストレージシステムに対して送信することを特徴とする計算機システム。
  18. 請求項17に記載の計算機システムであって、
    前記管理計算機は、前記ストレージシステム内に前記第1および第2の計算機が認識する前記第1および第2の論理記憶領域を作成する場合、前記第1および第2の論理記憶領域に対応する、該第1および第2の論理記憶領域に格納されるデータの移行先となる前記複数の物理記憶デバイスの識別情報を有する優先移行情報を保持し、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記管理計算機は、前記監視部が前記第1および第2の計算機に使用されていないと特定した前記物理記憶デバイスと、前記優先移行情報とに基づいて、前記第1の論理記憶領域を前記第1の物理記憶デバイスと異なる他の物理記憶デバイスに対応付ける移行指示を、前記ストレージシステムに対して送信することを特徴とする計算機システム。
  19. 第1および第2計算機に接続されるストレージシステムにおけるデータ制御方法であって、
    前記第1および第2の計算機に対して、前記ストレージシステム内の複数の物理記憶デバイスのうちの少なくとも一以上の物理記憶デバイスから、それぞれ第1および第2の論理記憶領域を提供し、
    前記第1の計算機から、前記第1の論理記憶領域にアクセス要求を受信し、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量がある閾値以下の場合、前記第1の計算機からの前記第1の論理記憶領域に対するアクセス要求に応じて、前記第1の計算機が使用するデータの格納領域を前記第1の物理記憶デバイスから割り当て、前記アクセス要求に応答し、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記第1の論理記憶領域を、前記第2の論理記憶領域に対応する前記第1の物理記憶デバイスと異なる他の物理記憶デバイスに対応付け、前記第1の計算機が使用するデータの格納領域を前記他の物理記憶デバイスから割り当て、前記アクセス要求に応答することを特徴とするデータ制御方法。
  20. 請求項19に記載のデータ制御方法であって、
    前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスの容量が前記ある閾値を超える場合、前記第1の論理記憶領域に対応する前記第1の物理記憶デバイスに格納され、前記第1の計算機が使用するデータを、前記複数の物理記憶デバイスのうちの所定の容量を有する前記他の物理記憶デバイスに移行し、前記第1の計算機が使用するデータの格納領域を前記他の物理記憶デバイスから割り当て、前記アクセス要求に応答することを特徴とするデータ制御方法。
JP2006109323A 2006-04-12 2006-04-12 記憶領域動的割当方法 Expired - Fee Related JP4940738B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006109323A JP4940738B2 (ja) 2006-04-12 2006-04-12 記憶領域動的割当方法
US11/444,308 US7613896B2 (en) 2006-04-12 2006-06-01 Storage area dynamic assignment method
EP07251356A EP1845439A3 (en) 2006-04-12 2007-03-26 Storage area dynamic assignment method
US12/549,582 US7917722B2 (en) 2006-04-12 2009-08-28 Storage area dynamic assignment method
US13/040,451 US8161262B2 (en) 2006-04-12 2011-03-04 Storage area dynamic assignment method
US13/420,701 US8412908B2 (en) 2006-04-12 2012-03-15 Storage area dynamic assignment method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006109323A JP4940738B2 (ja) 2006-04-12 2006-04-12 記憶領域動的割当方法

Publications (2)

Publication Number Publication Date
JP2007280319A true JP2007280319A (ja) 2007-10-25
JP4940738B2 JP4940738B2 (ja) 2012-05-30

Family

ID=38370441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006109323A Expired - Fee Related JP4940738B2 (ja) 2006-04-12 2006-04-12 記憶領域動的割当方法

Country Status (3)

Country Link
US (4) US7613896B2 (ja)
EP (1) EP1845439A3 (ja)
JP (1) JP4940738B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140356A (ja) * 2007-12-07 2009-06-25 Hitachi Ltd 管理装置及び管理方法
JP2010073095A (ja) * 2008-09-22 2010-04-02 Hitachi Ltd 計算機システム及びその制御方法
WO2013088474A2 (en) 2011-12-14 2013-06-20 Hitachi, Ltd. Storage subsystem and method for recovering data in storage subsystem
JP2021060818A (ja) * 2019-10-07 2021-04-15 株式会社日立製作所 ストレージシステムおよびデータ移行方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4940738B2 (ja) 2006-04-12 2012-05-30 株式会社日立製作所 記憶領域動的割当方法
US8850154B2 (en) * 2007-09-11 2014-09-30 2236008 Ontario Inc. Processing system having memory partitioning
US8904400B2 (en) 2007-09-11 2014-12-02 2236008 Ontario Inc. Processing system having a partitioning component for resource partitioning
US8782368B2 (en) * 2007-10-25 2014-07-15 Hewlett-Packard Development Company, L.P. Storing chunks in containers
GB2466579B (en) 2007-10-25 2012-12-26 Hewlett Packard Development Co Data processing apparatus and method of deduplicating data
DE112007003693B4 (de) 2007-10-25 2014-05-15 Hewlett-Packard Development Co., L.P. Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
US8140637B2 (en) 2007-10-25 2012-03-20 Hewlett-Packard Development Company, L.P. Communicating chunks between devices
JP2009238114A (ja) * 2008-03-28 2009-10-15 Hitachi Ltd ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
CN102016789B (zh) 2008-04-25 2014-03-19 惠普开发有限公司 数据处理装置和处理数据的方法
JP2009282800A (ja) * 2008-05-23 2009-12-03 Hitachi Ltd ストレージ装置及びその制御方法
JP2010049637A (ja) * 2008-08-25 2010-03-04 Hitachi Ltd 計算機システム、ストレージシステム及び構成管理方法
US8336047B2 (en) * 2008-08-25 2012-12-18 International Business Machines Corporation Provisioning virtual resources using name resolution
JP2010170411A (ja) * 2009-01-23 2010-08-05 Hitachi Ltd 計算機システム、ストレージプール管理方法
US9134922B2 (en) 2009-03-12 2015-09-15 Vmware, Inc. System and method for allocating datastores for virtual machines
US8291159B2 (en) * 2009-03-12 2012-10-16 Vmware, Inc. Monitoring and updating mapping of physical storage allocation of virtual machine without changing identifier of the storage volume assigned to virtual machine
US8397046B2 (en) * 2009-03-26 2013-03-12 Hitachi, Ltd. Method and apparatus for deploying virtual hard disk to storage system
KR101833464B1 (ko) * 2010-02-02 2018-02-28 시게이트 테크놀로지 인터내셔날 디스크 장치와 외부 저장 매체 사이의 데이터 전송 방법 및 그 방법을 이용하는 시스템
WO2011096014A1 (ja) 2010-02-05 2011-08-11 株式会社日立製作所 仮想マシンと連携したThin-Provisioning容量管理を行う計算機システム、計算機、及び方法
US8543786B2 (en) * 2010-09-29 2013-09-24 Hitachi, Ltd. Computer system and computer system management method for adding an unused real volume to a pool
US8904128B2 (en) 2011-06-08 2014-12-02 Hewlett-Packard Development Company, L.P. Processing a request to restore deduplicated data
US9009437B1 (en) * 2011-06-20 2015-04-14 Emc Corporation Techniques for shared data storage provisioning with thin devices
US8843720B2 (en) * 2011-06-28 2014-09-23 International Business Machines Corporation Dynamic VVDS expansion
US8909891B2 (en) * 2011-07-21 2014-12-09 International Business Machines Corporation Virtual logical volume for overflow storage of special data sets
US8650381B2 (en) 2011-08-04 2014-02-11 Hitachi, Ltd. Storage system using real data storage area dynamic allocation method
JP5821392B2 (ja) * 2011-08-12 2015-11-24 富士通株式会社 ストレージ装置、およびストレージ管理方法
US8595460B2 (en) 2011-08-26 2013-11-26 Vmware, Inc. Configuring object storage system for input/output operations
US8527732B2 (en) 2011-09-16 2013-09-03 Hitachi, Ltd. Storage system and method of controlling storage system
US9112812B2 (en) 2011-09-22 2015-08-18 Embrane, Inc. Distributed virtual appliance
US9087010B2 (en) 2011-12-15 2015-07-21 International Business Machines Corporation Data selection for movement from a source to a target
CN103365781B (zh) * 2012-03-29 2016-05-04 国际商业机器公司 用于动态地重新配置存储系统的方法和设备
US9696906B1 (en) * 2014-06-30 2017-07-04 EMC IP Holding Company LLC Storage management
US10757175B2 (en) * 2015-02-10 2020-08-25 Vmware, Inc. Synchronization optimization based upon allocation data
US10019202B2 (en) * 2016-01-11 2018-07-10 International Business Machines Corporation Autonomic configuration of storage systems for virtualization
US10469405B2 (en) 2016-06-29 2019-11-05 Amazon Technologies, Inc. Network-accessible data volume modification
US10037298B2 (en) * 2016-06-29 2018-07-31 Amazon Technologies, Inc. Network-accessible data volume modification
JP6851350B2 (ja) * 2018-08-30 2021-03-31 株式会社日立製作所 ストレージシステム及び記憶制御方法
US11409453B2 (en) * 2020-09-22 2022-08-09 Dell Products L.P. Storage capacity forecasting for storage systems in an active tier of a storage environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015915A (ja) * 2001-07-05 2003-01-17 Hitachi Ltd 記憶装置の容量自動拡張方法
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2005038071A (ja) * 2003-07-17 2005-02-10 Hitachi Ltd ストレージの容量を最適化する管理方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0196361A (ja) 1987-10-05 1989-04-14 Kobe Steel Ltd 高強度チタン合金の冷間加工前処理方法
JPH0792775B2 (ja) * 1989-12-11 1995-10-09 株式会社日立製作所 外部記憶装置群のスペース管理方法
US5734887A (en) * 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US6393530B1 (en) * 1998-04-17 2002-05-21 Intelect Communications, Inc. Paging method for DSP
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6647415B1 (en) * 1999-09-30 2003-11-11 Hewlett-Packard Development Company, L.P. Disk storage with transparent overflow to network storage
US6401181B1 (en) * 2000-02-29 2002-06-04 International Business Machines Corporation Dynamic allocation of physical memory space
US6546457B1 (en) * 2000-09-29 2003-04-08 Emc Corporation Method and apparatus for reconfiguring striped logical devices in a disk array storage
US6938144B2 (en) * 2001-03-22 2005-08-30 Matsushita Electric Industrial Co., Ltd. Address conversion unit for memory device
US6832338B2 (en) * 2001-04-12 2004-12-14 International Business Machines Corporation Apparatus, method and computer program product for stopping processors without using non-maskable interrupts
US7007197B2 (en) * 2002-05-31 2006-02-28 Microsoft Corporation Virtual logging system and method
US7080225B1 (en) * 2002-12-10 2006-07-18 Emc Corporation Method and apparatus for managing migration of data in a computer system
US6823442B1 (en) * 2003-05-12 2004-11-23 3Pardata, Inc. Method of managing virtual volumes in a utility storage server system
US7130975B2 (en) * 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
JP4374953B2 (ja) 2003-09-09 2009-12-02 株式会社日立製作所 データ処理システム
JP4385215B2 (ja) * 2003-10-21 2009-12-16 日本電気株式会社 スナップショットシミュレーション機能を有するディスクアレイ装置
US8417913B2 (en) * 2003-11-13 2013-04-09 International Business Machines Corporation Superpage coalescing which supports read/write access to a new virtual superpage mapping during copying of physical pages
US7404039B2 (en) * 2005-01-13 2008-07-22 International Business Machines Corporation Data migration with reduced contention and increased speed
JP4940738B2 (ja) 2006-04-12 2012-05-30 株式会社日立製作所 記憶領域動的割当方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015915A (ja) * 2001-07-05 2003-01-17 Hitachi Ltd 記憶装置の容量自動拡張方法
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2005038071A (ja) * 2003-07-17 2005-02-10 Hitachi Ltd ストレージの容量を最適化する管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140356A (ja) * 2007-12-07 2009-06-25 Hitachi Ltd 管理装置及び管理方法
JP2010073095A (ja) * 2008-09-22 2010-04-02 Hitachi Ltd 計算機システム及びその制御方法
WO2013088474A2 (en) 2011-12-14 2013-06-20 Hitachi, Ltd. Storage subsystem and method for recovering data in storage subsystem
JP2021060818A (ja) * 2019-10-07 2021-04-15 株式会社日立製作所 ストレージシステムおよびデータ移行方法
JP7143268B2 (ja) 2019-10-07 2022-09-28 株式会社日立製作所 ストレージシステムおよびデータ移行方法

Also Published As

Publication number Publication date
US8412908B2 (en) 2013-04-02
US8161262B2 (en) 2012-04-17
US20070245116A1 (en) 2007-10-18
EP1845439A2 (en) 2007-10-17
US20090319751A1 (en) 2009-12-24
US7613896B2 (en) 2009-11-03
US20120173839A1 (en) 2012-07-05
JP4940738B2 (ja) 2012-05-30
EP1845439A3 (en) 2010-01-13
US20110153967A1 (en) 2011-06-23
US7917722B2 (en) 2011-03-29

Similar Documents

Publication Publication Date Title
JP4940738B2 (ja) 記憶領域動的割当方法
EP2399190B1 (en) Storage system and method for operating storage system
JP4814119B2 (ja) 計算機システム、ストレージ管理サーバ、及びデータ移行方法
US7558916B2 (en) Storage system, data processing method and storage apparatus
JP4993928B2 (ja) 記憶システム及び記憶領域解放方法並びにストレージシステム
JP4568574B2 (ja) ストレージ装置の導入方法、プログラム並びに管理計算機
US20110066823A1 (en) Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer
JP5921684B2 (ja) 計算機システムおよびアプリケーションプログラム実行環境移行方法
JP2010073095A (ja) 計算機システム及びその制御方法
JP2007058728A (ja) データ移行方式
JP2008108020A (ja) 計算機システム、データ移行方法、およびストレージ管理サーバ
JP2010049634A (ja) ストレージシステム及びストレージシステムにおけるデータ移行方法
US20120265956A1 (en) Storage subsystem, data migration method and computer system
US20120030442A1 (en) Management system and management method for managing computer system
US8732428B2 (en) Computer system and its control method
JP2010079624A (ja) 計算機システム及びストレージシステム
US8117405B2 (en) Storage control method for managing access environment enabling host to access data
JP6343716B2 (ja) 計算機システム及び記憶制御方法
US8527716B2 (en) Volume sharing method and storage system using the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

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

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

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

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees