説明

計算機システムおよびその計算機システムにおけるディスク共有方法

【課題】内蔵ディスクを備えた複数の物理サーバにおいて、物理サーバ上で動作するプログラムが異なる物理サーバの内蔵ディスクを共有できるようにする。
【解決手段】内蔵ディスクを備えた第一のサーバおよび第二のサーバをそれぞれ仮想化機構により論理分割し、その上で内蔵ディスクの共有機能を備えたストレージコントローラLPARを稼働させる。第一のサーバおよび第二のサーバ上で稼働するストレージコントローラLPARは相互に通信し、第二のサーバ上で稼働する第二のLPARが発行するディスク入出力命令を第一のサーバの内蔵ディスクに転送することで、第二のLPARが内蔵ディスクに保存されたデータを読み書きし、これにより内蔵ディスクの共有を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の物理サーバ間でのデータを共有する方法およびシステムに関する。
【背景技術】
【0002】
企業情報システムにおいては一台のストレージ装置に多数の物理サーバが接続し、ストレージ装置内のデータを共有する共有ストレージ構成が一般的である。このような構成をとることで、データの一元管理ができるほか、サーバ装置の可用性を向上させるホットスタンバイ機能やバックアップ機能などを有効に使うことができる。また、サーバ仮想化環境において、仮想サーバを現在稼働中の物理サーバから異なる物理サーバへ移行するマイグレーション機能などは移行元と移行先のサーバがお互いにデータを参照できる共有ストレージ構成の採用が必須要件である。共有ストレージを構築するには、異なるサーバ間でファイルを共有するNAS(Network Attached Storage)の技術や、FC(Fibre Channel)やiSCSI(Internet Small Computer System Interface)などのプロトコルを使ってブロックストレージを共有するSAN(Storage Area Network)の技術を使う。
【0003】
一方で、共有ストレージを必要としない企業情報システムも存在する。例として、Hadoopに代表される大量データの分散処理システムや、ロードバランサを利用したWebサーバの負荷分散システムなどが挙げられる。これらのシステムは異なるサーバの間でデータを共有する必要がないため、データの保存に共有ストレージではなくサーバの内蔵ディスクを使用することが多い。
【0004】
現在の企業情報システムは、このようにデータの保存場所が異なる2種のシステムが同一の環境内で混在している。データの保存場所として内蔵ディスクと共有ストレージのどちらを使うかは、企業情報システムの要件に応じて決められる。一般に、共有ストレージよりも内蔵ディスクの方が安価であるため、コスト削減を求める企業には内蔵ディスクを積極的に採用したい要求がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】US2010/0082922公開公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
企業がコスト削減を目的に内蔵ディスクの採用を進めるにあたり、ディスク共有の問題がある。システム内の第一のサーバと第二のサーバが共に内蔵ディスクを備え、それぞれ第一のプログラムと第二のプログラムを動作させている場合を例にとり説明する。第一のサーバ上で動作する第一のプログラムは、第一のサーバが備える第一のディスクアダプタを介して第一の内蔵ディスクに対して入出力処理を行える。しかし、第二のサーバが備えた第二の内蔵ディスクに対しては、第一のディスクアダプタと第二の内蔵ディスクが接続されていないため、入出力処理を行えない。この場合の入出力処理とは、内蔵ディスクに保存されたデータの読み書きである。このことは、異なるサーバ上に存在する第一のプログラムと第二のプログラムとの間でデータの共有ができないことを意味する。
【0007】
これにより、コスト削減のために内蔵ディスクを採用する要求があっても、バックアップやマイグレーションなどの利便性が高い機能はディスクの共有を必要とするため、それらの機能を使う場合には高価な共有ストレージを採用しなければならない。
【0008】
つまり、従来技術においては、複数の物理サーバ間で内蔵ディスクを共有できない点が課題である。
【0009】
特許文献1では、移行元と移行先の物理サーバが内蔵ディスクを持ち、データの共有を行っていない環境において仮想サーバのライブマイグレーションを実現する発明が開示されている。特許文献1の発明は、移行元と移行先の物理サーバの双方がアクセスできる小容量の共有ストレージを配置し、そこにデータの中身でなく差分スナップショットを配置することで疑似的にデータの共有を行い、内蔵ディスクを使いながらもマイグレーション機能を実現している。ただし、この発明は小容量のストレージを用いる。そのためデータの共有を行う二つのサーバとは別にストレージ装置を設置する必要があり、コストがかかる点は従来技術と同様である。
【課題を解決するための手段】
【0010】
本発明のディスク共有システムは、複数の物理サーバと、前記複数の物理サーバに接続された管理サーバを含むシステムである。第一の物理サーバは、内蔵ディスクと、第一の仮想化機構と、前記第一の仮想化機構により論理分割された第一のLPAR及び第一のストレージコントローラLPARとを備える。第二の物理サーバは、第二の仮想化機構と、前記第二の仮想化機構により論理分割された第二のLPAR及び第二のストレージコントローラLPARと、前記第二のストレージコントローラLPARにより前記第一の物理サーバの前記内蔵ディスクを模擬して生成された仮想ディスクとを備える。また、前記第一のストレージコントローラLPARと、前記第二のストレージコントローラLPARとは相互に通信する。このシステムにおいて、前記第二のストレージコントローラLPARは、前記第二のLPARが発行した前記仮想ディスクのディスク入出力命令を、前記第一のストレージコントローラLPARに転送する。前記第一のストレージコントローラLPARは、前記ディスク入出力命令を参照して、前記ディスク入出力命令に含まれる内蔵ディスクの識別子を取得し、取得した識別子に対応する内蔵ディスクに対して、前記ディスク入出力命令を実行する。
【発明の効果】
【0011】
本発明により、内蔵ディスクを備えた複数の物理サーバにおいて、物理サーバ上で動作するプログラムが異なる物理サーバの内蔵ディスクを共有できる。
【図面の簡単な説明】
【0012】
【図1】実施例1におけるディスク共有システムの構成の一例を示す図である。
【図2】実施例1における物理サーバの構成の一例を示す図である。
【図3】実施例1におけるストレージコントローラLPARの詳細構成の一例を示す図である。
【図4】実施例1における管理サーバの構成の一例を示す図である。
【図5】実施例1におけるディスク割当管理情報の一例を示す図である。
【図6】実施例1におけるストレージコントローラ管理情報の一例を示す図である。
【図7】実施例1におけるディスク共有管理情報の一例を示す図である。
【図8】実施例1におけるディスク共有開始手順の一例を示すフローチャートである。
【図9A】実施例1におけるディスク共有開始前のシステムの構成の一例を示す図である。
【図9B】実施例1におけるディスク共有開始前の管理情報の一例を示す図である。
【図10A】実施例1の内蔵ディスク接続手順におけるシステムの構成の一例を示す図である。
【図10B】実施例1の内蔵ディスク接続手順における管理情報の一例を示す図である。
【図11A】実施例1の仮想ディスク作成手順におけるシステムの構成の一例を示す図である。
【図11B】実施例1の仮想ディスク作成手順における管理情報の一例を示す図である。
【図12】実施例1におけるディスク入出力処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【実施例1】
【0013】
内蔵ディスクを備えた物理サーバを仮想化機構により論理分割し、仮想化機構の上でLPAR(Logical Partition)を稼働し、LPARが内蔵ディスクに対して入出力処理を行う構成において、異なる物理サーバの内蔵ディスクを共有する処理を実行する専用のLPAR(ストレージコントローラLPAR)を前記LPARと同じ仮想化機構の上で稼働させる構成をとる。前記の構成をとる複数の物理サーバと、物理サーバを管理する管理サーバが存在するシステムにおいて、第一の物理サーバ上で稼働する第一のストレージコントローラLPARと、第二の物理サーバ上で稼働する第二のストレージコントローラLPARとが、ネットワークを介して互いに通信を行う。
【0014】
本発明は、第一の物理サーバ上で稼働する第一のLPARが内蔵ディスクに対して入出力処理を行い、第二の物理サーバ上で稼働する第二のLPARが内蔵ディスクを共有する要求がある場合に、第一のストレージコントローラLPARと第二のストレージコントローラLPARが管理サーバ内の情報を読み書きすることによって、それぞれのストレージコントローラLPARが管理するLPARとディスクの情報を共有する。そして、第二のストレージコントローラLPARが、第二のLPARが発行するディスク入出力命令を第一のストレージコントローラLPARに転送することで、第二のLPARが内蔵ディスクに保存されたデータを読み書きし、これにより内蔵ディスクの共有を行う。以下、本発明を適用したシステムの実施例について、図面を参照しながら説明する。実施例1では、共有対象となる内蔵ディスクと、内蔵ディスクを利用する第一のLPARと、内蔵ディスクを管理する第一のストレージコントローラLPARとを含む第一のサーバと、第二のLPARと第二のストレージコントローラLPARとを含む第二のサーバと、管理サーバとの連携によって、第二のサーバ上で稼働する第二のLPARが、第一のサーバが備える内蔵ディスクを共有するシステムの構成、および、方法を示す。
【0015】
図1は、ディスク共有システムの構成の一例を示す図である。
【0016】
ディスク共有システムは、管理サーバ100と、第一のサーバ110と、第二のサーバ120と、ネットワーク130とにより構成される。管理サーバ100、第一のサーバ110、第二のサーバ120は物理サーバであり、ネットワーク130によって相互に接続される。
【0017】
第一のサーバ110では仮想化機構111が稼働し、その上で第一のLPAR112と第一のストレージコントローラLPAR113が稼働している。また、第一のサーバ110は、物理ディスクアダプタ116と、物理ディスクアダプタ116に接続された内蔵ディスク117とを備える。
【0018】
第一のLPAR112は仮想ディスクアダプタ114と物理ディスクアダプタ116を介して内蔵ディスク117に接続する。第一のLPAR112は仮想ディスクアダプタ114に対してディスク入出力命令を発行することで、内蔵ディスク117に保存されたデータを読み書きする。
【0019】
また、第一のストレージコントローラLPAR113は、仮想ディスクアダプタ115と物理ディスクアダプタ116に接続し、第一のLPAR112と同様に内蔵ディスク117を読み書きする。
【0020】
ここで二つの仮想ディスクアダプタ114、115は、仮想化機構111が作成し、第一のLPAR112と第一のストレージコントローラLPAR113とにそれぞれ割り当てたものである。
【0021】
第二のサーバ120では第一のサーバ110と同様に仮想化機構121が稼働し、その上で第二のLPAR122と第二のストレージコントローラLPAR123が稼働している。なお、第二のサーバ120も第一のサーバ110と同様に物理ディスクアダプタや内蔵ディスクを備えていてもよい。
【0022】
第二のサーバ120上の第二のLPAR122は、仮想ディスクアダプタ124を介し、第二のストレージコントローラLPAR123上の仮想ディスク125と接続している。ここで仮想ディスクアダプタ124は、仮想化機構121が作成し、第二のLPAR122に割り当てたものである。
【0023】
仮想ディスク125は、第二のストレージコントローラLPAR123のソフトウェアにより作成されたディスクであり、物理的には存在しない仮想的なディスクである。仮想ディスク125は、第一のサーバ111上の内蔵ディスク117に対応して作成される。第二のLPAR122が仮想ディスクアダプタ124を介し仮想ディスク125に対してディスク入出力命令を発行すると、前記ディスク入出力命令は仮想化機構121によりトラップされ、第二のストレージコントローラLPAR123に転送される。その後、前記ディスク入出力命令は、ネットワーク130を経由して、第一のストレージコントローラLPAR113に渡され、ストレージコントローラLPAR113は、前記ディスク入出力命令に基づき内蔵ディスク117に対して入出力処理を行う。その入出力処理の結果が第一のストレージコントローラLPAR113、ネットワーク130、第二のストレージコントローラLPAR123を経由し、第二のLPAR122へ渡される。
【0024】
図2は、物理サーバの構成の一例を示す図である。図1における管理サーバ100、第一のサーバ110、第二のサーバ120が物理サーバに相当する。
【0025】
物理サーバ200は、プロセッサ201、メモリ202、ネットワーク130などのネットワークに接続するネットワークアダプタ203、内蔵ディスク117などの記録媒体に接続するディスクアダプタ204、キーボードやディスプレイといった入出力装置205により構成され、各構成要素がシステムバス206により接続された一般的な構成の物理サーバである。なお、ネットワークアダプタ203は複数存在してもよく、ネットワーク130以外のネットワークに接続してもよい。また、ディスクアダプタ204は複数存在してもよく、内蔵ディスク117以外の共有ストレージなどの記録媒体に接続してもよい。
【0026】
プロセッサ201は、ディスクアダプタ204に接続された記録媒体からあらかじめメモリ202にプログラム207を読み込み、実行することで、プログラム207に記述された処理を実現する。
【0027】
図3は、物理サーバ200上で稼働する第一のストレージコントローラLPAR113および第二のストレージコントローラLPAR123の構成の一例を示す図である。仮想化機構300、LPAR310、ストレージコントローラLPAR320はプログラム207であり、これらは予め記録媒体に記録され、この記録媒体から読み出されてメモリ202に格納される。
【0028】
仮想化機構300はLPAR制御プログラム301と、リソース割当プログラム302を備えたプログラムである。LPAR制御プログラム301は、LPAR310やストレージコントローラLPAR320の作成、削除などの機能を持つ。リソース割当プログラム302は、物理サーバ200の持つリソースを論理分割し、LPAR310やストレージコントローラLPAR320に論理分割したリソースを割り当てる機能を持つ。この機能により、LPAR310やストレージコントローラLPAR320を同一の物理サーバ200上で複数稼働することができる。
【0029】
LPAR310は、仮想化機構300から割り当てられたリソースを利用してプログラム311を実行する。ここで、LPAR310が実行するプログラム311とは、例えばOSやアプリケーション、仮想化機構などである。
【0030】
ストレージコントローラLPAR320は、LPAR310の一種であり、OS321に加え、ストレージコントローラ管理プログラム322、外部ストレージ接続プログラム323、物理ディスク制御プログラム324、仮想ディスク制御プログラム325、管理情報更新プログラム326を備えたLPARである。これらのプログラムもストレージコントローラLPAR320と合わせて、メモリ202に格納される。ストレージコントローラLPAR320は、OS321上に前記プログラム322〜326をインストールし、仮想化機構300のLPAR310上で動作するように設定された仮想アプライアンスである。システム管理者は、ストレージコントローラLPARの仮想アプライアンスをあらかじめ仮想化機構300に導入しておく。
【0031】
以降、各プログラムを主語として実行される処理を説明するが、実際にはプロセッサ201がメモリ202から各プログラムを読み出し、各プログラムの処理を実行することを意味する。
【0032】
OS321は、例えばLinuxやWindows(登録商標)などの一般的なOperating Systemであり、ストレージコントローラLPAR320が備える各種のプログラムを実行する。
【0033】
ストレージコントローラ管理プログラム322は、ネットワーク130を介して管理サーバ100と接続し、物理サーバ200上で稼働するLPAR310や物理サーバ200が備える内蔵ディスク117、仮想ディスク125の設定を管理するほか、管理サーバ100が発行する要求を受信し、外部ストレージ接続プログラム323、物理ディスク制御プログラム324、仮想ディスク制御プログラム325に要求を送信する。また、仮想化機構300のLPAR制御プログラム301やリソース割当プログラム302に対しても要求を送信する。
【0034】
外部ストレージ接続プログラム323は、ネットワーク130を介して異なる物理サーバ200上のストレージコントローラLPAR320の外部ストレージ接続プログラム323同士が接続することにより、LPAR310がおよび仮想ディスク125に対して発行するディスク入出力命令を送受信する。また、外部ストレージ接続プログラム323は、同じサーバ上のストレージコントローラLPAR320の物理ディスク制御プログラム324や仮想ディスク制御プログラム325と接続し、前記ディスク入出力命令を送信し、前記ディスク入出力命令の結果を受信する。
【0035】
物理ディスク制御プログラム324は、外部ストレージ接続プログラム323からディスク入出力命令を受信し、同じサーバに搭載された内蔵ディスク117に対して、前記ディスク入出力命令を実行する。
【0036】
仮想ディスク制御プログラム325は、ストレージコントローラ管理プログラム322の要求に応じて、内蔵ディスク117に対応した仮想ディスク125を作成する。また、仮想化機構300のリソース割当プログラム302に対して仮想ディスクアダプタ124作成要求を送信し、仮想ディスクアダプタ124を介して第二のLPAR122と仮想ディスク125を接続する。外部ストレージ接続プログラム323からディスク入出力命令を受信し、同じサーバ上の仮想ディスク125に対して、前記ディスク入出力命令を実行する。また、仮想化機構300のLPAR制御プログラム301に対し、仮想ディスク125の作成要求を送信する。
【0037】
なお、サーバ200が内蔵ディスク117を備えていない場合、物理ディスク制御プログラム324は実行されない。同様に、サーバ200が仮想ディスク125を備えていない場合、仮想ディスク制御プログラム325は実行されない。いずれの場合も、ストレージコントローラLPAR320は全てのプログラムを備えているが、サーバ200の構成に応じて実際に実行するプログラムが異なる。
【0038】
管理情報更新プログラム326は、ネットワーク130を介して管理サーバ100のディスク共有管理プログラム403と接続し、管理サーバ100が保持する各種の情報を更新する。
【0039】
図4は、管理サーバ100の詳細構成の一例を示す図である。管理サーバ100は、OS401と、ストレージコントローラ制御プログラム402と、ディスク共有管理プログラム403と、ディスク割当管理情報411と、ストレージコントローラ管理情報412と、ディスク共有管理情報413と、をメモリ202に格納する。これらのプログラムおよび情報は、あらかじめ記録媒体に記録され、この記録媒体から読み出されてメモリ202に格納される。以降、各プログラムを主語として実行される処理を説明するが、実際にはプロセッサ201がメモリ202から各プログラムを読み出し、各プログラムの処理を実行することを意味する。
【0040】
ストレージコントローラ制御プログラム402は、ネットワーク130を介してストレージコントローラLPAR320のストレージコントローラ管理プログラム322と接続し、第一のLPAR112と第二のLPAR122との間で内蔵ディスク117を共有する処理の開始や終了を指示する。
【0041】
ディスク共有管理プログラム403は、管理サーバ100が保持するディスク割当管理情報411や、ストレージコントローラ管理情報412や、ディスク共有管理情報413の情報を更新し、ディスク共有処理の全体を管理する。
【0042】
なお、管理サーバ100の構成は図4に示した構成に限らず、図3で示したような、仮想化機構300によって仮想化された構成でも良い。この場合、管理サーバ100の各プログラムと各情報は、LPAR310のプログラム311に相当する。
【0043】
図5は、ディスク割当管理情報411の一例を示す図である。なお、図5に記載のディスク割当管理情報411のフォーマットは一例であって、図5に示したフォーマットに限定されるものではない。
【0044】
ディスク割当管理情報411は、システム内に存在する内蔵ディスク117や仮想ディスク125などのディスク全般の割り当て状態を管理するテーブルである。ディスク割当管理情報411は、前記ディスクを一意に識別する識別子(以下、ID)のディスクID501と、前記ディスクの種類を判別するディスク種別502と、前記ディスクに接続する物理ディスクアダプタを一意に識別する物理ディスクアダプタID503と、前記ディスクに接続する仮想ディスクアダプタを一意に識別する仮想ディスクアダプタID504と、前記ディスクが割り当てられているLPARを一意に識別するLPAR ID505と、を格納する。
【0045】
ディスク種別欄502には、物理ディスクと仮想ディスクなどのディスク種類を判別する情報を格納する。ディスクの種別が物理ディスクである場合、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などの物理ディスクの実装方式を格納してもよい。また、ディスクの種別が仮想ディスクである場合、仮想ディスクを作成したプログラムの種類やバージョンなどを格納もよい。システム管理者はこれらの情報を参照することで、ディスクの性能や特性を考慮して共有するディスクを選定することができる。
【0046】
なお、前記ディスクの種別が仮想ディスクであり、接続する物理ディスクアダプタが存在しない場合、物理ディスクアダプタID欄503は空欄としてもよい。
【0047】
図6は、ストレージコントローラ管理情報412の一例を示す図である。なお、図6に記載のストレージコントローラ管理情報412のフォーマットは一例であって、図6に示したフォーマットに限定されるものではない。
【0048】
ストレージコントローラ管理情報412は、システム内に存在するストレージコントローラLPAR320などのストレージコントローラ全般を管理するテーブルである。ストレージコントローラ管理情報412には、前記ストレージコントローラを一意に識別するストレージコントローラID601と、前記ストレージコントローラの種類を判別するストレージコントローラ種別602と、前記ストレージコントローラと接続するためのストレージコントローラアドレス603と、前記ストレージコントローラが管理しているディスクの一覧を表す管理対象ディスクID604と、前記ストレージコントローラが管理しているLPARの一覧を表す管理対象LPAR605と、を格納する。
【0049】
ストレージコントローラ種別欄602には、前記ストレージコントローラの種別を判別する情報を格納する。例えば共有ストレージのストレージコントローラなど、ストレージコントローラLPAR320とは実装の異なるストレージコントローラがシステム内に存在する場合、その実装を表す情報をストレージコントローラ種別欄602に格納して良い。
【0050】
アドレス欄603には、管理サーバ100や仮想化機構300やLPAR310やストレージコントローラLPAR320などが、前記ストレージコントローラに接続するために指定する、例えばIPアドレスなどの宛先アドレスを格納する。
【0051】
管理対象ディスクID欄604には、前記ストレージコントローラが管理する内蔵ディスク117や仮想ディスク125のIDを格納する。前記ストレージコントローラは、前記ストレージコントローラが稼働する装置と同一の装置に搭載された内蔵ディスク117や、前記装置の上に作成された仮想ディスク125を管理する。例えば、図1における第一のストレージコントローラLPAR113は、第一のサーバ110に搭載された内蔵ディスク117を管理し、図1における第二のストレージコントローラLPAR125は、第二のサーバ120に作成された仮想ディスク125を管理する。
【0052】
図7は、ディスク共有管理情報413の一例を示す図である。なお、図7に記載のディスク共有管理情報413のフォーマットは一例であって、図7に示したフォーマットに限定されるものではない。
【0053】
ディスク共有管理情報413は、第一のLPAR112と第二のLPAR122との間で内蔵ディスク117を共有する場合に、内蔵ディスク117とそれに対応する仮想ディスク125との対応関係を管理するテーブルである。
【0054】
ディスク共有管理情報413には、第一のサーバ110が備える共有対象の内蔵ディスク117を一意に識別する内蔵ディスクID701と、第一のサーバ110上で稼働し内蔵ディスク117が割り当てられた第一のLPAR112を一意に識別する第一のLPAR ID702と、第二のサーバ120上に新たに作成され内蔵ディスク117に対応する仮想ディスク125を一意に識別する仮想ディスクID703と、第二のサーバ120上で稼働し仮想ディスク125を新たに割り当てる第二のLPAR122を一意に識別する第二のLPAR ID704とを格納する。
【0055】
ディスク共有管理情報413に新たな行が挿入されることで、新たにディスク共有が開始されたことを表す。同様に、ディスク共有管理情報413から行が削除されることで、ディスク共有が終了したことを表す。ディスク共有管理情報413は、内蔵ディスク117と仮想ディスク125との対応関係を示している。したがって、第一のストレージコントローラLPARや第二のストレージコントローラLPARが、ディスク共有管理情報413を参照することによって、内蔵ディスク117と共有関係にある仮想ディスク125を特定できる。
【0056】
次に、実施例において、第一のサーバ110で稼働する第一のLPAR112と、第二のサーバ120で稼働する第二のLPAR122との間で、第一のサーバ110に搭載された内蔵ディスク117の共有を開始する処理の手順を、図8のフローチャートに基づいて説明する。
【0057】
本処理を開始する前のシステムの状態の一例を図9Aと図9Bに示す。図9Aがシステム構成、図9Bが図5のディスク割当管理情報411と、図6のストレージコントローラ管理情報412と、図7のディスク共有管理情報413と、の各情報の状態である。以下では、図1と図5、図6、図7の差異のみ説明する。第一のストレージコントローラLPAR113と、第二のLPAR122と、第二のストレージコントローラLPAR123は、仮想ディスクアダプタを割り当てられておらず、図内のいずれのディスクとも接続されていない。このときに、第一のLPAR112と第二のLPAR122が内蔵ディスク117を共有する要求があるとする。
【0058】
図8は、LPAR間で内蔵ディスクの共有を開始する処理の手順の一例を示すフローチャートである。本処理は例えば、システムの管理者が管理サーバ100に対し、第一のLPAR112と第二のLPAR122とによる内蔵ディスク117のディスク共有開始要求を送信することを契機に実行される。このとき、前記要求の送信者は、第一のLPAR112のIDと、第二のLPAR122のIDと、共有対象の内蔵ディスク117のIDを、管理サーバ100のディスク共有管理プログラム403に対し送信する。なお、本処理を実行する契機は、システム管理者からの要求に限らず、任意のプログラムからの前記要求の送信であってもよい。
【0059】
ステップ801において、管理サーバ100のディスク共有管理プログラム403は、ディスク共有開始要求と、第一のLPAR112のIDと、第二のLPAR122のIDと、共有対象の内蔵ディスク117のIDを受信する。続いて、ディスク共有管理プログラム403は、ディスク共有管理情報413に新たな行を挿入し、受信した内蔵ディスク117のIDと、第一のLPAR112のIDと、第二のLPAR122のIDとを、それぞれディスク共有管理情報413の内蔵ディスクID欄701と、第一のLPAR ID欄702と、第二のLPAR ID欄704に記録する。このとき、仮想ディスクは作成されていないため、仮想ディスクID欄703は空欄である。
【0060】
ステップ802において、管理サーバ100のディスク共有管理プログラム403は、ステップ801で取得した内蔵ディスクIDを元に、ストレージコントローラ管理情報412の管理対象ディスクID欄604を検索し、内蔵ディスク117を管理する第一のストレージコントローラLPAR113のアドレスを、アドレス欄603から取得する。続いて、ステップ801で取得した第一のLPAR IDを元に、ストレージコントローラ管理情報412の管理対象LPAR欄605を検索し、第一のLPAR112を管理する第一のストレージコントローラLPAR113のアドレスを、アドレス欄603から取得する。同様に、第二のLPAR122を管理する第二のストレージコントローラLPAR123のアドレスも取得する。
【0061】
図6を例に説明すると、内蔵ディスク117のIDであるDisk1−1をキーとしてストレージコントローラ管理情報412を検索すると、第一のストレージコントローラLPARのIDであるLPAR1−2の行が得られる。ここで、得られた行のアドレス欄603を参照することで、内蔵ディスク117を管理する第一のストレージコントローラLPARのアドレスは192.0.2.10であると判明する。
【0062】
ここで、ストレージコントローラ管理情報412の検索において、ストレージコントローラの行を複数発見することがある。複数のストレージコントローラで一つの内蔵ディスクやLPARを管理する目的は、多くの場合ストレージコントローラ管理情報の冗長化である。このときは、システム管理者が予めストレージコントローラ種別欄602に冗長構成の主系と従系などの情報を記録しておく。これにより、ストレージコントローラを複数発見したときに、いずれのストレージコントローラを選択すればよいか判断できる。
【0063】
ステップ803において、管理サーバ100のストレージコントローラ制御プログラム402は、ステップ802で取得した第一のストレージコントローラLPAR113のアドレスを使い、第一のストレージコントローラLPAR113に対し、ディスク共有開始命令と、ステップ801で取得した共有対象の内蔵ディスク117のID、第一のLPAR112のID、第二のLPAR122のIDに加え、ステップ802で取得した第二のストレージコントローラLPAR123のアドレスを送信する。
【0064】
ステップ804において、第一のストレージコントローラLPAR113のストレージコントローラ管理プログラム322は、ステップ803で管理サーバ100が送信した要求やIDなどの情報を受信する。続いて、ストレージコントローラ管理プログラム322は、第一の仮想化機構111のリソース割当プログラム302に対し、仮想ディスクアダプタ作成要求と、内蔵ディスク117のIDと、第一のストレージコントローラLPAR113のIDと、を送信する。このとき、ストレージコントローラ管理プログラム322が第一の仮想化機構111に対して前記要求や前記IDを送信するには、例えばハイパーコールなどの、LPARが仮想化機構に対して情報を伝達できる特殊な命令を利用する。あるいは、ネットワークを介して仮想化機構に接続し、仮想化機構が提供するAPI(Application Program Interface)命令を発行してもよい。
【0065】
リソース割当プログラム302はストレージコントローラ管理プログラム322からの情報を受信し、仮想ディスクアダプタ115を作成する。このとき、リソース割当プログラム302は、仮想ディスクアダプタ115を一意に識別するためのIDも生成する。また、リソース割当プログラム302は、第一のストレージコントローラLPAR113のIDを元に仮想ディスクアダプタ115を第一のストレージコントローラLPAR113に割り当て、内蔵ディスク117のIDを元に仮想ディスクアダプタ115を内蔵ディスク117に接続する。この後、リソース割当プログラム302は、生成した前記IDをストレージコントローラ管理プログラム322に送信する。この処理により、第一のストレージコントローラLPAR113は、内蔵ディスク117にディスク入出力命令を発行し、データの読み書きを行えるようになる。このときのリソース割当プログラム302の処理は、仮想化機構111が一般的に持つ仮想ディスクアダプタの作成処理と物理ディスクの割り当て処理である。また、仮想ディスクアダプタのIDは、例えばWWN(World Wide Name)などである。
【0066】
続いて、ストレージコントローラ管理プログラム322は、管理情報更新プログラム326を介して管理サーバ100に接続し、ディスク割当管理情報411を更新する。具体的には、管理情報更新プログラム326は、内蔵ディスク117のIDを元にディスク割当管理情報411のディスクID欄501を検索し、得られた行の仮想ディスクアダプタID欄504に、リソース割当プログラム302から受け取った仮想ディスクアダプタ115のIDを登録する。合わせて、LPAR ID欄505に、仮想ディスクアダプタ115を割り当てた第一のストレージコントローラLPAR113のIDを登録する。
【0067】
仮想ディスクアダプタ115の作成後、第一のストレージコントローラLPAR113は、第二のストレージコントローラLPAR123からの通信を待つ。
【0068】
このときのシステムの状態の一例を図10Aと図10Bに示す。図9と比較して、新たに仮想ディスクアダプタ115が作成され、ストレージコントローラLPAR113が仮想ディスクアダプタ115を介して内蔵ディスク117に接続している。
【0069】
ステップ805において、管理サーバ100のストレージコントローラ制御プログラム402は、ステップ802で取得した第二のストレージコントローラLPAR123のアドレスを使い、第二のストレージコントローラLPAR123に対し、ディスク共有開始命令と、ステップ801で取得した共有対象の内蔵ディスク117のID、第一のLPARのID、第二のLPARのIDに加え、ステップ802で取得した第一のストレージコントローラLPAR113のアドレスを送信する。
【0070】
ステップ806において、第二のストレージコントローラLPAR123のストレージコントローラ管理プログラム322は、ステップ805で管理サーバ100が送信した要求やIDなどの情報を受信する。続いて、ストレージコントローラ管理プログラム322は、外部ストレージ接続プログラム323に対して第一のストレージコントローラLPAR113との接続要求を送信する。
【0071】
外部ストレージ接続プログラム323は、ステップ805で受け取った第一のストレージコントローラLPAR113のアドレスを使い、ネットワーク130を介して第一のストレージコントローラLPAR113に接続要求を送信する。第一のストレージコントローラLPAR113の外部ストレージ接続プログラム323は、第二のストレージコントローラLPAR123の接続要求を受信すると、第一のストレージコントローラLPAR113と第二のストレージコントローラLPAR123との間で通信を確立する。ここで、通信の確立とは、両者が互いに情報を送受信できるように準備することであり、例えばIP(Internet Protocol)のセッションを張ることである。
【0072】
ステップ807において、ストレージコントローラ管理プログラム322は、仮想ディスク制御プログラム325に対し、仮想ディスク作成要求と、第二のLPAR122のIDと、第二のストレージコントローラLPAR123のIDと、を送信する。
【0073】
仮想ディスク制御プログラム325は、ストレージコントローラ管理プログラム322からの情報を受信し、仮想ディスク125を作成する。また、仮想ディスク制御プログラム325は、作成した仮想ディスク125を一意に識別するためのIDを生成する。
【0074】
ここで、仮想ディスク125は、仮想ディスク制御プログラム325が内蔵ディスク117を模擬して作成されたものである。仮想ディスク125は、例えばSCSIコマンドなどのディスク入出力命令を受け付けることができる。従って、仮想ディスク125は、ディスク入出力命令の宛先として指定できるIDを持ち、例えばLUN(Logical Unit Number)を持つ。
【0075】
仮想ディスク125の作成後、仮想ディスク制御プログラム325は、生成した仮想ディスク125のIDをストレージコントローラ管理プログラム322に送信する。
【0076】
続いて、ストレージコントローラ管理プログラム322は、管理情報更新プログラム326を介して管理サーバ100に接続し、ディスク割当管理情報411を更新する。具体的には、管理情報更新プログラム326は、ディスク割当管理情報411に新しい行を挿入し、ディスクID欄501に仮想ディスク制御プログラム325から受け取った仮想ディスク125のIDを、ディスク種別欄502に仮想ディスクを表す情報を、LPAR ID欄505に第二のストレージコントローラLPAR123のIDを、登録する。仮想ディスク125の場合、物理ディスクアダプタには接続しないため、物理ディスクアダプタID欄503は空欄のままである。また、仮想ディスク125に接続する仮想ディスクアダプタを作成していないため、仮想ディスクアダプタID欄504も空欄のままである。
【0077】
また、ストレージコントローラ管理プログラム322は、管理情報更新プログラム326を介して管理サーバ100に接続し、ストレージコントローラ管理情報412を更新する。具体的には、ストレージコントローラ管理プログラム322は、第二のストレージコントローラLPAR123のIDを元にストレージコントローラ管理情報412のストレージコントローラID欄601を検索し、取得した行の管理対象ディスク欄604に仮想ディスク125のIDを登録する。以上の処理により、仮想ディスク125が第二のストレージコントローラLPAR123の管理下に入ったことを表す。
【0078】
このときのシステムの状態の一例を図11Aと図11Bに示す。図10と比較して、新たに第二のストレージコントローラLPAR123上に仮想ディスク125が作成されている。
【0079】
ステップ808において、ストレージコントローラ管理プログラム322は、第二の仮想化機構121のリソース割当プログラム302に対し、仮想ディスクアダプタ作成要求と、第二のLPAR122のIDと、第二のストレージコントローラLPAR123のIDと、仮想ディスク125のIDとを、ハイパーコールやAPIなどを利用して送信する。
【0080】
リソース割当プログラム302は、ストレージコントローラ管理プログラム322からの情報を受信し、仮想ディスクアダプタ124を作成し、仮想ディスクアダプタ124を第二のLPAR122のIDを元に第二のLPAR122に割り当て、仮想ディスク125のIDを元に仮想ディスクアダプタ124を仮想ディスク125に接続する。また、仮想ディスクアダプタ124は、ストレージコントローラ管理プログラム322が送信した第二のストレージコントローラLPAR123のIDを保持しておく。このとき、仮想ディスクアダプタ124のIDを合わせて生成し、ストレージコントローラ管理プログラム322に返す処理はステップ804やステップ807と同様である。
【0081】
続いて、ストレージコントローラ管理プログラム322は、管理情報更新プログラム326を介して管理サーバ100に接続し、ディスク割当管理情報411を更新する。具体的には、管理情報更新プログラム326は、仮想ディスク125のIDを元にディスク割当管理情報411のディスクID欄501を検索し、取得した行の仮想ディスクアダプタID欄504にリソース割当プログラム302から受け取った仮想ディスクアダプタ124のIDを、LPAR ID欄505に第二のLPAR122のIDを、登録する。
【0082】
また、ストレージコントローラ管理プログラム322は、管理情報更新プログラム326を介して管理サーバ100に接続し、ディスク共有管理情報413を更新する。具体的には、まず、内蔵ディスク117のIDを元に、ディスク共有管理情報413の内蔵ディスクID欄701を検索する。次に、検索により取得した内蔵ディスク117のIDが一致する行において、空欄の仮想ディスクID欄703に、ステップ807にて生成された仮想ディスク125のIDを、登録する。
【0083】
以上の手順により、第一のサーバ110におけるストレージコントローラLPAR113と第二のサーバ120におけるストレージコントローラLPAR123とが、ディスク共有管理情報413を管理サーバ100を介して共有しているので、内蔵ディスク117を模擬した仮想ディスク125を特定でき、第一のLPAR112と第二のLPAR122とが内蔵ディスク117の共有を開始可能となる。これにより、第二のLPAR122は、仮想ディスクアダプタ124に対してディスク入出力命令を発行することで、内蔵ディスク117に保存されたデータを読み書きできるようになる。
【0084】
このときのシステム構成の一例が図1であり、ディスク割当管理情報411やストレージコントローラ管理情報412やディスク共有管理情報413の状態が、それぞれ図5、図6、図7である。
【0085】
次に、第二のLPAR122が仮想ディスクアダプタ124に対してディスク入出力命令を発行し、内蔵ディスク117に保存されたデータを読み書きする際の処理の手順を、図12を使いフローチャートにより説明する。
【0086】
ステップ1201において、第二のLPAR122上で稼働するプログラム311は、第二の仮想化機構121により第二のLPAR122に割り当てられた仮想ディスクアダプタ124に対し、仮想ディスク125のディスク入出力命令を発行する。
【0087】
ここで、前記ディスク入出力命令は、第二のLPAR122上で稼働するプログラム311が仮想ディスクアダプタ124を介して仮想ディスク125に保存されたデータを読み書きする一般的な命令であり、例えばSCSIコマンドである。従って、前記ディスク入出力命令には、命令を発行する対象のディスクである内蔵ディスク117のIDと、入出力処理の内容が含まれている。
【0088】
ステップ1202において、仮想ディスクアダプタ124は、第二のLPAR122が発行した前記ディスク入出力命令を受信する。ここで、一般的な仮想化機構において、第二のLPAR122が発行するディスク入出力命令は仮想化機構121が処理すべき特殊な命令であるため、前記ディスク入出力命令は仮想化機構121のLPAR制御プログラム301によりトラップされ、プロセッサ201により処理されるプログラム207が、第二のLPAR122から仮想ディスクアダプタ124に移る。従って、前記ディスク入出力命令の受信とは、例えばLPAR制御プログラム301がトラップ処理により受信した前記ディスク入出力命令を、仮想ディスクアダプタ124に受け渡す処理である。
【0089】
続けて、仮想ディスクアダプタ124は、ステップ808において仮想ディスクアダプタ124が受信した第二のストレージコントローラLPAR123のIDを使い、前記ディスク入出力命令を、第二のストレージコントローラLPAR123に対して送信する。ここで、前記ディスク入出力命令の送信方法は、例えば仮想ディスクアダプタ124から第二のストレージコントローラLPAR123へのLPAR制御プログラム301を介した割り込みの発行である。
【0090】
ステップ1203において、第二のストレージコントローラLPAR122の仮想ディスク制御プログラム325は、仮想ディスクアダプタ124が送信した前記ディスク入出力命令を受信し、第二のストレージコントローラLPAR123の外部ストレージ接続プログラム323に対し、前記ディスク入出力命令を転送する。
【0091】
続けて、外部ストレージ接続プログラム323は、ストレージコントローラ管理プログラム322を介して管理サーバ100のストレージコントローラ管理情報412を参照し、前記ディスク入出力命令に含まれる内蔵ディスク117のIDを元に、ストレージコントローラ管理情報412の管理対象ディスク欄604を検索する。その後、外部ストレージ接続プログラム323は、検索により得られた行のアドレス欄603から第一のストレージコントローラLPAR113のアドレスを取得する。ここで、外部ストレージ接続プログラム323は、管理サーバ100へ接続するのではなく、外部ストレージ接続プログラム323内に内蔵ディスク117のIDと第一のストレージコントローラLPAR113のアドレスとの組み合わせをキャッシュしておき、それを参照してもよい。
【0092】
続けて、外部ストレージ管理プログラム323は、取得した前記アドレスを使い、ステップ806で確立した通信を通して、第一のストレージコントローラLPAR113に対し、ネットワーク130を介して前記ディスク入出力命令を送信する。ここで、前記ディスク入出力命令の送信方法は、外部ストレージ接続プログラム323が前記ディスク入出力命令に対し、ネットワーク130が採用するIPなどの通信プロトコルに合わせてヘッダを付加することで前記ディスク入出力命令をカプセル化し、ネットワーク130を介して送信する送信方法であり、例えばiSCSIである。
【0093】
ステップ1204において、第一のストレージコントローラLPAR113の外部ストレージ接続プログラム323は、第二のストレージコントローラLPAR123から転送された前記カプセル化したディスク入出力命令を受信し、前記カプセル化したディスク入出力命令から第二のストレージコントローラLPARの外部ストレージ接続プログラム323が付加したヘッダを除去することで、前記ディスク入出力命令を取り出す。続けて、第一のストレージコントローラLPAR113の外部ストレージ接続プログラム323は、前記ディスク入出力命令に含まれる内蔵ディスク117のIDを元に、第一のストレージコントローラLPAR113の物理ディスク制御プログラム324に対し前記ディスク入出力命令を発行する。
【0094】
物理ディスク制御プログラム324は、仮想ディスクアダプタ115を介し、内蔵ディスク117に対し前記ディスク入出力命令を発行する。また、物理ディスク制御プログラム324は、内蔵ディスク117に対して発行された前記ディスク入出力命令の結果を、仮想ディスクアダプタ115を介して受け取る。ここで、物理ディスク制御プログラム324が前記ディスク入出力命令を発行し、その結果を受け取る処理は、一般的な仮想化機構が備えるディスク入出力処理である。
【0095】
ステップ1205において、第一のストレージコントローラLPAR113の物理ディスク制御プログラム324は、前記ディスク入出力命令の結果を第一のストレージコントローラLPAR113の外部ストレージ接続プログラム323に転送する。
【0096】
続けて、外部ストレージ接続プログラム323は、ストレージコントローラ管理プログラム322を介して管理サーバ100のディスク共有管理情報413を参照し、前記ディスク入出力命令に含まれる内蔵ディスク117のIDを元に、ディスク共有管理情報413の内蔵ディスクID欄701を検索する。その後、外部ストレージ接続プログラム323は、検索により得られた行の仮想ディスクID欄703から、内蔵ディスク117に対応する仮想ディスク125のIDを取得する。次に、外部ストレージ接続プログラム323は、管理サーバ100のストレージコントローラ管理情報412の管理対象ディスク欄604を、前記仮想ディスクIDを元に検索し、得られた行のアドレス欄603から、仮想ディスク125を管理する第二のストレージコントローラLPARのアドレスを取得する。ここで、外部ストレージ接続プログラム323は、管理サーバ100へ接続するのではなく、外部ストレージ接続プログラム323内に内蔵ディスク117のIDと、仮想ディスク125のIDと、第二のストレージコントローラLPAR123のアドレスの組み合わせをキャッシュしておき、それを参照してもよい。
【0097】
続けて、外部ストレージ接続プログラム323は、取得したアドレスを使い、第二のストレージコントローラLPAR123に対し、前記ディスク入出力命令の結果を送信する。ここで、前記ディスク入出力命令の結果の送信方法は、ステップ1203で記述した送信方法と同様であり、前記ディスク入出力命令の結果に対し、ネットワーク130が採用する通信プロトコルに合わせたヘッダを付加することで、前記ディスク入出力命令の結果をカプセル化し、ネットワーク130を介して送信する送信方法である。
【0098】
ステップ1206において、第二のストレージコントローラLPAR123の外部ストレージ接続プログラム323は、第一のストレージコントローラLPAR113が送信した前記カプセル化したディスク入出力命令の結果を受信し、前記カプセル化したディスク入出力命令の結果から、第一のストレージコントローラLPARの外部ストレージ接続プログラム323が付加したヘッダを除去することで、前記ディスク入出力命令の結果を取り出す。続けて、第二のストレージコントローラLPAR123の外部ストレージ接続プログラム323は、仮想ディスク制御プログラム325に対し、前記ディスク入出力命令の結果を送信する。
【0099】
続けて、仮想ディスク制御プログラム325は、第二のLPAR122に対して前記ディスク入出力命令の結果を送信する。具体的には、仮想ディスク制御プログラム325は、第二の仮想化機構121の仮想ディスクアダプタ124に対し、例えばハイパーコールやAPIなどを利用して前記ディスク入出力命令の結果を送信する。仮想ディスクアダプタ124は、例えば割り込み命令などの、仮想化機構がLPARに対して情報を伝達できる命令を利用して、前記ディスク入出力命令の結果を第二のLPAR122に対し送信する。
【0100】
以上の手順により、第二のLPAR122が仮想ディスクアダプタ124に対して入出力命令を発行し、内蔵ディスク117に保存されたデータを読み書きする際の処理を実現できる。これにより、高価な共有ストレージを不要とし、安価な内蔵ディスクを採用することによるコスト削減と、ディスク共有による利便性を両立できるという効果を有する。
【符号の説明】
【0101】
100 管理サーバ、110 第一のサーバ、120 第二のサーバ、111および121 仮想化機構、112および122 LPAR、113および123 ストレージコントローラLPAR、114および115および124 仮想ディスクアダプタ、116 物理ディスクアダプタ、117 内蔵ディスク、125 仮想ディスク、200 物理サーバ、201 プロセッサ、202 メモリ、203 ネットワークアダプタ、204 ディスクアダプタ、205 入出力装置、206 システムバス、207 プログラム、300 仮想化機構、301 LPAR制御プログラム、302 リソース割当プログラム、310 LPAR、311 プログラム、320 ストレージコントローラLPAR、321 OS、322 ストレージコントローラ管理プログラム、323 外部ストレージ接続プログラム、324 物理ディスク制御プログラム、325 仮想ディスク制御プログラム、326 管理情報更新プログラム、401 OS、402 ストレージコントローラ制御プログラム、403 ディスク共有管理プログラム、411 ディスク割当管理情報、412 ストレージコントローラ管理情報、413 ディスク共有管理情報、501ないし505 テーブル内データ、601ないし605 テーブル内データ、701ないし704 テーブル内データ、801ないし808 処理ステップ、1201ないし1206 処理ステップ

