以下、本発明の一実施例を図面を用いて説明する。
(1)システム全体構成
図1は、本発明の実施の形態によるシステム全体の構成例を示す図である。本実施の形態では、移行支援装置の一例としての移行処理管理サーバ100が、クライアント端末103に接続されている一方、ネットワーク105を介して移行元クラウド101に接続されているとともに、ネットワーク104を介して移行先クラウド102に接続されている。クライアント端末103は管理インタフェース(I/F)106を備える。
詳細は後述するが、移行処理管理サーバ100は、サーバ、ネットワーク、ストレージ装置に関する計算リソースを組み合わせて、1つ以上のサーバと1つ以上のディスクを含む情報処理システムが構築されているクラウド環境下で、移行元クラウド(第1のクラウド)に構築された情報処理システム145を移行先クラウド(第2のクラウド)上に移行する処理を管理する機能を有する。
まず、移行元クラウド101は、クラウド管理サーバ140、クラウドサービスメニュー管理テーブル141、情報処理システム145およびテンポラリストレージ146を備える。なお、本実施の形態において用いる「クラウド」の範囲には、情報処理システム145が設置されている拠点の物理環境(例えば仮想化されていないIT環境)や、「クラウド」という用語が一般的に用いられる前に使用されていたいわゆるホスティング・ハウジング・VPS(Virtual Private Server)などを含んでいても良い。
クラウド管理サーバ140は、移行元クラウド101全体を統括制御するプロセッサで構成され、ネットワーク105を介して移行処理管理サーバ100やクライアント端末103と情報の送受信を行うと共に、ネットワーク105およびネットワーク104を介して移行先クラウド102と情報の送受信を行う。
クラウドサービスメニュー管理テーブル141は、移行元クラウド101が提供するITリソース(例えば、情報処理システム145)のスペックに関するメニュー情報を管理するテーブルである。このメニュー情報は、本実施の形態においては、移行処理管理サーバ100からも利用される。この移行処理管理サーバ100からこのクラウドサービス管理テーブル141の情報が取得できない場合には、移行処理管理サーバ100の内部に同様のテーブルがあってもよい。
情報処理システム145は、複数のサーバ160a、160b、複数のディスク160a1〜a2、160b1〜b3を有する。これらのサーバ160a、160bとディスク160a1〜a2、160b1〜b3は、移行元クラウド101により提供されるITリソースである。各サーバは、物理サーバあるいは仮想サーバのいずれであってもよい。また、各サーバは、仮想ネットワークあるいは物理ネットワークにより接続される。クラウド利用者は、これらITリソースを組み合わせて情報処理システム145を構築する。
情報処理システム145は、業務システムの機能を提供するための構成を含む。例えば、情報処理システム145が、Webシステム機能を提供する3階層型の構成である場合、サーバ160aには、Web/APサーバプログラムが搭載され、サーバ160bには、データベースプログラムが搭載される。各サーバは、クラウド管理サーバ140により管理されている。
サーバ160aは、ディスク160a1〜160a2に接続され、サーバ160bは、ディスク160b1〜160b3に接続されるが、これらの構成には限定されない。これらのディスクの種類には、システムデータディスクと業務データディスクを含む。システムデータディスクには、例えば、OS(Operating System)やアプリケーションが、それぞれ設定情報と共にインストールされる。他方で、業務データディスクには、例えば、データベース内の業務データや業務に用いるファイルなどが保存される。
サーバ160a〜160bは、上記ディスクのうち2つ以上をグループ化して利用しても良い。グループ化の形態としては、例えば、2つのディスクをグループ化し同じデータを書き込むことで、可用性を向上させるミラーリング、2つのディスクをグループ化して別々にデータを読み書きすることで性能を向上させるストライピング、あるいは両者の組み合わせのいずれをも採用することができる。
これらの実現方法としては、例えば、ソフトウェアRAID(Redundant Array of Inexpensive Disks)を含む。上述したグルーピングの形態としては、上記手法の代わりにあるいは併せて、スパニングボリューム、RAID5、RAID6を採用することもできる。また、サーバ160a〜bは、ディスクの暗号化をしてもよい。この実現方法としては、ファイルシステムの暗号化機能や、デバイス入出力部の暗号化機能などの、OSにより暗号化を行う方法を含む。移行元クラウド101から提供される個々のディスクについて、可用性・性能・暗号化などの特性が不足している場合は、上記のような方法で利用者自身によりそれらの特性を担保してもよい。
これらディスク160a1〜a2、160b1〜b3は、移行元クラウド101内で管理されている。これらディスクが仮想ディスクの場合は、ディスクイメージとして保存される場合もある。ディスクイメージのフォーマットの種類としては、例えば、VMDK(Virtual Machine Disk)、AMI(Amazon Machine Image)、VHD(Virtual Hard Disk)、QCOW(QEMU Copy On Write)またはRAWを挙げることができる。各クラウドは、これらディスクに記憶されたデータなどをクラウドの外部からインポートする機能や、クラウドの外部にエクスポートする機能を有することもある。
テンポラリストレージ146は、移行先クラウド102から移行する情報処理システムのデータ(ディスクイメージなど)を一次的に保管する記憶部である。
移行先クラウド102は、移行元クラウド101と同様に、クラウド管理サーバ150、クラウドサービスメニュー管理テーブル151、情報処理システム155およびテンポラリストレージ156を有する。情報処理システム155は、移行対象の情報処理システム145が、移行先クラウド102上に移行されたものであって、サーバ170a、170b、ディスク170a1〜170a3、170b1〜170b3を有する他は、移行先クラウド102の構成は、移行元クラウド101と同様であるので説明を省略する。
移行処理管理サーバ100は、移行元クラウド101に構築された情報処理システム145を移行する処理の要求を受け付けた時に、情報処理システム145のシステム要件と移行先クラウドのサービスメニューを考慮して、移行先クラウド102向けの情報処理システム155として再設計した後に、移行実施処理を行う。
本実施の形態では、移行処理管理サーバ100が、移行元クラウド101および移行先クラウド102に、ネットワーク105又はネットワーク104経由でアクセスできる場所に配置される例を示している。実際には、移行処理管理サーバ100は、移行元クラウド101内に配置されていてもよいし、移行先クラウド102内に配置されていてもよい。移行元のクラウド管理サーバ140と移行先のクラウド管理サーバ150にアクセスできるのであれば、移行処理管理サーバ100はいずれの場所にあってもよい。
移行処理管理サーバ100は、移行処理要求分析部111、テーブル更新部112、マッピング部113、構成管理テーブル114、ディスク構成再設計部115および移行実施部116を有する。
移行処理要求分析部111は、クライアント端末103から、情報処理システム145の移行処理の要求を受け付け、その要求内容の分析結果にしたがって、適切な処理を移行処理管理サーバ100内の各部に実行させる。移行処理要求には、システム構成把握、システム要件取得、ディスク構成再設計、システム移行などを含むが、これらの要求には限定されない。
移行処理要求分析部111の要求分析の結果がシステム構成把握要求である場合、移行元クラウド101内のクラウド管理サーバ140から、移行対象の情報処理システム145のシステム構成情報を取得する処理が実行される。移行処理要求分析部111の要求分析の結果が、システム要件取得要求の場合、管理I/F106に入力されるシステム要件情報を取得するなどの、適宜の方法で、移行対象の情報処理システム145のシステム要件を取得する処理が実行される。
移行処理要求分析部111の要求分析の結果がシステム構成再設計要求である場合、前述のシステム構成とシステム要件、および、移行先クラウド102の管理サーバ150にアクセスして得られるサービスメニューを参照し、それら情報を考慮して、情報処理システム145のディスク構成を、移行先クラウド102に適した情報処理システム155として再設計する処理が実行される。
移行処理要求分析部111の要求分析の結果が移行実施要求である場合、適宜の方法で、移行元クラウド101の情報処理システム145を移行し、移行先クラウド102上の情報処理システム155として構築する処理が実行される。
構成管理テーブル114は、移行対象の情報処理システム145の構成に関連する情報を管理するテーブルである。構成管理テーブル114が管理する情報は、例えば、移行対象の情報処理システム145の移行元クラウド101におけるシステム構成情報およびシステム要件、移行先におけるシステム構成情報、および移行元・移行先でのシステム構成情報のマッピング情報を管理する。
ディスク構成再設計部115は、メニュー情報に基づいて、移行先クラウド102が提供するリソースを用いてシステム要件を満たすように、情報処理システム155のディスク構成を再設計する機能を有する。すなわち、ディスク構成再設計部115は、移行対象の情報処理システム145の移行時に、移行先クラウド102のサービスメニューにより規定される計算リソース(以下「ITリソース」と称する)を用いつつもシステム要件を満たすよう、ディスク構成を再設計する。
より具体的には後述するが、ディスク構成再設計部115は、情報処理システム145の所定のディスクに関するシステム要件のうち性能要件もしくは容量要件に関して、移行先クラウドが提供するディスクメニューうちのいずれの種類の単一ディスクでも満たさない場合、システム要件を満たすように移行先クラウドが提供するいずれかの種類のディスクを複数個グループ化してストライピングするよう再設計すること、および、情報処理システム145の所定のディスクに関するシステム要件のうち可用性要件に関して、移行先クラウド102が提供するディスクメニューうちのいずれの種類の単一ディスクでも満たさない場合、システム要件を満たすように、移行先クラウド102が提供するいずれかの種類のディスクを複数個グループ化してミラーリングするよう再設計すること、の少なくとも一方を必要に応じて実施する。
移行実施部116は、ディスク構成再設計部115が再設計したディスク構成に従って、移行先クラウド102が提供するITリソースのサービスメニューを用いて、移行対象の情報処理システム155を移行先クラウド102上に構築する。その後、移行元クラウド101の情報処理システム145から、移行先クラウド102の情報処理システム155に、データ移行を行う。
テーブル更新部112は、ディスク構成再設計部115の処理の後、サーバマッピングテーブル122などの内容を更新する。より具体的には、テーブル更新部112は、情報処理システム115のディスク構成の再設計結果に基づいて、移行先システム構成管理テーブル121、サーバマッピングテーブル122およびディスク構成再設計テーブル124を更新する。
サーバマッピングテーブル122についての詳細は後述するが、移行元システム構成管理テーブル120と移行先システム構成管理テーブル121の間でのサーバの対応関係を管理している。テーブル更新部112は、移行元システム構成管理テーブル120、移行先システム構成管理テーブル121の内容を更新し、さらに、ディスク要件管理テーブル123およびディスク再構成テーブル124の内容を更新する。
マッピング部113は、移行元クラウド101における移行対象の情報処理システム145内の各サーバ160a〜160bと、移行先クラウド102における移行対象の情報処理システム155内の各サーバ170a〜170bとの対応関係を特定する。また、マッピング部113は、移行対象の情報処理システム145,155の間で、システム構成情報のマッピングも行う。例えば、移行元クラウド101および移行先クラウド102で利用されている仮想化基盤が異なる場合には、システム構成情報のマッピングを行う必要がある。
具体的には、移行元クラウド101および移行先クラウド102は、情報処理システム145,155のサーバに対するCPUの割り当て方が異なる場合がある。例えば、移行元クラウド101では、サーバ160a〜bにはCPUコアの割り当てを行うのに対して、移行先クラウド102では、サーバ170a〜bにはインスタンスタイプという形で割り当てられる場合がある。このとき、移行元クラウド101と移行先クラウド102では、サーバのCPU性能の表現方法が異なっているため、対応付ける必要がある。また、仮想化基盤によっては、アクセス制御設定のやり方が異なる場合もあるため、これらのマッピングもマッピング部113が行う。
ディスク構成再設計部115は、システム構成取得部131、ディスク要件取得部132、クラウドサービスメニュー取得部133およびディスク再設計判定部134を有する。
システム構成取得部131は、移行元クラウド101上に構築された情報処理システム145の構成情報を、例えば移行元クラウド101から取得する。
ディスク要件取得部132は、移行対象となる情報処理システム145のディスクに関するシステム要件情報を、例えば移行元クラウド101から取得する。
クラウドサービスメニュー取得部133は、リソースメニュー管理テーブル151を参照して得られる、移行先クラウド102が提供するITリソースのメニュー情報を取得する機能を有し、例えば、移行元クラウド101および移行先クラウド102が提供するクラウドサービスのメニューについて、それらメニューに関するカタログを移行元クラウド101および移行先クラウド102から取得する。
ディスク再設計判定部134は、移行対象の情報処理システムの構成情報とシステム要件、および、移行先クラウド102のサービスメニューを考慮し、移行先クラウド102における情報処理システム155のディスク構成を再設計する。
移行実施部116は、構成分解部135、システム構築部136、システムデータ領域転送部137、業務データ領域転送部138および分解ポリシー139を有する。
分解ポリシー139は、サーバを移行する単位を事前に定義するためのポリシーである。この分解ポリシー139は、移行単位ポリシーの一例であり、例えば、移行元クラウド101から移行先クラウド102に情報処理システム145を移行する単位を規定する移行単位ポリシーである。
分解単位は、クラウドの種類によって異なるため、例えば、移行先クラウド102に合わせて分解ポリシー139が設定される。サーバを移行する単位には、例えば、複数のディスクや複数のNICを含むサーバ全体の場合や、単一ディスク・単一NICを含む場を含む。後者について、複数のディスクを持つサーバを移行する場合には、移行元で一旦ディスク単位に分解して、ディスク単位で個別に移行して、移行先クラウド102内でアタッチする。また、同様に、複数のNICを持つサーバを移行する場合は、移行先クラウド102で追加NICを作成してアタッチする。
構成分解部135は、移行対象のサーバそれぞれについて、分解ポリシー139に沿ってサーバの構成を分解する。より具体的には、構成分解部135は、分解ポリシー139に基づいて、移行元クラウド101上に構築された情報処理システム145を、サーバ、入出力デバイス、サブネットおよびディスクのうちの少なくとも1つのシステム構成要素を含む単位に分解する。
例えば、分解ポリシー139で、サーバとシステムデータディスクのセット、又は業務データディスクが移行単位として設定されている場合、業務データディスクは、サーバのシステムデータディスクとは別に移行される。例えば、サーバに3つのディスクがアタッチされており、そのうちのひとつがシステムデータディスクである場合には、サーバとディスク1(システムデータ)、ディスク2(業務データ)、ディスク3(業務データ)のように、分解する。
システム構築部136は、移行先クラウド102上に、移行対象の情報処理システム155を構築する。より具体的には、システム構築部136は、分解ポリシー139および移行元システム構成管理テーブル120に基づいて、移行元クラウド101上の情報処理システム145におけるディスク以外のシステム構成要素間の依存関係を保持しつつ、移行先クラウド102上にシステム構成要素を生成し接続し、ディスク再設計テーブル124に基づいて、ディスクを生成して接続し、ディスクグルーピングの設定を行う。このシステム構築部136は、例えば、移行先クラウド102上に、移行対象のVMの仮想ハードウェア、仮想ディスク、仮想NIC、サブネットのようなITリソースを作成したり、各ITリソースを相互に接続したりする。
システムデータ転送部137は、移行対象のVMのシステムデータ領域を転送する。より具体的には、システムデータ転送部137は、移行元クラウド101から移行先クラウド102の対応するサーバ間で、ディスクイメージ転送、バックアップ・リストア、及びオンラインレプリケーションの少なくとも一方を用いてディスク内のデータを転送する機能を有する。
上述した転送のために、主にシステムデータ転送部137がイメージ変換処理を行う。このイメージ変換処理では、一般的に、移行元クラウド101からシステムデータディスクのディスクイメージファイルを取得し、移行先クラウド102向けのイメージファイルにフォーマット変換し、変換されたイメージファイルを移行先クラウド102にインポートし、移行先クラウド102上に構築した仮想ハードウェアにアタッチする方法である。イメージ変換処理は、従前の方法を用いればよい。
業務データ転送部138は、業務データを移行元クラウド101から移行先クラウド102に転送する。移行元クラウド101と移行先クラウド102との間で業務データを転送するために、前述のように業務データディスクに対してもイメージ変換処理を行う方法がある。また、ファイルシステムやデータベースのバックアップ・リストア機能やレプリケーション機能を用いて業務データを転送する方法もある。
図2は、移行元システム構成管理テーブルおよび移行先システム構成管理テーブルの構成を示すブロック図である。移行元システム構成管理テーブル120は、移行元のクラウド101上に構築された情報処理システム145のシステム構成情報を管理する機能を有し、例えば、システムトポロジテーブル201、サーバ構成テーブル202、サーバイメージファイル203を有する。一方、移行先システム構成管理テーブル121は、移行先クラウド102上に構築されるべき情報処理システム155のシステム構成情報を管理する機能を有し、例えば、システムトポロジテーブル221、サーバ構成テーブル222およびサーバイメージファイル223を有する。
サーバ構成テーブル202は、サーバ基本構成テーブル211、ディスク構成テーブル212、OSレベルディスク設定テーブル213から構成され、サーバ構成テーブル222は、サーバ基本構成テーブル231、ディスク構成テーブル232、OSレベルディスク設定テーブル233から構成されなお、両者のテーブル120、121の構成要素は同様であり、以下、主として、移行元システム構成管理テーブル120の例を説明するが、同様の説明が移行先システム構成管理テーブル121にも適用することができる。
システムトポロジテーブル201は、情報処理システム145の構成を管理するテーブルである。このシステムトポロジテーブル201に関する詳細は後述する。情報処理システム145を構成するサーバ160a〜160bのリストを保持する。さらにサーバ間の接続関係やサーバ以外の設定情報、例えば、ロードバランサの設定やファイアウォールの設定などを保持するが、これらには限定されない(非図示)。システムトポロジテーブル201の詳細については、後述する図3において説明する。
サーバ構成テーブル202は、システムトポロジテーブル201で管理される各サーバの構成情報を保持するテーブルである。サーバ構成テーブル202は、サーバ基本構成テーブル211、ディスク構成テーブル212およびOSレベルディスク設定テーブル213を有する。
サーバ基本構成テーブル211は、サーバに関する基本的な構成情報を管理するテーブルである。例えば、サーバ160a〜160bのCPUスペックやメモリサイズ、搭載されているOSの種類やバージョン、サーバ160a〜160bが持っているネットワークインタフェースの数と、ネットワークインタフェースのMACアドレス、サーバ160a〜160bにアタッチされているディスクの数と、ディスクの識別子を含むが、これらには限定されない。サーバ基本構成テーブルの詳細は図4A〜4Cにおいて説明する。
ディスク構成テーブル212は、ディスクの構成情報を管理するテーブルである。例えば、ディスク160a1〜a2、160b1〜160b3の識別子、ディスクタイプ、容量、性能保証量などである。ディスクタイプは、クラウドサービスが提供するディスクに関するメニューに対応する。
OSレベルディスク設定テーブル213は、サーバ上で稼働するOSによるディスク利用形態に関する設定内容を管理するテーブルである。ディスク利用形態は、ファイルシステム(情報処理システム145に構築されるファイルシステム)の種別やマウントポイント、複数のディスクのグルーピングの種別を管理する。グルーピングの例としては、冗長化のために複数ディスク間で同一データを保持するミラーリング形式、性能向上のために複数ディスク間でデータを分散保持してデータの並列読み書きをするストライピング方式、あるいは、それらの形式の組み合わせを含んでいる。グルーピングの例には、単一のディスクをそのまま利用する場合も含むばかりでなく、その代わりに、この単一ディスクが複数のパーティショニングされている場合を含んでいても良い。
ところで、ストライピング方式によるグループ化については、複数のディスクをストライピング(あるいはスパニングボリューム)でグループ化すると、当該グループ化したディスクのうちひとつでも障害が起こるとグループとしても機能不全に陥るためにグループとしての可用性が低下することもありうる。この場合、可用性の試算としては、例えば可用性を稼働率p(%)で表現すると、可用性がpのディスクN個についてストライピングでグループ化するとグループとしての可用性はpNとなる。
サーバイメージファイル203は、サーバを起動するときに利用するディスクイメージのファイルである。情報処理システム145が複数のサーバで構成され、それぞれのサーバが異なる役割で動作する場合には、サーバイメージファイル203は複数存在する。本実施の形態では、サーバイメージファイル203を移行処理管理サーバ100に配置しているが、移行元クラウド101あるいは移行先クラウド102に配置してサーバを生成するときに参照できる場所であれば、どこでもよい。
図3は、システムトポロジテーブルの構成例を示す図である。図3では、移行元システム構成管理テーブル120内のシステムトポロジテーブル201を示している。なお、移行先システム構成管理テーブル121内のシステムトポロジテーブル221も同様の構成であるため、システムトポロジテーブル221については説明を省略する。
システムトポロジテーブル201は、システム識別子で識別される情報処理システムの構成に関する情報を保持するテーブルである。このシステムトポロジテーブル201は、システム識別子301、サーバ識別子302、IPアドレス303、サブネット304、サーバ名305、イメージ識別子306、サーバタイプ307および状態308を有する。
システム識別子301は、移行元クラウド101上に構築された情報処理システム145の識別子であり、情報処理システム145を一意に識別できる識別子である。サーバ識別子302は、情報処理システム145を構成するサーバに付与される識別子であり、サーバが生成されたときに、クラウド管理サーバ140により自動的に付与され、情報処理システム145において一意に識別できる識別子である。IPアドレス303は、サーバ識別子302で識別されるサーバに付与されたIPアドレスである。サブネット304は、サーバ識別子302で識別されるサーバが接続する1つ以上のサブネットであり、このサブネットは、図示は省略するが、IPアドレスレンジやサブネットマスクやデフォルトゲートウェイのIPアドレスなどのパラメータを保有する。サーバ名305は、サーバ識別子302で識別されるサーバの名前である。イメージ識別子306は、サーバ識別子302で識別されるサーバのシステムデータディスクのディスクイメージの識別子である。サーバタイプ307は、サーバ識別子302で識別子されるサーバを搭載するインスタンスの種類である。例えば、クラウドサービスの場合は、複数種類のインスタンスのタイプがサービスとして提供されており、ユーザはインスタンスのタイプを選択してサーバを生成することができる。状態308は、サーバ識別子302で識別されるサーバの状態を表す。例えば、稼動中(running)、停止、ペンディングなどの、サーバの状態が記録される。本実施の形態では、システム1(情報処理システム145)が2つのサーバ(VM−S−1(サーバ160a)、VM−S−2(サーバ160b))で構成され、それぞれのサーバの構成情報が示されている。
図4Aは、移行元のサーバ構成テーブル202内のサーバ基本構成テーブル211の構成例を示す図である。移行先のサーバ構成テーブル222内のサーバ構成管理テーブル231も同様であり、サーバ基本構成テーブル231については図11Aで説明する。
サーバ基本構成テーブル211は、サーバを構成しているコンポーネントのパラメータを保持するテーブルである。サーバ基本構成テーブル211は、サーバ識別子401、IPアドレス402、OS403、イメージ識別子404、ディスク405およびネットワークカード406を有するが、これらには限定されない。サーバを構成するときに関連するパラメータであれば、どのようなパラメータでもよい。
サーバ識別子401は、既述のサーバ識別子302に対応しているとともに、IPアドレス402も、既述のIPアドレス303に対応している。OS403は、サーバ識別子401を用いて識別されるサーバに搭載されたオペレーティングシステムの種類やバージョンを管理する情報である。イメージ識別子404は、既述のイメージ識別子306に対応している。
ディスク405は、サーバ識別子401で識別されるサーバにアタッチされたディスクの数と、ディスクの識別子を管理するための情報である。ネットワークカード406は、サーバ識別子401で識別されるサーバが持つネットワークインタフェースの数とアドレスを管理するための情報である。例えば、図4Aの例では、VM−S−1はOSとして64ビットWindows(登録商標)が搭載され、ディスクを2つ備えるとともにNICを2つ備えている。
図4Bは、移行元のサーバ構成テーブル内202のディスク構成テーブル212の構成例を示す図である。移行先のサーバ構成テーブル222内のディスク構成管理テーブル232も同様であり、サーバ基本構成テーブル232については図11Bで説明する。
ディスク構成テーブル212は、ディスクに関するパラメータを保持するテーブルである。ディスク構成テーブル212は、図示しないディスクグループ識別子、ディスク識別子421、ディスクタイプ422、容量423および性能保証424を有するが、これらには限定されない。ディスクを構成するときに関するパラメータであれば、どのようなパラメータでもよい。
ディスクグループ識別子は、サーバにアタッチされたディスクが属するディスクグループを一意に識別するための識別子である。ディスク識別子422は、サーバにアタッチされたディスクを一意に識別するための識別子である。ディスクタイプ423は、ディスク識別子422で識別されるディスクのタイプを特定する情報である。容量424は、ディスク識別子422で識別されるディスクの容量を示す情報である。性能保証425は、ディスク識別子422で識別されるディスクの性能を保証する情報である。例えば、ディスクが、一定時間当たりのアクセス頻度として「100IOPS」を保証できる場合、性能保証424のエントリには、「100IOPS」が記録される。
図4Cは、移行元のサーバ構成テーブル202内のOSレベルディスク設定テーブル213の構成例を示す図である。移行先のサーバ構成テーブル222内のOSレベルディスク設定テーブル233も同様であり、OSレベルディスク設定テーブル233については図11Cで説明する。
OSレベルディスク設定テーブル213は、サーバ上で動作するOSによるディスクの設定に関するパラメータを保持するテーブルである。OSレベルディスク設定テーブル213は、サーバ識別子441、ファイルシステム442、マウントポイント443、ディスクグループ識別子444、ディスクグループ種別445、ソフトウェア暗号化446およびディスク識別子447を有するが、これらには限定されない。OSによるディスクの設定に関するパラメータであれば、どのようなパラメータでもよい。
サーバ識別子441は、サーバ識別子401と同様である。ファイルシステム442、マウントポイント443、ディスクグループ識別子444、ディスクグループ種別445、ソフトウェア暗号化446は、サーバ上稼働するゲストOSの設定情報である。ファイルシステム442は、サーバ識別子441で識別されるサーバに構築されたファイルシステムの名称である。マウントポイント443は、ファイルシステム442にマウントされたドライブの名称である。ディスクグループ識別子444は、ファイルシステム442を構成するディスクグループを一意に識別するための識別子である。ディスクグループ種別445は、ファイルシステム442を構成するディスクグループの種別を特定する情報である。例えば、ファイルシステム442を構成するディスクグループが単一のディスクで構成されている場合、ディスクグループ種別445のエントリには、「single」の情報が記録され、ファイルシステム442を構成するディスクグループが2つのディスクのストライピングにより構成されている場合、ディスクグループ種別445のエントリには、「striping」の情報が記録される。ソフトウェア暗号化446は、ファイルシステム442の暗号化の有無を示す情報である。ディスク識別子447は、ファイルシステム442が利用するディスク(利用ディスク)を一意に識別するための識別子である。例えば、ファイルシステム442が、単一のディスクを利用する場合、ディスク識別子447のエントリには、「Disk-S-1-1」の情報が記録される。
図5は、サーバマッピングテーブル122の構成例を示す図である。サーバマッピングテーブル122は、移行元クラウド101上の情報処理システム145のサーバのイメージ識別子と、それに対応する移行先クラウド102上の情報処理システム155のサーバのイメージ識別子との対応を管理するためのテーブルである。サーバマッピングテーブル122は、移行元サーバ識別子501および移行先サーバ識別子502を有する。移行元サーバ識別子501は、移行元クラウド101上のサーバを一意に識別するための識別子である。移行先サーバ識別子502は、移行先クラウド102上のサーバを一意に識別するための識別子である。それぞれの識別子は、サーバ構築時に付与され、情報処理システム145,155それぞれの間で一意である。また、サーバマッピングテーブル122は、情報処理システム145におけるサーバを移行先クラウド102に構築したときに作成される。
図6Aは、移行元のクラウドサービスメニュー管理テーブル141内のサーバタイプ仕様テーブル601の構成例を示す図である。このサーバタイプ仕様テーブル601は、移行元クラウド101が提供するサーバのスペックに関するメニュー情報を管理するテーブルである。サーバタイプ仕様テーブル601は、サーバタイプ611、コスト612、CPU613、メモリ614および可用性615を有する。サーバタイプ611は、クラウドサービス(移行元クラウド101)が提供するサーバの種別であり、サーバタイプ611に対応して、コスト612、CPU613、メモリ614、可用性615などのスペックが事前に定義されている。コスト612は、サーバタイプ611に属するサーバのコストのランクを特定する情報である。CPU613は、サーバタイプ611に属するサーバを構成するCPUの個数を特定する情報である。メモリ614は、サーバタイプ611に属するサーバが利用するメモリの容量を特定する情報である。可用性615は、サーバタイプ611に属するサーバの可用性の程度を特定する情報である。この際、例えば、クラウドの利用者が、サーバタイプ611として、ServerType−S−Smallのサーバを指定すると、コスト612が低程度、CPU613が1個、メモリ614が4GB、可用性615が中程度のサーバを利用することができる。
図6Bは、移行元のクラウドサービスメニュー管理テーブル内のディスクタイプ仕様テーブル602の構成例を示す図である。ディスクタイプ仕様テーブル602は、移行元クラウド101が提供するディスクのスペックに関するメニュー情報を管理するテーブルである。ディスクタイプ仕様テーブル602は、ディスクタイプ621、コスト622、容量上限623、性能保証上限624、可用性625および暗号化626を有する。
なお、本実施の形態では、クラウドサービスメニュー情報が、主に、各クラウドが明示するスペックを想定しているものとして説明するが、これに限られず、クラウド上明示的にスペックを公表しない場合(あるいは実際のスペックから外れている場合)を考慮し、利用者自身がリソースの実測値に基づいて推定したサービススペックを想定しているものとしても良い。この場合は、移行処理管理サーバ100のクラウドサービスメニュー取得部133は、移行元クラウド101・移行先クラウド102からメニューのスペック情報を直接を取得するのではなく、例えば、管理端末103の管理I/F106により入力されるスペック情報を取得してもよい。
上述したディスクタイプ621は、クラウドサービス(移行元クラウド101)が提供するディスクの種別であり、ディスクタイプ621に対応して、コスト622、容量上限623、性能保証上限624、可用性625、暗号化626などのスペックが事前に定義されている。コスト622は、ディスクタイプ621に属するディスクのコストのランクを特定する情報である。容量上限623は、ディスクタイプ621に属するディスクの容量の上限値を規定した情報である。性能保証上限624は、ディスクタイプ621に属するディスクの性能を保証する上限値を規定した情報であり、ランダムリード・シーケンシャルリード・ランダムライト・シーケンシャルライトのIOPSなど適宜の指標を含む。可用性625は、ディスクタイプ621に属するディスクの可用性の程度を特定する情報である。暗号化626は、ディスクタイプ621に属するディスクの暗号化の有無を特定する情報である。この際、例えば、クラウドの利用者が、ディスクタイプ621として、DiskType−S−1のディスクを指定すると、コスト622が低程度、容量上限623が500GB、性能保証上限624が無、可用性625が中程度、暗号化626のオプションが無いというディスクを利用することができる。
図6Cは、移行先のクラウドサービスメニュー管理テーブル内のサーバタイプ仕様テーブルの構成例を示す図である。移行先のクラウドサービスメニュー管理テーブル151は、移行先クラウド102が提供するITリソースについてシステム要件に関するリソーススペックを規定したメニューを1つ以上管理している。
移行先のクラウドサービスメニュー管理テーブル151内のサーバタイプ仕様テーブル621は、移行先クラウド102が提供するサーバのスペックに関するメニュー情報を管理するテーブルである。サーバタイプ仕様テーブル621は、サーバタイプ631、コスト632、CPU633、メモリ634および可用性635を有する。なお、サーバタイプ仕様テーブル621は、移行元のサーバタイプ仕様テーブル601の構成とほぼ同様であるので、具体的内容の説明を省略する。
図6Dは、移行先のクラウドサービスメニュー管理テーブル内のディスクタイプ仕様テーブル622の構成例を示す図である。ディスクタイプ仕様テーブル622は、移行先クラウド102が提供するディスクのスペックに関するメニュー情報を管理するテーブルである。ディスクタイプ仕様テーブル622は、ディスクタイプ641、コスト642、容量上限643、性能保証上限644、可用性645および暗号化646を有する。なお、ディスクタイプ仕様テーブル622は、移行元のディスクタイプ仕様テーブル602の構成とほぼ同様であるので、具体的内容の説明を省略する。
図7(a)〜図7(c)は、それぞれ、ディスク構成の再設計の基本パターンを示す概念図である。当該図7では、再設計の基本パターンを3通り示している。再設計の基本パターンは、ディスクの構成が、シングル構成からストライピング構成に変化するパターンと、ディスクの構成が、シングル構成からミラーリング構成に変化するパターンと、ディスクの構成が、ストライピング構成からシングル構成(あるいはミラーリング構成からシングル構成)に変化するパターンとを含んでいる。
図7(a)に示すように、移行元クラウド101で管理されるディスクの性能に対して、移行先クラウド102で管理されるディスクの性能が不足する場合、ディスク構成をシングル構成からストライピング構成に再設計する処理が実行される。この際、移行先クラウド102で複数のディスクを作成し、作成された複数のディスクを、移行先クラウド102の管理下にあるゲストOSがグループ化し、グループ化された各ディスクに対して、別々にデータの並列読み書きを行うことで、システム要件を担保する。
同様に、図7(a)に示すように、移行元クラウド101で管理されるディスクの容量上限に対して、移行先クラウド102で管理されるディスクの容量上限が不足する場合、移行先クラウド102で複数のディスクを作成し、作成された複数のディスクを、移行先クラウド102の管理下にあるゲストOSがグループ化し、グループ化された各ディスクにデータを別々に分散配置することで、容量上限を引き上げて、システム要件を担保する。
また、図7(b)に示すように、移行元クラウド101で管理されるディスクの可用性に対して、移行先クラウド102で管理されるディスクの可用性が不足する場合、ディスク構成をシングル構成からミラーリング構成に再設計する処理が実行される。この際、移行先クラウド102で複数のディスクを作成し、作成された複数のディスクを、移行先クラウド102の管理下にあるゲストOSがグループ化し、グループ化された各ディスクに対して、同一のデータを書き込み、冗長性を持たせることで、システム要件を担保する。
さらに、図7(c)に示すように、移行元クラウド101でストライピングやミラーリングにより性能・可用性・容量上限などのシステム要件を満足していたが、移行先クラウド102では単一のディスクでシステム要件を満たす場合には、利用するディスク数を減らすことで利用コストを抑制することができる。なお、ディスク構成を変更しても、コストが下がらない場合には、ディスク数を減らさず、移行先クラウド102でも同一構成をとってもよい。
上述した図7(a)〜図7(c)では、ディスク構成の再設計に関する基本パターンを示しているに過ぎず、これには限定されない。応用としては、例えば、ミラーリング構成とストライピング構成を組み合わせてもよい。
また、図からは省略するが、移行元クラウドにおいてはクラウド側で暗号化されるディスクを利用していて、移行先クラウドではクラウド側で暗号化されるディスクが提供されない場合もある。しかしながら、システム要件によっては、データの暗号化が必須である場合もある。そのような場合には、移行先クラウドではクラウド側で暗号化されないディスクを使い、ゲストOSの暗号化機能を使いデータのセキュリティを確保してもよい。
図8は、ディスク要件管理テーブル123の構成例を示す図である。ディスク要件管理テーブル123は、情報処理システム145,155が用いるディスクに関するシステム要件を管理するテーブルであり、例えば、性能、可用性、容量及び暗号化の少なくとも1つを含むディスクに関するシステム要件を管理する。
このディスク要件管理テーブル123は、ディスクグループ識別子801、容量802、性能保証803、可用性804および暗号化805を有する。ディスクグループ識別子801は、ディスクグループ識別子444と同様で、容量802は、容量423で同様で、性能保証803は、性能保証424と同様で、可用性804は、可用性625と同様で、暗号化805は、暗号化625と同様である。この際、例えば、情報処理システム145,155が用いるディスクとして、識別子が「DG−1−1」であるディスクグループが指定された場合、このディスクグループとしては、容量は30GBであり、性能保証は100IOPSであり、可用性は高程度であり、暗号化は必要であることを示している。
図9は、ディスク再構成テーブル124の構成例を示す図である。ディスク再構成テーブル124は、移行元システム構成管理テーブル120と移行先システム構成管理テーブル121の間でのディスク構成の再設計関係を管理している。すなわち、ディスク再構成テーブル124は、移行元クラウド101上の情報処理システム145のディスク構成が、移行先クラウド102上の情報処理システム155向けにどのように再構成されるべきかの対応関係を管理するテーブルである。ディスク再構成テーブル124は、ディスク識別子(移行元)901、ディスクグループ種別902、再構成種別903、ディスク識別子(移行先)904およびディスクグループ種別905を有する。
ディスク識別子(移行元)901は、移行元クラウド101上の情報処理システム145におけるディスクのディスクグループを一意に識別する識別子である。ディスクグループ種別902は、ディスク識別子(移行元)901で識別されるディスクグループの種別(「single」、「striping」)を特定する情報である。再構成種別903は、システム移行に伴う再設計におけるディスク構成の種別を特定する情報である。
再構成種別903のエントリには、ディスク構成を分割する場合、「分割」の情報が記録され、ディスク構成を多重化する場合、「多重化」の情報が記録され、ディスク構成を結合する場合、「結合」の情報が記録される。ディスク識別子(移行先)904は、移行先クラウド102上の情報処理システム155におけるディスクのディスクグループを一意に識別する識別子である。
ディスクグループ種別905は、ディスク識別子(移行元)901で識別されるディスクグループに対応したディスクグループであって、移行先クラウド102で管理されるディスクグループの種別(「single」、「striping」、「mirroring」)を特定する情報である。ここで、例えば、ディスク識別子Disk−S−1−1のディスクは、再構成種別903が「n/a」であるので、システムの移行に伴って、ディスク構成が変更しないことを意味する。また、ディスク識別子Disk−S−1−2のディスクは、システム移行に伴って分割され、2つのディスク(Disk−T−1−2−1,Disk−T−1−2−2)を用いたストライピング構成にディスク構成が変更されることを意味する。
図10は、移行先のシステムトポロジテーブル221の構成例を示す図である。図10において、システムトポロジテーブル221は、システム識別子で識別される情報処理システムの構成に関する情報を保持するテーブルである。システムトポロジテーブル221は、システム識別子301、サーバ識別子302、IPアドレス303、サブネット304、サーバ名305、イメージ識別子306、サーバタイプ307および状態308を有する。
図10では、ディスクの再設計処理およびシステム移行実施処理に伴い、移行先クラウド102向けのシステムトポロジテーブル221に入力されるデータの例を示している。移行元クラウド101から移行先クラウド102にサーバを移行すると、移行先クラウド102では異なるサーバ識別子302(「VM−T−1」により管理される。例えば、移行元クラウド101で、VM1となるサーバの識別子は「VM−S−1」で管理されるが、移行先クラウド102では、VM1となるサーバの識別子は「VM−T−1」で管理される。移行先におけるシステムトポロジテーブル221の構成は、移行元におけるシステムトポロジテーブル201の構成とほぼ同様であるので、具体的内容については説明を省略する。
図11Aは、移行先のサーバ構成テーブル内のサーバ基本構成テーブル231の構成例を示す図である。移行先のサーバ基本構成テーブル231は、サーバを構成しているコンポーネントのパラメータを保持するテーブルである。サーバ基本構成テーブル231は、サーバ識別子401、IPアドレス402、OS403、イメージ識別子404、ディスク405およびネットワークカード406を有する。図11Aでは、ディスクの再設計処理およびシステム移行実施処理に伴い、移行先クラウド102向けのサーバ構成テーブル222に入力されるデータの例を示している。サーバ移行およびディスクの再構成に伴い、サーバ基本構成テーブル231のサーバ識別子401やディスク構成が生成される。これらの値は、移行元クラウド101上の情報処理システム145に関するサーバ基本構成テーブル211とは異なる。なお、移行先のサーバ基本構成テーブル231の構成は、移行元のサーバ基本構成テーブル211の構成とほぼ同様であるので、具体的内容については説明を省略する。
図11Bは、移行先のサーバ構成テーブル222内のディスク構成テーブル232の構成例を示す図である。ディスク構成テーブル232は、ディスクに関するパラメータを保持しており、ディスク識別子421、ディスクタイプ422、容量423および性能保証424を有する。図11Bでは、ディスクの再設計処理およびシステム移行実施処理に伴い、移行先クラウド102向けのディスク構成テーブル232に入力されるデータの例を示している。サーバ移行およびディスクの再構成に伴い、ディスク構成テーブル232のディスク識別子421やディスク構成が生成される。これらの値は、移行元クラウド101上の情報処理システム145に関するディスク構成テーブル212とは異なる。なお、移行先のディスク構成テーブル232に、移行元のディスク構成テーブル212と同様にディスクグループ識別子の項目を付加することもできる。また、移行先のディスク構成テーブル232の構成は、移行元のディスク構成テーブル212の構成とほぼ同様であるので、具体的内容については説明を省略する。
図11Cは、移行先のサーバ構成テーブル222内のOSレベルディスク設定テーブル233の構成例を示す図である。OSレベルディスク設定テーブル233は、サーバ上で動作するOSによるディスクの設定に関するパラメータを保持しており、サーバ識別子441、ファイルシステム442、マウントポイント443、ディスクグループ識別子444、ディスクグループ種別445、ソフトウェア暗号化446およびディスク識別子447を有する。
図11Cでは、ディスクの再設計処理およびシステム移行実施処理に伴い、移行先クラウド102向けのOSレベルディスク設定テーブル233に入力されるデータの例を示している。サーバ移行およびディスクの再構成に伴い、OSレベルディスク設定テーブル233のサーバ識別子441やディスク構成が生成される。これらの値は、移行元クラウド101上の情報処理システム145に関するOSレベルディスク設定テーブル213とは異なる。なお、移行先のOSレベルディスク設定テーブル233の構成は、移行元のOSレベルディスク設定テーブル213の構成とほぼ同様であるので、具体的内容については説明を省略する。また、移行元で管理されるテーブルの情報と移行先で管理される情報とが異なるのは、クラウド毎に独自の識別子でITリソースを管理するためである。また、システムの移行に伴いディスク構成を変更する場合には、同種のテーブル間で、ディスクタイプやディスクグループ種別なども異なる場合がある。
(2)移行支援方法
移行処理管理サーバ100を含むシステム全体構成は以上のようであり、次に本実施の形態による移行支援方法について説明する。図12は、移行元クラウド101−移行先クラウド102間でのシステム移行処理全体の概要を示すフローチャートである。
まず、移行処理管理サーバ100は、システム移行処理を開始するに際して、移行対象となる情報処理システム145のシステム構成情報およびシステム要件を取得する処理を実行すると共に、システム再設計時に必要となる、移行先クラウドが提供するITリソースに関するサービスメニュー情報を取得する処理を実行する(S1201)。
具体的には、移行処理管理サーバ100内のシステム構成取得部131は、移行元クラウド101のクラウド管理サーバ140に問い合わせて、システム構成情報をクラウド管理サーバ140から取得し、取得したシステム構成情報を、テーブル更新部112を経由して、移行元システム構成管理テーブル120に保存する。このシステム構成情報には、サーバ構成情報、ネットワーク構成情報、ディスク構成情報およびOS設定情報が含まれる。
また、移行処理管理サーバ100では、システム要件取得部131が、移行元クラウド101のクラウド管理サーバ140に問い合わせ、システム要件をクラウド管理サーバ140から取得し、取得したシステム要件をテーブル更新部112を経由してディスク要件管理テーブル123に保存する。このシステム要件には、ディスクの容量、性能保証、可用性および暗号化要否などの情報を含む。可用性についてのシステム要件は、クラウド管理サーバ140で明示的に管理されていない場合もあり、その場合は、クライアント端末103を利用するユーザからの入力を受け取り、受け取った情報を可用性についてのシステム要件として取得する。また、システム移行に伴ってシステム要件を修正したい場合には、例えば、クライアント端末103などからの入力により、適宜の時点で、ディスク要件管理テーブル123の内容を変更してもよい。
一方、移行処理管理サーバ100では、クラウドサービスメニュー取得部133が、移行先クラウド102のクラウド管理サーバ151に問い合わせ、クラウドサービスメニュー管理テーブル151の内容を、移行先クラウド102のサービスメニュー情報としてクラウド管理サーバ151から取得する。移行先クラウド102からクラウドサービスメニュー管理テーブル151の内容を取得できない場合には、クライアント端末103から同様の情報を入力してもよい。なお、その場合、クラウドサービスメニュー管理テーブル151と同様のテーブルを、移行処理管理サーバ100にも用意しておく。
次に移行処理管理サーバ100では、ディスク構成再設計部115が、移行対象の情報処理システム145のシステム構成の再設計を行う(S1202)。このステップS1202に関する具体的内容は、後述する図13において説明する。
次に移行処理管理サーバ100内の移行実施部116は、移行対象の情報処理システム145の移行実施処理を行う(S1203)。このステップS1203に関する具体的内容は、後述する図14において説明する。
図13は、ディスク構成の再設計の処理を説明するためのフローチャートである。この処理は、図12のステップS1202の処理を具体的に示した内容であって、移行処理管理サーバ100内のディスク構成再設計部115によって実行される。なお、ここで説明する再設計のルールは、あくまでも一例であり、適宜一部を追加したり削除したりすることができる。さらには再設計に伴ってソフトウェアRAIDを実施する場合には、CPU負担が多少上がることが予想されるため、CPUサイズが上位であるスペックのサーバを選択するようにしても良い。
上述したディスク構成再設計部115内のディスク再設計判定部134は、ディスク要件管理テーブル123から、エントリをひとつ取得する(S1301)。取得したエントリの情報には、一つのディスクグループに関して、容量・性能保証・可用性・暗号化のようなシステム要件に関する情報が含まれる。以下、ステップS1311まで、ディスク要件管理テーブル123の各ディスクグループについて、下記の処理を行う。
ディスク再設計判定部134は、ステップS1301で取得したディスクグループについて、ディスク構成を調べる(S1302)。具体的には、ディスク再設計判定部134は、ディスク構成テーブル212を参照し、ディスクグループが構成されるディスクの数を取得する。なお、この際、ディスク再設計判定部134は、OSレベルディスク設定テーブル213を参照することもできる。
次にディスク再設計判定部134は、ディスクグループが複数のディスクから構成されるかどうかを判定する(S1303)。すなわち、ディスク再設計判定部134は、ディスクグループを構成するディスクの数が1より大きいか(すなわち、1を含まない)どうかを判定する。このディスクグループを構成するディスクの数が1より大きい場合(ディスクグループのグループ識別子が、例えば「DG−2−2」である場合)、ステップS1304に移動し、そうでない場合(ディスクグループのグループ識別子が、例えば「DG−1−1」の場合)は、ステップS1305に移動する。
ディスク再設計判定部134は、ステップS1303において肯定的な判定結果を得た場合、次のようなステップS1304を実行する。すなわち、ディスク再設計判定部134は、ディスクグループに関して再設計を実施するに際し、複数のディスクを集約すべきか判定し、この判定結果に従った処理を実行する(S1304)。すなわち、ディスク再設計判定部134は、移行先クラウド102のサービスメニュー情報を参照し、移行先クラウド102のいずれかのディスクタイプにおいて、一つのディスクのみを用いて、容量、性能保証および可用性の要件を全て満足するのであれば、複数のディスクを移行先では一つのディスクに集約するよう再設計すると判定する。
移行先クラウド102で、上記の条件を満たすディスクタイプが複数存在する場合、任意のディスクタイプを選択すればよい。具体的には、移行先クラウド102は、例えば、候補のディスクタイプのうち、コストが最も低いものを選択する。この際、ディスク要件のうち、暗号化が必要であり、移行先クラウド102で暗号化がサポートされていない場合は、OSにより暗号化をするように、OSレベルでのディスク設定を変更するよう再設計する。本実施の形態では、容量、性能保証および可用性を主要な要件として例示したが、これらに暗号化を含めてもよい。ディスク再設計判定部134は、再設計結果をディスク再構成テーブル124およびOSレベルディスク設定テーブル233に追加する。
次にディスク再設計判定部134は、ディスクグループ内から、一つのディスクの要件を取得して、ディスクを分割する必要性を判定し、もし分割する必要があればその分割方法について判定を行う(S1305)。そのために、ディスク再設計判定部134は、ディスクグループ内の個々のディスクについて、ステップS1306〜S1307までの処理を実行する。
ステップS1306では、ディスク再設計判定部134が、選択したディスクについて、要件を満たすディスクタイプが移行先クラウド102では提供されていない場合、ディスクを分割してグループ化する処理を実行する。
まず、ディスク再設計判定部134は、システム要件のうち、性能と容量に着目し、性能と容量のいずれかを満たさない場合、ディスクを複数に分割してストライピング構成を採用する。言い換えると、M個のディスクをストライピングする(Mは2以上の自然数)。個々のディスクに求められる性能および容量は、1/Mとなる(本実施の形態では、この要件を「縮退要件」と呼ぶ)。この際のMの選択方法として、例えば、M=2から増加させ、移行先クラウド102で、いずれかのディスクタイプが上記の縮退要件を満たすならば、そのMおよびディスクタイプを選択する。縮退要件を満たすディスクタイプが複数ある場合は、ステップS1304と同様に、コストなどに基づいて、任意のディスクタイプを選択すればよい。
次に、ディスク再設計判定部134は、システム要件のうちの可用性に着目し、上記の処理で選択した1個以上のディスクについて、個々のディスクで可用性を満たさない場合、M個のディスクをミラーリングするようにする。上記の処理で選択したディスクタイプについてシステム要件の可用性を満たさない場合、ディスク再設計判定部134は、L個(Lは2以上の自然数)のディスクを束ねてミラーリングしている。ここで、上記同様に可用性は稼働率p(%)で表現する。例えば、稼働率が、「高」の場合はp=99.99%であり、「中」の場合はp=99.9%であり、「小」の場合はP=99%である。L個のディスクをミラーリングすると、可用性は、次の数式(1)で計算できる。
可用性=1−(1−p)^L ・・・(1)
Lの値の選択方法としては、例えば、L=2から増加させ、いずれかのディスクタイプについて、数式(1)の計算結果が、要求される可用性要件を上回る最小の値のLを選択する。この条件を満たすディスクタイプが複数ある場合は、ステップS1304と同様に、任意のディスクタイプを選択すればよい。
ディスク再設計判定部134は、上記の再設計結果を、ディスク再構成テーブル124、ディスク構成テーブル232およびOSレベルディスク設定テーブル233に保存する。
本実施の形態では、簡略化のため、性能・容量と可用性を個別に議論したが、両者を同時に考慮してもよい。例えば、αを重みパラメータとし、性能・容量・可用性を同時に満たすような最小のM+α×Lとなる、M・Lのペア(およびディスクタイプ)を探索してもよい。
次に、ディスク再設計判定部134は、システム要件のうちの暗号化に着目し、システム要件として暗号化が必要であり、上記で選択したディスクタイプが暗号化をサポートしていない場合は、OSレイヤでの暗号化を実施する(S1307)。
その後、ディスク再設計判定部134は、上述のようにディスクの集約(S1304)、ディスクの分割とその方式(S1306)、ディスクの暗号化(S1307)に関する再設計結果を、ディスク再構成テーブル124、システムトポロジテーブル221、サーバ構成テーブル222、移行先向けのサーバ基本構成テーブル231、ディスク構成テーブル232、OSレベルディスク設定テーブル233に登録し(S1308)、このルーチンでの処理を終了する。
本実施の形態では、システム要件のうち、性能・容量、可用性、暗号化の順で着目したが、これには限定されず任意の順番で行えばよく、例えば、利用者にとって重要な順番で行えばよい。また、システム要件のうち、コストについては、グループ化するディスクの個数を決めるための補助的な値として用いたが、例えばコストを最優先にして再設計を行ってもよい。また、システム要件はこれで全てではなく、適宜他の要件を追加して、再設計中のステップを追加・削除しても良い。このような再設計ルールの追加削除を行うために、再設計ルールを管理する再設計ルール管理テーブル(非図示)を用いてもよい。再設計ルール管理テーブルは、例えば、再設計ルールに関する記述、再設計ルールの適用順序などを管理する。再設計ルールに関する記述は、例えば、ディスクの集約に関するルールの記述、ディスクのストライピング化に関するルール記述、ディスクのミラーリング化に関する記述、ディスクの暗号化に関する記述などを含めてもよい。このような再設計ルールを順番に適用することで、図13のようなフローチャートの処理を実現してもよい。
図14は、移行実施処理の一例を示すフローチャートである。この移行実施処理は、ステップS1203の具体的内容であって、移行処理管理サーバ100内の移行実施部116によって実行される。
移行元クラウド101から移行先クラウド102に情報処理システム145を移行するに際し、移行処理管理サーバ100では、移行実施部116が、移行先クラウド102上にサブネットを生成する(S1401)。すなわち、移行元クラウド101上に構築された情報処理システム145のサブネット構成を移行先クラウド102上でも実現する。
具体的には、移行元のシステムトポロジテーブル201の1つ以上のサブネット304に関して、移行実施部116が、IPアドレスやネットマスクなどの情報を基に、移行先クラウド102のクラウド管理サーバ150に対してサブネット生成の要求を発行することで、移行先クラウド102上にサブネットを生成させる。この際、移行処理管理サーバ100は、移行先クラウド102のクラウド管理サーバ150に対して、これら機能を適宜の順番・タイミングで呼び出す。すなわち、サブネットの生成(作成)は、移行実施部116内のシステム構築部136が行い、システム構築部136は、サブネット作成後、適宜、テーブル更新部112を介して、移行先システム構成管理テーブル121を更新する。
次に、移行実施部116は、VM・仮想NICの生成・接続処理として、移行先クラウド102上にVMを作成したり、仮想NICのような周辺デバイスを作成したりすると共に、VMやNIC、サブネット間の依存関係(参照関係あるいは接続関係とも表現される)を設定する(S1402)。
この際、移行実施部116では、システム構築部136が、VMやNICについてもサブネットと同様に、移行元のシステムトポロジテーブル201やサーバ基本構成テーブル211を参照し、移行元クラウド101上の情報処理システム145と同様のIPアドレスや所属サブネットなどの依存関係が同様となるようなパラメータを指定し、移行先クラウド102のクラウド管理サーバ150にVM作成を要求する。
上記所属サブネットの識別子は、ステップS1401のサブネット作成時に与えられる。VM作成後に、移行先クラウド102からは、当該作成したVMの識別子が与えられるため、システム構築部136は、移行元・移行先のVMの対応関係をサーバマッピングテーブル122に保存する。仮想NICのような周辺デバイスについても同様である。適宜、システム構築部136は、移行先システム構成管理テーブル121を更新する。これらの処理は、システム構築部136が、移行先クラウド102のクラウド管理サーバ150に対して行う。このステップS1402においても、システム構築部136は、適宜、テーブル更新部112を介して、移行先システム構成管理テーブル121を更新する。また、クラウドによっては、VM作成時にNICを同時に作成したり、個別に作成したりと、ITリソースの作成の粒度が異なる。この場合、システム構築部136は、分解ポリシー139に従って、適宜の粒度でITリソースを作成する。
次に、移行実施部116は、移行元クラウド101から移行先クラウド102へ、情報処理システム145のうちシステムデータ領域の移行処理を実施する(S1403)。このシステムデータ領域の移行処理のために、例えば、ディスクイメージを転送する方法が採用される。具体的には、移行実施部116は、移行対象のVMをディスク単位に分解し、移行元クラウド101からシステムデータ領域ディスクのディスクイメージをテンポラリストレージ146にエクスポートする。さらに移行実施部116は、エクスポートしたディスクイメージを移行先クラウドのテンポラリストレージ156に転送して移行先クラウドにインポートし、対応するVMにアタッチする。
この際、移行元クラウド101からのディスクのエクスポートおよび移行先クラウド102へのディスクのインポートは、例えば、それぞれのクラウドが備えるインポート機能およびエクスポート機能を用いる。また、インポートしたディスクのVMへのアタッチ処理も移行先クラウド102の機能を用いる。移行処理管理サーバ100は、各クラウド101,102のクラウド管理サーバ140,150に対して、これら機能を適宜の順番およびタイミングで呼び出す。
一方、ディスク単位の分解処理は、移行実施部116内の構成分解部135が行い、その後の転送処理は、移行実施部116内のシステムデータ転送部137が行う。クラウドごとにインポート可能なディスクイメージのフォーマットが異なる場合、移行処理管理サーバ100によりイメージフォーマット変換を行う。以上が、ディスクイメージを送る方法である。
ディスクの再設計が発生する場合、例えば、ミラーリング構成を採用する場合には、システムデータ領域の内容を複製したディスクを作成したり、ストライピング構成を採用する場合には、グループ内のディスクに亘ってデータを再構成したりするなどの追加処理が必要となる。また、適宜のタイミングで、テンポラリストレージ146のデータを削除する。なお、クラウドによっては、システムデータ領域のディスクイメージのインポート機能が、VM作成機能も含む場合も考えられる。その場合は、ステップS1402とステップS1403が一つのステップとなる。
次に、移行実施部116は、移行元クラウド101から移行先クラウド102へ、情報処理システム145のうち、業務データ領域の移行処理を実施する(S1404)。これを実現するためには、主に2通りの方法がある。
第1の方法は、既述のステップS1403でも実施したようにディスクイメージを送る方法である。具体的には、移行元クラウド101からディスクイメージをエクスポートし、移行先クラウド102にインポートし、インポートしたディスクを対応するVMにアタッチする。ステップS1402と同様の処理を行うため、詳細は省略する。
第2の方法は、移行元クラウド101・移行先クラウド102のインポート機能およびエクスポート機能を用いず、移行元の情報処理システム145および移行先の情報処理システム155のVM間で直接データを転送する方法である。
具体的には、移行先クラウド102上で予めブランクのディスク(群)を生成し、対応するVMに事前にアタッチする。この際に、ディスクの再構成結果に基づいて、OSによるディスクグルーピング設定などの適宜の再構成設定を行う(再設計に伴い、利用するディスクの数は双方の情報処理システムで異なる可能性があるが、ディスクグループの単位では同じである)。その後、移行先・移行元のVM間で、対応するディスクグループ間で、データの同期処理を行う。同期の方法としては、ファイルシステムの同期(rsyncなど)やブロックの同期(DRBDなど)を用いる方法を含む。転送用のネットワークには、転送時のみVMにグローバルアドレスを付与したり、NAT(Network Address Translation)を活用したVPN(Virtual Private Network)を構築するなどの適宜の方法を採用すれば良い。
移行処理管理サーバ100は、各クラウド101,102のクラウド管理サーバ140,150に対して、これら機能を適宜の順番・タイミングで呼び出す。すなわち、ディスク単位の分解処理は構成分解部135が行い、移行先でのディスクの生成・接続処理やディスクグルーピング設定はシステム構築部136が行い、その後の転送処理は業務データ転送部138が行う。
図15は、システム移行サービス画面の構成例を示す図である。図15において、システム移行サービス画面1101は、クライアント端末103の管理I/F106に接続される表示装置におけるシステム移行サービスのGUI操作画面の表示例である。
システム移行サービス画面1101は、例えば、移行元クラウド101の移行対象システムを指定する選択リストボックス1102、移行先クラウド102を指定する選択リストボックス1103、移行元クラウド101上の移行対象システム構成表示画面1104、移行先クラウド102上のシステム構成表示画面1105、移行処理設定ボタン1106および移行実行ボタン1107を有する。
移行元クラウド101上の移行対象システム構成表示画面1104には、選択リストボックス1102により選択されたシステムの構成が表示される。例えば、本実施の形態では、サーバ、ディスク、サブネットおよびルータが表示されているが、これらには限定されない。システムを構成する他の要素、例えば、ロードバランサファイヤウォール、OS、データベースなどのミドルウェア、アプリケーションなども、表示項目として含んでいても良い。
移行先クラウドのシステム構成表示画面1105には、選択リストボックス1103により選択された移行先クラウド向けの移行対象システムが表示される。ここで表示される内容は、ステップS1202で行ったディスクの再設計結果も含む。
移行設定1106は、移行の各種設定を行うためのボタンである。移行設定1106により設定画面が起動され、移行を手動で行うか、スケジュールで行うか、再設計の要件を手動で入力するか等の設定を、GUIユーザに入力させる。
移行実行ボタン1107は、移行対象システムが選択され、例えば、管理者が移行の実行を確認した後、有効化される。管理者が移行実行ボタン1107をクリックすると、移行処理管理サーバ100により、移行元クラウド上の移行対象システム構成表示画面1104において選択された一つ以上のシステム構成要素が移行先クラウドに移行される。
移行元クラウド上の移行対象システム構成画面1104において、管理者が、例えば、移行対象の1つ以上のサーバを選択し、ドラッグアンドドロップで移行先クラウドにコピーし、実行ボタン1107をクリックする。本GUIにより、システムデータ領域ディスク、業務データ領域ディスクの接続構成を含めて、システム全体での移行を実施できる。また、特定サーバのみの移行を行ったりすることもできる。
以上のように本実施の形態では、移行処理管理サーバ100が、サーバ、ネットワーク及びストレージに関する計算リソースを組み合わせて、1つ以上のサーバと1つ以上のディスクを含む情報処理システム145,155を構築するクラウド環境下で、第1のクラウド101に構築された情報処理システム145を第2のクラウド102上に移行する処理を管理する。
移行処理管理サーバ100は、第1のクラウド101上に構築された情報処理システム145のシステム構成情報を管理する移行元システム構成管理テーブル120と、第2のクラウド102上に構築されるべき情報処理システム155のシステム構成情報を管理する移行先システム構成管理テーブル121と、性能、可用性、容量及び暗号化の少なくとも1つを含むディスクに関するシステム要件を管理するディスク要件管理テーブル123と、移行元システム構成管理テーブル120と移行先システム構成管理テーブル121の間でのサーバの対応関係を管理するサーバマッピングテーブル122と、移行元システム構成管理テーブル120と移行先システム構成管理テーブル121の間でのディスク構成の再設計関係を管理するディスク再構成テーブル124と、第2のクラウド102が提供するITリソースについてシステム要件に関するリソーススペックを規定したメニューを1つ以上管理するクラウドサービスメニュー管理テーブル151(リソースメニュー管理テーブル)と、を備えている。
さらに移行処理管理サーバ100は、リソースメニュー管理テーブル151を参照して得られるリソースであって第2のクラウド102が提供する計算リソースのメニュー情報を取得するクラウドサービスメニュー取得部133と、上記メニュー情報に基づいて、第2のクラウド102が提供するリソースを用いて上記システム要件を満たすように、情報処理システム145,155のディスク構成を再設計するディスク構成再設計部115と、情報処理システム145,155のディスク構成の再設計結果に基づいて、移行先システム構成管理テーブル121、サーバマッピングテーブル122およびディスク構成再設計テーブル124を更新するテーブル更新部112と、を備えている。
本実施の形態によれば、異なる種類のクラウド101,102間において情報処理システム145,155を移行するに際し、移行元クラウド101が提供するITリソースを組み合わせて実現されている性能、可用性、容量及び暗号化のうちの少なくとも1つを含むシステム要件を考慮し、移行先クラウド102の計算リソースを用いてそのシステム要件を達成できるように組み合わせることで、システム要件を維持したまま移行することができる。
上述した本実施の形態ではさらに、ディスク構成再設計部115が、単一ディスクのデータを複数ディスクに複製するミラーリングと、単一ディスクのデータを複数ディスクに分散するストライピングと、あるいは、ミラーリング・ストライピングの組み合わせのうちいずれか1つ以上を実施し、その後さらに、情報処理システム145の所定のディスクに関する上記システム要件のうち性能要件もしくは容量要件に関して、移行先クラウド102が提供するディスクメニューうちのいずれの種類の単一ディスクでも満たさない場合、上記システム要件を満たすように移行先クラウド102が提供するいずれかの種類のディスクを複数個グループ化してストライピングするよう再設計すること、および、情報処理システム145の所定のディスクに関するシステム要件のうち可用性要件に関して、移行先クラウド102が提供するディスクメニューうちのいずれの種類の単一ディスクでも満たさない場合、システム要件を満たすように、移行先クラウド102が提供するいずれかの種類のディスクを複数個グループ化してミラーリングするよう再設計することの少なくともいずれか一方を必要に応じて実施している(上記ステップS1306にほぼ相当)。
このような手法によると、移行元クラウド101と移行先クラウド102との間で情報処理システム145,155を移行するに際し、ミラーリングなどの手法を用いている場合でも、当該ミラーリングを反映した形態でシステム要件を維持したまま移行することもできるようになる。
上述した本実施の形態ではさらに、移行処理管理サーバ100が、第1のクラウド101から第2のクラウド102に情報処理システム145を移行する単位を規定する分解ポリシー139を保有し、さらに、分解ポリシー139に基づいて、第1のクラウド101上に構築された情報処理システム145を、サーバ、入出力デバイス、サブネットおよびディスクのうちの少なくとも1つのシステム構成要素を含む単位に分解する構成分解部135と、分解ポリシー139と移行元システム構成管理テーブル120に基づいて、第1のクラウド101上の情報処理システム145におけるディスク以外のシステム構成要素間の依存関係を保持しつつ、第2のクラウド102上にシステム構成要素を生成し接続し、ディスク再設計テーブル124に基づいて、ディスクを生成して接続し、ディスクグルーピングの設定を行うシステム構築部136と、第1のクラウド101から第2のクラウド102の対応するサーバ間で、ディスクイメージ転送及びオンラインレプリケーションの少なくとも一方を用いてディスク内のデータを転送するデータ転送部137,138と、を備えている。
このような手法によると、移行元クラウド101と移行先クラウド102との間で情報処理システム145,155を移行するに際し、第1のクラウド101上の情報処理システム145におけるディスク以外のシステム構成要素間の依存関係を保持しつつシステム要件を維持したまま移行することもできるようになる。
(3)その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。