(57)【特許請求の範囲】
【請求項１】
少なくとも１つ以上のサーバを有するサーバシャーシと、前記少なくとも１つ以上のサーバと接続するＩＯスロット拡張装置と、を備える計算機システムにおいて、
第１のサーバは、記憶部と制御部とを有し、
前記ＩＯスロット拡張装置は、
第１のカードスロットと、
前記第１のカードスロットと接続し、レジスタを有するスイッチと、
前記第１のカードスロットの識別子とポートの番号と第１の識別子とを対応づけて管理する識別子情報を有し、前記ＩＯスロット拡張装置の電源投入を受けて、前記識別子情報を前記スイッチの前記レジスタに複製するコントローラと、を有し、
前記第１のサーバが有する前記制御部は、
前記第１のサーバの電源投入を受けて、前記スイッチの前記レジスタに複製された前記識別子情報を取得して、前記取得した識別子情報を前記記憶部に保存し、
前記記憶部に保存した識別子情報から、前記第１のカードスロットの識別子と前記ポートの番号に対応づけられた前記第１の識別子を参照し、
前記識別子情報の取得元である前記スイッチに接続され、前記第１のカードスロットの識別子で識別される、前記第１のカードスロットに搭載されたカードが有するポートのうち、前記ポートの番号で識別される第１のポートに対し、
前記第１のポートに割り当てられ、前記第１のポートが有する格納部に記録される識別子を、前記参照した第１の識別子に更新する
ことを特徴とする計算機システム。
【請求項２】
前記スイッチは、シングルルートスイッチであることを特徴とする請求項１記載の計算機システム。
【請求項３】
前記スイッチは、マルチルートスイッチであり、
前記スイッチの前記レジスタは、前記第１のサーバが接続するＩＯスロット拡張装置の第２のポートの識別子と、前記第２のポートと接続する前記第１のカードスロットの識別子とを対応づけて管理するスイッチ接続情報を有し、
前記第１のサーバが有する前記制御部は、
前記レジスタから前記スイッチ接続情報を取得し、前記スイッチ接続情報より前記第１のサーバが接続する第２のポートの識別子に対応づけられた前記第１のカードスロットの識別子を、前記記憶部に保存し、
前記識別子情報から、前記記憶部に保存した前記第１のカードスロットの識別子と、前記ポートの番号に対応づけられた前記第１の識別子を参照し、
前記識別子情報の取得元である前記スイッチに接続され、前記記憶部に保存した前記第１のカードスロットの識別子で識別される、前記第１のカードスロットに搭載されたカードが有するポートのうち、前記ポートの番号で識別される前記第１のポートに対し、
前記第１のポートに割り当てられ、前記第１のポートが有する前記格納部に記録される識別子を、前記参照した第１の識別子に更新する
ことを特徴とする請求項１記載の計算機システム。
【請求項４】
少なくとも１つ以上のサーバを有するサーバシャーシと、前記少なくとも１つ以上のサーバと接続するＩＯスロット拡張装置と、を備える計算機システムにおける識別子引継方法であって、
前記ＩＯスロット拡張装置が有するコントローラにより、前記ＩＯスロット拡張装置の電源投入を受けて、第１のカードスロットの識別子とポートの番号と第１の識別子とを対応づけて管理する識別子情報を、前記ＩＯスロット拡張装置が有するスイッチのレジスタに複製するステップと、
第１のサーバが有する制御部により、前記第１のサーバの電源投入を受けて、前記スイッチの前記レジスタに複製された前記識別子情報を取得して、前記取得した識別子情報を前記第１のサーバが有する記憶部に保存するステップと、
前記制御部により、前記記憶部に保存した識別子情報から、前記第１のカードスロットの識別子と前記ポートの番号に対応づけられた前記第１の識別子を参照するステップと、
前記制御部により、前記識別子情報の取得元である前記スイッチに接続され、前記第１のカードスロットの識別子で識別される、第１のカードスロットに搭載されたカードが有するポートのうち、前記ポートの番号で識別される第１のポートに対し、
前記第１のポートに割り当てられ、前記第１のポートが有する格納部に記録される識別子を、前記参照した第１の識別子に更新するステップと、
を有することを特徴とする識別子引継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムを構成するIOスロット拡張装置に搭載されるPCIカードのHBA識別子を管理する計算機システム及びそのPCIカードのHBA識別子引き継ぎ方式に関する。
【背景技術】
【０００２】
CPUやメモリ等で構成される演算システム装置のサーバブレードを複数搭載可能なサーrバシャーシと、FC(Fibre Channel)やethernet等のPCIカードを複数搭載可能なIOスロット拡張装置とが、PCIeケーブルで接続された構成の計算機システムがある。IOスロット拡張装置には、さらにPCIeスイッチが搭載されている。このPCIeスイッチの設定を編集することによって、サーバブレードとPCIカードとの接続を、スイッチング出来る。
【０００３】
本技術分野の背景技術として、特開２００９-２４５４５５号公報（特許文献１）がある。この公報には、LUの接続設定に関して「ディスクマッピングの設定」と記載されている。また、特開２０１０−３９７２９号公報（特許文献２）には、サーバシャーシのことを「サーバ装置」、IOスロット拡張装置のことを「外付けI/O装置」と記載し、マルチルートPCIeスイッチのサーバシステムについて開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２４５４５５号公報
【特許文献２】特開２０１０−３９７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
IOスロット拡張装置に搭載されたPCIカードを、障害等の要因で新たなPCIカードに取り換えた場合、PCIカードのHBA識別子(FCならWWN, ethernetならMAC等に該当する)が、取り換え発生前と取り換え発生後とで変化する。そのため、PCIカードの取り換え発生後に、ユーザには、PCIカードに接続される機器に対してPCIカードのHBA識別子を新たに登録する必要があった。しかし、新たに登録するという作業は、手間がかかるという問題があった。
【課題を解決するための手段】
【０００６】
上述の課題を解決するために、本発明に係る計算機システム及びHBA識別子引継方法は、少なくとも１つ以上のサーバを有するサーバシャーシと、PCIeスイッチが搭載されたIOスロット拡張装置とが、PCIeケーブルにて接続されている計算機システムにおいて、IOスロット拡張装置内のIOスロット拡張装置コントローラが有するPCIeスイッチレジスタ更新制御部は、前記IOスロット拡張装置の電源投入を受けて、前記IOスロット拡張装置コントローラが有する前記割り当て識別子テーブルを、前記PCIeスイッチレジスタの前記識別子格納エリアに複製する。また、前記インターフェースが有するHBA識別子更新制御部は、前記サーバの電源投入を受けて、前記PCIeケーブルを介して、前記PCIeスイッチレジスタの前記識別子格納エリアに複製された割り当て識別子テーブルを取得し、前記取得した割り当て識別子テーブルを、前記サーバの前記記憶部に保存し、前記記憶部に保存した割り当て識別子テーブルから、前記PCIカードスロットと前記PCIカード上のHBAポートとに対応した割り当て識別子を参照し、前記HBAの前記識別子エリアに記録されている識別子を、前記記憶部に保存した割り当て識別子テーブルから参照した割り当て識別子に更新する。
【０００７】
つまり、IOスロット拡張装置にあるIOスロット拡張装置コントローラ(IO Drawer Controller、以下 IODCと称する)のPCIカードのHBA識別子テーブルを読み込み、PCIeスイッチのPCIeスイッチレジスタにPCIカードのHBA識別子テーブルを記録する。サーバブレードが電源ONされExtensible Firmware Interface（以下EFIと称する）が起動後、EFIがPCIeスイッチレジスタに記録されているHBA識別子テーブルを読み込み、PCIカードに搭載されているHBAのHBA識別子を更新する。PCIカードに搭載されたHBAは、更新されたPCIカードのHBA識別子で動作する。
【発明の効果】
【０００８】
IOスロット拡張装置上のPCIカードスロットに搭載されるPCIカードのHBA識別子は、PCIカードの障害等の要因で新たなPCIカードに取り換えてられても、取り替えられる前と同じHBA識別子で動作できる。よって、ユーザがPCIカードに接続される機器に対して、PCIカードのHBA識別子を新たに登録する必要がなくなる。
【図面の簡単な説明】
【０００９】
【図１】システム全体
【図２】PCIスイッチの機能ブロック
【図３】IODC機能ブロック
【図４】HBA機能ブロック
【図５】EFI機能ブロック
【図６】割り当てWWNテーブル
【図７】IOスロット拡張装置起動フロー
【図８】システム起動フロー
【図９】マルチルートスイッチのシステム構成図
【図１０】マルチルートPCIeスイッチの機能ブロック
【図１１】マルチルートスイッチPCIe接続情報
【図１２】マルチルートのIOスロット拡張装置起動フロー
【発明を実施するための形態】
【実施例１】
【００１０】
図１は、本発明を適用した計算機システムのシステム構成図を示している。実施例１のシステム装置は、サーバシャーシ101,IOスロット拡張装置111にて構成される。
【００１１】
サーバシャーシ101は、サーバブレード102と、サーバシャーシの管理コントローラであるSVP 103とで構成されている。また、サーバブレード 102とSVP 103とは、結線がされている。
【００１２】
SVP 103は、プログラムやデータを格納するメモリと、プログラムを実行するCPUを内蔵する。サーバブレード 102内には、CPU 107,メモリ 108,EFI 104,サーバブレードの管理コントローラであるBMC 105が搭載されている。サーバブレード 101は、サーバシャーシPCIeポート106と結線されている。
【００１３】
IOスロット拡張装置 111は、IOスロット拡張装置の管理コントローラであるIODC 112と、PCIeスイッチ 113と、PCIカードスロット118とで構成されている。PCIカードスロット 118には、PCIカード114が搭載可能である。IODC 112とPCIeスイッチ 113とは、通信可能な結線がされている。PCIeスイッチ 113とそれぞれのPCIカードスロット 118とは、PCIeで結線されている。IODCは、プログラムやデータを格納するメモリと、プログラムを実行するCPUとを内蔵する。PCIeスイッチ 113とIOスロット拡張装置PCIeポート 116とは、結線されている。
【００１４】
図２は、PCIeスイッチ113の機能ブロックを示している。PCIeスイッチ 113には、PCIeスイッチレジスタ201が存在し、さらにそのレジスタの中にはWWN格納エリア 202が存在する。
【００１５】
図３は、IODC 112の機能ブロックを示している。IODCには、割り当てWWNテーブル 301とPCIeスイッチレジスタ更新制御部 302が存在する。
【００１６】
図４は、HBA115の機能ブロックを示している。HBA 115には WWNを格納するWWNエリア 401が存在する。
【００１７】
図５は、EFI 104の機能ブロックを示している。EFIには、HBAWWN更新制御部 501が存在する。
【００１８】
図６は、割り当てWWNテーブルを示している。本テーブルの項目には、IOスロット拡張装置内のPCIカードスロット識別子 601 とそのPCIカード上のポート番号 602及びそれに対応した割り当てWWN 603が存在する。本テーブルは、IODC 112の中に保持されている。
【００１９】
図７は、IOスロット拡張装置の起動フローを示している。
【００２０】
ステップ701では、IOスロット拡張装置111に電源が投入された契機にてIODC 112の起動が開始される。
【００２１】
ステップ711では、IODC起動開始を契機に、PCIeスイッチレジスタ更新制御部302の動作が開始される。
【００２２】
ステップ712では、PCIeスイッチレジスタ更新制御部302は、IODCに記録されている割り当てWWNテーブル301を取得する。
【００２３】
ステップ713では、PCIeスイッチレジスタ更新制御部302は、ステップ712で取得したWWNテーブル情報を、PCIeスイッチレジスタ201のWWN格納エリア202にコピーする。
【００２４】
ステップ714をもって、PCIeスイッチレジスタ更新制御部302の動作が終了する。
【００２５】
ステップ702では、IODC起動完了となる。
【００２６】
図８は、システム起動フローを示している。
【００２７】
ステップ801では、BMCは、サーバブレード電源ON開始を行う。BMCによるサーバブレードON開始の契機としては、例えばユーザ操作やスケジュールなどが想定される。
【００２８】
ステップ811では、ステップ801でのサーバーブレードON開始を契機に、EFI104の起動が開始される。また、サーバブレードがONされたことにより、サーバブレード102上のEFI104は、PCIeスイッチ113のPCIeスイッチレジスタ201の参照、及びPCIeスイッチ113を介して、PCIカード114-1,2が有するHBA115-1及び115-2が制御可能となる。
【００２９】
ステップ821では、ステップ811でのEFI起動開始を契機に、EFI104の機能のひとつであるHBAWWN更新制御部501の動作が、開始される。
【００３０】
ステップ822では、HBAWWN更新制御部501は、PCIeケーブルを介して、IOスロット拡張装置111内のPCIスイッチ113が有するPCIeスイッチレジスタ201を参照し、IODC112からWWN格納エリア202へコピーされた割り当てWWNテーブルを読み込む。そして、WWN格納エリア202から読み込んだ割り当てWWNテーブルを、サーバブレード102のメモリ108に保存する。
【００３１】
ステップ823では、HBAWWN更新制御部501は、サーバブレード102のメモリ108に保存されている割り当てWWNテーブルから、PCIカードスロットの識別子とPCIカード上のHBAポート117の番号とに対応した、割り当てWWNを参照する。そして、HBAWWN更新制御部501は、HBA115-1のWWNエリア401に記録されているHBAポート毎のWWNを、参照した割り当てWWNに、HBA115-1を介して更新する。HBAWWN更新部501は、HBA115-2に対してもHBA115-1と同様に割り当てWWNを更新する。
【００３２】
ステップ824をもって、HBAWWN更新制御部501の動作が終了する。  ステップ812では、EFI104がHBA115-1の起動要求を発行する。EFI104は、HBA115-2に対しても同様に起動要求を発行する。
【００３３】
ステップ831,832では、EFI104から発行されたHBA起動要求を受けて、HBA115-1の起動を開始し、HBA115-1の起動を完了する。HBA115-1は、HBA115-1のWWNエリア401を読み込み、ステップ823で更新されたWWNにて動作する。EFI104は、HBA115-2に対しても同様に動作する。
【００３４】
ステップ813をもって、EFI104の起動が完了する。
【００３５】
さて、IOスロット拡張装置111に搭載されたPCIカード114-1もしくは114-2を、障害等の要因で新たなPCIカードに取り換えた場合、PCIカードのHBAポート毎の識別子(FCならWWN, ethernetならMAC等に該当する)が障害発生前と変化してしまう。このため、PCIカードに接続される機器に対して、PCIカード114-1もしくは114-2のHBA識別子を、新たに登録する必要がある。
【００３６】
IOスロット拡張装置111を有さない従来方式のブレードサーバ、即ちサーバシャーシ内にサーバブレードとSVPとPCIカードとを有するブレードサーバにおいては、SVPがWWN割り当てテーブルを保持している。そして、サーバブレード内のBMCは、SVPのWWN割り当てテーブルを参照し、サーバブレード内のEFIは、BMC経由でWWN割り当てテーブルを取得することで、取り換え後のPCIカードのHBAに取替え前と同じWWNを割り当てていた。
【００３７】
これに対し、IOスロット拡張装置111を有する実施例１の計算機システムでは、仮にサーバシャーシ101内のSVP103に割り当てWWNテーブルを保持させると、そのWWNテーブルにサーバシャーシ101と想定される最大の接続数分のIOスロット拡張装置の割り当てWWNが必要となるため、WWNの無駄が多くなってしまう。
【００３８】
そこで、本発明を適用した計算機システムでは、SVP103内に割り当てWWNテーブルを保持させる代わりに、IOスロット拡張装置111内のIODC112が保持する割り当てWWNテーブル301を、PCIスイッチ113のPCIスイッチレジスタ201にコピーする。そして、サーバシャーシ101内のEFI104が、PCIケーブル経由で、PCIスイッチレジスタ201のWWN格納エリア202にコピーされた割り当てWWNテーブルを参照できるようにした。そして、EFI104が、サーバブレード102の電源ONを契機にPCIカード114のWWNを更新するので、仮に故障等でPCIカード114が取り換えられたとしても、IOスロット拡張装置111の同じPCIカードスロット118に新しいPCIカード115が搭載されれば、その新しいPCIカード115のHBAは、取り替え前のPCIカードのHBAと同じWWNを引き継いで動作する。
【００３９】
これにより、取り替え後のPCIカード114のHBA115が、取り替え前のPCIカード114と同じWWNにて動作するため、PCIカード114に接続されている外部機器にあるWWN登録設定がある場合、その外部機器における新たなWWN登録が不要となる。  本実施例にて設定不要となる設定例として、FC接続のストレージのLU接続設定がある。LUの接続設定とは、そのLUに対応して接続されるHBAのWWNを登録する。通常、LUに対応して接続されるPCIカードが変化すると、HBA及びWWNも変化し、それに対応してLUの接続設定も編集しなければならない。本実施例では、HBAが変化してもWWNが変化しないため、LUの接続設定を編集する必要がない。
【００４０】
本実施例ではHBA識別子としてFCのWWNを挙げたが、Ethernet(登録商標)のMAC等の他のHBA識別子でも同等のことが容易に実現可能である。
【実施例２】
【００４１】
本発明における実施例２の全体図を図９に示す。実施例１と異なるのは、IOスロット拡張装置内のPCIeスイッチ901が、単数のサーバブレードと接続されたシングルルートスイッチから、複数のサーバブレード102と接続可能なマルチルートスイッチになっている。マルチルートスイッチとなることにより、IOスロット拡張装置PCIeポートが116-1と116-2の複数になり、そのポートがそれぞれ別のサーバブレードに接続されている。
【００４２】
図10は、マルチルートPCIeスイッチの機能ブロックを示している。図10のPCIeスイッチが図2のPCIeスイッチと異なるところは、マルチルートスイッチ制御部1002を有する点、及びPCIeスイッチレジスタにマルチルートPCIeスイッチ接続情報1001が追加されている点である。
【００４３】
マルチルートPCIeスイッチ接続情報1001とは、IOスロット拡張装置の全てのPCIeポート116に対して、単数もしくは複数のPCIカードスロット118との接続設定情報である。マルチルートPCIeスイッチは、それぞれのPCIeポートに対して複数のPCIカードスロットが接続可能であり、図11のPCIeスイッチ接続情報1001もそれぞれのIOスロット拡張装置PCIeポート識別子1101に対して複数の接続PCIカードスロット識別子1102が保持できる。マルチルートPCIeスイッチ接続情報1001を元に、マルチルートスイッチ制御部1002がPCIeポートとPCIカードスロットとの接続をスイッチングする制御を行う。
【００４４】
図11は、マルチルートスイッチPCIe接続情報を示している。IOスロット拡張装置PCIeポート識別子1101とそれに対応した接続PCIカードスロット識別子1102があるテーブルである。マルチルートスイッチPCIe接続情報は、IODC112を介して、ユーザによって作成される。なお、IOスロット拡張装置の起動フローは、マルチルートPCIeスイッチにおいても、実施例１におけるシングルルートのPCIeスイッチ（図7）と同じである。
【００４５】
図12は、マルチルートスイッチPCIeでのシステム起動フローを示している。以下具体的に説明するために、サーバブレード102-1の起動のケースを説明する。
【００４６】
ステップ1201では、BMC105-1は、サーバブレード電源ON開始を行う。BMC105-1によるサーバブレードON開始の契機としては、例えばユーザ操作やスケジュールなどが想定される。
【００４７】
ステップ1211では、ステップ1201でのサーバブレードON開始を契機に、EFI104-1の起動が開始される。
【００４８】
ステップ1221では、ステップ1211でのEFI104-1起動開始を契機に、EFI104-1の機能のひとつであるHBAWWN更新制御部501の動作が、開始される。
【００４９】
ステップ1222では、HBAWWN更新制御部501は、PCIeケーブルを介して、IOスロット拡張装置内のPCIスイッチ901が有するPCIeスイッチレジスタ201を参照し、IODCからWWN格納エリアへコピーされた割り当てWWNテーブルを読み込む。そして、WWN格納エリア202から読み込んだ割り当てWWNテーブルを、サーバブレードのメモリ106-1に保存する。
【００５０】
ステップ1223では、HBAWWN更新制御部501は、PCIeケーブルを介して、IOスロット拡張装置内のPCIスイッチ901が有するPCIeスイッチレジスタ201を参照して、マルチルートPCIeスイッチ接続情報1001を読み込む。そして、HBA更新制御部501は、読み込んだマルチルートPCIeスイッチ接続情報1001より、接続しているPCIeポート116-1に対応する接続PCIカードスロットが118-1であることを割り出す。その結果、サーバブレード102-1に接続されているPCIカードスロットは、118-1であるとした接続関係の情報を、サーバブレードのメモリに保存する。つまり、本ステップによりHBAWWN更新制御部501は、サーバブレード102-1に接続されているIOスロット拡張装置内のPCIカードスロットの識別子を特定することができる。
【００５１】
ステップ1224では、HBAWWN更新制御部501は、ステップ1222においてサーバブレードのメモリに保存された割り当てWWNテーブルと、ステップ1223においてサーバブレードのメモリに保存されたサーバブレード接続PCIカードスロットに対応するPCIカードスロット識別子と、PCIカード上ポート番号に対応した割り当てWWNを参照する。そして、HBAWWN更新制御部501は、HBA115-1のWWNエリアに記録されているWWNを、参照した割り当てWWNに更新する。
【００５２】
ステップ1225をもって、HBAWWN更新制御部501の動作が終了する。
【００５３】
ステップ1212では、EFIがHBA115-1の起動要求を発行する。
【００５４】
ステップ1231,1232では、EFIから発行されたHBA起動要求を受けて、HBA115-1の起動を開始し、HBA115-1の起動を完了する。HBAは、HBAのWWNエリアを読み込み、ステップ1224で更新された更新されたWWNにて動作する。
【００５５】
ステップ1213をもって、EFIの起動が完了する。
【００５６】
以上の通り、マルチルートPCIeスイッチにおいても、PCIカードのWWNはPCIカードが取り換えられたとしても、IOスロット拡張装置の同じPCIカードスロットに搭載されれば、そのPCIカードのHBAは同じWWNとして動作する。PCIカードのHBAが同じWWNにて動作するため、PCIカードに接続されている外部機器にあるWWN登録設定がある場合、その設定の編集が不要となる。
【００５７】
本実施例ではHBA識別子としてWWNを挙げたが、MAC等の他のHBA識別子でも同等のことが容易に実現可能である。
【符号の説明】
【００５８】
１０１  サーバシャーシ
１０２  サーバブレード
１０３  SVP
１０４  EFI
１０５  BMC
１０６  サーバシャーシPCIeポート
１０７  CPU
１０８  メモリ
１１１  IOスロット拡張装置
１１２  IODC
１１３  PCIeスイッチ
１１４  PCIカード
１１５  HBA
１１６  IOスロット拡張装置PCIeポート
１１７  HBAポート
１１８  PCIカードスロット
２０１  PCIeスイッチレジスタ
２０２  PCIeスイッチWWN格納エリア
３０１  WWN割り当てテーブル
３０２  PCIeスイッチレジスタ更新制御部
４０１  HBAのWWN
５０１  HBAWWN更新制御部
６０１  PCIカードスロット識別子
６０２  PCIカード上ポート番号
６０３  WWN割り当て
９０１  マルチルートPCIeスイッチ
１００１  マルチルートPCIeスイッチ接続情報
１００２  マルチルートスイッチ制御部
１１０１  IOスロット拡張装置PCIeポート識別子
１１０２  接続PCIカードスロット識別子
【図１】
0005637873.tif 000002
【図２】
0005637873.tif 000003
【図３】
0005637873.tif 000004
【図４】
0005637873.tif 000005
【図５】
0005637873.tif 000006
【図６】
0005637873.tif 000007
【図７】
0005637873.tif 000008
【図８】
0005637873.tif 000009
【図９】
0005637873.tif 000010
【図１０】
0005637873.tif 000011
【図１１】
0005637873.tif 000012
【図１２】
0005637873.tif 000013