実施例ではファイバチャネルカードに接続しているRAID装置からSANブートを行うシステムにおいて、同カードのSFP光モジュール(以下単に光モジュールと称する)と交換可能なROMモジュールを使用する。ここで本明細書を通じ、SFPはSmall Form Factor Pluggable(すなわち脱着式)を意味し、ROMはRead Only Memoryを意味する。前記ファイバチャネルカード上のROMに格納された、SANブートに必要なパラメータデータをROMモジュールに保存しておく。その結果、同ファイバチャネルカードの故障交換後、パラメータデータの復元を自動的に行い得るようにする。
また他の実施例によれば、ファイバチャネルカードに接続しているRAID装置からSANブートするシステムにおいて、サーバのシステムファームウェアと周知のI2C(Inter−Integrated Circuit)バスとを使用する。ここではPCI(Peripheral Component Interconnect、以下同様)バスあるいはPCI−Expressバスとともに設けられているI2Cバスを使用する。ファイバチャネルカード上のROMにあるSANブートに必要なパラメータデータを、このI2Cバスを利用してサーバ内に保存し、同ファイバチャネルカードの故障交換後のパラメータデータの復元を全自動化する。
更に他の実施例によれば、ファイバチャネルカードに接続しているRAID装置からSANブートするシステムにおいて、同ファイバチャネルカードの光モジュールに内蔵されたROMを使用する。ファイバチャネルカード上のROMにあるSANブートに必要なパラメータデータを上記光モジュールに内蔵されたROMに保存し、同ファイバチャネルカードの故障交換後のパラメータデータ復元の自動化を実現する。
更に他の実施例によれば、光モジュールの検出信号を使うことによって、ファイバチャネルカード上のROMにあるSANブートに必要なパラメータデータの保存とファイバチャネルカードの故障交換後のパラメータデータ復元の実行のための指示の生成を自動化する。
更に他の実施例によれば、一枚のファイバチャネルカード上のROMに、システム内にある全てのファイバチャネルカードのパラメータデータを格納する。その結果一枚のファイバチャネルカードの復元操作だけで複数のファイバチャネルカードのパラメータデータ復元を自動的に実行し得るようにする。
なお本明細書を通じ、ROMとは、例えばリード、ライト、消去が可能な周知のFLASH−ROM、EEPROM等を意味する。
以下に各実施例につき、図とともに詳細に説明する。
図1は各実施例による情報処理システムの構成を説明するためのブロック図である。この情報処理システムはインタフェースとしてファイバチャネルを使用したSAN環境を有する。サーバ10はファイバチャネルスイッチ200を介してRAID装置100に接続される。またサーバ10はファイバチャネルスイッチ200との接続を行うための構成を有するファイバチャネルカード20を搭載する。
この情報処理システムはSANブートの機能を有する。このためファイバチャネルカード20はRAID装置100からのOSブートを可能にするためのブートコードを搭載している。すなわち、サーバ10からブートコードを使って接続するRAID装置100に関する情報(以下「SANブートに必要な設定情報」と称する)を予めファイバチャネルカード20に、上記ブートコードとともに設定しておく。この設定は例えば操作者がサーバのファームウェアを使用して行うことが可能である。ここでSANブートに必要な設定情報は、例えばRAID装置のWWN(World Wide Name)、そのディスクのTarget ID情報、トポロジー情報、Link Speed情報等を含む。ここで上記WWNは外部記憶装置としてのRAID装置を特定する装置固有の情報であり、上記Target ID情報はRAID装置が有するドライブ装置を個別に特定する識別情報である。またトポロジー情報はインタフェースとしてのファイバチャネルの接続形態を示す情報である。またLink Speed情報は、インタフェースとしてのファイバチャネルの速度を示す速度情報である。
図2はサーバ10の内部構成を示すブロック図である。
図2に示される如くサーバ10はCPU11、FROM12,システムコントローラ13,メモリアクセスコントローラ14,主記憶装置15,モニタリングバスコントローラ16,I/Oコントローラ17、クロスバスイッチ18を有する。なお本明細書を通じFROMはフラッシュROMを示す。
上記システムコントローラ13はCPU11と各種コントローラ14,16,17,メモリ12等との間の通信を制御する。FROM12にはシステムファームウェアとしてのOBP(Open Boot Programmable ROMを意味し、以下システムファームウェアと称する)を搭載する。メモリアクセスコントローラ14は主記憶装置15へのアクセスを制御する。モニタリングバスコントローラ16はシステム制御装置としてのサービスプロセッサ(以下単にSVPと称する)50を介したバス状態監視機能を提供する。I/Oコントローラ17はPCIバスとのインタフェースを提供する。
図3A、図3Bはサーバ10内の制御プログラムの起動の流れとその構成を示す。 サーバ10においてCPU11がFROM12からシステムファームウェアを読み込み主記憶装置15に展開する。図3Aに示す如く、このシステムファームウェアがファイバチャネルカード20内のROMであるFROM21(以下単にROM21と称する)からブートコードを読み込み主記憶装置15に展開する。次にこのブートコードに基づいてシステムファームウェアがファイバチャネルカード20のコントローラ22を制御する。その結果サーバ10は上記ファイバチャネルスイッチ200を介してRAID装置100にアクセスし、RAID装置100からOSデータを読み込む。このOSデータは主記憶装置15に展開される。その後CPU11はこのOSデータを使用してOSを起動する。以後サーバ10は起動されたOSの制御下に入る。このようにしてOSが起動された後は、図3Bに示される如く、OS上で動作するドライバがファイバチャネルカード20のコントローラ22を制御する。その結果サーバ10はファイバチャネルスイッチ200を介しRAID装置100にアクセスし得る。
次に図4乃至図7とともに実施例1について説明する。
図4は実施例1に係るファイバチャネルカード20の構成を示すブロック図である。
図4に示される如く、実施例1のファイバチャネルカード20はコントローラ22およびROM21を有する。なおファイバチャネルカード20は周知技術のファイバチャネルカードと同様の構成を有することが可能であり、詳細な説明を省略する。ここでSANブートに必要な設定情報がROM21に記録されている。
ファイバチャネルコントローラ22はファイバチャネルスイッチ200との間を接続するファイバチャネルケーブル80を接続するための光モジュール31を有する。光モジュール31は上記の如く脱着式の光モジュールであり、ファイバチャネルカード20から挿抜可能な構成を有する。この光モジュール31との間にはファイバチャネル信号を伝送する信号パス23とは別に、光モジュール31に関する情報を確認するために使用するI2C(以下、SFP用のI2Cと称する場合がある)のパス24が設けられる。またサーバ10のシステムファームウェアを使用して、ファイバチャネルコントローラ22を介したROM20に対するリード・ライトのためのリード・ライトコマンドを使用することができる。これらのコマンドを使用することでROM21へのパラメータデータの設定、ROM21からのパラメータデータの読み出しが可能となる。
実施例1ではROM21に格納された上記ブートコードに基づき、上記I2Cのパス24を使用してSANブートに必要な設定情報のパラメータデータをROMモジュール32の内蔵ROM32a(図5A等参照)へ書き込む。この動作はサーバ10のシステムファームウェアがSFP用のI2Cのライトコマンドを使用して行う。ここでROMモジュール32とは上記内蔵ROM32aを有し、光モジュール31と交換可能な構造を有し、I2Cのインタフェースを有する。上記書き込み動作は光モジュール31をROMモジュール32に交換した状態で行う。ROMモジュール32も光モジュール31同様の脱着式のモジュールであり、ファイバチャネルカード20から挿抜可能な構成とされる。すなわちファイバチャネルカード20に対しROMモジュール32と光モジュール31とは相互に交換可能である。
すなわち実施例1ではROM21に保存されているSANブートに必要な設定情報たる、接続先RAID装置100のWWN、RAID装置100のTarget ID、Link Speed等の各パラメータデータを取り出す。そして取り出したパラメータデータをROMモジュール32の内蔵ROM32aへ保存する。上記保存されたパラメータデータを読み出す際には、ファイバチャネルカード20にROMモジュール32を装着し、ブートコードに基づいてサーバ10のシステムファームウェアがI2Cのリードコマンドを使用して行う。このようにしてROMモジュール32の内蔵ROM32aからパラメータデータを読み込み、ROM21へ書き込むことができる。この読み出し・書き込み動作はシステムファームウェアからの指示によりファイバチャネルコントローラ22が自動的に実行する。
このように実施例1によればSANブートに必要な設定情報たるパラメータデータをROMモジュール32の内蔵ROM32aへ保存することができ、ROMモジュール32の内蔵ROM32aからROM21へ復元できる。その結果ファイバチャネルカード20が故障し、新たなファイバチャネルカードに交換されたような場合、当該新たなファイバチャネルカードに上記ROMモジュール32を装着する。その状態でサーバ10のシステムファームウェアがROMモジュール32の内蔵ROM32aからパラメータデータを読み込み、当該新たなファイバチャネルカードのROM21へ書き込む。この読み込み・書き込み動作はシステムファームウェアが当該新たなファイバチャネルカードのファイバチャネルコントローラ22に指示することで実現される。その結果パラメータデータを復元することができる。このように実施例1によれば、SANブートに必要な設定情報をファイバチャネルカード20の外に保持し、これを使用して交換後のファイバチャネルカードにおいて復元することが可能となる。その結果ファイバチャネルカード20の故障時の情報の引継ぎを容易に実現し得る。またこの情報の引き継ぎの動作はサーバ10のシステムファームウェアがファイバチャネルコントローラ22に指示することで自動的になされる。このため情報の引継ぎを人為的に行う場合に生じ得る情報の設定ミスを効果的に防止可能である。
すなわち実施例1によれば、SANブートに必要な設定情報たるパラメータデータを一般的なインタフェース(具体的には上記I2C)を経由して別の箇所(具体的にはROMモジュール32の内蔵ROM32a)へ退避しておく。ファイバチャネルカード20の交換後は当該別の箇所から、前記退避したパラメータデータを読み込むことにより環境を引き継がせる。
すなわち実施例1によれば、ファイバチャネルによる通信用信号とは別に設けられた、光モジュール31に関する情報の確認のために使われるI2Cインタフェース24に、I2Cインタフェースに対応したROMモジュール32を接続する。具体的には図5Aに示す如く、ファイバチャネルカード20に装着されている光モジュール31を取り外し、ROMモジュール32に交換する。その状態でROM21にあるパラメータデータを、当該接続したROMモジュール32の内蔵ROM32aへ保存する。すなわちI2Cのライトコマンドを使用することによりROM21から読み込んだパラメータデータを、上記交換に係るROMモジュール32が内蔵するROM32aへ書き込む。
サーバ10のファイバチャネルカード20が新たなファイバチャネルカード20'に交換された後は、当該新たなファイバチャネルカード20'の光モジュール31を一旦上記ROMモジュール32に交換する(図5B)。その状態でI2Cリードコマンドを使うことにより当該ROMモジュール32から上記の如く内蔵するROM32aに書き込まれたパラメータデータを読み出す。読み出されたパラメータデータは上記新たなファイバチャネルカード20'のROM21に書き込まれる。この動作により、前記交換後の新たなファイバチャネルカード20'のROM21へ、前記交換前のファイバチャネルカード20のROM21に格納されていたパラメータデータを引き継がせることができる。上記パラメータデータの新たなファイバチャネルカード20'のROM21への書き込みの終了後、前記ROMモジュール32を当該新たなファイバチャネルカード20'から取り外す。そして当該ファイバチャンネルカード20'に元々装着されていた光モジュール31を同ファイバチャネルカード20'に元通りに装着する。その結果当該新たなファイバチャネルカード20'は、そのROM21に書き込まれたパラメータデータを使用することにより、前記交換前のファイバチャネルカード20の場合同様、サーバ10のSANブートを実行し得る。
以下図6,7を上記図5A,5Bとともに参照し、実施例1の作用効果を更に詳細に説明する。
まずファイバチャネルカード20のパラメータデータのバックアップ動作につき説明する。
最初に管理者はサーバ10が接続する接続先のRAID装置100を確認する(図6中、ステップS31)。その後管理者は当該ファイバチャネルカード20をサーバに搭載する(ステップS32)。その後管理者は管理用端末60を使用してシステムファームウェアを起動する(ステップS33)。起動後、管理用端末60を使用して管理者は当該接続先のRAID装置100に係る、SANブートに必要な設定情報たるパラメータデータをファイバチャネルカード20に設定する操作を行う(ステップS34)。
次に管理者はサーバ10のファイバチャネルカード20に搭載された光モジュール31をROMモジュール32へ交換する(ステップS35)。その後管理者が管理用端末60からシステムファームウェアでファイバチャネルカード20のROM21内のブートコードを指示する。指示されたブートコードに基づき、ファイバチャネルコントローラ21のROMリードコマンドとPCIもしくはPCI−Expressのリードコマンドを使い、ファイバチャネルカード20のROM21からパラメータデータがサーバ10へ読み込まれる。PCIもしくはPCI−Expressのライトコマンドを使って、当該読み込まれたパラメータデータがファイバチャネルコントローラ22へ書き込まれる。ファイバチャネルコントローラ22にパラメータデータが書き込まれた後、上記指示に係るブートコードに基づき、I2Cのライトコマンドを使って、前記書き込まれたパラメータデータがファイバチャネルコントローラ22とファイバチャネルカードのI2Cのパスを経由し、前記交換に係るROMモジュール32の内蔵ROM32aへ書き込まれる(以上ステップS36)。
パラメータデータのROMモジュール32の内蔵ROM32aへ書き込み後、管理者はサーバ10に搭載されたファイバチャネルカード10に装着されたROMモジュール32を元の光モジュール31へ交換する(ステップS37)。その後ROMモジュール32は保管される。
その後管理者は管理用端末60を操作し、SANブートにてサーバ10上でOSを起動する(ステップS38)。当該SANブートでは上記SANブートに必要な設定情報たるパラメータデータがファイバチャネルカード20のROM21から読み込まれる。読み込まれたパラメータデータに基づいて前記接続先のRAID装置100からOSデータを読み出すことによりSANブートが実行される。
次に、ファイバチャネルカード交換後のパラメータデータのリカバリ動作内容について説明する。
図7においてファイバチャネルカード20の故障時(ステップS41)、管理者はサーバ10に搭載された同ファイバチャネルカード20を新たなファイバチャネルカード20'に交換する(ステップS42)。その後管理者は管理用端末60を操作し、サーバ10のシステムファームウェアを起動する(ステップS43)。
管理者は更に、交換後の新たなファイバチャネルカード20'の光モジュール31を、上記保管に係るROMモジュール32に交換する(ステップS44)。
その後管理者は管理用端末60からシステムファームウェアでファイバチャネルカード20'のROM21内のブートコードを指示する。指示されたブートコードはI2Cのリードコマンドを使って以下の動作を行う。すなわち前記交換されたROMモジュール32の内蔵ROM32aからSFP用のI2Cを経由して前記交換後の新たなファイバチャネルカード20'のファイバチャネルコントローラ22へパラメータデータを読み込む。 次にPCI、あるいはPCI−Expressのリードコマンドを使ってファイバチャネルコントローラ22からサーバ10へ当該パラメータデータが読み込まれる。そしてファイバチャネルコントローラ22のROMライトコマンドとPCIもしくはPCI−Expressのライトコマンドを使って、当該パラメータデータが、前記新たなファイバチャネルカード20'のROM21へ書き込まれる(以上ステップS45)。
その後新たなファイバチャネルカード20'に装着されたROMモジュール32を光モジュール31へ交換して元通りにする(ステップS46)。当該ROMモジュール32は再び保管しておく。
その後管理者は管理用端末60を操作し、SANブートにてサーバ10上でOSを起動する(ステップS47)。当該SANブートでは上記SANブートに必要な設定情報たるパラメータデータがファイバチャネルカード20'のROM21から読み込まれる。読み込まれたパラメータデータに基づいて前記接続先のRAID装置100からOSデータを読み出すことによりSANブートが実行される。
このように実施例1では、光モジュール31と交換可能でI2Cインタフェースに接続できるROM32aを内蔵したROMモジュール32を用いる。すなわちパラメータデータを格納できる素子としてのROMモジュール32を接続する。
またファイバチャネルコントローラ22と光モジュール31の間に接続用のI2Cインタフェースは本来光モジュール31の状態や情報確認に用いる。このI2Cインタフェースを、交換後のROMモジュール32に対するパラメータデータの読み書きに使用する。
又ROM21のパラメータデータを読み書きできる機能はブートコードが有する。このブートコードによる、I2Cのリード・ライトコマンドを使用してROMモジュール32の内蔵ROM32aに対するパラメータデータの読み書きの自動実行が可能となる。なお、パラメータデータの読み書き指示は、ブートコードの制御コマンドを使用してサーバ10から手動で行う。
実施例1によれば、ROMモジュール32の交換とシステムファームウェア上での制御コマンド操作により、以下の動作を実施する。すなわちSANブートに必要は設定情報としてのパラメータデータのバックアップおよびファイバチャネルカード交換後にROM21への同パラメータデータのリカバリを行う。その結果ファイバチャネルカードの交換時に管理者自身が構成情報の確認を行ったりパラメータデータを入力する必要がなくなり、作業が短縮できる。実施例1ではサーバ10に搭載されているファイバチャネルカード20のパラメータデータをROMモジュール32の内蔵ROM32aに保持しておくことにより、ファイバチャネルカードの故障交換後においても設定情報が正確に保持され、作業ミスの回避ができる。
すなわち実施例1では、本来光モジュール31の情報確認に用いていたファイバチャネルコントローラ20と光モジュール31との間のI2Cインタフェースを利用する。光モジュール31と交換可能なI2C接続できるROMモジュール32と接続することにより、ROMモジュール32を、SANブートに必要な設定情報としてのパラメータデータの保存に用いる。なお、ファイバチャネルコントローラ22と光モジュール31との間のデータの読み書きは、システムファームウェア上で実行されるブートコードにより自動的に実行される。この場合I2Cのリード・ライトコマンドが使用される。
次に図8乃至11とともに実施例2について説明する。
実施例2の構成は上記実施例1の構成と同様であり、主に異なる部分について説明する。
上記の如く、ファイバチャネルカード20のROM21に、SANブートに必要な設定情報を記録しておく。サーバ10にはPCI、PCI−Expressのデータ信号のパス41とは別に、ファイバチャネルカード20上のファイバチャネルコントローラ22の情報を確認するために使用するI2Cのパス42がある。またサーバ10のSVP50から、ファイバチャネルコントローラ22のROMリード・ライトコマンドを使用してROM21へパラメータデータを設定したり、読み出したりすることができる。
実施例2ではROM21にあるパラメータデータを、サーバ10のSVP50がPCI、PCI−Expressバスに係るI2Cのリードコマンドを使用してI2Cパス経由でサーバのSVP50に読み込む。このようにしてROM21に保存されているSANブートに必要な設定情報たる接続先RAID装置のWWN、RAID装置のTarget ID情報、Link Speed等の各パラメータデータを取り出し、サーバ10内へ保存する。又必要な場合、SVP50上で実行するI2Cのライトコマンドを使用してサーバ10からI2Cパスを経由してパラメータデータをファイバチャネルカード20のROM21へ書き込む。
すなわち実施例2では、SANブートに必要な設定情報たるパラメータデータをサーバ10へ保存しておき、同保存に係るパラメータデータを使用し、サーバ10からファイバチャネルカード20のROM21へ同データを復元する。このため、ファイバチャネルカード20故障交換後はSVP50上でサーバ10からパラメータデータをROM21へ書き込む操作をSVP50上から指示する。その結果パラメータデータを復元できる。このように実施例2ではSANブートに必要な設定情報を保持し復元する。その結果ファイバチャネルカード20故障時の情報引継ぎを容易に実施し得る。また、情報引継ぎ時の設定ミスを確実に防ぎ得る。
すなわち実施例2では、PCI、PCI−Express信号のインタフェースとは別にある、ファイバチャネルカード20の情報確認等で使われるI2Cインタフェースを使う。そしてこのI2Cインタフェースを使用し、ファイバチャネルカード20上のROM21にあるパラメータデータを読み込み、これをサーバ10へ保存する。すなわちI2Cのリードコマンドとファイバチャネルコントローラ22のROMリードコマンドを使ってROM21からパラメータデータをサーバ10へ読み込む。ファイバチャネルカード20交換後はI2Cのライトコマンドを使うことによりサーバ10から当該交換後の新たなファイバチャネルカード20'のファイバチャネルコントローラ22へとパラメータデータを書き込む。そしてファイバチャネルコントローラのROMライトコマンドを使うことにより、当該新たなファイバチャネルカード20'のROM21へパラメータデータを書き込む。この動作を行うことで、交換した新たなファイバチャネルカード20'上へ、交換前のファイバチャネルカード20のパラメータデータを引き継がせる。
図8乃至11とともに、実施例2に係る動作につき、詳細に説明する。
まずファイバチャネルカード20のパラメータデータのバックアップ動作を説明する。
最初に管理者はサーバ10が接続する接続先のRAID装置100を確認する(図10中、ステップS51)。その後管理者は当該ファイバチャネルカード20をサーバ10に搭載する(ステップS52)。その後管理者は管理用端末60を使用してシステムファームウェアを起動する(ステップS53)。起動後、管理用端末60を使用して管理者は当該接続先のRAID装置100に係る、SANブートに必要な設定情報たるパラメータデータをファイバチャネルカード20に設定する操作を行う(ステップS54)。
次に管理者が管理用端末60からサーバ10のSVP50でファイバチャネルカード20上のファイバチャネルコントローラ20のROMリードコマンドとI2Cのリードコマンドを指示する。指示されたコマンドにしたがって、サーバ10とファイバチャネルカード20との間のI2Cを経由し、ファイバチャネルカード20上のROM21からパラメータデータがサーバ10へ読み込まれ、サーバ20にある、システムファームウェア管理下又はSVP50管理下のROMへ保存される(以上ステップS55)。
その後管理者は管理用端末60を操作し、SANブートにてサーバ10上でOSを起動する(ステップS56)。当該SANブートでは上記SANブートに必要な設定情報たるパラメータデータがファイバチャネルカード20のROM21から読み込まれる。読み込まれたパラメータデータに基づいて前記接続先のRAID装置100からOSデータを読み出すことによりSANブートが実行される。
次にファイバチャネルカード20交換後のパラメータデータのリカバリ動作を説明する。
図11においてファイバチャネルカード20の故障時(ステップS61)、管理者はサーバ10に装着された同ファイバチャネルカード20を新たなファイバチャネルカード20'に交換する(ステップS62)。その後管理者は管理用端末60を操作し、サーバ10のシステムファームウェアを起動する(ステップS63)。
その後管理者が管理用端末60からSVP50でI2Cのライトコマンドとファイバチャネルコントローラ22のROMライトコマンドを指示する。指示されたコマンドにしたがって、SVP50は、上記保存に係るパラメータデータを読み込み、これをI2C経由で新たなファイバチャネルカード20'のROM21へ書き込む(ステップS64)。上記保存に係るパラメータデータとは、図10とともに上記した動作により、システムファームウェア管理下又はSVP50管理下のROMに保存されたパラメータデータである。その後管理者は管理用端末60を操作し、SANブートにてサーバ10上でOSを起動する(ステップS65)。
サーバ10と新たなファイバチャネルカード20'のファイバチャネルコントローラ22との間にあるI2Cパス42は本来ファイバチャネルコントローラ22の状態監視に用いる。しかしながらこの場合、このI2Cパス42を使用して、ファイバチャネルカードのROM21のパラメータデータの読み書きを行う。そのためにはサーバ10がI2Cを経由してファイバチャネルカードのROM21に対しパラメータデータを読み書きできるようにする必要がある。そのため、サーバ10のSVP50が、ROM21に対するパラメータデータの読み書きをI2Cのリード・ライトコマンドを使って自動的に行うようにする。このようにしてパラメータデータの保存と復元を実現する。なお、パラメータデータの読み書きを実行する旨の指示が自動的に出されるようにすることが可能である。すなわちSVP50による、ファイバチャネルカード20が交換されたことの検出、および設定情報の検出を行う機能を用いる。これらの機能により、ファイバチャネルカード20が交換されたことの検出、および設定情報の検出がなされた際に、自動的にパラメータデータの読み書きを実行する旨の指示が出されるようにすることが可能である。
実施例2によれば、SANブートに必要な設定情報を格納したファイバチャネルカード20が故障した場合、サーバ10のSVP50上で制御コマンドを操作することで以下の動作を実行させることが可能である。すなわちSANブートに必要な設定情報たるパラメータデータのバックアップを行い、ファイバチャネルカード20の交換後に新たなファイバチャネルカード20'のROM21へのリカバリを行う。その結果、ファイバチャネルカード20交換時に構成情報の確認や、パラメータデータを入力する必要がなくなり、作業が短縮できる。またサーバ10に搭載されているファイバチャネルカード20のパラメータデータを、サーバ10(実際には上記の如く、システムファームウェア管理下又はSVP50管理下のROM)で保持する。その結果、ファイバチャネルカード20の故障交換後においても設定情報が正確に保持され、作業ミスの回避ができる
実施例2では、ファイバチャネルカード20のファイバチャネルコントローラ22が情報確認に用いているPCI、PCI−ExpressバスにあるI2Cインタフェースを、パラメータデータの読み書きに使う。このようにしてSANブートに必要な設定情報たるパラメータデータのサーバ10への保存と、同パラメータデータの新たなファイバチャネルカード20'上への復元を行う。サーバ10とファイバチャネルコントローラとの間のデータの読み書きは、サーバ10のSVP50がI2Cのリード・ライトコマンドを使用して行う。なお、SVP50はファイバチャネルカード20の交換とパラメータデータの存在とを自動的に検出する機能を有している。
したがってSVP50は、サーバ10に搭載されたファイバチャネルカード20が新たなファイバチャネルカード20'に交換されたことを検出し、またシステムファームウェア管理下又はSVP50管理下のROMにパラメータデータが保存されていることを検出する。これらの検出がトリガとされ、SVP50は、前記パラメータデータをシステムファームウェアの管理下又はSVP50管理下のROMから読み出し、これを前記交換に係るファイバチャネルカード20'のROM21に書き込む。すなわち実施例2では、SANブートに必要な設定情報たるパラメータデータの復元の動作を全自動化する。
また実施例2では更に、パラメータデータの保存の自動化も行っている。すなわちサーバ10に搭載された第1のファイバチャネルカードが第2のファイバチャネルカードに交換された場合であって、第2のファイバチャネルカードのROM21には既にパラメータが設定されていた場合である。この場合、SVP50は当該ファイバチャネルカードの交換を検出するとともに、第2のフィアバチャネルカード上のROM21にパラメータデータが格納されていることを検出する。これらの検出がトリガとされ、SVP50は、第2のファイバチャネルカード上のROM21からパラメータデータを読み出す。SVP50は上記読み出したパラメータデータをシステムファームウェアの管理下又はSVP50管理下のROMに書き込む。すなわち実施例2では、SANブートに必要な設定情報たるパラメータデータの保存の動作を全自動化する。
以下に図12乃至15とともに実施例3につき説明を行う。
実施例3の構成は上記実施例1の構成と同様であり、主に異なる部分について説明する。
上記の如く、ファイバチャネルカード20のROM21に、SANブートに必要な設定情報を記録しておく。ファイバチャネルカード20のファイバチャネルコントローラ22と光モジュール31との間にはファイバチャネル信号を伝送する信号パスとは別に、光モジュール31の情報を確認するために使用するI2Cのパスがある。光モジュール31の中にあるROM31aには、光モジュール31の型格情報(すなわちメーカ名およびメーカ型番)と状態情報とが格納されている。またサーバ10のシステムファームウェアから、ファイバチャネルコントローラ22のROMリード・ライトコマンドを使用してROM21へパラメータデータを設定したり、読み出したりすることができる。
実施例3ではファイバチャネルカード20のROM21にある、システムファームウェアで実行するブートコードにより、SFP用のI2Cのライトコマンドを使用してパラメータデータを光モジュール31内のROM31aへ書き込む。すなわちROM21に保存されているSANブートに必要な設定情報たる各パラメータデータを取り出す。そして取り出されたパラメータデータは光モジュール31内のROM31aへ保存される。なお上記パラメータデータは例えば接続先RAID装置のWWN、RAID装置のTarget ID情報、Link Speed等を有する。
あるいはシステムファームウェア上で実行するブートコードにより、SFP用のI2Cのリードコマンドを使用して光モジュール31内のROM31aからパラメータデータが読み込まれる。読み込まれたパラメータデータはファイバチャネルカード20上のROM21に書き込まれる。
実施例3によれば、パラメータデータを光モジュール31の内蔵ROM31aへ保存する。当該パラメータデータを、内蔵ROM31aからファイバチャネルカード20のROM21へ復元する。このため、ファイバチャネルカード20の故障交換後は、サーバ10のシステムファームウェアを使用して、光モジュール31のROM31aからパラメータデータを読み込む。そして読み込まれたパラメータデータを交換後の新たなファイバチャネルカード20'のROM21へ書き込む。この読み込み・書き込み動作は、管理者がサーバ10のシステムファームウェアを使用して指示することにより実行させることができる。その結果ファイバチャネルカード20の交換時にも容易にパラメータデータを復元できる。したがって実施例3によれば、SANブートに必要な設定情報を格納したファイバチャネルカード20の設定情報が保持及び復元され、ファイバチャネルカード20の故障時の情報引継ぎを容易になし得る。また、情報引継ぎ時の設定ミスを効果的に防ぎ得る。
すなわち実施例3では、ファイバチャネル通信用のインタフェースとは別にある光モジュールの情報確認で使われるI2Cインタフェースと接続している光モジュール31内のROM31aを使用する。当該ROM31aにファイバチャネルカード20のROM21にあるパラメータデータを保存する。すなわちI2Cのライトコマンドを使用することにより、ROM21から読み込んだパラメータデータを光モジュール31内のROM31aへ書き込む。ファイバチャネルカード20の交換後は以下の動作を行う。I2Cのリードコマンドを使い、交換前のファイバチャネルカード20に装着されていた光モジュール31のROM31aから、当該交換前のファイバチャネルカードのパラメータデータを読み込む。読み込まれたパラメータデータは交換後の新たなファイバチャネルカード20'のROM21へ書き込まれる。この動作により、交換後の新たなファイバチャネルカード20'へ、交換前のファイバチャネルカード20のパラメータデータを引き継がせる。
以下実施例3の動作につき、図12乃至15とともに、詳細に説明する。
まずファイバチャネルカード20のパラメータデータのバックアップ動作につき説明する。
最初に管理者はサーバ10が接続する接続先のRAID装置100を確認する(図14中、ステップS71)。その後管理者は当該ファイバチャネルカード20をサーバ10に搭載する(ステップS72)。その後管理者は管理用端末60を使用してシステムファームウェアを起動する(ステップS73)。起動後、管理用端末60を使用して管理者は当該接続先のRAID装置100に係る、SANブートに必要な設定情報たるパラメータデータをファイバチャネルカード20に設定する操作を行う(ステップS74)。
次に管理者が管理用端末60からサーバ10のシステムファームウェアを使用してファイバチャネルカード20のROM21に格納されたブートコードを指示する。指示されたブートコードによりファイバチャネルカード20のROM21からパラメータデータがサーバ10へ読み込まれる。この場合ファイバチャネルコントローラ22のROMリードコマンドとPCIもしくはPCI−Expressのリードコマンドが使われる。PCIもしくはPCI−Expressのライトコマンドを使って、上記読み込まれたパラメータデータがファイバチャネルコントローラ22へ書き込まれる。ファイバチャネルコントローラ22にパラメータデータが書き込まれると、前記ブートコードにより、I2Cのライトコマンドを使って、前記読み込まれたパラメータデータがファイバチャネルカード20に装着されている光モジュール31内のROM31aへ書き込まれる。この書き込み動作はファイバチャネルコントローラ22とファイバチャネルカード20のSFP用のI2Cを経由してなされる(以上ステップS75)。
その後管理者は管理用端末60を操作し、SANブートにてサーバ10上でOSを起動する(ステップS76)。当該SANブートでは上記SANブートに必要な設定情報たるパラメータデータがファイバチャネルカード20のROM21から読み込まれる。読み込まれたパラメータデータに基づいて前記接続先のRAID装置100からOSデータを読み出すことによりSANブートが実行される。
次にファイバチャネルカードへのパラメータデータの復元動作を説明する。
図15においてファイバチャネルカード20の故障時(ステップS81)、管理者はサーバ10に装着されている同ファイバチャネルカード20を新たなファイバチャネルカード20'に交換する(ステップS82)。ここで管理者は同ファイバチャネルカード20の交換の際、当該元のファイバチャネルカード20から光モジュール31を取り外し、これを新たなファイバチャネルカード20'に装着する。その後管理者は管理用端末60を操作し、サーバ10のシステムファームウェアを起動する(ステップS83)。
次に管理者が管理用端末60からシステムファームウェアを使用してファイバチャネルカード20'のROM21に格納されたブートコードを指示する。指示されたブートコードにより、I2Cリードコマンドを使って、光モジュール31のROM31aから、SFP用のI2Cを経由してファイバチャネルコントローラ22へパラメータデータが読み込まれる。この場合の光モジュール31は、上記元のファイバチャネルカード20から取り外され、当該新たなファイバチャネルカード20'に装着された光モジュール31である。次にPCI, PCI−Expressのリードコマンドを使って、ファイバチャネルコントローラ22からサーバ10へ上記パラメータデータが読み込まれる。読み込まれたパラメータデータは、当該交換後の新たなファイバチャネルカード20'のROM21へ書き込まれる。この書き込み動作には、ファイバチャネルコントローラ22のROMライトコマンドとPCIもしくはPCI−Expressのライトコマンドが使われる(以上ステップS84)。
その後管理者は管理用端末60を操作し、SANブートにてサーバ10上でOSを起動する(ステップS85)。当該SANブートでは上記SANブートに必要な設定情報たるパラメータデータがファイバチャネルカード20'のROM21から読み込まれる。読み込まれたパラメータデータに基づいて前記接続先のRAID装置100からOSデータを読み出すことによりSANブートが実行される。
実施例3によれば、パラメータデータを格納できる素子として、光モジュール31内のROM31aを用いる。
またファイバチャネルコントローラ22と光モジュール31との間に接続されているI2Cインタフェースは本来光モジュールの状態や情報確認に用いられる。実施例3ではこのI2Cインタフェースをパラメータデータの読み書きに使用する。
ここでROM21のパラメータデータを読み書きできる機能はブートコードが有する。更にコントローラ22とSFP用のI2Cを経由して光モジュール31のROM31aにパラメータデータを読み書きする機能をブートコードに設ける。その結果ブートコードによる、I2Cのリード・ライトコマンドを使用した、光モジュール31のROM31aにあるパラメータデータの読み書きの自動化が実現される。なお、パラメータデータの読み書きを実行する旨の指示は、ブートコードの制御コマンドを使用してサーバから手動でなされる。
実施例3によれば、システムファームウェアを使用した制御コマンドの操作により、SANブートに必要な設定情報たるパラメータデータのバックアップを自動で行う。またファイバチャネルカード20交換後に、新たなファイバチャネルカード20'のROM21への上記パラメータデータのリカバリを自動で行う。その結果ファイバチャネルカード20交換時に構成情報の確認や、パラメータデータを入力する必要がなくなり、作業短縮ができる。
実施例3ではサーバ10に搭載されているファイバチャネルカード20のパラメータデータを光モジュール31のROM31aに保持しておく。その結果、ファイバチャネルカード20の故障交換後においても、設定情報が新たなファイバチャネルカード20'に正確に引き継がれ、作業ミスの回避ができる。
実施例3では、本来光モジュールの情報確認に用いていたファイバチャネルコントローラ22と光モジュール31との間にあるI2Cインタフェースを、パラメータデータの転送に使用する。すなわちこのI2Cインタフェースを、光モジュール31のROM31aを使った、SANブートに必要な設定情報たるパラメータデータの保存、復元に用いる。なお、ファイバチャネルコントローラ22と光モジュール31との間のデータの読み書きは、サーバ10のシステムファームウェアによって実行されるブートコードが、I2Cのリード・ライトコマンドを使って実行する。
次に図16乃至19とともに実施例4につき説明を行う。
実施例4の構成は上記実施例1の構成と同様であり、主に異なる部分について説明する。
上記の如くファイバチャネルカード20のROM21にSANブートに必要な設定情報を記録しておく。ファイバチャネルコントローラ22と光モジュール31との間にはファイバチャネル信号を伝送する信号パス23とは別に、光モジュール31の情報を確認するために使用するI2Cのパス24がある。サーバ10のシステムファームウェアから、ファイバチャネルカード20のファイバチャネルコントローラ22のROMリード・ライトコマンドを使用して以下の動作を行い得る。すなわちファイバチャネルカード20上のROM21へパラメータデータを設定したり、ROM21からパラメータデータを読み出したりする。また、実施例4では、ファイバチャネルコントローラ22と光モジュール31との間に検知信号のパス25が設けられる。この検知信号の電圧レベルを確認することによって、システムファームウェアは光モジュール31のファイバチャネルカード20に対する抜き差し状態を確認し得る。
実施例4では、ROM21にある、システムファームウェアで実行するブートコードにより、SFP用のI2Cのライトコマンドを使用してパラメータデータをROMモジュール32の内蔵ROM32aへ書き込む。すなわちROM21に保存されているSANブートに必要な設定情報たる接続先RAID装置のWWN、RAID装置のTarget ID情報、Link Speed等の各パラメータデータをROM21から取り出す。そして取り出されたパラメータデータは、光モジュール31と交換可能なI2Cインタフェースに接続できるROMモジュール32の内蔵ROM32aへ保存する。
あるいはこのROMモジュール32を交換後のファイバチャネルカード20'に装着し、SFP用のI2Cのリードコマンドを使用してROMモジュール32の内蔵ROM32aからパラメータデータを読み込み、そして同パラメータデータを同ファイバチャネルカード20'のROM21へ書き込む。この読み込み・書き込み動作は、システムファームウェア上で実行すされるブートコードにより実行される。
また上記光モジュール31およびこれと交換可能なROMモジュール32の各々に検知信号のパス25を設け、同パスを接地に接続しておく。その結果、ファイバチャネルカードから、光モジュール31あるいはROMモジュール32の挿抜状態の変化が確認できる。この挿抜状態の変化の確認とROMモジュール32の内蔵ROM32aの格納データ状態を確認することによって、管理用操作端末60からの管理者による指示が必要なくなる。すなわちサーバ10のシステムファームウェアによる自動制御により、ファイバチャネルカード20からROMモジュール32の内蔵ROM32aへのパラメータデータの保存、及び交換後のファイバチャネルカード20'へのパラメータデータの復元がなされる。実施例4によれば、パラメータデータをROMモジュール32の内蔵ROM32aへ保存することができ、ROMモジュール32の内蔵ROM32aから交換後のファイバチャネルカード20'のROM21へパラメータデータを復元できる。このため、ファイバチャネルカード20の故障交換後は、システムファームウェアによりROMモジュール32の内蔵ROM32aからパラメータデータを読み込み、交換後の新たなファイバチャネルカード20'のROM21へ書き込む。この読み込み・書き込み動作は、システムファームウェアが、上記検知信号の変化をトリガとして自動的に指示することで実現される。このようにして新たなファイバチャネルカード20'においてパラメータデータを復元できる。その結果SANブートに必要な設定情報を格納したファイバチャネルファイバチャネルカード20の設定情報を容易に保持及び復元することができ、ファイバチャネルカード20の故障時の情報引継ぎを容易になし得る。また情報引継ぎ時の設定ミスを効果的に防ぎ得る。
すなわち実施例4では、ファイバチャネル通信用のインタフェースとは別にある、光モジュール31の情報確認で使われるI2CインタフェースにI2Cインタフェースに対応したROMモジュール32を接続する。そしてファイバチャネルカード20内のROM21にあるパラメータデータを、当該接続したROMモジュール32の内蔵ROM32aへ保存する。この場合、I2Cライトコマンドを使用することにより、ROM21から読み込んだパラメータデータを、光モジュール31と交換したROMモジュール32の内蔵ROM32aへ書き込む。そしてファイバチャネルカード20の交換後は、I2Cリードコマンドを使うことにより、上記ROMモジュール32の内蔵ROM32aからパラメータデータを読み込む。そして交換後の新たなファイバチャネルカード20'内のROM21へ、上記パラメータデータを書き込む。この動作により、交換後の新たなファイバチャネルカード20'上へ、交換前のファイバチャネルカード20のパラメータデータを引き継がせる。また、上記の動作を、上記光モジュール31あるいはROMモジュール32の検知信号のパス25を使うことで、サーバ10のシステムファームウェアによる自動制御で実行させることができる。
すなわち上記検知信号のパス25の検知信号が開放レベル(すなわち未接続状態)から接地レベル(すなわち接続状態)になった場合の検知信号の状態変化をシステムファームウェアがトリガとして使用する。すなわちファイバチャネルカード20から光モジュール31が取り外され、その代わりにROMモジュール32が装着された場合、装着後のROMモジュール32が接続状態となる。その結果前記検知信号のパス25が接地レベルとなり、システムファームウェアはこのようにしてROMモジュール32に交換されたことを検知する。
すなわちパラメータデータの保存時には、システムファームウェアは前記検知信号のレベルにより、ファイバチャネルカード20上で光モジュール31がROMモジュール32に交換されたことを検出する。更にシステムファームウェアはファイバチャネルカード20のROM21にパラメータデータが格納されていることを確認する。それら検出および確認時、これらがトリガとされ、システムファームウェアは自動的にROM21からパラメータデータを読み込み、ROMモジュール32の内蔵ROM32aにこれを書き込む。すなわちパラメータデータの保存が自動的になされる。
又パラメータデータの復元時、システムファームウェアは前記検知信号のレベルにより、ファイバチャネルカード20'上で光モジュール31がROMモジュール32に交換されたことを検出する。更にシステムファームウェアは当該交換に係るROMモジュール32の内蔵ROM32aにパラメータデータが格納されていることを確認する。それら検出および確認時、これらがトリガとされ、システムファームウェアは自動的にROMモジュール32の内蔵ROM32aからパラメータデータを読み込み、フィアバチャネルカード20'のROM21にこれを書き込む。すなわちパラメータデータの復元が自動的になされる。
以下図16乃至19とともに、実施例4の動作を更に詳細に説明する。
まずファイバチャネルカード20のパラメータデータのバックアップ動作につき説明する。
最初に管理者はサーバ10が接続する接続先のRAID装置100を確認する(図18中、ステップS91)。その後管理者は当該ファイバチャネルカード20をサーバ10に搭載する(ステップS92)。その後管理者は管理用端末60を使用してシステムファームウェアを起動する(ステップS93)。起動後、管理用端末60を使用して管理者は当該接続先のRAID装置100に係る、SANブートに必要な設定情報たるパラメータデータをファイバチャネルカード20に設定する操作を行う(ステップS94)。
次に管理者はサーバ10に搭載されたファイバチャネルカード20の光モジュール31をROMモジュール32へ交換する(ステップS95)。サーバ10のシステムファームウェアが前記検知信号の状態を確認する。その結果検知信号が上記未接続状態(開放レベル)から接続状態(接地レベル)になったことを確認すると、ROMモジュール32の内蔵ROM32aからデータを読み込む動作を行う。同読み込み動作で、システムファームウェアはI2Cのリードコマンドを使う。ここで、ROMモジュール32の内蔵ROM32aには何らデータは書き込まれていない空状態である。この空状態がシステムファームウェアにより確認される。またシステムファームウェアは、ファイバチャネルコントローラ22のROMリードコマンドを使って、ROM21にパラメータが書かれていることを確認する。次にシステムファームウェアがファイバチャネルカード20のROM21からパラメータデータをサーバ10へ読み込む。同読み込み動作ではファイバチャネルコントローラ22のROMリードコマンドとPCIもしくはPCI−Expressのリードコマンドを使う。そしてPCIもしくはPCI−Expressのライトコマンドを使って、読み込んだパラメータデータをファイバチャネルコントローラ22へ書き込む。このようにしてファイバチャネルコントローラ22にパラメータデータを書き込んだ後、システムファームウェアはI2Cのライトコマンドを使って以下の動作を行う。
すなわち当該書き込まれたパラメータデータをファイバチャネルコントローラ22とファイバチャネルカード20のSFP用のI2Cを経由し、前記交換に係るROMモジュール32の内蔵ROM32aへ書き込む。このようにしてパラメータデータがROMモジュール32の内蔵ROM32aへ書き込まれた後、管理者はサーバ10に搭載されたファイバチャネルカード20のROMモジュール32を元の光モジュール31へ交換する(ステップS96)。
管理者はその後当該ROMモジュール32を保管する。
その後管理者は管理用端末60を操作し、SANブートにてサーバ10上でOSを起動する(ステップS97)。当該SANブートでは上記SANブートに必要な設定情報たるパラメータデータがファイバチャネルカード20のROM21から読み込まれる。読み込まれたパラメータデータに基づいて前記接続先のRAID装置100からOSデータを読み出すことによりSANブートが実行される。
次に、ファイバチャネルカード20のパラメータデータが変更された場合のバックアップ動作につき説明する。
上記同様、最初に管理者はサーバ10が接続する接続先のRAID装置100を確認する(図18中、ステップS91)。その後管理者は当該ファイバチャネルカード20をサーバ10に搭載する(ステップS92)。その後管理者は管理用端末60を使用してシステムファームウェアを起動する(ステップS93)。起動後、管理用端末60を使用して管理者は当該接続先のRAID装置100に係る、SANブートに必要な設定情報たるパラメータデータをファイバチャネルカード20に設定する操作を行う(ステップS94)。
管理者はサーバ10に搭載されたファイバチャネルカード20の光モジュール31をROMモジュール32へ交換する。システムファームウェアが検知信号の状態を確認する。検知信号が未接続状態(開放レベル)から接続状態(接地レベル)になったことを確認した場合、システムファームウェアがI2Cのリードコマンドを使ってROMモジュール32の内蔵ROM32aのデータをサーバ10へ読み込む。同時にROMモジュール32の内蔵ROM32aが空状態でないことを確認する。システムファームウェアは次にファイバチャネルカード20のファイバチャネルコントローラ22のROMリードコマンドを使ってROM21にあるパラメータデータをサーバ10へ読み込む。そして前記ROMモジュール32の内蔵ROM32aから読み込んだデータと比較する。両者が異なる内容であることを確認すると以下の動作を行う。
すなわち、システムファームウェアがファイバチャネルカード20のROM21からパラメータデータをサーバ10へ読み込む。同読み込み動作でファイバチャネルコントローラ22のROMリードコマンドとPCIもしくはPCI−Expressのリードコマンドが使われる。そしてPCIもしくはPCI−Expressのライトコマンドを使って、読み込んだパラメータデータをファイバチャネルコントローラ22へ書き込む。このようにしてファイバチャネルコントローラ22にパラメータデータを書き込んだ後、システムファームウェアはI2Cのライトコマンドを使って以下の動作を行う。すなわち当該書き込まれたパラメータデータをファイバチャネルコントローラ22とファイバチャネルカード20のSFP用のI2Cを経由し、前記交換に係るROMモジュール32へ書き込む。
その後管理者はファイバチャネルカード20のROMモジュール32を元の光モジュールに交換する。そしてこのROMモジュール32を保管する。
次に、ファイバチャネルカード交換後のパラメータデータのリカバリ動作内容について説明する。
図19においてサーバ10に搭載されているファイバチャネルカード20の故障時(ステップS101)、管理者は同ファイバチャネルカード20を新たなファイバチャネルカード20'に交換する(ステップS102)。その後管理者は管理用端末60を操作し、サーバ10のシステムファームウェアを起動する(ステップS103)。
管理者は更に、交換後の新たなファイバチャネルカード20'の光モジュール31を、上記保管に係るROMモジュール32に交換する(ステップS104)。その結果システムファームウェアが前記検知信号の状態を確認する。前記ROMモジュールへの交換により検知信号が前記未接続状態(開放レベル)から接続状態(接地レベル)になったことを確認すると、以下の動作を行う。
すなわちシステムファームウェアがI2Cのリードコマンドを使ってROMモジュール32の内蔵ROM32aのパラメータデータを読み込むため、同ROM32aにパラメータデータが書かれていることを確認する。また、ファイバチャネルコントローラ22のROMリードコマンドを使ってファイバチャネルカード20'上のROM21が空状態であることを確認する。そしてROMモジュール32の内蔵ROM32aからパラメータデータを読み込み、同パラメータデータを上記新たなファイバチャネルカード20'のROM21へ書き込む。同書き込み動作はシステムファームウェアがファイバチャネルコントローラ22のROMライトコマンドを使って行う。その後管理者は当該新たなファイバチャネルカード20'に装着されているROMモジュール32を元の光モジュール31へ交換する(ステップS105)。その後管理者は当該ROMモジュール32を再び保管する。
その後管理者は管理用端末60を操作し、SANブートにてサーバ10上でOSを起動する(ステップS106)。当該SANブートでは上記SANブートに必要な設定情報たるパラメータデータがファイバチャネルカード20'のROM21から読み込まれる。読み込まれたパラメータデータに基づいて前記接続先のRAID装置100からOSデータを読み出すことによりSANブートが実行される。
管理者が操作を行うことによってシステムファームウェアから指示することでファイバチャネルカード20のファイバチャネルコントローラ22を制御することもできる。実施例4によれば、前記検知信号のパス25を使用し、同検知信号の電圧レベルの変化をトリガとして使用することにより、管理者の操作による指示を不要にする。実施例4によれば、前記検知信号の状態変化をトリガとし、システムファームウェアが自動的にファイバチャネルカード20上のファイバチャネルコントローラ22を制御する。そしてシステムファームウェアが自動的にブートコードやドライバにROM21のパラメータデータの保存と復元の動作を指示する。
また実施例4では、システムファームウェアが自動的にROM21およびROMモジュール32の各々における格納データの状態を確認し、ROMモジュール32に対するデータ書き込みや読み込みを実行する。その目的のため実施例4では、ブートコードやドライバが前記検知信号の状態変化をトリガとして、ROM21およびROMモジュール32の格納データ状態を自動的に確認する構成を有する。
このように実施例4では、管理者がROMモジュール32の交換を行うと、システムファームウェアが以下の動作を行う。すなわちSANブートに必要な設定情報たるパラメータデータのバックアップ、およびファイバチャネルカード20の交換後に同パラメータデータのROM21へのリカバリを自動的に行う。したがってファイバチャネルカード20の交換時に構成情報の確認や、パラメータデータ入力する必要がなくなり、作業が短縮できる。またサーバ10に搭載されているファイバチャネルカード20のパラメータデータを別途ROMモジュール32に保持しておくことにより、ファイバチャネルカード20の故障交換後において設定情報が正確に保持され、作業ミスの回避ができる。
このように実施例4では、光モジュール31の挿抜状態の確認に用いる、ファイバチャネルコントローラ22とROMモジュール32との間に流れる検知信号のためのパス25を利用する。同検知信号の状態変化をトリガとすることで、管理者による操作を不要とし、システムファームウェアが自動的にファイバチャネルカード20上のファイバチャネルコントローラの制御を行う。すなわちシステムファームウェアが、ブートコードやドライバに、ファイバチャネルカード上のROM21のパラメータデータの保存と復元の実行の指示を行う。なお、光モジュール31或いはROMモジュール32のファイバチャネルカードに対する挿抜状態の確認には、前記検知信号の電圧レベルを使用した確認機能を使用する。この確認機能はファイバチャネルコントローラ22が有する。
なお上記実施例1乃至4はそれぞれ個別の実施例として説明したが、実施例1乃至4の全ての構成および作用効果を全て兼ね備えた一の実施例も可能である。あるいは実施例1乃至4のうちの何れか複数の実施例の構成および作用効果を兼ね備えた一の実施例も可能である。すなわち一の実施例において、ファイバチャネルカードのROM21に格納されたパラメータデータを保存する外部の保存場所として複数のものから選択可能とすることができる。前記複数のものは、実施例1のROMモジュール32の内蔵ROM32a、実施例2のサーバ10のSVP50および実施例3の光モジュール31の内蔵ROM31aである。更に、実施例4の構成は、実施例1,実施例3或いは実施例1、3を組み合わせた実施例に対し組み合わせ可能である。ここで実施例4の構成とは、検出信号のパス25を利用して光モジュール31或いはROMモジュール32の挿抜状態を検出して自動的にパラメータデータの保存或いは復元動作を起動させる構成である。
次に、図20乃至28とともに実施例5につき説明を行う。
実施例5では図20,21に示す如く、複数のファイバチャネルカード20−A,20−B,20−CとRAID装置100―A,100―B,100―Cとを接続している。ここで各要素、すなわちサーバ10,ファイバチャネルカード20−A,20−B,20−C、光モジュール等は、各々、上記実施例1乃至4のうちの何れかの実施例におけるサーバ10,ファイバチャネルカード20、光モジュール31等と同様の構成を有する。したがって主として異なる部分を説明する。
実施例5では、時間帯によって起動するファイバチャネルカード20−A,20−B,20−Cの指定を変え、ファイバチャネルカード20−A,20−B,20−CごとにOSを切り換えて運用する。したがってファイバチャネルカード20−A,20−B,20−Cのそれぞれに対し、相異なる内容の、上記SANブートに必要な設定情報たるパラメータデータを設定し得る。
このような構成の情報処理システムにおいて、実施例5では、サーバ10に搭載されている全てのファイバチャネルカードのパラメータデータが、ファイバチャネルカードの各一枚に書き込まれる。その結果、当該各一枚のファイバチャネルカードについてのパラメータデータの保存及び復元の動作により、全てのファイバチャネルカードのパラメータデータの保存と復元を実現することができる。このように実施例5では、複数の、SANブートに必要な設定情報たるパラメータデータを格納したファイバチャネルカードのパラメータデータを保存する動作を容易にし、ファイバチャネルカードの故障時の情報引継ぎを容易になし得る。
図20はサーバ10に搭載されている複数のファイバチャネルカード20―A,20−B,20−Cが全て故障した場合を示す。その場合図21に示す如く、全ファイバチャネルカード20―A,20−B,20−Cを交換する。ここで上記の如く、各ファイバチャネルカード20−A,20−B,20−Cのそれぞれにつき、相異なる内容の、SAブートに必要な設定情報たるパラメータデータが設定されていた場合を想定する。図20,21の例ではファイバチャネルカードは全3枚であるため、計3種類のパラメータデータが存在する。実施例5では上記の如く、全ファイバチャネルカード20−A,20−B,20−Cについての、前記3種類のパラメータデータを、各ファイバチャネルに全て書き込む。例えばファイバチャネルカード20−Aにはファイバチャネルカード20―A,20−B,20−Cの全てについての計3種類のパラメータデータを格納する。同様にファイバチャネルカード20−Bにも、ファイバチャネルカード20―A,20−B,20−Cの全てについての計3種類のパラメータデータを格納する。同様にファイバチャネルカード20−Cにも、ファイバチャネルカード20―A,20−B,20−Cの全てについての計3種類のパラメータデータを格納する。
すなわち実施例5によれば、図22に示される如く、サーバ10のシステムファームウェアの起動後、システムファームウェアにより以下の動作がなされる。すなわち当初各ファイバチャネルカードごとに個別に格納されていた各々のパラメータデータが、所定の一枚のファイバチャネルカードに全て書き込まれる。図22の例の場合、当初はファイバチャネルカード20―Aは自己のパラメータデータのみを格納している。同様にファイバチャネルカード20―Bも自己のパラメータデータのみを格納している。同様にファイバチャネルカード20―Cも自己のパラメータデータのみを格納している。同様にファイバチャネルカード20―Dも自己のパラメータデータのみを格納している。その後、これら計4種類のパラメータデータを、1枚のファイバチャネルカード、例えば20−Aに全て書き込む。
その後図23に示される如く、当該全種類のパラメータデータ(上記例では4種類のパラメータデータ)が書き込まれたファイバチャネルカード(上記例では20−A)のROM21に格納された当該全種類のパラメータデータを別の箇所に保存する。この保存動作は、上記実施例1乃至4のうちの何れかの実施例による方法を使用して行う。例えば実施例1の方法によれば上記の如く、全種類のパラメータデータが、別途ROMモジュール32の内蔵ROM32aに保存される。
当該保存終了後、システムファームウェアは、全種類のパラメータデータを設定したファイバチャネルカードからOSを起動する。そしてドライバを使って当該ファイバチャネルカードを起動し、当該ファイバチャネルカードのROM21から前記全種類のパラメータデータを読み込む。その後読み込まれた全種類のパラメータデータが、他のファイバチャネルカードの各々のROM21にも書き込まれる。図23の場合、ファイバチャネルカード20―Aを使用したSANブートでOSが起動される。そして起動されたOSがファイバチャネルカード20―AのROM21から前記4種類のパラメータデータを読み出し、これを他のファイバチャネルカード20―B,20−C、20−Dの各々のROM21に全て書き込む。その結果上記の如く、ファイバチャネルカード20―A,20−B,20−C、20−Dの各々のROM21には、4種類のパラメータデータの全てが同様に格納される。すなわち、4種類のパラメータデータの全てが各ファイバチャネルカードにコピーされ、その結果図24に示される如くの状態となる。すなわちファイバチャネルカード20−Aにはファイバチャネルカード20―A,20−B,20−C、20−Dの全てについての計4種類のパラメータデータが格納される。同様にファイバチャネルカード20−Bにも、ファイバチャネルカード20―A,20−B,20−C、20−Dの全てについての計4種類のパラメータデータが格納される。同様にファイバチャネルカード20−Cにも、ファイバチャネルカード20―A,20−B,20−C、20―Dの全てについての計4種類のパラメータデータが格納される。同様にファイバチャネルカード20−Dにも、ファイバチャネルカード20―A,20−B,20−C、20―Dの全てについての計4種類のパラメータデータが格納される。
このコピー動作の終了後、サーバ10は運用状態に置かれる。その後上記の如く全ファイバチャネルカードの故障交換後は、実施例1乃至4のうちの何れかによる方法で、まず所定の一枚のファイバチャネルカードに対して前記4種類のパラメータデータを復元する。そして同パラメータデータが復元されたファイバチャネルカードからOSが起動される。その後、ドライバで起動されたファイバチャネルカードのパラメータデータが読み込まれ、他のファイバチャネルカードへ書き込まれる。このようにして、サーバ10が搭載する各ファイバチャネルカードのパラメータデータの復元が行われる。
以下図25,26とともに参照し、実施例5の動作を更に詳細に説明する。なお図25,26では説明の便宜上、実施例1による方法を使用してパラメータデータの保存および復元を行う場合について示す。
まずファイバチャネルカードのパラメータデータのバックアップ動作につき説明する。
最初に管理者はサーバ10が接続する接続先のRAID装置100を確認する(図25中、ステップS111)。その後管理者は各ファイバチャネルカードをサーバに搭載する(ステップS112)。その後管理者は管理用端末60を使用してシステムファームウェアを起動する(ステップS113)。起動後、管理用端末60を使用して管理者は当該接続先のRAID装置100に係る、SANブートに必要な設定情報たるパラメータデータをファイバチャネルカードごとに設定する操作を行う(ステップS114)。
その後管理者が管理用端末60からシステムファームウェアを使用してサーバ10に搭載された、所定の一枚のファイバチャネルカード(図23の例の場合、20−A)のROM21へ、各ファイバチャネルカードのスロット情報と、対応するパラメータデータとを書き込む。その際の様子が図22に示される。そして図23に示される如く、上記ROM21に格納された各ファイバチャネルカードのスロット情報と、対応するパラメータ情報とが、実施例1乃至4のうちの何れか一の実施例による方法により、外部に保存される。実施例1の場合、管理者はサーバ10に搭載されている前記一枚のファイバチャネルカード(図23の例の場合、20−A)の光モジュール31をROMモジュール32に交換する(ステップS115)。そして上記各ファイバチャネルカードのスロット情報と、対応するパラメータデータとが当該ROMモジュール32の内蔵ROM32aに保存される。その後当該ROMモジュール32が元の光モジュールに交換され、当該ROMモジュールが保存される(ステップS116)。
次に図24に示される如く、管理者が管理用端末60からシステムファームウェアを使用して、前記一枚のファイバチャネルカード(図23の例の場合、20−A)からOSを起動する。この場合、まず当該ファイバチャネルカードが有するブートコードはサーバ10から、当該ファイバチャネルカードが装着されたサーバ10内のスロットを示すスロット情報を読み込む。そして同スロット情報を当該ファイバチャネルカードのROM21に格納された前記スロット情報と比較することにより当該ファイバチャネルカードが装着されたスロットを示すスロット情報を見出す。そして同スロット情報に対応したパラメータデータを使いSANブートによりOSを起動する(ステップS117)。
OSの起動後、管理者が管理用端末60からドライバを指示する。指示されたドライバは当該ファイバチャネルカード(図23の例の場合、20−A)にあるファイバチャネルコントローラ22のROMリードコマンドを使い、以下の動作を行う。すなわち図24に示される如く、当該ファイバチャネルカード(図23の例の場合、20−A)のROM21にある、スロット情報と、対応するパラメータデータとをサーバ10へ読み込む。次に上記指示されたドライバは、他の各ファイバチャネルカード(図23の例の場合、20−B,C,D)にあるファイバチャネルコントローラ22のROMライトコマンドを使い、上記スロット情報と、対応するパラメータデータとを、上記他の各ファイバチャネルカードのROM21へ書き込む(ステップS118)。
上記他の各ファイバチャネルカードへのスロット情報と、対応するパラメータデータとの書き込みの終了後、サーバ10が運用に入る。
次に、ファイバチャネルカード交換後のパラメータデータのリカバリ動作内容について説明する。
図26においてサーバ10に搭載されているファイバチャネルカードの故障時(ステップS121)、管理者は全ファイバチャネルカードを新たなファイバチャネルカードに交換する(ステップS122)。その後管理者は管理用端末60を操作し、サーバ10のシステムファームウェアを起動する(ステップS123)。
その後サーバ10に搭載された前記交換後の新たなファイバチャネルカードのうちの、ある一枚のファイバチャネルカードのROM21に対し、上記スロット情報と、対応するパラメータデータとを復元する。ここでは実施例1乃至4のうちの何れか一の実施例による方法を使用する。例えば実施例1による方法を使用した場合、上記の如く、スロット情報と、対応するパラメータデータとが書き込まれて保存されたROMモジュール32から同スロット情報と、対応するパラメータデータとを読み出して上記したある一枚のファイバチャネルカードのROM21に書き込む(ステップS124)。この読み出し・書き込み動作は、当該ファイバチャネルカードの光モジュール31を前記保存されたROMモジュール32交換した状態で行う。読み出し・書き込み動作後、当該ファイバチャネルカードのROMモジュール32を元通りに光モジュール31に交換する(ステップS125)。上記読み出し・書き込み動作により、前記スロット情報と、対応するパラメータデータとが当該フィアバチャネルカードにおいて復元される。
その後管理者が管理用端末60からシステムファームウェアを使用し、当該ファイバチャネルカードからOSを起動する(ステップS126)。すなわち管理者が当該ファイバチャネルカードを指定し、当該ファイバチャネルカードのブートコードはサーバ10から当該ファイバチャネルカードが装着されたスロットのスロット情報を読み込む。そして前記復元されたスロット情報と比較することにより、当該ファイバチャネルカードが装着されたスロットを確認する。そして該当するスロット情報に対応したパラメータデータを使ってOSを起動する。
OSの起動後、管理者が管理用端末60からドライバを指示する。指示されたドライバは当該ファイバチャネルカードにあるファイバチャネルコントローラ22のROMリードコマンドを使い、以下の動作を行う。すなわち図24に示される如く、当該ファイバチャネルカードのROM21にある、スロット情報と、対応するパラメータデータとをサーバ10へ読み込む。次に上記指示されたドライバは、他の各ファイバチャネルカードにあるファイバチャネルコントローラ22のROMライトコマンドを使い、上記スロット情報と、対応するパラメータデータとを、上記他の各ファイバチャネルカードのROM21へ書き込む(ステップS127)。
上記他の各ファイバチャネルカードへのスロット情報と、対応するパラメータデータとの書き込み終了後、サーバ10が運用に入る。
実施例5によれば、一枚のファイバチャネルカード上に複数枚のファイバチャネルカードのパラメータデータを全て格納する。その結果、一枚のファイバチャネルカードのパラメータデータに対する操作のみで、複数のファイバチャネルカードのパラメータデータの保存と復元がなされる。すなわち実施例5によれば、一枚のファイバチャネルカードに対する操作のみで各ファイバチャネルカードのSANブートに必要な設定情報たるパラメータデータの保存と復元を実施し得る。その結果、ファイバチャネルカードの交換時に構成情報の確認や、パラメータデータを手入力する必要がなくなり、作業短縮ができる。またサーバ10に搭載されているファイバチャネルカードのパラメータデータを別途保持することにより、ファイバチャネルカードの故障交換後においても設定情報が正確に保持され設定ミスの回避ができる。
又実施例5によれば、さらに、クラスタなどの、同一システムの増設が必要な際、パラメータの人手による入力作業を不要とし、自動的に設定情報をコピーすることができる。図27、28はその場合の例を示す。
図27の例では、既存のサーバ10に対し、同一構成のサーバ10−Aを設ける。この場合最初に管理者はサーバ10−Aが接続する接続先のRAID装置100―A或いは100−Bを確認する(図28中、ステップS131)。その後管理者はファイバチャネルカード20−C,20−Dをサーバ10−Aに搭載する(ステップS132)。その後管理者は管理用端末60を使用してサーバ10−Aのシステムファームウェアを起動する(ステップS133)。起動後、サーバ10−Aに搭載されたファイバチャネルカード、例えば20−CのROM21に対し、実施例1乃至4のうちの何れか一の実施例による方法により、上記スロット情報と、対応するパラメータデータとを書き込む。この書き込み動作は、上記各実施例における復元動作と同様の動作である。例えば実施例1による方法を使用した場合、サーバ10−Aに搭載されたファイバチャネルカード20−Cの光モジュール31を、保存に係るROMモジュール32に交換する(ステップS134)。当該保存に係るROMモジュール32の内蔵ROM32aには、サーバ10に搭載されたファイバチャネルカード20−A或いは20−BのROM21に格納されたスロット情報と、対応するパラメータデータとがバックアップの目的で保存されている。当該保存は、例えば図25とともに上記した方法にて行われる。当該ROMモジュール32の内蔵ROM32aからスロット情報と、対応するパラメータデータとを読み出してサーバ10−Aに搭載されたファイバチャネルカード20―CのROM21に書き込む。その後ファイバチャネルカード20―CのROMモジュール32を、元通りに光モジュールに交換する(ステップS135)。
その後管理者が管理用端末60からサーバ10−Aのシステムファームウェアを使用し、上記ファイバチャネルカード20−CからOSを起動する(ステップS136)。すなわち管理者が当該ファイバチャネルカード20−Cを指定し、当該ファイバチャネルカード20−Cのブートコードはサーバ10−Aから当該ファイバチャネルカードが装着されたスロットのスロット情報を読み込む。そして上記の如くファイバチャネルカード20―CのROM21に書き込まれたスロット情報と、対応するパラメータ情報のうちのスロット情報と比較する。同比較動作により、当該ファイバチャネルカードが装着されたスロットを確認する。そして該当するスロット情報に対応したパラメータデータを使ってOSを起動する。
OSの起動後、管理者が管理用端末60からサーバ10−Aが有するドライバを指示する。指示されたドライバは当該ファイバチャネルカード20−Cにあるファイバチャネルコントローラ22のROMリードコマンドを使い、以下の動作を行う。すなわち当該ファイバチャネルカード20−CのROM21にある、スロット情報と、対応するパラメータデータとをサーバ10−Aへ読み込む。次に上記指示されたドライバは、他のファイバチャネルカード20−Dにあるファイバチャネルコントローラ22のROMライトコマンドを使い、上記読み込まれたスロット情報と、対応するパラメータデータとを、上記他のファイバチャネルカード20−DのROM21へ書き込む(ステップS137)。
上記他のファイバチャネルカード20−Dへのスロット情報と、対応するパラメータデータとの書き込み終了後、サーバ10−Aが運用に入る。
実施例5によれば、一枚のファイバチャネルカードに、サーバに搭載された全ファイバチャネルカードのパラメータを格納する。その結果、一枚のファイバチャネルカードへの操作のみで、サーバに搭載された全ファイバチャネルカードのパラメータデータの保存と復元を自動実行させることができる。
このように実施例1によればSANブートに必要な設定情報たるパラメータデータをROMモジュール32の内蔵ROM32aへ保存することができ、ROMモジュール32の内蔵ROM32aからROM21へ復元できる。その結果ファイバチャネルカード20が故障し、新たなファイバチャネルカード20’に交換されたような場合、当該新たなファイバチャネルカード20’に上記ROMモジュール32を装着する。その状態でサーバ10のシステムファームウェアがROMモジュール32の内蔵ROM32aからパラメータデータを読み込み、当該新たなファイバチャネルカード20’のROM21へ書き込む。この読み込み・書き込み動作はシステムファームウェアが当該新たなファイバチャネルカードのファイバチャネルコントローラ22に指示することで実現される。その結果パラメータデータを復元することができる。このように実施例1によれば、SANブートに必要な設定情報をファイバチャネルカード20の外に保持し、これを使用して交換後のファイバチャネルカード20’において復元することが可能となる。その結果ファイバチャネルカード20の故障時の情報の引継ぎを容易に実現し得る。またこの情報の引き継ぎの動作はサーバ10のシステムファームウェアがファイバチャネルコントローラ22に指示することで自動的になされる。このため情報の引継ぎを人為的に行う場合に生じ得る情報の設定ミスを効果的に防止可能である。