JP2006059347A - ジャーナリングを使用した記憶システム - Google Patents
ジャーナリングを使用した記憶システム Download PDFInfo
- Publication number
- JP2006059347A JP2006059347A JP2005231560A JP2005231560A JP2006059347A JP 2006059347 A JP2006059347 A JP 2006059347A JP 2005231560 A JP2005231560 A JP 2005231560A JP 2005231560 A JP2005231560 A JP 2005231560A JP 2006059347 A JP2006059347 A JP 2006059347A
- Authority
- JP
- Japan
- Prior art keywords
- data
- controller
- journaling
- storage device
- storage
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
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)
Abstract
【課題】 データを保存し、したがってトランザクションの喪失および顧客の離反を防ぐ。
【解決手段】 本発明にかかる記憶システムは、記憶装置、バッファおよびジャーナリング装置を結合するコントローラと、コントローラ上で実行可能なプロセスとを備える。実行可能プロセスは、記憶装置上の選択ファイルの論理単位、トラックおよびセクタ識別が可能な解決ユーティリティと、ユーザが、所定の時点または書き込みシーケンスまでリストアする記憶装置上のトラックおよびセクタを選択できるようにするユーザインタフェースと、リストアユーティリティとを備える。リストアユーティリティは、選択されたトラックおよびセクタに対応するデータに、最新の書き込み動作の場合には直接、これ以外のときにはバッファを介してジャーナリング装置からアクセスして、データをリストアする。
【選択図】図1
【解決手段】 本発明にかかる記憶システムは、記憶装置、バッファおよびジャーナリング装置を結合するコントローラと、コントローラ上で実行可能なプロセスとを備える。実行可能プロセスは、記憶装置上の選択ファイルの論理単位、トラックおよびセクタ識別が可能な解決ユーティリティと、ユーザが、所定の時点または書き込みシーケンスまでリストアする記憶装置上のトラックおよびセクタを選択できるようにするユーザインタフェースと、リストアユーティリティとを備える。リストアユーティリティは、選択されたトラックおよびセクタに対応するデータに、最新の書き込み動作の場合には直接、これ以外のときにはバッファを介してジャーナリング装置からアクセスして、データをリストアする。
【選択図】図1
Description
本発明は、ジャーナリングを使用した記憶システムに関する。
現代のデータベースは、リドゥログ(redo-logs)等のジャーナリングを使用して、論理データセットを特定の時点まで再構築できるようにする。
ファイルシステムおよび非オラクルアプリケーションのユーザは、同様には保護されない。
たとえば、IBMからのジャーナルファイルシステム(JFS)技術だけが、永続的なリドゥログではなく一時的な「インテント」ログを有する。
W32.Nimda.A等のウィルスやワームは、論理オブジェクトに関わりなく、オペレーティングシステム内のランダムな重要セクタおよびディスクストレージ上のデータセット、たとえば、ファイルおよびトランザクションを破壊する危険性があり、これはオペレーティングシステムおよびデータセットのデータ一貫性を即座に無効化させる。
攻撃により、システムは再起動することができず、ファイルを破壊せずにはファイルにアクセスすることができず、データベースをマウントまたはアクセスすることができなくなる。
ファイルシステムおよび非オラクルアプリケーションのユーザは、同様には保護されない。
たとえば、IBMからのジャーナルファイルシステム(JFS)技術だけが、永続的なリドゥログではなく一時的な「インテント」ログを有する。
W32.Nimda.A等のウィルスやワームは、論理オブジェクトに関わりなく、オペレーティングシステム内のランダムな重要セクタおよびディスクストレージ上のデータセット、たとえば、ファイルおよびトランザクションを破壊する危険性があり、これはオペレーティングシステムおよびデータセットのデータ一貫性を即座に無効化させる。
攻撃により、システムは再起動することができず、ファイルを破壊せずにはファイルにアクセスすることができず、データベースをマウントまたはアクセスすることができなくなる。
通常、リドゥログを有するデータベースであっても、ログに記録されたトランザクションスレッドをバックアップすることでダメージを修復することはできない。
これは、権限のないセクタ削除はファイル/記録トランザクションとして行われないためである。
さらに、削除によっては、ファイルが表すエリア内のものもあれば、論理単位識別(LUN ID)エリア等、LUNの他のエリア内のものもある。
したがって、顧客は通常、LUNをフォーマットし、論理オブジェクトバックアップからリロードするか、影響を受けたディスクLUNの完全で破損のない最新のそのままのコピーまで後退する以外に選択肢はない。
顧客は、オンラインまたはオフラインのバックアップによって置き換えることができない1時間のアクティビティ毎に1LUNあたり最大で900,000の最新の、したがって価値のあるトランザクションを失う可能性がある。
したがって、ディスクLUNのミラーを1時間毎に複製する最も熱心なタイプのファイルシステム顧客であっても、略数百万という顧客トランザクションを失う可能性がある。
これは、権限のないセクタ削除はファイル/記録トランザクションとして行われないためである。
さらに、削除によっては、ファイルが表すエリア内のものもあれば、論理単位識別(LUN ID)エリア等、LUNの他のエリア内のものもある。
したがって、顧客は通常、LUNをフォーマットし、論理オブジェクトバックアップからリロードするか、影響を受けたディスクLUNの完全で破損のない最新のそのままのコピーまで後退する以外に選択肢はない。
顧客は、オンラインまたはオフラインのバックアップによって置き換えることができない1時間のアクティビティ毎に1LUNあたり最大で900,000の最新の、したがって価値のあるトランザクションを失う可能性がある。
したがって、ディスクLUNのミラーを1時間毎に複製する最も熱心なタイプのファイルシステム顧客であっても、略数百万という顧客トランザクションを失う可能性がある。
同期オンラインミラーリングは、破損部分がディスクミラーに忠実にコピーされるため助けにならない。
ジャーナルデータベースは、制御ファイルが手動で変更された(誤りが発生し易く、危険性のある動作である)場合に、より新しいトランザクションをデータベースの旧い、破損されていないコピーにリドゥすることしかできない。
ジャーナルデータベースのないユーザは、完全に保護されない状態であり、最新のバックアップ後に行われたすべてのトランザクションを失う可能性がある。
最も要求が厳しく裕福な金融サービスの顧客であっても、この問題に対する現在の解決策はいずれの価格であっても存在しない。
ジャーナルデータベースは、制御ファイルが手動で変更された(誤りが発生し易く、危険性のある動作である)場合に、より新しいトランザクションをデータベースの旧い、破損されていないコピーにリドゥすることしかできない。
ジャーナルデータベースのないユーザは、完全に保護されない状態であり、最新のバックアップ後に行われたすべてのトランザクションを失う可能性がある。
最も要求が厳しく裕福な金融サービスの顧客であっても、この問題に対する現在の解決策はいずれの価格であっても存在しない。
データを保存することができ、したがってトランザクションの喪失および顧客の離反に起因する、関連する金額を節減することができる2段階ジャーナリング機能が必要である。
各種実施形態では、ジャーナリングを備えた記憶システムは、少なくとも1つの記憶装置、バッファ、および少なくとも1つのジャーナリング装置を結合することが可能なコントローラと、コントローラ上で実行可能なプロセスと、を備える。
実行可能プロセスは、少なくとも1つの記憶装置上の選択ファイルの論理単位、トラック、およびセクタ識別を求めることが可能な解決ユーティリティと、ユーザが、所定の時点または書き込みシーケンスまでリストアする、少なくとも1つの記憶装置上のトラックおよびセクタを選択できるようにするユーザインタフェースと、リストアユーティリティと、を備える。
リストアユーティリティは、選択されたトラックおよびセクタに対応するデータに、最新の書き込み動作の場合にはバッファから直接、または最新以前の書き込みの場合にはバッファを介してジャーナリング装置からアクセスして、少なくとも1つの記憶装置のトラック位置およびセクタ位置までデータをリストアする。
実行可能プロセスは、少なくとも1つの記憶装置上の選択ファイルの論理単位、トラック、およびセクタ識別を求めることが可能な解決ユーティリティと、ユーザが、所定の時点または書き込みシーケンスまでリストアする、少なくとも1つの記憶装置上のトラックおよびセクタを選択できるようにするユーザインタフェースと、リストアユーティリティと、を備える。
リストアユーティリティは、選択されたトラックおよびセクタに対応するデータに、最新の書き込み動作の場合にはバッファから直接、または最新以前の書き込みの場合にはバッファを介してジャーナリング装置からアクセスして、少なくとも1つの記憶装置のトラック位置およびセクタ位置までデータをリストアする。
他の実施形態によれば、記憶システムは、コントローラと、コントローラに結合された複数のデータ記憶装置と、コントローラに結合されたディレクトリおよびバッファ記憶装置と、コントローラに結合された少なくとも1つのジャーナリング記憶装置と、を備える。
本記憶システムはさらに、コントローラ上で実行可能なプロセスであって、複数のデータ記憶装置のうちの1つへの書き込み動作に応答して、書き込まれないデータ記憶装置から旧データを読み出し、旧データを、書き込み動作のデータおよびタイムスタンプと併せてディレクトリおよびバッファ記憶装置に保存し、ジャーナリング記憶装置のうちの1つのジャーナリング記憶装置にコピーするプロセスを備える。
本記憶システムはさらに、コントローラ上で実行可能なプロセスであって、複数のデータ記憶装置のうちの1つへの書き込み動作に応答して、書き込まれないデータ記憶装置から旧データを読み出し、旧データを、書き込み動作のデータおよびタイムスタンプと併せてディレクトリおよびバッファ記憶装置に保存し、ジャーナリング記憶装置のうちの1つのジャーナリング記憶装置にコピーするプロセスを備える。
さらなる実施形態によれば、記憶装置のトラックおよびセクタにあるデータを或る時点までリカバリさせる方法は、1つまたは複数の記憶装置上の選択されたファイルの論理単位、トラック、およびセクタ情報を識別すること、ユーザからリストア指示を受け取ること、およびリストア指示に基づいて、所定の時点までリストアする、少なくとも1つの記憶装置上のトラックおよびセクタを選択すること、とを含む。
この方法は、選択されたトラックおよびセクタに対応するデータに、最新の書き込みの場合にはバッファから、またはその他の場合にはジャーナリング装置からアクセスすること、記憶装置のトラック位置およびセクタ位置までのデータを所定の時点までリストアすること、とをさらに含む。
この方法は、選択されたトラックおよびセクタに対応するデータに、最新の書き込みの場合にはバッファから、またはその他の場合にはジャーナリング装置からアクセスすること、記憶装置のトラック位置およびセクタ位置までのデータを所定の時点までリストアすること、とをさらに含む。
さらに他の実施形態では、データをジャーナリングする方法は、複数のデータ記憶装置のうちの1つに向けられた書き込み動作を検出すること、書き込み動作の検出に応答して、書き込まれないデータ記憶装置から旧データを読み出すこと、旧データを、書き込み動作データおよびタイムスタンプと併せてディレクトリおよびバッファ記憶装置に保存すること、旧データをジャーナリング記憶装置にコピーすること、とを含む。
構造および動作方法の両方に関連する本発明の各種実施形態は、以下の説明および添付図面を参照することによって最良に理解することができる。
図1を参照して、概略ブロック図に、2段階ジャーナリング機能を備えた記憶システム100を示す。
記憶システム100は、独立ディスク冗長アレイ(RAID−1)構成内の単一の装置を表す複数の記憶装置102Aおよび102B、1つまたは複数のジャーナリング装置104、およびコントローラ106を備える。
コントローラ106は、様々なプロセス、プロシージャ、およびメソッドを実行することが可能である。
記憶システム100は、コントローラ106および記憶構成要素と通信することができるホスト110も備える。
ホスト110は、コンピュータ要素、プロセッサ要素、またはコントローラ要素を利用して、様々なユーティリティおよびインタフェース112を実行し、記憶システム100の管理を容易にする。
代表的な実施形態では、ホスト110および/またはコントローラ106において動作するように様々に構成される実行可能プロセスとしては、1つまたは複数の記憶装置102Aおよび102B上の選択ファイルの論理単位、トラック、およびセクタ識別を求める解決ユーティリティが挙げられる。
記憶装置102A、102Bは一般に、情報を一時的に記憶するバッファリング機能を備える。
ユーザインタフェースにより、ユーザは、所定の時点または書き込みシーケンスまでリストアする、1つまたは複数の記憶装置102Aおよび102B上のトラックおよびセクタを選択することができる。
選択されたトラックおよびセクタに対応するデータに、最新書き込みの場合には記憶装置102A、102Bに関連するバッファから、または最新以前の書き込みの場合にはバッファを介してジャーナリング装置104からアクセスし、記憶装置102Aおよび102Bのトラック位置およびセクタ位置までのデータを所定の時点までリストアするリストアユーティリティが備えられる。
記憶システム100は、独立ディスク冗長アレイ(RAID−1)構成内の単一の装置を表す複数の記憶装置102Aおよび102B、1つまたは複数のジャーナリング装置104、およびコントローラ106を備える。
コントローラ106は、様々なプロセス、プロシージャ、およびメソッドを実行することが可能である。
記憶システム100は、コントローラ106および記憶構成要素と通信することができるホスト110も備える。
ホスト110は、コンピュータ要素、プロセッサ要素、またはコントローラ要素を利用して、様々なユーティリティおよびインタフェース112を実行し、記憶システム100の管理を容易にする。
代表的な実施形態では、ホスト110および/またはコントローラ106において動作するように様々に構成される実行可能プロセスとしては、1つまたは複数の記憶装置102Aおよび102B上の選択ファイルの論理単位、トラック、およびセクタ識別を求める解決ユーティリティが挙げられる。
記憶装置102A、102Bは一般に、情報を一時的に記憶するバッファリング機能を備える。
ユーザインタフェースにより、ユーザは、所定の時点または書き込みシーケンスまでリストアする、1つまたは複数の記憶装置102Aおよび102B上のトラックおよびセクタを選択することができる。
選択されたトラックおよびセクタに対応するデータに、最新書き込みの場合には記憶装置102A、102Bに関連するバッファから、または最新以前の書き込みの場合にはバッファを介してジャーナリング装置104からアクセスし、記憶装置102Aおよび102Bのトラック位置およびセクタ位置までのデータを所定の時点までリストアするリストアユーティリティが備えられる。
ユーザインタフェースは、メタコマンドインタフェース、コマンドラインインタフェース(CLI)、およびグラフィカルユーザインタフェース(GUI)を含む、様々な形態の中から選択することができる。
ユーザインタフェースは、リストアする個々の、また集合的なトラックおよびセクタを選択するとともに、時点を選択できるようにする。
ユーザインタフェースは、リストアする個々の、また集合的なトラックおよびセクタを選択するとともに、時点を選択できるようにする。
ユーザインタフェースは一般に、ホストコンピュータ110、または記憶システム100と通信可能な他のコンピュータもしくはプロセッサ上で実行される。
ユーザインタフェースが、個々のファイルではなく記憶装置または論理単位(LU)に関連する情報を利用し、この情報に基づいて動作する場合、記憶アレイを制御するパーソナルコンピュータ等のコンピュータを使用することができる。
別法として、ファイルレベルを利用し、ファイルレベルでより適切に動作するユーザインタフェースは、ファイルを検出して識別することができるホストコンピュータ110上で実行される。
ユーザインタフェースが、個々のファイルではなく記憶装置または論理単位(LU)に関連する情報を利用し、この情報に基づいて動作する場合、記憶アレイを制御するパーソナルコンピュータ等のコンピュータを使用することができる。
別法として、ファイルレベルを利用し、ファイルレベルでより適切に動作するユーザインタフェースは、ファイルを検出して識別することができるホストコンピュータ110上で実行される。
適したユーザインタフェースは、いくつかの形態のうちの1つまたは複数をとることができる。
ユーザインタフェースは、たとえば、スーパーユーザ特権を有する高度な管理者ユーザが、ファイル名によって明示的または暗黙的に識別されるトラック、セクタ、および長さのトリプレット要求を介してリストア動作を都合よく要求できるようにする形態で有用性を向上させる。
スーパーユーザ特権は、特別なディレクトリ管理者にディレクトリ情報への全アクセスを認める。
各種実施形態では、ユーザインタフェースは、指定された範囲内の単一のトリプレット(複数可)へのアクセスを可能にする。
具体的な例では、解決ユーティリティを使用して、ファイル「foo」の現在のトラック/セクタ/長さのトリプレット情報を供給することができる。
ユーザは指定されたトリプレットを使用して、ファイルエリア全体のリストアを要求することができる。
一例では、ユーザは、時刻、たとえば今日の午前10時51分に基づいてファイルエリアを要求することができる。
別の例では、ユーザは、特定の書き込みシーケンス番号を要求することができる。
詳細には、ウィルス攻撃の時間がわからない場合、ユーザは、ウィルスによって生成されたtrk0/sector0への最新の書き込み動作のキャンセルを要求することができる。
さらなる例では、ユーザは、誤った書き込み動作によって影響を受けたことがわかっているファイルの特定の部分を操作することができる。
暗黙的な場合、ユーザは、ファイルがジャーナルエリア内に完全に含まれる限り、選択された時間以後のファイル全体のリストアを要求することができる。
記憶システムの操作により、広範囲の他の使用も可能である。
ユーザインタフェースは、たとえば、スーパーユーザ特権を有する高度な管理者ユーザが、ファイル名によって明示的または暗黙的に識別されるトラック、セクタ、および長さのトリプレット要求を介してリストア動作を都合よく要求できるようにする形態で有用性を向上させる。
スーパーユーザ特権は、特別なディレクトリ管理者にディレクトリ情報への全アクセスを認める。
各種実施形態では、ユーザインタフェースは、指定された範囲内の単一のトリプレット(複数可)へのアクセスを可能にする。
具体的な例では、解決ユーティリティを使用して、ファイル「foo」の現在のトラック/セクタ/長さのトリプレット情報を供給することができる。
ユーザは指定されたトリプレットを使用して、ファイルエリア全体のリストアを要求することができる。
一例では、ユーザは、時刻、たとえば今日の午前10時51分に基づいてファイルエリアを要求することができる。
別の例では、ユーザは、特定の書き込みシーケンス番号を要求することができる。
詳細には、ウィルス攻撃の時間がわからない場合、ユーザは、ウィルスによって生成されたtrk0/sector0への最新の書き込み動作のキャンセルを要求することができる。
さらなる例では、ユーザは、誤った書き込み動作によって影響を受けたことがわかっているファイルの特定の部分を操作することができる。
暗黙的な場合、ユーザは、ファイルがジャーナルエリア内に完全に含まれる限り、選択された時間以後のファイル全体のリストアを要求することができる。
記憶システムの操作により、広範囲の他の使用も可能である。
ディレクトリ構造がどの程度高度化されているかにより、特定のリストア動作の作業および時間が決まる。
一般に、リストア動作が必要になることは希であり、リストア動作に関連するいずれの遅延も許容できるような価値のかなり高いデータが喪失した状況に限られる。
一般に、リストア動作が必要になることは希であり、リストア動作に関連するいずれの遅延も許容できるような価値のかなり高いデータが喪失した状況に限られる。
図2を参照して、テープジャーナリング機能を有する記憶システム200の代替の実施形態を概略ブロック図に示す。
記憶システム200は、コントローラ106、記憶装置102Aおよび102B、ディレクトリおよびバッファ記憶装置210、ならびに1つまたは複数の(通常は複数であるが)ジャーナリング記憶装置214Aおよび214Bを備える。
例示的な実施形態では、コントローラ106は、独立ディスク冗長アレイ(RAID−1)構成内のディスクを制御するディスクコントローラである。
記憶装置102Aおよび102Bは、2つのデータディスク、またはRAID−1構成内の単一の論理ボリュームを表すディスクの論理装置ディスク部分である。
ディレクトリおよびバッファ記憶装置210はメタファイルディレクトリ、およびバッファディスクまたは論理装置ディスク部分である。
例示的な1つまたは複数のジャーナリング記憶装置214Aおよび214Bは、ローカルまたはリモートのテープライブラリ212内の一対のジャーナリングテープドライブである。
記憶システム200は、コントローラ106、記憶装置102Aおよび102B、ディレクトリおよびバッファ記憶装置210、ならびに1つまたは複数の(通常は複数であるが)ジャーナリング記憶装置214Aおよび214Bを備える。
例示的な実施形態では、コントローラ106は、独立ディスク冗長アレイ(RAID−1)構成内のディスクを制御するディスクコントローラである。
記憶装置102Aおよび102Bは、2つのデータディスク、またはRAID−1構成内の単一の論理ボリュームを表すディスクの論理装置ディスク部分である。
ディレクトリおよびバッファ記憶装置210はメタファイルディレクトリ、およびバッファディスクまたは論理装置ディスク部分である。
例示的な1つまたは複数のジャーナリング記憶装置214Aおよび214Bは、ローカルまたはリモートのテープライブラリ212内の一対のジャーナリングテープドライブである。
書き込み動作の場合、メタディレクトリおよびバッファ記憶装置210は、新規データ、新規データに関連するタイムスタンプ、およびジャーナリング記憶装置214A、214B上の旧データへのポインタを一時的に記憶する。
したがって、記憶システムは、たとえば、プライマリディスクが故障した場合に、たとえば誤った書き込みに応答して、最新の書き込みを、より旧い書き込みに加えてリストアすることができる。
リストアは、最新のまたは現在の書き込みの場合には、メタディレクトリおよびバッファ記憶装置210から直接、あるいはより旧い書き込みの場合には、メタディレクトリおよびバッファ記憶装置210の発見機能によって指示されるように、ジャーナリング記憶装置214A、214Bから行うことができる。
したがって、ジャーナリングプロセスまたは方法は、最新データを処理する段階およびより旧データを処理する段階という2つの段階を含む。
細心のデータ管理を行うことにより、メタディレクトリおよびバッファ記憶装置210の定期的なバックアップを提供して、ダウンタイムをなくす、または短縮する。
したがって、記憶システムは、たとえば、プライマリディスクが故障した場合に、たとえば誤った書き込みに応答して、最新の書き込みを、より旧い書き込みに加えてリストアすることができる。
リストアは、最新のまたは現在の書き込みの場合には、メタディレクトリおよびバッファ記憶装置210から直接、あるいはより旧い書き込みの場合には、メタディレクトリおよびバッファ記憶装置210の発見機能によって指示されるように、ジャーナリング記憶装置214A、214Bから行うことができる。
したがって、ジャーナリングプロセスまたは方法は、最新データを処理する段階およびより旧データを処理する段階という2つの段階を含む。
細心のデータ管理を行うことにより、メタディレクトリおよびバッファ記憶装置210の定期的なバックアップを提供して、ダウンタイムをなくす、または短縮する。
記憶システム100および200は、ジャーナリング動作を行って、記憶アレイLUNトラックおよびセクタを特定の状態、状況、または時点までリカバリすることを容易にする。
説明のための例では、記憶システム200は、標準のRAID−1に、ジャーナリング機能を追加する構成要素を加える。
標準のRAID−1システムは、ディスクコントローラおよび2枚のデータディスクを備える。
例示的な改良された記憶システム100および200は、ジャーナリング装置104、およびジャーナリング装置104を利用し操作する実行可能プロセス、プロシージャ、メソッド、ユーティリティ、およびユーザインタフェースを追加している。
ジャーナリング装置104は、記憶装置、ディスク、論理装置(LDEV)、またはディスク部分等の記憶装置部分として例示的に実施されるメタディレクトリおよびバッファ210を備える。
説明のための例では、記憶システム200は、標準のRAID−1に、ジャーナリング機能を追加する構成要素を加える。
標準のRAID−1システムは、ディスクコントローラおよび2枚のデータディスクを備える。
例示的な改良された記憶システム100および200は、ジャーナリング装置104、およびジャーナリング装置104を利用し操作する実行可能プロセス、プロシージャ、メソッド、ユーティリティ、およびユーザインタフェースを追加している。
ジャーナリング装置104は、記憶装置、ディスク、論理装置(LDEV)、またはディスク部分等の記憶装置部分として例示的に実施されるメタディレクトリおよびバッファ210を備える。
通常、コントローラ106上で実行可能なプロセスおよびメソッドは、第1のデータディスク102Aおよび第2のデータディスク102Bのうちの1つへの書き込み動作に応答して、書き込まれないディスクから旧データを読み出し、この旧データを、書き込み動作データと併せてメタファイルディレクトリおよびバッファディスク210に保存するように動作する。
このプロセスは、新規データをタイムスタンプと共にメタディレクトリに保持しながら、旧データを第1のジャーナリングテープドライブ214Aおよび第2のジャーナリングテープドライブ214Bのうちの一方のテープドライブにコピーする。
プロセスは、書き込まれる特定のRAID−1スピンドルへの論理単位番号(LUN)、トラック、セクタ、および長さのみを指示し、旧データを他のスピンドルから読み出してディレクトリおよびバッファ装置210に、そして最終的にテープドライブ214Aおよび214Bに転送されるディスクドライバ書き込み単位の精度で、記憶装置102Aおよび102Bにアクセスすることができる。
このプロセスは、新規データをタイムスタンプと共にメタディレクトリに保持しながら、旧データを第1のジャーナリングテープドライブ214Aおよび第2のジャーナリングテープドライブ214Bのうちの一方のテープドライブにコピーする。
プロセスは、書き込まれる特定のRAID−1スピンドルへの論理単位番号(LUN)、トラック、セクタ、および長さのみを指示し、旧データを他のスピンドルから読み出してディレクトリおよびバッファ装置210に、そして最終的にテープドライブ214Aおよび214Bに転送されるディスクドライバ書き込み単位の精度で、記憶装置102Aおよび102Bにアクセスすることができる。
旧データは、テープライブラリ212にコピーされ、たとえば、電子コピーされる。
具体的な例では、旧データは、ファイバチャネル光リンクを介して、ディスクアレイ記憶システム100に直接リンクされた高速テープライブラリ212に第三者のSCSI(小型コンピュータシステムインタフェース)コピーによってコピーすることができる。
他の例では、任意の適切な種類の構成、インタフェース、および通信リンクを使用することができる。
電子コピーは、ディスクアレイコントローラ106によって制御することができる。
具体的な例では、旧データは、ファイバチャネル光リンクを介して、ディスクアレイ記憶システム100に直接リンクされた高速テープライブラリ212に第三者のSCSI(小型コンピュータシステムインタフェース)コピーによってコピーすることができる。
他の例では、任意の適切な種類の構成、インタフェース、および通信リンクを使用することができる。
電子コピーは、ディスクアレイコントローラ106によって制御することができる。
記憶システム200上で実行可能な別のプロセスによれば、現在の第1のテープが満杯になると、テープドライブ214Aおよび214Bへの書き込みをテープライブラリ212内の第2の代替のドライブおよび媒体テープに切り替えることができる。
前の、すなわち第1のテープを交換し、テープライブラリ212内のロボット制御(robotic)ドライブによって置き換えることができる。
ディレクトリおよびバッファ装置210内のメタディレクトリは、たとえば、あらゆるテープ書き込みを、書き込まれたテープ番号、テープ記録番号、日付、時刻、ならびにトラックおよびセクタによってテープ書き込みを追跡する。
具体的な例では、16テープドライブロボット制御ライブラリ212によって8つのディスクアレイLUNを保護することができる。
前の、すなわち第1のテープを交換し、テープライブラリ212内のロボット制御(robotic)ドライブによって置き換えることができる。
ディレクトリおよびバッファ装置210内のメタディレクトリは、たとえば、あらゆるテープ書き込みを、書き込まれたテープ番号、テープ記録番号、日付、時刻、ならびにトラックおよびセクタによってテープ書き込みを追跡する。
具体的な例では、16テープドライブロボット制御ライブラリ212によって8つのディスクアレイLUNを保護することができる。
ディスクコントローラ106は、現在のディスクアレイ内部コントローラの基本的な機能および特徴を実行し、基本動作に、ジャーナリング機能を可能にする追加の新規動作を加える。
実施形態によっては、いずれかへの、通常は最も忙しくないRAID−1ディスクへの新規データの書き込み中、コントローラ106は、旧データを、生成されたシーケンス番号および生成日時の識別と併せて、バッファディスク210にコピーする。
コントローラ106は、ジャーナル動作の記録を生成してバッファディスク210の永続ディレクトリに記憶し、この記録は、通常のゼロダウンタイムディスクバックアップの実行に従って定期的にバックアップされる。
実施形態によっては、いずれかへの、通常は最も忙しくないRAID−1ディスクへの新規データの書き込み中、コントローラ106は、旧データを、生成されたシーケンス番号および生成日時の識別と併せて、バッファディスク210にコピーする。
コントローラ106は、ジャーナル動作の記録を生成してバッファディスク210の永続ディレクトリに記憶し、この記録は、通常のゼロダウンタイムディスクバックアップの実行に従って定期的にバックアップされる。
別の動作では、ディスクコントローラ106は、ジャーナルデータをジャーナルスプールの「末尾」から現在アクティブなテープドライブ214Aまたは214Bに、テープドライブのストリーミングに適したデータサイズおよびレートで書き込む。
テープ媒体要素が満杯になると、コントローラ106は、書き込みを代替のテープドライブに切り替え、満杯になったテープ媒体を格納し、空テープまたはスクラッチテープ等の別のテープで置き換えるようにテープライブラリ212に通知する。
テープ媒体要素が満杯になると、コントローラ106は、書き込みを代替のテープドライブに切り替え、満杯になったテープ媒体を格納し、空テープまたはスクラッチテープ等の別のテープで置き換えるようにテープライブラリ212に通知する。
さらなる動作では、ディスクコントローラ106は、最新の書き込み以前のデータのリストアが要求される場合に、正確なテープ番号およびテープ内の記録番号の位置を識別して読み出せるようにして、データリストアを容易にする永続ディレクトリをバッファディスク210に保持することができる。
最新の書き込みをリストアする場合、対応する書き込みデータはバッファディスク210から直接供給される。
最新の書き込みをリストアする場合、対応する書き込みデータはバッファディスク210から直接供給される。
例示的な実施形態では、ディレクトリおよびバッファ装置210は、ジャーナリングに使用されるものとして指定され、適切なヘッダおよびトレイラ情報、またはジャーナルデータのジャーナリングまたは識別を助ける他の有用な情報と併せて、ディレクトリおよびバッファリングデータ書き込みアクティビティを含む、空いているディスク、ディスク部分、論理装置(LDEV)等である。
一般に、段階付きバッファリングとしての使用を容易にするために、またジャーナリング装置214Aおよび214Bへのデータの書き込みを効率的に行えるようにし、テープ動作の効率およびスループットを向上させることができるように、より大きなディレクトリおよびバッファ装置210が好ましい。
一般に、段階付きバッファリングとしての使用を容易にするために、またジャーナリング装置214Aおよび214Bへのデータの書き込みを効率的に行えるようにし、テープ動作の効率およびスループットを向上させることができるように、より大きなディレクトリおよびバッファ装置210が好ましい。
例示的な実施形態では、記憶装置102Aおよび102Bは、標準のRAID−1構成で組み立てられる標準のディスクドライブであることができる。
記憶システム100または200およびコントローラ106の動作により、説明したデータジャーナリング機能および改良を行えるようにするディスクの機能が追加される。
ジャーナリング記憶システム100または200では、1枚のディスク、通常は最も忙しくないディスクへの書き込み動作中、旧データが内部ディスクコントローラ106によって他方のディスクから読み出され、同じデータが両方のディスク102Aおよび102Bに書き込まれる前にバッファディスク210に移される。
他の適した記憶装置としては、他の種類のディスクドライブ、または磁気テープドライブ等、他の磁気記憶技術を使用したドライブを挙げることができる。
他の実施形態では、記憶装置をさらに追加し、ジャーナリング記憶システム100または200によってサポートすることができる。
記憶システム100または200およびコントローラ106の動作により、説明したデータジャーナリング機能および改良を行えるようにするディスクの機能が追加される。
ジャーナリング記憶システム100または200では、1枚のディスク、通常は最も忙しくないディスクへの書き込み動作中、旧データが内部ディスクコントローラ106によって他方のディスクから読み出され、同じデータが両方のディスク102Aおよび102Bに書き込まれる前にバッファディスク210に移される。
他の適した記憶装置としては、他の種類のディスクドライブ、または磁気テープドライブ等、他の磁気記憶技術を使用したドライブを挙げることができる。
他の実施形態では、記憶装置をさらに追加し、ジャーナリング記憶システム100または200によってサポートすることができる。
各種実施形態では、テープライブラリ212およびテープドライブ214Aおよび214Bは、業界標準のテープドライブである。
具体的な例では、テープドライブは、純正では15MB/秒(メガバイト/秒)での書き込みを許容することができ、1本のテープが100MBを保持する、カリフォルニア州パロアルトに所在のHewlett-Packard Company製造販売のUltrium(登録商標)テープドライブであることができる。
2:1圧縮時では、一般アクセス速度は24MB/秒であり、一般容量はテープ1本あたり200MBである。
他の場合では、他の多くのテープドライブおよびテープ媒体を使用することも可能である。
一般に現在利用可能なライブラリは、2〜16個のテープドライブを備え、何十〜何千個ものテープ格納スロットを備えている。
本明細書において説明するように、ジャーナリング用途専用のテープライブラリは通常、2の倍数個のテープドライブを備えることができ、各対のドライブが1つの生のディスクRAID−1ディスク対または1つのディスク部分をジャーナリングすることができる。
具体的な例では、テープドライブは、純正では15MB/秒(メガバイト/秒)での書き込みを許容することができ、1本のテープが100MBを保持する、カリフォルニア州パロアルトに所在のHewlett-Packard Company製造販売のUltrium(登録商標)テープドライブであることができる。
2:1圧縮時では、一般アクセス速度は24MB/秒であり、一般容量はテープ1本あたり200MBである。
他の場合では、他の多くのテープドライブおよびテープ媒体を使用することも可能である。
一般に現在利用可能なライブラリは、2〜16個のテープドライブを備え、何十〜何千個ものテープ格納スロットを備えている。
本明細書において説明するように、ジャーナリング用途専用のテープライブラリは通常、2の倍数個のテープドライブを備えることができ、各対のドライブが1つの生のディスクRAID−1ディスク対または1つのディスク部分をジャーナリングすることができる。
各種実施形態では、ライブラリの容量は、ジャーナリングするディスク空間量、たとえばジャーナル書き込みが1つのトラックに対してであるのか、それとも1000のトラックに対してであるのか、および投影される書き込みアクティビティ、たとえば書き込みレートが毎秒25回なのか、それとも250回なのかに従って構成することができる。
考慮事項には、テープをライブラリから別の場所に移す管理者のポリシー、および見込まれる場所の遠さも含まれる。
考慮事項には、所望のアーカイブ期間、すなわちどの時点まで戻ってリストアを行うことができるか、たとえばX回の書き込み前またはX分前も含むことができる。
考慮事項には、テープをライブラリから別の場所に移す管理者のポリシー、および見込まれる場所の遠さも含まれる。
考慮事項には、所望のアーカイブ期間、すなわちどの時点まで戻ってリストアを行うことができるか、たとえばX回の書き込み前またはX分前も含むことができる。
距離という考慮事項により、テープドライブまでのデータパスは一般に、光学的である、たとえば純正ファイバチャネル(FC)である、またはFC/SCSIコンバータを介することが望ましい。
テープライブラリの高度さに応じて、テープ変更要求を、データパスを通してインバンドで、または100bTローカルエリアネットワーク(LAN)接続等の別ルートを介してアウトバンドで渡すことができる。
離れた場所にある格納庫に格納されているテープに対する要求は一般に、ライブラリ212に人間の介入要求を掲示するように促すことで行われる。
テープライブラリの高度さに応じて、テープ変更要求を、データパスを通してインバンドで、または100bTローカルエリアネットワーク(LAN)接続等の別ルートを介してアウトバンドで渡すことができる。
離れた場所にある格納庫に格納されているテープに対する要求は一般に、ライブラリ212に人間の介入要求を掲示するように促すことで行われる。
単一RAID−1システムは、1つまたは複数の論理単位(LUN)および1つまたは複数のファイルをサポートすることができる。
したがって、ユーザには、生のLUNジャーナリングをディスク全体で行うか、それとも選択されたトラックおよびディスク内に含まれるセクタアドレス範囲で行うかという選択肢を与えることができる。
解決ユーティリティを使用して、ファイルあるいは生のLUNによって使用されるアドレス範囲を報告することができる。
各種解決ユーティリティが当業者に既知である。
ジャーナリングするディスクエリアが狭いほど、ジャーナルデータテープを変更する必要のある頻度は低くなる。
したがって、ユーザには、生のLUNジャーナリングをディスク全体で行うか、それとも選択されたトラックおよびディスク内に含まれるセクタアドレス範囲で行うかという選択肢を与えることができる。
解決ユーティリティを使用して、ファイルあるいは生のLUNによって使用されるアドレス範囲を報告することができる。
各種解決ユーティリティが当業者に既知である。
ジャーナリングするディスクエリアが狭いほど、ジャーナルデータテープを変更する必要のある頻度は低くなる。
システムによって行われる、または実行される各種機能、プロセス、方法、および動作は、様々な種類のプロセッサ、コントローラ、中央演算処理装置、マイクロプロセッサ、デジタル信号プロセッサ、状態機械、プログラマブル論理アレイ等で実行可能なプログラムとして実施することができる。
プログラムは、任意のコンピュータ関連システムまたは方法によって使用される、またはこれと併せて使用される任意のコンピュータ可読媒体に記憶することができる。
コンピュータ可読媒体は、コンピュータ関連システム、メソッド、プロセス、またはプロシージャによって使用される、またはこれと併せて使用されるコンピュータプログラムを収納する、または記憶することができる電気的、磁気的、光学的、または他の物理的な装置または手段である。
プログラムは、コンピュータまたはプロセッサに基づいたシステム、または任意の適切な種類の命令メモリまたは記憶装置から命令をフェッチすることができる他のシステム等、命令実行システム、機器、構成要素、要素、または装置によって使用される、またはこれと併せて使用されるコンピュータ可読媒体に具現することができる。
コンピュータ可読媒体は、命令実行システム、装置、または機器によって使用される、またはこれと併せて使用されるプログラムの記憶、通信、伝搬、または搬送を行うことができる任意の構造、機器、構成要素、製品、または他の手段であることができる。
プログラムは、任意のコンピュータ関連システムまたは方法によって使用される、またはこれと併せて使用される任意のコンピュータ可読媒体に記憶することができる。
コンピュータ可読媒体は、コンピュータ関連システム、メソッド、プロセス、またはプロシージャによって使用される、またはこれと併せて使用されるコンピュータプログラムを収納する、または記憶することができる電気的、磁気的、光学的、または他の物理的な装置または手段である。
プログラムは、コンピュータまたはプロセッサに基づいたシステム、または任意の適切な種類の命令メモリまたは記憶装置から命令をフェッチすることができる他のシステム等、命令実行システム、機器、構成要素、要素、または装置によって使用される、またはこれと併せて使用されるコンピュータ可読媒体に具現することができる。
コンピュータ可読媒体は、命令実行システム、装置、または機器によって使用される、またはこれと併せて使用されるプログラムの記憶、通信、伝搬、または搬送を行うことができる任意の構造、機器、構成要素、製品、または他の手段であることができる。
例示的なブロック図およびフローチャートには、プロセス中の特定の論理機能またはステップを実施する1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコード部分を表すことができるプロセスステップまたはブロックを示す。
具体的な例には特定のプロセスステップまたは行為を示すが、多くの代替の実施が可能であり、単に設計の選択によって一般に行われる。
行為およびステップは、機能、目的、規格への準拠、レガシー構造等の考慮事項に基づいて、本明細書における特定の説明とは別の順序で実行することが可能である。
具体的な例には特定のプロセスステップまたは行為を示すが、多くの代替の実施が可能であり、単に設計の選択によって一般に行われる。
行為およびステップは、機能、目的、規格への準拠、レガシー構造等の考慮事項に基づいて、本明細書における特定の説明とは別の順序で実行することが可能である。
図2と併せて図3を参照して、フローチャートに、記憶装置のトラックおよびセクタにあるデータを或る時点にリカバリする方法の一例300を示す。
この方法またはプロセス300は、ディスクコントローラ等のプロセッサまたはコントローラによって実行することができ、1つまたは複数の記憶装置上の選択ファイルの論理単位、トラック、およびセクタ情報を識別すること(301)を含む。
ユーザからリストア指示を受け取ると、リストア指示に基づいて、所定の時点までリストアする、少なくとも1つの記憶装置上のトラックおよびセクタを選択する。
方法は、選択されたトラックおよびセクタに対応するデータにバッファディスクまたはテープジャーナリング装置からアクセスすること、およびデータを、記憶装置のトラック位置およびセクタ位置に所定の時点までリストアすることをさらに含む。
この方法またはプロセス300は、ディスクコントローラ等のプロセッサまたはコントローラによって実行することができ、1つまたは複数の記憶装置上の選択ファイルの論理単位、トラック、およびセクタ情報を識別すること(301)を含む。
ユーザからリストア指示を受け取ると、リストア指示に基づいて、所定の時点までリストアする、少なくとも1つの記憶装置上のトラックおよびセクタを選択する。
方法は、選択されたトラックおよびセクタに対応するデータにバッファディスクまたはテープジャーナリング装置からアクセスすること、およびデータを、記憶装置のトラック位置およびセクタ位置に所定の時点までリストアすることをさらに含む。
ログからリストアされる状況に応答して、内部ディスクコントローラ106は、正確なテープ(複数可)を装填する(302)ようにテープライブラリ212に通知する。
状況によっては、通知によってライブラリロボット制御がアクティブ化され、テープ(複数可)が自動的に装填される場合もあれば、管理者に通知が送られ、リモートストレージまたは格納庫から正確なテープ媒体をリカバリし、ライブラリ212内に戻せるようにする場合もある。
コントローラ106は、記憶装置102Aおよび102B、たとえばRAID−1ディスクへの新規のホスト書き込みから保護する(304)。
コントローラ106は、顧客指定データ306をテープ214Aおよび/または214BからRAID−1ディスク102Aおよび102Bの、ディスク上のデータの元の位置にコピーする。
コントローラ106は、データリストア後にホスト書き込みを再イネーブルする(308)。
状況によっては、通知によってライブラリロボット制御がアクティブ化され、テープ(複数可)が自動的に装填される場合もあれば、管理者に通知が送られ、リモートストレージまたは格納庫から正確なテープ媒体をリカバリし、ライブラリ212内に戻せるようにする場合もある。
コントローラ106は、記憶装置102Aおよび102B、たとえばRAID−1ディスクへの新規のホスト書き込みから保護する(304)。
コントローラ106は、顧客指定データ306をテープ214Aおよび/または214BからRAID−1ディスク102Aおよび102Bの、ディスク上のデータの元の位置にコピーする。
コントローラ106は、データリストア後にホスト書き込みを再イネーブルする(308)。
リストア動作が完了すると、コントローラ106は、リストアテープをテープライブラリ212内に戻す、すなわち再格納させる(310)信号を送る。
コントローラ106は、適切なテープが装填された状態でデータのジャーナリングを再イネーブルする(312)。
コントローラ106は、適切なテープが装填された状態でデータのジャーナリングを再イネーブルする(312)。
図2と併せて図4を参照して、フローチャートに、データをジャーナリングする方法の一例400を示す。
この方法またはプロセスは、コントローラ106によって実行することができ、データ記憶装置102Aまたは102Bのうちの一方に向けられた書き込み動作を検出すること(402)、および書き込み動作の検出に応答して、書き込まれないデータ記憶装置から旧データを読み出すこと(404)を含む。
コントローラ106は、旧データを書き込み動作データと併せてディレクトリおよびバッファ記憶装置210に保存する(406)。
旧データは、ジャーナリング記憶装置104内のジャーナリングドライブ214Aおよび214Bにコピーされる(408)。
最新の書き込みはメタディレクトリに保持される。
この方法またはプロセスは、コントローラ106によって実行することができ、データ記憶装置102Aまたは102Bのうちの一方に向けられた書き込み動作を検出すること(402)、および書き込み動作の検出に応答して、書き込まれないデータ記憶装置から旧データを読み出すこと(404)を含む。
コントローラ106は、旧データを書き込み動作データと併せてディレクトリおよびバッファ記憶装置210に保存する(406)。
旧データは、ジャーナリング記憶装置104内のジャーナリングドライブ214Aおよび214Bにコピーされる(408)。
最新の書き込みはメタディレクトリに保持される。
いくつかの実施形態では、このプロセスは、データがドライブに書き込まれているときに、テープドライブ214Aまたは214B内の媒体要素、たとえばテープが満杯になったことを検出すること(410)を含むこともできる。
媒体要素が満杯になった場合、プロセスは、代替のテープドライブまたは代替のテープに切り替えること(412)、および書き込まれた媒体を媒体要素番号、記録番号、日付、時刻、ならびにトラックおよびセクタの識別子によって識別することを含むことができる。
媒体要素が満杯になった場合、プロセスは、代替のテープドライブまたは代替のテープに切り替えること(412)、および書き込まれた媒体を媒体要素番号、記録番号、日付、時刻、ならびにトラックおよびセクタの識別子によって識別することを含むことができる。
本開示において各種実施形態を説明したが、これら実施形態は特許請求の範囲を限定するものではなく、例示的なものとして理解されたい。
説明した実施形態の多くの変形、変更、追加、および改良が可能である。
たとえば、当業者は、本明細書において開示した構造および方法を提供するために必要なステップを容易に実施し、プロセスパラメータ、材料、および寸法は単に例として与えられていることを理解するであろう。
パラメータ、材料、および寸法は、所望の構造ならびに変更を行うために変更することが可能であり、こういった変更は特許請求の範囲内である。
本明細書において開示した実施形態の変形および変更はまた、添付の特許請求の範囲内にありながら行うことが可能である。
たとえば、開示した装置および技法はRAID−1構成を参照して説明されているが、他の装置は他の適切な構成および規格を使用することができる。
開示したシステムでは、特定の種類の記憶要素およびコントローラについて説明したが、他の適切な記憶技術およびコントローラ技術を使用することも可能である。
特定の数の要素、たとえば2つのディスクドライブまたはLDEV、および2つのテープドライブは、行われる動作を最も明確に説明するために単純な構成を表している。
記憶動作に関与する構成要素数を増やした他の適した実施形態を行うことも可能である。
説明した実施形態の多くの変形、変更、追加、および改良が可能である。
たとえば、当業者は、本明細書において開示した構造および方法を提供するために必要なステップを容易に実施し、プロセスパラメータ、材料、および寸法は単に例として与えられていることを理解するであろう。
パラメータ、材料、および寸法は、所望の構造ならびに変更を行うために変更することが可能であり、こういった変更は特許請求の範囲内である。
本明細書において開示した実施形態の変形および変更はまた、添付の特許請求の範囲内にありながら行うことが可能である。
たとえば、開示した装置および技法はRAID−1構成を参照して説明されているが、他の装置は他の適切な構成および規格を使用することができる。
開示したシステムでは、特定の種類の記憶要素およびコントローラについて説明したが、他の適切な記憶技術およびコントローラ技術を使用することも可能である。
特定の数の要素、たとえば2つのディスクドライブまたはLDEV、および2つのテープドライブは、行われる動作を最も明確に説明するために単純な構成を表している。
記憶動作に関与する構成要素数を増やした他の適した実施形態を行うことも可能である。
100,200・・・記憶システム,
102A,102B・・・記憶装置,
104・・・ジャーナリング装置,
106・・・コントローラ,
110・・・ホスト,
112・・・ユーティリティインタフェース,
212・・・テープ記憶装置,
214A,214B・・・テープドライブ,
102A,102B・・・記憶装置,
104・・・ジャーナリング装置,
106・・・コントローラ,
110・・・ホスト,
112・・・ユーティリティインタフェース,
212・・・テープ記憶装置,
214A,214B・・・テープドライブ,
Claims (13)
- 少なくとも1つの記憶装置(102A、102B)と、バッファと、少なくとも1つのジャーナリング装置(104)とに結合可能なコントローラ(106)と、
前記コントローラ(106)上で実行可能なプロセスであって、
前記少なくとも1つの記憶装置(102A、102B)上の選択ファイルの位置識別を求める解決ユーティリティと、
所定の時点または書き込みシーケンスまでリストアする前記少なくとも1つの記憶装置(102A、102B)上のデータ記録を選択するユーザインタフェース(112)と、
前記選択された記録に対応するデータに、最新書き込み動作の場合には、前記バッファから直接、前記ジャーナリング装置(104)からアクセスし、または、これ以外の書き込みの場合には、前記バッファを介して前記ジャーナリング装置(104)からアクセスし、前記データを前記識別された位置までリストアするリストアユーティリティと
を備えたプロセスと
を備える記憶システム(100)。 - 前記ユーザインタフェース(112)は、メタコマンドインタフェース、コマンドラインインタフェース(CLI)およびグラフィカルユーザインタフェース(GUI)の中から選択され、リストアするトラックおよびセクタのいずれか、または、これらの集合を選択し、前記時点を選択する
請求項1記載の記憶システム。 - 前記コントローラ(106)に結合された複数の記憶装置(102A、102B)と、
前記コントローラ(106)と、前記複数の記憶装置(102A、102B)とに結合されたディレクトリおよびバッファ記憶装置(210)と、
前記コントローラ(106)と、前記複数の記憶装置(102A、102B)と、前記ディレクトリおよびバッファ記憶装置(210)とに結合された少なくとも1つのジャーナリングテープドライブと
をさらに備える請求項1記載の記憶システム。 - 前記コントローラ(106)に結合された第1および第2のデータディスクと、
前記コントローラ(106)と、前記第1および第2のデータディスクとに結合されたメタファイルディレクトリおよびバッファディスクと、
前記コントローラ(106)と、前記第1および第2のデータディスクと、前記メタファイルディレクトリおよびバッファディスクとに結合された第1および第2のジャーナリングテープドライブと、
前記コントローラ(106)上で実行可能なプロセスであって、
前記第1または第2のデータディスクへの書き込み動作に応答して、書き込まれない前記ディスクから旧データを読み出し、
前記旧データを、前記書き込み動作のデータと併せて前記メタファイルディレクトリおよびバッファディスクに保存し、
前記旧データを、前記第1または第2のジャーナリングテープドライブのテープドライブにコピーする
プロセスと、
前記コントローラ(106)上で実行可能なプロセスであって、
テープが、前記第1または第2のジャーナリングテープドライブで満杯になったときに、代替のテープドライブに切り替える
プロセスと、
前記コントローラ(106)上で実行可能なプロセスであって、
書き込まれたテープそれぞれを、
テープ番号、記録番号、日付、時刻、書き込まれたディスクトラックおよびセクタによって識別する
プロセスと、
前記コントローラ(106)上で実行可能なプロセスであって、
論理単位、トラック、セクタおよび長さに基づき、書き込み動作を表す記憶装置書き込み単位の精度で、ジャーナリング動作を記録するプロセスと
をさらに備える請求項1記載の記憶システム。 - コントローラ(106)と、
前記コントローラ(106)に結合された複数のデータ記憶装置(102A、102B)と、
前記コントローラ(106)に結合されたディレクトリおよびバッファ記憶装置(210)と、
前記コントローラ(106)に結合された少なくとも1つのジャーナリング記憶装置(214A、214B)と、
前記コントローラ(106)上で実行可能なプロセスであって、
前記複数のデータ記憶装置(102A、102B)のうちの1つへの書き込み動作に応答して、書き込まれないデータ記憶装置から旧データを読み出し、
前記旧データを、前記書き込み動作のデータおよびタイムスタンプと併せて前記ディレクトリおよびバッファ記憶装置(210)に保存し、
少なくとも1つのジャーナリング記憶装置(214A、214B)のいずれかのジャーナリング記憶装置にコピーする
プロセスと
を備える記憶システム(200)。 - 前記コントローラ(106)上で実行可能なプロセスであって、
媒体要素が前記少なくとも1つのジャーナリング記憶装置(214A、214B)のいずれかで満杯になると、代替のジャーナリング記憶装置に切り替える
プロセスと、
前記コントローラ(106)上で実行可能なプロセスであって、
書き込まれた個々の媒体要素を媒体要素番号、記録番号、日付、時刻、および、書き込まれた記憶装置のトラックおよびセクタによって識別するプロセスと
をさらに備える請求項5記載の記憶システム。 - 前記コントローラ(106)は、ディスクコントローラであり、
前記複数のデータ記憶装置(102A、102B)は、論理装置であり、
前記ディレクトリおよびバッファ記憶装置(210)は、メタファイルディレクトリおよびバッファ論理装置であり、
少なくとも1つのジャーナリング記憶装置(214A、214B)は、ローカルまたはリモートテープライブラリ(212)内の一対のジャーナリングテープドライブである
請求項5記載の記憶システム。 - 前記コントローラ(106)は、独立ディスク冗長アレイ(RAID−1)構成のディスクを制御するディスクコントローラであり、
前記複数のデータ記憶装置(102A、102B)は、
2つのデータディスクまたは論理装置ディスク部分
を備え、
前記ディレクトリおよびバッファ記憶装置(210)は、メタファイルディレクトリ、および、バッファディスクまたは論理装置ディスク部分であり、
前記少なくとも1つのジャーナリング記憶装置は、ローカルまたはリモートテープライブラリ(212)内の1対のジャーナリングテープドライブである
請求項5記載の記憶システム。 - 前記コントローラ(106)上で実行可能なプロセスであって、
前記複数のデータ記憶装置(102A、102B)のうちの1つのデータ記憶装置への書き込み動作を検出し、
前記検出に応答して、前記複数のデータ記憶装置(102A、102B)のうちの代替のデータ記憶装置から旧データを読み出し、
前記旧データを、前記ディレクトリおよびバッファ記憶装置(210)にログ記録する
プロセスと、
前記コントローラ(106)上で実行可能なプロセスであって、
ログからリストアする状況に応答して、前記少なくとも1つのジャーナリング記憶装置からの適切な媒体の装填を要求し、
前記複数のデータ記憶装置(102A、102B)に向けられた新規書き込み動作を留保し、
指定されたデータを、前記少なくとも1つのジャーナリング記憶装置から前記データ記憶装置(102A、102B)のログ記録前の位置にコピーし、書き込み動作を再イネーブルする
プロセスと、
前記コントローラ(106)上で実行可能なプロセスであって、
前記ログからのリストア動作の完了後に、リストア媒体を前記少なくとも1つのジャーナリング記憶装置内に再収納し、
適切なジャーナリング媒体が装填された状態でのジャーナリングを再イネーブルすることを要求する
プロセスと
をさらに備えた請求項5記載の記憶システム。 - 前記コントローラ(106)へのホスト接続と、
前記ホスト接続を介して前記コントローラ(106)に結合されたホスト(110)と、
前記ホスト(110)で実行可能なユーザインタフェース(112)プロセスであって、
記憶装置全体および記憶装置内に収納された選択されたトラックおよびセクタアドレス範囲に対して、ジャーナリングを選択的に行えるようにする
プロセスと
をさらに備える請求項5記載の記憶システム。 - 前記コントローラ(106)上で実行可能なプロセスであって、
前記複数のデータ記憶装置(102A、102B)の内のデータ記憶装置への新規データの書き込み動作中、前記新規データ書き込み位置からの旧データを、生成されたシーケンス番号および現在日時の識別子と併せてコピーし、
前記ディレクトリおよびバッファ記憶装置(210)上の永続ディレクトリに、ジャーナリング記録を入力する
プロセス
をさらに備える請求項5記載の記憶システム。 - 前記コントローラ(106)上で実行可能なプロセスであって、
ジャーナルデータを、第1のジャーナリング記憶装置の末尾から、現在アクティブな第2のジャーナリング記憶装置に、データストリーミングに適切なデータレートで書き込み、
前記現在アクティブな第2のジャーナリング記憶装置の媒体が満杯になった場合、代替のジャーナリング記憶装置に書き込みを切り替え、
前記少なくとも1つのジャーナリング記憶装置に、前記満杯になった媒体を格納して交換するように通知する
プロセス
をさらに備える請求項5記載の記憶システム。 - 前記コントローラ(106)上で実行可能なプロセスであって、
永続ディレクトリを、前記ディレクトリおよびバッファ記憶装置(210)に保持し、
データリストア要求があると、指定された媒体識別子および記録番号を見つけて読み出せるようにするプロセス
をさらに備える請求項5記載の記憶システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/922,730 US7529966B2 (en) | 2004-08-20 | 2004-08-20 | Storage system with journaling |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006059347A true JP2006059347A (ja) | 2006-03-02 |
Family
ID=35910917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005231560A Withdrawn JP2006059347A (ja) | 2004-08-20 | 2005-08-10 | ジャーナリングを使用した記憶システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7529966B2 (ja) |
JP (1) | JP2006059347A (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006072440A (ja) * | 2004-08-31 | 2006-03-16 | Hitachi Ltd | ストレージ装置およびそのデータ移行方法 |
JP4859605B2 (ja) * | 2006-09-20 | 2012-01-25 | 株式会社日立製作所 | 情報処理システム |
JP5419861B2 (ja) | 2007-04-20 | 2014-02-19 | インぺディメッド リミテッド | インピーダンス測定装置および方法 |
JP2013178696A (ja) * | 2012-02-29 | 2013-09-09 | Hitachi-Lg Data Storage Inc | アーカイブシステムおよび処理方法 |
US8856618B2 (en) * | 2012-10-04 | 2014-10-07 | HGST Netherlands B.V. | Scalable repair block error correction for sequential multiple data blocks in a magnetic data storage device |
US20150378858A1 (en) * | 2013-02-28 | 2015-12-31 | Hitachi, Ltd. | Storage system and memory device fault recovery method |
US9229813B2 (en) | 2014-03-06 | 2016-01-05 | HGST Netherlands B.V. | Error correction with on-demand parity sectors in magnetic data storage devices |
US9116853B1 (en) | 2014-08-20 | 2015-08-25 | International Business Machines Corporation | Tape backup and restore in a disk storage environment |
US9240209B1 (en) | 2014-09-30 | 2016-01-19 | International Business Machines Corporation | Pass-through tape access in a disk storage environment |
US10169174B2 (en) * | 2016-02-29 | 2019-01-01 | International Business Machines Corporation | Disaster recovery as a service using virtualization technique |
US10552267B2 (en) | 2016-09-15 | 2020-02-04 | International Business Machines Corporation | Microcheckpointing with service processor |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103797B1 (en) * | 1998-03-30 | 2006-09-05 | Emc Corporation | Resource allocation throttling in remote data mirroring system |
US6463501B1 (en) * | 1999-10-21 | 2002-10-08 | International Business Machines Corporation | Method, system and program for maintaining data consistency among updates across groups of storage areas using update times |
US6625623B1 (en) * | 1999-12-16 | 2003-09-23 | Livevault Corporation | Systems and methods for backing up data files |
US6678787B2 (en) * | 2000-12-21 | 2004-01-13 | International Business Machines Corporation | DASD-free non-volatile updates |
US6898688B2 (en) * | 2001-12-28 | 2005-05-24 | Storage Technology Corporation | Data management appliance |
US7036043B2 (en) * | 2001-12-28 | 2006-04-25 | Storage Technology Corporation | Data management with virtual recovery mapping and backward moves |
US7240235B2 (en) * | 2002-03-13 | 2007-07-03 | Intel Corporation | Journaling technique for write transactions to mass storage |
US7007044B1 (en) * | 2002-12-26 | 2006-02-28 | Storage Technology Corporation | Storage backup system for backing up data written to a primary storage device to multiple virtual mirrors using a reconciliation process that reflects the changing state of the primary storage device over time |
JP3974538B2 (ja) * | 2003-02-20 | 2007-09-12 | 株式会社日立製作所 | 情報処理システム |
JP2004259079A (ja) * | 2003-02-27 | 2004-09-16 | Hitachi Ltd | データ処理システム |
JP4165747B2 (ja) * | 2003-03-20 | 2008-10-15 | 株式会社日立製作所 | 記憶システム、制御装置及び制御装置のプログラム |
US7111136B2 (en) * | 2003-06-26 | 2006-09-19 | Hitachi, Ltd. | Method and apparatus for backup and recovery system using storage based journaling |
US7398422B2 (en) * | 2003-06-26 | 2008-07-08 | Hitachi, Ltd. | Method and apparatus for data recovery system using storage based journaling |
US7181646B2 (en) * | 2003-09-16 | 2007-02-20 | Hitachi, Ltd. | Mapping apparatus for backup and restoration of multi-generation recovered snapshots |
US20050273650A1 (en) * | 2004-06-07 | 2005-12-08 | Tsou Henry H | Systems and methods for backing up computer data to disk medium |
-
2004
- 2004-08-20 US US10/922,730 patent/US7529966B2/en active Active
-
2005
- 2005-08-10 JP JP2005231560A patent/JP2006059347A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20060041789A1 (en) | 2006-02-23 |
US7529966B2 (en) | 2009-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006059347A (ja) | ジャーナリングを使用した記憶システム | |
US9606740B2 (en) | System, method and computer program product for synchronizing data written to tape including writing an index into a data partition | |
US7185048B2 (en) | Backup processing method | |
US7325159B2 (en) | Method and system for data recovery in a continuous data protection system | |
US8055631B2 (en) | Reducing data loss and unavailability by integrating multiple levels of a storage hierarchy | |
US7509357B2 (en) | Transparent file restore | |
US7152184B2 (en) | Storage device, backup method and computer program code of this storage device | |
US7774643B2 (en) | Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array | |
US7120768B2 (en) | Snapshot acquisition method, storage system and disk apparatus | |
EP0733235B1 (en) | Incremental backup system | |
US7613946B2 (en) | Apparatus, system, and method for recovering a multivolume data set | |
US8037347B2 (en) | Method and system for backing up and restoring online system information | |
US7146526B2 (en) | Data I/O system using a plurality of mirror volumes | |
US20070033361A1 (en) | Apparatus, system, and method for fastcopy target creation | |
US20050108470A1 (en) | Tape mirror interface | |
US20050033933A1 (en) | Systems and methods for modifying disk drive firmware in a raid storage system | |
US7840755B2 (en) | Methods and systems for automatically identifying a modification to a storage array | |
US7711913B1 (en) | System and method for backing up extended copy commands | |
JP2002278706A (ja) | ディスクアレイ装置 | |
US20090063770A1 (en) | Storage control apparatus, storage control program, and storage control method | |
JPH06124169A (ja) | 二重システム化された光ディスク装置及びそのi/oエラー自動復旧方法 | |
JP4288929B2 (ja) | データストレージ装置及びデータストレージ方法 | |
JP2004086756A (ja) | ディスクアレイ装置およびこの制御方法 | |
JP2010015253A (ja) | 記録再生装置および記録再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080404 |