(57)【特許請求の範囲】
【請求項１】
少なくとも1つのクライアント計算機と、
複数の第１サーバと、
複数の第２サーバと、
管理計算機と、
複数のディスクを有するストレージ装置と、
を有するシステムであって、
前記クライアント計算機は、前記複数の第１サーバのいずれかにリード要求を送信し、
前記リード要求を受信した第１サーバは、前記複数の第２サーバの中から前記リード要求の対象データへの入出力処理を担当する第２サーバを特定し、前記特定された第２サーバに入出力を要求し、
前記特定された第２サーバは、前記ストレージ装置から前記対象データを読み出し、前記対象データを前記クライアント計算機に送信するものであって、
前記管理計算機は、前記複数のディスクのうちの第１ディスクと前記第１ディスクへの入出力処理を行う第２サーバAとの間の対応関係と、前記複数のディスクのうちの第２ディスクと前記第２ディスクへの入出力を行う第２サーバBとの間の対応関係と、を示す第１管理情報を記憶しており、前記複数のディスクのうちの第１ディスクの負荷が所定閾値よりも大きくなった場合に、前記第１ディスクへの入出力を行う前記第２サーバAを特定し、
前記管理計算機は更に、前記第２サーバAと前記複数の第1サーバのうちの第１サーバAとの間の対応関係を示す第２管理情報を記憶しており、前記特定された前記第２サーバAと対応する前記第１サーバAを特定し、
前記管理計算機は更に、前記特定された第１サーバAに対して、前記クライアント計算機へのサービスを中断するよう要求し、
前記管理計算機は更に、特定された前記第２サーバAに対して、前記第１ディスクに記憶されたデータのコピー先となる複数の第３ディスクにアクセスできるか否かを確認するよう要求し、
前記第２サーバAから前記複数の第３ディスクにアクセスできる場合には、前記第１ディスクに記憶されたデータを分割し、前記データについての前記第１ディスクから前記複数の第３ディスクへのコピー完了後、前記第２サーバAから前記複数の第３ディスクへの入出力が開始され、
前記第２サーバAから前記複数の第３ディスクにアクセスできない場合には、前記管理計算機は、前記第１ディスクに記憶されたデータについての分割が不可である旨を報告する、
ことを特徴とするシステム。
【請求項２】
請求項１記載のシステムであって、
前記ストレージ装置は、複数のポートを有し、
前記管理計算機は、前記複数のポートの各々の負荷を示す第３管理情報と前記複数ポートと前記複数のディスクとの対応関係を示す第４管理情報を有し、
前記複数のポートに含まれる第１ポートへの負荷が所定閾値よりも大きくなった場合に、前記管理計算機は、前記複数のポートのうち前記第１ポートとは別の第２ポートを特定し、前記第１ポートに対応していた第４ディスクへの入出力処理を担当する第２サーバは、前記第２ポートを介して第４ディスクへの入出力処理を行うことを特徴とするシステム。
【請求項３】
請求項１記載のシステムであって、
前記管理計算機は、前記ストレージ装置にコピー指示を送信し、
前記ストレージ装置が、前記第１ディスクから第３ディスクへのコピーを実行する、ことを特徴とするシステム。
【請求項４】
請求項２記載のシステムであって、
前記ストレージ装置は複数であり、
前記管理計算機は、
複数の前記ストレージ装置のうち第１ストレージ装置が有する前記第１ポートへの負荷が所定閾値よりも大きくなった場合に、前記第１ストレージ装置が、負荷が所定閾値よりも小さいポートを有するときには、前記第１ストレージ装置が有する負荷が所定閾値よりも小さいポートを前記第２ポートとして特定し、前記第１ストレージ装置が負荷が所定閾値よりも小さいポートを有さないときには、前記複数のストレージ装置のうち前記第１ストレージ装置とは別のストレージ装置が有するポートを前記第２ポートとして特定し、
前記複数の第２サーバの中から、前記第1ポートと対応するディスクへの入出力を行う第２サーバを特定し、
前記特定された第２サーバと対応する第１サーバを特定し、
前記第１サーバに対して、前記クライアント計算機へのサービスを中断するよう要求し、
前記特定された第２サーバに対して、前記第１ポートと対応するディスクに記憶されたデータのコピー先となるディスクにアクセスできるか否かを確認するよう要求し、
前記特定された第２サーバから前記コピー先となるディスクにアクセスできる場合には、前記一ポートと対応するディスクから前記コピー先となるディスクへのコピー完了後、前記特定された第２サーバから前記コピー先となるディスクへの入出力が開始され、
前記特定された第２サーバから前記コピー先となるディスクにアクセスできない場合には、前記第１ポートと対応するディスクから前記コピー先となるディスクへのコピーが不可である旨を報告する、
ことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ストレージエリアネットワーク環境上の分散計算機システムの管理方法に関する。
【０００２】
【従来の技術】
複数の計算機に処理を分散させることによって性能の向上を計る分散型の計算機システムが広く使用されている。このような計算機システムは、クライアントに対し、複数のサーバ計算機によってサービスを提供している。
【０００３】
また、このような計算機システムで使用される計算機は、ストレージ装置と接続するためのポートを複数もち、ストレージ装置にも複数の計算機と接続するためのポートを複数もっている。ストレージ装置内のディスクと計算機は、このポートを介して接続されるが、ディスクと計算機との間の接続があるポートに集中してしまうと、ポートの処理能力を超えてしまうため、ポートが複数ある場合にはディスクと計算機との間の接続を別のポートを介するようにポートの負荷分散を行う。
【０００４】
【発明が解決しようとする課題】
従来の分散型の計算機システムでは、サーバ計算機とストレージ装置は、１対１で接続されおり、サーバ計算機のメンテナンス、またはシステム全体の処理性能向上・負荷分散のために、サーバ計算機及びストレージ装置の追加・除去を伴う計算機システムの物理構成の変更を行う場合、計算機システムのサービスを完全に停止した後、システム管理者が、サーバ計算機とストレージ装置との接続、サーバ計算機のシステム設定の変更を行ったのち、システムのサービス開始を行っており、システム管理者は多くの設定作業を行う必要がある。
また、ポート負荷分散を行う場合にも、計算機システムを停止してのシステム管理者によるシステム再設定が必要となる。
【０００５】
本発明では、分散型の計算機システムにおいて、システムの提供するサービスに対して、サーバ計算機のメンテナンス、システム処理性能の向上・負荷分散のために、サーバ計算機の追加・削除、ディスク負荷分散のためのデータの複数ディスクへの分割を、システムを完全に停止することなく行い、データを処理するサーバ計算機を自動的かつ容易に変更する方法を提供することにより、計算機システムの信頼性の向上およびシステム管理者の負担軽減と設定ミスを低減する。
【０００６】
また、システムを完全に停止することなく、計算機とストレージ装置とを接続するポートの変更を行う手段を提供する。
【０００７】
【課題を解決するための手段】
サーバ計算機とストレージ装置との間に、ネットワークを構築してサーバ計算機とストレージ装置とを物理的に接続する。計算機システムのサービスの処理対象となるあるまとまったデータを分割し、分割したデータ（以後、分割データと呼ぶ）を処理する複数の計算機と分割データを格納するディスクとの間をネットワークで接続し、ある分割データを処理する計算機の負荷が高くなった場合に、計算機が処理する分割データの一部を別の計算機に処理させるために、分割データが格納されているディスクを移動先の計算機に通知し、分割データに関する処理を移行する。このとき、あるまとまったデータに関する処理を提供するサービスの設定に、分割データに関する処理の移行を反映する。
【０００８】
さらに、あるまとまったデータの分割データをさらに分割し、さらに分割されたデータを複数のディスクに分割することによりディスク負荷の分散を行った場合に、さらに分割されたデータを格納するディスクを計算機に通知し、さらに分割されたデータに関する処理を行わせる。このとき、あるまとまったデータに関する処理を提供するサービスの設定に、さらに分割データを分割したことと分割データを処理する計算機が割り当てられたことを反映する。
【０００９】
また、ユーザに対して、サービスを提供する複数のサーバ計算機をシンボルで表わし、前記シンボルを画面上で移動させることにより、データを処理するサーバ計算機をサービスから取り除いたり、加えたりするシステム構成の変更を行なうことができるインターフェイスを提供する。
【００１０】
【発明の実施の形態】
−第１の実施例−
図１は、本発明を適用する計算機システムの構成図である。計算機システム１は、クライアント計算機１０a、１０b（総称してクライアント１０と呼ぶ）と、ＦＥＳ(Front End Server)計算機１００、ＢＥＳ(Back End Server)計算機２００、これらサーバ計算機にファイバチャネルスイッチ４０を介して接続されるストレージ装置５０a、５０b（総称してストレージ装置５０と呼ぶ）とネットワーク６０から構成される。
【００１１】
ストレージ装置５０は、ディスク５１０、サーバ計算機３０と接続するストレージポート５３から構成される。本実施例におけるディスク５１０は、論理的なデバイスであり、複数の物理ディスクから構成されているが、実施例の説明には関係ないため省略する。ただし、ディスク５１０は、論理的なデバイスに限らない。
【００１２】
ストレージポート５３は、接続されるサーバ計算機３０がUNIXなどのオープンシステムであればSCSI(Small Computer System Interface)のインタフェース、あるいはサーバ計算機がメインフレームであればESCON(Enterprise System CONnection)などのチャネルインタフェースであり、それぞれのストレージポート５３が同一のインタフェースであっても異なるものが混在していてもかまわない。本実施例では、全てのインタフェースがファイバーチャネルインタフェースであるとする。
【００１３】
ファイバチャネルスイッチ４０は、サーバポート３２とストレージ装置５０のストレージポート５３との間の接続を制限するゾーニング機能をもっており、ネットワークインタフェース３２を使って、ゾーニングを設定できる。同一のゾーン内ではサーバポート３２からストレージポート５３に対してアクセスできるが、サーバポート３２とストレージポート５３とが、それぞれ異なるゾーンに属しているときはアクセスできない。このゾーニングの機能によって、アクセスを制限できる。ゾーニングは必ずしも必要でないが、ゾーニングによってサーバ３０からストレージ装置５０への不用意なアクセスを防ぐことができる。今後、ポート間の接続とは、ポートが同一のゾーン内にあることを指す。
【００１４】
ストレージ装置５０は、ディスク５１０のデータを別のディスク５１０にコピーする機能をもっている。この機能は例えば、米国特許５,８４５,２９５号にて開示されている。
【００１５】
また、ストレージ装置５０は、ディスク５１０に対して、少なくとも計算機システム１内で一意であることが保証されるＩＤをつける。例えば、ストレージ装置のベンダ名とストレージ装置のシリアル番号とディスクの内部識別子を使用してストレージＩＤを生成する。
【００１６】
計算機システム１は、少なくとも１つ以上のサービスを１つ以上のクライアント計算機に対して提供するものである。本計算機システムで提供されるサービスに対するクライアントからの要求は、ある意味をもつデータに対する処理に関するものである。サービスは、１つのＦＥＳと少なくとも１つ以上のＢＥＳによって提供される。ある意味をもつデータはすくなくとも１つ以上に分割されて、ディスクに格納される。ＦＥＳは、クライアント計算機からの処理要求を分割されたデータに対する処理に分解する。分割されたデータは、ディスクに格納されており、ディスクに対してアクセスし、格納されている分割データを処理するように指定されたＢＥＳが処理を行う。
【００１７】
例えば、このようなサービスとして、ファイルサーバがある。ＦＥＳは、クライアントに対してある意味があるデータとしてディレクトリ構造（仮想ディレクトリ）を提供する。データは、ある上位のディレクトリごとに分割されディスクに格納される。クライアントからの、仮想ディレクトリ中のファイルに対するリード要求は、そのファイルへのパス名からディレクトリごとに分割された分割データに対する処理に分解されて、この分割データを格納したディスクに対してアクセスし、分割データを処理するように指定されているＢＥＳに処理要求が送られる。要求を受けたＢＥＳは、ディスクからデータを読み出して、指定されたファイルのデータをクライアントに渡す。このようなサービスとして、他にＷｅｂサーバ、データベースシステムがある。
【００１８】
図２は、ＦＥＳ１００のブロック構成図である。ＦＥＳ１００は、クライアント処理分割手段１１０、データ処理ＢＥＳ変更手段１２０、ディスク分割手段１３０を備え、ＦＥＳシステム管理情報１５０により構成されている。
【００１９】
クライアント処理分割手段１１０は、クライアントからの要求を、ＦＥＳシステム管理情報１５０を参照して、分割データに対する処理に分割し、分割データを担当するＢＥＳ２００に割り振る。
【００２０】
データ処理ＢＥＳ変更手段１２０は、クライアント処理分割手段１２０が、分割データを処理するＢＥＳ２００を割り振る方法を変更する。つまり、ある分割データをあるＢＥＳが処理するようにクライアント処理分割手段１２０が割り振っているとき、データ処理ＢＥＳ変更手段１２０による変更により、前記ある分割データは、前記あるＢＥＳとは別のＢＥＳによって処理されるようになる。
【００２１】
ディスク分割手段１３０は、クライアント処理分割手段１２０が、クライアントからの要求を、分割する分割データをさらに分割する。つまり、ある分割データがあるときに、これをさらに２つ以上の分割データに分割し、これらさらに分割された分割データは、適切なＢＥＳによって処理されるようにする。
【００２２】
ディスク負荷収集手段１４０は、ＢＥＳ２００のディスク負荷取得手段２３０が取得するディスクごとのディスク負荷を収集し、FESシステム管理情報１５０のディスク負荷のエントリを更新するものであり、ある一定時間ごとに実行される。
【００２３】
ＦＥＳシステム管理情報１５０は、計算機システムが提供するサービスの各ＦＥＳが管理する情報である。このＦＥＳシステム管理情報１５０は、図３に示すように、分割データ識別子、分割データが格納されているディスクのディスクＩＤ、分割データを処理するため前記分割データを格納する前記ディスクにアクセスするＢＥＳと前記ディスク負荷を管理する。クライアント処理分割手段１１０は、この情報をもとに、クライアントからの要求の分割とＢＥＳへの割り振りを行う。データ処理ＢＥＳ変更手段１２０は、この情報を変更して、分割データを処理するＢＥＳを変更する。ディスク分割手段により、分割データがさらに分割された場合には、この情報にエントリが追加される。
【００２４】
図４は、ＢＥＳ２００のブロック構成図である。ＢＥＳ２００は、データ処理手段２１０、ディスクアクセス手段２２０、ディスク負荷取得手段２３０、アクセスディスク確認手段２４０から構成される。
【００２５】
データ処理手段２１０は、ディスクアクセス手段２２０からアクセスできるディスクに格納されたデータを処理する。具体的には、ディスクに格納されたデータを読み出しプロトコルに従いファイルを提供する処理、ディスクに格納されたデータの検索・更新を行うデータベース処理、ディスクに格納されたデータを読み出しプロトコルに従いデータを提供する処理である。
【００２６】
ディスクアクセス手段２２０は、ストレージ装置５０のディスクに対してアクセスを行う。
ディスク負荷取得手段２３０は、ＢＥＳのディスクアクセス手段２２０がアクセスするディスクの負荷を取得するものであり、たとえばある一定時間のＩ/Ｏ数を取得し、ディスクが処理できる最大Ｉ／Ｏ数に対する％を取得し、ＦＥＳ１００のディスク負荷収集手段１４０に対して、ディスク負荷情報を提供する。
【００２７】
アクセスディスク確認手段２４０は、少なくともシステムで一意であることが保証されているディスクＩＤを調べることにより、ディスクアクセス手段２２０によって、あるディスクに対してアクセスできるかを確認するものである。
【００２８】
図５は、ストレージ装置５０のブロック構成図である。ストレージ装置５０は、データ格納手段であるディスク５１０、データコピー手段５５０、ポートマッピング変更手段５６０を備える。
【００２９】
ディスク５１０は、ＢＥＳ２００のディスクアクセス手段２２０によってアクセスされるものであり、少なくとも計算機システム１で一意であるディスクＩＤにより、一意に識別される。図５には、ディスク５１０は、一つしか書いていないが、ストレージ装置５１０には、一般に複数のディスク５１０が存在している。
【００３０】
データコピー手段５５０は、ディスク５１０が格納するデータをこのディスク５１０とは別のディスク５１０にコピーするものであり、コピー先のディスク５１０は、コピー元のディスクと同じストレージ装置５０である必要はなく、別のストレージ装置であってもよい。
【００３１】
ストレージ装置５０は、ＢＥＳ２００からディスク５１０に対するアクセスを受け付けるポートを複数備えており、ディスク５１０をどのポートを介してＢＥＳ２００と接続するかを決めて変更できる。ポートマッピング変更手段５６０は、この変更を行なう。
【００３２】
図６は、システム管理サーバ４００のブロック構成図である。システム管理サーバ４００は、ＧＵＩ４１０、ＦＥＳシステム管理情報取得手段４２０、ＢＥＳ負荷監視手段４３０、ディスク負荷監視手段４４０、ポート負荷監視手段４５０、ＢＥＳ追加処理４６０、ＢＥＳ削除処理４７０、サーバ情報４８０、ディスク情報４８５、ストレージポート情報４９０、ポート接続情報４９５から構成される。
【００３３】
ＧＵＩ４１０は、ユーザに対して、計算機システム１によって提供されるファイルサーバ、データベースサーバ、ＷＥＢサーバなどのサービスを容易に管理するためのインターフェイスを提供するものであり、図７のように、ＦＥＳ、ＢＥＳ，ディスクをシンボルで表し、ＢＥＳがディスクを担当している場合はディスクとＢＥＳとを線で接続し、システムで提供されるサービスごとに矩形が用意されサービスを提供しているＦＥＳとＢＥＳとディスクとを同一の矩形内に表示し、使用していないＢＥＳおよびディスクは未使用を表す矩形内に表示する。
【００３４】
ユーザが、サービスを表す矩形内のＢＥＳのシンボルを未使用矩形に移動すると、ＢＥＳ削除処理４７０が実行され、未使用矩形に移動されたＢＥＳが担当していた分割データは、サービスを提供している他のＢＥＳに振り分けられる。これにより、サーバメンテナンス時に、ＧＵＩによる簡単な操作だけで、サービスを停止することなくＢＥＳをサービスから切り離すことができる。サーバメンテナンス終了時には、ユーザは、ＧＵＩ上で未使用領域のＢＥＳを、サービスを表す矩形に戻す操作により、サーバ追加処理４６０が実行され、サービスの全体性能を元の状態に戻すことができる。
【００３５】
ＦＥＳシステム管理情報取得手段４２０は、ＦＥＳ１００のＦＥＳシステム管理情報１４０を取得するものである。
【００３６】
ＢＥＳ負荷監視手段４３０は、ＢＥＳ２００の負荷を取得し、サーバ情報４８０を更新する手段であり、負荷の大きさがあるしきい値をこえるなどにより、ＢＥＳ２００の過負荷を検出すると、サーバ負荷分散のため、データ処理ＢＥＳ変更処理１２０を行なうものであり、ある一定時間ごとに実行される。
【００３７】
ディスク負荷監視手段４４０は、ＦＥＳシステム管理情報取得手段４２０を使用して、ＦＥＳ１００のＦＥＳシステム管理情報１４０を取得し、ディスク負荷の大きさがあるしきい値をこえるなどにより、ディスクの過負荷を検出すると、ディスク負荷分散のため、ディスク分割処理１３０を行なうものであり、ある一定時間ごとに実行される。
【００３８】
ポート負荷監視処理４５０は、ストレージポートの負荷をストレージ装置から取得し、ストレージポート情報４９０のポート負荷を更新する手段であり、負荷の大きさがあるしきい値を超えるなどにより、ポートの過負荷を検出すると、ポート負荷分散のため、サーバとの接続のためにディスクが介しているストレージ装置のポートを変更するものであり、ある一定時間ごとに実行される。
【００３９】
ＢＥＳ追加処理４６０は、ＧＵＩ４１０上でユーザが計算機システム１が提供するサービスにＢＥＳ２００を追加する操作を行なったときに実行される処理であり、新規追加するＢＥＳ２００のディスクアクセス手段２３０によって、ある分割データを格納するディスクに対してアクセスできようにし、追加先のサービスの分割データを処理できるようにする。
【００４０】
ＢＥＳ削除処理４７０は、 ＧＵＩ４１０上でユーザが計算機システム１が提供するサービスからＢＥＳ２００を削除する操作を行なったときに実行される処理であり、削除するＢＥＳ２００が担当していた分割データを格納するディスクに対して、同じサービスを提供する他のＢＥＳ２００のディスクアクセス手段２３０がアクセスできるようにすることで、削除するＢＥＳが処理を担当していた分割データに関する処理を、別のＢＥＳに移行するものである。
【００４１】
サーバ情報４８０は、計算機システム１で使用されるＦＥＳ１００およびＢＥＳ２００に関するものであり、図８に示すように、ＢＥＳ名と現在所属しているＦＥＳ名と所属できるＦＥＳのリストとＢＥＳのサーバ負荷からなるテーブルとＦＥＳ名とＦＥＳによって提供されるサービスのシステム名とからなるテーブルからなる。
【００４２】
ディスク情報４８５は、計算機システム１にあるディスク５１０に関するものであり、図９に示すように、ディスクＩＤと現在の使用状況とディスクが含まれているストレージ装置とからなるテーブルである。ディスク情報４８５は、ディスク分割するときに未使用のディスクがあるかを調べる時に使用される。
【００４３】
ストレージポート情報４９０は、ストレージ装置のポートに関するものであり、図１０に示すように、ストレージポートのポート名とストレージ装置のＩＤとディスク数とポート負荷とからなるテーブルである。ストレージポート名は、ストレージ装置のポートのＷｏｒｌｄ Ｗｉｄｅ Ｎａｍｅ（以下ＷＷＮと略す）であり、ストレージ装置ＩＤは、システム内で一意なストレージ装置の識別子である。ディスク数は、前記ストレージポートを介してＢＥＳ２００と接続しているディスク５１０の数であり、ポート負荷は前記ストレージポートの負荷である。
【００４４】
ポート接続情報４９５は、ＢＥＳ２００とディスク５１０との間の接続に使用しているポートに関するものであり、図１１に示すように、サーバ名とサーバポート名とストレージポート名とディスクＩＤとからなるテーブルである。サーバ名は、ディスク５１０に対してアクセスするＢＥＳ２００の名前であり、サーバポート名は、前記アクセスに使用するサーバポートのＷＷＮである。ストレージポート名は、前記アクセスに使用するストレージ装置５０のポートのＷＷＮであり、ストレージ装置ＩＤは、前記ストレージ装置５０の識別子である。
【００４５】
次に、この実施例における処理の流れを図をもって説明する。
【００４６】
ＧＵＩ４１０にて、ＢＥＳを削除する操作となるＢＥＳのシンボルを、サービスを表す矩形内から未使用矩形に移動したときの、ＢＥＳ削除処理４７０を図１２で説明する。
【００４７】
ステップ６０１０で、サーバ情報４８０から削除指定されたＢＥＳが属するＦＥＳを特定し、特定したＦＥＳからＦＥＳシステム管理情報１５０を取得する。
【００４８】
ステップ６０２０で、ＦＥＳシステム管理情報１５０から削除指定されたＢＥＳが担当している全分割データと分割データを格納するディスクのディスクＩＤとを取得する。
【００４９】
ステップ６０３０で、サーバ情報４８０から削除指定されたＢＥＳと同じＦＥＳに属するＢＥＳの中から分割データを引き継ぐ移動先ＢＥＳを決定する。
【００５０】
ステップ６０４０で、移動先ＢＥＳを決定できなかったときは、ステップ６１００でユーザに削除不可を報告して終了する。決定できたときは、ステップ６０５０にすすむ。
【００５１】
ステップ６０５０で、削除指定されたＢＥＳを移動元ＢＥＳ、移動元ＢＥＳが担当していた分割データを移動分割データ、ステップ６０３０で決定した移動先ＢＥＳとを指定して、移動元ＢＥＳが属するＦＥＳのデータ処理ＢＥＳ変更手段１２０を実行する。
【００５２】
ステップ６０６０で、ＢＥＳを変更できなかったときは、ステップ６１００でユーザに削除不可を報告して処理を終了する。変更できたときは、ステップ６０７０で削除指定されたＢＥＳのサーバ情報４８０のエントリを未使用に変更する。
【００５３】
この処理は、あるＢＥＳが故障したときにシステムが提供するサービスを継続するために、データ処理を別のＢＥＳに引き継ぐときにも実行することができる。
【００５４】
ＧＵＩ４１０にて、ＢＥＳを追加する操作となるＢＥＳのシンボルを未使用を表す矩形内からサービスを表す矩形に移動したときの、ＢＥＳ追加処理４６０を図１３で説明する。
【００５５】
ステップ７０１０で、新規追加ＢＥＳは、追加先サービスのＦＥＳに属することができるかを、サーバ情報４８０で調べる。所属できないときは、ステップ７１００でユーザに追加不可を報告して終了する。所属できるときは、ステップ７０２０に進む。
【００５６】
ステップ７０２０で、追加先のＦＥＳからＦＥＳシステム管理情報１５０を取得する。
【００５７】
ステップ７０３０で、ＦＥＳシステム管理情報１５０から追加ＢＥＳに割り当てる移動分割データを決定する。
【００５８】
ステップ７０４０で、移動分割データを決定できなかったときは、ステップ７１００でユーザに追加不可を報告して終了する。決定できたときは、ステップ７０５０に進む。
【００５９】
ステップ７０５０で、移動分割データを担当していたＢＥＳを移動元ＢＥＳ，移動分割データ、追加ＢＥＳを移動先ＢＥＳとしてＦＥＳのデータ処理ＢＥＳ変更手段１２０を実行する。
【００６０】
ステップ７０６０で、ＢＥＳを変更できなかったときは、ステップ７１００でユーザに追加不可を報告して終了する。決定できたときは、ステップ７０７０に進む。
【００６１】
ステップ７０７０で、サーバ情報４８０の追加ＢＥＳのエントリの所属ＦＥＳをＢＥＳ追加したサービスのＦＥＳに変更する。
【００６２】
この処理は、メンテナンス終了時にメンテナンスを行ったＢＥＳをサービスに戻すとき以外にも、サービス全体の負荷が高くなった場合に、ＢＥＳを追加してサービスの全体性能を向上させるときにも実行される。
【００６３】
次に、ＢＥＳ削除処理４７０、ＢＥＳ４６０で実行されるデータ処理ＢＥＳ変更処理１２０を、図１４を使って説明する。
【００６４】
ステップ２０１０で、ＦＥＳのクライアント処理分割手段１１０に対して、サービス一時停止を指示する。これにより、クライアント計算機からの処理の分割とＢＥＳに対する処理の割り振りを一時中断する。
【００６５】
ステップ２０２０で、分割データに対する処理の移行先ＢＥＳに対して、分割データを格納するディスクのディスクＩＤを渡し、ディスクアクセス可確認を指示する。この指示を受けたＢＥＳは、アクセスディスク確認手段２４０により、指定されたディスクＩＤを持つディスク５１０に対してアクセスできるかを確認する。
【００６６】
ステップ２０３０で、移行先ＢＥＳが移行分割データを格納するディスクに対してアクセスできるときは、ステップ２０４０に進み、できなかったときはステップ２１００に進み、変更不可を報告し処理を終了する。
【００６７】
ステップ２０４０で、移行元ＢＥＳのデータ処理手段２１０に対して、移行分割データに対するデータ処理の終了を指示する。
【００６８】
ステップ２０５０で、移行先ＢＥＳのデータ処理手段２１０に対して、移行分割データに対するデータ処理の開始を指示する。
【００６９】
ステップ２０６０で、ＦＥＳシステム管理情報１５０の移行分割データのエントリの移行元ＢＥＳを移行先ＢＥＳに変更し、以後の分割データに関する処理が移行先ＢＥSに割り振られるようにする。
【００７０】
ステップ２０７０で、ＦＥＳのクライアント処理分割手段１１０に対して、サービスの開始を指示する。
【００７１】
この処理は、ある分割データを処理するＢＥＳを変更する処理であり、ＢＥＳの負荷を管理するＢＥＳ負荷監視手段４３０からも実行される。また、ＧＵＩ４１０上で、ＢＥＳを表わすシンボルとディスクを表わすシンボルとを結ぶ線のＢＥＳ側の端を、別のＢＥＳに移動する操作をしたときにも実行される。
【００７２】
図１５は、ＢＥＳ２００のアクセスディスク確認処理２４０である。アクセスディスク確認処理２４０は、ディスクを識別するディスクＩＤを受け取り、前記ディスクＩＤを持つディスクにアクセスできるかを確認する処理である。
【００７３】
ステップ４０１０でディスクＩＤを持つディスク５１０に対してアクセスできる時は、ステップ４０２０に進みアクセス可を報告する。アクセスできない時は、ステップ４１００に進みアクセス負荷を報告する。ディスクの確認は、ＳＣＳＩのコマンドであるＩｎｑｕｉｒｙを発行して得られるシリアル番号をディスクＩＤと比較することで行うこともできるし、ディスクＩＤをディスクの特定の領域に書き込み、これを読み出すことで行うこともできる。
【００７４】
次に、データ処理を行っているサーバ計算機の負荷を監視し、負荷の高いサーバが見つかった場合には、負荷の高いサーバが処理するデータを別のサーバ計算機が処理するように変更することで、負荷分散を行うＢＥＳ負荷監視処理４３０を図１６を使って説明する。本処理は、システム管理サーバ４００において定期的に実行される。
【００７５】
ステップ５０１０でサーバ情報４８０にエントリのあるＢＥＳに対して負荷を問い合わせる。
【００７６】
ステップ５０２０で、サーバ情報４８０のサーバ負荷を更新する。
【００７７】
ステップ５０３０で、過負荷のサーバが無い場合は、処理を終了する。過負荷のサーバを検出した場合には、ステップ５１００へ進む。
【００７８】
ステップ５１００で、過負荷を検出したＢＥＳが所属するＦＥＳをサーバ情報４８０から取得して、ＦＥＳからＦＥＳシステム管理情報１５０を取得して、過負荷を検出したＢＥＳがデータ処理ＢＥＳとなっているエントリを取り出し、この中から移動するデータ（ディスク）を決定する。決定する方法としては、たとえば最もディスク負荷の大きい分割データを移動データとすればよい。
【００７９】
ステップ５１１０で、サーバ情報４８０から過負荷のＢＥＳと同じＦＥＳに属するＢＥＳを取り出し、この中からデータ移動先となるＢＥＳを決定する。決定する方法としては、たとえば最もサーバ負荷の低いＢＥＳを移動先ＢＥＳとすればよい。
【００８０】
ステップ５１２０で、移動データと移動先ＢＥＳとが決定できた場合には、ステップ５１３０に進み、いずれか一方でも決定できなかったときは、ステップ５２００に進む。
【００８１】
ステップ５１３０で、過負荷を検出したＢＥＳを移動元ＢＥＳ、ステップ５１００で決定した移動データ、ステップ５１１０で決定した移動先ＢＥＳを指定して、データ処理ＢＥＳ変更処理１２０を実行する。これにより、移動データを処理するＢＥＳは、移動元ＢＥＳから移動先ＢＥＳに変わり、移動元ＢＥＳの負荷が低減される。
【００８２】
ステップ５１４０で、変更できた時は終了し、出来なかったときはステップ５２００に進む。
【００８３】
ステップ５２００で、ユーザに対して、ＢＥＳの過負荷とディスク移動ができないことを報告して終了する。
【００８４】
上記ＢＥＳ負荷監視処理４３０は、サーバ計算機の負荷分散を行なう処理であるが、サーバ計算機がアクセスするディスク５１０のＩ／Ｏがシステムのボトルネックとなる場合がある。これを防ぐため、システム管理サーバ４００で、ディスク負荷監視処理４４０を定期的に実行する。ディスク負荷監視処理４４０を、図１７を使用して説明する。
【００８５】
ステップ８０１０で、サーバ情報にエントリのあるＦＥＳからＦＥＳシステム管理情報１５０を取得する。
【００８６】
ステップ８０２０で、過負荷ディスクがある場合には、ステップ８０３０に進み、無い場合は終了する。ディスク過負荷の判断は、たとえばＦＥＳシステム管理情報１５０のディスクＩ／Ｏがある閾値を超えた場合に過負荷と判断する。
【００８７】
ステップ８０３０で、過負荷ディスクのディスク分割を過負荷ディスクが属するＦＥＳのディスク分割手段１３０を使って実行する。
【００８８】
ステップ８０４０で、ディスク分割できた場合には、処理を終了し、ディスク分割できなかった場合には、ステップ８１００に進む。
【００８９】
ステップ８１００で、ディスク分割できなかった場合に、ユーザに対して、ディスクの過負荷とディスク分割ができないことを報告する。
【００９０】
本処理では、データ処理を行っているＢＥＳがアクセスするディスクの負荷を監視し、負荷の高いディスクが見つかった場合には、負荷の高いディスクに格納されるデータをさらに分割して別のディスクに格納し、ＢＥＳがこれらさらに分割された分割データを格納するディスクにアクセスできるようにすることで、システムの提供するサービスを停止することなく、ディスク負荷の分散を行うものである。
【００９１】
ディスク負荷監視処理４４０から呼び出されるディスク分割処理１３０を、図１８を使用して説明する。
【００９２】
ステップ３０１０で、分割対象データの分割数と分割データＩＤとを決定する。
【００９３】
ステップ３０２０で、ディスク情報４８５を参照して分割数分のディスクがある事を確認する。
【００９４】
ステップ３０３０で、分割数分のディスクがある場合には、ステップ３０４０に進み、ない場合には、ステップ３２００で分割不可を報告する。
【００９５】
ステップ３０４０で、ディスク情報４８５の、ステップ３０２０で確保したディスクに対応するエントリの使用状況を使用に変更する。
【００９６】
ステップ３０５０で、ストレージ装置５０のデータコピー手段５５０に対して、分割対象ディスクからステップ３０２０で確保したディスクに対してディスクコピーを指示する。
【００９７】
ステップ３０６０で、分割対象データを担当しているＢＥＳ（以後、本処理の説明では対象ＢＥＳとよぶ）が所属しているＦＥＳのクライアント処理分割手段１１０にサービス一時中断を指示する。
【００９８】
ステップ３０７０で、分割対象データを担当しているＢＥＳに、ステップ３０２０で確保したディスク５１０に対するアクセスディスク確認処理２４０の実行を指示する。
【００９９】
ステップ３０８０で、アクセスできる時は、ステップ３０９０に進む。アクセスできない時は、ステップ３３００で、ステップ３０２０で確保したディスクのディスク情報４８５のエントリを未使用に戻し、ステップ３３１０で分割不可を報告し、ステップ３１４０に進む。
【０１００】
ステップ３０９０で、対象ＢＥＳに対して、分割対象データに対する処理の終了を指示する。
【０１０１】
ステップ３１１０で、対象ＢＥＳが所属しているＦＥＳのＦＥＳシステム管理情報１５０の分割対象データのエントリを削除する。
【０１０２】
ステップ３１２０で、対象ＢＥＳに分割後のデータに対するデータ処理の開始を指示する。
【０１０３】
ステップ３１３０で、対象ＢＥＳが属するＦＥＳのＦＥＳシステム管理情報１５０にデータ分割後の分割データＩＤ、ディスクＩＤ、対象ＢＥＳからなるエントリを追加する。
【０１０４】
ステップ３１４０で、対象ＢＥＳが属するＦＥＳのクライアント処理分割手段１１０にサービスの再開を指示する。
【０１０５】
本処理は、ある分割データを少なくとも２つ以上にさらに分割して、前記さらに分割された分割データを格納するディスクを用意し、前記ディスクに対してＢＥＳがアクセスできることを確認し、システム運用を継続する処理である。この処理は、ディスク負荷監視手段４４０の他に、ＧＵＩ４１０にて、ある分割データを格納するディスクを選択し、メニューなどからデータ分割を選んだ場合にも実行される。
【０１０６】
ＢＥＳ負荷監視処理４３０によりＢＥＳの負荷が分散され、ディスク負荷監視処理４４０によりディスクの負荷が分散される。しかし、ＢＥＳ２００は、ポートを介してディスク５１０にアクセスするため、ポートの処理性能がシステムのボトルネックとなることがある。
【０１０７】
ストレージ装置に複数のポートがある場合に、ポートの負荷を分散させるのが、ストレージポート負荷監視処理４５０であり、図１９を使用して説明する。
【０１０８】
ステップ９０１０で、ストレージポートのＩ／Ｏ負荷をストレージ装置５０から取得する。
【０１０９】
ステップ９０２０で、ストレージポート情報４９０のポート負荷を更新する。
【０１１０】
ステップ９０３０で、過負荷ストレージポートがある場合には、ステップ９０４０に進み、過負荷ストレージポートがない場合には、処理を終了する。
【０１１１】
ステップ９０４０で、過負荷ストレージポートがある場合には、ポート接続情報４９５から、過負荷ストレージポートを介して接続しているディスクを取り出し、ポートを変更するディスクを決定する。
【０１１２】
ステップ９０５０で、ストレージポート情報４９０を参照して、過負荷ポートと同一ストレージ装置内に負荷が高くないポートがある場合には、ステップ９０６０にすすみ、同一ストレージ装置内に負荷が高くないポートが無い場合には、ステップ９２００に進む。
【０１１３】
ステップ９２００で、同一ストレージ装置内に負荷が高くないポートが無い場合には、別ストレージ装置に負荷が高くないポートと未使用のディスクがあるかをストレージポート情報４９０とディスク情報４８５とから決定する。決定できなかったときは、処理を終了する。決定できたときは、ステップ９２１０に進む。
【０１１４】
ステップ９２１０で、ステップ９２００で確保したディスクに対応するディスク情報４８５のエントリを使用に変更する。
【０１１５】
ステップ９２２０で、ストレージ装置に対して、ポートを変更元のディスクからポート変更先のディスクに対してデータコピーを指示する。
【０１１６】
ステップ９０６０で、ポート接続情報４９５からポート変更ディスクを使用しているＢＥＳを取り出し、このＢＥＳが属するＦＥＳをサーバ情報４８０から取得した後、取得したＦＥＳのクライアント処理分割手段１１０にサービス一時中断を指示する。
【０１１７】
ステップ９０７０で、ポート変更ディスクを担当しているＢＥＳにポート変更前のディスクが格納する分割データに対するデータ処理の終了を指示する。
【０１１８】
ステップ９０８０で、ストレージ装置のポートマッピング変更手段５６０にポート変更を指示する。
【０１１９】
ステップ９０９０で、ストレージポート情報４９０とポート接続情報４９５とを変更する。
【０１２０】
ステップ９１００で、ポート変更ディスクを担当しているＢＥＳにポート変更後のディスクに対するディスクアクセス可確認を指示する。
【０１２１】
ステップ９１１０で、アクセス可のときは、ステップ９１２０に進み、アクセス不可のときは、ステップ９３００に進む。
【０１２２】
ステップ９１２０で、ステップ９１００でアクセスディスク確認処理２４０を実行したＢＥＳに対して、ポート変更後のディスクに格納される分割データに対するデータ処理の開始を指示する。
【０１２３】
ステップ９１３０で、ステップ９０６０と同じＦＥＳのクライアント処理分割手段１１０にサービス再開を指示する。
【０１２４】
本処理は、システム管理サーバ４００において定期的に実行される。また、本処理では、ストレージポートのポート負荷分散を行なったが、ストレージポート情報４９０のように、サーバポート情報を管理することで、サーバポートの負荷分散を行なうこともできる。
【０１２５】
【発明の効果】
分散計算機システムにおいて、システム全体を停止することなく、サーバ計算機の追加、ストレージ装置の追加による計算機システムの拡張を行うことができる。
【０１２６】
サーバ計算機の故障したときに、故障したサーバ計算機に接続していたディスクを別のサーバ計算機に接続を変更することで、計算機システムの動作を継続することができ、システムの耐障害性を向上させることができる。
【０１２７】
ディスク負荷分散のために、ディスクに格納されるデータを複数に分割し、同時に分割したデータが処理されるように、システム設定を自動的に変更することで、システムを停止することなく、システム管理者は容易にディスク負荷の分散を実行できる。
【０１２８】
ポート負荷の分散のために、サーバとディスクとの間の接続で使用するポートを変更したときに、ポートを変更したディスクに対するアクセスを確認し、同時に設定を自動的に変更することで、システムの変更を容易にし、システム管理者の操作ミスによるシステムの停止を防ぐことができる。
【０１２９】
サーバとディスクとの接続に使用するポートを自動的に変更することによって、サーバとディスクとの間のスループットを維持することができる。
【図面の簡単な説明】
【図１】本発明を適用する計算機システムの構成図である。
【図２】ＦＥＳのブロック構成図である。
【図３】ＦＥＳが管理するＦＥＳシステム管理情報である。
【図４】ＢＥＳのブロック構成図である。
【図５】ストレージ装置のブロック構成図である。
【図６】システム管理サーバのブロック構成図である。
【図７】システム管理サーバが提供するＧＵＩである。
【図８】システム管理サーバが管理するサーバ情報である。
【図９】システム管理サーバが管理するディスク情報である。
【図１０】システム管理サーバが管理するストレージポート情報である。
【図１１】システム管理サーバが管理するノード間接続情報である。
【図１２】システム管理サーバのＢＥＳ削除処理の処理フローである。
【図１３】システム管理サーバのＢＥＳ追加処理の処理フローである。
【図１４】ＦＥＳのデータ処理ＢＥＳ変更処理の処理フローである。
【図１５】ＢＥＳのアクセスディスク確認処理の処理フローである。
【図１６】システム管理サーバのＢＥＳ負荷監視処理の処理フローである。
【図１７】システム管理サーバのディスク負荷監視処理の処理フローである。
【図１８】ＦＥＳのディスク分割処理の処理フローである。
【図１９】システム管理サーバのポート負荷監視処理の処理フローである。
【符号の説明】
１…計算機システム、１０…クライアント計算機、２０…管理計算機、３２…サーバポート、４０…ファイバチャネルスイッチ、５０…ストレージ装置、５１０…ディスク、１００…Ｆｒｏｎｔ Ｅｎｄ Ｓｅｒｖｅｒ（ＦＥＳ）計算機、２００…Ｂａｃｋ Ｅｎｄ Ｓｅｒｖｅｒ（ＢＥＳ）計算機
【図１】
0004232357.tif 000002
【図２】
0004232357.tif 000003
【図３】
0004232357.tif 000004
【図４】
0004232357.tif 000005
【図５】
0004232357.tif 000006
【図６】
0004232357.tif 000007
【図７】
0004232357.tif 000008
【図８】
0004232357.tif 000009
【図９】
0004232357.tif 000010
【図１０】
0004232357.tif 000011
【図１１】
0004232357.tif 000012
【図１２】
0004232357.tif 000013
【図１３】
0004232357.tif 000014
【図１４】
0004232357.tif 000015
【図１５】
0004232357.tif 000016
【図１６】
0004232357.tif 000017
【図１７】
0004232357.tif 000018
【図１８】
0004232357.tif 000019
【図１９】
0004232357.tif 000020