説明

ホストバスアダプタ用ドライバ及びオペレーティングシステムのインストール方法

【課題】
冗長化されたパス、または複数のディスクユニットを持つディスク装置のI/Oデバイス装置に対してオペレーティングシステムのインストール/複製を行う際に、インストール先への単一パスかつ単一ディスクユニット接続を保障し、ユーザによるシステム構成定義の変更、及びケーブル挿抜作業を不要とするホストバスアダプタ用ドライバを提供する。
【解決手段】
システム装置20からディスクアレイ装置50へオペレーティングシステム11をインストールする際に使用するホストバスアダプタ用ドライバであって、ホストバスアダプタ30、31内の不揮発性メモリ32、33に格納されているOS起動情報34、35を読み出し、ディスクアレイ装置50のディスクユニット構成と比較し、構成が一致し、かつ優先順位が最も高いディスクユニットのみを、オペレーティングシステムのインストーラ14に対してアクセスを許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステムのPCIバスに接続され、I/Oデバイス装置と接続するホストバスアダプタのドライバに関する。
【背景技術】
【0002】
近年、販売されているディスクアレイ装置等のI/Oデバイス装置では単一のI/Oデバイスを複数台組み合わせることにより、高速性、大容量性及び高信頼性を実現している。
【0003】
また前記に加え、システム装置とI/Oデバイス装置間の冗長性を確保するために、システム装置に複数のホストバスアダプタを搭載し、I/Oデバイス装置と複数のパス接続を行うことにより冗長性を確保し、高信頼性及びインターフェースの高速化を図っている。
【0004】
上記のようなシステム構成は、システム通常稼動中にハードウェア障害が発生した場合でもシステムを停止させることなく運用を継続できるため非常に有用である。
【0005】
しかし、冗長性を確保したシステムにオペレーティングシステム(OS)をインストールする際には、ユーザが冗長化されたパス接続を解除し、単一パス、単一ディスクユニット接続とした上でインストール作業を行う必要がある。これは、オペレーティングシステムをインストールするインストーラが冗長化されたパス接続をもつシステム構成に対応していないため、オペレーティングシステムをインストールする際に、障害発生等によりディスク認識順序が変化し、誤って目的ディスクユニット以外にデータを上書きする可能性があるためである。
【0006】
これを回避するためには、ユーザはシステム構成定義の変更、及びケーブル挿抜を行うことによりシステム装置とI/Oデバイス装置間の単一パス、単一ディスクユニット接続を保障し、その上でオペレーティングシステムのインストール作業を行わなければならなかった。
【0007】
システム構成定義の変更、及びケーブル挿抜を行うことにより、オペレーティングシステムのインストール後に接続パス状態の再検証が必要となり、作業に多大の時間が必要となっていた。
【0008】
【特許文献1】特開2005−251188
【発明の開示】
【発明が解決しようとする課題】
【0009】
冗長化されたパス、または複数のディスクユニットを持つI/Oデバイス装置に対してオペレーティングシステムのインストール/複製を行う際に、インストール先への単一パスかつ単一ディスクユニット接続を保障し、ユーザによるシステム構成定義の変更、及びケーブル挿抜作業を不要とするホストバスアダプタ用ドライバを提供する。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明ではシステム装置と複数のディスクユニットを持つI/Oデバイス装置が前記システム装置に備えられた複数のホストバスアダプタを介して接続され、各ホストバスアダプタにはオペレーティングシステムを起動するための接続情報を登録するOS起動情報が設けられ、前記オペレーティングシステムを前記I/Oデバイス装置にインストールするインストーラを有した計算機システムにおけるホストバスアダプタ用ドライバにおいて、各ホストバスアダプタが有するOS起動情報を読み出す手段、前記読みだしたOS起動情報に基づいてオペレーティングシステムをインストールするためのホストバスアダプタ及び接続パスを決定する手段、及び前記インストーラに対して前記決定したホストバスアダプタ及び接続パスのみの使用を許可する手段とを有するホストバスアダプタ用ドライバを提供する。
【0011】
本ホストバスアダプタ用ドライバをオペレーティングシステムのインストール、および複製時に使用することによって、ユーザによるシステム構成定義、及び物理的なケーブル挿抜でのパス単一化作業を行うことなく、オペレーティングシステムのインストール作業が実行できる。
【0012】
本発明のホストバスアダプタ用ドライバは、どのようなプロトコルを制御するホストバスアダプタにインストールしても良い。例えば、ファイバチャネルによって、またはEthernet(登録商標)ケーブルによりI/Oデバイス装置と接続しても良い。
【発明の効果】
【0013】
本発明により、冗長化されたパス、または複数のディスクユニットを持つI/Oデバイス装置に接続されたシステム装置に対するオペレーティングシステムのインストールおよび複製において、ユーザは本ホストバスアダプタ用ドライバを使用することにより、システム構成定義、及び物理的なケーブル挿抜の作業を行うことなく、インストール先が保障されたインストール作業を実施できる効果がある。
【発明を実施するための最良の形態】
【0014】
次に本発明について図面を参照して説明する。
【0015】
図1は、本発明を実施したホストバスアダプタ用ドライバ(HBAドライバ)を含むシステム全体のブロック構成図である。接続するI/Oデバイス装置はディスクアレイ装置を例とする。
インストール媒体10は、ホストバスアダプタ用ドライバ12 を含んだインストーラ14 、オペレーティングシステム11 、ディスク閉塞情報13から構成され、CD−ROM等の外部媒体やネットワークを介して、システム装置20にデータを転送する。
【0016】
システム装置20は、プロセッサ21、システムメモリ22、複数のホストバスアダプタ(HBA)30〜31から構成される。
【0017】
ディスクアレイ装置50は、複数のディスクユニット51〜53から構成され、各ディスクユニットは接続ポート54〜55の片方またはそれら両方によって接続される。各接続ポートはそれぞれ固有のWorld Wide Nameを持つ。
【0018】
システム装置20とディスクアレイ装置50は、ホストバスアダプタ30〜31から、接続ケーブル40〜41を使用して、接続ポート54〜55に接続される。
【0019】
プロセッサ21は、ホストバスアダプタ30〜31、接続ケーブル40〜41、接続ポート54〜55を介してディスクユニット51〜53に対してアクセスすることができる。
【0020】
接続ケーブル40〜41は、ファイバチャネルケーブル、またはEthernet(登録商標)ケーブルを使用する。
【0021】
ホストバスアダプタ30〜31は、内部に不揮発性メモリ32〜33を持ち、それぞれオペレーティングシステムをどの接続ポート、どのディスクユニットから起動するかを示す接続パスを指定するOS起動情報34〜35を持つ。
【0022】
冗長化構成のシステムでは,1つの接続パスで障害が発生した場合,別の接続パスからOS起動できるように,OS起動情報34〜35に複数の接続パスを設定する。
【0023】
システムメモリ22内のディスク認識テーブル23には、オペレーティングシステムをどのホストバスアダプタ、どの接続ポートを経由して、どのディスクユニットにインストールするかを示す接続パス情報が1つだけ登録される。
【0024】
図2は、不揮発性メモリ32〜33内のOS起動情報34〜35の構造を示したものである。
【0025】
OS起動情報34、35は,接続ポートのWorld Wide Name及びディスクユニットのLogical Unit番号を格納するWorld Wide Name/Logical Unit番号(WWN/LU#)格納テーブル63、前記WWN/LU#格納テーブル63内の格納番号を示すテーブルエントリ番号64、World Wide Name/Logical Unit番号格納テーブル63の有効/無効化を制御するWorld Wide Name/Logical Unit番号有効フラグ62、当該ホストアダプタからオペレーティングシステムの起動を行うことを示すOS起動有効フラグ61から構成される。
【0026】
図3は、システムメモリ22内のディスク認識テーブル23の構造を示したものである。
【0027】
ディスク認識テーブル23は、ホストアダプタ30〜31のPCIバス番号、デバイス番号、ファンクション番号(PCI番号)、およびOS起動情報34〜35のテーブルエントリ番号64、ディスクアレイ装置50の接続ポート54〜55のWorld Wide NameおよびディスクユニットのLogical Unit番号を格納する領域を持つ。
【0028】
図4は、本発明に係るホストバスアダプタ用ドライバの処理のための事前設定作業の処理フローである。
【0029】
インストール媒体10に格納されたオペレーティングシステム11をディスクアレイ装置50内のディスクユニット51にインストールした場合に、インストールしたオペレーティングシステム56を起動するためのOS起動情報の設定フローを示している。
【0030】
オペレーティングシステムのインストール/複製を実施する前に、ユーザはディスクユニット51への接続経路上にある、ホストバスアダプタ30の不揮発性メモリ32に格納されているOS起動情報34のOS起動有効フラグ61を有効状態に設定する(S101)。
【0031】
また、ユーザはOS起動情報34のWorld Wide Name/Logical Unit番号有効フラグ62を有効状態に設定する(S102)。
【0032】
また、ユーザはOS起動情報34のWWN/LU#格納テーブル63に、接続ポート54のWorld Wide Name、およびディスクユニット51のLogical Unit番号を設定する(S103)。
【0033】
さらに,ユーザはホストバスアダプタ30からオペレーティングシステム56を起動させる冗長化接続パスをWWN/LU#格納テーブル63へ全て設定するまで設定処理(S103)を繰り返す(S104)。
【0034】
ホストバスアダプタ30に接続された複数の接続パスを追加登録する場合は、他の接続ポートのWorld Wide Name、ディスクユニットのLogical Unit番号をWorld Wide Name/Logical Unit格納テーブル63へ登録する。(S103〜S104)
1つのホストバスアダプタ配下の接続パスを設定完了後,ユーザは別のホストバスアダプタからディスクユニット51への冗長化接続パスの設定が必要な場合はS101〜S104を繰り返す。(S105)
例えば、ディスクユニット51に対して、ホストバスアダプタ31,接続パス41、接続ポート55を使用したアクセス可能であり,ホストバスアダプタ31の不揮発性メモリ33に格納されているOS起動情報35に対してS101〜S104の手順で、OS起動有効フラグ61等の設定を行う。
【0035】
図5、図6は本発明に係るホストバスアダプタ用ドライバ(HBAドライバ)の処理を含むシステム全体の処理フロー図である。
【0036】
インストーラ14は、ユーザからの要求によって起動され、CD/DVD等の外部媒体やネットワーク接続を介して転送され、プロセッサ21で処理され、インストーラ14およびインストーラ14に含まれるホストバスアダプタ用ドライバ12、およびディスク閉塞情報13をシステム装置20内のシステムメモリ22に格納する(S201)。
【0037】
インストール媒体10のインストーラ14が、システムメモリ22に格納されたものをインストーラ24、ホストバスアダプタ用ドライバ12をホストバスアダプタ用ドライバ26、ディスク閉塞情報13をディスク閉塞情報25とする。
【0038】
システムメモリ22に格納されたインストーラ24を起動し、インストーラ24はディスクアレイ装置50にSCSI(Small Computer System Interface)コマンドを発行するために、ホストバスアダプタ用ドライバ26を起動する(S202)。
【0039】
システムメモリ22に格納されたインストーラ24は、ホストバスアダプタ用ドライバ26を使用し、ホストバスアダプタ30、31に接続されるディスクアレイ装置50にアクセスする。
【0040】
ディスク閉塞情報25は、インストーラ24により有効状態に定義され、ホストバスアダプタ用ドライバ26は、ドライバ初期化中にディスク閉塞情報25が有効/無効のいずれの状態かをチェックする(S203)。
【0041】
ディスク閉塞情報25が無効状態を示す場合は,ホストバスアダプタ用ドライバ26は、ホストバスアダプタ30、31に接続される全てのディスクユニットをインストーラ24からアクセス可能とする。
【0042】
ホストバスアダプタ用ドライバ26は、ディスク閉塞情報25が有効状態を示す場合、オペレーティングシステムをインストールするための単一の接続ポート、単一のディスクユニットを決定する為に、システム装置20内の全ホストバスアダプタ配下のディスクユニットを検索する。
【0043】
以下では、ホストバスアダプタ用ドライバ26がホストバスアダプタ30、31の順で各々の配下のディスクユニットを検索した場合を示す。
【0044】
ホストバスアダプタ用ドライバ26は、ホストバスアダプタ30の不揮発性メモリ32に格納されているOS起動情報34を読み出し、OS起動有効フラグ61が有効を示しているかを判定する(S204)。
【0045】
ホストバスアダプタ用ドライバ26は、OS起動有効フラグ61が有効である場合、World Wide Name/Logical Unit番号有効フラグ62が有効を示しているかを判定する(S205)。
【0046】
ホストバスアダプタ用ドライバ26は、World Wide Name/Logical Unit番号有効フラグ62が有効である場合、ホストバスアダプタ30に接続されている接続ケーブル40を使用し、接続ポート54に接続されているディスクユニットにアクセスする(S206)。
【0047】
ホストバスアダプタ用ドライバ26は、OS起動情報34のWorld Wide Name/Logical Unit番号格納テーブル63に登録されている全ての接続パス情報の中に、当該ディスクユニットアクセス時の接続ポート54のWorld Wide Name、およびディスクユニットのLogical Unit番号に一致するディスクユニットがあるかをチェックする(S207)。
【0048】
一致するディスクユニットがある場合、ホストバスアダプタ用ドライバ26は、システムメモリ22内のディスク認識テーブル23に登録済の接続パス情報があるかをチェックする(S208)。
【0049】
ディスク認識テーブル23に登録済みの接続パス情報がない場合、ホストバスアダプタ用ドライバ26は、ディスク認識テーブル23に、ホストバスアダプタ30のPCIパス番号、デバイス番号、ファンクション番号,および接続ポート54のWorld Wide Name、ディスクユニットのLogical Unit番号、さらにWorld Wide Name/Logical Unit番号が一致したOS起動情報34のWWN/LU#格納テーブルのテーブルエントリ番号64を格納する(S210)。
【0050】
ディスク認識テーブル23に登録済みの接続パス情報がある場合、ホストバスアダプタ用ドライバ26は、ホストバスアダプタ30のPCIパス番号、デバイス番号、ファンクション番号(PCI番号)が、ディスク認識テーブル23に格納されている接続パス情報のPCIパス番号、デバイス番号、ファンクション番号より小さいかをチェックし(S209)、小さいならばディスク認識テーブル23に図3で示す全ての情報を書き込む(S210)。
【0051】
また、ホストバスアダプタ30のPCI番号とディスク認識テーブル23に格納されているPCIパス番号、デバイス番号、ファンクション番号が同一だった場合、ホストバスアダプタ30のOS起動情報34のWorld Wide Name/Logical Unit番号が一致するテーブルエントリ番号64が、ディスク認識テーブル23に格納されているOS起動情報のテーブルエントリ番号より小さいかをチェックし(S209)、小さいならばディスク認識テーブル23に図3で示す全ての情報を書き込む(S210)。
【0052】
これらの処理(S206〜S210)は、ホストバスアダプタ30から参照可能な全てのディスクユニット全てに対して、OS起動情報とのチェックを繰り返す(S211)。
【0053】
さらに、ホストバスアダプタ用ドライバ26は、ホストバスアダプタ30配下の全ディスクユニットの検索が終了後、ホストバスアダプタ31配下の全ディスクユニットの検索を行う(S212)。
【0054】
ホストバスアダプタ用ドライバ26は、これら(S204〜S212)を繰り返し、システム装置20に搭載されている全てのホストバスアダプタに対してOS起動情報とのチェックを行う。
【0055】
上記によって、ディスク認識テーブル23に、ディスクアレイ装置のディスクユニット51にアクセス可能で、かつシステム装置20でPCIパス番号、デバイス番号、ファンクション番号が最若番のホストバスアダプタで、かつホストバスアダプタ内のOS起動情報60のテーブルエントリ番号64が最若番の接続パス情報が登録される。
【0056】
ホストバスアダプタドライバ26によるディスク検索が終了(S213)後、ホストバスアダプタ用ドライバ26は、インストーラ24からのSCSIコマンド起動を受け付ける(S214)。
【0057】
ホストバスアダプタ用ドライバ26は、起動元のインストーラ24によりディスク閉塞情報25が定義されているかをチェックする(S215)。
【0058】
ディスク閉塞情報25が無効状態を示す場合は,ホストバスアダプタ用ドライバ26は、インストーラからの全てのSCSIコマンド起動に対して正常に応答報告を行う(S217)。
【0059】
ディスク閉塞情報25が有効状態を示す場合は,ホストバスアダプタ用ドライバ26は、ディスク認識テーブル23に格納されているPCIバス番号、デバイス番号、ファンクション番号が一致するホストバスアダプタ,および当該アダプタに接続されているディスクアレイ装置50の接続ポートのWorld Wide Name/Logical Unit番号が一致するかをチェックする。(S216)
ホストバスアダプタ用ドライバ26は、ディスク認識テーブル23に登録された接続パス情報と一致する接続パスに対するSCSIコマンド起動に対しては、正常に応答報告を行う。(S217)
ホストバスアダプタ用ドライバ26は、ディスク認識テーブル23に登録された接続パス情報と一致しないディスクディスクユニットに対するSCSIコマンド起動に対しては、インストーラ22に対してディスク未接続状態を応答する(S218)。
【0060】
これらの処理によって、インストーラ24から参照/更新可能な接続ポート,およびディスクユニットは1つのみとなり、単一パス、単一ディスクユニットに対してオペレーティングシステムのインストールを行える(S220)。
【0061】
ディスクユニットへのオペレーティングシステムのインストールが終了後、インストーラ24を終了する(S221)。
【0062】
前記でインストール媒体に格納されたオペレーティングシステム11が,ディスクユニットにインストールされたものをオペレーティングシステム56とし、ディスクユニットにインストールされたホストバスアダプタ用ドライバをホストバスアダプタ用ドライバ58とする。
【0063】
ディスクユニットにインストールされたオペレーティングシステム56には、ホストバスアダプタ用ドライバが含まれる場合がある。
【0064】
インストール完了後、システム装置20からディスクユニット内のオペレーティングシステム56を起動する(S222)。
【0065】
但し、オペレーティングシステム56にはディスク閉塞情報が含まれておらず、ホストバスアダプタ用ドライバ58がディスク閉塞情報は無効と判定(S223)するため、図5〜図6のフローのディスク閉塞情報無効(S203、S215)の場合と同様のフローとなり、システム装置20から参照可能な全てのディスクユニットをオペレーティングシステムから使用可能である(S224)。
【図面の簡単な説明】
【0066】
【図1】本発明に係るシステム全体のブロック構成図
【図2】ホストバスアダプタ内のOS起動情報
【図3】システムメモリ内のディスク認識テーブル
【図4】OS起動情報設定フロー
【図5】システム全体処理フロー
【図6】システム全体処理フロー(続き)
【符号の説明】
【0067】
10 インストール媒体
11 オペレーティングシステム
12 ホストバスアダプタ用ドライバ
13 ディスク閉塞情報
14 インストーラ
20 システム装置
21 プロセッサ
22 システムメモリ
23 ディスク認識テーブル
24 インストーラ
25 ディスク閉塞情報
26 ホストバスアダプタ用ドライバ
30 ホストバスアダプタ
31 ホストバスアダプタ
32 不揮発性メモリ
33 不揮発性メモリ
34 OS起動情報
35 OS起動情報
40 接続ケーブル
41 接続ケーブル
50 ディスクアレイ装置
51 ディスクユニット
52 ディスクユニット
53 ディスクユニット
54 接続ポート
55 接続ポート
56 オペレーティングシステム
58 ホストバスアダプタ用ドライバ
60 OS起動情報
61 OS起動有効フラグ
62 World Wide Name/Logical Unit番号有効フラグ
63 World Wide Name/Logical Unit番号格納テーブル
64 テーブルエントリ番号

【特許請求の範囲】
【請求項1】
システム装置と複数のディスクユニットを持つI/Oデバイス装置が前記システム装置に備えられた複数のホストバスアダプタを介して接続された計算機システムにおけるオペレーティングシステムのインストール方法において、
前記計算機システムは、オペレーティングシステムをI/Oデバイス装置にインストールするインストーラと、ホストバスアダプタを制御するホストバスアダプタ用ドライバとを有し、
各ホストバスアダプタにはオペレーティングシステムを起動するための接続情報を登録するOS起動情報が設けられ、
前記ホストバスアダプタ用ドライバは、
各ホストバスアダプタが有するOS起動情報を読み出し、
前記読みだしたOS起動情報に基づいてオペレーティングシステムをインストールするためのホストバスアダプタ及び接続パスを決定し、
前記インストーラに対して前記決定したホストバスアダプタ及び接続パスのみの使用を許可することを特徴とするオペレーティングシステムのインストール方法。
【請求項2】
前記OS起動情報には当該ホストバスアダプタをOS起動に使用するか否かを制御するフラグが含まれ、
前記ホストバスアダプタ用ドライバは、
前記フラグが有効状態を示す場合に当該ホストバスアダプタがオペレーティングシステムをインストールするためのホストバスアダプタであると決定することを特徴とする請求項1記載のオペレーティングシステムのインストール方法。
【請求項3】
前記フラグが有効状態を示すホストバスアダプタが複数ある場合には、
前記ホストバスアダプタ用ドライバは、
ホストバスアダプタのPCI番号の値によりオペレーティングシステムをインストールするためのホストバスアダプタを決定することを特徴とする請求項2記載のオペレーティングシステムのインストール方法。
【請求項4】
前記ホストバスアダプタ用ドライバは、
PCI番号の値が最も小さいホストバスアダプタがオペレーティングシステムをインストールするためのホストバスアダプタであると決定することを特徴とする請求項3記載のオペレーティングシステムのインストール方法。
【請求項5】
前記OS起動情報にはオペレーティングシステムを起動するための接続パスがテーブル形式で登録され、
前記テーブルの複数のエントリに複数の接続パスが登録されている場合には、
前記ホストバスアダプタ用ドライバは、
最も小さいエントリ番号の接続パスがオペレーティングシステムをインストールするための接続パスであると決定することを特徴とする請求項1記載のオペレーティングシステムのインストール方法。
【請求項6】
システム装置と複数のディスクユニットを持つI/Oデバイス装置が前記システム装置に備えられた複数のホストバスアダプタを介して接続され、
各ホストバスアダプタにはオペレーティングシステムを起動するための接続情報を登録するOS起動情報が設けられ、
前記オペレーティングシステムを前記I/Oデバイス装置にインストールするインストーラを有した計算機システムにおけるホストバスアダプタ用ドライバにおいて、
各ホストバスアダプタが有するOS起動情報を読み出す手段、
前記読みだしたOS起動情報に基づいてオペレーティングシステムをインストールするためのホストバスアダプタ及び接続パスを決定する手段、及び
前記インストーラに対して前記決定したホストバスアダプタ及び接続パスのみの使用を許可する手段とを有することを特徴とするホストバスアダプタ用ドライバ。
【請求項7】
前記OS起動情報には当該ホストバスアダプタをOS起動に使用するか否かを制御するフラグが含まれ、
前記フラグが有効状態を示す場合に当該ホストバスアダプタがオペレーティングシステムをインストールするためのホストバスアダプタであると決定する手段を有することを特徴とする請求項6記載のホストバスアダプタ用ドライバ。
【請求項8】
前記フラグが有効状態を示すホストバスアダプタが複数ある場合には、
ホストバスアダプタのPCI番号の値によりオペレーティングシステムをインストールするためのホストバスアダプタを決定する手段を有することを特徴とする請求項7記載のホストバスアダプタ用ドライバ。
【請求項9】
PCI番号の値が最も小さいホストバスアダプタがオペレーティングシステムをインストールするためのホストバスアダプタであると決定する手段を有することを特徴とする請求項8記載のホストバスアダプタ用ドライバ。
【請求項10】
前記OS起動情報にはオペレーティングシステムを起動するための接続パスがテーブル形式で登録され、
前記テーブルの複数のエントリに複数の接続パスが登録されている場合には、
最も小さいエントリ番号の接続パスがオペレーティングシステムをインストールするための接続パスであると決定する手段を有することを特徴とする請求項9記載のホストバスアダプタ用ドライバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−276755(P2008−276755A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2008−74846(P2008−74846)
【出願日】平成20年3月24日(2008.3.24)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】