【特許請求の範囲】
【請求項1】
複数の物理サーバと、前記複数の物理サーバに接続された管理サーバと、を含むシステムにおけるディスク共有方法において、
第一の物理サーバは、内蔵ディスクと、第一の仮想化機構と、前記第一の仮想化機構により論理分割された第一のLPAR及び第一のストレージコントローラLPARと、を備え、
第二の物理サーバは、第二の仮想化機構と、前記第二の仮想化機構により論理分割された第二のLPAR及び第二のストレージコントローラLPARと、前記第二のストレージコントローラLPARにより前記第一の物理サーバの前記内蔵ディスクを模擬して生成された仮想ディスクと、を備え、
前記第一のストレージコントローラLPARと、前記第二のストレージコントローラLPARとは相互に通信し、
前記第二のストレージコントローラLPARは、前記第二のLPARが発行した前記仮想ディスクのディスク入出力命令を、前記第一のストレージコントローラLPARに転送し、
前記第一のストレージコントローラLPARは、前記ディスク入出力命令を参照して、前記ディスク入出力命令に含まれる内蔵ディスクの識別子を取得し、前記取得した識別子に対応する前記内蔵ディスクに対して、前記ディスク入出力命令を実行することを特徴とするディスク共有方法。
【請求項2】
前記第一のストレージコントローラLPARは、前記実行したディスク入出力命令の結果を、前記第二のストレージコントローラLPARに転送し、
前記第二のストレージコントローラLPARは、前記転送されたディスク入出力命令の結果を、前記第二のLPARに転送することを特徴とする請求項1記載のディスク共有方法。
【請求項3】
前記ディスク入出力命令は、命令を発行する対象のディスクである内蔵ディスクの識別子、及び処理内容を有することを特徴とする請求項1記載のディスク共有方法。
【請求項4】
前記第一のストレージコントローラLPARは、第一の仮想ディスクアダプタを介して前記内蔵ディスクに接続し、
前記第二のLPARは、第二の仮想ディスクアダプタを介して前記第二のストレージコントローラLPARに接続することを特徴とする請求項1記載のディスク共有方法。
【請求項5】
前記管理サーバは、前記第一のLPAR、前記内蔵ディスク、前記第二のLPAR及び前記仮想ディスクとの対応関係を管理するディスク共有管理情報を有し、
前記第一のストレージコントローラLPARは、
前記ディスク入出力命令を参照して、前記ディスク入出力命令に含まれる内蔵ディスクの識別子を取得し、
前記取得した内蔵ディスクの識別子に対応する前記内蔵ディスクを模擬した、前記仮想ディスクの識別子を、前記ディスク共有管理情報を参照して取得し、
前記取得した仮想ディスクの識別子に対応する前記仮想ディスクを生成した、前記第二のストレージコントローラLPARに、前記実行したディスク入出力命令の結果を転送することを特徴とする請求項1記載のディスク共有方法。
【請求項6】
前記第二のLPARは、前記ディスク入出力命令を前記第二の仮想ディスクアダプタに発行し、
前記第二の仮想ディスクアダプタは、前記発行されたディスク入出力命令を受信し、前記受信したディスク入出力命令を前記第二のストレージコントローラLPARに転送することを特徴とする請求項4記載のディスク共有方法。
【請求項7】
前記第二のストレージコントローラLPARは、前記ディスク入出力命令に含まれる前記内蔵ディスクの識別子を参照し、
前記参照した識別子に対応する前記内蔵ディスクを管理する前記第一のストレージコントローラLPARに対して、前記ディスク入出力命令を転送することを特徴とする請求項1記載のディスク共有方法。
【請求項8】
前記第一のLPARは、第三の仮想ディスクアダプタを介して前記内蔵ディスクに接続することを特徴とする請求項1記載のディスク共有方法。
【請求項9】
前記第二のストレージコントローラLPARは、前記仮想ディスクの識別子を生成し、
前記ディスク共有管理情報に前記生成した仮想ディスクの識別子を登録することを特徴とする請求項1記載のディスク共有方法。
【請求項10】
前記管理サーバは、
前記内蔵ディスクと前記第一のストレージコントローラLPARとの対応関係と、前記第一のストレージコントローラLPARのアドレスと、
前記仮想ディスクと前記第二のストレージコントローラLPARとの対応関係と、前記第二のストレージコントローラLPARのアドレスと、を管理するストレージ管理情報を有することを特徴とする請求項1記載のディスク共有方法。
【請求項11】
前記管理サーバは、
前記内蔵ディスクの識別子および前記仮想ディスクの識別子と、
前記内蔵ディスクの種別および前記仮想ディスクの種別と、
前記第一の仮想ディスクアダプタの識別子と前記第二の仮想ディスクアダプタの識別子と、
前記第一のLPARの識別子と前記第二のLPARの識別子と、の対応関係を管理するディスク割当管理情報を有することを特徴とする請求項1記載のディスク共有方法。
【請求項12】
内蔵ディスクと、第一の仮想化機構と、前記第一の仮想化機構により論理分割された第一のLPAR及び第一のストレージコントローラLPARと、を備えた第一の物理サーバと、
第二の仮想化機構と、前記第二の仮想化機構により論理分割された第二のLPAR及び第二のストレージコントローラLPARと、前記第二のストレージコントローラLPARにより前記第一の物理サーバの前記内蔵ディスクを模擬して生成された仮想ディスクと、を備えた第二の物理サーバと、
これら複数の物理サーバに接続された管理サーバと、を含む計算機システムであって、
前記第一のストレージコントローラLPARと相互に通信する前記第二のストレージコントローラLPARは、
前記第二のLPARが発行した前記仮想ディスクのディスク入出力命令を、前記第一のストレージコントローラLPARに転送する手段を有し、
前記第一のストレージコントローラLPARは、
前記ディスク入出力命令を参照して、前記ディスク入出力命令に含まれる内蔵ディスクの識別子を取得する手段と、
前記取得した識別子に対応する前記第一の物理サーバの内蔵ディスクに対して、前記ディスク入出力命令を実行する手段と、を有することを特徴とするディスク共有を行う計算機システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12】
image rotate


【公開番号】特開2013−3691(P2013−3691A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−131806(P2011−131806)
【出願日】平成23年6月14日(2011.6.14)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】