JP2013530441A - 記憶ボリュームのディスマウント - Google Patents

記憶ボリュームのディスマウント Download PDF

Info

Publication number
JP2013530441A
JP2013530441A JP2013508106A JP2013508106A JP2013530441A JP 2013530441 A JP2013530441 A JP 2013530441A JP 2013508106 A JP2013508106 A JP 2013508106A JP 2013508106 A JP2013508106 A JP 2013508106A JP 2013530441 A JP2013530441 A JP 2013530441A
Authority
JP
Japan
Prior art keywords
storage volume
file
computer
identifying
exclusive lock
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.)
Granted
Application number
JP2013508106A
Other languages
English (en)
Other versions
JP2013530441A5 (ja
JP5768277B2 (ja
Inventor
マンモハン・サリン・スミット
デシュムク・マナ・ラクスミカント
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2013530441A publication Critical patent/JP2013530441A/ja
Publication of JP2013530441A5 publication Critical patent/JP2013530441A5/ja
Application granted granted Critical
Publication of JP5768277B2 publication Critical patent/JP5768277B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2046Error 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 where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2038Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/825Indexing scheme relating to error detection, to error correction, and to monitoring the problem or solution involving locking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

例えば、記憶ボリュームをディスマウントする命令を受けて、記憶ボリューム内のオブジェクトが特定され、そのオブジェクトを参照するハンドルが閉じられる。記憶ボリュームにある排他ロックが取得されたら、記憶ボリュームをディスマウントすることができる。記憶ボリュームは、その後再マウントすることができる。

Description

クラスタ化されたネットワーク(例えばサーバークラスタ)では、複数のエンティティ(例えばコンピュータシステムおよびそれらのシステム上で稼働しているアプリケーション)が、各々同じ記憶ボリュームにアクセスする。それらのアプリケーションのいくつか(本明細書ではプライマリアプリケーションと称する)は、可用性が高められる。残りのアプリケーションは、本明細書においてセカンダリアプリケーションと称する。
様々な理由のいずれかで、プライマリアプリケーションが利用できなくなることがある。例えば、アプリケーションを実行中のサーバーが利用できなくなることがあり、その場合には、サーバーが復旧してサービスを再開するまで、アプリケーションも利用できない。この状況を解消するために、アプリケーションは、別のサーバーでできるだけ早く再開される。フェイルオーバーと称されるプロセスである。
プライマリアプリケーションの実行をあるサーバーから別のサーバーに移転するために、そのアプリケーションによって使用されている記憶ボリュームがディスマウントされ(基本的には記憶ボリュームがオフラインになる)、再マウントされる(基本的には記憶ボリュームがオンラインになり、現在第2のサーバーで実行中のアプリケーションが記憶ボリュームを再び利用できるようになる。記憶ボリュームをディスマウントするには、記憶ボリュームで排他ロックを取得する必要がある。ただし、セカンダリアプリケーションのうちの1つもしくは複数が引き続き記憶ボリュームにアクセスしていると、排他ロックを取得できない場合がある。
従来であれば、このような状況下では、共有記憶装置が強制的にディスマウントされる。これにより、ファイルシステム内でデータの不整合が発生することが多い。そのため管理者は、手動あるいは自動で「chkdsk」などのプログラムを実行してエラーを特定し、修復する必要がある。chkdskで記憶ボリュームを修復できなければ、記憶ボリュームが再マウントされないため、ダウンタイムが増加し、ひいてはプライマリアプリケーションの可用性が下がる。
クラスタ化されたネットワークのいくつかの実施態様は、プライマリアプリケーションが排他ロックの取得試行に干渉しないように、クラスタソフトウェアを使用してプライマリアプリケーションの開始および停止を制御することができる。ただし、セカンダリアプリケーションは、クラスタソフトウェアの制御下にない場合があることから、記憶ボリュームにオープンファイルを有し得る。そのような状況下では、セカンダリアプリケーションが記憶ボリュームからディスマウントしない可能性や、強制的にディスマウントが行われる可能性があり、それによって書き込みエラーが発生し、ひいてはファイルシステムの不整合に至る可能性がある。
一実施形態では、記憶ボリュームをディスマウントする命令を受けて、記憶ボリュームでオブジェクトが特定され、オブジェクトを参照するハンドルが閉じられる。記憶ボリュームで排他ロックが取得されたら、記憶ボリュームをディスマウントすることができる。
別の実施形態では、記憶ボリュームにおける排他ロックの初回取得試行の失敗を受けて、プロセスの内部ハンドルテーブルにアクセスする。記憶ボリュームを参照する内部ハンドルテーブル内のエントリが特定され、そのエントリに対応するハンドルが閉じられる。その後、記憶ボリュームでの排他ロックの取得が改めて試行される。成功すれば、記憶ボリュームをディスマウントすることができる。
より具体的には、一実施形態において、すべてのキャッシュデータが記憶ボリュームに書き込まれるように、ボリューム・ファイル・バッファがフラッシュされる。次に、記憶ボリュームで排他ロックの取得が試行され得る。排他ロックの取得試行が失敗した場合には、記憶ボリュームにまだアクセスしている少なくとも1つのアプリケーション/プロセスが存在することを表す。その場合には、以下の動作が実行される。プロセスによって開かれるオブジェクトを特定するために、システムにおける各プロセスの内部ハンドルテーブルにアクセスする。各プロセスの内部ハンドルテーブル内のエントリごとに、エントリによって表されるオブジェクトのタイプが特定される。具体的には、「ファイル」タイプと特定されたエントリが特定される。オブジェクトのファイルタイプごとに、オブジェクト名前(例えばオープン・ファイル・ハンドルのファイルパス)が判断される。一実施形態では、付与されたアクセス権限(例えば、読み出しモード、書き込みモード、または読み出し/書き込みモード)も判断される。オブジェクトの名前が、ディスマウントされる記憶ボリュームのファイルに対応する場合には、オープンハンドルがアプリケーション/プロセスに代わって閉じられる。前述の矯正措置は、今後の参照用に記録され得る。その後、ボリューム・ファイル・バッファが再びフラッシュされ、記憶ボリュームで排他ロックの取得が改めて試行される。今述べた動作は、排他ロックが取得されるまで繰り返すことができる。記憶ボリューム用の排他ロックが取得されると、そのボリュームをディスマウントすることができる。このボリュームは、その後再マウントすることができる。
このように、本開示の実施形態によれば、プライマリアプリケーションが停止した後に共有ボリュームをディスマウントすることができ、その結果、ファイルシステムを破損することなく、ノード/システムでアプリケーションを停止し、別のノード/システムで再開することができる。記憶ボリュームをディスマウントする前、およびプライマリアプリケーションを停止した後に、そのボリュームにアクセスしているセカンダリアプリケーション/プロセスが存在する場合には、ファイルシステムがフェイルオーバー後も整合を保つように、そのセカンダリアプリケーション/プロセスのアクティブハンドルが閉じられ、ボリューム・ファイル・バッファがフラッシュされる。本開示にかかる実施形態は、物理環境および仮想環境で使用することができる。本開示にかかる実施形態は、フェイルオーバーに加え、障害復旧に使用することもできる。
当業者であれば、各種図面に示されている実施形態に関する以下の詳細な説明を読めば、本開示の各種実施形態に関するこれらの、および他の目的および利点を認識するであろう。
添付の図面は、本開示の実施形態を示し、記載内容と併せて、本開示の原理を説明するのに役立つ。これらの図面は本明細書に組み込まれ、図中、同様の数字は同様の要素を示す。
本発明にかかる実施形態を実装できるクラスタ化されたネットワークの一実施例の要素を示すブロック図である。 本発明にかかる実施形態を実装できるコンピュータシステムの一実施例を示すブロック図である。 本発明の一実施形態にかかる記憶ボリュームのマウント/ディスマウントを示すブロック図である。 本発明の一実施形態にかかるプロセスおよび関連付けられたハンドルテーブルを示すブロック図である。 本発明の一実施形態にかかるハンドルテーブルの一実施例である。 本発明の一実施形態にかかる記憶ボリュームをディスマウントし、再マウントするためのコンピュータ実装されたプロセスのフローチャートである。 本発明の一実施形態にかかる記憶ボリュームをディスマウントするためのコンピュータ実装されたプロセスのフローチャートである。 本発明の別の実施形態にかかる記憶ボリュームをディスマウントするためのコンピュータ実装されたプロセスのフローチャートである。
本開示の各種実施形態を詳しく参照する。本開示の実施例が添付の図面に示されている。図面は、これらの実施形態に関して記載されたものであるが、本開示をこれらの実施形態に制限することを意図するものではないものと理解されたい。本開示はむしろ、代替物、変形物、および均等物を網羅することを意図するものであり、これらは、添付の特許請求の範囲によって定められる本開示の精神および範囲内に含まれ得る。さらに、本開示に関する以下の詳細な説明では、本開示を完全に理解してもらうために、数々の具体的な詳細が記載されている。ただし、本開示はこれらの具体的な詳細がなくとも実施され得ることが理解されよう。他の事例では、本開示の態様を無用に分かりにくくするのを避けるために、周知の方法、手順、構成要素、および回路が詳しく記載されていない。
続く詳細な説明には、手順、論理ブロック、処理、およびコンピュータメモリ内のデータビットに対する操作の象徴的表現という観点から提示されている部分もある。これらの説明および表現は、データ処理技術の当業者により、自らの仕事の本質を他の当業者に最も効果的に伝える目的で使用される手段である。本出願では、手順、論理ブロック、プロセスなどが、所望の結果につながる首尾一貫した順序のステップまたは命令となるように考案されている。ステップは、物理量の物理的操作を用いるものである。必ずということではないが、通常であれば、これらの量は、コンピュータシステムで記憶、転送、結合、比較、およびその他の操作が可能な電気または磁気信号という形態をとる。これらの信号を処理、ビット、値、要素、記号、文字、サンプル、ピクセル等と称することは、主に広く使用されているという理由で、時として便利であるということがわかっている。
ただし、これらの用語および同様の用語はすべて、適切な物理ボリュームと関連付ける必要があり、これらのボリュームに適用された便利なラベルに過ぎないということを念頭に置くべきである。以下の説明から明らかであると別段記載されていない限り、本開示全体を通じて、「特定する」、「ディスマウントする」、「閉じる」、「取得する」、「(再)マウントする」、「(再)命名する」こと、「書き込む」、「試行する」こと、「アクセスする」、「判断する」こと、「記録する」、「もたらす」、「表す」などの用語を用いた説明は、コンピュータシステムまたは同様の電子計算装置またはプロセッサ(例えば図2のシステム210)の動作およびプロセス(例えば、図6、図7および図8のフローチャート600、700および800)を言及するものと理解される。コンピュータシステムまたは同様の電子計算装置は、コンピュータ・システム・メモリ、レジスタ、あるいはその他のかかる情報記憶装置、伝送装置または表示装置内の物理的な(電子的な)量で表されるデータを操作し、変形させる。
本明細書に記載された実施形態は、プログラムモジュールなど、1つもしくは複数のコンピュータまたは他の装置によって実行される何らかの形態のコンピュータ読み取り可能な記憶媒体に存在するコンピュータ実行可能な命令という一般的文脈で説明され得る。例えば、この例に限らないが、コンピュータ読み取り可能な記憶媒体は、コンピュータ記憶媒体と通信媒体とを備え得る。一般に、プログラムモジュールは、特定のタスクを実行するか、あるいは特定の抽象的なデータ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造体などを含む。プログラムモジュールの機能は、各種実施形態において所望どおりに結合あるいは分散され取得する。
コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造体、プログラムモジュールまたは他のデータなど、情報を記憶するための任意の方法または技術でも実装された揮発性および不揮発性、ならびに着脱可能および着脱不可の媒体を含む。コンピュータ記憶媒体は、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラマブルROM(EEPROM)、フラッシュメモリあるいは他のメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル万能ディスク(DVD)、あるいは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、あるいは他の磁気記憶装置、または所望の情報を記憶する目的で使用でき、かつその情報にアクセスして取得できるその他任意の媒体を含むが、これらに限定されない。
通信媒体は、コンピュータ実行可能な命令、データ構造体、およびプログラムモジュールを具現化することができ、任意の情報配送媒体を含む。非限定的な例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体と、音響、無線周波(RF)、赤外線および他のワイヤレス媒体などのワイヤレス媒体を含む。上記のいずれの組み合わせも、コンピュータ読み取り可能な媒体の範囲内に含めることができる。
本開示にかかる実施形態は概して、共有記憶ボリュームをスマートにディスマウントおよびマウントするための方法およびシステムを提供し、それにより、アプリケーションの実行を、ファイルシステムを破損することなく、あるシステムまたはノードから別のシステムまたはノードへと移せるようにする。ボリュームをディスマウントする前に、ボリュームにアクセスしているアプリケーションが存在する場合には、そのアプリケーションのアクティブハンドルが閉じられ、ボリューム・ファイル・バッファがフラッシュされることにより、ファイルシステムがフェイルオーバー後も整合を保つ。
図1は、本発明にかかる実施形態を実装できるクラスタ化されたネットワーク100の一実施例の要素を示すブロック図である。図1の実施例では、ネットワークが、N(例えば32)個のノードまたはシステム(例えばコンピュータシステムまたはサーバー)を含み、各々が共有記憶装置130に連結されている。ネットワーク100は、(例えば、メンテナンス、アップグレード、パッチのための)予定イベント、あるいは予定外イベント(例えば、ノードが予期せず操作不能になるなど)に対応して、自身のサービスをあるノードから別のノードへと移す機能(例えばフェイルオーバー)を提供することによってサービス(例えばアプリケーション)の有効性を改善する高可用性クラスタ(HAC)と称されることがある。それらのサービスは、例えば、データベース、ファイル共有、および電子商取引を含むことができる。
高可用性を実現するために、クラスタソフトウェアを使用して、アプリケーションおよびノード/システムのステータスを監視し、予定イベントまたは予定外イベントに対応して、アプリケーションの実行をあるシステムから別のシステムへと自動的に移すことができる。図1の実施例では、クラスタソフトウェアが、N個のシステムの各々で動作するエージェント112を備える。エージェント112は、各システムで動作しているアプリケーションを監視することができ、クラスタソフトウェアによって監視および制御されるアプリケーションの実行の開始、停止、および移動と関連付けられた動作をトリガーすることができる。
システム1、...、Nで実行中のアプリケーションのすべてがクラスタソフトウェアによって監視および/または制御されるとは限らない。説明を容易にするために、クラスタソフトウェアによって監視および制御されるアプリケーションを、本明細書ではプライマリアプリケーションと称し、他のアプリケーションをセカンダリアプリケーションと称する。例えば、プライマリアプリケーションは、高可用性アプリケーション(高水準の有用性が要求または所望されるアプリケーション)であり得る。
図1の実施例では、共有記憶装置130が、データを記憶する目的で使用される1つもしくは複数の物理ディスク、LUN(小型コンピュータ・システム・インターフェース(SCSI)論理ユニット)、または他のタイプのハードウェアなど、1つもしくは複数の物理記憶装置を含み得るデータ記憶システムである。記憶ボリューム132は、単一の物理的なディスク上に存在し得るか、あるいはボリュームマネージャ(図示せず)の制御下にある複数の物理ディスク(仮想ディスクと称される)にまたがって存在し得る1つもしくは複数のデータのボリューム(ブロック)を表す。記憶ボリューム132は、データが記憶ボリューム132に書き込まれる前にデータをバッファするボリューム・ファイル・バッファ131を備えることができる。記憶ボリューム132は、システム1で実行中のプライマリアプリケーション110およびセカンダリアプリケーション111によってアクセスすることができる。
図2は、本開示を実装するのに適したコンピュータシステム210のブロック図を示す。以降の説明では、各種多数の構成要素および要素が記載されている。それらの構成要素の各種組み合わせおよびサブセットは、図1との関連で言及された装置を実装する目的で使用することができる。例えば、システム1、...、Nはそれぞれ、コンピュータシステム210の一部を除く多くを用いるフル機能のコンピュータシステムであり得るか、それらの装置によって提供される機能をサポートするのに必要なそれらの機能のサブセットだけを利用し得る。例えば、サーバーは、キーボードまたはディスプレイを必要としない場合があり、データ記憶およびデータアクセスの機能と、かかる機能の管理とをサポートする比較的珍しいオペレーティングシステムを実行し得る。
図2の実施例では、コンピュータシステム210が、コンピュータシステムの主要サブシステムを相互接続するバス212を備える。これらのサブシステムは、セントラルプロセッサ214と、システムメモリ217と、入出力コントローラ218と、オーディオ出力インターフェース222を介するスピーカシステム220などの外部音声装置と、ディスプレイアダプタ226を介するディスプレイスクリーン224などの外部装置と、シリアルポート228および230と、キーボード232(キーボードコントローラ233とを仲介)と、記憶装置インターフェース234と、フロッピーディスク238を受容するように動作可能なフロッピー・ディスク・ドライブ237と、ファイバ・チャネル・ネットワーク290と接続するように動作可能なホスト・バス・アダプタ(HBA)・インターフェース・カード235Aと、SCSIバス239に接続するように動作可能なHBAインターフェースカード235Bと(SCSIの代替は、統合開発環境(IDE)およびシリアルATA(SATA)を含む)と、光学ディスク242を受容するように動作可能な光学ディスクドライブ240と、を備える。また、マウス246(または他のポイント&クリック装置、シリアルポート228を介してバス212に連結)と、モデム247(シリアルポート230を介してバス212に連結)と、ネットワークインターフェース248(バス212に直接連結)と、も備える。モデム247、ネットワークインターフェース248、またはその他何らかの方法を使用して、図1のネットワーク100に接続を提供することができる。
図2のバス212は、セントラルプロセッサ214とシステムメモリ217との間でのデータ通信を可能にするものであり、上記のとおり、ROMまたはフラッシュメモリとRAM(図示せず)とを備え得る。RAMは一般に、オペレーティングシステムおよびアプリケーションプログラムが読み込まれるメインメモリである。ROMまたはフラッシュメモリは、他のコードと共に、周辺構成要素との相互動作など、基本的なハードウェア動作を制御する基本入出力システム(BIOS)を格納することができる。
コンピュータシステム210に存在するアプリケーションは概して、ハード・ディスク・ドライブ(例えば固定ディスク244)、光学ドライブ(例えば光学ドライブ240)、フロッピー・ディスク・ユニット237、または他の記憶媒体など、コンピュータ読み取り可能な記憶媒体に記憶され、アクセスされる。アプリケーションは、ネットワークモデム247またはインターフェース248を介してアクセスされたときにアプリケーションおよびデータ通信技術に従って変調される電子信号という形態であり得る。
引き続き図2を参照すると、記憶装置インターフェース234は、コンピュータシステム210の他の記憶装置インターフェースと同様、固定ディスクドライブ244など、情報の記憶装置および/または取得のために標準的なコンピュータ読み取り可能な記憶媒体に接続することができる。固定ディスクドライブ244は、コンピュータシステム210の一部であってよく、あるいは別々になっており、他のインターフェースシステムを通じてアクセスされるようになっていてもよい。モデム247は、電話リンク経由でリモートサーバーとの、あるいはインターネット・サービス・プロバイダ(ISP)経由でインターネットとの直接接続を提供し得る。ネットワークインターフェース248は、POP(通信アクセスポイント)経由でのインターネットとの直接ネットワークリンクを介してリモートサーバーとの直接接続を提供し得る。ネットワークインターフェース248は、デジタル移動電話接続、セルラー方式デジタル・パケット・データ(CDPD)接続、デジタル衛星データ接続などを含む無線技法を用いてかかる接続を提供してもよい。
その他多くの装置またはサブシステム(図2で明示せず)が、同様の方法で接続されてもよい(例えば、文書スキャナ、デジタルカメラなど)。逆に言えば、本開示を実施するのに、図2に示す装置のすべてが存在する必要があるというわけではない。これらの装置およびサブシステムは、図2に示すものとは別の方法で相互接続することもできる。
図2で示すようなコンピュータシステムの動作は、当該技術において十分に周知されており、本出願では詳述しない。本開示を実装するコードは、システムメモリ217、固定ディスク244、光学ディスク242、またはフロッピーディスク238のうちの1つもしくは複数などのコンピュータ読み取り可能な記憶媒体に記憶することができる。コンピュータシステム210に設けられたオペレーティングシステムは、MS−DOS(登録商標)、MS−WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、Linux(登録商標)、または別の公知のオペレーティングシステムであってよい。
さらに、本明細書に記載された信号に関して、当業者であれば、信号が第1のブロックから第2のブロックへと送信可能であること、あるいは、信号がブロック間で改変(例えば、増幅、減衰、遅延、ラッチ、バッファ、逆転、フィルタリング、または他の方法による改変)可能であることを認識するであろう。上記実施形態の信号は、あるブロックから次のブロックへと送信されるものと特徴付けられるが、本開示の他の実施形態は、信号の情報的側面および/または機能的側面がブロック間で送信される限り、改変された信号を、かかる直接送信された信号に代わって含んでもよい。関与する回路に物理的制限がある(例えば、いくらかの減衰および遅延が必然的に生じる)ことから、ある程度までは、第2のブロックにおける信号入力を、第1のブロックからの第1の信号出力から派生した第2の信号として概念化することができる。そのため、本明細書で使用されるとおり、第1の信号から派生した第2の信号は、第1の信号または第1の信号が改変されたものを含み、改変の原因が回路上の制限か、第1の信号の情報的側面および/または最終的な機能的側面を変更しない他の回路要素の通過かを問わない。
上記のとおり、本開示にかかる実施形態は、共有記憶ボリュームをスマートにディスマウントおよびマウントするための方法およびシステムを提供し、それにより、ファイルシステムを破損することなく、アプリケーションをあるシステムから別のシステムへと移せるようにする。下記の説明が単一のアプリケーションを言及する場合であっても、その説明は複数のアプリケーションへと容易に拡大することができる。
まず図3Aを参照すると、プライマリアプリケーション310およびセカンダリアプリケーション311が、システム1で実行中である。図3Aの実施例では、アプリケーション310および311が、記憶ボリューム132(例えばボリューム名「F:\」)から、データを読み出し、かつ/または書き込むことができる。中でも特に、記憶ボリューム132にデータを書き込むアプリケーションを対象としているが、本開示はそのタイプのアプリケーションに制限されない。なお、アプリケーション330および331は、システム1にマウントされている間、共有記憶ボリューム132にアクセスすることができず、システム1からディスマウントされ、システムNにマウントされれば、共有記憶ボリューム132にアクセスできるようになる。
図3Bの実施例では、システム1でプライマリアプリケーション310の実行を停止して、システム2で冗長プライマリアプリケーション310の実行を開始することが決定される。換言すれば、プライマリアプリケーション310をシステム1からシステム2にフェイルオーバーすることが決定される。上記のとおり、この決定は、予定または予定外の停止の結果であり得る。プライマリアプリケーション310をフェイルオーバーするために、そのアプリケーション、ならびに記憶ボリューム132(プライマリアプリケーション310によって使用されている記憶ボリューム)を使用している他のアプリケーションがシャットダウンされ、その後記憶ボリューム132をディスマウントできるようになる。
プライマリアプリケーション310は、クラスタソフトウェア(例えば図1のエージェント112)によってシャットダウンすることができる。ただし、本明細書で先述のとおり、セカンダリアプリケーション311は、クラスタソフトウェアの制御下にない。一実施形態では、セカンダリアプリケーション311をシャットダウンするのに、図6に関連して後述する方法が使用される。
引き続き図3Bを参照すると、記憶ボリューム132へのアクセス権を有するプライマリおよびセカンダリアプリケーションがシャットダウンされた後に、その記憶ボリューム132をディスマウントすることができる。それらの動作が実行されると、プライマリアプリケーション310をシステム1からシステム2にフェイルオーバーすることができる。
ここで図3Cを参照すると、記憶ボリューム132が再マウントされた後、プライマリアプリケーション310はシステム2にフェイルオーバーすることができる。より具体的には、図3Cの実施例において、記憶ボリューム132はシステム2で「F:\」として再マウントされ、システム2でプライマリアプリケーションが開始される。その結果、記憶ボリューム132は、システム2で動作するその他任意のアプリケーションによって、(システムに2を現在実行中の)プライマリアプリケーション310によってアクセスすることができる。
一般的に言って、システム1、2、...、N上で稼働中のアプリケーションの各々は、1つもしくは複数のプロセスと関連付けられ得る。ここで図4の実施例を参照すると、プロセス1はセカンダリアプリケーション311と関連付けられており、プロセス2は異なるアプリケーションと関連付けられており、プロセスMはさらに別のアプリケーションと関連付けられている。説明が単一のプロセスを言及する場合であっても、その説明は複数のプロセスへと容易に拡大することができる。
内部ハンドルテーブルは、各プロセスと関連付けられている。一般に、ハンドルテーブルとは、特定のプロセスと関連付けられたオペレーティングシステム固有のデータ構造体のことであり、そのプロセスによって開かれるオブジェクト(例えば実行オブジェクト)を特定(列記)する。一般にハンドルテーブルは、システム/ノードあたりのプロセスごとに存在する。図4の実施例では、ハンドルテーブル1がプロセス1と関連付けられており、プロセス1はシステム1(図3A)で実行中のセカンダリアプリケーション311と関連付けられている。同様に、ハンドルテーブル2はプロセス2と関連付けられており、プロセス2は、クラスタ化されたネットワーク100(図1)におけるシステム(システム1または別のシステム)のうちの1つで実行中の異なるアプリケーションと関連付けられているという具合である。
一実施形態では、各ハンドルテーブルがいくつかのエントリを含んでおり、各エントリはオープンハンドルを特定する。例えば、ハンドルテーブル1は、エントリ(オープンハンドル)1、2、...、Kを含む。あるプロセスのハンドルテーブルに記載されている各ハンドルは、そのプロセスと関連付けられたオブジェクト(例えば実行オブジェクト)に対応する。したがって、ハンドルテーブル1は、プロセス1と関連付けられたオブジェクトのリストを含む。
図4に示すとおり、オブジェクトのエントリは、オブジェクトと関連付けられた一意の名前、オブジェクトタイプ、およびオブジェクトと関連付けられた権限などの情報を含むが、これらに制限されない。以降の説明からわかるように、「ファイル」タイプのオブジェクトを特に対象としている。
図5は、本発明の一実施形態にかかるハンドルテーブル1に含まれ得る情報のタイプの一例を示す。ハンドルテーブル1は、オブジェクト、オブジェクトのタイプ、および関連付けられた権限の完全名を含む。ファイルタイプのオブジェクトの場合、完全名は、ファイルが存在する記憶ボリュームの識別情報を含む完全ファイルパスを含む。図5には、完全名/完全ファイルパスが示されておらず、マウントされたボリュームの名前だけが示されている。例えば、ハンドル1は、「F:\」(図1の共有記憶装置130にある記憶ボリューム132)にマッピングされているファイルタイプのオブジェクトと関連付けられており、ハンドル4は、異なる記憶ボリューム「C:\」(図示せず)にマッピングされているファイルタイプのオブジェクトと関連付けられている。ファイルタイプのオブジェクトの場合、権限のタイプは、読み出しのみ、書き込みのみ、および読み書き(読み出しおよび書き込み)を含み得る。
図6は、本発明の一実施形態にかかる記憶ボリュームをディスマウントし、再マウントするためのコンピュータ実装されたプロセスのフローチャート600である。図7は、本発明の一実施形態にかかる記憶ボリュームをディスマウントするためのコンピュータ実装されたプロセスのフローチャート700である。図8は、本発明の別の実施形態にかかる記憶ボリュームをディスマウントするためのコンピュータ実装されたプロセスのフローチャート800である。フローチャート600、700、および800は、(例えば図2のシステム210における)何らかの形態のコンピュータ読み取り可能な記憶媒体に記憶されているコンピュータ実行可能な命令として実装することができる。
一実施形態において、図6のブロック602で、すべてのキャッシュデータ(例えばNew Technology File System(NTFS)データ)が図1の記憶ボリューム132(例えば「F:\」という名前の記憶ボリューム)に書き込まれるように、ボリューム・ファイル・バッファ131(図1)がフラッシュされる。この機能は、オペレーティングシステムによって提供されるアプリケーション・プログラミング・インターフェース(API)によって発行されたコマンドまたは命令を受けて実行することができる。
一実施形態において、ブロック604で、記憶ボリューム132(F:\)における排他ロックの取得が試行される。この機能は、オペレーティングシステムによって提供される別のAPIによって実行することができる。
ブロック606で排他ロックが取得できれば、フローチャートがブロック618へと進む。ただし、排他ロックの取得試行が失敗した場合には、まだ記憶ボリューム132(F:\)にアクセスしている少なくとも1つのアプリケーション/プロセスが存在することを示す。その場合には、フローチャート600がブロック608へと進む。ブロック604で使用されたAPIは、排他ロックを取得できなかったことを示すコマンドまたは命令を発行することができる。
ブロック608で、それぞれのプロセスによって開かれるオブジェクト(例えばファイル)を特定するために記憶ボリューム132にアクセスするシステムにおける各プロセスの内部ハンドルテーブル(図4および図5)が存在する。すなわち、システム1に存在するプロセスに対応する各ハンドルテーブル(図4)にアクセスして、それらのプロセスのいずれかが記憶ボリューム132(F:\)にアクセスしているかどうかを判断する。
ブロック610で、システムにおける各プロセスの内部ハンドルテーブルに記載されたエントリ(オープンハンドル)ごとに、エントリによって表されるオブジェクトのタイプが特定される。具体的には、「ファイル」タイプと特定されたエントリ(ハンドル)が特定される(図5を参照)。一実施形態では、ハンドルテーブルから、ファイルと入力されたオブジェクトだけが検索される。記憶ボリューム132(F:\)にアクセス(読み出しおよび/または書き込み)するオブジェクトであることから、ファイルタイプのオブジェクトを特に対象としている。
ブロック612で、ブロック610で特定されたオブジェクトのファイルタイプごとに、オブジェクトの名前(例えばオープン・ファイル・ハンドルのファイルパス)が判断される(図5を参照)。ファイルタイプのオブジェクトが記憶ボリューム132(F:\)にマッピングされる名前(ファイルパス)を有する場合には、そのハンドルが閉じられる。一実施形態では、付与されたアクセス権限(例えば、読み出しモード、書き込みモード、または読み出し/書き込みモード)も判断される。
ブロック614で、オブジェクトの名前が、ディスマウントされる記憶ボリューム132のファイルに対応する場合には、オブジェクトのオープンハンドルがアプリケーション/プロセスに代わって閉じられる。プロセスが、ディスマウントされるボリューム以外の記憶ボリュームのファイルにアクセスしている場合には、ディスマウントされる記憶ボリューム(記憶ボリューム132)に存在するそれらのオブジェクトのハンドルだけが閉じられ、他の記憶ボリュームにある他のファイルを対象とするハンドルを開いたままとなる。例えば、図5を参照すると、ハンドル1および3は、記憶ボリューム132(F:\)を参照するので閉じられるが、ハンドル4は、異なる記憶ボリューム(C:\)を指し示しているので、(ファイルタイプのオブジェクトと関連付けられていても)閉じる必要がない。オペレーティングシステムによって提供されるAPIを使用して、適切なオープンハンドルを閉じることができる。
何かの理由でハンドルを閉じることができない場合には、プロセス自体を終了することができる。プロセスを終了した場合、そのプロセスは、記憶ボリューム132がディスマウントされた後に再開することができる。
図6のブロック616で、上記矯正措置が、今後の参照のために記録されてもよい。
その後、フローチャート600はブロック602に戻る。換言すれば、今述べた動作の実行中に蓄積されたNTFSデータが記憶ボリューム132に書き込まれるように、ファイルバッファ131が再度フラッシュされる。ブロック604で、記憶ボリューム132における排他ロックの取得が改めて試行される。(例えば、プロセスのうちの1つが新しいハンドルを開いたという理由で)不成功となった場合には、排他ロックが取得されるまで、今述べた動作が実行される。
ブロック618で、記憶ボリューム132の排他ロックが取得されると、そのボリュームをディスマウントすることができる。
ブロック620で、記憶ボリューム132がマウント(再マウント)され、フェイルオーバーシステム/ノード(例えば図3Cのシステム2)がこのボリュームを利用できるようになる。
本発明の一実施形態によれば、3つの可能な動作モードがある。モード1では、記憶ボリューム132にある排他ロックが取得されないと、クラスタソフトウェアがそのボリュームをオフラインにするための試行を中止する。モード1はその後、手動介入と矯正ステップとに依存する。モード2では、クラスタソフトウェアが、図6に記載した方法で記憶ボリューム132をスマートにディスマウントする。モード3では、記憶ボリューム132にある排他ロックが取得されないと、記憶ボリュームが強制的にディスマウントされる。
ここで図7を参照すると、ブロック702で、記憶ボリュームをディスマウントする命令を受けて、記憶ボリューム132(図1)でオブジェクトが特定される。この動作の前に、かつディスマウント命令を受けて、キャッシュデータがファイルバッファ131(図1)から記憶ボリューム132に書き込まれてもよく、そのボリュームにおける排他ロックの初回取得試行が行われてもよい。
ブロック704で、オブジェクトを参照するハンドルが閉じられる。一実施形態では、その記憶ボリュームを参照するハンドルテーブル内のエントリを特定することにより、1つもしくは複数のハンドルが、記憶ボリューム132にアクセスしている各プロセスの内部ハンドルテーブル(図4および図5)に最初にアクセスすることによって閉じられる。より具体的には、一実施形態において、ハンドルテーブルにあるファイルタイプのオブジェクトが特定され、ファイルタイプのオブジェクトの名前がアクセスされ、その名前に含まれるファイルパスが記憶ボリューム132内のファイルに対応するかどうかが判断される。一実施形態では、ログが更新されて、オープンハンドルが閉じられたということを記録する。
ブロック706で、記憶ボリューム132において排他ロックが取得される。排他ロックを取得する前に、キャッシュデータがファイルバッファ131から記憶ボリューム132に再度書き込まれてもよい。
ブロック708で、記憶ボリューム132をディスマウントできるようになる。記憶ボリューム132は、異なるシステム/ノードで再びマウントされ、その後アプリケーションがフェイルオーバーされる。
ここで図8を参照すると、ブロック802で、記憶ボリュームにおける排他ロックの初回取得試行の失敗を受けて、各プロセスの内部ハンドルテーブルにアクセスする。この初回試行の前に、おそらくはディスマウント命令を受けて、キャッシュデータがファイルバッファ131(図1)から記憶ボリューム132(図1)に書き込まれてもよい。
ブロック804で、内部ハンドルテーブル(図4および5)にあり、記憶ボリューム132を参照するエントリが特定される。より具体的には、本明細書に既述のとおり、一実施形態において、ハンドルテーブルにあるファイルタイプのオブジェクトが特定され、ファイルタイプのオブジェクトの名前がアクセスされ、その名前に含まれるファイルパスが記憶ボリューム132内のファイルに対応するかどうかが判断される。
ブロック806で、ハンドルテーブル内のエントリに対応するハンドルが閉じられる。
その後ブロック808で、記憶ボリューム132における2度目の排他ロック取得試行が行われる。2度目の試行を行う前に、キャッシュデータがファイルバッファ131から記憶ボリューム132に再度書き込まれてもよい。
排他ロックが成功した場合には、ブロック810で、記憶ボリューム132をディスマウントすることができ、続いて(アプリケーションのフェイルオーバー前に)マウントすることができる。
要約すると、本開示の実施形態によれば、プライマリアプリケーションが停止した後に共有記憶ボリュームをディスマウントすることができ、その結果、ファイルシステムを破損することなく、アプリケーションを停止し、別のノード/システムで再開することができる。記憶ボリュームをディスマウントする前、およびプライマリアプリケーションを停止した後に、そのボリュームにアクセスしているセカンダリアプリケーション/プロセスが存在する場合には、ファイルシステムがフェイルオーバー後も整合を保つように、そのセカンダリアプリケーション/プロセスのアクティブハンドルが閉じられ、ボリューム・ファイル・バッファがフラッシュされる。従来の手法と比較して、セカンダリアプリケーションのハンドルが容易に特定され、閉じられるので、記憶ボリュームを速やかにディスマウントすることができる。そのため、ダウンタイムが減少し、プライマリ(高可用性)アプリケーションの可用性が高まる。
本開示にかかる実施形態は、物理環境および仮想環境で使用することができる。本開示にかかる実施形態は、フェイルオーバーに加え、障害復旧に使用することもできる。
以上の記載内容は、具体的な実施形態を参照しながら説明目的で記載したものである。ただし、上記の代表的な説明は、すべてを網羅したり、本発明を開示された正確な形態に制限したりすることを意図していない。上記教示を鑑みて多くの改変および変形が可能である。これらの実施形態は、本発明およびその実践的な応用例を最もよく説明し、それによって他の当業者が、意図された特定の用途に適し取得する各種改変を用いて本発明および各種実施形態を最良に活用できるようにするために選択および記載されたものである。
以上、本発明にかかる実施形態を記載してきた。本開示について、特定の実施形態で記載してきたが、本発明はかかる実施形態によって制限されると解釈されるべきでなく、下記の請求項に従って解釈されるものと理解されるべきである。

Claims (20)

  1. ネットワーク内の第1のノードで記憶ボリュームをディスマウントする命令を受けて、前記記憶ボリュームでオブジェクトを特定することと、
    前記オブジェクトを参照するハンドルを閉じることと、
    前記閉じることの後に、前記記憶ボリュームで排他ロックを取得することと、
    前記排他ロックを取得した後に前記記憶ボリュームをディスマウントすることと、
    を含む方法をコンピュータシステムに実行させるためのコンピュータ実行可能な命令を有する非一時的コンピュータ読み取り可能な記憶媒体。
  2. 前記方法が、前記特定することの前に、
    前記記憶ボリュームのファイルバッファから前記記憶ボリュームにキャッシュデータを書き込むことと、
    前記記憶ボリュームで前記排他ロックの取得を試行することと、
    をさらに含み、前記試行が不成功の場合に、前記特定することおよび前記閉じることが実行される、請求項1に記載のコンピュータ読み取り可能な記憶媒体。
  3. 前記閉じることが、
    前記記憶ボリュームにアクセスしている各プロセスの内部ハンドルテーブルにアクセスすることであって、前記内部ハンドルテーブルがハンドルを含む複数のエントリを備えることと、
    前記記憶ボリュームを参照する前記エントリのうち、前記オブジェクトに対応するエントリを特定することと、
    をさらに含む、請求項1に記載のコンピュータ読み取り可能な記憶媒体。
  4. エントリを前記特定することが、
    前記エントリでファイルタイプのオブジェクトを特定することと、
    前記ファイルタイプのオブジェクトの名前にアクセスすることと、
    前記名前に含まれるファイルパスが前記記憶ボリュームにあるファイルに対応するかどうかを判断することと、
    を含む、請求項3に記載のコンピュータ読み取り可能な記憶媒体。
  5. 前記方法が、前記ファイルと関連付けられたアクセス権限を判断することをさらに含む、請求項4に記載のコンピュータ読み取り可能な記憶媒体。
  6. 前記方法が、前記閉じることの後および前記取得することの前に、前記記憶ボリュームのファイルバッファから前記記憶ボリュームにキャッシュデータを書き込むことをさらに含む、請求項1に記載のコンピュータ読み取り可能な記憶媒体。
  7. 前記方法が、前記ディスマウント後に前記記憶ボリュームを再マウントすることをさらに含む、請求項1に記載のコンピュータ読み取り可能な記憶媒体。
  8. 前記方法が、前記ハンドルが閉じられたことをログに示すことをさらに含む、請求項1に記載のコンピュータ読み取り可能な記憶媒体。
  9. 計算装置によって実行された場合に、
    ネットワーク内の第1のノードにある記憶ボリュームにおける排他ロックの初回取得試行の失敗を受けて、前記計算装置で実行中の各プロセスに対応する内部ハンドルテーブルにアクセスすることと、
    前記記憶ボリュームを参照する前記内部ハンドルテーブル内のエントリを特定することと、
    前記エントリに対応するハンドルを閉じることと、
    前記閉じる動作の後に、前記記憶ボリュームで前記排他ロックを取得する2度目の試行を行うことと、
    前記排他ロックを取得した後に前記記憶ボリュームをディスマウントすることと、
    を含む動作を前記計算装置に実行させる命令を記憶しているコンピュータ読み取り可能な媒体を含む製品。
  10. 前記動作が、前記初回試行の前に、前記記憶ボリュームのファイルバッファから前記記憶ボリュームにキャッシュデータを書き込むことをさらに含む、請求項9に記載の製品。
  11. 前記初回試行が、前記記憶ボリュームをディスマウントする命令を受けて行われる、請求項9に記載の製品。
  12. エントリを特定する前記動作が、
    前記内部ハンドルテーブルでファイルタイプのオブジェクトを特定することと、
    前記ファイルタイプのオブジェクトの名前にアクセスすることと、
    前記名前に含まれるファイルパスが前記記憶ボリュームにあるファイルに対応するかどうかを判断することと、
    を含む、請求項9に記載の製品。
  13. 前記動作が、前記ファイルと関連付けられたアクセス権限を判断することをさらに含む、請求項12に記載の製品。
  14. 前記動作が、前記閉じる動作の後および前記2度目の試行の前に、前記記憶ボリュームのファイルバッファから前記記憶ボリュームにキャッシュデータを書き込むことをさらに含む、請求項9に記載の製品。
  15. 前記動作が、前記ディスマウント後に前記記憶ボリュームを再マウントすることをさらに含む、請求項9に記載の製品。
  16. プロセッサと、
    前記プロセッサに連結され、かつ、前記計算装置によって実行された場合に、
    記憶ボリュームのファイルバッファ内のデータを前記記憶ボリュームに書き込ませることと、
    前記記憶ボリュームで排他ロックを取得する前に、
    プロセスが前記記憶ボリュームにアクセスしていると判断することと、
    前記プロセスの内部ハンドルテーブルにアクセスすることと、
    前記記憶ボリュームを参照する前記内部ハンドルテーブル内のエントリを特定することと、
    前記エントリに対応するハンドルを閉じることと、
    前記閉じた後に、前記排他ロックを取得することと、
    前記排他ロックを取得した後に前記記憶ボリュームをディスマウントすることと、
    を含む方法を前記計算装置に実行させる命令を記憶しているメモリと、
    を備えるコンピュータシステム。
  17. エントリを前記特定することが、
    前記内部ハンドルテーブルでファイルタイプのオブジェクトを特定することと、
    前記ファイルタイプのオブジェクトの名前にアクセスすることと、
    前記名前に含まれるファイルパスが前記記憶ボリュームにあるファイルに対応するかどうかを判断することと、
    を含む、請求項16に記載のコンピュータシステム。
  18. 前記方法が、前記ファイルと関連付けられたアクセス権限を判断することをさらに含む、請求項17に記載のコンピュータシステム。
  19. 前記方法が、前記閉じることの後および前記排他ロックが取得される前に、前記ファイルバッファ内のデータが前記記憶ボリュームに書き込まれるようにすることをさらに含む、請求項16に記載のコンピュータシステム。
  20. 前記方法が、前記ディスマウント後に前記記憶ボリュームを再マウントすることをさらに含む、請求項17に記載のコンピュータシステム。
JP2013508106A 2010-04-29 2011-04-21 記憶ボリュームのディスマウント Expired - Fee Related JP5768277B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/770,577 US9684573B2 (en) 2010-04-29 2010-04-29 Dismounting a storage volume
US12/770,577 2010-04-29
PCT/US2011/033478 WO2011139588A2 (en) 2010-04-29 2011-04-21 Dismounting a storage volume

Publications (3)

Publication Number Publication Date
JP2013530441A true JP2013530441A (ja) 2013-07-25
JP2013530441A5 JP2013530441A5 (ja) 2014-01-16
JP5768277B2 JP5768277B2 (ja) 2015-08-26

Family

ID=44121022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013508106A Expired - Fee Related JP5768277B2 (ja) 2010-04-29 2011-04-21 記憶ボリュームのディスマウント

Country Status (5)

Country Link
US (1) US9684573B2 (ja)
EP (1) EP2564329B1 (ja)
JP (1) JP5768277B2 (ja)
CN (1) CN102971728B (ja)
WO (1) WO2011139588A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297441A (zh) * 2013-06-25 2013-09-11 福建伊时代信息科技股份有限公司 访问控制方法和装置
CN104461489A (zh) * 2013-09-22 2015-03-25 安一恒通(北京)科技有限公司 一种快速弹出可移除设备的方法、装置和用户设备
EP2937785B1 (en) * 2014-04-25 2016-08-24 Fujitsu Limited A method of recovering application data
US10228961B2 (en) * 2016-06-15 2019-03-12 Red Hat Israel, Ltd. Live storage domain decommissioning in a virtual environment
US11507283B1 (en) 2016-12-20 2022-11-22 Amazon Technologies, Inc. Enabling host computer systems to access logical volumes by dynamic updates to data structure rules
US10809920B1 (en) 2016-12-20 2020-10-20 Amazon Technologies, Inc. Block store management for remote storage systems
US10185507B1 (en) * 2016-12-20 2019-01-22 Amazon Technologies, Inc. Stateless block store manager volume reconstruction
US10268593B1 (en) 2016-12-20 2019-04-23 Amazon Technologies, Inc. Block store managamement using a virtual computing system service
US10921991B1 (en) 2016-12-20 2021-02-16 Amazon Technologies, Inc. Rule invalidation for a block store management system
CN108038384B (zh) * 2017-11-29 2021-06-18 北京京航计算通讯研究所 一种高安全的集群共享存储虚拟化方法
US10999362B1 (en) * 2019-01-14 2021-05-04 Parallels International Gmbh Seamless switching of terminal servers in remote-access computing environments
CN110442558B (zh) * 2019-07-30 2023-12-29 深信服科技股份有限公司 数据处理方法、分片服务器、存储介质及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134844A (ja) * 1999-08-26 2001-05-18 Toshiba Tec Corp ストアコントローラ
JP2001188700A (ja) * 2000-01-04 2001-07-10 Hitachi Ltd 計算機システム
US20040093359A1 (en) * 2002-11-12 2004-05-13 Sharpe Edward J. Methods and apparatus for updating file systems
US20070038888A1 (en) * 2005-08-15 2007-02-15 Microsoft Corporation Data protection management on a clustered server
US20090327367A1 (en) * 2008-06-26 2009-12-31 Karan Mehra Common Block Storage Infrastructure

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4532815B2 (ja) 2002-09-20 2010-08-25 キヤノン株式会社 デジタル情報入力システム、情報生成装置、情報管理方法、プログラム、及びコンピュータ読み取り可能な記憶媒体
US7203941B2 (en) * 2002-11-14 2007-04-10 Microsoft Corporation Associating a native resource with an application
US6993603B2 (en) * 2002-12-09 2006-01-31 Microsoft Corporation Managed file system filter model and architecture
US6865597B1 (en) * 2002-12-20 2005-03-08 Veritas Operating Corporation System and method for providing highly-available volume mount points
US7409389B2 (en) * 2003-04-29 2008-08-05 International Business Machines Corporation Managing access to objects of a computing environment
US7293044B2 (en) * 2004-04-09 2007-11-06 Microsoft Corporation Method and system for verifying integrity of storage
KR100637932B1 (ko) 2005-05-17 2006-10-24 한국전자통신연구원 파일 시스템의 언마운트 방법
CA2954888C (en) * 2005-06-24 2019-06-04 Catalogic Software, Inc. System and method for high performance enterprise data protection
US7496783B1 (en) * 2006-02-09 2009-02-24 Symantec Operating Corporation Merging cluster nodes during a restore
US8112593B2 (en) * 2007-03-29 2012-02-07 Netapp, Inc. System and method for improving cluster performance
US7840730B2 (en) 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134844A (ja) * 1999-08-26 2001-05-18 Toshiba Tec Corp ストアコントローラ
JP2001188700A (ja) * 2000-01-04 2001-07-10 Hitachi Ltd 計算機システム
US20040093359A1 (en) * 2002-11-12 2004-05-13 Sharpe Edward J. Methods and apparatus for updating file systems
US20070038888A1 (en) * 2005-08-15 2007-02-15 Microsoft Corporation Data protection management on a clustered server
US20090327367A1 (en) * 2008-06-26 2009-12-31 Karan Mehra Common Block Storage Infrastructure

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200900374005; 'USBメモリーでお手軽"高速化" 秀逸フリーソフト30本を活用!' 日経PC21 第14巻 第11号, 2009, pp.26-31, 日経BP社 *
JPN6014050134; 'USBメモリーでお手軽"高速化" 秀逸フリーソフト30本を活用!' 日経PC21 第14巻 第11号, 2009, pp.26-31, 日経BP社 *

Also Published As

Publication number Publication date
CN102971728B (zh) 2017-12-26
EP2564329A2 (en) 2013-03-06
EP2564329B1 (en) 2020-06-03
JP5768277B2 (ja) 2015-08-26
US9684573B2 (en) 2017-06-20
WO2011139588A2 (en) 2011-11-10
US20110271069A1 (en) 2011-11-03
CN102971728A (zh) 2013-03-13
WO2011139588A3 (en) 2013-01-17

Similar Documents

Publication Publication Date Title
JP5768277B2 (ja) 記憶ボリュームのディスマウント
US9934108B2 (en) System and method for optimizing mirror creation
US8086896B2 (en) Dynamically tracking virtual logical storage units
US20170046152A1 (en) Firmware update
US8433890B2 (en) Preparing and preserving a system configuration during a hot upgrade
US9176853B2 (en) Managing copy-on-writes to snapshots
US9384095B2 (en) Recovering from a defective boot image
JP2007537522A (ja) 仮想テープ内の仮想ボリューム・データの動的ローディング
US8732429B2 (en) Preserving a deleted data volume
JP6861886B2 (ja) カスタマイズされたオペレーティングシステム変換のためのシステムおよび方法
US8954435B2 (en) Method and system for reclaiming storage on a shared storage device or independent of the mount state of a file system
US11188231B2 (en) Data placement on storage devices
US8356140B2 (en) Methods and apparatus for controlling data between storage systems providing different storage functions
US10620867B2 (en) System and method for performing wear leveling at a non-volatile firmware memory
US10282260B2 (en) Method of operating storage system and storage controller
US9971532B2 (en) GUID partition table based hidden data store system
US10706169B1 (en) Quarantining storage objects using a quarantine list
US11231940B2 (en) System and method for automatic recovery of information handling systems
US11720551B1 (en) Method and system for streaming data from portable storage devices
US11829635B2 (en) Memory repair at an information handling system
WO2024000535A1 (zh) 分区表更新方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20131125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150331

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150408

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: 20150526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150528

R150 Certificate of patent or registration of utility model

Ref document number: 5768277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees