(57)【要約】【課題】計算機とストレージシステムとの間に配置される仮想化制御装置を使用する方法とは別の方法で、計算機にアクセスパス変更機能を設けることを不要とした計算機無停止のアクセスパス切替えを実現できるようにする。【解決手段】一以上の計算機及び一以上のストレージシステムに接続されるスイッチユニットに、転送管理情報（例えばルーティングテーブル）を更新する更新機能を備える。ストレージシステムは、物理ポートに仮想ポートを付加する機能を有する。ストレージシステムが、仮想ポートの付加先を第一の物理ポートから第二の物理ポートに移行し、移行対象の仮想ポートの識別情報を含んだ所定種類の要求をスイッチユニットに送信する。スイッチユニットの更新機能によって、移行対象の仮想ポートに対応した転送先が、第二の物理ポートに接続されたスイッチポートになるように、転送管理情報を更新する。【選択図】図１
2009146106.tif 000002
【特許請求の範囲】
【請求項１】
一以上のスイッチ装置で構成されたスイッチユニットに接続されるストレージシステムであって、
複数の論理記憶デバイスと、
一又は複数の物理的な通信ポートである一又は複数の物理ポートと、
一又は複数の仮想的な通信ポートである一又は複数の仮想ポートと、
移行元の物理ポートに付加されている移行対象の仮想ポートの付加先を、前記移行元の物理ポートから、移行先の物理ポートに移行する仮想ポート移行部と、
前記移行対象の仮想ポートのポート識別情報を含んだ所定種類の要求を前記スイッチユニットに送信する要求発行部と
を備え、
各物理ポートに、一又は複数の仮想ポートが付加され、
各仮想ポートに、一又は複数の論理記憶デバイスが関連付けられ、
前記スイッチユニットが、
複数の通信ポートである複数のスイッチポートと、
宛先ポート識別情報とそれに対応する転送先を表す転送先情報との組合せを複数個有した転送管理情報と、
宛先ポート識別情報を含んだフレームをスイッチポートで受信した場合に、前記受信したフレームが有する宛先ポート識別情報に対応する転送先情報を、前記転送管理情報を参照することにより特定し、特定された転送先情報が表す転送先に対応したスイッチポートから、前記受信したフレームを送信する転送処理部と、
前記転送管理情報を更新する転送先更新部と
を備え、
前記複数のスイッチポートには、論理記憶デバイスに関連付けられた仮想ポートのポート識別情報を有するアクセスコマンドフレームを発行する一以上の計算機に接続される一以上のスイッチポートと、前記一以上のストレージシステムが有する前記複数の物理ポートに接続される複数のスイッチポートとが含まれ、
前記スイッチユニットが有する前記転送先更新部は、前記所定種類の要求を受信した場合、前記所定種類の要求に含まれているポート識別情報に対応した前記宛先ポート識別情報に対応する、前記転送管理情報における前記転送先情報を、前記移行先の物理ポートに接続されているスイッチポートに対応した転送先を表す情報に更新する、
ストレージシステム。
【請求項２】
前記ストレージシステムは、移行元のストレージシステムであり、仮想ポート削除部を更に備え、
前記一又は複数の物理ポートに、前記移行元の物理ポートが含まれ、
前記移行先の物理ポートは、移行先のストレージシステムに備えられており、
前記仮想ポート移行部が、移行先仮想ポート作成要求部を有し、
前記移行先仮想ポート作成要求部が、前記移行対象の仮想ポートの仮想ポート識別情報と前記移行先の物理ポートの物理ポート識別情報とを含んだ移行先仮想ポート作成要求を前記移行先ストレージシステムに送信し、
前記仮想ポート削除部が、前記移行対象の仮想ポートを削除する、
請求項１記載のストレージシステム。
【請求項３】
前記所定種類の要求は、前記移行対象の仮想ポートのポート識別情報と、前記移行先の物理ポートのポート識別情報とを含んだポート切替要求であり、
前記要求発行部が、前記移行元の物理ポートから前記ポート切替要求を前記スイッチユニットに送信する、
請求項２記載のストレージシステム。
【請求項４】
受信したコマンドが蓄積されるコマンド蓄積領域と、
前記コマンド蓄積領域に蓄積されているコマンドのうち、前記移行対象の仮想ポートのポート識別情報を含んだコマンドを、前記移行先ストレージシステムに転送するコマンド転送部と
を更に備える請求項２又は３記載のストレージシステム。
【請求項５】
前記移行先仮想ポート作成要求部が、前記移行対象の仮想ポートに関連付けられている移行元の論理記憶デバイスに関する情報を、前記移行先ストレージシステムに送信し、
前記移行先の物理ポートに付加された移行先の仮想ポートに、前記移行元の論理記憶デバイスに関する情報に基づいて関連付けられた移行先の論理記憶デバイスに、前記移行元の論理記憶デバイス内のデータがコピーされる、
請求項２乃至４のうちのいずれか一項に記載のストレージシステム。
【請求項６】
前記移行元ストレージシステムと前記移行先ストレージシステムの両方に接続された外部ストレージシステムがあり、
前記移行対象の仮想ポートに関連付けられている移行元の論理記憶デバイスは、仮想的な論理記憶デバイスであり、前記外部ストレージシステムが備える論理記憶デバイスである外部論理記憶デバイスに関連付けられており、
前記移行先仮想ポート作成要求部が、前記移行元の論理記憶デバイスに関する情報と、前記移行元の論理記憶デバイスに関連付けられている前記外部論理記憶デバイスに関する情報とを、前記移行先ストレージシステムに送信する、
請求項２乃至４のうちのいずれか一項に記載のストレージシステム。
【請求項７】
前記ストレージシステムは、移行先のストレージシステムであり、
前記一又は複数の物理ポートに、前記移行先の物理ポートが含まれ、
前記移行元の物理ポートは、移行元のストレージシステムに備えられており、
前記仮想ポート移行部が、移行先仮想ポート設定部を有し、
前記移行先仮想ポート設定部が、前記移行元ストレージシステムからの移行先仮想ポート作成要求に応答して、前記移行先仮想ポート作成要求内の仮想ポート識別情報を、前記移行先仮想ポート作成要求内の物理ポート識別情報に関連付けることで、前記移行先仮想ポート作成要求内の物理ポート識別情報から同定される移行先の物理ポートに関連付けられた、前記移行先仮想ポート作成要求内の仮想ポート識別情報に対応する移行先の仮想ポートを作成する、
請求項１記載のストレージシステム。
【請求項８】
前記所定種類の要求は、前記移行対象の仮想ポートのポート識別情報を含んだログイン要求であり、
前記要求発行部が、前記移行先の物理ポートから前記ログイン要求を前記スイッチユニットに送信する、
請求項７記載のストレージシステム。
【請求項９】
受信したコマンドが蓄積されるコマンド蓄積領域と、
前記移行対象の仮想ポートのポート識別情報を含んだコマンドを前記移行元ストレージシステムから受信し、前記受信したコマンドを前記コマンド蓄積領域に蓄積する蓄積処理部と、
前記コマンド蓄積領域に蓄積されているコマンドを処理するコマンド処理部と
を更に備える請求項７又は８記載のストレージシステム。
【請求項１０】
前記移行先仮想ポート設定部が、前記移行対象の仮想ポートに関連付けられている移行元の論理記憶デバイスに関する情報を、前記移行元ストレージシステムから受信し、前記移行元の論理記憶デバイスに関する情報に基づいて、前記移行先の物理ポートに付加された移行先の仮想ポートに、移行先の論理記憶デバイスを関連付け、
前記移行先の論理記憶デバイスに、前記移行元の論理記憶デバイス内のデータがコピーされる、
請求項７乃至９のうちのいずれか一項に記載のストレージシステム。
【請求項１１】
前記移行元ストレージシステムと前記移行先ストレージシステムの両方に接続された外部ストレージシステムがあり、
前記移行対象の仮想ポートに関連付けられている移行元の論理記憶デバイスは、仮想的な論理記憶デバイスであり、前記外部ストレージシステムが備える論理記憶デバイスである外部論理記憶デバイスに関連付けられており、
前記移行先仮想ポート設定部が、前記移行元の論理記憶デバイスに関する情報と、前記移行元の論理記憶デバイスに関連付けられている前記外部論理記憶デバイスに関する情報とを、前記移行先ストレージシステムから受信し、それらの情報に基づいて、前記移行先の物理ポートに付加された移行先の仮想ポートに、移行先の仮想的な論理記憶デバイスを関連付け、前記移行先の仮想的な論理記憶デバイスに、前記移行元の仮想的な論理記憶デバイスが関連付けられている前記外部論理記憶デバイスを関連付ける、
請求項７乃至９のうちのいずれか一項に記載のストレージシステム。
【請求項１２】
前記複数の物理ポートには、前記移行元の物理ポートと前記移行先の物理ポートの両方が含まれる、
請求項１記載のストレージシステム。
【請求項１３】
前記移行元の物理ポートは、負荷が所定の閾値を超えている物理ポートである、
請求項１乃至１２のうちのいずれか一項に記載のストレージシステム。
【請求項１４】
前記計算機毎に前記仮想ポートが用意されている、
請求項１乃至１３のうちのいずれか一項に記載のストレージシステム。
【請求項１５】
一以上のスイッチ装置で構成されたスイッチユニットと、
複数の論理記憶デバイスと、複数の物理的な通信ポートである複数の物理ポートと、複数の仮想的な通信ポートである複数の仮想ポートとを備えた一以上のストレージシステムと
を備え、
各物理ポートに、一以上の仮想ポートが付加され、
各仮想ポートに、一以上の論理記憶デバイスが関連付けられ、
前記スイッチユニットが、
複数の通信ポートである複数のスイッチポートと、
宛先ポート識別情報とそれに対応する転送先を表す転送先情報との組合せを複数個有した転送管理情報と、
宛先ポート識別情報を含んだフレームをスイッチポートで受信した場合に、前記受信したフレームが有する宛先ポート識別情報に対応する転送先情報を、前記転送管理情報を参照することにより特定し、特定された転送先情報が表す転送先に対応したスイッチポートから、前記受信したフレームを送信する転送処理部と、
前記転送管理情報を更新する転送先更新部と
を備え、
前記複数のスイッチポートには、論理記憶デバイスに関連付けられた仮想ポートのポート識別情報を有するアクセスコマンドフレームを発行する一以上の計算機に接続される一以上のスイッチポートと、前記一以上のストレージシステムが有する前記複数の物理ポートに接続される複数のスイッチポートとが含まれ、
前記一以上のストレージシステムが、
前記複数の物理ポートのうちの移行元の物理ポートに付加されている移行対象の仮想ポートの付加先を、前記移行元の物理ポートから、前記複数の物理ポートのうちの移行先の物理ポートに移行する仮想ポート移行部と、
前記移行対象の仮想ポートのポート識別情報を含んだ所定種類の要求を前記スイッチユニットに送信する要求発行部と
を備え、
前記スイッチユニットが有する前記転送先更新部は、前記所定種類の要求を受信した場合、前記所定種類の要求に含まれているポート識別情報に対応した前記宛先ポート識別情報に対応する、前記転送管理情報における前記転送先情報を、前記移行先の物理ポートに接続されているスイッチポートに対応した転送先を表す情報に更新する、
コンピュータシステム。
【請求項１６】
一以上のスイッチ装置で構成されたスイッチユニットに一以上の計算機及び一以上のストレージシステムが接続されたコンピュータシステムでのアクセスパスを切替えるアクセスパス切替方法であって、
ストレージシステムが有する移行元の物理ポートに付加されている移行対象の仮想ポートの付加先を、前記移行元の物理ポートから、前記ストレージシステム又は別のストレージシステムが有する移行先の物理ポートに移行し、
前記ストレージシステム又は前記別のストレージシステムから、前記移行対象の仮想ポートのポート識別情報を含んだ所定種類の要求を、前記スイッチユニットに送信し、
前記スイッチユニットが、前記所定種類の要求を受信した場合、前記所定種類の要求に含まれているポート識別情報に対応した宛先ポート識別情報に対応する、転送管理情報における転送先情報を、前記移行先の物理ポートに接続されているスイッチポートに対応した転送先を表す情報に更新する、
アクセスパス切替方法。
【請求項１７】
一以上の計算機及び一以上のストレージシステムが接続されるスイッチ装置であって、
複数の通信ポートである複数のスイッチポートと、
宛先ポート識別情報とそれに対応する転送先を表す転送先情報との組合せを複数個有した転送管理情報と、
宛先ポート識別情報を含んだフレームをスイッチポートで受信した場合に、前記受信したフレームが有する宛先ポート識別情報に対応する転送先情報を、前記転送管理情報を参照することにより特定し、特定された転送先情報が表す転送先に対応したスイッチポートから、前記受信したフレームを送信する転送処理部と、
所定種類の要求を受信した場合、前記所定種類の要求に含まれているポート識別情報に対応した前記宛先ポート識別情報に対応する、前記転送管理情報における前記転送先情報を、移行先の物理ポートに接続されているスイッチポートに対応した転送先を表す情報に更新する転送先更新部と
を備え、
前記移行先の物理ポートは、前記一以上のストレージシステムのいずれかのストレージシステムが備える物理的な通信ポートであり、前記一以上のストレージシステムのいずれかのストレージシステムが備える移行元の物理的な通信ポートに付加されている移行対象の仮想的な通信ポートの、前記移行元の物理的な通信ポートに代わる付加先となる通信ポートである、
スイッチ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム内の論理記憶デバイスへのアクセスパスの切替えに関する。
【背景技術】
【０００２】
ストレージシステム内の論理記憶デバイスへのアクセスパスの切替えに関する技術として、例えば、特許文献１乃至３に開示の技術が知られている。
【０００３】
特許文献１によれば、ホストのマルチパス管理ソフトウェアとストレージパス定義の両方を変更することで、アクセスパスを切り替えることができる。
【０００４】
特許文献２によれば、ホストのアクセス先ポート設定を変更後、移行先ストレージシステムが移行元ストレージシステムからデータ移行を行うことで、ホスト無停止のシステム間での移行を実現することができる。
【０００５】
特許文献３によれば、ホストとストレージシステムとの間にある仮想化制御装置が、ホストがボリュームを識別する識別情報を変更することなく、データ移行を実施し、アクセス先装置を変更することができる。
【０００６】
【特許文献１】特開２００７−７２５７１号公報
【特許文献２】特開２００５−２０２４９５号公報
【特許文献３】特開２００４−２２７５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１及び２によれば、アクセスパスを変更する機能をホストが有する必要がある。アクセスパスの設定を変更するための操作は、ホストのＯＳ（オペレーティングシステム）毎に異なる等の問題がある。
【０００８】
特許文献３によれば、アクセスパスを変更する機能をホストが有する必要は無い。しかし、仮想化制御装置は、データ移行時だけでなく、通常運用時（ホストがストレージシステムに対してアクセスコマンドを発行する時）も、アクセスパスの仮想化処理が必要であるため、性能ボトルネックとならないようにするためには、高性能な仮想化処理回路やプロセッサを搭載する必要がある。
【０００９】
従って、本発明の目的は、計算機とストレージシステムとの間に配置される仮想化制御装置を使用する方法とは別の方法で、計算機にアクセスパス変更機能を設けることを不要とした計算機無停止のアクセスパス切替えを実現できるようにすることにある。
【００１０】
本発明の他の目的は、後の説明から明らかになるであろう。
【課題を解決するための手段】
【００１１】
一以上の計算機（例えばホスト）及び一以上のストレージシステムに接続されるスイッチユニットに、転送管理情報（例えばルーティングテーブル）を更新する更新機能を備える。ストレージシステムは、物理ポートに仮想ポートを付加する機能を有する。ストレージシステムが、仮想ポートの付加先を第一の物理ポートから第二の物理ポートに移行し、移行対象の仮想ポートの識別情報を含んだ所定種類の要求をスイッチユニットに送信する。スイッチユニットの更新機能によって、移行対象の仮想ポートに対応した転送先が、第二の物理ポートに接続されたスイッチポートになるように、転送管理情報を更新する。
【発明を実施するための最良の形態】
【００１２】
実施形態１では、一以上のスイッチ装置で構成されたスイッチユニットに接続されるストレージシステムが、複数の論理記憶デバイスと、一又は複数の物理的な通信ポートである一又は複数の物理ポートと、一又は複数の仮想的な通信ポートである一又は複数の仮想ポートと、移行元の物理ポートに付加されている移行対象の仮想ポートの付加先を、前記移行元の物理ポートから、移行先の物理ポートに移行する仮想ポート移行部と、前記移行対象の仮想ポートのポート識別情報を含んだ所定種類の要求を前記スイッチユニットに送信する要求発行部とを備える。
【００１３】
各物理ポートに、一又は複数の仮想ポートが付加される。各仮想ポートに、一又は複数の論理記憶デバイスが関連付けられる。
【００１４】
前記スイッチユニットが、複数の通信ポートである複数のスイッチポートと、宛先ポート識別情報とそれに対応する転送先を表す転送先情報との組合せを複数個有した転送管理情報と、転送処理部と、前記転送管理情報を更新する転送先更新部とを備える。前記転送処理部は、宛先ポート識別情報を含んだフレームをスイッチポートで受信した場合に、前記受信したフレームが有する宛先ポート識別情報に対応する転送先情報を、前記転送管理情報を参照することにより特定し、特定された転送先情報が表す転送先に対応したスイッチポートから、前記受信したフレームを送信する。
【００１５】
前記複数のスイッチポートには、論理記憶デバイスに関連付けられた仮想ポートのポート識別情報を有するアクセスコマンドフレームを発行する一以上の計算機に接続される一以上のスイッチポートと、前記一以上のストレージシステムが有する前記複数の物理ポートに接続される複数のスイッチポートとが含まれる。
【００１６】
前記スイッチユニットが有する前記転送先更新部は、前記所定種類の要求を受信した場合、前記所定種類の要求に含まれているポート識別情報に対応した前記宛先ポート識別情報に対応する、前記転送管理情報における前記転送先情報を、前記移行先の物理ポートに接続されているスイッチポートに対応した転送先を表す情報に更新する。
【００１７】
実施形態２では、実施形態１において、前記ストレージシステムは、移行元のストレージシステムであり、仮想ポート削除部を更に備える。前記一又は複数の物理ポートに、前記移行元の物理ポートが含まれる。前記移行先の物理ポートは、移行先のストレージシステムに備えられている。前記仮想ポート移行部が、移行先仮想ポート作成要求部を有する。前記移行先仮想ポート作成要求部が、前記移行対象の仮想ポートの仮想ポート識別情報と前記移行先の物理ポートの物理ポート識別情報とを含んだ移行先仮想ポート作成要求を前記移行先ストレージシステムに送信する。前記仮想ポート削除部が、前記移行対象の仮想ポートを削除する。
【００１８】
実施形態３では、実施形態２において、前記所定種類の要求は、前記移行対象の仮想ポートのポート識別情報と、前記移行先の物理ポートのポート識別情報とを含んだポート切替要求である。前記要求発行部が、前記移行元の物理ポートから前記ポート切替要求を前記スイッチユニットに送信する。
【００１９】
実施形態４では、実施形態２又は３記載のストレージシステムが、受信したコマンドが蓄積されるコマンド蓄積領域と、コマンド転送部とを備える。前記コマンド転送部が、前記コマンド蓄積領域に蓄積されているコマンドのうち、前記移行対象の仮想ポートのポート識別情報を含んだコマンドを、前記移行先ストレージシステムに転送する。
【００２０】
実施形態５では、実施形態２乃至４のうちのいずれかにおいて、前記移行先仮想ポート作成要求部が、前記移行対象の仮想ポートに関連付けられている移行元の論理記憶デバイスに関する情報を、前記移行先ストレージシステムに送信する。前記移行先の物理ポートに付加された移行先の仮想ポートに、前記移行元の論理記憶デバイスに関する情報に基づいて関連付けられた移行先の論理記憶デバイスに、前記移行元の論理記憶デバイス内のデータがコピーされる。
【００２１】
実施形態６では、実施形態２乃至４のうちのいずれかにおいて、前記移行元ストレージシステムと前記移行先ストレージシステムの両方に接続された外部ストレージシステムがある。前記移行対象の仮想ポートに関連付けられている移行元の論理記憶デバイスは、仮想的な論理記憶デバイスである。前記外部ストレージシステムが備える論理記憶デバイスである外部論理記憶デバイスに関連付けられている。前記移行先仮想ポート作成要求部が、前記移行元の論理記憶デバイスに関する情報と、前記移行元の論理記憶デバイスに関連付けられている前記外部論理記憶デバイスに関する情報とを、前記移行先ストレージシステムに送信する。
【００２２】
実施形態７では、実施形態１において、前記ストレージシステムは、移行先のストレージシステムである。前記一又は複数の物理ポートに、前記移行先の物理ポートが含まれる。前記移行元の物理ポートは、移行元のストレージシステムに備えられている。前記仮想ポート移行部が、移行先仮想ポート設定部を有する。前記移行先仮想ポート設定部が、前記移行元ストレージシステムからの移行先仮想ポート作成要求に応答して、前記移行先仮想ポート作成要求内の仮想ポート識別情報を、前記移行先仮想ポート作成要求内の物理ポート識別情報に関連付けることで、前記移行先仮想ポート作成要求内の物理ポート識別情報から同定される移行先の物理ポートに関連付けられた、前記移行先仮想ポート作成要求内の仮想ポート識別情報に対応する移行先の仮想ポートを作成する。実施形態７は、実施形態２と組み合わせることができる。
【００２３】
実施形態８では、実施形態７において、前記所定種類の要求は、前記移行対象の仮想ポートのポート識別情報を含んだログイン要求である。前記要求発行部が、前記移行先の物理ポートから前記ログイン要求を前記スイッチユニットに送信する。
【００２４】
実施形態９では、実施形態７又は８に記載のストレージシステムが、受信したコマンドが蓄積されるコマンド蓄積領域と、蓄積処理部と、前記コマンド蓄積領域に蓄積されているコマンドを処理するコマンド処理部とを備える。前記蓄積処理部が、前記移行対象の仮想ポートのポート識別情報を含んだコマンドを前記移行元ストレージシステムから受信し、前記受信したコマンドを前記コマンド蓄積領域に蓄積する。実施形態９は、実施形態４と組み合わせることができる。
【００２５】
実施形態１０では、実施形態７乃至９のうちのいずれかにおいて、前記移行先仮想ポート設定部が、前記移行対象の仮想ポートに関連付けられている移行元の論理記憶デバイスに関する情報を、前記移行元ストレージシステムから受信し、前記移行元の論理記憶デバイスに関する情報に基づいて、前記移行先の物理ポートに付加された移行先の仮想ポートに、移行先の論理記憶デバイスを関連付ける。前記移行先の論理記憶デバイスに、前記移行元の論理記憶デバイス内のデータがコピーされる。実施形態１０は、実施形態１１と組み合わせることができる。
【００２６】
実施形態１１では、実施形態７乃至９のうちのいずれかにおいて、前記移行元ストレージシステムと前記移行先ストレージシステムの両方に接続された外部ストレージシステムがある。前記移行対象の仮想ポートに関連付けられている移行元の論理記憶デバイスは、仮想的な論理記憶デバイスであり、前記外部ストレージシステムが備える論理記憶デバイスである外部論理記憶デバイスに関連付けられている。前記移行先仮想ポート設定部が、前記移行元の論理記憶デバイスに関する情報と、前記移行元の論理記憶デバイスに関連付けられている前記外部論理記憶デバイスに関する情報とを、前記移行先ストレージシステムから受信し、それらの情報に基づいて、前記移行先の物理ポートに付加された移行先の仮想ポートに、移行先の仮想的な論理記憶デバイスを関連付け、前記移行先の仮想的な論理記憶デバイスに、前記移行元の仮想的な論理記憶デバイスが関連付けられている前記外部論理記憶デバイスを関連付ける。実施形態１１は、実施形態５と組み合わせることができる。
【００２７】
実施形態１２では、実施形態１において、前記複数の物理ポートには、前記移行元の物理ポートと前記移行先の物理ポートの両方が含まれる。
【００２８】
実施形態１３では、実施形態１乃至１２のうちのいずれかにおいて、前記移行元の物理ポートは、負荷が所定の閾値を超えている物理ポートである。
【００２９】
実施形態１４では、実施形態１乃至１３のうちのいずれかにおいて、前記計算機毎に前記仮想ポートが用意されている。
【００３０】
実施形態１５では、コンピュータシステムが、一以上のスイッチ装置で構成されたスイッチユニットと、一以上のストレージシステムとを備える。前記一以上のストレージシステムが、複数の論理記憶デバイスと、複数の物理的な通信ポートである複数の物理ポートと、複数の仮想的な通信ポートである複数の仮想ポートとを備える。各物理ポートに、一以上の仮想ポートが付加される。各仮想ポートに、一以上の論理記憶デバイスが関連付けられる。前記スイッチユニットが、前記複数のスイッチポートと、前記転送管理情報と、前記転送処理部と、前記転送先更新部とを備える。前記一以上のストレージシステムが、仮想ポート移行部と、要求発行部とを備える。前記仮想ポート移行部が、前記複数の物理ポートのうちの移行元の物理ポートに付加されている移行対象の仮想ポートの付加先を、前記移行元の物理ポートから、前記複数の物理ポートのうちの移行先の物理ポートに移行する。前記要求発行部が、前記移行対象の仮想ポートのポート識別情報を含んだ所定種類の要求を前記スイッチユニットに送信する。
【００３１】
実施形態１６では、一以上のスイッチ装置で構成されたスイッチユニットに一以上の計算機及び一以上のストレージシステムが接続されたコンピュータシステムでのアクセスパスを切替えるアクセスパス切替方法において、
ストレージシステムが有する移行元の物理ポートに付加されている移行対象の仮想ポートの付加先を、前記移行元の物理ポートから、前記ストレージシステム又は別のストレージシステムが有する移行先の物理ポートに移行し、
前記ストレージシステム又は前記別のストレージシステムから、前記移行対象の仮想ポートのポート識別情報を含んだ所定種類の要求を、前記スイッチユニットに送信し、
前記スイッチユニットが、前記所定種類の要求を受信した場合、前記所定種類の要求に含まれているポート識別情報に対応した宛先ポート識別情報に対応する、転送管理情報における転送先情報を、前記移行先の物理ポートに接続されているスイッチポートに対応した転送先を表す情報に更新する。
【００３２】
実施形態１７では、一以上の計算機及び一以上のストレージシステムが接続されるスイッチ装置であって、複数の通信ポートである複数のスイッチポートと、宛先ポート識別情報とそれに対応する転送先を表す転送先情報との組合せを複数個有した転送管理情報と、転送処理部と、転送先更新部とを備える。前記転送処理部が、宛先ポート識別情報を含んだフレームをスイッチポートで受信した場合に、前記受信したフレームが有する宛先ポート識別情報に対応する転送先情報を、前記転送管理情報を参照することにより特定し、特定された転送先情報が表す転送先に対応したスイッチポートから、前記受信したフレームを送信する。前記転送先更新部が、所定種類の要求を受信した場合、前記所定種類の要求に含まれているポート識別情報に対応した前記宛先ポート識別情報に対応する、前記転送管理情報における前記転送先情報を、移行先の物理ポートに接続されているスイッチポートに対応した転送先を表す情報に更新する。前記移行先の物理ポートは、前記一以上のストレージシステムのいずれかのストレージシステムが備える物理的な通信ポートであり、前記一以上のストレージシステムのいずれかのストレージシステムが備える移行元の物理的な通信ポートに付加されている移行対象の仮想的な通信ポートの、前記移行元の物理的な通信ポートに代わる付加先となる通信ポートである。
【００３３】
上述した各部（仮想ポート移行部、要求発行部、転送処理部、転送先更新部、仮想ポート削除部、移行先仮想ポート作成要求部、コマンド転送部、移行先仮想ポート設定部、蓄積処理部、コマンド処理部）は、手段と呼ばれても良く、ハードウェア、コンピュータプログラム又はそれらの組み合わせ（例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること）により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、ＣＤ−ＲＯＭ等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
【００３４】
以下、図面を参照して、本発明の幾つかの実施例を詳細に説明する。
【実施例１】
【００３５】
図１は、本発明の第一実施例に係る計算機システムの構成を示す。
【００３６】
一つ（又は複数）のＳＡＮ（Storage
Area Network）スイッチ４００に、複数（又は一つ）のホスト計算機１００と、一つのストレージシステム２００とが接続されている。また、ＬＡＮ（Local Area Network）５００に、管理端末３００と、一つ（又は複数）のＳＡＮスイッチ４００と、ストレージシステム２００とが接続されている。ＬＡＮ５００に代えて、他種の通信ネットワークが採用されてもよい。
【００３７】
ホスト計算機１００は、例えば、ＣＰＵ（Central
Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。ホスト計算機１００は、アクセス先ＬＵ（Logical Unit）を表す情報を有したアクセスコマンドなどのコマンド（例えばＳＣＳＩコマンド）をストレージシステムに送信する。アクセス先ＬＵを表す情報は、例えば、仮想ポートＩＤとＬＵＮ（Logical Unit Number）とを含む。
【００３８】
管理端末３００は、ストレージシステムを管理するためのコンピュータ装置であり、例えば、ＣＰＵやメモリ等の情報処理資源を備える。
【００３９】
ストレージシステムは、例えば、アレイ状に配列された多数の物理的な記憶デバイス（以下、「ＰＤＥＶ」と言う）を備えるＲＡＩＤシステムとすることができる。ストレージシステムは、複数の物理ポート２０１と、複数の仮想ポート２０２と、複数のＬＵ（Logical Unit）２０３と、複数のＬＤＥＶ（Logical DEVice）２０４とを有する。
【００４０】
物理ポート２０１は、ケーブル（例えばＦＣ（Fibre
Channel）ケーブル）が物理的に接続されるポートである。そのケーブルが、ＳＡＮスイッチ４００のスイッチポートにも接続されることで、ストレージシステム２００とＳＡＮスイッチ４００が物理的に接続される。物理ポート２０１は、付加的なポートとして、仮想ポート２０２を有する。具体的には、例えば、Fibre Channelには、ＮＰＩＶ（N Port
ID Virtualization）と呼ばれる付加的な仮想ポートを実現する機能が存在し、ストレージシステム２００は、ＮＰＩＶを使用することで、一つの物理ポート２０１に、一又は複数の仮想ポート２０２を追加することができる。
【００４１】
仮想ポート２０２は、物理ポート２０１に論理的に追加された仮想的なポートである。仮想ポート２０２には、１又は複数のＬＵ２０３を関連付けることが可能である。第一実施例では、仮想ポート２０２が、ホスト計算機１００毎に割り当てられる。
【００４２】
ＬＵ２０３は、ホスト計算機１００から指定される論理的な記憶領域である。ＬＵ２０３には、ＬＤＥＶ２０４を関連付けることが可能である。具体的には、仮想ポートＩＤ及びＬＵＮとＬＤＥＶ番号との組合せが、ＬＵ２０３とＬＤＥＶ２０４とを結ぶパスの定義となる。
【００４３】
ＬＤＥＶ２０４は、一又は複数のＰＤＥＶの記憶空間を基に形成された論理的な記憶領域である。ＬＤＥＶ２０４は、ストレージシステム２００により認識される。
【００４４】
ＳＡＮスイッチ４００は、例えばＦＣ（Fibre Channel）スイッチであり、ホスト計算機１００から受信したフレームや、ストレージシステムから受信したフレームの中継を行うデバイスである。ここで、「フレーム」とは、通信される情報の一単位である。ＳＡＮスイッチが中継する情報としては、ＳＣＳＩコマンドやメッセージなどがあるが、以下の説明では、ＳＡＮスイッチ４００が中継する情報を、「フレーム」と総称する。
【００４５】
各物理ポート２０１及び各仮想ポート２０２は、ポートを識別するためのＷＷＮ（World Wide Name）と、ＳＡＮで通信を行うためのＳＡＮアドレスを持つ。特に、Fibre Channelの場合、ＳＡＮアドレス、は「ポートＩＤ」（Port_ID）と呼ばれ、フレームに、送信元ポートのポートＩＤ（送信元ポートＩＤ）と送信先ポートのポートＩＤ（送信先ポートＩＤ）との両方を含む。ＳＡＮスイッチは、送信先ポートＩＤに基づいて、受信したフレームの中継を行う。
【００４６】
第一実施例では、ストレージシステム２００に、仮想ポート移行機能が搭載される。仮想ポート移行とは、第一の物理ポート２０１Ａに付加されている仮想ポート２０２Ｔを、第一の物理ポート２０１Ａに代えて、第二の物理ポート２０１Ｂに付加させることである。仮想ポート移行により、移行対象の仮想ポート２０２Ｔの所属先が、第一の物理ポート２０１Ａから第二の物理ポート２０１Bに変更される。図１では、点線が、移行前の仮想ポート２０２Ｔ等を示し、太い実線が、移行後の仮想ポート２０２Ｔ等を示す。
【００４７】
移行対象となる仮想ポート２０２Ｔは、どのような仮想ポートであっても良いが、第一実施例では、例えば、過負荷の物理ポート２０１Ａに属する複数の仮想ポートのうちのいずれかの仮想ポート（例えば、それら複数の仮想ポートのうち最も負荷の高い仮想ポート）である。これにより、第一の物理ポート２０１Ａの負荷を軽減することができる。なお、仮想ポート移行によって、移行前の第一の物理ポート２０１Ａの負荷よりも移行後の第二の物理ポート２０１Ｂの負荷が高くなってしまわないようにするために、第二の物理ポート２０１Ｂは、仮想ポート移行によって新たに仮想ポートが付加されても、移行前の第一の物理ポート２０１Aの負荷よりも低い負荷となることが望ましい。第二の物理ポート２０１Ｂは、管理者によって指定されても良いし、管理端末３００或いはストレージシステム２００が自動で決定しても良い。
【００４８】
図２は、ストレージシステム２００のハードウェア構成を示す。以下の説明では、インタフェースを「Ｉ／Ｆ」と略記する。
【００４９】
ストレージシステム２００は、複数の物理ポート（物理的な通信ポート）２０１と、複数のポートコントローラ（図２では、「PortCTL」と略記）２０７と、複数のＰＤＥＶ２１２と、複数のＰＤＥＶ  Ｉ／Ｆ２１１と、内部結合網２０９と、キャッシュメモリ２１０と、ストレージプロセッサ２０８と、ネットワークＩ／Ｆ２０５とを備える。
【００５０】
ポートコントローラ２０７は、ＳＡＮのプロトコル（例えばFibre Channelプロトコル）を制御する装置（例えば制御回路）である。ポートコントローラ２０７は、物理ポート２０１毎に用意されている。ポートコントローラ２０７は、ホスト計算機１００から物理ポート２０１で受信したフレーム（例えばＳＣＳＩコマンド）をストレージプロセッサ２０８へ通知したり、ストレージプロセッサ２０８から指示を受けて、ホスト計算機１００とキャッシュメモリ２１０との間のデータ転送を制御したり、ホスト計算機１００へフレーム（例えばレスポンス）を送信したりする。
【００５１】
ネットワークＩ／Ｆ２０５は、管理端末３００と接続するためのインタフェース装置（例えば、Ethernet（登録商標）で通信するためのＬＡＮカード）である。
【００５２】
キャッシュメモリ２１０は、ＰＤＥＶ２１２から読み出された読出し対象のデータや、ホスト計算機１００から受信しＰＤＥＶ２１２に書込まれる対象のデータを一時的に記憶する揮発性のメモリである。キャッシュメモリ２１０は、例えば、後述のストレージ制御情報を記憶することもできる。
【００５３】
ストレージプロセッサ２０８は、図４を参照して説明するソフトウェア（コンピュータプログラム）を実行する。ストレージプロセッサ２０８は、例えば、マイクロプロセッサ（ＣＰＵ）である。
【００５４】
ＰＤＥＶ２１２は、例えば、ハードディスクドライブであるが、フラッシュメモリドライブなど他種の記憶デバイスでもよい。
【００５５】
ＰＤＥＶ  Ｉ／Ｆ２１１は、ＰＤＥＶ２１２にアクセスするためのインタフェース装置である。ＰＤＥＶに対するデータの書込みや、ＰＤＥＶからのデータの読出しは、ＰＤＥＶ  Ｉ／Ｆ２１１を介して行われる。
【００５６】
内部結合網２０９を介して、各ポートコントローラ２０７、ストレージプロセッサ２０８、キャッシュメモリ２１０、及び各ＰＤＥＶ  Ｉ／Ｆ２１１が、通信することが可能である。内部結合網２０９としては、例えば、クロスバスイッチ或いはバスなどを採用することができる。
【００５７】
図３は、ＳＡＮスイッチ４００のハードウェア構成を示す。
【００５８】
ＳＡＮスイッチ４００は、複数のスイッチポート（図３では「ＳＷＰｏｒｔ」と記載）４０６と、複数のスイッチコントローラ（図３では「ＳＷＣＴＬ」と記載）４１３と、内部結合網４０９と、スイッチプロセッサ４０８と、ネットワークＩ／Ｆ４０５とを備える。
【００５９】
スイッチポート４０６は、ＳＡＮスイッチ４００にある、ＳＡＮと接続する物理ポートである。第一実施例では、スイッチポート４０６には、ホスト計算機１００又はストレージシステム２００がケーブルを介して接続される。
【００６０】
内部結合網４０９に、各スイッチコントローラ４１３やスイッチプロセッサ４０８が接続されている。内部結合網４０９を介して、スイッチコントローラ４１３間やスイッチコントローラ４１３とスイッチプロセッサ４０８との間で通信が行われる。内部結合網４０９としては、例えば、クロスバスイッチ或いはバスなどを採用することができる。
【００６１】
スイッチコントローラ４１３は、スイッチポート４０６で受信したフレームを適切な別のスイッチコントローラ４１３又はスイッチプロセッサ４０８へ中継する装置（例えば制御回路）である。スイッチコントローラ４１３は、フレームに含まれる送信先ポートＩＤと、そのスイッチコントローラ４１３が有するルーティングテーブル（図示せず）とから、そのフレームの転送先のスイッチコントローラ４１３又はスイッチプロセッサ４０８を決定し、決定したスイッチコントローラ４１３又はスイッチプロセッサ４０８へ、フレームを送信する。
【００６２】
ネットワークＩ／Ｆ４０５は、管理端末３００と接続するためのインタフェース装置（例えば、Ethernetで通信するためのＬＡＮカード）である。
【００６３】
スイッチプロセッサ４０８は、図６Ａを参照して説明するソフトウェア（コンピュータプログラム）を実行する。スイッチプロセッサ４０８は、例えば、マイクロプロセッサ（ＣＰＵ）である。
【００６４】
図４は、ストレージシステム２００のソフトウェア構成を示す。以下、ストレージプロセッサ２０８がプログラムモジュールを実行することにより行われる処理の主体を、説明を分かりやすくするために、ストレージプロセッサ２０８ではなくプログラムモジュールとする場合がある。
【００６５】
ストレージプロセッサ２０８で実行されるソフトウェアは、振分け処理を実行するためのプログラムモジュール（以下、「振分け処理モジュール」と言う）２５１と、スケジュール処理を実行するためのプログラムモジュール（以下、「スケジュール処理モジュール」と言う）２５２と、ＳＣＳＩコマンド処理を実行するためのプログラムモジュール（以下、「ＳＣＳＩコマンド処理モジュール」と言う）２５３と、仮想ポート切替処理を実行するためのプログラムモジュール（以下、「仮想ポート切替処理モジュール」と言う）２５４と、通信処理を実行するためのプログラムモジュール（以下、「通信処理モジュール」と言う）２５６と、設定処理を実行するためのプログラムモジュール（以下、「設定処理モジュール」と言う）２５５とを備える。また、ストレージプロセッサ２０８は、メッセージキュー２６１と、仮想ポート２０２毎に用意されたコマンドキュー２６３と、ストレージ制御情報３０００とを管理する。メッセージキュー２６１、コマンドキュー２６３及びストレージ制御情報３０００のうちの少なくとも一つは、ストレージプロセッサ２０８内に存在しても良いし、ストレージプロセッサ２０８外のメモリに存在しても良い。
【００６６】
メッセージキュー２６１は、物理ポート２０１が受信したフレームがポートコントローラ２０７によって蓄積されるキューである。
【００６７】
コマンドキュー２６３は、ＳＣＳＩコマンドが振分け処理モジュール２５１によって蓄積されるキューである。
【００６８】
ストレージ制御情報３０００は、ストレージシステムの制御のために使用される情報である。ストレージ制御情報３０００は、例えば、物理ポート情報６００と、仮想ポート情報７００とを含む。
【００６９】
振分け処理では、振分け処理モジュール２５１が、メッセージキュー２６１に蓄積されているフレームの振分けを実行する。具体的には、例えば、振分け処理モジュール２５１は、振分け対象のフレームが、ＳＣＳＩコマンドである場合、そのフレームに含まれている送信先ポートＩＤ（仮想ポートＩＤ）に対応したコマンドキュー２６３に、そのフレームを格納する。一方、振分け処理モジュール２５１は、振分け対象のフレームが、データ転送完了通知である場合、データ転送完了通知を、ＳＣＳＩコマンド処理モジュール２５３に伝える。
【００７０】
スケジュール処理では、スケジュール処理モジュール２５２が、仮想ポート情報７００に従い、コマンドキュー２６３からＳＣＳＩコマンドを読出し、そのＳＣＳＩコマンドの処理の起動を制御する（例えば、ラウンドロビンで起動する）。具体的には、例えば、スケジュール処理モジュール２５２は、或る仮想ポート２０２の仮想ポート状態が“通常”であれば、その或る仮想ポート２０２に対応したコマンドキュー２６３に蓄積されている先頭のＳＣＳＩコマンドを起動し、その或る仮想ポート２０２の仮想ポート状態が“停止”であれば、その先頭のＳＣＳＩコマンドを起動しない。
【００７１】
ＳＣＳＩコマンド処理では、ＳＣＳＩコマンド処理モジュール２５３が、起動されたＳＣＳＩコマンドを解釈し、そのＳＣＳＩコマンドに従う処理を実行し、そのＳＣＳＩコマンドの送信元のホスト計算機１００に、レスポンスを送信する。例えば、ＳＣＳＩコマンドがアクセスコマンド（ライトコマンド或いはリードコマンド）であれば、ＳＣＳＩコマンド処理モジュール２５３は、そのアクセスコマンドが有する仮想ポートＩＤ及びＬＵＮと後述のＬＵパス定義リストとを基に、アクセス先となるＬＤＥＶ２０４を特定し、ＰＤＥＶ  Ｉ／Ｆ２１１を介して、その特定されたＬＤＥＶ２０４にアクセスする。
【００７２】
通信処理では、通信処理モジュール２５６が、管理端末３００と通信し、設定処理モジュール２５５の起動や、仮想ポート切替処理モジュール２５４の起動を行う。
【００７３】
仮想ポート切替処理では、仮想ポート切替処理モジュール２５４が、ＳＡＮスイッチ４００へ、ルーティングテーブルを変更する要求（具体的には、後述のポート切替要求又はログイン要求）を送信する。
【００７４】
設定処理では、設定処理モジュール２５５が、ストレージ制御情報３０００の参照や更新を行う。
【００７５】
図５Ａは、物理ポート情報６００の構成を示す。
【００７６】
物理ポート情報６００は、物理ポート２０１毎に用意される情報である。物理ポート情報６００に含まれる情報要素として、例えば、物理ポート番号６０１、物理ポートＷＷＮ６０２、物理ポートＩＤ６０３及び物理ポート使用率６０４がある。以下、図５Ａの説明において、この物理ポート情報に対応する物理ポート２０１を「対象物理ポート２０１」と言う。
【００７７】
物理ポート番号６０１は、ストレージシステム内で対象物理ポート２０１を識別するための番号である。
【００７８】
物理ポートＷＷＮ６０２は、対象物理ポート２０１のＷＷＮである。物理ポートＷＷＮは、固定である。物理ポートＷＷＮ６０２は、ストレージシステム固有の値であり、例えば、ストレージシステムの電源がターンオンされたときに、ストレージシステムのシリアル番号と物理ポート番号とから算出される。
【００７９】
物理ポートＩＤ６０３は、対象物理ポート２０１のＳＡＮにおけるアドレス（Port_ID）である。物理ポートＩＤ６０３は、例えば、ＳＡＮスイッチ４００にログイン要求（Fibre ChannelのＦＬＯＧＩ（F_Port
Login）というフレーム）を送信することで、ＳＡＮスイッチ４００から付与される情報である。ＳＡＮスイッチ４００は付与するポートＩＤをＦＬＯＧＩに対する応答フレームに格納し、ストレージシステムへ送信する。
【００８０】
物理ポート使用率６０４は、対象物理ポート２０１の最大性能に対してどのぐらい使用されているかを表す比率である。物理ポート使用率は、例えば、定期的に（又は不定期的に）、図示しないプログラムモジュールによって計測され、計測された物理ポート使用率が、物理ポート情報における物理ポート使用率６０４に上書きされる。
【００８１】
図５Ｂは、仮想ポート情報７００の構成を示す。
【００８２】
仮想ポート情報７００は、仮想ポート２０２毎に用意される情報である。仮想ポート情報７００に含まれる情報要素として、例えば、仮想ポート番号７０１、物理ポート番号７０２、仮想ポート状態７０３、仮想ポートＷＷＮ７０４、仮想ポートＩＤ７０５、ホストポートＷＷＮ７０６、ホストポートＩＤ７０７、ＬＵパス定義リスト７０８及び仮想ポート使用率７０９がある。この仮想ポート情報７００に対応する仮想ポート２０２を「対象仮想ポート２０２」と言う。
【００８３】
仮想ポート番号７０１は、ストレージシステム２００内で対象仮想ポート２０２を識別するための番号である。
【００８４】
物理ポート番号７０２は、対象仮想ポート２０２が属する物理ポート２０１の番号である。
【００８５】
仮想ポート状態７０３は、対象仮想ポート２０２の状態を表す値であり、採り得る値として、例えば、“未使用”、“通常”及び“停止”がある。
【００８６】
仮想ポートＷＷＮ７０４は、対象仮想ポートのＷＷＮである。仮想ポートＷＷＮ７０４は、ストレージシステム固有の値であり、例えば、ストレージシステムの電源がターンオンされたときに、ストレージシステムのシリアル番号と物理ポート番号とから算出される。
【００８７】
仮想ポートＩＤ７０５は、対象仮想ポート２０２のＳＡＮにおけるアドレス（Port_ID）である。仮想ポートＩＤ７０５は、例えば、ＳＡＮスイッチ４００にログイン要求（Fibre ChannelのＦＤＩＳＣ（Discover
F_Port Service Parameters）というフレーム）を送信することで、ＳＡＮスイッチ４００から付与される情報である。ＳＡＮスイッチ４００は付与するポートＩＤをＦＤＩＳＣに対する応答フレームに格納し、ストレージシステムへ送信する。ＦＤＩＳＣを用いて仮想ポートＩＤを付与するＳＡＮスイッチ４００の機能を、ＮＰＩＶと呼ぶ。
【００８８】
ホストポートＷＷＮ７０６は、対象仮想ポート２０２にアクセスしているホスト計算機１００（つまり、その仮想ポート２０２に対応したホスト計算機１００）が有するポートのＷＷＮである。ホストポートＷＷＮ７０６は、ホスト計算機１００がストレージシステム２００にログインする際にホスト計算機１００から通知される情報である。
【００８９】
ホストポートＩＤ７０７は、対象仮想ポート２０２にアクセスしているホスト計算機１００が有するポートのＳＡＮにおけるアドレス（Port_ID）である。ホストポートＩＤ７０７も、ホスト計算機１００がストレージシステム２００にログインする際にホスト計算機１００から通知される情報である。
【００９０】
ＬＵパス定義リスト７０８は、対象仮想ポート２０２に対応する各ＬＵパスの定義のリストである。すなわち、対象仮想ポート２０２に複数のＬＵ２０３が関連付けられている場合には、ＬＵパス定義リスト２０８には、各ＬＵ２０３についてのＬＵパス定義（ＬＵＮとＬＤＥＶ番号との組合せ）が一覧で記録されている。
【００９１】
仮想ポート使用率７０９は、対象仮想ポート２０２が所属する物理ポート２０１の最大性能のうちどれだけが対象仮想ポート２０２に使用されているかを表す比率である。仮想ポート使用率は、例えば、定期的に（又は不定期的に）、図示しないプログラムモジュールによって計測され、計測された仮想ポート使用率が、仮想ポート情報７００における仮想ポート使用率７０９に上書きされる。
【００９２】
図６Ａは、ＳＡＮスイッチ４００のソフトウェア構成を示す。以下、スイッチプロセッサ４０８がプログラムモジュールを実行することにより行われる処理の主体を、説明を分かりやすくするために、スイッチプロセッサ４０８ではなくプログラムモジュールとする場合がある。
【００９３】
スイッチプロセッサ４０８で実行されるソフトウェアは、スイッチコントローラ通信処理を実行するためのプログラムモジュール（以下、「スイッチコントローラ通信処理モジュール」と言う）７５１と、ポート切替処理を実行するためのプログラムモジュール（以下、「ポート切替処理モジュール」と言う）７５２と、ログイン処理を実行するためのプログラムモジュール（以下、「ログイン処理モジュール」と言う）７５３と、ログインテーブル設定処理を実行するためのプログラムモジュール（以下、「ログインテーブル設定処理モジュール」と言う）７５４と、ネットワーク通信処理を実行するためのプログラムモジュール（以下、「ネットワーク通信処理モジュール」と言う）７５５とを備える。各スイッチコントローラ４１３の記憶資源（図示せず）に、ルーティングテーブル９００が記憶される。スイッチプロセッサ４０８は、ログインテーブル１０００を管理する。ログインテーブル１０００は、スイッチプロセッサ４０８内に存在しても良いし、スイッチプロセッサ４０８外のメモリに存在しても良い。
【００９４】
図６Ｂは、ルーティングテーブル９００の一レコードの構成を示す。
【００９５】
ルーティングテーブル９００は、フレームにどの送信先ポートＩＤがあった場合にそのフレームをどのスイッチコントローラ４１３又はスイッチプロセッサ４０８に転送するかを表すテーブルである。ルーティングテーブル９００の各レコードには、例えば、送信先ポートＩＤ９０１とスイッチコントローラ番号９０２との組が記録される。転送先がスイッチプロセッサである場合には、スイッチコントローラ番号９０２は、スイッチプロセッサを表す番号となる。
【００９６】
スイッチコントローラ４１３は、フレームを受信した場合、そのフレーム内の送信先ポートＩＤをキーに、そのスイッチコントローラ４１３が有するルーティングテーブル９００を参照することで、その送信先ポートＩＤに対応したスイッチコントローラ番号９０２を特定する。スイッチコントローラ４１３は、特定されたスイッチコントローラ番号９０２が、別のスイッチコントローラ４１３を表している場合、その別のスイッチコントローラ４１３に、内部結合網４０９を介して（スイッチプロセッサ４０８を介さずに）、そのフレームを転送する。一方、スイッチコントローラ４１３は、特定されたスイッチコントローラ番号９０２が、スイッチプロセッサ４０８を表している場合、スイッチプロセッサ４０８に、内部結合網４０９を介して、そのフレームを転送する。第一実施例では、例えば、フレームが、アクセスコマンドである場合には、そのフレームに、スイッチコントローラ４１３を表す番号に対応した送信先ポートＩＤ（仮想ポートＩＤ）が含められる。また、例えば、フレームが、ポート切替要求及びログイン要求である場合には、そのフレームに、スイッチプロセッサ４０８を表す番号に対応した送信先ポートＩＤが含められる。
【００９７】
図６Ｃは、ログインテーブル１０００の一レコードの構成を示す。なお、ログインテーブル１０００には、静的ログインテーブル１０００Ｓと動的ログインテーブル１０００Ｄの２種類がある。いずれのテーブル１０００Ｓ及び１０００Ｄの各レコードも、図６Ｃに示した構成となる。以下、それらのテーブル１０００Ｓ及び１０００Ｄを総称するときは、単に、「ログインテーブル１０００」と言う。
【００９８】
ログインテーブル１０００は、ＳＡＮスイッチに接続しているホスト計算機１００或いはストレージシステム２００のポート２０１又は２０２に関する情報が記録されるテーブルである。ログインテーブル１０００の各レコードには、例えば、付与ポートＩＤ１００１、ポート種別１００２、ポートＷＷＮ１００３及びスイッチコントローラ番号１００４が記録される。
【００９９】
付与ポートＩＤ１００１は、ＳＡＮスイッチにログインするポート（以下、「ログイン元ポート」と言う）に対して付与されるポートＩＤである。ログイン元ポートは、ホスト計算機１００又はストレージシステム２００の物理ポート２０１である。
【０１００】
ポート種別１００２は、ログイン元ポートの種別を表す。ポート種別１００２の値としては、例えば、“物理”と“仮想”の２種類がある。
【０１０１】
ポートＷＷＮ１００３は、ログイン元ポートのＷＷＮである。
【０１０２】
スイッチコントローラ番号１００４は、ログイン元ポートからのログイン要求を受信したスイッチポートに対応したスイッチコントローラの番号である。
【０１０３】
再び図６Ａを参照する。
【０１０４】
スイッチコントローラ通信処理では、スイッチコントローラ通信処理モジュール７５１が、スイッチコントローラ４１３からフレームを受信し、受信したフレームを解釈し、その解釈の結果に基づく処理を実行する。例えば、スイッチコントローラ通信処理モジュール７５１は、フレームがポート切替要求である場合には、ポート切替処理モジュール７５２を呼び出し、フレームがログイン要求である場合には、ログイン処理モジュール７５３を呼び出す。
【０１０５】
ネットワーク通信処理では、ネットワーク通信処理モジュール７５５が、管理端末３００からフレームを受信し、受信したフレームを解釈し、その解釈の結果に基づく処理を実行する。例えば、ネットワーク通信処理モジュール７５５は、フレームがポート切替要求である場合には、ポート切替処理モジュール７５２を呼び出し、フレームがログインテーブル設定要求である場合には、ログインテーブル設定処理モジュール７５４を呼び出す。
【０１０６】
以下、ログインテーブル設定処理、ログイン処理、及びポート切替処理について、図７乃至図９を参照して説明する。
【０１０７】
図７は、ログインテーブル設定処理の流れを示す。
【０１０８】
管理端末３００が、ＬＡＮ５００経由でＳＡＮスイッチ４００にログインした後、ログインテーブル設定要求を送信した場合、ネットワーク通信処理モジュール７５５が、ログインテーブル設定要求を受信して、ログインテーブル設定処理モジュール７５４を呼び出す。これにより、ログインテーブル設定処理モジュール７５４が起動する。ログインテーブル設定要求には、ポートＷＷＮとポートＩＤが含まれている。以下、図７の説明において、ログインテーブル設定要求内のポートＷＷＮとポートＩＤを、それぞれ、「要求ポートＷＷＮ」と「要求ポートＩＤ」と言う。
【０１０９】
ステップ１０１で、ログインテーブル設定処理モジュール７５４は、要求ポートＩＤが正しいかどうか（言い換えれば、静的ログインテーブル１０００Ｓに登録可能なポートＩＤかどうか）を判定する。正しいと判断された場合、ステップ１０２が実行され、正しくないと判断された場合、ステップ１０４が実行される。例えば、要求ポートＩＤが、動的ログインテーブル１０００ＤのためのポートＩＤであったり、他のＳＡＮスイッチ４００と重複するポートＩＤであったりする場合は、正しくないポートＩＤと判断される。
【０１１０】
ステップ１０２で、ログインテーブル設定処理モジュール７５４は、要求ポートＩＤ及び要求ポートＷＷＮを、静的ログインテーブル１０００Ｓに登録する。これにより、要求ポートＩＤは、付与ポートＩＤ１００１として登録され、要求ポートＷＷＮは、ポートＷＷＮ１００３として登録される。
【０１１１】
ステップ１０３で、ログインテーブル設定処理モジュール７５４は、完了通知をネットワーク通信処理モジュール７５５に送る。これにより、ネットワーク通信処理モジュール７５５から、完了通知が、ネットワークＩ／Ｆ４０５を介して、管理端末３００に送られる。
【０１１２】
ステップ１０４で、ログインテーブル設定処理モジュール７５４は、エラー通知をネットワーク通信処理モジュール７５５に送る。これにより、ネットワーク通信処理モジュール７５５から、エラー通知が、ネットワークＩ／Ｆ４０５を介して、管理端末３００に送られる。
【０１１３】
図８は、ログイン処理の流れを示す。
【０１１４】
スイッチコントローラ通信処理モジュール７５１が、送信元ポートから送信されたログイン要求を受けた場合に、ログイン処理モジュール７５３を呼び出す。これにより、ログイン処理モジュール７５３が起動する。送信元ポートは、ホスト計算機１００の物理ポート（又は仮想ポート）、或いは、ストレージシステムの物理ポート２０１又は仮想ポート２０２である。ログイン要求は、ポートＷＷＮとポート種別（送信元ポートが物理ポートであるか仮想ポートであるかを表す情報）とを含む。ログイン要求は、例えば、Fibre Channelの場合、ＦＬＯＧＩ又はＦＤＩＳＣである。この場合、ログイン要求には、ポート種別が含まれていなくて良い。なぜなら、ＳＡＮスイッチ４００はログイン要求がＦＬＯＧＩとＦＤＩＳＣのどちらであるか確認することで、送信元ポートが物理ポートであるか仮想ポートであるかを判別することができるからである。以下、図８の説明において、ログイン要求内のポートＷＷＮを、「要求ポートＷＷＮ」と言う。また、図８の説明において、ログイン要求内のポート種別、又は、ログイン要求から判別されたポート種別を、「要求ポート種別」と言う。
【０１１５】
ステップ１１１で、ログイン処理モジュール７５３が、要求ポートＷＷＮをキーに、静的ログインテーブル１０００Ｓを検索する。
【０１１６】
ステップ１１２で、ログイン処理モジュール７５３が、要求ポートＷＷＮが静的ログインテーブル１０００Ｓに登録済みか否かを判断する。登録済みとの判断になれば、ステップ１１３が行われ、未登録との判断になれば、ステップ１１４が行われる。
【０１１７】
ステップ１１３で、静的ポートＩＤ割当て処理が行われる。具体的には、ログイン処理モジュール７５３が、送信元ポートからログイン要求を受信したスイッチコントローラ４１３のスイッチコントローラ番号と、要求ポート種別とを、静的ログインテーブル１０００Ｓに登録する。また、ログイン処理モジュール７５３が、そのスイッチコントローラ番号と、要求ポートＷＷＮに対応する静的ポートＩＤ（静的ログインテーブルに登録済みの付与ポートＩＤ）とを、全てのスイッチコントローラ４１３のルーティングテーブル９００に登録する。そして、ログイン処理モジュール７５３は、静的ポートＩＤを含んだログイン応答を、スイッチコントローラ通信処理モジュール７５１に渡す。これにより、スイッチコントローラ通信処理モジュール７５１から、送信元ポートに、静的ポートＩＤを含んだログイン応答が送信される。
【０１１８】
ステップ１１４で、動的ポートＩＤ割当て処理が行われる。具体的には、ログイン処理モジュール７５３が、各動的ログインテーブル１０００Ｄを検索することで、割り当て済みのポートＩＤと重複しないポートＩＤ（以下、動的ポートＩＤ）を算出する。そして、ログイン処理モジュール７５３が、要求ポートＷＷＮと、動的ポートＩＤと、要求ポート種別と、送信元ポートからログイン要求を受信したスイッチコントローラ４１３のスイッチコントローラ番号とを、動的ログインテーブル１０００Ｄに登録する。また、ログイン処理モジュール７５３が、そのスイッチコントローラ番号と、動的ポートＩＤとを、全てのスイッチコントローラ４１３のルーティングテーブル９００に登録する。そして、ログイン処理モジュール７５３は、動的ポートＩＤを含んだログイン応答を、スイッチコントローラ通信処理モジュール７５１に渡す。これにより、スイッチコントローラ通信処理モジュール７５１から、送信元ポートに、動的ポートＩＤを含んだログイン応答が送信される。
【０１１９】
図９は、ポート切替処理の流れを示す。
【０１２０】
スイッチコントローラ通信処理モジュール７５１が、送信元ポートから送信されたポート切替要求を受けた場合に、ポート切替処理モジュール７５２を呼び出す。又は、ネットワーク通信処理モジュール７５５が、管理端末３００からポート切替要求を受信した場合に、ポート切替処理モジュール７５２を呼び出す。これにより、ポート切替処理モジュール７５２が起動する。ポート切替要求には、切替対象ポートのＷＷＮと、切替先物理ポート２０１のＷＷＮとが含まれる。
【０１２１】
ステップ１２１で、ポート切替処理モジュール７５２が、切替対象ポートＷＷＮが静的ログインテーブル１０００Ｓに登録済か否かを判断する。登録済みとの判断になれば、ステップ１２２が行われ、未登録との判断になれば、ステップ１２５が行われる。
【０１２２】
ステップ１２２で、ポート切替処理モジュール７５２が、切替先物理ポートＷＷＮが静的ログインテーブル１０００Ｓと動的ログインテーブル１０００Ｄのいずれかに登録済みか否かを判断する。登録済みとの判断になれば、ステップ１２３が行われ、未登録との判断になれば、ステップ１２５が行われる。
【０１２３】
ステップ１２３で、ポート切替処理モジュール７５２が、ルーティングテーブル９００と静的ログインテーブル１０００Ｓの設定変更を行う。具体的には、ポート切替処理モジュール７５２は、ログインテーブル１０００に登録されている、切替先物理ポートＷＷＮに対応するスイッチコントローラ番号１００４を、静的ログインテーブル１０００Ｓの、切替対象ポートＷＷＮに対応するエントリ領域にコピーする。そして、ポート切替処理モジュール７５２は、全てのルーティングテーブル９００における、切替対象ポートＷＷＮに対応するポートＩＤについてのスイッチコントローラ番号９０２を、切替先物理ポートＷＷＮに対応するスイッチコントローラ番号に更新する。これにより、以後、切替対象ポート宛てのフレームは、切替先物理ポート２０１に対応したスイッチコントローラ４１３へ中継されるようになる。
【０１２４】
ステップ１２４で、ポート切替処理モジュール７５２が、完了通知を、呼出元のプログラムモジュール（スイッチコントローラ通信処理モジュール７５１又はネットワーク通信処理モジュール７５５）に送信する。これにより、呼出元のプログラムモジュール７５１又は７５５から、完了通知が、ポート切替要求の送信元（送信元ポートを有するホスト計算機１００又はストレージシステム２００、或いは、管理端末３００）に送信される。
【０１２５】
ステップ１２５で、ポート切替処理モジュール７５２が、エラー通知を、呼出元のプログラムモジュール７５１又は７５５に送信する。これにより、呼出元のプログラムモジュール７５１又は７５５から、エラー通知が、ポート切替要求の送信元に送信される。
【０１２６】
図１０は、第一実施例に係る計算機システムで行われる処理の流れを示す。
【０１２７】
ステップ１３１で、管理者が、管理端末３００に、ポートの統計情報チェックを指示する。ここで、ポートの統計情報としては、種々の情報を採用し得るが、第一実施例では、前述した物理ポート使用率や仮想ポート使用率である。
【０１２８】
ステップ１３２で、管理端末３００が、管理者からの指示に応答して、ストレージシステム２００に、統計情報取得要求を送信する。これにより、ストレージシステム２００が、各物理ポート２０１の物理ポート使用率６０４、及び、各仮想ポートの仮想ポート使用率７０９を、管理端末３００に送信する。その際、各物理ポート２０１の物理ポート番号６０１や、各仮想ポートの仮想ポート番号７０１など、物理ポート２０１や仮想ポート２０２を一意に特定するための他種の識別情報が送信される。また、その際、どの物理ポート２０１にどの仮想ポート２０２が付加されているかがわかるようにするために、仮想ポート識別情報（例えば仮想ポート番号７０１）と物理ポート識別情報（例えば物理ポート番号７０２）との組が送信される。
【０１２９】
ステップ１３３で、管理端末３００が、ストレージシステム２００から受信した情報に基づき、どの物理ポート２０１にどの仮想ポート２０２が付加されているかや、各物理ポート２０１の物理ポート使用率や、各仮想ポートの仮想ポート使用率を表示する。
【０１３０】
ステップ１３４で、管理者が、過負荷の物理ポート２０１と、移行対象の仮想ポート２０２を判断する。過負荷の物理ポート２０１は、例えば、所定の物理ポート使用率を超えている物理ポート２０１である。移行対象の仮想ポートは、例えば、過負荷の物理ポート２０１に付加されている複数の仮想ポート２０２のうち、負荷の最も高い仮想ポート２０２である。
【０１３１】
ステップ１３５で、管理者が、管理端末３００に、移行対象の仮想ポート２０２を指定してその仮想ポート２０２の移行を指示する。
【０１３２】
ステップ１３６で、管理端末３００が、指定された仮想ポート（移行対象の仮想ポート）の仮想ポート識別情報（例えば仮想ポート番号）を含んだ移行要求を、ストレージシステム２００に送信する。その移行要求は、ストレージシステム２００内の仮想ポート切替処理モジュール２５４に送られる。
【０１３３】
ステップ１３７で、仮想ポート切替処理モジュール２５４が、移行要求内の仮想ポート識別情報に対応する仮想ポート状態（その仮想ポート識別情報が記録されている仮想ポート情報における仮想ポート状態）７０３を、“停止”に変更する。これにより、移行対象仮想ポート２０２Ｔに対応したコマンドキュー２６３に蓄積されているＳＣＳＩコマンドがＳＣＳＩコマンド処理モジュール２５３によって処理されることは停止される。故に、以後、移行対象仮想ポート２０２Ｔに関連付けられているＬＵ２０３を指定したＳＣＳＩコマンドをストレージシステム２００が受信した場合には、移行対象仮想ポート２０２Ｔに対応したコマンドキュー２６３に、そのＳＣＳＩコマンドが蓄積され続けることとなる。
【０１３４】
ステップ１３８で、仮想ポート切替処理モジュール２５４が、処理中のＳＣＳＩコマンド完了を待つ。具体的には、仮想ポート切替処理モジュール２５４は、ＳＣＳＩコマンド処理モジュール２５３によって処理中のＳＣＳＩコマンドの結果がエラーとならないようにするため、そのＳＣＳＩコマンドの処理が完了するのを待つ。
【０１３５】
ステップ１３９で、仮想ポート切替処理モジュール２５４が、移行対象仮想ポート２０２Ｔに対応した仮想ポート情報７００における物理ポート番号７０２を、移行先物理ポート２０１の物理ポート番号に変更する。例えば、ステップ１３５で、管理者が管理端末３００に対して移行先物理ポート２０１を指定し、管理端末３００は指定された移行先物理ポート番号を含む移行要求を送信しても良い。或いは、このステップ１３７乃至１３９のいずれかにおいて、仮想ポート切替処理モジュール２５４によって、移行先物理ポート２０１が自動的に決定されても良い。管理者から指定される或いは自動決定される移行先物理ポート２０１は、例えば、移行対象仮想ポート２０２Ｔが付加されても、移行元物理ポート２０１の負荷よりも低い負荷となる物理ポート２０１である。
【０１３６】
ステップ１４０で、仮想ポート切替処理モジュール２５４が、ポート切替要求をＳＡＮスイッチ４００に送信する。ポート切替要求には、切替対象仮想ポート（移行対象仮想ポート）２０２ＴのＷＷＮと、切替先物理ポート（移行先物理ポート）２０１のＷＷＮとが含まれる。切替対象仮想ポート２０２ＴのＷＷＮは、切替対象仮想ポート２０２Ｔに対応した仮想ポート情報７００から取得された仮想ポートＷＷＮ７０４である。切替先物理ポート２０１のＷＷＮは、切替対象仮想ポート２０２Ｔに対応した仮想ポート情報７００内の物理ポート番号７０２を有した物理ポート情報６００から取得された物理ポートＷＷＮ６０２である。ポート切替要求は、例えば、切替対象仮想ポート２０２Ｔが属する物理ポート２０１から送信される。ポート切替要求は、ＳＡＮスイッチ４００におけるポート切替処理モジュール７５２に送られる。
【０１３７】
ステップ１４１で、ＳＡＮスイッチ４００におけるポート切替処理モジュール７５２が、ポート切替要求に応答して、ポート切替処理を実行する。ポート切替処理の詳細は、図９を参照して説明したとおりである。これにより、ＳＡＮスイッチ４００における全てのルーティングテーブル９００において、移行対象仮想ポート２０２ＴのポートＩＤに対応したスイッチコントローラ番号が、移行先物理ポート２０１に接続されたスイッチポート４０６のスイッチコントローラ４１３の番号に変更される。
【０１３８】
ステップ１４２で、仮想ポート切替処理モジュール２５４が、ポート切替処理の完了通知を、ＳＡＮスイッチ４００から受信する。
【０１３９】
ステップ１４３で、仮想ポート切替処理モジュール２５４が、移行対象仮想ポート２０２Ｔに対応した仮想ポート情報７００における仮想ポート状態７０３を、“通常”に更新する。これにより、移行対象仮想ポート２０２Ｔに対応したコマンドキュー２６３に蓄積されているＳＣＳＩコマンドがＳＣＳＩコマンド処理モジュール２５３によって処理されることが再開される。
【０１４０】
ステップ１４４で、仮想ポート切替処理モジュール２５４が、仮想ポート切替処理の完了通知を送信する。その完了通知は、通信処理モジュール２５６を介して、管理端末３００に送信される。
【０１４１】
ステップ１４５で、管理端末３００が、仮想ポート切替処理の完了通知を受信し、仮想ポート切替処理の完了を表示する。
【０１４２】
図１１は、第一実施例に係る計算機システムで行われる処理の流れの変形例を示す。図１１には、図１０と同じステップには同じ番号を付している。
【０１４３】
図１１に示す処理の流れによれば、図１０に示したステップ１３１乃至１４５のうち、ステップ１４０、１４１及び１４２が相違している。具体的には、図１０でのステップ１４０、１４１及び１４２に代えて、図１１では、ステップ１４０´、１４１´及び１４２´が採用される。
【０１４４】
ステップ１４０´で、仮想ポート切替処理モジュール２５４が、ログイン要求をＳＡＮスイッチ４００に送信する。ログイン要求には、移行対象仮想ポート２０２Ｔの仮想ポートＷＷＮが要求ポートＷＷＮとして含まれる。ここでのログイン要求は、例えば、ＦＤＩＳＣフレームである。ログイン要求は、例えば、移行先物理ポート２０１から送信される。ログイン要求は、ＳＡＮスイッチ４００におけるログイン処理モジュール２５３に送られる。
【０１４５】
ステップ１４１´で、ログイン処理モジュール２５３が、ログイン要求に応答して、ログイン処理を実行する。ログイン処理の詳細は、図８を参照して説明したとおりである。これにより、ＳＡＮスイッチ４００における全てのルーティングテーブル９００において、移行対象仮想ポート２０２ＴのポートＩＤ９０１に対応したスイッチコントローラ番号９０２が、移行先物理ポート２０１に接続されたスイッチポート４０６のスイッチコントローラ４１３の番号に変更される。なぜなら、ステップ１４０´で、ログイン要求が、移行先物理ポート２０１から送信されたからである。
【０１４６】
ステップ１４２´で、仮想ポート切替処理モジュール２５４が、ログイン処理の完了通知を、ＳＡＮスイッチ４００から受信する。
【０１４７】
図１０及び図１１を参照して説明した各処理の流れにおいて、以下の幾つかの変形例のうちの少なくとも一つを採用することが可能である。
【０１４８】
第一の変形例として、管理端末３００内のＣＰＵで実行されるコンピュータプログラムが、定期的に、各仮想ポート２０２の統計情報（仮想ポート使用率）や各物理ポート２０１の統計情報（物理ポート使用率）を取得しても良い。また、管理端末３００内のＣＰＵで実行されるコンピュータプログラムが、過負荷の物理ポート２０１や、過負荷の物理ポート２０１に属する移行対象の仮想ポート２０２を、自動で決定しても良い。具体的には、例えば、管理端末３００内のＣＰＵで実行されるコンピュータプログラムが、物理ポート使用率が所定の閾値を超えている物理ポート２０１を特定し、特定された物理ポート２０１に属する複数の仮想ポート２０２から、仮想ポート使用率が最も高い仮想ポート２０２を移行対象仮想ポート２０２Ｔとして選択する。また、管理端末３００内のＣＰＵで実行されるコンピュータプログラムが、移行先物理ポート２０１として、物理ポート使用率が最も低い物理ポート２０１を選択する。そして、そのコンピュータプログラムが、移行対象仮想ポート２０２ＴのＷＷＮと移行先物理ポート２０１のＷＷＮとを含んだ移行要求を、ストレージシステム２００に送信する。
【０１４９】
第二の変形例として、ストレージプロセッサ２０８が、過負荷の物理ポート２０１や、過負荷の物理ポート２０１に属する移行対象の仮想ポート２０２Ｔを、自動で決定しても良い。具体的には、例えば、ストレージプロセッサ２０８が、物理ポート使用率が所定の閾値を超えている物理ポート２０１を特定する。また、ストレージプロセッサ２０８が、特定された物理ポート２０１に属する複数の仮想ポート２０２から、仮想ポート使用率が最も高い仮想ポートを移行対象仮想ポート２０２Ｔとして選択する。また、ストレージプロセッサ２０８が、移行先物理ポート２０１として、物理ポート使用率が最も低い物理ポート２０１を選択する。そして、ステップ１４０或いは１４０´で送信するポート切替要求又はログイン要求に、選択された移行対象仮想ポート（切替対象仮想ポート）のＷＷＮと、移行先物理ポート（切替先物理ポート）２０１のＷＷＮとが含められる。
【０１５０】
第三の変形例として、ステップ１３７で、スケジューラ処理モジュール２５２が、移行対象仮想ポート２０２Ｔに対応したコマンドキュー２６３に蓄積されているＳＣＳＩコマンドを破棄してしまっても良い。ホスト１００が、タイムアウトを検出し応答の無いＳＣＳＩコマンドを再送する仕組みを備えている場合には、その仕組みによって移行先仮想ポートへとコマンドが再送される。
【０１５１】
第四の変形例として、ポート切替要求は、管理端末３００から送信されても良い。
【０１５２】
以上が、第一実施例についての説明である。
【０１５３】
上述した第一実施例によれば、一つのストレージシステム２００において、過負荷の物理ポート２０１がある場合に、ホスト計算機１００を停止することなく、過負荷の物理ポート２０１に属する仮想ポート２０２を、過負荷の物理ポート２０１から別の物理ポート２０１に移行することができる。また、これを実現するにあたって、ＳＡＮスイッチ４００については、移行対象物理ポート２０１（具体的にはポートＩＤ）に対応した転送先情報（具体的にはスイッチコントローラ番号）を変更すれば済む。
【実施例２】
【０１５４】
以下、本発明の第二実施例を説明する。その際、第一実施例との相違点を主に説明し、第一実施例との共通点については説明を省略或いは簡略化する。
【０１５５】
図１２は、本発明の第二実施例に係る計算機システムの構成を示す。
【０１５６】
ＳＡＮスイッチ４００及びＬＡＮ５００に、複数（例えば二台）のストレージシステムが接続される。複数のストレージシステムのうちの一つが、移行元ストレージシステム（例えば、既存のストレージシステム）２００Ｓであり、複数のストレージシステムのうちの別の一つが、移行先ストレージシステム（例えば、増設されたストレージシステム）２００Ｔである。
【０１５７】
第二実施例では、移行元ストレージシステム２００Ｓから移行先ストレージシステム２００Ｔに、移行対象の仮想ポート２０２Ａと、その仮想ポート２０２Ａに属する全てのＬＤＥＶ（その仮想ポート２０２Ａを有した全てのＬＵパス定義に属するＬＤＥＶ）が移行される。
【０１５８】
この場合、移行先ストレージシステム２００Ｔに、移行先物理ポート２０１Ｂから移行先ＬＤＥＶ２０４Ｔまでのパスが構築される。具体的には、移行先物理ポート２０１Ｂに、移行先仮想ポート２０２Ｂが付加され、移行先仮想ポート２０２Ｂに、移行対象仮想ポート２０２Ａに属するＬＵＮ（ＬＵ２０３）が関連付けられ、各ＬＵＮに、移行先ＬＤＥＶ２０４Ｔが関連付けられる。そして、移行元ストレージシステム２００Ｓにおける移行元ＬＤＥＶ２０４Ｓから、移行元物理ポート２０１Ａ及び上記構築されたパスを介して、移行先ストレージシステム２００Ｔにおける移行先ＬＤＥＶ２０４Ｔに、データがコピーされる。また、移行元ストレージシステム２００Ｓにおいて、移行対象仮想ポート２０２Ａが消去され、移行元ＬＤＥＶ（コピー元ＬＤＥＶ）２０４Ｓは、未使用のＬＤＥＶとなる。未使用となったＬＤＥＶは、移行元ストレージシステム２００Ｓにおける仮想ポート２０２に追加可能である。つまり、移行元ストレージシステム２００Ｓにおいて、移行元ＬＤＥＶ２０４Ｓの容量分、空き容量が増えることになる。
【０１５９】
図１３は、第二実施例での各ストレージシステム２００Ｓ、２００Ｔのソフトウェア構成を示す。
【０１６０】
図４を参照して説明したプログラムモジュールに加えて、コマンド転送処理を実行するためのプログラムモジュール（以下、「コマンド転送処理モジュール」と言う）２５８と、コピー処理を実行するためのプログラムモジュール（以下、「コピー処理モジュール」と言う）２５９とが追加される。
【０１６１】
コマンド転送処理モジュール２５８は、移行対象仮想ポート２０２Ａに対応したコマンドキュー２６３に蓄積されている全てのＳＣＳＩコマンドを、移行先ストレージシステム２００Ｔに転送する。この場合、移行先ストレージシステム２００Ｔにおける振分け処理モジュール２５１が、移行元ストレージシステム２００Ｓから転送されて来た、移行対象仮想ポート２０２Ａに対応するＳＣＳＩコマンドを、移行先ストレージシステム２００Ｔにおける、移行対象仮想ポート２０２Ｔに対応するコマンドキュー２６３に、蓄積する。
【０１６２】
コピー処理モジュール２５９は、コピー元ＬＤＥＶ（移行元ＬＤＥＶ）２０４Ｓに記憶されているデータ（又は、それに加えて、移行元ＬＤＥＶ２０４Ｓに書き込まれるデータ）をコピー先ＬＤＥＶ（移行先ＬＤＥＶ）２０４Ｔにコピーする。例えば、コピー処理モジュール２５９は、移行先ストレージシステム２００Ｔに送信するライト要求（コピー要求）に、移行先物理ポート２０１ＢのポートＩＤ、ＬＤＥＶ番号及びＬＢＡ（Logical Block Address）を含めることで、ライト先記憶領域（コピー先記憶領域）を指定することができる。
【０１６３】
仮想ポート切替処理モジュール２５４´は、ストレージシステム２００内での仮想ポート切替処理に代えて又は加えて、ストレージシステム２００Ｓ、２００Ｔ間での仮想ポート切替処理を行う。
【０１６４】
設定処理モジュール２５５´は、ネットワークＩ／Ｆ２０５からだけでなく、他のストレージシステム２００Ｓ又は２００Ｔからの要求によっても起動することができる。設定処理モジュール２５５´は、ストレージ制御情報３０００を参照したり更新したりし、ストレージ制御情報３０００に設定した情報を、他のストレージシステム２００Ｓ又は２００Ｔに返送することができる。
【０１６５】
ＳＣＳＩコマンド処理モジュール２５３´は、ライトコマンドを処理する際、そのライトコマンドから特定されるＬＤＥＶ（コピー元ＬＤＥＶ）２０４Ｓに対応するペア情報８００が存在するならば、コピー処理モジュール２５９を呼び出すことで、コピー先ＬＤＥＶ２０４Ｔにも、ライト対象データが書き込まれるようにする。また、物理ポート２０１に対するライトコマンドの場合は、ＳＣＳＩコマンド処理モジュール２５３´は、ライトコマンドで指定されているＬＵＮをＬＤＥＶ番号と解釈し、ＬＤＥＶ番号から特定されるＬＤＥＶに、ライト対象データを書き込む。これはライトコマンドのＬＵＮを用いてＬＤＥＶを指定する方法の一例であり、他には、ベンダが独自に特殊なライトコマンドを定義し、それを受信したときはＬＵＮをＬＤＥＶ番号と解釈する、としてもよい。
【０１６６】
ストレージ制御情報３００には、物理ポート情報６００や仮想ポート情報７００に加えて、ペア情報８００が含まれる。
【０１６７】
図１４は、ペア情報８００の構成を示す。
【０１６８】
ペア情報８００は、ＬＤＥＶペア毎に用意される。ペア情報８００に含まれる情報要素として、例えば、コピー元ＬＤＥＶ番号８０１、移行先物理ポートＩＤ８０２、コピー先ＬＤＥＶ番号８０３及び進捗ポインタ８０４がある。
【０１６９】
ＬＤＥＶ番号は、ストレージシステム内でＬＤＥＶを識別するための番号である。コピー元ＬＤＥＶ番号８０１は、データのコピー元のＬＤＥＶの番号であり、コピー先ＬＤＥＶ番号８０２は、データのコピー先のＬＤＥＶの番号である。
【０１７０】
移行先物理ポートＩＤ８０３は、移行先ストレージシステム２００Ｔにおける移行先物理ポート２０１ＢのポートＩＤである。
【０１７１】
進捗ポインタ８０４は、コピーの進捗を表す情報である。例えば、コピー元ＬＤＥＶ２０４Ｓの終端位置までコピーが完了すると、コピー元ＬＤＥＶ２０４Ｓに記憶されているデータとコピー先ＬＤＥＶ２０４Ｔに記憶されているデータとが同じになったことを示す。
【０１７２】
図１５は、第二実施例に係る計算機システムで行われる処理の流れを示す。
【０１７３】
ステップ２０１で、管理者が、管理端末３００に、移行対象仮想ポート２０２Ａを指定し、仮想ポートの移行を指示する。
【０１７４】
ステップ２０２で、管理端末３００が、移行要求を、移行元ストレージシステム２００Ｓに送信する。移行要求には、たとえば、移行対象仮想ポート２０２Ａの仮想ポート番号と、移行先ストレージシステム２００Ｔにおける移行先物理ポート２０１の物理ポート番号と、移行先物理ポート２０１のポートＩＤとが含まれる。移行要求に含まれるこれらの情報は、例えば、前もって移行元ストレージシステム２００Ｓから収集されている。移行要求は、移行元ストレージシステム２００Ｓ内の仮想ポート切替処理モジュール２５４´に送られる。
【０１７５】
ステップ２０３で、移行元ストレージシステム２００Ｓにおける仮想ポート切替処理モジュール２５４´が、移行先仮想ポート２０２Ｂの作成を、移行先ストレージシステムに要求する。具体的には、例えば、仮想ポート切替処理モジュール２５４´が、移行対象仮想ポート２０２Ｂに対応した仮想ポート情報７００と設定要求とを、移行先ストレージシステム２００Ｔに送信する。ここでの仮想ポート情報７００には、移行対象仮想ポート２０２Ａの番号７０１、ＷＷＮ７０４及びポートＩＤ７０５と、移行対象仮想ポート２０２Ｔに対応したホスト計算機１００のポートのＷＷＮ７０６及びポートＩＤ７０７と、仮想ポート状態７０３“通常”と、移行先物理ポート２０１の物理ポート番号７０２とが含まれる。
【０１７６】
ステップ２０４で、移行先ストレージシステム２００Ｔにおいて、設定処理モジュール２５５´が、移行元ストレージシステム２００Ｓからの設定要求にある仮想ポート情報７００を、移行先ストレージシステム２００Ｔ（例えばそれにおけるキャッシュメモリ２１０）に設定する。また、その際、移行先ストレージシステム２００Ｔにおいて、設定処理モジュール２５５´は、設定した仮想ポート情報７００内のＬＵパス定義リスト７０８における各ＬＵＮに対して、移行先ストレージシステム２００Ｔにおける未使用のＬＤＥＶのＬＤＥＶ番号を割り当てる。なお、割り当てられるＬＤＥＶ番号に対応した未使用のＬＤＥＶは、コピー先となるため、コピー元のＬＤＥＶの記憶容量以上の記憶容量を有したＬＤＥＶである。ステップ２０４の完了により、移行先物理ポート２０１Ｂから移行先ＬＤＥＶ２０４Ｔまでのパス（移行先物理ポート２０１Ｂ、移行先仮想ポート２０２Ｂ、ＬＵＮ及び移行先ＬＤＥＶ２０４Ｔ）が構築される。
【０１７７】
ステップ２０５で、移行先ストレージシステム２００Ｔにおける設定処理モジュール２５５´が、移行先仮想ポート２０２Ｂに対応した仮想ポート情報７００を、移行元ストレージシステム２００Ｓに返送する。その際、仮想ポート情報７００と共に、移行先物理ポート２０１の物理ポートＩＤも返送されて良い。
【０１７８】
ステップ２０６で、移行元ストレージシステム２００Ｓにおける設定処理モジュール２５５´が、移行先ストレージシステム２００Ｔからの仮想ポート情報７００におけるＬＵパス定義リスト７０８を基に、各ＬＤＥＶペアについてのペア情報８００を設定する。設定されるペア情報８００には、コピー元ＬＤＥＶ番号８０１として、移行対象仮想ポート２０２Ａに属する或る対象ＬＵＮに対応したＬＤＥＶの番号が含まれ、移行先物理ポートＩＤ８０２として、移行先ストレージシステム２００Ｔから受信した移行先物理ポートＩＤが含まれる。また、コピー先ＬＤＥＶ番号８０３として、移行先ストレージシステム２００Ｔからの仮想ポート情報７００におけるＬＵパス定義リスト７０８から特定される、上記対象ＬＵＮに割り当てられているＬＤＥＶ番号が含まれる。
【０１７９】
ステップ２０７で、移行元ストレージシステム２００Ｓにおけるコピー処理モジュール２５９が、移行対象仮想ポート２０２Ａに属する全ての移行元ＬＤＥＶ２０４Ｓに対応したペア情報８００を基に、各移行元ＬＤＥＶ２０４Ｓから各移行先ＬＤＥＶ２０４Ｔへのデータのコピーを行う。具体的には、コピー処理モジュール２５９が、移行元ＬＤＥＶ２０４Ｓのデータを書込み対象としたライトコマンド（移行先ＬＤＥＶ２０４Ｔを指定したライトコマンド）を、移行先ストレージシステム２００Ｔに送信する。コピー処理モジュール２５９は、ペア情報８００における進捗ポインタ８０４を、データのコピーの進捗に応じて更新する。データのコピーは、移行先ストレージシステム２００Ｔが、移行元ＬＤＥＶ２０４Ｓを指定したリードコマンドを移行元ストレージシステム２００Ｓに送信し、そのリードコマンドに応答して読み出されたデータを移行先ＬＤＥＶ２０４Ｔに書込むことで、行われても良い。
【０１８０】
ステップ２０８で、移行対象仮想ポート２０２Ａに属する各移行元ＬＤＥＶ２０４Ｓから各移行先ＬＤＥＶ２０４Ｔへのデータのコピーが完了する。
【０１８１】
ステップ２０９で、仮想ポート切替処理モジュール２５４´が、移行対象仮想ポート２０２Ａに対応した仮想ポート情報７００における仮想ポート状態７０３を、“停止”に変更する。
【０１８２】
ステップ２１０で、仮想ポート切替処理モジュール２５４´が、移行対象仮想ポート２０２Ａに対応した処理中のＳＣＳＩコマンドの完了を待つ。
【０１８３】
ステップ２１１で、仮想ポート切替処理モジュール２５４´が、ポート切替要求を、切替対象仮想ポート２０２Ａが属する移行元物理ポート２０１Ａから、ＳＡＮスイッチ４００に送信する。ポート切替要求には、切替対象仮想ポート（移行対象仮想ポート）２０２ＡのＷＷＮと、切替先物理ポート（移行先物理ポート）２０１ＢのＷＷＮとが含まれる。
【０１８４】
ステップ２１２で、ＳＡＮスイッチ４００におけるポート切替処理モジュール７５２が、ポート切替要求に応答して、ポート切替処理を実行する。ポート切替処理の詳細は、図９を参照して説明したとおりである。
【０１８５】
ステップ２１３で、仮想ポート切替処理モジュール２５４´が、ポート切替処理の完了通知を、ＳＡＮスイッチ４００から受信する。
【０１８６】
ステップ２１４で、コマンド転送処理モジュール２５８が、移行対象仮想ポート２０２Ａに対応するコマンドキュー２６３に蓄積されている全てのＳＣＳＩコマンドを、移行先ストレージシステム２００Ｔに送信する。移行先ストレージシステム２００Ｔにおいて、振分け処理モジュール２５１が、移行元ストレージシステム２００ＳからのＳＣＳＩコマンドを、移行先仮想ポート２０２Ｂに対応したコマンドキュー２６３に蓄積する。移行先ストレージシステム２００ＴにおけるＳＣＳＩコマンド処理モジュール２５３´は、この時点から、移行先仮想ポート２０２Ｂに対応したコマンドキュー２６３に蓄積されているコマンドの処理を開始することができる。
【０１８７】
ステップ２１５で、移行元ストレージシステム２００Ｓにおいて、設定処理モジュール２５５´が、ステップ２０６で設定したペア情報８００と、移行元ストレージシステム２００Ｓにおける移行対象仮想ポート２０２Ａとを削除する。
【０１８８】
ステップ２１６で、仮想ポート切替処理モジュール２５４´が、仮想ポート切替処理の完了通知を送信する。その完了通知は、通信処理モジュール２５６を介して、管理端末３００に送信される。
【０１８９】
ステップ２１７で、管理端末３００が、仮想ポート切替処理の完了通知を受信し、仮想ポート切替処理の完了を表示する。
【０１９０】
図１６は、第二実施例に係る計算機システムで行われる処理の流れの変形例を示す。
【０１９１】
図１６に示す処理の流れによれば、図１５に示したステップ２０１乃至２１７のうち、ステップ２１１、２１２及び２１３が相違している。具体的には、図１５でのステップ２１１、２１２、及び２１３に代えて、図１６では、ステップ３１０、３１１、３１２、３１３及び３１４が採用される。
【０１９２】
ステップ３１０で、移行元ストレージシステム２００Ｓにおいて、仮想ポート切替処理モジュール２５４´が、ログイン指示を、移行先ストレージシステム２００Ｔに送信する。ログイン指示には、移行対象仮想ポート２０２Ａの仮想ポートＷＷＮが含まれている。
【０１９３】
ステップ３１１で、移行先ストレージシステム２００Ｔにおいて、仮想ポート切替処理モジュール２５４´が、移行元ストレージシステム２００Ｓからのログイン指示に応答して、ログイン要求を、ＳＡＮスイッチ４００に送信する。ログイン要求には、移行対象仮想ポート２０２Ａの仮想ポートＷＷＮが要求ポートＷＷＮとして含まれる。ここでのログイン要求は、例えば、ＦＤＩＳＣフレームである。ログイン要求は、例えば、移行先物理ポート２０１Ｂから送信される。ログイン要求は、ＳＡＮスイッチ４００におけるログイン処理モジュール７５３に送られる。
【０１９４】
ステップ３１２で、ログイン処理モジュール７５３が、ログイン要求に応答して、ログイン処理を実行する。ログイン処理の詳細は、図８を参照して説明したとおりである。
【０１９５】
ステップ３１３で、移行先ストレージシステム２００Ｔにおける仮想ポート切替処理モジュール２５４´が、ログイン処理の完了通知を、ＳＡＮスイッチ４００から受信する。
【０１９６】
ステップ３１４で、移行先ストレージシステム２００Ｔにおける仮想ポート切替処理モジュール２５４´が、ログイン完了を、移行先ストレージシステム２００Ｔに通知する。
【０１９７】
図１５及び図１６を参照して説明した各処理の流れにおいて、以下の幾つかの変形例のうちの少なくとも一つを採用することが可能である。
【０１９８】
第一の変形例として、新規にストレージシステムがＳＡＮスイッチ４００に増設された場合、ＳＡＮスイッチ４００や、ＳＡＮスイッチ４００を介して移行元ストレージシステム２００Ｓが、ストレージシステムの増設を検出することができる。移行元ストレージシステム２００Ｓは、新規にストレージシステムがＳＡＮスイッチ４００に増設されたことに応答して、移行元ストレージシステム２００Ｓからその増設されたストレージシステムに、全ての（又は一部の）仮想ポート２０２を移行してもよい。
【０１９９】
第二の変形例として、仮想ポート２０２に代えて、移行元とするＬＤＥＶ２０４Ｓが指定されても良い。この場合、その指定されたＬＤＥＶ２０４Ｓが属する仮想ポート２０２を、移行対象仮想ポート２０２Ａとすることができる。
【０２００】
第三の変形例として、移行対象仮想ポート２０２Ａは、第一実施例と同様に、過負荷の物理ポートに属する仮想ポートであって良い。また、そのために、第一実施例と同様に、統計情報の取得が行われても良い。また、過負荷の物理ポートや、それに属する一以上の仮想ポートのうちの移行対象とする仮想ポートは、管理端末３００或いは移行元ストレージシステム２００Ｓによって自動で決定されても良い。
【０２０１】
以上が、第二実施例についての説明である。
【０２０２】
上述した第二実施例によれば、移行元ストレージシステム２００Ｓから移行先ストレージシステム２００Ｔに、仮想ポート２０２と、その仮想ポート２０２に属する全てのＬＤＥＶ（その仮想ポートを有した全てのＬＵパス定義に属するＬＤＥＶ）が移行される。これにより、移行元ストレージシステム２００Ｓにおける負荷（具体的には、移行対象仮想ポート２０２Ａが属していた物理ポート２０１Ａの負荷や、移行元ストレージシステム２００Ｓにおけるストレージプロセッサ２０８´の負荷）を軽減することができる。また、このようなストレージシステム２００Ｓ、２００Ｔ間での仮想ポート２０２及びＬＤＥＶ２０４の移行を、ホスト計算機１００を停止させることなく行うことができる。
【実施例３】
【０２０３】
以下、本発明の第三実施例を説明する。その際、第二実施例との相違点を主に説明し、第二実施例との共通点については説明を省略或いは簡略する。
【０２０４】
図１７は、本発明の第三実施例に係る計算機システムの構成を示す。
【０２０５】
複数のストレージシステムには、移行元ストレージシステム２００Ｓと移行先ストレージシステム２００Ｔの他に、外部ストレージシステム２００Ｅが含まれる。外部ストレージシステム２００Ｅも、ストレージシステムの一種であり、ＮＰＩＶ機能を有している。そのため、外部ストレージシステム２００Ｅにおいても、物理ポート２０１に一又は複数の仮想ポート２０２が付加されており、各仮想ポート２０２に、一又は複数のＬＵ２０３が関連付けられており、各ＬＵ２０３に、ＬＤＥＶ２０４が関連付けられている。
【０２０６】
移行元ストレージシステム２００Ｓには、一以上のＰＤＥＶ２１２を基に形成されたＬＤＥＶ（以下、実ＬＤＥＶ）２０４Ｒの他に、仮想ＬＤＥＶ２０４Ｖがある。仮想ＬＤＥＶ２０４Ｖは、外部ストレージシステム２００Ｅにある一又は複数の実ＬＤＥＶ２０４Ｅを基に形成されたＬＤＥＶである。以下、移行元ストレージシステム２００Ｓにおける仮想ＬＤＥＶ２０４Ｖを、「外部接続ＬＤＥＶ２０４Ｖ」と言い、外部接続ＬＤＥＶ２０４Ｖに対応した、外部ストレージシステムにおける実ＬＤＥＶを、「外部ＬＤＥＶ」と言う。ストレージ仮想化技術に従って、外部ＬＤＥＶ２０４Ｅが移行元ストレージシステム２００Ｓに外部接続ＬＤＥＶ２０４Ｖとして存在する。外部ＬＤＥＶ２０４Ｅと外部接続ＬＤＥＶ２０４Ｖは、１対１、１対多、多対１のいずれで対応しても良い。以下、外部ストレージシステム２００Ｅの外部ＬＤＥＶ２０４Ｅがストレージシステムに外部接続ＬＤＥＶ２０４Ｖとして存在する構成を、「外部接続構成」と呼ぶことがある。
【０２０７】
第三実施例では、第二実施例と同様に、移行元ストレージシステム２００Ｓから移行先ストレージシステム２００Ｔに、仮想ポート２０２と、その仮想ポート２０２に属する全てのＬＤＥＶ（その仮想ポートを有した全てのＬＵパス定義に属するＬＤＥＶ）が移行される。但し、移行元ＬＤＥＶ及び移行先ＬＤＥＶが外部接続ＬＤＥＶ２０４Ｖであれば、第二実施例と違って、移行元ＬＤＥＶから移行先ＬＤＥＶへのデータのコピーは不要である。なぜなら、移行元ＬＤＥＶとＬＤＥＶペアを構成する移行先ＬＤＥＶは、移行元ＬＤＥＶに対応する外部ＬＤＥＶ２０４Ｅに対応付けられるからである。つまり、移行元ＬＤＥＶ及び移行先ＬＤＥＶにおけるデータは、実際には、同一の外部ＬＤＥＶ２０４Ｅに記憶されたままであるからである。
【０２０８】
図１７の例では、外部ストレージシステム２００Ｅは、ホスト計算機１００が接続されているＳＡＮスイッチ４００とは別のＳＡＮスイッチ４００´に接続され、別のＳＡＮスイッチ４００´に、移行元ストレージシステム２００Ｓ及び移行先ストレージシステム２００Ｔが接続されている。しかし、それに限らず、例えば、別のＳＡＮスイッチ４００´は無くても良い。その場合、外部ストレージシステム２００Ｅは、ホスト計算機１００が接続されているＳＡＮスイッチ４００に接続される。
【０２０９】
また、図１７の例では、外部ストレージシステム２００Ｅは、ＮＰＩＶ機能を有しているが、それに代えて、ＮＰＩＶ機能を有していなくても良い。この場合、外部ＬＤＥＶ２０４Ｅには、物理ポート２０１のポートＩＤとＬＵＮを指定したアクセスコマンドを外部ストレージシステム２００Ｅに送信することで、アクセスすることが可能である。
【０２１０】
第三実施例では、外部接続ＬＤＥＶ構成情報が必要である。
【０２１１】
図１８は、外部接続ＬＤＥＶ構成情報の構成を示す。
【０２１２】
外部接続ＬＤＥＶ構成情報１１００は、外部接続ＬＤＥＶ２０４Ｖ毎に用意される。外部接続ＬＤＥＶ構成情報１１００に含まれる情報要素として、例えば、外部ＬＤＥＶ番号１１０１、イニシエータポートＩＤ１１０２、外部ストレージポートＩＤ１１０３及び外部ストレージＬＵＮ１１０４がある。
【０２１３】
外部接続ＬＤＥＶ番号１１０１は、ストレージシステム内で外部接続ＬＤＥＶ２０４Ｖを識別するための番号である。
【０２１４】
イニシエータポートＩＤ１１０２は、外部ストレージシステム２００Ｅへコマンドを送信する、送信元の物理ポート（以下、第三実施例の説明において、「イニシエータポート」と言う）２０１ＰのポートＩＤである。
【０２１５】
外部ストレージポートＩＤ１１０３は、イニシエータポート２０１Ｐからコマンドを受ける、外部ストレージシステム２００Ｅにおける仮想ポート２０２Ｑ（以下、第三実施例の説明において、「外部ストレージポート２０２Ｑ」と言う）のポートＩＤである。もし、仮想ポート２０２Ｑが無ければ、物理ポート２０１Ｑが、イニシエータポート２０１Ｐからコマンドを受ける外部ストレージポートとなる。
【０２１６】
外部ストレージＬＵＮ１１０４は、外部ＬＤＥＶ２０４Ｅに関連付けられている、外部ストレージシステム２００Ｅ内のＬＵのＬＵＮである。
【０２１７】
移行元ストレージシステム２００ＳにおけるＳＣＳＩコマンド処理モジュールは、ホスト計算機１００から、外部接続ＬＤＥＶ２０４Ｖを指定したアクセスコマンドを受けた場合、その外部接続ＬＤＥＶ２０４Ｖに対応した外部ＬＤＥＶ２０４Ｅを指定したアクセスコマンド（外部接続ＬＤＥＶ２０４Ｖに対応した外部ストレージポートＩＤ及び外部ストレージＬＵＮを含んだアクセスコマンド）を作成し、そのアクセスコマンドを、外部接続ＬＤＥＶ２０４Ｖに対応したイニシエータポート２０１Ｐから送信する。外部ストレージシステム２００Ｅは、イニシエータポート２０１Ｐから送信されたアクセスコマンドを外部ストレージポート２０２Ｑで受信し、受信したアクセスコマンドを処理する。
【０２１８】
図１９は、第三実施例に係る計算機システムで行われる処理の流れを示す。
【０２１９】
図１９に示す処理の流れは、実質的に、図１５に示す処理の流れからステップ２０６、２０７及び２０８を除いた流れとなる。また、残ったステップ２０１乃至２０５及び２０９乃至２１７のうちの少なくとも一つにおいて、変更点がある。
【０２２０】
例えば、ステップ２０３で、移行元ストレージシステム２００Ｓにおける仮想ポート切替処理モジュールは、更に、移行対象仮想ポート２０２Ａに属する各外部接続ＬＤＥＶ２０４ＶＳに対応した外部接続ＬＤＥＶ情報１１００を、移行先ストレージシステム２００Ｔに送信する。
【０２２１】
ステップ２０４で、移行先ストレージシステム２００Ｔにおいて、移行先ＬＤＥＶとして割当てられた外部接続ＬＤＥＶ２０４ＶＴに対応した外部接続ＬＤＥＶ情報１１００に、移行元の外部接続ＬＤＥＶ２０４ＶＳに対応した外部接続ＬＤＥＶ情報１１００における外部ストレージポートＩＤ１１０３及び外部ストレージＬＵＮ１１０４がコピーされる。これにより、移行先の外部接続ＬＤＥＶ２０４ＶＴに、移行元の外部接続ＬＤＥＶ２０４ＶＳに対応付けられている外部ＬＤＥＶ２０４Ｅが対応付けられる。
【０２２２】
ステップ２１５´で、移行対象仮想ポート２０２Ａの削除は行われるが、ペア情報の削除は不要である。
【０２２３】
以上が、第三実施例についての説明である。なお、外部接続構成は、第一実施例にも適用することができる。また、第三実施例でも、例えば、図１６に例示したように、移行先物理ポートからログイン要求を送信することによって、ルーティングテーブル９００において、移行対象の仮想ポート２０２ＡのポートＩＤに対応するスイッチコントローラ番号を、移行先物理ポートに接続されたスイッチポートに対応するスイッチコントローラの番号に変更することが可能である。
【０２２４】
上述した第三実施例によれば、移行元ストレージシステム２００Ｓから移行先ストレージシステム２００Ｔに、仮想ポート２０２と、その仮想ポート２０２に属する外部接続ＬＤＥＶが移行される。これにより、外部接続構成において、移行元ストレージシステム２００Ｓにかかる負荷（具体的には、移行対象仮想ポートが属していた物理ポート２０１の負荷や、移行元ストレージシステムにおけるストレージプロセッサの負荷）を軽減することができる。また、このようなストレージシステム２００Ｓ、２００Ｔ間での仮想ポート２０２及び外部接続ＬＤＥＶ２０４Ｖの移行を、ホスト計算機１００を停止させることなく行うことができる。
【０２２５】
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【０２２６】
例えば、一以上のホスト計算機１００及び一以上のストレージシステム２００に接続されるＳＡＮスイッチ４００は複数個存在しても良い。その場合、ＳＡＮスイッチ４００が通信することで、全てのＳＡＮスイッチ４００における全てのルーティングテーブルを更新することが可能である。
【０２２７】
また、例えば、ルーティングテーブルは、各スイッチコントローラ４１３が備えることに代えて、スイッチプロセッサ４０８が備えても良い。
【０２２８】
また、図７乃至図９、図１０及び図１１、図１５及び図１６、及び図１９のうちの少なくとも一つの図に記載の処理の流れは、本発明の理解及び実施に必要な程度で各処理の概要を示している。従って、いわゆる当業者であれば、本発明の範囲から逸脱しない程度に、ステップの順序を変更したり、ステップを別のステップに変更したり等することができる。
【図面の簡単な説明】
【０２２９】
【図１】図１は、本発明の第一実施例に係る計算機システムの構成を示す。
【図２】図２は、ストレージシステムのハードウェア構成を示す。
【図３】図３は、ＳＡＮスイッチのハードウェア構成を示す。
【図４】図４は、ストレージシステムのソフトウェア構成を示す。
【図５】図５Ａは、物理ポート情報の構成を示す。図５Ｂは、仮想ポート情報の構成を示す。
【図６】図６Ａは、ＳＡＮスイッチのソフトウェア構成を示す。図６Ｂは、ルーティングテーブルの一レコードの構成を示す。図６Ｃは、ログインテーブルの一レコードの構成を示す。
【図７】図７は、ログインテーブル設定処理の流れを示す。
【図８】図８は、ログイン処理の流れを示す。
【図９】図９は、ポート切替処理の流れを示す。
【図１０】図１０は、第一実施例に係る計算機システムで行われる処理の流れを示す。
【図１１】図１１は、第一実施例に係る計算機システムで行われる処理の流れの変形例を示す。
【図１２】図１２は、本発明の第二実施例に係る計算機システムの構成を示す。
【図１３】図１３は、第二実施例での各ストレージシステムのソフトウェア構成を示す。
【図１４】図１４は、ペア情報の構成を示す。
【図１５】図１５は、第二実施例に係る計算機システムで行われる処理の流れを示す。
【図１６】図１６は、第二実施例に係る計算機システムで行われる処理の流れの変形例を示す。
【図１７】図１７は、本発明の第三実施例に係る計算機システムの構成を示す。
【図１８】図１８は、外部接続ＬＤＥＶ構成情報の構成を示す。
【図１９】図１９は、第三実施例に係る計算機システムで行われる処理の流れを示す。
【符号の説明】
【０２３０】
１００…ホスト計算機  ２００…ストレージシステム  ２０１…物理ポート  ２０２…仮想ポート  ３００…管理端末
【図１】
2009146106.tif 000003
【図２】
2009146106.tif 000004
【図３】
2009146106.tif 000005
【図４】
2009146106.tif 000006
【図５】
2009146106.tif 000007
【図６】
2009146106.tif 000008
【図７】
2009146106.tif 000009
【図８】
2009146106.tif 000010
【図９】
2009146106.tif 000011
【図１０】
2009146106.tif 000012
【図１１】
2009146106.tif 000013
【図１２】
2009146106.tif 000014
【図１３】
2009146106.tif 000015
【図１４】
2009146106.tif 000016
【図１５】
2009146106.tif 000017
【図１６】
2009146106.tif 000018
【図１７】
2009146106.tif 000019
【図１８】
2009146106.tif 000020
【図１９】
2009146106.tif 000021