JPWO2006057059A1 - 仮想ボリューム移築プログラム - Google Patents

仮想ボリューム移築プログラム Download PDF

Info

Publication number
JPWO2006057059A1
JPWO2006057059A1 JP2006546519A JP2006546519A JPWO2006057059A1 JP WO2006057059 A1 JPWO2006057059 A1 JP WO2006057059A1 JP 2006546519 A JP2006546519 A JP 2006546519A JP 2006546519 A JP2006546519 A JP 2006546519A JP WO2006057059 A1 JPWO2006057059 A1 JP WO2006057059A1
Authority
JP
Japan
Prior art keywords
virtual volume
information
transfer
volume
volume information
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
JP2006546519A
Other languages
English (en)
Other versions
JP4643590B2 (ja
Inventor
俊英 柳川
俊英 柳川
浩 矢澤
浩 矢澤
輝 中田
輝 中田
英治 浜本
英治 浜本
勝 芝田
勝 芝田
日見子 金子
日見子 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JPWO2006057059A1 publication Critical patent/JPWO2006057059A1/ja
Application granted granted Critical
Publication of JP4643590B2 publication Critical patent/JP4643590B2/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Abstract

移築先の仮想ボリューム管理装置において自装置に接続された実ボリュームに係るハードウェア構成情報を取得するとともに、このハードウェア構成情報を用いて移築元の仮想ボリューム情報を編集することとし、編集にあたっては、移築元と移築先との実ボリューム構成の差異や、実ボリュームを共有するノードの差異がある場合の編集ルールを用いることとし、かかる編集ルールに従って編集処理をおこなうことにより自装置に係る仮想ボリューム情報を生成するとともに、この仮想ボリューム情報を実ボリュームに反映させることにより仮想ボリュームの移入処理をおこなう。また、生成した仮想ボリューム情報を他の仮想ボリューム管理装置に提供することにより仮想ボリュームの移出処理をおこなう。

Description

本発明は、実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築プログラムおよび仮想ボリューム移築方法に関し、特に、実ボリューム構成が異なる環境間であっても、仮想ボリュームを効率的に移築することができる仮想ボリューム移築プログラムおよび仮想ボリューム移築方法に関する。
従来、ディスク装置やRAID(Redundant Array of Independent Disks)装置といった実ボリューム上に仮想ボリュームを構成し、かかる仮想ボリュームを上位アプリケーションに提供する仮想ボリューム管理プログラムが知られている。
たとえば、非特許文献1には、サーバ装置に接続された複数のディスク装置上に仮想ボリュームを構成してミラーリングやストライピングをおこなう仮想ボリューム管理プログラムが開示されている。なお、特許文献1には、仮想ボリュームの管理を業務アプリ単位でおこなう技術が開示されている。
かかる仮想ボリューム管理プログラムを用いることにより、上位アプリケーションは、実ボリューム構成を意識することなく、仮想ボリューム上にデータの書き込みおよび読み出しをおこなうことができる。また、ミラーリングによりディスク装置故障に対する耐障害性を高めたり、ストライピングによりディスク装置へのアクセス負荷を分散したりすることができる。
特開平5−173873号公報 富士通株式会社、"PRIMECLUSTER GDS4.X"、[online]、[平成16年11月19日検索]、インターネット<URL:http://primeserver.fujitsu.com/primepower/products/soft/opt/pcl_gds_4x/>
しかしながら、従来の仮想ボリューム管理プログラムでは、サーバ装置上に構築された仮想ボリュームを他のサーバ装置上に移築する場合には、サーバ管理者などが実ボリュームの構成の差異を認識したうえで、移築先の仮想ボリュームを構築する必要があった。すなわち、仮想ボリュームの移築は人手を介しておこなう必要があり、仮想ボリュームの移築が非効率であるという問題があった。
このため、移築元の仮想ボリュームの構成情報を読み出して移築先に反映させることも考えられるが、かかる構成情報は仮想ボリュームと実ボリュームとの対応関係を含む情報であるため、実ボリューム構成が異なる環境にそのまま反映させることはできない。
本発明は、上記に鑑みてなされたものであって、実ボリューム構成が異なる環境間であっても、仮想ボリュームを効率的に移築することができる仮想ボリューム移築プログラムおよび仮想ボリューム移築方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築プログラムであって、移築元仮想ボリューム情報を取得する移築元情報取得手順と、移築先実ボリューム情報を取得する移築先情報取得手順と、前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成手順と、前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築手順とをコンピュータに実行させることを特徴とする。
また、本発明は、実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築方法であって、移築元仮想ボリューム情報を取得する移築元情報取得工程と、移築先実ボリューム情報を取得する移築先情報取得工程と、前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成工程と、前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築工程とを含んだことを特徴とする。
本発明によれば、移築元仮想ボリューム情報を取得するとともに、移築先実ボリューム情報を取得し、取得した移築先実ボリューム情報を用いてかかる移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成し、移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築するよう構成したので、移築元の実ボリューム構成と移築先の実ボリューム構成とが異なる場合であっても、仮想ボリュームの移築処理を効率的におこなうことができるという効果を奏する。
図1は、本発明にかかるボリューム移築処理の概念を示す図である。 図2は、仮想ボリューム管理装置の構成を示す機能ブロック図である。 図3は、仮想ボリューム移築処理の処理手順の概要を示すフローチャートである。 図4は、仮想ボリューム情報の一例を示す図である。 図5は、ハードウェア構成情報の一例を示す図である。 図6は、生成ルールの一例を示す図である。 図7は、図6に示したタグとルール内容とを説明するための図である。 図8は、仮想ボリューム構築コマンドの一例を示す図である。 図9は、仮想ボリューム情報生成処理の処理手順を示すフローチャートである。 図10は、クラス情報生成処理の処理手順を示すフローチャートである。 図11は、グループ情報生成処理の処理手順を示すフローチャートである。 図12は、ボリューム情報生成処理の処理手順を示すフローチャートである。 図13は、仮想ボリューム移築プログラムを実行するコンピュータを示す図である。
符号の説明
1 仮想ボリューム管理装置
2 入力部
3 ディスク制御IF部
4 出力部
10 仮想ボリューム移築処理部
11 移入情報読込み部
12 ハードウェア構成情報読込み部
13 生成ルール読込み部
14 仮想ボリューム情報生成部
15 仮想ボリューム構築部
16 移出処理部
20 記憶部
21 ハードウェア構成情報記憶部
22 生成ルール記憶部
23 仮想ボリューム情報記憶部
50 コンピュータ
51 入力装置
52 モニタ
53 出力装置
54 ディスク制御I/F
55 CPU
55a 仮想ボリューム移築プロセス
56 RAM
56a ハードウェア構成情報
56b 生成ルール
56c 仮想ボリューム情報
57 HDD
57a ハードウェア構成情報
57b 生成ルール
57c 仮想ボリューム移築プログラム
58 バス
以下に添付図面を参照して、この発明に係る仮想ボリューム移築プログラムおよび仮想ボリューム移築方法の好適な実施の形態を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本発明にかかる仮想ボリューム移築処理の概念を示す図である。同図に示す仮想ボリューム管理装置は、実ボリュームの構成を反映した仮想ボリュームを構築し、構築した仮想ボリュームの構成情報を仮想ボリューム情報として管理している。かかる仮想ボリューム情報は、実ボリュームと仮想ボリュームとの対応関係を含む情報であり、たとえば、2個の実ボリュームをミラーリングすることにより1つの仮想ボリュームを構成するといった実ボリュームと仮想ボリュームとの対応関係を含んでいる。
かかる仮想ボリュームを他の仮想ボリューム管理装置に移築する場合には、移築元と移築先との実ボリューム構成の差異が問題となる。すなわち、移築元の仮想ボリューム情報は、移築元の実ボリューム構成を反映した情報であるので、移築元の仮想ボリューム情報をそのまま移築先に適用しても移築先に仮想ボリュームを移築することはできない。
たとえば、同図に示したように、移築元の仮想ボリューム管理装置は、2個の実ボリュームを有しているのに対し、移築先の仮想ボリューム管理装置は、3個の実ボリュームを有している。移築元の仮想ボリューム情報には、2個の実ボリュームについての情報しか含まれていないので、3個の実ボリュームを有する移築先で、どのような仮想ボリュームを構築するか不明となってしまう。たとえ移築元と移築先の実ボリュームの個数が同数である場合であっても、移築元の実ボリュームのサイズと移築先の実ボリュームのサイズが異なれば同様の問題が発生してしまう。
このように、実ボリューム構成の差異がある場合に、仮想ボリュームの移築処理を自動的におこなうことは容易ではない。従来、かかる仮想ボリュームの移築は、システム管理者などの人手を介しておこなわれており、仮想ボリュームの移築作業が効率的ではないという問題があった。
そこで、本発明にかかるボリューム移築処理では、移築先の仮想ボリューム管理装置において自装置に接続された実ボリュームに係るハードウェア構成情報を取得するとともに、このハードウェア構成情報を用いて移築元の仮想ボリューム情報を編集することとした。また、編集にあたっては、移築元と移築先との実ボリューム構成の差異や、実ボリュームを共有するノードの差異がある場合の編集ルールを用いることとし、かかる編集ルールに従って編集処理をおこなうこととした。このようにすることで、実ボリューム構成が異なる環境間であっても、仮想ボリュームの移築処理を効率的におこなうことができる。
次に、本発明にかかる仮想ボリューム管理プログラムを搭載した仮想ボリューム管理装置の構成について図2を用いて説明する。図2は、仮想ボリューム管理装置1の構成を示す機能ブロック図である。同図に示すように、仮想ボリューム管理装置1は、入力部2と、ディスク制御IF部3と、出力部4と、仮想ボリューム移築処理部10と、記憶部20とを備えている。
また、仮想ボリューム移築処理部10は、移入情報読込み部11と、ハードウェア構成情報読込み部12と、生成ルール読込み部13と、仮想ボリューム情報生成部14と、仮想ボリューム構築部15と、移出処理部16とをさらに備えており、記憶部20は、ハードウェア構成情報記憶部21と、生成ルール記憶部22と、仮想ボリューム情報記憶部23とをさらに備えている。
入力部2は、CD−ROM(Compact Disc Read Only Memory)装置などの可搬媒体装置や、通信インタフェース装置といった装置から構成され、他の仮想ボリューム管理装置1から読み出された移築元の仮想ボリューム情報を受け取り、仮想ボリューム移築処理部10に渡す処理をおこなう処理部である。
また、ディスク制御IF部3は、仮想ボリューム管理装置1に接続されるディスク装置やRAID装置といったストレージデバイスとの入出力処理をおこなう処理部であり、出力部4は、CD−ROM装置などの可搬媒体装置や、通信インタフェース装置といった装置から構成され、仮想ボリューム移築処理部10から受け取った仮想ボリューム情報を、他の仮想ボリューム管理装置1へ提供する処理をおこなう処理部である。
仮想ボリューム移築処理部10は、移築元の仮想ボリューム情報を受け取り、受け取った仮想ボリューム情報を、ハードウェア構成情報と、生成ルールとを用いて編集することにより自装置のハードウェア環境に適合した仮想ボリューム情報を生成するとともに、生成した仮想ボリューム情報を自装置に反映させることにより仮想ボリュームを構築する処理部である。また、この仮想ボリューム移築処理部10は、生成した仮想ボリューム情報を記憶部20に書き込み、要求があった場合に、かかる仮想ボリューム情報を他の仮想ボリューム管理装置1に提供する処理をおこなう処理部でもある。
移入情報読込み部11は、入力部2から移築元の仮想ボリューム情報を受け取って仮想ボリューム情報生成部14に渡す処理をおこなう処理部である。また、ハードウェア構成情報読込み部12は、ハードウェア構成情報記憶部21から自装置に係るハードウェア構成情報を読み出して仮想ボリューム情報生成部14に渡す処理をおこなう処理部であり、生成ルール読込み部13は、生成ルール記憶部22から生成ルールを受け取って仮想ボリューム情報生成部14に渡す処理をおこなう処理部である。
仮想ボリューム情報生成部14は、移入情報読込み部11、ハードウェア構成情報読込み部12および生成ルール読込み部13から渡された、移築元の仮想ボリューム情報、自装置に係るハードウェア構成情報および生成ルールを用いて自装置に係る仮想ボリューム情報を生成する処理部である。具体的には、この仮想ボリューム情報生成部14は、移築元の仮想ボリューム情報に含まれる移築元の実ボリューム情報を、自装置に係るハードウェア構成情報に含まれる実ボリューム情報に置き換えるなどの編集処理をおこなう。この場合、生成ルールに含まれる編集ルールに従って、自装置に係るハードウェア構成情報を反映した仮想ボリューム情報を生成する。なお、本実施例においては、かかる仮想ボリューム情報として仮想ボリューム構築コマンドを生成する場合について説明するが、コマンドではなく仮想ボリュームの構成を示すデータファイルを生成することとしてもよい。
仮想ボリューム構築部15は、仮想ボリューム情報生成部14が生成した仮想ボリューム情報を自装置に反映させることにより仮想ボリュームを構築する処理をおこなう処理部である。なお、本実施例においては、仮想ボリューム情報として受け取ったコマンド列を実行することにより仮想ボリュームを構築する場合について説明するが、コマンド列の実行ではなく、仮想ボリュームの構成を示すデータファイルを各実ボリュームに転送することにより仮想ボリュームを構築することとしてもよい。
移出処理部16は、管理者からの要求があった場合などに、仮想ボリューム情報記憶部23から仮想ボリューム情報を取り出し、取り出した仮想ボリューム情報を、出力部4を介して他の仮想ボリューム管理装置に提供する処理をおこなう処理部である。
記憶部20は、ハードディスク装置などのストレージデバイスから構成され、ハードウェア構成情報、生成ルールおよび自装置に係る仮想ボリューム情報の記憶をおこなう記憶部である。なお、図2においては、記憶部20は、仮想ボリューム管理装置1に含まれるものとして説明しているが、ディスク制御IF部3に接続されるハードディスク装置やRAID装置上に、かかる記憶部20を構成することとしてもよい。
ハードウェア構成情報記憶部21は、仮想ボリューム管理装置1に含まれるディスク装置や、ディスク制御IF部3に接続されるディスク装置の識別名、領域サイズ、共有ノード名といったハードウェア構成情報を記憶しておく記憶部である。また、生成ルール記憶部22は、移築元の仮想ボリューム情報に含まれる移築元の実ボリューム情報を、自装置に係るハードウェア構成情報に含まれる実ボリューム情報に置き換える編集処理をおこなう際のルールを記憶しておく記憶部である。
仮想ボリューム情報記憶部23は、仮想ボリューム情報生成部14が生成した自装置に係る仮想ボリューム情報を記憶する記憶部であり、かかる仮想ボリューム情報は、他の環境に仮想ボリュームを移築する場合に、移出処理部16によって読み出され出力部4を介して他の仮想ボリューム管理装置1に提供されることになる。
次に、仮想ボリューム移築処理の処理手順の概要について図3を用いて説明する。図3は、仮想ボリューム移築処理の処理手順の概要を示すフローチャートである。まず、移入情報読込み部11は、入力部2を介して移築元仮想ボリューム情報を読み込む(ステップS101)。ここで、この仮想ボリューム情報の例について図4を用いて説明しておく。図4は、仮想ボリューム情報の一例を示す図である。
図4に示すように、仮想ボリューム情報は、クラス情報と、クラスに属する物理ディスク情報と、グループ情報と、ボリューム情報とを含む情報である。このように、仮想ボリューム情報は階層化されており、その最上位の階層が「クラスオブジェクト」と呼ばれる階層である。なお、図4には仮想ボリューム情報にクラスオブジェクトが1つのみ含まれる場合を示しているが、複数のクラスオブジェクトを含むこともできる。
クラス情報は、オブジェクトの種別を示す「OBJ」、クラス名を示す「NAME」、クラスの種別を示す「TYPE」、クラスの共有先を示す「SCOPE」を含む情報である。図4に示した場合について説明すると、「OBJ」が「class」であるのでオブジェクトの種別はクラスであり、「NAME」が「SH_Class1」であるのでクラス名がSH_Class1であり、「TYPE」が「shared」であるのでクラスの種別が共有クラスであり、「SCOPE」が「node1、node2」であるのでクラスの共有先がnode1およびnode2であることを示している。
物理ディスク情報は、オブジェクトの種別を示す「OBJ」、物理ディスク名を示す「NAME」、物理ディスクの種別を示す「TYPE」、物理ディスクの所属先グループを示す「GROUP」、物理ディスクのデバイス名を示す「DEVNAM」、物理ディスクのブロック数を示す「DEVBLKS」を含む情報である。図4に示した場合について説明すると、「OBJ」が「disk」であるのでオブジェクトの種別は物理ディスクであり、「NAME」が「SHDisk1」および「SHDisk2」であるので物理ディスク名がSHDisk1およびSHDisk2であることを示している。
また、「TYPE」が「mirror」であるのでSHDisk1とSHDisk2から二面ミラーが構成されており、SHDisk1およびSHDisk2はGroup1に所属しており、デバイス名はc1t2d0およびc2t2d0であり、ブロック数は双方とも8380800であることを示している。
グループ情報は、オブジェクトの種別を示す「OBJ」、グループ名を示す「NAME」、グループに所属する物理ディスクを示す「DISKS」を含む情報である。図4に示した場合について説明すると、オブジェクトの種別はグループであり、グループ名はGroup1であり、グループに所属する物理ディスクはSHDisk1およびSHDisk2であることを示している。
ボリューム情報は、オブジェクトの種別を示す「OBJ」、ボリューム名を示す「NAME」、所属先グループ名を示す「GROUP」、ボリュームのサイズを示す「SIZE」を含む情報である。図4に示した場合について説明すると、オブジェクトの種別はボリュームであり、Volume1〜Volume4の4つのボリュームがあり、これらのボリュームはGroup1に所属し、いずれのボリュームのサイズも1000であることを示している。
図3の説明に戻り、ステップS102以降の処理手順について説明する。上述した仮想ボリューム情報を読み込むと、読み込んだ仮想ボリューム情報の書式チェックをおこなうことにより内容が正常であるか否かを判定する(ステップS102)。そして、内容が正常ではない場合には(ステップS102否定)、エラー情報の表示や送信といったエラー処理をおこなったうえで(ステップS109)処理を終了する。一方、内容が正常である場合には(ステップS102肯定)、ハードウェア構成情報記憶部21から自装置に係るハードウェア構成情報を読み込む(ステップS103)。
ここで、このハードウェア構成情報の例について図5を用いて説明しておく。図5は、ハードウェア構成情報の一例を示す図である。同図に示すように、ハードウェア構成情報は、オブジェクトの種別を示す「OBJ」、物理ディスクのデバイス名を示す「DEVNAM」、物理ディスクのブロック数を示す「DEVBLKS」、物理ディスクを共有するノード名を示す「DEVCONNECT」を含む情報である。
図5に示した場合について説明すると、自装置には4つの物理ディスクが接続されており、物理ディスクのデバイス名はそれぞれ、c1t1d0、c2t1d0、c1t2d0およびc2t2d0であり、デバイス名がc1t1d0およびc2t1d0の物理ディスクのブロック数は8380800であり、デバイス名がc1t2d0およびc2t2d0の物理ディスクのブロック数は17682084であり、いずれの物理ディスクもnodeA、nodeBおよびnodeCの3つのノードから共有されていることを示している。
図3の説明に戻って、ステップS104以降の処理手順について説明する。上述したハードウェア構成情報を読み込むと、読み込んだハードウェア構成情報をチェックすることにより内容が正常であるか否かを判定する(ステップS104)。そして、内容が正常ではない場合には(ステップS104否定)、ハードウェア構成情報を再度取得して(ステップS110)ステップS104の判定処理をおこなう。なお、本実施例においてはハードウェア構成情報が正常ではない場合に、ハードウェア構成情報を再取得することとしたが、再取得をおこなわずにエラー処理(ステップS109)をおこない処理を終了することとしてもよい。
一方、ハードウェア構成情報の内容が正常である場合には(ステップS104肯定)、生成ルール記憶部22から生成ルールを含むルールファイルを読み込む(ステップS105)。ここで、この生成ルールの例について図6を用いて説明しておく。図6は生成ルールの一例を示す図である。図6に示すように、生成ルールは、ルールの種別を示すタグとルールの内容とを「=」記号の両側に記載した形式をとる。
図6に示したタグには、上述した「クラス情報」に対応する「CLASS_」で始まるタグと、上述した「グループ情報」に対応する「GROUP_」で始まるタグと、上述した「ボリューム情報」に対応する「VOLUME_」で始まるタグとがあり、クラス情報、グループ情報およびボリューム情報ごとの編集ルールを規定することができる。
図7は、図6に示したタグとルール内容とを説明するための図である。たとえば、「CLASS_MAKE_DIFFERENCE_DISK」タグは、移築元の仮想ボリューム情報に含まれない物理ディスクが、自装置に係るハードウェア構成情報に含まれる場合に、かかる物理ディスクの所属先となるクラスの指定ルールを示すタグである。また、「CLASS_MAKE_DISK_NAME」タグは、移築元の仮想ボリューム情報に含まれない物理ディスクが、自装置に係るハードウェア構成情報に含まれる場合に、かかる物理ディスクの命名ルールを示すタグであり、「GROUP_MAKE_DIFFERENCE_GROUP」タグは、移築元の仮想ボリューム情報に含まれないグループが、自装置に係るハードウェア構成情報に含まれる場合に、かかるグループの命名ルールを示すタグである。
図4に示した移築元の仮想ボリューム情報の物理ディスク情報と、図5に示した自装置に係るハードウェア構成情報とを対比すると、図5のDEVNAMがc1t2d0の物理ディスクと、c2t2d0の物理ディスクは、図4の物理ディスク情報には含まれない。図6に示したルールにおいて、「CLASS_MAKE_DISK_NAME」タグのルール内容は「default」であるので、図7に示したように、移築先では物理ディスク名を自動的に作成するルールとなっている。したがって、図5のDEVNAMがc1t2d0の物理ディスク名およびc2t2d0の物理ディスク名は、たとえば、移築元の物理ディスク名(SHDisk1およびSHDisk2)と連番となり、SHDisk3およびSHDisk4と命名される。
また、図6に示したルールにおいて、「CLASS_MAKE_DIFFERENCE_DISK」タグのルール内容は「“LOCAL=Class1”、“SHARED=SH_Class1”」であるので、図7に示したように、移築元にない物理ディスクの所属先は、ローカルディスクであれば「Class1」、共有ディスクであれば「SH_Class1」とするルールとなっている。上述したSHDisk3およびSHDisk4は、共有ディスクであるのでこれらの物理ディスクの所属先クラスはSH_Class1となる。
図3の説明に戻って、ステップS106以降の処理手順について説明する。上述したルールファイルを読み込むと、読み込んだルールファイルをチェックすることにより内容が正常であるか否かを判定する(ステップS106)。そして、内容が正常ではない場合には(ステップS106否定)、デフォルトの生成ルールを適用する(ステップS111)。なお、デフォルトの生成ルールとは、図7の備考の欄に示した「default」のように各タグの指定を省略した場合に適用される生成ルールのことをいう。
一方、ルールファイルの内容が正常である場合には(ステップS106肯定)、仮想ボリューム情報生成部14は仮想ボリューム情報の生成処理をおこない(ステップS107)、仮想ボリューム構築部15は仮想ボリューム情報に含まれるコマンドを実行することにより(ステップS108)仮想ボリュームを構築して処理を終了する。
ここで、仮想ボリューム情報生成部14が生成したコマンドの例について図8を用いて説明する。図8は、仮想ボリューム構築コマンドの一例を示す図である。たとえば、コマンド1は、SHDisk1〜SHDisk4の4つの物理ディスクからSH_Class1を構成し、SH_Class1をnodeA、nodeBおよびnodeCが共有することを指示するコマンドである。仮想ボリューム生成部14がこれらのコマンド列を生成し、生成したコマンドを仮想ボリューム構築部15が実行することにより自装置に仮想ボリュームを構築する。
次に、図3に示した仮想ボリューム情報生成処理(ステップS107)についてさらに詳細に説明する。図9は、仮想ボリューム情報生成処理の処理手順を示すフローチャートである。同図に示すように、この仮想ボリューム情報生成処理では、クラス情報生成処理(ステップS201)、グループ情報生成処理(ステップS202)、ボリューム情報生成処理(ステップS203)をおこなう。なお、ステップS201〜ステップS203の処理の詳細については後述する。
つづいて、移築元仮想ボリューム情報の同一グループ内に他のボリュームがあるか否かを判定し(ステップS204)、他のボリュームがある場合には(ステップS204肯定)、再度、ボリューム情報生成処理(ステップS203)をおこなう。このようにして、移築元仮想ボリューム情報の同一グループに含まれるボリュームをすべて読み込むまでステップS203〜ステップS204の処理手順を繰り返す。
そして、移築元仮想ボリューム情報の同一グループに含まれるボリュームをすべて読み込んだならば(ステップS204否定)、移築元仮想ボリューム情報の同一クラス内に他のグループがあるか否かを判定し(ステップS205)、他のグループがある場合には(ステップS205肯定)、ステップS202〜ステップS204の処理手順を繰り返すことにより、移築元仮想ボリューム情報の同一クラスに含まれるすべてのグループと、各グループに含まれるすべてのボリュームに対応する移築先の仮想ボリューム情報を生成する。
つづいて、移築元仮想ボリューム情報の同一クラスに含まれるグループおよびボリュームをすべて読み込んだならば(ステップS205否定)、移築元仮想ボリューム情報に他のクラスがあるか否かを判定し(ステップS206)、他のクラスがある場合には(ステップS206肯定)、ステップS201〜ステップS205の処理手順を繰り返すことにより、移築元仮想ボリューム情報に含まれるクラス、グループおよびボリュームに対応する移築先の仮想ボリューム情報を生成する。そして、移築先の仮想ボリューム情報の生成をすべて完了したならば(ステップS206否定)、処理を終了する。
次に、図9に示したクラス情報生成処理(ステップS201)について図10を用いてさらに詳細に説明する。図10は、クラス情報生成処理の処理手順を示すフローチャートである。同図に示すように、クラス情報生成処理では、移築元仮想ボリューム情報(以下、「移築元情報」と呼ぶ)のクラス情報を取得し(ステップS301)、移築元情報の物理ディスク情報を取得し(ステップS302)、ルールファイルから「CLASS_」で始まるタグを取得する(ステップS303)。
つづいて、ルールファイルから取得したCLASS_MAKE_KINDタグにdefaultが設定されているか否かを判定する(ステップS304)。そして、このタグにdefaultが設定されている場合には(ステップS304肯定)、移築元情報のクラス属性を使用する(ステップS305)。一方、defaultが設定されていない場合には(ステップS304否定)、かかるタグに指定されたクラス属性を使用する(ステップS306)。
つづいて、ルールファイルから取得したCLASS_MAKE_CLASS_NAMEタグにdefaultが設定されているか否かを判定する(ステップS307)。そして、このタグにdefaultが設定されている場合には(ステップS307肯定)、移築元情報のクラス名を使用する(ステップS308)。一方、defaultが設定されていない場合には(ステップS307否定)、かかるタグに指定されたクラス名を使用する(ステップS309)。
つづいて、自装置に係るハードウェア構成情報のディスク情報およびノード情報を取得し(ステップS310)、ルールファイルから取得したCLASS_SCOPEタグにall_nodeが設定されているか否かを判定する(ステップS311)。そして、このタグにall_nodeが設定されている場合には(ステップS311肯定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報の物理ディスクと同名であって、かつ、全ノードから共用されている物理ディスクを抽出し、かかる物理ディスクのスコープを全ノードに設定する(ステップS312)。
一方、CLASS_SCOPEタグにall_nodeが設定されていない場合には(ステップS311否定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報の物理ディスクと同名であって、かつ、CLASS_SCOPEタグに指定されたノードから共用されている物理ディスクを抽出し、かかる物理ディスクのスコープを指定されたノードとする。
つづいて、ルールファイルから取得したCLASS_MAKE_DIFFERENCEタグにnoneが設定されているか否かを判定する(ステップS314)。そして、このタグにnoneが設定されている場合には(ステップS314肯定)、ステップS315の処理手順をおこなう。一方、かかるタグにnoneが設定されていない場合には(ステップS314否定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報には含まれない物理ディスクを抽出し、かかる物理ディスクの所属クラスをCLASS_MAKE_DIFFERNCEタグに指定されたクラスとする。
つづいて、ルールファイルから取得したCLASS_MAKE_DISK_NAMEタグにdefaultが設定されているか否かを判定する(ステップS316)。そして、このタグにdefaultが設定されている場合には(ステップS316肯定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報には含まれない物理ディスクの命名を自動的におこなう(ステップS317)。たとえば、移築元情報に含まれる物理ディスク名がDisk1およびDisk2であり、自装置に係るハードウェア構成情報に含まれる物理ディスクが3つである場合には、物理ディスク名をDisk1、Disk2およびDisk3などとする。
一方、CLASS_MAKE_DISK_NAMEタグにdefaultが設定されていない場合には(ステップS316否定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報には含まれない物理ディスクの命名を指定に従っておこなう(ステップS319)。たとえば、移築元情報に含まれる物理ディスク名がDisk1およびDisk2であり、自装置に係るハードウェア構成情報に含まれる物理ディスクが3つであり、物理ディスク名としてDisk10が指定された場合には、物理ディスク名をDisk1、Disk2およびDisk10とする。
そして、上述した各判定手順の判定結果に基づいてクラス情報を生成し(ステップS319)、生成したクラス情報に対応するクラス作成コマンドを生成する(ステップS320)。たとえば、図8に例示したコマンド1が、このクラス作成コマンドに該当する。
次に、図9に示したグループ情報生成処理(ステップS202)について図11を用いてさらに詳細に説明する。図11は、グループ情報生成処理の処理手順を示すフローチャートである。同図に示すように、グループ情報生成処理では、移築元情報から該当するクラス内のディスクに関連したグループ情報を取得する(ステップS401)。そして、ルールファイルから「GROUP_」で始まるタグを取得する(ステップS402)。
つづいて、ルールファイルから取得したGROUP_MAKE_GROUP_NAMEタグにdefaultが設定されているか否かを判定する(ステップS403)。そして、このタグにdefaultが設定されている場合には(ステップS403肯定)、移築元情報のグループ名を使用する(ステップS404)。一方、かかるタグにdefaultが設定されていない場合には(ステップS403否定)、タグに指定されたグループ名を使用する(ステップS405)。
つづいて、ルールファイルから取得したGROUP_MAKE_MIRROR_NUMタグに2が設定されているか否かを判定する(ステップS406)。そして、このタグに2が設定されている場合には(ステップS406肯定)、2面ミラーを構成する(ステップS407)。一方、かかるタグに2が設定されていない場合には(ステップS406否定)、タグに指定された数に対応したミラー構成とする(ステップS408)。
つづいて、自装置に係るハードウェア構成情報のグループ情報を取得し(ステップS409)、ルールファイルから取得したCLASS_MAKE_DIFFERENCE_GROUPタグにnoneが設定されているか否かを判定する(ステップS410)。そして、このタグにnoneが設定されている場合には(ステップS410肯定)、ステップS412の処理手順をおこなう。一方、かかるタグにnoneが設定されていない場合には(ステップS410否定)、自装置に係るハードウェア構成情報に含まれるボリュームのうち、移築元情報には含まれないディスクを抽出して同一サイズのディスク間でミラー構成をおこなう(ステップS411)。
そして、上述した各判定手順の判定結果に基づいてグループ情報を生成し(ステップS412)、生成したグループ情報に対応するグループ作成コマンドを生成する(ステップS413)。たとえば、図8に示したコマンド2およびコマンド3が、このグループ作成コマンドに該当する。
次に、図9に示したボリューム情報生成処理(ステップS203)について図12を用いてさらに詳細に説明する。図12は、ボリューム情報生成処理の処理手順を示すフローチャートである。同図に示すように、ボリューム情報生成処理では、移築元情報から該当するグループ内のボリューム情報を取得する(ステップS501)。そして、ルールファイルから「VOLUME_」で始まるタグを取得する(ステップS502)。
つづいて、ルールファイルから取得したVOLUME_MAKE_CLASS_KINDタグにdefaultが設定されているか否かを判定する(ステップS503)。そして、このタグにdefaultが設定されている場合には(ステップS503肯定)、移築元情報のボリューム属性を使用する。一方、かかるタグにdefaultが設定されていない場合には(ステップS503否定)、タグに指定されたボリューム属性を使用する(ステップS505)。
つづいて、ルールファイルから取得したVOLUME_MAKE_CLASS_NAMEタグにdefaultが設定されているか否かを判定する(ステップS506)。そして、このタグにdefaultが設定されている場合には(ステップS506肯定)、移築元情報の所属先クラスを使用する(ステップS507)。一方、かかるタグにdefaultが設定されていない場合には(ステップS506否定)、タグに指定された所属先クラスを使用する(ステップS508)。
つづいて、自装置に係るハードウェア構成情報のボリューム情報を取得し(ステップS509)、ハードウェア構成情報に含まれる物理ディスクに空き領域があるか否かを判定する(ステップS510)。そして、空き領域がある場合には(ステップS510)、上述した各判定手順の判定結果に基づいてボリューム情報を生成し(ステップS511)、生成したボリューム情報に対応するボリューム作成コマンドを生成する(ステップS512)。たとえば、図8に例示したコマンド4〜コマンド8が、このボリューム作成コマンドに該当する。なお、ハードウェア構成情報に含まれる物理ディスクに空き領域がない場合には(ステップS510否定)、ボリューム情報およびボリューム作成コマンドを生成することなく処理を終了する。
上述してきたように、本実施例では、移築先の仮想ボリューム管理装置において、ハードウェア構成情報読込み部が自装置に接続された実ボリュームに係るハードウェア構成情報を取得するとともに、仮想ボリューム情報生成部がこのハードウェア構成情報を用いることにより移入情報読込み部が読込んだ移築元の仮想ボリューム情報を編集することとし、編集にあたっては、移築元と移築先との実ボリュームの個数やサイズの差異や、実ボリュームを共有するノードの差異がある場合の編集ルールを用いることとし、生成ルール読込部が読込んだ編集ルールに従って編集処理をおこなうことにより自装置に係る仮想ボリューム情報を生成するとともに、仮想ボリューム構築部がこの仮想ボリューム情報を実ボリュームに反映させることにより仮想ボリュームの移入処理をおこなうよう構成したので、移築元の実ボリューム構成と移築先の実ボリューム構成とが異なる場合であっても、仮想ボリュームの移築処理を効率的におこなうことができる。
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図13を用いて、上記の実施例と同様の機能を有する仮想ボリューム移築プログラムを実行するコンピュータの一例を説明する。図13は、仮想ボリューム移築プログラムを実行するコンピュータを示す図である。
同図に示すように仮想ボリューム移築装置としてのコンピュータ50は、入力装置51、モニタ52、出力装置53、ディスク制御I/F54、CPU(Central Processing Unit)55、RAM(Random Access Memory)56およびHDD(Hard Disk Drive)57をバス58で接続して構成される。ここで、入力装置51は、図2に示した入力部2に対応し、モニタ52および出力装置53は同じく出力部4に対応する。また、ディスク制御I/F54は同じくディスク制御IF部3に対応する。
そして、HDD57には、ハードウェア構成情報57a、生成ルール57bおよび仮想ボリューム移築プログラム57cがあらかじめ記憶されている。なお、ハードウェア構成情報57aは図2に示したハードウェア構成情報記憶部21に、生成ルール57bは同じく生成ルール記憶部22に、それぞれ対応している。
CPU55が、HDD57の仮想ボリューム移築プログラム57cを読み出して実行することで、図13に示すように、仮想ボリューム移築プログラム57cは仮想ボリューム移築プロセス55aとして機能するようになる。そして、仮想ボリューム移築プロセス55aが機能すると、HDD57のハードウェア構成情報57aおよび生成ルール57bはRAM56に展開され、ハードウェア構成情報56aおよび生成ルール56bとして記憶される。
なお、仮想ボリューム移築プロセス55aが生成した仮想ボリューム情報56cは、RAM56に記憶されるとともに、ディスク制御I/F54をとおして各ディスク装置に送信される。また、サーバ管理者などから要求があった場合には出力装置53を介して他のコンピュータ50に提供される。
(付記1)実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築プログラムであって、
移築元仮想ボリューム情報を取得する移築元情報取得手順と、
移築先実ボリューム情報を取得する移築先情報取得手順と、
前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成手順と、
前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築手順と
をコンピュータに実行させることを特徴とする仮想ボリューム移築プログラム。
(付記2)前記移築先実ボリューム情報を前記移築元仮想ボリューム情報に反映させる際のルール情報を記憶する記憶手順をさらにコンピュータに実行させ、
前記生成手順は、前記ルール情報に基づいて前記移築先仮想ボリューム情報を生成することを特徴とする付記1に記載の仮想ボリューム移築プログラム。
(付記3)前記生成手順は、前記ルール情報に基づいて前記移築元仮想ボリューム情報に含まれる実ボリューム情報を前記移築先実ボリューム情報に置換することを特徴とする付記2に記載の仮想ボリューム移築プログラム。
(付記4)前記生成手順は、前記移築先仮想ボリューム情報として仮想ボリュームを構築するためのコマンドを生成し、前記構築手順は、前記生成手順が生成した前記コマンドを実行することにより移築先の仮想ボリュームを構築することを特徴とする付記1、2または3に記載の仮想ボリューム移築プログラム。
(付記5)前記記憶手順に記憶された前記移築先仮想ボリューム情報を読み出して出力することにより該移築先仮想ボリューム情報を移出する移出手順をさらにコンピュータに実行させることを特徴とする付記2または3に記載の仮想ボリューム移築プログラム。
(付記6)実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築方法であって、
移築元仮想ボリューム情報を取得する移築元情報取得工程と、
移築先実ボリューム情報を取得する移築先情報取得工程と、
前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成工程と、
前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築工程と
を含んだことを特徴とする仮想ボリューム移築方法。
(付記7)前記移築先実ボリューム情報を前記移築元仮想ボリューム情報に反映させる際のルール情報を記憶する記憶工程をさらに含み、
前記生成工程は、前記ルール情報に基づいて前記移築先仮想ボリューム情報を生成することを特徴とする付記6に記載の仮想ボリューム移築方法。
(付記8)前記生成工程は、前記ルール情報に基づいて前記移築元仮想ボリューム情報に含まれる実ボリューム情報を前記移築先実ボリューム情報に置換することを特徴とする付記7に記載の仮想ボリューム移築方法。
(付記9)前記生成工程は、前記移築先仮想ボリューム情報として仮想ボリュームを構築するためのコマンドを生成し、前記構築工程は、前記生成工程が生成した前記コマンドを実行することにより移築先の仮想ボリュームを構築することを特徴とする付記6、7または8に記載の仮想ボリューム移築方法。
(付記10)前記記憶工程に記憶された前記移築先仮想ボリューム情報を読み出して出力することにより該移築先仮想ボリューム情報を移出する移出工程をさらにコンピュータに実行させることを特徴とする付記7または8に記載の仮想ボリューム移築方法。
以上のように、本発明にかかる仮想ボリューム移築プログラムおよび仮想ボリューム移築方法は、仮想ボリュームの移築に有用であり、特に、実ボリュームの構成が異なるサーバ装置間における仮想ボリュームの移築に適している。
本発明は、実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築プログラムに関し、特に、実ボリューム構成が異なる環境間であっても、仮想ボリュームを効率的に移築することができる仮想ボリューム移築プログラムに関する。
従来、ディスク装置やRAID(Redundant Array of Independent Disks)装置といった実ボリューム上に仮想ボリュームを構成し、かかる仮想ボリュームを上位アプリケーションに提供する仮想ボリューム管理プログラムが知られている。
たとえば、非特許文献1には、サーバ装置に接続された複数のディスク装置上に仮想ボリュームを構成してミラーリングやストライピングをおこなう仮想ボリューム管理プログラムが開示されている。なお、特許文献1には、仮想ボリュームの管理を業務アプリ単位でおこなう技術が開示されている。
かかる仮想ボリューム管理プログラムを用いることにより、上位アプリケーションは、実ボリューム構成を意識することなく、仮想ボリューム上にデータの書き込みおよび読み出しをおこなうことができる。また、ミラーリングによりディスク装置故障に対する耐障害性を高めたり、ストライピングによりディスク装置へのアクセス負荷を分散したりすることができる。
特開平5−173873号公報 富士通株式会社、"PRIMECLUSTER GDS4.X"、[online]、[平成16年11月19日検索]、インターネット<URL:http://primeserver.fujitsu.com/primepower/products/soft/opt/pcl_gds_4x/>
しかしながら、従来の仮想ボリューム管理プログラムでは、サーバ装置上に構築された仮想ボリュームを他のサーバ装置上に移築する場合には、サーバ管理者などが実ボリュームの構成の差異を認識したうえで、移築先の仮想ボリュームを構築する必要があった。すなわち、仮想ボリュームの移築は人手を介しておこなう必要があり、仮想ボリュームの移築が非効率であるという問題があった。
このため、移築元の仮想ボリュームの構成情報を読み出して移築先に反映させることも考えられるが、かかる構成情報は仮想ボリュームと実ボリュームとの対応関係を含む情報であるため、実ボリューム構成が異なる環境にそのまま反映させることはできない。
本発明は、上記に鑑みてなされたものであって、実ボリューム構成が異なる環境間であっても、仮想ボリュームを効率的に移築することができる仮想ボリューム移築プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築プログラムであって、移築元仮想ボリューム情報を取得する移築元情報取得手順と、移築先実ボリューム情報を取得する移築先情報取得手順と、前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成手順と、前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築手順とをコンピュータに実行させることを特徴とする。
また、本発明は、実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築方法であって、移築元仮想ボリューム情報を取得する移築元情報取得工程と、移築先実ボリューム情報を取得する移築先情報取得工程と、前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成工程と、前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築工程とを含んだことを特徴とする。
本発明によれば、移築元仮想ボリューム情報を取得するとともに、移築先実ボリューム情報を取得し、取得した移築先実ボリューム情報を用いてかかる移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成し、移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築するよう構成したので、移築元の実ボリューム構成と移築先の実ボリューム構成とが異なる場合であっても、仮想ボリュームの移築処理を効率的におこなうことができるという効果を奏する。
以下に添付図面を参照して、この発明に係る仮想ボリューム移築プログラムの好適な実施の形態を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本発明にかかる仮想ボリューム移築処理の概念を示す図である。同図に示す仮想ボリューム管理装置は、実ボリュームの構成を反映した仮想ボリュームを構築し、構築した仮想ボリュームの構成情報を仮想ボリューム情報として管理している。かかる仮想ボリューム情報は、実ボリュームと仮想ボリュームとの対応関係を含む情報であり、たとえば、2個の実ボリュームをミラーリングすることにより1つの仮想ボリュームを構成するといった実ボリュームと仮想ボリュームとの対応関係を含んでいる。
かかる仮想ボリュームを他の仮想ボリューム管理装置に移築する場合には、移築元と移築先との実ボリューム構成の差異が問題となる。すなわち、移築元の仮想ボリューム情報は、移築元の実ボリューム構成を反映した情報であるので、移築元の仮想ボリューム情報をそのまま移築先に適用しても移築先に仮想ボリュームを移築することはできない。
たとえば、同図に示したように、移築元の仮想ボリューム管理装置は、2個の実ボリュームを有しているのに対し、移築先の仮想ボリューム管理装置は、3個の実ボリュームを有している。移築元の仮想ボリューム情報には、2個の実ボリュームについての情報しか含まれていないので、3個の実ボリュームを有する移築先で、どのような仮想ボリュームを構築するか不明となってしまう。たとえ移築元と移築先の実ボリュームの個数が同数である場合であっても、移築元の実ボリュームのサイズと移築先の実ボリュームのサイズが異なれば同様の問題が発生してしまう。
このように、実ボリューム構成の差異がある場合に、仮想ボリュームの移築処理を自動的におこなうことは容易ではない。従来、かかる仮想ボリュームの移築は、システム管理者などの人手を介しておこなわれており、仮想ボリュームの移築作業が効率的ではないという問題があった。
そこで、本発明にかかるボリューム移築処理では、移築先の仮想ボリューム管理装置において自装置に接続された実ボリュームに係るハードウェア構成情報を取得するとともに、このハードウェア構成情報を用いて移築元の仮想ボリューム情報を編集することとした。また、編集にあたっては、移築元と移築先との実ボリューム構成の差異や、実ボリュームを共有するノードの差異がある場合の編集ルールを用いることとし、かかる編集ルールに従って編集処理をおこなうこととした。このようにすることで、実ボリューム構成が異なる環境間であっても、仮想ボリュームの移築処理を効率的におこなうことができる。
次に、本発明にかかる仮想ボリューム管理プログラムを搭載した仮想ボリューム管理装置の構成について図2を用いて説明する。図2は、仮想ボリューム管理装置1の構成を示す機能ブロック図である。同図に示すように、仮想ボリューム管理装置1は、入力部2と、ディスク制御IF部3と、出力部4と、仮想ボリューム移築処理部10と、記憶部20とを備えている。
また、仮想ボリューム移築処理部10は、移入情報読込み部11と、ハードウェア構成情報読込み部12と、生成ルール読込み部13と、仮想ボリューム情報生成部14と、仮想ボリューム構築部15と、移出処理部16とをさらに備えており、記憶部20は、ハードウェア構成情報記憶部21と、生成ルール記憶部22と、仮想ボリューム情報記憶部23とをさらに備えている。
入力部2は、CD−ROM(Compact Disc Read Only Memory)装置などの可搬媒
体装置や、通信インタフェース装置といった装置から構成され、他の仮想ボリューム管理装置1から読み出された移築元の仮想ボリューム情報を受け取り、仮想ボリューム移築処理部10に渡す処理をおこなう処理部である。
また、ディスク制御IF部3は、仮想ボリューム管理装置1に接続されるディスク装置やRAID装置といったストレージデバイスとの入出力処理をおこなう処理部であり、出力部4は、CD−ROM装置などの可搬媒体装置や、通信インタフェース装置といった装置から構成され、仮想ボリューム移築処理部10から受け取った仮想ボリューム情報を、他の仮想ボリューム管理装置1へ提供する処理をおこなう処理部である。
仮想ボリューム移築処理部10は、移築元の仮想ボリューム情報を受け取り、受け取った仮想ボリューム情報を、ハードウェア構成情報と、生成ルールとを用いて編集することにより自装置のハードウェア環境に適合した仮想ボリューム情報を生成するとともに、生成した仮想ボリューム情報を自装置に反映させることにより仮想ボリュームを構築する処理部である。また、この仮想ボリューム移築処理部10は、生成した仮想ボリューム情報を記憶部20に書き込み、要求があった場合に、かかる仮想ボリューム情報を他の仮想ボリューム管理装置1に提供する処理をおこなう処理部でもある。
移入情報読込み部11は、入力部2から移築元の仮想ボリューム情報を受け取って仮想ボリューム情報生成部14に渡す処理をおこなう処理部である。また、ハードウェア構成情報読込み部12は、ハードウェア構成情報記憶部21から自装置に係るハードウェア構成情報を読み出して仮想ボリューム情報生成部14に渡す処理をおこなう処理部であり、生成ルール読込み部13は、生成ルール記憶部22から生成ルールを受け取って仮想ボリューム情報生成部14に渡す処理をおこなう処理部である。
仮想ボリューム情報生成部14は、移入情報読込み部11、ハードウェア構成情報読込み部12および生成ルール読込み部13から渡された、移築元の仮想ボリューム情報、自装置に係るハードウェア構成情報および生成ルールを用いて自装置に係る仮想ボリューム情報を生成する処理部である。具体的には、この仮想ボリューム情報生成部14は、移築元の仮想ボリューム情報に含まれる移築元の実ボリューム情報を、自装置に係るハードウェア構成情報に含まれる実ボリューム情報に置き換えるなどの編集処理をおこなう。この場合、生成ルールに含まれる編集ルールに従って、自装置に係るハードウェア構成情報を反映した仮想ボリューム情報を生成する。なお、本実施例においては、かかる仮想ボリューム情報として仮想ボリューム構築コマンドを生成する場合について説明するが、コマンドではなく仮想ボリュームの構成を示すデータファイルを生成することとしてもよい。
仮想ボリューム構築部15は、仮想ボリューム情報生成部14が生成した仮想ボリューム情報を自装置に反映させることにより仮想ボリュームを構築する処理をおこなう処理部である。なお、本実施例においては、仮想ボリューム情報として受け取ったコマンド列を実行することにより仮想ボリュームを構築する場合について説明するが、コマンド列の実行ではなく、仮想ボリュームの構成を示すデータファイルを各実ボリュームに転送することにより仮想ボリュームを構築することとしてもよい。
移出処理部16は、管理者からの要求があった場合などに、仮想ボリューム情報記憶部23から仮想ボリューム情報を取り出し、取り出した仮想ボリューム情報を、出力部4を介して他の仮想ボリューム管理装置に提供する処理をおこなう処理部である。
記憶部20は、ハードディスク装置などのストレージデバイスから構成され、ハードウェア構成情報、生成ルールおよび自装置に係る仮想ボリューム情報の記憶をおこなう記憶部である。なお、図2においては、記憶部20は、仮想ボリューム管理装置1に含まれるものとして説明しているが、ディスク制御IF部3に接続されるハードディスク装置やRAID装置上に、かかる記憶部20を構成することとしてもよい。
ハードウェア構成情報記憶部21は、仮想ボリューム管理装置1に含まれるディスク装置や、ディスク制御IF部3に接続されるディスク装置の識別名、領域サイズ、共有ノード名といったハードウェア構成情報を記憶しておく記憶部である。また、生成ルール記憶部22は、移築元の仮想ボリューム情報に含まれる移築元の実ボリューム情報を、自装置に係るハードウェア構成情報に含まれる実ボリューム情報に置き換える編集処理をおこなう際のルールを記憶しておく記憶部である。
仮想ボリューム情報記憶部23は、仮想ボリューム情報生成部14が生成した自装置に係る仮想ボリューム情報を記憶する記憶部であり、かかる仮想ボリューム情報は、他の環境に仮想ボリュームを移築する場合に、移出処理部16によって読み出され出力部4を介して他の仮想ボリューム管理装置1に提供されることになる。
次に、仮想ボリューム移築処理の処理手順の概要について図3を用いて説明する。図3は、仮想ボリューム移築処理の処理手順の概要を示すフローチャートである。まず、移入情報読込み部11は、入力部2を介して移築元仮想ボリューム情報を読み込む(ステップS101)。ここで、この仮想ボリューム情報の例について図4を用いて説明しておく。図4は、仮想ボリューム情報の一例を示す図である。
図4に示すように、仮想ボリューム情報は、クラス情報と、クラスに属する物理ディスク情報と、グループ情報と、ボリューム情報とを含む情報である。このように、仮想ボリューム情報は階層化されており、その最上位の階層が「クラスオブジェクト」と呼ばれる階層である。なお、図4には仮想ボリューム情報にクラスオブジェクトが1つのみ含まれる場合を示しているが、複数のクラスオブジェクトを含むこともできる。
クラス情報は、オブジェクトの種別を示す「OBJ」、クラス名を示す「NAME」、クラスの種別を示す「TYPE」、クラスの共有先を示す「SCOPE」を含む情報である。図4に示した場合について説明すると、「OBJ」が「class」であるのでオブジェクトの種別はクラスであり、「NAME」が「SH_Class1」であるのでクラス名がSH_Class1であり、「TYPE」が「shared」であるのでクラスの種別が共有クラスであり、「SCOPE」が「node1、node2」であるのでクラスの共有先がnode1およびnode2であることを示している。
物理ディスク情報は、オブジェクトの種別を示す「OBJ」、物理ディスク名を示す「NAME」、物理ディスクの種別を示す「TYPE」、物理ディスクの所属先グループを示す「GROUP」、物理ディスクのデバイス名を示す「DEVNAM」、物理ディスクのブロック数を示す「DEVBLKS」を含む情報である。図4に示した場合について説明すると、「OBJ」が「disk」であるのでオブジェクトの種別は物理ディスクであり、「NAME」が「SHDisk1」および「SHDisk2」であるので物理ディスク名がSHDisk1およびSHDisk2であることを示している。
また、「TYPE」が「mirror」であるのでSHDisk1とSHDisk2から二面ミラーが構成されており、SHDisk1およびSHDisk2はGroup1に所属しており、デバイス名はc1t2d0およびc2t2d0であり、ブロック数は双方とも8380800であることを示している。
グループ情報は、オブジェクトの種別を示す「OBJ」、グループ名を示す「NAME」、グループに所属する物理ディスクを示す「DISKS」を含む情報である。図4に示した場合について説明すると、オブジェクトの種別はグループであり、グループ名はGroup1であり、グループに所属する物理ディスクはSHDisk1およびSHDisk2であることを示している。
ボリューム情報は、オブジェクトの種別を示す「OBJ」、ボリューム名を示す「NAME」、所属先グループ名を示す「GROUP」、ボリュームのサイズを示す「SIZE」を含む情報である。図4に示した場合について説明すると、オブジェクトの種別はボリュームであり、Volume1〜Volume4の4つのボリュームがあり、これらのボリュームはGroup1に所属し、いずれのボリュームのサイズも1000であることを示している。
図3の説明に戻り、ステップS102以降の処理手順について説明する。上述した仮想ボリューム情報を読み込むと、読み込んだ仮想ボリューム情報の書式チェックをおこなうことにより内容が正常であるか否かを判定する(ステップS102)。そして、内容が正常ではない場合には(ステップS102否定)、エラー情報の表示や送信といったエラー処理をおこなったうえで(ステップS109)処理を終了する。一方、内容が正常である場合には(ステップS102肯定)、ハードウェア構成情報記憶部21から自装置に係るハードウェア構成情報を読み込む(ステップS103)。
ここで、このハードウェア構成情報の例について図5を用いて説明しておく。図5は、ハードウェア構成情報の一例を示す図である。同図に示すように、ハードウェア構成情報は、オブジェクトの種別を示す「OBJ」、物理ディスクのデバイス名を示す「DEVNAM」、物理ディスクのブロック数を示す「DEVBLKS」、物理ディスクを共有するノード名を示す「DEVCONNECT」を含む情報である。
図5に示した場合について説明すると、自装置には4つの物理ディスクが接続されており、物理ディスクのデバイス名はそれぞれ、c1t1d0、c2t1d0、c1t2d0およびc2t2d0であり、デバイス名がc1t1d0およびc2t1d0の物理ディスクのブロック数は8380800であり、デバイス名がc1t2d0およびc2t2d0の物理ディスクのブロック数は17682084であり、いずれの物理ディスクもnodeA、nodeBおよびnodeCの3つのノードから共有されていることを示している。
図3の説明に戻って、ステップS104以降の処理手順について説明する。上述したハードウェア構成情報を読み込むと、読み込んだハードウェア構成情報をチェックすることにより内容が正常であるか否かを判定する(ステップS104)。そして、内容が正常ではない場合には(ステップS104否定)、ハードウェア構成情報を再度取得して(ステップS110)ステップS104の判定処理をおこなう。なお、本実施例においてはハードウェア構成情報が正常ではない場合に、ハードウェア構成情報を再取得することとしたが、再取得をおこなわずにエラー処理(ステップS109)をおこない処理を終了することとしてもよい。
一方、ハードウェア構成情報の内容が正常である場合には(ステップS104肯定)、生成ルール記憶部22から生成ルールを含むルールファイルを読み込む(ステップS105)。ここで、この生成ルールの例について図6を用いて説明しておく。図6は生成ルールの一例を示す図である。図6に示すように、生成ルールは、ルールの種別を示すタグとルールの内容とを「=」記号の両側に記載した形式をとる。
図6に示したタグには、上述した「クラス情報」に対応する「CLASS_」で始まるタグと、上述した「グループ情報」に対応する「GROUP_」で始まるタグと、上述した「ボリューム情報」に対応する「VOLUME_」で始まるタグとがあり、クラス情報、グループ情報およびボリューム情報ごとの編集ルールを規定することができる。
図7は、図6に示したタグとルール内容とを説明するための図である。たとえば、「CLASS_MAKE_DIFFERENCE_DISK」タグは、移築元の仮想ボリューム情報に含まれない物理ディスクが、自装置に係るハードウェア構成情報に含まれる場合に、かかる物理ディスクの所属先となるクラスの指定ルールを示すタグである。また、「CLASS_MAKE_DISK_NAME」タグは、移築元の仮想ボリューム情報に含まれない物理ディスクが、自装置に係るハードウェア構成情報に含まれる場合に、かかる物理ディスクの命名ルールを示すタグであり、「GROUP_MAKE_DIFFERENCE_GROUP」タグは、移築元の仮想ボリューム情報に含まれないグループが、自装置に係るハードウェア構成情報に含まれる場合に、かかるグループの命名ルールを示すタグである。
図4に示した移築元の仮想ボリューム情報の物理ディスク情報と、図5に示した自装置に係るハードウェア構成情報とを対比すると、図5のDEVNAMがc1t2d0の物理ディスクと、c2t2d0の物理ディスクは、図4の物理ディスク情報には含まれない。図6に示したルールにおいて、「CLASS_MAKE_DISK_NAME」タグのルール内容は「default」であるので、図7に示したように、移築先では物理ディスク名を自動的に作成するルールとなっている。したがって、図5のDEVNAMがc1t2d0の物理ディスク名およびc2t2d0の物理ディスク名は、たとえば、移築元の物理ディスク名(SHDisk1およびSHDisk2)と連番となり、SHDisk3およびSHDisk4と命名される。
また、図6に示したルールにおいて、「CLASS_MAKE_DIFFERENCE_DISK」タグのルール内容は「“LOCAL=Class1”、“SHARED=SH_Class1”」であるので、図7に示したように、移築元にない物理ディスクの所属先は、ローカルディスクであれば「Class1」、共有ディスクであれば「SH_Class1」とするルールとなっている。上述したSHDisk3およびSHDisk4は、共有ディスクであるのでこれらの物理ディスクの所属先クラスはSH_Class1となる。
図3の説明に戻って、ステップS106以降の処理手順について説明する。上述したルールファイルを読み込むと、読み込んだルールファイルをチェックすることにより内容が正常であるか否かを判定する(ステップS106)。そして、内容が正常ではない場合には(ステップS106否定)、デフォルトの生成ルールを適用する(ステップS111)。なお、デフォルトの生成ルールとは、図7の備考の欄に示した「default」のように各タグの指定を省略した場合に適用される生成ルールのことをいう。
一方、ルールファイルの内容が正常である場合には(ステップS106肯定)、仮想ボリューム情報生成部14は仮想ボリューム情報の生成処理をおこない(ステップS107)、仮想ボリューム構築部15は仮想ボリューム情報に含まれるコマンドを実行することにより(ステップS108)仮想ボリュームを構築して処理を終了する。
ここで、仮想ボリューム情報生成部14が生成したコマンドの例について図8を用いて説明する。図8は、仮想ボリューム構築コマンドの一例を示す図である。たとえば、コマンド1は、SHDisk1〜SHDisk4の4つの物理ディスクからSH_Class1を構成し、SH_Class1をnodeA、nodeBおよびnodeCが共有することを指示するコマンドである。仮想ボリューム生成部14がこれらのコマンド列を生成し、生成したコマンドを仮想ボリューム構築部15が実行することにより自装置に仮想ボリュームを構築する。
次に、図3に示した仮想ボリューム情報生成処理(ステップS107)についてさらに詳細に説明する。図9は、仮想ボリューム情報生成処理の処理手順を示すフローチャートである。同図に示すように、この仮想ボリューム情報生成処理では、クラス情報生成処理(ステップS201)、グループ情報生成処理(ステップS202)、ボリューム情報生成処理(ステップS203)をおこなう。なお、ステップS201〜ステップS203の処理の詳細については後述する。
つづいて、移築元仮想ボリューム情報の同一グループ内に他のボリュームがあるか否かを判定し(ステップS204)、他のボリュームがある場合には(ステップS204肯定)、再度、ボリューム情報生成処理(ステップS203)をおこなう。このようにして、移築元仮想ボリューム情報の同一グループに含まれるボリュームをすべて読み込むまでステップS203〜ステップS204の処理手順を繰り返す。
そして、移築元仮想ボリューム情報の同一グループに含まれるボリュームをすべて読み込んだならば(ステップS204否定)、移築元仮想ボリューム情報の同一クラス内に他のグループがあるか否かを判定し(ステップS205)、他のグループがある場合には(ステップS205肯定)、ステップS202〜ステップS204の処理手順を繰り返すことにより、移築元仮想ボリューム情報の同一クラスに含まれるすべてのグループと、各グループに含まれるすべてのボリュームに対応する移築先の仮想ボリューム情報を生成する。
つづいて、移築元仮想ボリューム情報の同一クラスに含まれるグループおよびボリュームをすべて読み込んだならば(ステップS205否定)、移築元仮想ボリューム情報に他のクラスがあるか否かを判定し(ステップS206)、他のクラスがある場合には(ステップS206肯定)、ステップS201〜ステップS205の処理手順を繰り返すことにより、移築元仮想ボリューム情報に含まれるクラス、グループおよびボリュームに対応する移築先の仮想ボリューム情報を生成する。そして、移築先の仮想ボリューム情報の生成をすべて完了したならば(ステップS206否定)、処理を終了する。
次に、図9に示したクラス情報生成処理(ステップS201)について図10を用いてさらに詳細に説明する。図10は、クラス情報生成処理の処理手順を示すフローチャートである。同図に示すように、クラス情報生成処理では、移築元仮想ボリューム情報(以下、「移築元情報」と呼ぶ)のクラス情報を取得し(ステップS301)、移築元情報の物理ディスク情報を取得し(ステップS302)、ルールファイルから「CLASS_」で始まるタグを取得する(ステップS303)。
つづいて、ルールファイルから取得したCLASS_MAKE_KINDタグにdefaultが設定されているか否かを判定する(ステップS304)。そして、このタグにdefaultが設定されている場合には(ステップS304肯定)、移築元情報のクラス属性を使用する(ステップS305)。一方、defaultが設定されていない場合には(ステップS304否定)、かかるタグに指定されたクラス属性を使用する(ステップS306)。
つづいて、ルールファイルから取得したCLASS_MAKE_CLASS_NAMEタグにdefaultが設定されているか否かを判定する(ステップS307)。そして、このタグにdefaultが設定されている場合には(ステップS307肯定)、移築元情報のクラス名を使用する(ステップS308)。一方、defaultが設定されていない場合には(ステップS307否定)、かかるタグに指定されたクラス名を使用する(ステップS309)。
つづいて、自装置に係るハードウェア構成情報のディスク情報およびノード情報を取得し(ステップS310)、ルールファイルから取得したCLASS_SCOPEタグにall_nodeが設定されているか否かを判定する(ステップS311)。そして、このタグにall_nodeが設定されている場合には(ステップS311肯定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報の物理ディスクと同名であって、かつ、全ノードから共用されている物理ディスクを抽出し、かかる物理ディスクのスコープを全ノードに設定する(ステップS312)。
一方、CLASS_SCOPEタグにall_nodeが設定されていない場合には(ステップS311否定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報の物理ディスクと同名であって、かつ、CLASS_SCOPEタグに指定されたノードから共用されている物理ディスクを抽出し、かかる物理ディスクのスコープを指定されたノードとする。
つづいて、ルールファイルから取得したCLASS_MAKE_DIFFERENCEタグにnoneが設定されているか否かを判定する(ステップS314)。そして、このタグにnoneが設定されている場合には(ステップS314肯定)、ステップS315の処理手順をおこなう。一方、かかるタグにnoneが設定されていない場合には(ステップS314否定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報には含まれない物理ディスクを抽出し、かかる物理ディスクの所属クラスをCLASS_MAKE_DIFFERNCEタグに指定されたクラスとする。
つづいて、ルールファイルから取得したCLASS_MAKE_DISK_NAMEタグにdefaultが設定されているか否かを判定する(ステップS316)。そして、このタグにdefaultが設定されている場合には(ステップS316肯定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報には含まれない物理ディスクの命名を自動的におこなう(ステップS317)。たとえば、移築元情報に含まれる物理ディスク名がDisk1およびDisk2であり、自装置に係るハードウェア構成情報に含まれる物理ディスクが3つである場合には、物理ディスク名をDisk1、Disk2およびDisk3などとする。
一方、CLASS_MAKE_DISK_NAMEタグにdefaultが設定されていない場合には(ステップS316否定)、自装置に係るハードウェア構成情報に含まれる物理ディスクのうち、移築元情報には含まれない物理ディスクの命名を指定に従っておこなう(ステップS319)。たとえば、移築元情報に含まれる物理ディスク名がDisk1およびDisk2であり、自装置に係るハードウェア構成情報に含まれる物理ディスクが3つであり、物理ディスク名としてDisk10が指定された場合には、物理ディスク名をDisk1、Disk2およびDisk10とする。
そして、上述した各判定手順の判定結果に基づいてクラス情報を生成し(ステップS319)、生成したクラス情報に対応するクラス作成コマンドを生成する(ステップS320)。たとえば、図8に例示したコマンド1が、このクラス作成コマンドに該当する。
次に、図9に示したグループ情報生成処理(ステップS202)について図11を用いてさらに詳細に説明する。図11は、グループ情報生成処理の処理手順を示すフローチャートである。同図に示すように、グループ情報生成処理では、移築元情報から該当するクラス内のディスクに関連したグループ情報を取得する(ステップS401)。そして、ルールファイルから「GROUP_」で始まるタグを取得する(ステップS402)。
つづいて、ルールファイルから取得したGROUP_MAKE_GROUP_NAMEタグにdefaultが設定されているか否かを判定する(ステップS403)。そして、このタグにdefaultが設定されている場合には(ステップS403肯定)、移築元情報のグループ名を使用する(ステップS404)。一方、かかるタグにdefaultが設定されていない場合には(ステップS403否定)、タグに指定されたグループ名を使用する(ステップS405)。
つづいて、ルールファイルから取得したGROUP_MAKE_MIRROR_NUMタグに2が設定されているか否かを判定する(ステップS406)。そして、このタグに2が設定されている場合には(ステップS406肯定)、2面ミラーを構成する(ステップS407)。一方、かかるタグに2が設定されていない場合には(ステップS406否定)、タグに指定された数に対応したミラー構成とする(ステップS408)。
つづいて、自装置に係るハードウェア構成情報のグループ情報を取得し(ステップS409)、ルールファイルから取得したCLASS_MAKE_DIFFERENCE_GROUPタグにnoneが設定されているか否かを判定する(ステップS410)。そして、このタグにnoneが設定されている場合には(ステップS410肯定)、ステップS412の処理手順をおこなう。一方、かかるタグにnoneが設定されていない場合には(ステップS410否定)、自装置に係るハードウェア構成情報に含まれるボリュームのうち、移築元情報には含まれないディスクを抽出して同一サイズのディスク間でミラー構成をおこなう(ステップS411)。
そして、上述した各判定手順の判定結果に基づいてグループ情報を生成し(ステップS412)、生成したグループ情報に対応するグループ作成コマンドを生成する(ステップS413)。たとえば、図8に示したコマンド2およびコマンド3が、このグループ作成コマンドに該当する。
次に、図9に示したボリューム情報生成処理(ステップS203)について図12を用いてさらに詳細に説明する。図12は、ボリューム情報生成処理の処理手順を示すフローチャートである。同図に示すように、ボリューム情報生成処理では、移築元情報から該当するグループ内のボリューム情報を取得する(ステップS501)。そして、ルールファイルから「VOLUME_」で始まるタグを取得する(ステップS502)。
つづいて、ルールファイルから取得したVOLUME_MAKE_CLASS_KINDタグにdefaultが設定されているか否かを判定する(ステップS503)。そして、このタグにdefaultが設定されている場合には(ステップS503肯定)、移築元情報のボリューム属性を使用する。一方、かかるタグにdefaultが設定されていない場合には(ステップS503否定)、タグに指定されたボリューム属性を使用する(ステップS505)。
つづいて、ルールファイルから取得したVOLUME_MAKE_CLASS_NAMEタグにdefaultが設定されているか否かを判定する(ステップS506)。そして、このタグにdefaultが設定されている場合には(ステップS506肯定)、移築元情報の所属先クラスを使用する(ステップS507)。一方、かかるタグにdefaultが設定されていない場合には(ステップS506否定)、タグに指定された所属先クラスを使用する(ステップS508)。
つづいて、自装置に係るハードウェア構成情報のボリューム情報を取得し(ステップS509)、ハードウェア構成情報に含まれる物理ディスクに空き領域があるか否かを判定する(ステップS510)。そして、空き領域がある場合には(ステップS510)、上述した各判定手順の判定結果に基づいてボリューム情報を生成し(ステップS511)、生成したボリューム情報に対応するボリューム作成コマンドを生成する(ステップS512)。たとえば、図8に例示したコマンド4〜コマンド8が、このボリューム作成コマンドに該当する。なお、ハードウェア構成情報に含まれる物理ディスクに空き領域がない場合には(ステップS510否定)、ボリューム情報およびボリューム作成コマンドを生成することなく処理を終了する。
上述してきたように、本実施例では、移築先の仮想ボリューム管理装置において、ハードウェア構成情報読込み部が自装置に接続された実ボリュームに係るハードウェア構成情報を取得するとともに、仮想ボリューム情報生成部がこのハードウェア構成情報を用いることにより移入情報読込み部が読込んだ移築元の仮想ボリューム情報を編集することとし、編集にあたっては、移築元と移築先との実ボリュームの個数やサイズの差異や、実ボリュームを共有するノードの差異がある場合の編集ルールを用いることとし、生成ルール読込部が読込んだ編集ルールに従って編集処理をおこなうことにより自装置に係る仮想ボリューム情報を生成するとともに、仮想ボリューム構築部がこの仮想ボリューム情報を実ボリュームに反映させることにより仮想ボリュームの移入処理をおこなうよう構成したので、移築元の実ボリューム構成と移築先の実ボリューム構成とが異なる場合であっても、仮想ボリュームの移築処理を効率的におこなうことができる。
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図13を用いて、上記の実施例と同様の機能を有する仮想ボリューム移築プログラムを実行するコンピュータの一例を説明する。図13は、仮想ボリューム移築プログラムを実行するコンピュータを示す図である。
同図に示すように仮想ボリューム移築装置としてのコンピュータ50は、入力装置51、モニタ52、出力装置53、ディスク制御I/F54、CPU(Central Processing Unit)55、RAM(Random Access Memory)56およびHDD(Hard Disk Drive)57をバス58で接続して構成される。ここで、入力装置51は、図2に示した入力
部2に対応し、モニタ52および出力装置53は同じく出力部4に対応する。また、ディスク制御I/F54は同じくディスク制御IF部3に対応する。
そして、HDD57には、ハードウェア構成情報57a、生成ルール57bおよび仮想ボリューム移築プログラム57cがあらかじめ記憶されている。なお、ハードウェア構成情報57aは図2に示したハードウェア構成情報記憶部21に、生成ルール57bは同じく生成ルール記憶部22に、それぞれ対応している。
CPU55が、HDD57の仮想ボリューム移築プログラム57cを読み出して実行することで、図13に示すように、仮想ボリューム移築プログラム57cは仮想ボリューム移築プロセス55aとして機能するようになる。そして、仮想ボリューム移築プロセス55aが機能すると、HDD57のハードウェア構成情報57aおよび生成ルール57bはRAM56に展開され、ハードウェア構成情報56aおよび生成ルール56bとして記憶される。
なお、仮想ボリューム移築プロセス55aが生成した仮想ボリューム情報56cは、RAM56に記憶されるとともに、ディスク制御I/F54をとおして各ディスク装置に送信される。また、サーバ管理者などから要求があった場合には出力装置53を介して他のコンピュータ50に提供される。
(付記1)実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築プログラムであって、
移築元仮想ボリューム情報を取得する移築元情報取得手順と、
移築先実ボリューム情報を取得する移築先情報取得手順と、
前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成手順と、
前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築手順と
をコンピュータに実行させることを特徴とする仮想ボリューム移築プログラム。
(付記2)前記移築先実ボリューム情報を前記移築元仮想ボリューム情報に反映させる際のルール情報を記憶する記憶手順をさらにコンピュータに実行させ、
前記生成手順は、前記ルール情報に基づいて前記移築先仮想ボリューム情報を生成することを特徴とする付記1に記載の仮想ボリューム移築プログラム。
(付記3)前記生成手順は、前記ルール情報に基づいて前記移築元仮想ボリューム情報に含まれる実ボリューム情報を前記移築先実ボリューム情報に置換することを特徴とする付記2に記載の仮想ボリューム移築プログラム。
(付記4)前記生成手順は、前記移築先仮想ボリューム情報として仮想ボリュームを構築するためのコマンドを生成し、前記構築手順は、前記生成手順が生成した前記コマンドを実行することにより移築先の仮想ボリュームを構築することを特徴とする付記1、2または3に記載の仮想ボリューム移築プログラム。
(付記5)前記記憶手順に記憶された前記移築先仮想ボリューム情報を読み出して出力することにより該移築先仮想ボリューム情報を移出する移出手順をさらにコンピュータに実行させることを特徴とする付記2または3に記載の仮想ボリューム移築プログラム。
(付記6)実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築方法であって、
移築元仮想ボリューム情報を取得する移築元情報取得工程と、
移築先実ボリューム情報を取得する移築先情報取得工程と、
前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成工程と、
前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築工程と
を含んだことを特徴とする仮想ボリューム移築方法。
(付記7)前記移築先実ボリューム情報を前記移築元仮想ボリューム情報に反映させる際のルール情報を記憶する記憶工程をさらに含み、
前記生成工程は、前記ルール情報に基づいて前記移築先仮想ボリューム情報を生成することを特徴とする付記6に記載の仮想ボリューム移築方法。
(付記8)前記生成工程は、前記ルール情報に基づいて前記移築元仮想ボリューム情報に含まれる実ボリューム情報を前記移築先実ボリューム情報に置換することを特徴とする付記7に記載の仮想ボリューム移築方法。
(付記9)前記生成工程は、前記移築先仮想ボリューム情報として仮想ボリュームを構築するためのコマンドを生成し、前記構築工程は、前記生成工程が生成した前記コマンドを実行することにより移築先の仮想ボリュームを構築することを特徴とする付記6、7または8に記載の仮想ボリューム移築方法。
(付記10)前記記憶工程に記憶された前記移築先仮想ボリューム情報を読み出して出力することにより該移築先仮想ボリューム情報を移出する移出工程をさらにコンピュータに実行させることを特徴とする付記7または8に記載の仮想ボリューム移築方法。
以上のように、本発明にかかる仮想ボリューム移築プログラムは、仮想ボリュームの移築に有用であり、特に、実ボリュームの構成が異なるサーバ装置間における仮想ボリュームの移築に適している。
図1は、本発明にかかるボリューム移築処理の概念を示す図である。 図2は、仮想ボリューム管理装置の構成を示す機能ブロック図である。 図3は、仮想ボリューム移築処理の処理手順の概要を示すフローチャートである。 図4は、仮想ボリューム情報の一例を示す図である。 図5は、ハードウェア構成情報の一例を示す図である。 図6は、生成ルールの一例を示す図である。 図7は、図6に示したタグとルール内容とを説明するための図である。 図8は、仮想ボリューム構築コマンドの一例を示す図である。 図9は、仮想ボリューム情報生成処理の処理手順を示すフローチャートである。 図10は、クラス情報生成処理の処理手順を示すフローチャートである。 図11は、グループ情報生成処理の処理手順を示すフローチャートである。 図12は、ボリューム情報生成処理の処理手順を示すフローチャートである。 図13は、仮想ボリューム移築プログラムを実行するコンピュータを示す図である。
符号の説明
1 仮想ボリューム管理装置
2 入力部
3 ディスク制御IF部
4 出力部
10 仮想ボリューム移築処理部
11 移入情報読込み部
12 ハードウェア構成情報読込み部
13 生成ルール読込み部
14 仮想ボリューム情報生成部
15 仮想ボリューム構築部
16 移出処理部
20 記憶部
21 ハードウェア構成情報記憶部
22 生成ルール記憶部
23 仮想ボリューム情報記憶部
50 コンピュータ
51 入力装置
52 モニタ
53 出力装置
54 ディスク制御I/F
55 CPU
55a 仮想ボリューム移築プロセス
56 RAM
56a ハードウェア構成情報
56b 生成ルール
56c 仮想ボリューム情報
57 HDD
57a ハードウェア構成情報
57b 生成ルール
57c 仮想ボリューム移築プログラム
58 バス

Claims (10)

  1. 実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築プログラムであって、
    移築元仮想ボリューム情報を取得する移築元情報取得手順と、
    移築先実ボリューム情報を取得する移築先情報取得手順と、
    前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成手順と、
    前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築手順と
    をコンピュータに実行させることを特徴とする仮想ボリューム移築プログラム。
  2. 前記移築先実ボリューム情報を前記移築元仮想ボリューム情報に反映させる際のルール情報を記憶する記憶手順をさらにコンピュータに実行させ、
    前記生成手順は、前記ルール情報に基づいて前記移築先仮想ボリューム情報を生成することを特徴とする請求項1に記載の仮想ボリューム移築プログラム。
  3. 前記生成手順は、前記ルール情報に基づいて前記移築元仮想ボリューム情報に含まれる実ボリューム情報を前記移築先実ボリューム情報に置換することを特徴とする請求項2に記載の仮想ボリューム移築プログラム。
  4. 前記生成手順は、前記移築先仮想ボリューム情報として仮想ボリュームを構築するためのコマンドを生成し、前記構築手順は、前記生成手順が生成した前記コマンドを実行することにより移築先の仮想ボリュームを構築することを特徴とする請求項1、2または3に記載の仮想ボリューム移築プログラム。
  5. 前記記憶手順に記憶された前記移築先仮想ボリューム情報を読み出して出力することにより該移築先仮想ボリューム情報を移出する移出手順をさらにコンピュータに実行させることを特徴とする請求項2または3に記載の仮想ボリューム移築プログラム。
  6. 実ボリューム上に構築された仮想ボリュームを移築する仮想ボリューム移築方法であって、
    移築元仮想ボリューム情報を取得する移築元情報取得工程と、
    移築先実ボリューム情報を取得する移築先情報取得工程と、
    前記移築先実ボリューム情報を用いて前記移築元仮想ボリューム情報から移築先仮想ボリューム情報を生成する生成工程と、
    前記移築先仮想ボリューム情報に基づいて移築先の仮想ボリュームを構築する構築工程と
    を含んだことを特徴とする仮想ボリューム移築方法。
  7. 前記移築先実ボリューム情報を前記移築元仮想ボリューム情報に反映させる際のルール情報を記憶する記憶工程をさらに含み、
    前記生成工程は、前記ルール情報に基づいて前記移築先仮想ボリューム情報を生成することを特徴とする請求項6に記載の仮想ボリューム移築方法。
  8. 前記生成工程は、前記ルール情報に基づいて前記移築元仮想ボリューム情報に含まれる実ボリューム情報を前記移築先実ボリューム情報に置換することを特徴とする請求項7に記載の仮想ボリューム移築方法。
  9. 前記生成工程は、前記移築先仮想ボリューム情報として仮想ボリュームを構築するためのコマンドを生成し、前記構築工程は、前記生成工程が生成した前記コマンドを実行することにより移築先の仮想ボリュームを構築することを特徴とする請求項6、7または8に記載の仮想ボリューム移築方法。
  10. 前記記憶工程に記憶された前記移築先仮想ボリューム情報を読み出して出力することにより該移築先仮想ボリューム情報を移出する移出工程をさらにコンピュータに実行させることを特徴とする請求項7または8に記載の仮想ボリューム移築方法。
JP2006546519A 2004-11-29 2004-11-29 仮想ボリューム移築プログラム Expired - Fee Related JP4643590B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/017731 WO2006057059A1 (ja) 2004-11-29 2004-11-29 仮想ボリューム移築プログラムおよび仮想ボリューム移築方法

Publications (2)

Publication Number Publication Date
JPWO2006057059A1 true JPWO2006057059A1 (ja) 2008-06-05
JP4643590B2 JP4643590B2 (ja) 2011-03-02

Family

ID=36497808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006546519A Expired - Fee Related JP4643590B2 (ja) 2004-11-29 2004-11-29 仮想ボリューム移築プログラム

Country Status (3)

Country Link
US (1) US8072989B2 (ja)
JP (1) JP4643590B2 (ja)
WO (1) WO2006057059A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099497B2 (en) * 2008-02-19 2012-01-17 Netapp, Inc. Utilizing removable virtual volumes for sharing data on a storage area network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150414A (ja) * 2001-11-12 2003-05-23 Hitachi Ltd データベース管理システム情報を考慮したデータ再配置方法およびデータ再配置を行う計算機システム
JP2003296152A (ja) * 2002-03-29 2003-10-17 Toshiba Corp Hsmシステムおよび同システムのマイグレーション制御方法
JP2003296039A (ja) * 2002-04-02 2003-10-17 Hitachi Ltd クラスタ構成記憶システム及び制御方法
JP2003345522A (ja) * 2002-05-27 2003-12-05 Hitachi Ltd データ再配置方法及び装置
JP2004145855A (ja) * 2002-08-29 2004-05-20 Hitachi Ltd 記憶装置システム及びデータ複製方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3448068B2 (ja) 1991-12-24 2003-09-16 富士通株式会社 データ処理システムおよびストレージ管理方法
JP2000010738A (ja) * 1998-06-17 2000-01-14 Toshiba Corp ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体
JP3714184B2 (ja) 2001-03-29 2005-11-09 富士通株式会社 記憶装置のデータ領域間複写処理方法、及び記憶システム
JP2003108420A (ja) 2001-09-27 2003-04-11 Hitachi Ltd データストレージシステム及びこの制御方法
JP2003296037A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 計算機システム
US20040254964A1 (en) * 2003-06-12 2004-12-16 Shoji Kodama Data replication with rollback
JP4386694B2 (ja) * 2003-09-16 2009-12-16 株式会社日立製作所 記憶システム及び記憶制御装置
JP2005157867A (ja) * 2003-11-27 2005-06-16 Hitachi Ltd 記憶システム、記憶制御装置及び記憶制御装置を用いたデータ中継方法
JP4703959B2 (ja) * 2003-12-03 2011-06-15 株式会社日立製作所 記憶装置システムおよびそのレプリケーション作成方法
JP2005321913A (ja) * 2004-05-07 2005-11-17 Hitachi Ltd ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
JP4230410B2 (ja) * 2004-05-11 2009-02-25 株式会社日立製作所 仮想ストレージの通信品質制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150414A (ja) * 2001-11-12 2003-05-23 Hitachi Ltd データベース管理システム情報を考慮したデータ再配置方法およびデータ再配置を行う計算機システム
JP2003296152A (ja) * 2002-03-29 2003-10-17 Toshiba Corp Hsmシステムおよび同システムのマイグレーション制御方法
JP2003296039A (ja) * 2002-04-02 2003-10-17 Hitachi Ltd クラスタ構成記憶システム及び制御方法
JP2003345522A (ja) * 2002-05-27 2003-12-05 Hitachi Ltd データ再配置方法及び装置
JP2004145855A (ja) * 2002-08-29 2004-05-20 Hitachi Ltd 記憶装置システム及びデータ複製方法

Also Published As

Publication number Publication date
JP4643590B2 (ja) 2011-03-02
US20070280272A1 (en) 2007-12-06
WO2006057059A1 (ja) 2006-06-01
US8072989B2 (en) 2011-12-06

Similar Documents

Publication Publication Date Title
CN104603739B (zh) 对并行存储的块级访问
JP5411250B2 (ja) 冗長データ記憶システムへの指示に従ってのデータ配置
JP5276218B2 (ja) リアルタイムでlunをファイルに、またはファイルをlunに変換すること
CN100485678C (zh) 将虚拟映射存入对象属性中的分布式基于对象的存储系统
CN102918509B (zh) 数据读写方法、装置和存储系统
JP4741371B2 (ja) システム、サーバ装置及びスナップショットの形式変換方法
JP2019153297A (ja) Fpgaベースの加速のための新たなssd基本構造
US6901478B2 (en) Raid system and mapping method thereof
JP2005284609A (ja) バックアップ方法、ストレージシステム及びそのプログラム
US8307026B2 (en) On-demand peer-to-peer storage virtualization infrastructure
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
JP2004005358A5 (ja)
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
US7499980B2 (en) System and method for an on-demand peer-to-peer storage virtualization infrastructure
CN111708894B (zh) 一种知识图谱创建方法
CN115470156A (zh) 基于rdma的内存使用方法、系统、电子设备和存储介质
JP5556025B2 (ja) ストレージシステム
KR101601877B1 (ko) 분산 파일시스템에서 클라이언트가 데이터 저장에 참여하는 장치 및 방법
CN110362590A (zh) 数据管理方法、装置、系统、电子设备及计算机可读介质
CN102792281B (zh) 存储设备
US9715477B2 (en) Shared-bandwidth multiple target remote copy
US10025680B2 (en) High throughput, high reliability data processing system
JP4643590B2 (ja) 仮想ボリューム移築プログラム
JP2007328727A (ja) 分散ファイル管理方法及び情報処理装置
WO2012171363A1 (zh) 分布式缓存系统中的数据操作方法和装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100929

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101007

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees