ノックス株式会社

NOXは経験と独創性を基盤に最良のITソリューションを提供し続けます
Corporate Profile

製品情報

Dell EMC Data Domain

「Dell EMC Data Domain Data Invulnerability Architecture」
 Ensuring Data Integurity and Recoverability

ストレージシステムのデータ保全

ストレージの機能に特化したシステムは、より高い付加価値を提供してはいますが、障害が発生しうる汎用的なハードウェアとソフトウェアで構成されています。それらの障害の中にはハードディスク障害のように即座に検知できるタイプのものもありますが、その他の多くは潜在的にシステムに内在するものやソフトウェアのバグのように定常時は見つからないものが多く、知らぬ間にファイルシステム障害を起こし、読み込みの時に始めて気付くというケースが少なくありません。

高機能ストレージシステムでは、これらの障害に直面した場合でもデータ一貫性を保証するために様々な整合性チェックや性能、可用性の向上策を盛り込んでいますが、データの完全復元性までを提供するには至っていません。その結果、バックアップが取られることを想定し、データが正しく書き込めたかどうかを検証するために、書き込み直後に再読み込みするようなプライマリーストレージは広く使われてはおらず、もし実際にそのように実装した場合にはパフォーマンス面で妥協しなくてはならなくなりません。また、この最初の書き込みが確実になされていなければ、データの完全な復元性を保証することはできません。
ディスクバックアップの世界においては、データの完全復元性は性能や可用性よりも優先度が高い必要があります。データ保全にフォーカスしなければ、バックアップデータにリスクが伴います。つまりそれは、プライマリーデータが失われた時にそのリカバリにおいてリスクが伴うことを意味します。

多くのディスクバックアップストレージは単にプライマリーストレージに安価なディスクを搭載しただけで、これまでのプライマリーストレージでの設計思想を引き継いでいます。しかしながら、バックアップ用ストレージと命名するからにはデータの完全復元性に注力した設計でなければなりません。

 

DDOSの完全復元性アーキテクチャー

Dell EMC Data Domain製品は従来のストレージシステムを「データ保全とリカバリの最も大切なゴールは何か。もし自分がテープレスのIT部門に従事していたとしたら、データの回復やディスクストレージの保護に関してどう対処すべきか」という考えに基づいて、根本的かつドラマティックに設計思想を変えた製品です。EMC Data Domainは、万が一の事態における「最終手段としてのストレージ」を提供するために根本から設計を見直し、EMC Data Domain製品専用OSを開発しました。
DDOSはデータ保護を目的として設計されており、データの完全な復元性についても以下の4項目に注力して設計されています。

  1. エンドツウエンドベリフィケーション
  2. 障害回避、障害検知および復旧
  3. 永続的な障害検知および復旧
  4. ファイルシステム復旧

このような設計思想において開発されたDDOSですが、「DDOSはデータを受け取った後でしかその完全性を保証できない」という重要な点は見落とさないで下さい。DDOSはシステム単位でのエンドツウエンドテストを行っていますが、ネットワーク上の全てのやり取りでデータ保護のための処置が完全に行われているかについては関知していません。また、バックアップを行っているときのネットワーク障害や、既に知らぬ間に一次ストレージ上で論理データ障害が発生していた場合のバックアップに関しては、DDOSによっても普及は不可能です。アプリケーションレベルのデータ復旧テストは慎重に、また定期的に実行することを強く推奨します。

エンドツウエンドベリフィケーション

DD製品は全てのコンポーネットにおいてエラーを通知する設計になっていますので、データ保護を保証するエンドツウエンドテストはとてもシンプルです。エンドツウエンドベリフィケーションとは、データ書き込み後に読み込みを行い、意図したデータと比較することで確実に書き込みが行われたかどうかを確かめると同時に、ファイルシステムから確実に読み取れることも検証します。

DDOSは、バックアップソフトウェアから書き込みのリクエストを受け取ると全てのデータのチェックサムを作成し、そのデータセグメントとそれに伴う全てのチェックサムをストレージへ書き込みます。ストレージに対するバックアップI/Oが全て終了し、データの書き込みが完了するDDOSはData Domainファイルシステム(DDFS)を通して全てのデータがディスクから再度読み込めることを確認し、書き込まれたデータのチェックサムと再読み込みしたチェックサムを比較し一致することを検証します。この一連の作業で、ディスク上のデータが正確に読み込めること、データを検索する時に使用されるファイルシステムのメタデータ構造が正確にしかも確実に読み込めることを保証します。これにより、データは正確でしかもどのレベルからでも復旧可能であると言えます。
例えば、ディスクドライブ上でのデータ反転の様な問題がどの段階で発生しても検出することが可能です。この後の障害検知と復旧の章でも説明しますが、ほとんどのケースにおいて自力復旧を行います。もし何かの理由で復旧ができない場合は即座に管理者に通知を行い、正しいデータである一次ストレージをもとにバックアップの再実行を促します。

これまでの性能重視のストレージを利用してディスクバックアップを行っているシステムでは、このような厳格なベリフィケーションを行うことはできません。Dell EMC Data Domain製品はグローバルコンプレッション(GlobalCompression™)により、大幅なデータ量の削減を実現したことで検証対象となる実データ量をも削減し、この様なベリフィケーション動作を可能にしました。

エンドツウエンドベリフィケーション
エンドツウエンドベリフィケーション
エンドツウエンドベリフィケーションは全てのユーザデータとメタデータを検証します。
データが書き込まれると、堅牢なチェックサムが計算されます。データは非重複化され、ファイルシステム上に保存されます。全てのデータがデスクに書き込まれると、そのデータをディスクから再び読み込んでチェックサム値を生成し、元のデータのチェックサム値との比較が行われ、正しくデータが書き込まれていることを検証しています。

障害回避および障害時におけるデータの完全な格納

データ保証における次のステップはべリファイされた正確なデータが正確な場所にあることを確認する点にあります。中でも最大のリスクは、新しいデータが書き込まれる時のファイルシステム上のソフトウェアエラーに起因するファイルシステムの安全性です。これは新しいデータを書き込む時に何らかの障害により既存のデータに影響を与えるか、もしくはファイルシステムにおけるメタデータのアップデートの際に発生します。Dell EMC Data Domainファイルシステムはデータ保護を最大のゴールとして開発されており、バックアップ時のリスクであるソフトウェアのバグなどに対してもデータ保護を行う設計になっています。簡素化されたデザインがバグの入り込む余地を最小限にし、考えられるいくつかの障害の特長を封じ込めることにより、ソフトウェアのバグによる既存のデータへの影響を可能な限り無くしています。DDFSは最適化されたログストラクチャーファイルシステムとして実装されており4つの利点があります。

障害回避および障害時におけるデータの完全な格納
障害回避および障害時におけるデータの完全な格納
新しく書き込まれるデータは、決して古いデータをリスクにさらしません。
データ・コンテナ・ログは既存のデータを決して上書きしませんし、更新も行いません。新しいデータは単に(赤で示された)新しいコンテナに収容されます。古いデータ・コンテナは適切に保持され、ソフトウェア的な障害やデータ書き込み中に発生しうるハードウェア的な障害からも守られています。

新規データは既存データを上書きしない
これまでのファイルシステムでは古いデータブロックを使用する時にしばしばブロックを上書きしますが、DDFSは新規ブロック以外には書き込みを行いません。よって、ソフトウェアのバグによる誤書き込みを防ぐことができ、古くからあるデータも安全な状態に保たれます。

簡素化されたデータ構造
典型的なファイルシステムにおいては、高速ブロックアップデートを実現するためにフリーブロックビットマップやリファレンスカウントといった多くのデータ構造が用いられます。一方で、バックアップにおけるアクセスパターンは新規データのシーケンシャルライトであるため、そのパターンをサポートすることにフォーカスすればデータ構造はとてもシンプルに構造することができます。ログの先頭を常にウォッチしていれば新規書き込みで既存のデータに触れる必要はありません。このようなシンプルな設計のおかげで、ソフトウェアエラーによるデータ障害の可能性が激減しました。

高速で安全な再起動の為のNVRAM
ストレージシステムにおいて、ディスクへの完全な書き込みが終了していないデータがメモリ上の書き込みバッファに存在するタイミングがありますが、高速で安全な再起動を実行するために、DDFSはこの書き込みバッファの安全性を活用しています。DDFSはデータ構造の安全性のチェックにより問題が確認された場合には、ファイルシステムは自力で再起動を行います。このチェックと再起動により、データ障害を起こす種類のバグが早期発見され、また修復が行われます。この再起動時には、NVRAMバッファ内部のデータをファイルシステムへの適応前に検証し、データロスト無くファイルシステムの整合性が保たれていることを保証します。NVRAMはバグなどによるメモリ内部のデータ障害からデータを保護する機能を持ち、かつ、電源障害時にもデータを保護します。NVRAMは最新のバックアップが完全に行えることを保証し、、NVRAM障害時にはDDFS自身が既存のデータの一貫性を保証します。

部分書き込みを行わない
プライマリーストレージで使用されているRAID1, 3, 4, 5, 6では、書き込み時に電源障害などによるディスク障害が起きると既存のデータを失くしてしまうことがありますが、それはディスクの再構成はRAIDのストライプ内部の整合性に依存していることが要因です。ブロック単位で書き込みが行われる場合には、RAIDのストライプが整合性の無い過渡的な状態になることがあり、その場合にもしストライプの再構成が失敗した場合には、その中にある既存のデータは失われてしまいます。大規模ストレージシステムではこのデータ障害を防ぐためにNVRAMを用いたり、UPSを導入するなどして対応しますが、大規模な電源障害が起きた場合は復旧に失敗しデータを失うことになるでしょう。このような事態を避けるためにDDFSは、ストライプ内部のうちの一部分のブロックだけを更新するようなことはしません。データの上書きを行わないという特長に加えて、ストライプ自体も常に全体を更新することにより、あらゆるデータ障害の可能性を排除しています。これは、書き込み後のベリフィケーションにおいてストライプ自体の完全性をも検証することを意味します。Dell EMC Data Domain製品は、一次ストレージではなくバックアップ用途のストレージとして、「データ復旧のための最終手段」となることを念頭に現状考えられるストレージのエラーを最小限に抑える設計がなされています。想定外の障害が発生したときにもその検知までの時間を最短にし、即座に状態を管理者に通達する機能も備えています。

永続的な障害検知と復旧

突然のハードウェア障害をソフトウェアで防ぐ手段はありません。ストレージシステムにおいてはディスク障害がその大半ですが、その他にも様々な障害があります。ディスクブロックが読み込めなくなったり、データ転送中の内部バスでのビットの反転による論理的エラーも考えられます。これらに対処するためにEMC Data Domainでは障害検知と復旧をオンラインで行い、データリストアの運用に妨げの無いように設計されています。

永続的な障害検知と復旧
永続的な障害検知と復旧
永続的な障害検知と復旧の機能がシステム障害を未然に防ぎます。
システムは定期的にRAIDストライプとデータ・コンテナの整合性を検証し、RAIDの冗長性を活用して障害点を復旧します。毎読み込み時に、データの整合性が確認され、エラーがオンラインで補正されます。

DD0 RAID:二重のディスク障害への対応とリードエラーからの復旧
DD RAIDは、Dell EMC Data Domain製品の永続的な障害感知と復旧を行うための中核的な役割を提供します。強力なデュアルパリティとRAID6アーキテクチャーにより、これまでのRAID 1, 3, 4, 5 で行っているシングルパリティでの対応という手法に対して、圧倒的な優位性を持っています。DD RAIDの特長は以下になります。

  1. ディスクの二重障害への対応
  2. シングルディスク障害の復旧時におけるリードエラーの可能性の排除
  3. 運用者のミスによる障害の保護
  4. NVRAMやUPSが無くても電源障害からRAIDストライプの一貫性を保護
  5. ベリファイによるデータ信頼性と書き込み後のストライプ単位のデータ保証

これまでのRAID手法では2つのディスク障害が起きるとデータを失ってしまいます。データ保護にフォーカスしたストレージシステムでは、RAID6で提供されるより高いレベルのデータ保護機能が絶対に必要です。

ジョブ実行中の傷害検知と復旧
DDFSではディスク上のデータ構造はスクラッビングバッファと呼ばれるデータブロックでフォーマットされていますので、リストアが正常に行われれば全てのデータは正確に復元されることを保証します。その中にはデータ検証のための強力なチェックサムが含まれています。データをディスクから読み込む時は、DDFSは読み込んだデータが正しいかどうかをこのチェックサムを利用して常に確認します。RAIDのストライプは部分的にはアップデートされませんので、その信頼性に基づいてデータを復旧します。

スクラブによる既存データの保証
オンラインによる障害検知が正常に稼動していたとしても、数週間前もしくは数ヶ月前に書き込んだデータが読めないという障害がしばしば発生します。こういった障害からデータを保護するために、DDFSでは毎週バックグランドでスクラッビングと呼ばれるデータの信頼性チェックを行っており、この処理によって事前にディスクのブロック障害を検知し復旧することができます。
以上の様な実行中の障害検知と復旧、データの定期的スクラッビングによりほとんどのシステム障害やディスクドライブ障害を見分けることができ、データ障害を防いでいるため、データやシステム運用におけるリスクは大きく軽減されます。

 

ファイルシステムの復旧性

前述したデータ保護の機能があったとしても、一般のストレージシステムが何らかの障害を起こす可能性は完全に否定できません。しかしながら、完全復元性を持つアーキテクチャーでは、ファイルシステムのメタデータ障害からのリカバリやファイルシステムチェックのツールなどにより、迅速かつ安全にシステムを復旧させることが可能です。

メタデータ復旧を保証するデータフォーマット
DDFSにおけるファイルシステムのメタデータは高速アクセスを実現するためのインデックス情報などを提供しますが、それもまたディスク上のデータ自身から復旧することができます。全てのデータは、それを参照するために必要なメタデータと共に格納されているため、もしメタデータに障害が発生した場合は、以下の2つの方法で復旧が可能です。1つ目は、DDFSは数時間後とにメタデータのスナップショットを取っていますので、その時点までの信頼のあるデータとして復旧する方法です。2つ目は、DDFSはディスクのデータをスキャンしメタデータを復旧する方法です。これらの機能により、ファイルシステムのメタデータに障害が発生するという最悪の場合でも、システムを復旧することができます。

ファイルシステムの復旧性
ファイルシステムの復旧性
データは"Self-describing"形式で保存されます。
もし万が一の際には、ログをスキャンし、データ領域に埋め込まれたメタデータを再構成することでファイルシステムを再生成することができます。

高速なFSCK
通常のファイルシステムではオンラインでのファイル一貫性のチェックはできませんが、DDFSではバックアップ終了後の再読み込みによるベリフィケーションを全ての新しく書き込まれたデータに対して行います。一般のファイルシステムでは障害復旧時のファイル復旧時間が非常に長くなるため、ファイルシステムの整合性チェックが現実的に可能な容量に関して制約があります。例えば、80TB以上のデータの上書きを誤って行わないように空き領域を探し出す非常に長い処理のプロセスが必要になります。加えて、フリーブロックマップやリファレンスカウントの再構成を行うために全てのリファレンスもチェックするという処理も通常は必要になりますが、この処理はデータ量が多ければ多いほど時間が掛かります。これとは反対にDDFSでは既存データの上書きは行わないのでブロックマップ、リファレンスカウントの再構成は必要ありません。DDFSはログを確認するだけで安全にシステムをオンラインへ復旧させます。

 

最後に

ストレージシステムにおけるデータ保護の保証は、単純なメカニズムでは実現できません。いくつものメカニズムが連携し確実な順序で行うことによりどのような障害においても復旧を保証することができます。これまでのストレージシステムを一次ストレージから二次ストレージへ単に目的を変えて利用するのとは違い、Dell EMC Data Domain製品はデータ保護製品という明確な目的を持って設計されました。完全なデータ復旧アーキテクチャーは現状のデータ保護の問題に対する最善の手法といえます。正確なバックアップを保証するための選考ベリフィケーション、上書きしないログ形式のDDFSファイルシステムアーキテクチャー、フルストライプライトの機能などにより、バックアップ中に障害が起きても確実に既存データは安全であることを保証します。同時にシンプルで堅牢なDDFSはソフトウェア障害の可能性を最小限に抑えます。

以上のメカニズムにより、ストレージのバックアップ実行中に発生しうる問題からデータを保護しますが、ストレージ自体の障害からの復旧も考慮する必要があります。これを解決するためにDell EMC Data Domainでは独自に開発したRAID6を搭載しました。これによりディスクの二重障害、ディスク障害後のRAID再構成時の読み込み障害、そして読み込み時のデータ修復を実現しました。そしてまたスクラブプロセスを実行することにより永続的なデータ保証を行うと共に事前に障害復旧を行うことができます。
DDFSファイルシステムは、データ保護の最終手段として絶対に必要となる復旧性の機能を備えています。独自のデータフォーマットにより、メタデータ構造におけるデータ障害が起きたとしても復旧が可能です。また、高速なファイルシステムチェックと復旧機能により、数十テラバイトとのデータ容量に何らかの問題がありオフラインになったとしても、迅速な復旧を実現しています。

ページトップへ