JP3659342B2 - 非並行クラスタリング環境においてscsi−3持続予約を使用しマルチパスi/oを提供する方法及び装置 - Google Patents
非並行クラスタリング環境においてscsi−3持続予約を使用しマルチパスi/oを提供する方法及び装置 Download PDFInfo
- Publication number
- JP3659342B2 JP3659342B2 JP2001300535A JP2001300535A JP3659342B2 JP 3659342 B2 JP3659342 B2 JP 3659342B2 JP 2001300535 A JP2001300535 A JP 2001300535A JP 2001300535 A JP2001300535 A JP 2001300535A JP 3659342 B2 JP3659342 B2 JP 3659342B2
- Authority
- JP
- Japan
- Prior art keywords
- reservation
- key
- persistent
- path
- option
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2005—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【発明の属する技術分野】
本発明は一般に、SCSIまたはFCP(ファイバ・チャネル・プロトコル)ホスト装置により、記憶アレイをアクセスすることに関し、特に、非並行クラスタリング環境において、SCSI−3持続予約を用いてマルチパスI/Oを提供する方法及び装置に関する。
【0002】
【従来の技術】
ディスク・ドライブ・システムはここ数年の間に、サイズ及び精巧さの両方の面で、著しく成長した。これらのシステムは一般に、複雑なマルチタスク・ディスク・ドライブ制御装置により制御される多くの大容量ディスク・ドライブ・ユニットを含む。大規模ディスク・ドライブ・システムは一般に、多数のホスト・コンピュータからコマンドを受信し、非常に多数のディスク・ドライブ大容量記憶要素を制御する。各大容量記憶ユニットは数ギガビットを越えるデータを記憶することができる。
【0003】
SCSI(small computer system interface)は、コンピュータ及び他の入出力装置を相互接続するために次第に普及した通信プロトコル規格である。SCSIの最初のバージョン(SCSI−1)は、ANSI X3.131−1986で述べられている。SCSI規格はドライブ・スピード及び容量が増加するにつれ、改訂されてきたが、特定の制限が依然存在する。
【0004】
SCSIプロトコルによれば、ホスト装置(例えばワークステーション)及びターゲット装置(例えばハード・ディスク・ドライブ)が、デイジ・チェーンにより単一バスに接続される。バス上の各装置は、ホストまたはターゲットを問わず、固有のID番号を割当てられる。バスに接続される装置の数は使用可能な固有ID番号の数により制限される。例えば、SCSI−1プロトコルの下では、8個の装置だけがSCSIバスに接続可能である。SCSIプロトコルの後のバージョンは16個の装置を規定し、将来のバージョンは間違えなく、より多くの装置を1つのSCSIバスに接続可能にするであろう。
【0005】
1つのSCSIバスに接続可能な装置の数を制限することに加え、SCSIプロトコルは特定のターゲット番号を通じてアクセス可能な論理装置(例えば個々のドライブ)の数を制限する。例えばSCSI−1規格によれば、ターゲット装置当たりの論理装置の数は8個に制限される。従って、特定のターゲット(例えばディスク・アレイ)は8個の論理装置(ディスク・ドライブ)へのアクセスを提供でき、ターゲット番号及び論理装置番号が、SCSIシステム上の特定の記憶装置を一意に識別する。SCSI−3仕様は更に機能を改善し、高速シリアル伝送インタフェースに対応するために設計された。そのために、SCSIは論理的に効果的に"階層化"された。この階層化は、ソフトウェア・インタフェースを比較的未変更のまま、ファイバ・チャネルやSSA(Serial Storage Architecture)などのシリアル相互接続にもとづく、新たな物理相互接続方式に対応する。
【0006】
特定のターゲット記憶装置をアクセスできるホストの数を増加するために、複数のSCSIバスがマルチレベル・ツリー構造において一緒に接続され、ルーティング装置がデータ及びコマンドをレベル間で受け渡しした。こうしたマルチレベル・ネットワークでは、ホストが2レベル以上離れた装置をアクセスするとき、性能遅延が生じる。更に前述の制限により、現SCSIシステムは、非常に多数の記憶装置への並列アクセスを提供する現記憶アレイにより提供される利点を利用することができない。例えば、記憶装置の数は、SCSIシステム上で使用可能なターゲット番号及び論理装置番号の有効数を越えるかもしれない。更に、各SCSIバスが1つのホストだけにより同時に使用され、同一のSCSIバス上の任意の2つのホストによる記憶アレイへの並列アクセスを阻止するかもしれない。マルチレベル・システムの異なるレベル上のホストは、記憶アレイ上の異なる装置を並列にアクセスできる。しかしながら、こうした並列アクセスはレベルを相互接続するルータの複雑度及びコストを増加させる。
【0007】
コンピュータ利用の普及は、コンピュータ・システムのデータを記憶する柔軟で、高い可用性を有するシステムに対する需要を増加させた。多くの企業は複数のホスト・コンピュータ・システムを有し、これらには独立に機能するか、ネットワークを通じて接続されるパーソナル・コンピュータ及びワークステーションが含まれる。複数のホスト・システムが複数の記憶システムの共通のプールをアクセスでき、データが全てのホスト・システムによりアクセスされることが望ましい。こうした構成は、任意の1つのホスト・システムにより使用可能なデータの総量を増加させる。また、作業負荷がホスト間で共用され、システム全体が任意のあるホストの故障から保護される。
【0008】
システムの複雑度が増すと、ディスク・ドライブまたは制御装置レベルにおける中断故障の発生が益々問題となる。結果的に、システムの信頼性がより高くなり、故障間の平均時間が増加し続けることになる。それにも関わらず、たとえ問題が数時間の内に比較的迅速に解決されたとしても、ディスク・ドライブ・システムが"ダウン"する、すなわちオフラインとなることが、ユーザにとって非常に不都合となり得る。結果の損失時間はシステム・スループット性能だけではなく、ユーザ・アプリケーション性能にも悪影響を及ぼす。更に、ユーザは故障したのが物理ディスク・ドライブか、それともその制御装置かに関与しないので、概してユーザ問題を生じるのは、システムの不都合及び故障である。
【0009】
従って、ハードウェア故障を保護するための冗長パスを設け、データ・アクセスに関する性能及び高可用性を保証することが望ましい。複数のホストが複数のコンピュータ・システムをアクセスすることを可能にする従来の解決策は、ホスト・アダプタ・カードと、外部ディスク制御装置と、標準ネットワーク通信システムとの組み合わせを使用する。
【0010】
多くのディスク・ドライブ・システムは前述のSCSIバスなどの標準化バスに頼ることにより、ホスト・コンピュータを制御装置に接続したり、制御装置とディスク・ドライブ要素とを接続したりする。従って、バスに接続されるディスク・ドライブ制御装置が故障すると、ホスト・コンピュータから見て、システム全体が故障し、前述のように、ユーザにとって受け入れることのできない結果を招く。
【0011】
この問題を解決するために、冗長操作を有するディスク・ドライブ制御装置が、SCSIバスに接続される少なくとも2つのSCSIアダプタの間に設けられる。また、少なくとも1つのホスト・コンピュータがSCSIバスに接続されてもよい。SCSIバス・アダプタの1つが故障すると、故障の検出に際してバスに接続される他のSCSIアダプタが、故障したSCSIアダプタによりサービスされる装置のために引き継ぐ。
【0012】
こうしたネットワークでは、サーバが高可用性のクラスタ・マルチプロセッシングを提供するためにリンクされる。サーバのクラスタ化はデータへの並列アクセスを可能にし、このことがビジネスに不可欠なアプリケーションにとって要求される冗長性及び故障回復力を提供する支援をする。高可用性クラスタ・マルチプロセッシングは、非並行モードで動作する間、SCSIの予約/解除を用いて、ディスク記憶装置へのアクセスを制御する。非並行モードでは、1つのクラスタ・ノードだけが論理ボリューム内のデータをアクセスし得る。高可用性クラスタ・マルチプロセッシングは、ハードウェアまたはソフトウェア故障により、このデータへのアクセスを別のクラスタ・ノードへフェールオーバする方法を提供する。しかしながら、可能であれば、記憶システムへのアクセスを提供する一方で、ノード・フェールオーバを防止することが望ましい。
【0013】
【発明が解決しようとする課題】
以上から、非並行クラスタリング環境において、マルチパスI/Oを提供する方法及び装置が待望される。
【0014】
【課題を解決するための手段】
前述の従来技術の制限を克服するために、また本明細書の読後に明らかとなる他の制限を克服するために、本発明は非並行クラスタリング環境において、マルチパスI/Oを提供する方法及び装置を開示する。
【0015】
本発明はSCSI−3持続予約コマンドを用いて、複数パスを通じて論理ボリュームへの共用非並行アクセスを提供することにより、前述の問題を解決する。
【0016】
本発明の原理に従う方法は、オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップすることにより、複数パスの全てを共用記憶システムの論理装置番号に登録することを可能にし、第2の複数パスが共用記憶システムへの持続予約を獲得後、共用記憶システムの論理装置番号をアクセスすることを可能にする。
【0017】
本発明の原理に従う方法の他の実施例には、代替のまたは任意的な追加の態様が含まれる。本発明のこうした1態様は、オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップすることにより、複数パスの全てが共用記憶システムの論理装置番号に登録することを可能にするステップが、更に1つの予約キーを用いて、第1のホストからの全てのパスを、共用記憶システムの論理装置番号に登録するステップを含む。
【0018】
本発明の別の態様は、オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップするステップが、更に持続予約及び予約キーに関する情報を獲得するステップを含む。
【0019】
本発明の別の態様では、持続予約及び予約キーに関する情報を獲得するステップが、更に予約コマンドを使用するステップを含む。
【0020】
本発明の別の態様では、予約コマンドがキー読出しサービス・アクション及び予約読出しサービス・アクションを含む。
【0021】
本発明の別の態様では、オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップするステップが、更に、共用記憶システムの論理装置番号にアクションを開始する持続予約出力コマンドを発行するステップを含む。
【0022】
本発明の別の態様では、共用記憶システムの論理装置番号とアクションを開始する持続予約出力コマンドが、更に、登録、予約、解除、クリア、プリエンプト、登録及び既存機の無視、及び打ち切り付きプリエンプトを含むグループから選択されるサービス・アクションを含む。
【0023】
本発明の別の態様では、登録サービス・アクションが追加及び削除オプションを含む。
【0024】
本発明の別の態様では、本発明の別の態様では、追加オプションが更に、構成時に各パスを登録するステップと、最初の登録試行が成功であったか否かを判断するステップと、最初の登録試行が成功でなかった場合、第2の登録試行を試行するステップと、第2の登録試行が不成功の場合、パスの状態をデッド(dead)とセットするステップと、パスがデッドにセットされた状態を有するとき、当該パスを無視するステップと、第1または第2の登録試行が成功の場合、パスの状態を真にセットするステップとを含む。
【0025】
本発明の別の態様では、削除オプションが更に、パスが持続予約を有するか否かを判断するステップと、パスが持続予約を有すると判断される場合、解除サービス・オプションをセットされた状態で持続予約を発行するステップと、パスが持続予約を有さないと判断される場合、予約を解除するステップとを含む。
【0026】
本発明の別の態様では、予約サービス・アクションが、コマンド・パラメータがセットされているか否かを調査することにより、装置が共用記憶システムの論理装置番号に予約を行う必要があるか否かを決定するステップと、コマンド・パラメータがセットされていない場合、予約要求をデフォルト指定し、いずれのイニシエータも共用記憶装置の論理装置番号を予約していない場合、共用記憶装置の論理装置番号に持続予約を実行するステップと、コマンド・パラメータがセットされている場合、当該コマンド・パラメータを実行するステップとを含む。
【0027】
本発明の別の態様では、コマンド・パラメータが強制オープン・オプションである。ここで強制オープン・オプションは、現予約キーが装置の予約キーに合致しない場合、装置に現予約キーを読出し、待機タスクをプリエンプトし、打ち切るように指示する。
【0028】
本発明の別の態様では、本方法は更に、コマンド・パラメータを未予約にセットすることにより、SCSI−2予約を阻止するステップと、強制オープン・コマンドが成功裡に完了するか否かを判断するステップと、強制オープン・コマンドが成功裡に完了する場合、装置の予約フラグを持続予約を行ったパス指標にセットし、SCSI−2未予約オプションがセットされた全てのパスをオープンするステップと、強制オープン・コマンドが成功裡に完了しない場合、エラー・コードを発行するステップとを含む。
【0029】
本発明の別の態様では、コマンド・パラメータが保存予約オプションであり、保存予約は装置に対して、現予約キーを読出し、キーが返却されるか否かを判断し、キーが返却されない場合、論理装置番号がイニシエータにより予約されないように設定し、持続予約を行うように指示する。
【0030】
本発明の別の態様では、保存予約オプションが装置に対して、返却キーが装置の予約キーに合致するか否かを判断し、返却キーが装置の予約キーに合致しない場合、エラー・コードを発行するように指示し、返却キーが装置の予約キーに合致する場合には、SCSI−2未予約オプションがセットされた全てのパスをオープンし、予約フラグを持続予約を行ったパス指標にセットし、保存予約を真にセットし、クローズ時に保存予約フィールドをチェックすることにより、持続予約が解除されるべきか否かを判断するように指示する。
【0031】
本発明の別の態様では、コマンド・パラメータが未予約オプションであり、未予約オプションは装置に対して、現予約キーを読出し、キーが返却されるか否かを判断し、論理装置番号がイニシエータにより予約されないように設定し、ホストからのオリジナル・コマンド・パラメータにより、全てのパスをオープンするように指示する。
【0032】
本発明の別の態様では、未予約オプションが装置に対して、返却キーが装置の予約キーに合致するか否かを判断し、返却キーが装置の予約キーに合致しない場合、エラー・コードを発行するように指示し、返却キーが装置の予約キーに合致する場合には、解除のための持続予約出力を発行するように指示する。
【0033】
本発明の別の態様では、コマンド・パラメータがデフォルト予約オプションであり、デフォルト予約オプションは装置に対して、全てのパスをチェックし、任意のパスが未登録か否かを判断し、全ての未登録パスを登録し、成功裡に登録されないパスを無視し、予約キーを返却及び読出し、返却される予約キーが装置の予約キーに合致しない場合、エラー・コードを発行し、SCSI−2未予約にセットされた全ての登録済みパスをオープンするように指示する。
【0034】
本発明の別の態様では、デフォルト予約オプションが装置に対して、キーが返却されない場合、登録済みパスを選択し、選択された登録済みパスに対して持続予約を発行し、持続予約が成功しない場合、そのパスを無視し、持続予約が成功の場合、予約フィールドに予約を行ったパス指標をマークし、コマンド・パラメータがSCSI−2未予約にセットされた全ての登録済みパスをオープンするように指示する。
【0035】
本発明の別の態様では、コマンド・パラメータが単一のオプションであり、単一のオプションが装置に対して、全てのパスをチェックし、任意のパスが未登録か否かを判断し、全ての未登録のパスを登録し、成功裡に登録されないパスを無視し、予約キーを返却及び読出し、返却される予約キーが装置の予約キーに合致しない場合、エラー・コードを発行し、未予約をセットされた全ての登録済みパスをオープンするように指示する。
【0036】
本発明の別の態様では、キーが返却されない場合、単一のオプションが装置に対して、登録済みパスを選択し、選択された登録済みパスの持続予約を発行し、持続予約が成功しない場合、そのパスを無視し、持続予約が成功の場合、予約フィールドに予約を行ったパス指標をマークし、コマンド・パラメータが未予約にセットされた全ての登録済みパスをオープンするように指示する。
【0037】
本発明の別の態様では、解除サービス・アクションが、保存予約オプションがセットされた未予約の全てのパスをクローズするステップと、保存予約フラグがセットされたパスをオープンするステップと、解除サービス・アクションがセットされた持続予約出力コマンドを発行し、パスの持続予約を解除するステップとを含む。
【0038】
本発明の別の実施例では、共用記憶システムにより、SCSI持続予約コマンドをサポートする方法が提供される。この方法は予約キーを処理して、登録済みホストを識別するステップと、持続予約コマンドを処理して、ホストによるアクセスを制御するステップとを含む。
【0039】
本発明の別の態様では、持続予約コマンドの処理が、複数パスの全てを共用記憶システムの論理装置番号に登録することを可能にする。
【0040】
本発明の別の態様では、この方法は更に、1つの予約キーを用いて、第1のホストからの全てのパスを、共用記憶システムの論理装置番号に登録するステップを含む。
【0041】
本発明の別の態様では、予約キーの処理が、持続予約及び予約キーに関する情報を獲得するステップを含む。
【0042】
本発明の別の態様では、持続予約及び予約キーに関する情報を獲得するステップが、更に予約コマンドを使用するステップを含む。
【0043】
本発明の別の態様では、予約コマンドがキー読出しサービス・アクション及び予約読出しサービス・アクションを含む。
【0044】
本発明の別の態様では、持続予約コマンドの処理が、共用記憶システムの論理装置番号にアクションを開始する持続予約出力コマンドを発行するステップを含む。
【0045】
本発明の別の態様では、共用記憶システムの論理装置番号にアクションを開始する持続予約出力コマンドが、登録、予約、解除、クリア、プリエンプト、登録及び既存キーの無視、及び打ち切り付きプリエンプトを含むグループから選択されるサービス・アクションを含む。
【0046】
本発明の別の実施例では、オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップするドライバが提供される。このドライバは、予約キーを処理して登録済みホストを識別し、また持続予約コマンドを処理して、ホストによるアクセスを制御するように構成される。
【0047】
本発明の別の態様では、ドライバが複数パスの全てを共用記憶システムの論理装置番号に登録することを可能にすることにより、持続予約コマンドを処理する。
【0048】
本発明の別の態様では、ドライバが1つの予約キーを用いて、第1のホストからの全てのパスを、共用記憶システムの論理装置番号に登録する。
【0049】
本発明の別の態様では、ドライバが持続予約及び予約キーに関する情報を獲得することにより、予約キーを処理する。
【0050】
本発明の別の態様では、ドライバが予約コマンドを使用することにより、持続予約及び予約キーに関する情報を獲得する。
【0051】
本発明の別の態様では、予約コマンドがキー読出しサービス・アクション及び予約読出しサービス・アクションを含む。
【0052】
本発明の別の態様では、ドライバが、共用記憶システムの論理装置番号にアクションを開始する持続予約出力コマンドを発行することにより、持続予約コマンドを処理する。
【0053】
本発明の別の態様では、共用記憶システムの論理装置番号とアクションを開始する持続予約出力コマンドが、登録、予約、解除、クリア、プリエンプト、及び打ち切り付きプリエンプトを含むグループから選択されるサービス・アクションを含む。
【0054】
【発明の実施の形態】
典型的な実施例の以下の説明では、その一部を形成する添付の図面が参照され、そこでは本発明が実施される特定の実施例が例証として示される。しかしながら、本発明の範囲から逸れることなく、構造的変化が加えられ得ることから、他の実施例についても利用可能であることが理解されよう。
【0055】
本発明は非並行クラスタリング環境において、マルチパスI/Oを提供する方法及び装置を提供する。マルチパスを介する論理ボリュームへの共用非並行アクセスが、SCSI−3持続予約コマンドを用いることにより提供される。
【0056】
図1は、本発明の環境を示すブロック図100である。図1において、LUN(論理装置番号)により示される記憶システムは、複数の論理ホストによりアクセスされる。図1では、2つのホスト110、112が示されるが、当業者であれば分かるように、本発明は2つのホストだけが記憶システムをアクセスする環境に制限されるものではない。
【0057】
所有者ホスト110及びフェールオーバ・ホスト112は、LUN0 130をアクセスする少なくとも2つのパス120を含む。所有者ホスト110及びフェールオーバ・ホスト112は、LUN0 130に登録される。しかしながら、LUN0が所有者ホスト110のキーであるキーAを有するように示されるように、所有者ホスト110はLUN0への排他的アクセスを有する。
【0058】
SCSI予約/解除は、非並行モードで動作するとき、ディスク記憶装置へのアクセスを制御する。非並行モードでは、所有者ホスト110だけがLUN0 130内のデータへのアクセスを有する。ハードウェアまたはソフトウェア障害が発生する場合、フェールオーバ・ホスト112がLUN0 130上のデータをアクセスできるように、フェールオーバ・アクセスが発生し得る。しかしながら、できればノード・フェールオーバを防止することが望ましい。各ノード110、112は共用記憶装置への複数のI/Oパス120を有するので、個々のI/Oパス内のハードウェアが故障するとき、I/Oトラフィックは代替パスにスイッチされ得る。このことはより破壊的なノード・フェールオーバを実行する必要性を除去する。
【0059】
図2は、オープン・オプションを適切なSCSI−3持続予約コマンドにマップし、共用記憶装置へのアクセスを制御するオペレーティング・システム内の擬似デバイス・ドライバ200を示す。本発明によれば、新たなデバイス・ドライバがオペレーティング・システム内に導入され、これは単一の共用装置240への複数パスの全てに対する、単一の擬似デバイス210を提供する。図2では、オープン・オプションを適切なSCSI−3持続予約コマンドにマップすることにより、パス選択及びパス再試行を提供する擬似デバイス・ドライバ210が提供される。擬似デバイス・ドライバ210は論理ボリュームへの共用非並行アクセスを提供し、装置への複数パス・アクセスを提供する。このことは装置パスへのI/O負荷平衡の追加の利点を提供し、I/Oエラーが単一の装置パス上で発生するとき、ノードがノード・フェールオーバを実行するのを防止するために、パス・フェールオーバが使用されるようにする。擬似デバイス・ドライバ210はオペレーティング・システム要求212を、SCSIディスク・ドライバ214が処理できる要求に変換する。SCSIディスク・ドライバ214は入出力(I/O)要求をコマンド・ディスクリプタ・ブロック(CDB)に変換する。SCSIディスク・ドライバ214はアダプタ・ドライバ220を呼び出し、CDBがアダプタ・ドライバ220に提供されて、I/O要求がLUN240に渡される。ホストはオペレーティング・システム構成を通じて擬似ディスク・ドライバ210をバイパスしてもよい。このように、ディスクI/O要求250が、SCSI予約/解除を提供することなく処理され、LUN240への複数パスの1つが故障しても、フェールオーバ無しに、ディスク記憶装置へのアクセスが提供される。
【0060】
共用LUN問題を示すブロック図300である。ホストは、複数のLUN320をアクセスする複数のアダプタ310を認識する。しかしながら、アダプタ330は実際には、単一のLUN340にマップされる。
【0061】
従って、本発明によれば、擬似デバイス・ドライバ内のSCSI−3持続予約コマンドが、LUNへの単一パス構成と、LUNへの複数のパス構成の両方のサポートを考慮する。単一パス構成では、LUNに対する予約/解除機能がSCSI−2正規予約/解除コマンドにより、システム・ディスク・ドライバ・レベルで実装される。
【0062】
このコマンドをマルチパス構成環境において実装するためには、あるホスト上のLUNへの全てのパスが同一の予約キーの下で、LUNに登録されなければならず、1つのパスだけがオープン時に"排他アクセス、登録者専用"の予約タイプにより、LUNに持続予約を行う必要がある。他のホストからのLUNへの全てのパスはいつでもLUNに登録できるが、このLUNをアクセスする前に、LUNに対して持続予約を取ることを要求される。この予約タイプでは、LUNに登録されるあるホスト上の全てのパスが、このLUNを共用及びアクセスできる。この擬似デバイス・ドライバが、SCSI−3持続予約コマンドをサポートしない記憶サブシステムに適用される場合、擬似デバイス・ドライバは記憶サブシステムの複数パス構成により、単一パス機能に自動的に切り替わる。
【0063】
SCSI−3持続予約は2つのコマンドをサポートする。1つは持続予約入力であり、このコマンドは、LUN上で活動状態の持続予約及び予約キーに関する情報を獲得するために使用される。持続予約入力コマンドによりサポートされる2つのサービス・アクションは、"キー読出し"及び"予約読出し"である。別のコマンドは持続予約出力であり、このコマンドは、LUNへの登録、LUNへの予約、LUNへの予約解除、他のイニシエータのLUNの予約のプリエンプト、及びLUNからの全ての予約キー及び持続予約のクリアのために使用される。持続予約出力コマンドによりサポートされる7つのサービス・アクションは、"登録"、"予約"、"解除"、"クリア"、"プリエンプト"、"登録及び既存キーの無視"、及び"打ち切り付きプリエンプト"である。
【0064】
図4は、本発明のフローチャート400である。最初に、オペレーティング・システムのオープン・オプションが、SCSI持続予約コマンドにマップされ、複数パスの全てが共用記憶システムに登録されるようにする(ステップ410)。次に、第2の複数パスが共用システムへの持続予約を獲得後、共用記憶システムをアクセスすることを許可される(ステップ420)。第1のホストからの全てのパスは、単一の予約キーを用いて共用記憶システムに登録される(図1参照)。持続予約及び予約キーに関する情報がホストにより獲得されてもよい。予約コマンドが、持続予約及び予約キーに関する情報を獲得するために使用される。予約コマンドは、キー読出しサービス・アクション及び予約読出しサービス・アクションを含む。持続予約出力コマンドは、共用記憶システムとのアクションを開始するために発行される。持続予約出力コマンドは、登録、予約、解除、クリア、プリエンプト、及び打ち切り付きプリエンプトを含むグループから選択されるサービス・アクションを含む。予約サービス・アクションは、追加オプション及び削除オプションを含む。
【0065】
図5は、LUNに登録する追加オプションのフローチャートである。構成時、各アンダパス(underpath)がLUNに登録される(ステップ510)。登録が成功か否かが判断される(ステップ512)。パスが成功裡に登録されると(分岐540)、その"登録済み"フィールドが真にセットされる(ステップ550)。成功裡に登録されない場合(分岐514)、その"登録済み"フィールドが偽にセットされる(ステップ516)。オープン時、全てのパスが再度、"登録及び既存キーの無視"により登録される(ステップ520)。失敗が発生後、引き継ぎホストが"強制オープン"を発行し、これがSDDに"打ち切り付きプリエンプト・"サービス・オプションのための持続予約出力コマンドを発行するように指示する(ステップ522)。このコマンドは次に、プリエンプト済み予約キーに合致する全ての登録キーをクリアする。
【0066】
図6は、パスをLUNから登録解除する削除オプションのフローチャート600である。パスが除去されるとき、そのパスの全ての登録済みアンダパスが、LUNからの登録解除のためのアクションを要求する。パスが削除される前に、持続予約がLUNから解除されることが要求される(ステップ610)。パス予約済みがチェックされる(ステップ620)。フラグが−1の代わりにアンダパス指標にセットされる場合(分岐622)、デバイス・クローズ呼び出し時に、そのLUNへの予約が解除されていない(ステップ624)。この状況は、パスが保存予約フラグがセットされた状態でオープンされた場合だけ発生し、デバイス・クローズ呼び出し時に予約が解除されない(ステップ626)。この場合、以前に予約を行ったアンダパスが、解除サービス・アクションのための持続予約出力を発行し、LUNから予約を解除する(ステップ628)。一方、判断ステップ620で、フラグがアンダパス指標にセットされていない場合(分岐640)、デバイス・クローズ呼び出し時に、そのLUNへの予約が解除済みである(ステップ650)。
【0067】
図7は、LUNへの予約のフローチャートである。パスがそれが接続されるLUNに予約を行う必要があるか否かが、オペレーティング・システムの論理ボリューム・マネージャ・ドライバ710などの、上位レベル呼び出し元により決定される(ステップ710)。デバイス・オープン・オプションの"ext"パラメータが調査される(ステップ720)。"ext"パラメータがセットされている場合(分岐740)、それらは予約の要求を示す(ステップ750)。この"ext"パラメータの有効オプション値を次に示す。
SC-FORCED-OPEN:装置予約競合ステータスを遵守しない。
SC-RETAIN-RESERVATION:クローズ時に装置を解除しない。
SC-NO-RESERVE:その装置へのオープン・サブルーチン呼び出しの間に、装置の予約を阻止し、複数ホストによる装置の共用を可能にする。
SC-SINGLE:選択装置を排他アクセス・モードに設定する。
【0068】
前記オプションのいずれもセットされていない場合(分岐722)、デバイス・オープン・サブルーチンが予約要求にデフォルト指定する(ステップ724)。このLUNを予約したイニシエータがまだ存在しない場合、装置は持続予約をLUNに実行する(ステップ726)。次のフローチャートは、これらのオプションの各々がSCSI−3持続予約コマンドにより実行される様子を示す。
【0069】
図8は、強制オープン・オプションのフローチャート800である。強制オープン・オプションがセットされた状態で、デバイス・オープン・サブルーチンが呼び出されると(ステップ810)、装置は現持続予約キーを読出そうとする(ステップ820)。キーが返却される場合、装置は最初に、予約キーがそのキーに合致するか否かをチェックする(ステップ830)。合致する場合(分岐830)、装置は何も実行しない。なぜなら、LUNが装置により予約されているからである。キーが返却され、それがこの装置の予約キーに合致しない場合(分岐832)、この予約キーがプリエンプトされ、その待機タスクが打ち切られる(ステップ840)。このLUNの予約はこの装置によりスチールされ、未予約パラメータをセットすることにより予約が阻止される(ステップ850)。このコマンドが成功裡に完了したか否かが判断される(ステップ852)。このコマンドが成功裡に完了しない場合(分岐854)、エラー・コードが発行される(ステップ856)。このコマンドが成功裡に完了する場合(ステップ858)、装置の予約フラグが、この予約を行ったアンダパス指標にセットされる(ステップ860)。全ての登録済みアンダパスは、オペレーティング・システムのディスク・ドライバ・オープン・ルーチンにおいて、"ext"パラメータのSC-NO-RESERVEオプションがセットされた状態でオープンされる(ステップ870)。LUNは、LUNに登録された装置の全てのアンダパスによりアクセスされ、共用され得る。
【0070】
図9は、保存予約オープン・オプションのフローチャート900である。デバイス・オープン・サブルーチンがこのオプションをセットされた状態で呼び出されるとき(ステップ910)、装置は現持続予約キーを読出す(ステップ920)。キーが返却されるか否かが判断される(ステップ930)。返却される予約キーが存在しない場合(分岐980)、これはLUNがいずれのイニシエータによっても予約されないことを意味し(ステップ982)、装置がLUNに持続予約を行う(ステップ984)。次に、予約が成功か否かが判断される(ステップ986)。この予約コマンドが失敗の場合(分岐990)、システム・ドライバはオープン呼び出しを失敗し、呼び出し側にXXXエラー・コードを返却する(ステップ992)。この予約コマンドが成功裡に完了する場合(分岐988)、全ての登録済みアンダパスがSC-NO-RESERVEオプションをセットされた状態でオープンされる(ステップ942)。
【0071】
返却される予約キーが存在する場合(分岐932)、キーが装置の予約キーに合致するか否かが判断される(ステップ934)。合致しない場合(分岐936)、ドライバはオープン呼び出しの失敗をXXXエラー・コードを呼び出し側に返却する(ステップ938)。返却キーがこの装置の予約キーに合致する場合(ステップ940)、全てのアンダパスがSC-NO-RESERVEオプションをセットされた状態でオープンされる(ステップ942)。
【0072】
全てのアンダパスがSCSI−2予約オプションをセットされた状態でオープンされる場合(ステップ942)、LUNがLUNに登録されたこの装置の全てのアンダパスによりアクセスされ、共用される。装置の予約フラグが、この予約を行ったアンダパス指標にセットされる(ステップ950)。保存予約フィールドが真にセットされる(ステップ960)。このフィールドがデバイス・クローズ呼び出し時にチェックされ、持続予約が解除されるべきか否かが判断される(ステップ970)。
【0073】
図10は、未予約オプションのフローチャート1000である。デバイス・オープン・サブルーチンがこのオプションをセットされた状態で呼び出されるとき(ステップ1010)、装置は現持続予約キーを読出す(ステップ1020)。このプロシージャを実行するために、全てのアンダパスが"登録及び既存キーを無視"により登録され、全てのアンダパスがLUNに登録されていることを確認する。LUNに登録されなかったアンダパスが存在する場合、そのアンダパスが登録サービス・アクションのための持続予約出力コマンドを発行する。再度この再試行に失敗すると、このアンダパスは無視され、残りのオペレーションをスキップされる。次に、登録済みのアンダパスが選択されて、予約読出しサービス・アクションのための持続予約入力コマンドを発行し、現持続予約キーを獲得する。
【0074】
キーが返却されるか否かが判断される(ステップ1030)。返却される予約キーが存在しない場合(分岐1080)、LUNはいずれのイニシエータによっても予約されない(ステップ1082)。呼び出し側からオペレーティング・システム・ディスク・ドライバ・オープン・ルーチンに渡されるオリジナル"ext"パラメータにより、装置がその全てのアンダパスをオープンする(ステップ1084)。
【0075】
現持続予約キーが返却される場合(分岐1032)、それが装置の予約キーに合致するか否かが判断される(ステップ1034)。合致する場合(分岐1040)、解除サービス・アクションのための持続予約コマンドが発行され、LUNへの持続予約を解除する(ステップ1042)。合致しない場合(分岐1036)、システム・ドライバはオープン呼び出しを失敗し、呼び出し側にXXXエラー・コードを返却する(ステップ1038)。
【0076】
図11は、デフォルト予約オープン・オプションのフローチャート1100である。デバイス・オープン・サブルーチンが、前記列挙されたいずれのオプションもセットされずに呼び出される場合、オープンは予約要求をデフォルト指定される。全てのアンダパスが、それらが既に構成フェーズにおいて登録済みか否かに関わらずLUNに登録される(ステップ1110)。アンダパスが"登録及び既存キーの無視"サービス・アクションのための持続予約出力コマンドを発行する。装置は予約読出しのための持続予約入力コマンドを発行し、現持続予約キーを獲得する(ステップ1130)。キーが返却されるか否かが判断される(ステップ1132)。キーが返却される場合(分岐1133)、キーが装置の予約キーに合致するか否かが判断される(ステップ1134)。それ自身の予約キーに合致しない場合(分岐1136)、ドライバはオープン呼び出しを失敗し、呼び出し側にEIOエラー・コードを返却する(ステップ1138)。返却される持続予約キーが装置の予約キーに合致する場合(分岐1140)、全ての登録済みアンダパスが、"ext"パラメータのSC-NO-RESERVEオプションをセットされた状態でオープンされる(ステップ1142)。持続予約キーが返却されない場合(分岐1144)、登録済みアンダパスが選択される(ステップ1150)。予約サービス・アクションのための持続予約出力コマンドが発行され、LUNに持続予約を行う(ステップ1152)。コマンドが成功裡に完了したか否かが判断される(ステップ1154)。成功の場合(分岐1160)、装置は予約フィールドにLUNに予約を行ったアンダパス指標をマークする(ステップ1170)。全ての登録済みアンダパスが、"ext"パラメータがSC-NO-RESERVEオプションにセットされた状態でオープンされる(ステップ1180)。予約コマンドが失敗の場合(分岐1156)、ドライバはオープン呼び出しを失敗し、呼び出し側にEIOエラー・コードを返却する(ステップ1158)。
【0077】
図12は、LUNからの解除のフローチャート1200である。デバイス・クローズ・ルーチンが呼び出されるとき、保存予約フラグが真にセットされているとき以外は、接続されるLUNへのその持続予約が解除されるべきである。具体的には、解除サービス・アクションのための持続予約出力コマンドが、予約を行い、依然その予約を保持するアンダパスにより発行されなければならない。この条件が合致しない場合、要求が無視され、良好ステータスが返却される。
【0078】
このプロシージャを実行するため、ドライバは最初に装置の全てのアンダパスをクローズし(ステップ1210)、次に予約を保持するアンダパスをオープンする(ステップ1220)。解除サービス・アクションのための持続予約出力コマンドが発行され、LUNへの持続予約を解除する(ステップ1230)。
【0079】
本発明の典型的な実施例の前述の説明は例証として提供されたものであり、本発明をここで開示された正確な形態に制限するものではない。前述の教示を鑑み、多くの変更及び変形が可能であろう。
【0080】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0081】
(1)第1の複数入出力パス内でハードウェア故障が発生するとき、第2の複数入出力パスを用いて、共用記憶システムの論理装置番号へのアクセスを提供する方法であって、
オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップし、前記複数パスの全てが前記共用記憶システムの前記論理装置番号に登録することを可能にし、前記第2の複数パスが前記共用記憶システムへの持続予約を獲得後、前記共用記憶システムの前記論理装置番号をアクセスすることを可能にする方法。
(2)前記オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップし、前記複数パスの全てが前記共用記憶システムの前記論理装置番号に登録することを可能にするステップが、1つの予約キーを用いて、第1のホストからの全てのパスを、前記共用記憶システムの前記論理装置番号に登録するステップを含む、前記(2)記載の方法。
(3)前記オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップするステップが、持続予約及び予約キーに関する情報を獲得するステップを含む、前記(1)記載の方法。
(4)前記持続予約及び予約キーに関する情報を獲得するステップが、予約コマンドを使用するステップを含む、前記(3)記載の方法。
(5)前記予約コマンドがキー読出しサービス・アクション及び予約読出しサービス・アクションを含む、前記(4)記載の方法。
(6)前記オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップするステップが、前記共用記憶システムの前記論理装置番号にアクションを開始する持続予約出力コマンドを発行するステップを含む、前記(1)記載の方法。
(7)前記共用記憶システムの前記論理装置番号にアクションを開始する持続予約出力コマンドが、登録、予約、解除、クリア、プリエンプト、登録及び既存キーの無視、及び打ち切り付きプリエンプトを含むグループから選択されるサービス・アクションを含む、前記(6)記載の方法。
(8)前記登録サービス・アクションが追加及び削除オプションを含む、前記(7)記載の方法。
(9)前記追加オプションが、
構成時に各パスを登録するステップと、
最初の登録試行が成功であったか否かを判断するステップと、
オープン時に、全てのパスの登録を再度登録により行い、既存のキーを無視するステップと、
失敗の発生後、引き継ぎホストにより強制オープンを発行し、打ち切り付きプリエンプト・サービス・オプションのための持続予約出力コマンドにより、プリエンプト予約キーに合致する全ての登録キーをクリアするステップと、
前記第1または第2の登録試行が成功の場合、前記パスの状態を真にセットするステップと
を含む、前記(7)記載の方法。
(10)前記削除オプションが、
前記パスが持続予約を有するか否かを判断するステップと、
前記パスが持続予約を有すると判断される場合、解除サービス・オプションをセットされた状態で持続予約を発行するステップと、
前記パスが持続予約を有さないと判断される場合、予約を解除するステップと
を含む、前記(7)記載の方法。
(11)前記予約サービス・アクションが、
コマンド・パラメータがセットされているか否かを調査することにより、装置が前記共用記憶システムの前記論理装置番号に予約を行う必要があるか否かを決定するステップと、
前記コマンド・パラメータがセットされていない場合、予約要求をデフォルト指定し、いずれのイニシエータも前記共用記憶装置の前記論理装置番号を予約していない場合、前記共用記憶装置の前記論理装置番号に持続予約を実行するステップと、
前記コマンド・パラメータがセットされている場合、当該コマンド・パラメータを実行するステップと
を含む、前記(7)記載の方法。
(12)前記コマンド・パラメータが強制オープン・オプションであり、前記強制オープン・オプションが、現予約キーが前記装置の予約キーに合致しない場合、前記装置に現予約キーを読出し、待機タスクをプリエンプトし、打ち切るように指示する、前記(11)記載の方法。
(13)前記コマンド・パラメータを未予約にセットすることにより、SCSI−2予約を阻止するステップと、
前記強制オープン・コマンドが成功裡に完了するか否かを判断するステップと、
前記強制オープン・コマンドが成功裡に完了する場合、前記装置の予約フラグを持続予約を行ったパス指標にセットし、SCSI−2未予約オプションがセットされた全てのパスをオープンするステップと、
前記強制オープン・コマンドが成功裡に完了しない場合、エラー・コードを発行するステップと
を含む、前記(12)記載の方法。
(14)前記コマンド・パラメータが保存予約オプションであり、前記保存予約が前記装置に対して、現予約キーを読出し、キーが返却されるか否かを判断し、前記キーが返却されない場合、前記論理装置番号がイニシエータにより予約されないように設定し、持続予約を行うように指示する、前記(11)記載の方法。
(15)前記保存予約オプションが前記装置に対して、返却キーが前記装置の予約キーに合致するか否かを判断し、前記返却キーが前記装置の予約キーに合致しない場合、エラー・コードを発行するように指示し、前記返却キーが前記装置の予約キーに合致する場合、SCSI−2未予約オプションがセットされた全てのパスをオープンし、予約フラグを持続予約を行ったパス指標にセットし、保存予約を真にセットし、クローズ時に保存予約フィールドをチェックすることにより、持続予約が解除されるべきか否かを判断するように指示する、前記(14)記載の方法。
(16)前記コマンド・パラメータが未予約オプションであり、前記未予約オプションが前記装置に対して、現予約キーを読出し、キーが返却されるか否かを判断し、前記論理装置番号がイニシエータにより予約されないように設定し、ホストからのオリジナル・コマンド・パラメータにより、全てのパスをオープンするように指示する、前記(11)記載の方法。
(17)前記未予約オプションが前記装置に対して、返却キーが前記装置の予約キーに合致するか否かを判断し、前記返却キーが前記装置の前記予約キーに合致しない場合、エラー・コードを発行するように指示し、前記返却キーが前記装置の前記予約キーに合致する場合、解除のための持続予約出力を発行するように指示する、前記(16)記載の方法。
(18)前記コマンド・パラメータがデフォルト予約オプションであり、前記デフォルト予約オプションが前記装置に対して、全てのパスをチェックし、任意のパスが未登録か否かを判断し、全ての未登録パスを登録し、成功裡に登録されないパスを無視し、予約キーを返却及び読出し、返却される予約キーが前記装置の予約キーに合致しない場合、エラー・コードを発行し、SCSI−2未予約にセットされた全ての登録済みパスをオープンするように指示する、前記(11)記載の方法。
(19)前記デフォルト予約オプションが前記装置に対して、キーが返却されない場合、登録済みパスを選択し、選択された前記登録済みパスに対して持続予約を発行し、持続予約が成功しない場合、前記パスを無視し、持続予約が成功の場合、予約フィールドに予約を行ったパス指標をマークし、前記コマンド・パラメータがSCSI−2未予約にセットされた全ての登録済みパスをオープンするように指示する、前記(18)記載の方法。
(20)前記コマンド・パラメータが単一のオプションであり、前記単一のオプションが前記装置に対して、全てのパスをチェックし、任意のパスが未登録か否かを判断し、全ての未登録のパスを登録し、成功裡に登録されないパスを無視し、予約キーを返却及び読出し、返却される予約キーが前記装置の予約キーに合致しない場合、エラー・コードを発行し、未予約をセットされた全ての登録済みパスをオープンするように指示する、前記(11)記載の方法。
(21)キーが返却されない場合、単一のオプションが前記装置に対して、登録済みパスを選択し、選択された前記登録済みパスの持続予約を発行し、持続予約が成功しない場合、前記パスを無視し、持続予約が成功の場合、予約フィールドに予約を行ったパス指標をマークし、前記コマンド・パラメータが未予約にセットされた全ての登録済みパスをオープンするように指示する、前記(20)記載の方法。
(22)前記解除サービス・アクションが、
保存予約フラグがセットされた未予約の全てのパスをクローズするステップと、
保存予約フラグがセットされたパスをオープンするステップと、
前記解除サービス・アクションがセットされた持続予約出力コマンドを発行し、パスの持続予約を解除するステップと
を含む、前記(7)記載の方法。
(23)共用記憶システムにより、SCSI持続予約コマンドをサポートする方法であって、
予約キーを処理して、登録済みホストを識別するステップと、
持続予約コマンドを処理して、ホストによるアクセスを制御するステップと
を含む、方法。
(24)前記持続予約コマンドの処理が、複数パスの全てを前記共用記憶システムの論理装置番号に登録することを可能にする、前記(23)記載の方法。
(25)1つの予約キーを用いて、第1のホストからの全てのパスを、前記共用記憶システムの論理装置番号に登録するステップを含む、前記(24)記載の方法。
(26)前記予約キーの処理が、持続予約及び予約キーに関する情報を獲得するステップを含む、前記(23)記載の方法。
(27)前記持続予約及び予約キーに関する情報を獲得するステップが、予約コマンドを使用するステップを含む、前記(26)記載の方法。
(28)前記予約コマンドがキー読出しサービス・アクション及び予約読出しサービス・アクションを含む、前記(27)記載の方法。
(29)前記持続予約コマンドの処理が、前記共用記憶システムの前記論理装置番号にアクションを開始する持続予約出力コマンドを発行するステップを含む、前記(23)記載の方法。
(30)前記共用記憶システムの前記論理装置番号にアクションを開始する持続予約出力コマンドが、登録、予約、解除、クリア、プリエンプト、登録及び既存キーの無視、及び打ち切り付きプリエンプトを含むグループから選択されるサービス・アクションを含む、前記(29)記載の方法。
(31)オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップするドライバであって、予約キーを処理して登録済みホストを識別し、また持続予約コマンドを処理して、ホストによるアクセスを制御するように構成されるドライバ。
(32)複数パスの全てを共用記憶システムの論理装置番号に登録可能にすることにより、持続予約コマンドを処理する、前記(31)記載のドライバ。
(33)1つの予約キーを用いて、第1のホストからの全てのパスを、前記共用記憶システムの前記論理装置番号に登録する、前記(32)記載のドライバ。
(34)持続予約及び予約キーに関する情報を獲得することにより、前記予約キーを処理する、前記(31)記載のドライバ。
(35)予約コマンドを使用することにより、前記持続予約及び予約キーに関する情報を獲得する、前記(34)記載のドライバ。
(36)前記予約コマンドがキー読出しサービス・アクション及び予約読出しサービス・アクションを含む、前記(35)記載のドライバ。
(37)前記共用記憶システムの前記論理装置番号にアクションを開始する持続予約出力コマンドを発行することにより、前記持続予約コマンドを処理する、前記(31)記載のドライバ。
(38)前記共用記憶システムの前記論理装置番号にアクションを開始する前記持続予約出力コマンドが、登録、予約、解除、クリア、プリエンプト、登録及び既存キーの無視、及び打ち切り付きプリエンプトを含むグループから選択されるサービス・アクションを含む、前記(37)記載のドライバ。
【図面の簡単な説明】
【図1】本発明の環境を示すブロック図である。
【図2】オープン・オプションを適切なSCSI−3持続予約コマンドにマップし、共用記憶装置へのアクセスを制御するオペレーティング・システム内の擬似ドライバを示す図である。
【図3】共用LUN問題を示すブロック図である。
【図4】本発明のフローチャートである。
【図5】LUNに登録する追加オプションのフローチャートである。
【図6】パスをLUNから登録解除する削除オプションのフローチャートである。
【図7】LUNへの予約のフローチャートである。
【図8】強制オープン・オプションのフローチャートである。
【図9】保存予約オープン・オプションのフローチャートである。
【図10】未予約オプションのフローチャートである。
【図11】デフォルト予約オープン・オプションのフローチャートである。
【図12】LUNからの解除のフローチャートである。
【符号の説明】
110 所有者ホスト
112 フェールオーバ・ホスト
120 パス
130 LUN0
200 擬似デバイス・ドライバ
210 擬似デバイス
212 オペレーティング・システム要求
214 SCSIディスク・ドライバ
220 アダプタ・ドライバ
240 共用装置
310、330 アダプタ
320、340 LUN
710 論理ボリューム・マネージャ・ドライバ
Claims (21)
- 第1の複数入出力パス内でハードウェア故障が発生するとき、第2の複数入出力パスを用いて、共用記憶システムの論理装置番号へのアクセスを提供する方法であって、
オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップして、前記複数入出力パスの全てが前記共用記憶システムの前記論理装置番号に登録することを可能にし、且つ前記第2の複数入出力パスが前記共用記憶システムへの持続予約を獲得後、前記共用記憶システムの前記論理装置番号をアクセスすることを可能にする方法。 - 前記オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップして、前記複数入出力パスの全てが前記共用記憶システムの前記論理装置番号に登録することを可能にするステップが、1つの予約キーを用いて、第1のホストからの全てのパスを、前記共用記憶システムの前記論理装置番号に登録するステップを含む、請求項1記載の方法。
- 前記オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップするステップが、持続予約及び予約キーに関する情報を獲得するステップを更に含む、請求項1記載の方法。
- 前記持続予約及び予約キーに関する情報を獲得するステップが、キー読出しサービス・アクション及び予約読出しサービス・アクションを含む予約コマンドを使用するステップを更に含む、請求項3記載の方法。
- 前記オペレーティング・システムのオープン・オプションをSCSI持続予約コマンドにマップするステップが、前記共用記憶システムの前記論理装置番号にアクションを開始する持続予約出力コマンドを発行するステップを更に含む、請求項1記載の方法。
- 前記共用記憶システムの前記論理装置番号にアクションを開始する持続予約出力コマンドが、登録、予約、解除、クリア、プリエンプト、登録及び既存キーの無視、及び打ち切り付きプリエンプトを含むグループから選択されるサービス・アクションを更に含む、請求項5記載の方法。
- 前記登録サービス・アクションが追加オプション及び削除オプションを含む、請求項6記載の方法。
- 前記追加オプションが、
構成時に各パスを登録するステップと、
最初の登録試行が成功であったか否かを判断するステップと、
オープン時に、全てのパスの登録を再度登録により行い、既存のキーを無視するステップと、
失敗の発生後、引き継ぎホストにより強制オープンを発行し、打ち切り付きプリエンプト・サービス・オプションのための持続予約出力コマンドにより、プリエンプト予約キーに合致する全ての登録キーをクリアするステップと、
前記第1または第2の登録試行が成功の場合、前記パスの状態を真にセットするステップと
を更に含む、請求項7記載の方法。 - 前記削除オプションが、
前記パスが持続予約を有するか否かを判断するステップと、
前記パスが持続予約を有すると判断される場合、解除サービス・オプションをセットされた状態で持続予約を発行するステップと、
前記パスが持続予約を有さないと判断される場合、予約を解除するステップと
を更に含む、請求項7記載の方法。 - 前記予約サービス・アクションが、
コマンド・パラメータがセットされているか否かを調査することにより、前記第1のホストが前記共用記憶システムの前記論理装置番号に予約を行う必要があるか否かを決定するステップと、
前記コマンド・パラメータがセットされていない場合、予約要求をデフォルト指定し、いずれのイニシエータも前記共用記憶システムの前記論理装置番号を予約していない場合、前記共用記憶システムの前記論理装置番号に持続予約を実行するステップと、
前記コマンド・パラメータがセットされている場合、当該コマンド・パラメータを実行するステップと
を含む、請求項6記載の方法。 - 前記コマンド・パラメータが強制オープン・オプションであり、前記強制オープン・オプションが、現予約キーが前記第1のホストの予約キーに合致しない場合、前記第1のホストに現予約キーを読出し、待機タスクをプリエンプトし、打ち切るように指示する、請求項10記載の方法。
- 前記コマンド・パラメータを未予約にセットすることにより、SCSI−2予約を阻止するステップと、
前記強制オープン・コマンドが成功裡に完了するか否かを判断するステップと、
前記強制オープン・コマンドが成功裡に完了する場合、前記第1のホストの予約フラグを持続予約を行ったパス指標にセットし、SCSI−2未予約オプションがセットされた全てのパスをオープンするステップと、
前記強制オープン・コマンドが成功裡に完了しない場合、エラー・コードを発行するステップと
を更に含む、請求項11記載の方法。 - 前記コマンド・パラメータが保存予約オプションであり、前記保存予約が前記第1のホストに対して、現予約キーを読出し、キーが返却されるか否かを判断し、前記キーが返却されない場合、前記論理装置番号がイニシエータにより予約されないように設定し、持続予約を行うように指示する、請求項10記載の方法。
- 前記保存予約オプションが前記第1のホストに対して、返却キーが第1のホストの予約キーに合致するか否かを判断し、前記返却キーが前記第1のホストの予約キーに合致しない場合、エラー・コードを発行するように指示し、前記返却キーが前記第1のホストの予約キーに合致する場合、SCSI−2未予約オプションがセットされた全てのパスをオープンし、予約フラグを持続予約を行ったパス指標にセットし、保存予約を真にセットし、クローズ時に保存予約フィールドをチェックすることにより、持続予約が解除されるべきか否かを判断するように指示する、請求項13記載の方法。
- 前記コマンド・パラメータが未予約オプションであり、前記未予約オプションが前記第1のホストに対して、現予約キーを読出し、キーが返却されるか否かを判断し、前記論理装置番号がイニシエータにより予約されないように設定し、ホストからのオリジナル・コマンド・パラメータにより、全てのパスをオープンするように指示する、請求項10記載の方法。
- 前記未予約オプションが前記第1のホストに対して、返却キーが前記第1のホストの予約キーに合致するか否かを判断し、前記返却キーが前記第1のホストの前記予約キーに合致しない場合、エラー・コードを発行するように指示し、前記返却キーが前記第1のホストの前記予約キーに合致する場合、解除のための持続予約出力を発行するように指示する、請求項15記載の方法。
- 前記コマンド・パラメータがデフォルト予約オプションであり、前記デフォルト予約オプションが前記第1のホストに対して、全てのパスをチェックし、任意のパスが未登録か否かを判断し、全ての未登録パスを登録し、成功裡に登録されないパスを無視し、予約キーを返却及び読出し、返却される予約キーが前記第1のホストの予約キーに合致しない場合、エラー・コードを発行し、SCSI−2未予約にセットされた全ての登録済みパスをオープンするように指示する、請求項10記載の方法。
- 前記デフォルト予約オプションが前記第1のホストに対して、キーが返却されない場合、登録済みパスを選択し、選択された前記登録済みパスに対して持続予約を発行し、持続予約が成功しない場合、前記パスを無視し、持続予約が成功の場合、予約フィールドに予約を行ったパス指標をマークし、前記コマンド・パラメータがSCSI−2未予約にセットされた全ての登録済みパスをオープンするように指示する、請求項17記載の方法。
- 前記コマンド・パラメータが単一のオプションであり、前記単一のオプションが前記第1のホストに対して、全てのパスをチェックし、任意のパスが未登録か否かを判断し、全ての未登録のパスを登録し、成功裡に登録されないパスを無視し、予約キーを返却及び読出し、返却される予約キーが前記第1のホストの予約キーに合致しない場合、エラー・コードを発行し、未予約をセットされた全ての登録済みパスをオープンするように指示する、請求項10記載の方法。
- キーが返却されない場合、単一のオプションが前記第1のホストに対して、登録済みパスを選択し、選択された前記登録済みパスの持続予約を発行し、持続予約が成功しない場合、前記パスを無視し、持続予約が成功の場合、予約フィールドに予約を行ったパス指標をマークし、前記コマンド・パラメータが未予約にセットされた全ての登録済みパスをオープンするように指示する、請求項19記載の方法。
- 前記解除サービス・アクションが、
保存予約フラグがセットされた未予約の全てのパスをクローズするステップと、
保存予約フラグがセットされたパスをオープンするステップと、
前記解除サービス・アクションがセットされた持続予約出力コマンドを発行し、パスの持続予約を解除するステップと
を含む、請求項6記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/687,335 US6954881B1 (en) | 2000-10-13 | 2000-10-13 | Method and apparatus for providing multi-path I/O in non-concurrent clustering environment using SCSI-3 persistent reserve |
US09/687335 | 2000-10-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002163156A JP2002163156A (ja) | 2002-06-07 |
JP3659342B2 true JP3659342B2 (ja) | 2005-06-15 |
Family
ID=24760045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001300535A Expired - Fee Related JP3659342B2 (ja) | 2000-10-13 | 2001-09-28 | 非並行クラスタリング環境においてscsi−3持続予約を使用しマルチパスi/oを提供する方法及び装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6954881B1 (ja) |
EP (1) | EP1246060B1 (ja) |
JP (1) | JP3659342B2 (ja) |
KR (1) | KR100424242B1 (ja) |
CN (1) | CN1186726C (ja) |
AT (1) | ATE313114T1 (ja) |
DE (1) | DE60115839T2 (ja) |
SG (1) | SG100764A1 (ja) |
TW (1) | TW525056B (ja) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7277952B2 (en) * | 2001-09-28 | 2007-10-02 | Microsoft Corporation | Distributed system resource protection via arbitration and ownership |
US7406039B2 (en) * | 2002-02-26 | 2008-07-29 | Dell Products L.P. | System and method for a failover protocol in storage area network controllers |
JP3882783B2 (ja) * | 2002-05-31 | 2007-02-21 | オムロン株式会社 | プログラマブルコントローラ及びcpuユニット並びに通信ユニット及び通信ユニットの制御方法 |
US7711539B1 (en) * | 2002-08-12 | 2010-05-04 | Netapp, Inc. | System and method for emulating SCSI reservations using network file access protocols |
US7307948B2 (en) * | 2002-10-21 | 2007-12-11 | Emulex Design & Manufacturing Corporation | System with multiple path fail over, fail back and load balancing |
US20040139196A1 (en) * | 2003-01-09 | 2004-07-15 | Dell Products L.P. | System and method for releasing device reservations |
US7272674B1 (en) * | 2003-06-30 | 2007-09-18 | Veritas Operating Corporation | System and method for storage device active path coordination among hosts |
US7085867B2 (en) * | 2003-08-06 | 2006-08-01 | Lsi Logic Corporation | Methods and structure for SCSI2 to SCSI3 reservation protocol mapping |
US8239552B2 (en) * | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Providing client access to devices over a network |
US7127545B1 (en) | 2003-11-19 | 2006-10-24 | Veritas Operating Corporation | System and method for dynamically loadable storage device I/O policy modules |
US7418545B2 (en) | 2004-10-28 | 2008-08-26 | Intel Corporation | Integrated circuit capable of persistent reservations |
US7370128B2 (en) | 2004-10-29 | 2008-05-06 | Intel Corporation | Expander device capable of communication protocol translation |
US7487403B2 (en) * | 2004-11-12 | 2009-02-03 | International Business Machines Corporation | Method for handling a device failure |
US7496745B1 (en) * | 2005-02-04 | 2009-02-24 | Qlogic, Corporation | Method and system for managing storage area networks |
US7577802B1 (en) * | 2005-04-18 | 2009-08-18 | Netapp, Inc. | Accessing a reservable device by transiently clearing a persistent reservation on the device in multi-host system |
JP4506594B2 (ja) * | 2005-07-22 | 2010-07-21 | 日本電気株式会社 | 冗長パス制御方法 |
US7937617B1 (en) | 2005-10-28 | 2011-05-03 | Symantec Operating Corporation | Automatic clusterwide fail-back |
US20070168507A1 (en) * | 2005-11-15 | 2007-07-19 | Microsoft Corporation | Resource arbitration via persistent reservation |
US8972613B2 (en) | 2006-10-31 | 2015-03-03 | Hewlett-Packard Development Company, L.P. | System and method for increasing input/output throughput in a data storage system |
US8060775B1 (en) | 2007-06-14 | 2011-11-15 | Symantec Corporation | Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system |
US7890555B2 (en) * | 2007-07-10 | 2011-02-15 | International Business Machines Corporation | File system mounting in a clustered file system |
US8156164B2 (en) | 2007-07-11 | 2012-04-10 | International Business Machines Corporation | Concurrent directory update in a cluster file system |
CN101471830B (zh) * | 2007-12-25 | 2011-02-02 | 英业达股份有限公司 | Linux***下的多路径访问远程逻辑设备的方法 |
US7844757B2 (en) | 2008-06-12 | 2010-11-30 | International Machines Business Corporation | Method and system for providing multiple paths to user data stored on a SCSI disk |
US7840730B2 (en) | 2008-06-27 | 2010-11-23 | Microsoft Corporation | Cluster shared volumes |
US8719473B2 (en) * | 2008-09-19 | 2014-05-06 | Microsoft Corporation | Resource arbitration for shared-write access via persistent reservation |
US8380938B2 (en) | 2010-02-24 | 2013-02-19 | International Business Machines Corporation | Providing shared access to data storage resources across cluster computing environment boundaries |
US20120102561A1 (en) * | 2010-10-26 | 2012-04-26 | International Business Machines Corporation | Token-based reservations for scsi architectures |
US8463762B2 (en) | 2010-12-17 | 2013-06-11 | Microsoft Corporation | Volumes and file system in cluster shared volumes |
US9652469B2 (en) | 2011-06-04 | 2017-05-16 | Microsoft Technology Licensing, Llc | Clustered file service |
US8627431B2 (en) | 2011-06-04 | 2014-01-07 | Microsoft Corporation | Distributed network name |
US8639856B2 (en) * | 2011-08-04 | 2014-01-28 | International Business Machines Corporation | SCSI reservation status information on a SAN disk |
US8984220B1 (en) * | 2011-09-30 | 2015-03-17 | Emc Corporation | Storage path management host view |
EP2735973A4 (en) * | 2012-02-06 | 2015-03-11 | Hitachi Ltd | COMPUTER SYSTEM AND DATA INPUT / OUTPUT METHOD |
US8738701B2 (en) | 2012-02-28 | 2014-05-27 | Microsoft Corporation | Arbitration of disk ownership in a storage pool |
US10404520B2 (en) | 2013-05-29 | 2019-09-03 | Microsoft Technology Licensing, Llc | Efficient programmatic memory access over network file access protocols |
US9641614B2 (en) | 2013-05-29 | 2017-05-02 | Microsoft Technology Licensing, Llc | Distributed storage defense in a cluster |
CN104423889B (zh) * | 2013-08-26 | 2017-06-16 | 国际商业机器公司 | 一种多路径管理方法和*** |
US9378154B2 (en) | 2014-05-02 | 2016-06-28 | International Business Machines Corporation | Secure reservation mode for logical unit numbers and persistent reservations |
TWI511037B (zh) * | 2014-05-09 | 2015-12-01 | Wistron Corp | 儲存叢集化系統與提供對叢集式儲存的存取的方法 |
US9645872B1 (en) * | 2015-03-27 | 2017-05-09 | EMC IP Holding Company LLC | Method to use multipath to reduce IO error handle duration |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
CN106557276B (zh) * | 2015-09-30 | 2021-02-23 | 中兴通讯股份有限公司 | 存储接管、切换处理方法及装置 |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US9940060B1 (en) | 2016-05-02 | 2018-04-10 | Pure Storage, Inc. | Memory use and eviction in a deduplication storage system |
US10628182B2 (en) | 2016-07-11 | 2020-04-21 | Pure Storage, Inc. | Generation of an instruction guide based on a current hardware configuration of a system |
US10540095B1 (en) | 2016-08-12 | 2020-01-21 | Pure Storage, Inc. | Efficient garbage collection for stable data |
CN106484327B (zh) * | 2016-09-20 | 2019-07-23 | 华为技术有限公司 | 一种数据处理方法及相关存储设备 |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US20180095788A1 (en) | 2016-10-04 | 2018-04-05 | Pure Storage, Inc. | Scheduling operations for a storage device |
US10678432B1 (en) | 2016-10-04 | 2020-06-09 | Pure Storage, Inc. | User space and kernel space access to memory devices through private queues |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US10387661B2 (en) | 2017-01-09 | 2019-08-20 | Pure Storage, Inc. | Data reduction with end-to-end security |
US10719273B2 (en) * | 2017-01-24 | 2020-07-21 | Wyse Technology L.L.C. | Enabling SCSI commands that are not supported by a client terminal |
US10528280B1 (en) | 2017-01-31 | 2020-01-07 | Pure Storage, Inc. | Tombstones for no longer relevant deduplication entries |
JP6933107B2 (ja) * | 2017-11-22 | 2021-09-08 | 富士通株式会社 | ストレージシステム,ストレージ制御装置およびストレージ制御プログラム |
US11397545B1 (en) | 2021-01-20 | 2022-07-26 | Pure Storage, Inc. | Emulating persistent reservations in a cloud-based storage system |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4207609A (en) | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
US4445605A (en) | 1980-08-25 | 1984-05-01 | Horton Industries, Inc. | Spring engaged fluid released fan clutch for a live shaft |
US5239632A (en) | 1992-04-16 | 1993-08-24 | Hewlett-Packard Company | Device to translate logical unit number communications on one SCSI bus to ID communications on a subordinate SCSI bus |
JPH08328991A (ja) | 1995-03-30 | 1996-12-13 | Canon Inc | インタフェース装置 |
US5909595A (en) | 1995-05-15 | 1999-06-01 | Nvidia Corporation | Method of controlling I/O routing by setting connecting context for utilizing I/O processing elements within a computer system to produce multimedia effects |
JPH08314843A (ja) | 1995-05-22 | 1996-11-29 | Hitachi Ltd | 計算機システム |
US6532547B1 (en) * | 1995-06-16 | 2003-03-11 | Emc Corporation | Redundant peripheral device subsystem |
JP3190546B2 (ja) | 1995-08-29 | 2001-07-23 | 株式会社日立製作所 | ブロックアドレスの変換方法および回転型記憶サブシステムの制御方法ならびにディスクサブシステム |
US5768623A (en) | 1995-09-19 | 1998-06-16 | International Business Machines Corporation | System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers |
US5790775A (en) * | 1995-10-23 | 1998-08-04 | Digital Equipment Corporation | Host transparent storage controller failover/failback of SCSI targets and associated units |
JP3628777B2 (ja) * | 1995-10-30 | 2005-03-16 | 株式会社日立製作所 | 外部記憶装置 |
US5867736A (en) | 1996-03-29 | 1999-02-02 | Lsi Logic Corporation | Methods for simplified integration of host based storage array control functions using read and write operations on a storage array control port |
US5925120A (en) | 1996-06-18 | 1999-07-20 | Hewlett-Packard Company | Self-contained high speed repeater/lun converter which controls all SCSI operations between the host SCSI bus and local SCSI bus |
US5828876A (en) | 1996-07-31 | 1998-10-27 | Ncr Corporation | File system for a clustered processing system |
US5892955A (en) | 1996-09-20 | 1999-04-06 | Emc Corporation | Control of a multi-user disk storage system |
US6073218A (en) | 1996-12-23 | 2000-06-06 | Lsi Logic Corp. | Methods and apparatus for coordinating shared multiple raid controller access to common storage devices |
US6151684A (en) * | 1997-03-28 | 2000-11-21 | Tandem Computers Incorporated | High availability access to input/output devices in a distributed system |
US6009535A (en) * | 1997-06-30 | 1999-12-28 | Emc Corporation | SCSI adaptor failover for a disk drive system |
US6073188A (en) | 1997-07-25 | 2000-06-06 | Compaq Computer Corporation | Electronic switchbox for selection and sharing of internal peripheral devices among different computers, the internal peripheral devices located in slots of a chassis |
US5937428A (en) | 1997-08-06 | 1999-08-10 | Lsi Logic Corporation | Method for host-based I/O workload balancing on redundant array controllers |
US6145028A (en) * | 1997-12-11 | 2000-11-07 | Ncr Corporation | Enhanced multi-pathing to an array of storage devices |
US6021454A (en) | 1998-03-27 | 2000-02-01 | Adaptec, Inc. | Data transfer between small computer system interface systems |
JP3331960B2 (ja) | 1998-04-22 | 2002-10-07 | 日本電気株式会社 | ホストコンピュータシステム |
JPH11345175A (ja) | 1998-06-02 | 1999-12-14 | Nec Kofu Ltd | 代替パス制御システム及び方法 |
US6286056B1 (en) | 1998-06-26 | 2001-09-04 | Seagate Technology Llc | Data storage device with small computer system interface providing persistent reservations |
JP2000047950A (ja) | 1998-07-24 | 2000-02-18 | Hitachi Ltd | 外部記憶装置 |
US6115772A (en) | 1998-09-18 | 2000-09-05 | International Business Machines, Inc. | System and method for host expansion and connection adaptability for a SCSI storage array |
US6182167B1 (en) | 1998-10-22 | 2001-01-30 | International Business Machines Corporation | Automatic sharing of SCSI multiport device with standard command protocol in conjunction with offline signaling |
KR20000045794A (ko) * | 1998-12-30 | 2000-07-25 | 서평원 | 스카시 버스 장애시의 재접속 방법 |
US6484229B1 (en) | 1999-03-05 | 2002-11-19 | Hitachi, Ltd. | Magnetic disk apparatus |
US6256695B1 (en) * | 1999-03-15 | 2001-07-03 | Western Digital Corporation | Disk drive method of determining SCSI bus state information after a SCSI bus reset condition |
US6408343B1 (en) * | 1999-03-29 | 2002-06-18 | Hewlett-Packard Company | Apparatus and method for failover detection |
TW457475B (en) * | 1999-12-08 | 2001-10-01 | Inventec Corp | Status detecting method for hard disk drivers |
US6658587B1 (en) | 2000-01-10 | 2003-12-02 | Sun Microsystems, Inc. | Emulation of persistent group reservations |
US6728905B1 (en) * | 2000-03-03 | 2004-04-27 | International Business Machines Corporation | Apparatus and method for rebuilding a logical device in a cluster computer system |
US6772231B2 (en) * | 2000-06-02 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Structure and process for distributing SCSI LUN semantics across parallel distributed components |
-
2000
- 2000-10-13 US US09/687,335 patent/US6954881B1/en not_active Expired - Fee Related
-
2001
- 2001-09-28 KR KR10-2001-0060297A patent/KR100424242B1/ko not_active IP Right Cessation
- 2001-09-28 JP JP2001300535A patent/JP3659342B2/ja not_active Expired - Fee Related
- 2001-10-09 TW TW090124995A patent/TW525056B/zh not_active IP Right Cessation
- 2001-10-12 CN CNB011411961A patent/CN1186726C/zh not_active Expired - Fee Related
- 2001-10-12 SG SG200106325A patent/SG100764A1/en unknown
- 2001-10-12 DE DE60115839T patent/DE60115839T2/de not_active Expired - Lifetime
- 2001-10-12 EP EP01308716A patent/EP1246060B1/en not_active Expired - Lifetime
- 2001-10-12 AT AT01308716T patent/ATE313114T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP2002163156A (ja) | 2002-06-07 |
TW525056B (en) | 2003-03-21 |
CN1348134A (zh) | 2002-05-08 |
CN1186726C (zh) | 2005-01-26 |
EP1246060A1 (en) | 2002-10-02 |
US6954881B1 (en) | 2005-10-11 |
ATE313114T1 (de) | 2005-12-15 |
SG100764A1 (en) | 2003-12-26 |
EP1246060B1 (en) | 2005-12-14 |
DE60115839D1 (de) | 2006-01-19 |
KR20020029605A (ko) | 2002-04-19 |
DE60115839T2 (de) | 2006-07-20 |
KR100424242B1 (ko) | 2004-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3659342B2 (ja) | 非並行クラスタリング環境においてscsi−3持続予約を使用しマルチパスi/oを提供する方法及び装置 | |
US6898670B2 (en) | Storage virtualization in a storage area network | |
US6816917B2 (en) | Storage system with LUN virtualization | |
US6073209A (en) | Data storage controller providing multiple hosts with access to multiple storage subsystems | |
US7475124B2 (en) | Network block services for client access of network-attached data storage in an IP network | |
JP4252301B2 (ja) | 記憶システム及びそのデータバックアップ方法 | |
US6832289B2 (en) | System and method for migrating data | |
US6105092A (en) | Computer system including a device with a plurality of identifiers | |
EP1310876B1 (en) | Computer data migration system and method therefor | |
US6633962B1 (en) | Method, system, program, and data structures for restricting host access to a storage space | |
US6571354B1 (en) | Method and apparatus for storage unit replacement according to array priority | |
KR100995466B1 (ko) | 저장장치 영역 네트워크 내의 저장장치 가상화 구현을 위한 방법 및 장치 | |
US10678465B2 (en) | Seamless migration of storage volumes between storage arrays | |
EP1324185A2 (en) | System and method for partitioning a storage area network associated data library employing element addresses | |
US7139871B2 (en) | Method of managing storage system to be managed by multiple managers | |
US6081879A (en) | Data processing system and virtual partitioning method for creating logical multi-level units of online storage | |
JP2002222110A (ja) | ストレージシステム及び仮想プライベートボリューム制御方法 | |
US20060085607A1 (en) | Method of introducing a storage system, program, and management computer | |
US6393539B1 (en) | System and method for reliably assigning and protecting data in a centralizes storage system | |
JP2004192105A (ja) | 記憶装置の接続装置およびそれを含むコンピュータシステム | |
US20070192553A1 (en) | Backup apparatus and backup method | |
US8255676B2 (en) | Non-disruptive methods for updating a controller of a storage system | |
JPH10198526A (ja) | Raid装置及びそのアクセス制御方法 | |
US8332613B1 (en) | Methods and systems for managing I/O requests to minimize disruption required for data encapsulation and de-encapsulation | |
US6842810B1 (en) | Restricted access devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040701 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040706 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041004 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050105 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050105 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20050105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050303 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20050303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050308 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |