...

KNOWLEDGE MANAGEMENT

by user

on
Category: Documents
3

views

Report

Comments

Transcript

KNOWLEDGE MANAGEMENT
データの整合性を守る
Dell | EMCの独自機能
作成:Michael H. Darden
デルとEMC® のパートナーシップにより、従来のDell™ PowerVault™ に代表されるストレージ製品ラインは、新たにDell
| EMCストレージ・システムが加わり、より一層の拡充を続けています。Dell | EMC製品は、格納前、格納中、格納後の
データを保護する強力な機能群を提供しており、本書ではその仕組みについて解説いたします。
企業で最も貴重な資産は情報であると言えば、大半の管理者と経
営者が同意するでしょう。実際、情報のうち、わずか数バイトを失うだけ
でも、致命的な結果を招くことがあります。オンライン・トランザクション処
理(OLTP)データベースを例に挙げると、通常、1日に数千件から数百
万件ものログを記録するトランザクションの中で、最も重要な部分は、た
とえば顧客の預金残高欄など、ほんの数バイトのデータで構成されてい
ます。同様に、データの1ブロックが破壊されるだけで、ファイル全体が読
み込み不能となることもあります。競争が激化している今日の市況で企
業が生き残るためには、データの保護が必須となります。
「データは冗長ディスク・アレイに格納され、入念に設計されたテープ・
バックアップ体制も整っているので、保護対策は万全」と考えるシステム
管理者の方もいらっしゃるでしょう。しかし、前回バックアップを取得して
から、次回のバックアップまでにデータが破壊され、それに気付かないこと
もあります。この場合は、破壊されたままのデータをバックアップしてしま
い、障害発生時は、破壊されたデータを復旧することになってしまいま
す。データを危険にさらす例として、次のような状況が考えられます。
キャッシュにデータが入ったままの状態でコントローラが故障した場合
データを格納しているキャッシュが長時間通電されない場合
書き込み処理中に停電やコントローラの障害が発生した場合
ディスクからデータを読み込む際のエラー
レイテント・ディスク・エラー(ディスク遅延エラー)
Dell | EMCのストレージ・システムは、上記すべての状況でデータを
破壊から守ることができます。Dell | EMCシステムは、ディスクへの格納
前、格納中、格納後を問わず、すべての局面でデータの整合性を守
る、総合的な機能を提供します。
書き込む前のデータを保護
ディスクは機械仕掛けの装置であるため、他のデバイスに比べ本質的に
低速です。ある一定の条件下では、キャッシュを使用してRAMと直接
読み書きすることで、データがディスクに書き込まれるまでの待機時間を
www.dell.com/powersolutions
節約し、ホスト・サーバの性能が大幅に向上できる場合もあります。キャ
ッシュは、特にライトバック方式が広く知られています。この方法は、ホス
トがストレージ・システムにデータを書き込むとき、ストレージ・システム
は、データがキャッシュに書き込まれた時点で「書き込み完了」とホストに
返答しますが、まだデータはディスクに書き込まれていません。Dell |
EMC製品は、数ギガバイトもの大容量キャッシュを提供しているため、
数十億バイトのデータに電子速度でアクセスすることができます。
しかし、キャッシュ・メモリには、電源が切断されるとキャッシュ内の情
報が消えてしまうという難点があります。システムがライトバック・キャッシュ
を使用している場合、予期せぬ停電が発生すると、数ギガバイトものデ
ータを失う可能性があります。さらに、キャッシュは通常、物理的にストレ
ージ・プロセッサ・ボード上に設置されているため、ストレージ・プロセッサ
に障害が発生した場合も、キャッシュされたデータを失う可能性がありま
す。このようにキャッシュは、ストレージ・システムにいくつかの弱点をもたら
しますが、Dell | EMCシステムの場合は、キャッシュ・ミラーリングやキャッ
シュ・ボルティングを使用することで、キャッシュ・データを損失する危険性
を大幅に低減しています。
キャッシュ・ミラーリングの仕組み
キャッシュ・ミラーリングにより、ストレージ・プロセッサに障害が発生して
も、キャッシュ・データの損失を防ぐことができます。キャッシュ・ミラーリング
の前提条件として、ストレージ・システムは、フェイルオーバ機能を備えた
2台のストレージ・プロセッサによる冗長構成が必要です。各ストレージ・
プロセッサ上にある書き込みキャッシュは、半分を通常の書き込みキャッ
シュとして使用し、残り半分は、もう一方のストレージ・プロセッサ上にあ
るキャッシュ・データのコピー専用に使用します。1枚のコントローラに障
害が発生すると、もう1枚のコントローラは、故障したプロセッサが管理し
ていたストレージの所有権を引き継ぎ、残された処理を続けます。
キャッシュのミラーリングが複雑なのは、次々と変わる大量のデータを2
枚のコントローラ間で転送しなければならない点にあります。多くのストレ
ージ・システムでは、両コントローラ間にあるキャッシュ・データ用のパス
(経路)が、ディスク・ドライブへのデータ・パス(たとえば、SCSIバスやファ
イバチャネル・ループ)を流用する設計となっています。このような設計で
P/N: 2CR3A(2-2)
1
STORAGE ENVIRONMENT
は、キャッシュ・ミラーリングのトラフィックが、システム性能に多大な悪影
響を与えかねません。また、キャッシュの一貫性(コヒーレンス)も問題に
なります。ミラーリング処理中に一方のストレージ・プロセッサが故障して
しまった場合、もう一方のコントローラ上にあるキャッシュの内容は果して
正しいのでしょうか。また、プロセッサ間の通信パスに障害が発生した場
合、ミラーリングは正しく処理されるのでしょうか。
Dell | EMCストレージ・システムは、キャッシュのミラーリングにまつわる
課題を効果的に克服することができます。Dell | EMCストレージ・シス
テムは、管理ソフトウェアのDell | EMC Control Center Navisphere® を
通し、ミラー側に割り当てたキャッシュを高度な制御能力で管理します。
また、キャッシュ・ミラーリングのインタフェース専用に使用するCMI
(Cache Mirroring Interface)バスをハードウェアに組み込んでいるの
で、ミラー化したキャッシュ・データを搬送するパスは、メインのデータ・パス
から分離され、ストレージ・システムの性能全体に及ぼすミラーリングの
影響が最小限に抑えられています。さらに、万が一CMIパスやストレー
ジ・プロセッサに問題が生じた場合でも、Dell | EMCストレージ・システ
ムは自動的にキャッシュの内容をディスクにフラッシュ(書き出し)し、問
題が解決するまでライトバック・キャッシュの処理を中断するので、データ
の整合性は保たれます。
バッテリによるバックアップ電源の問題
予期せぬ停電に備え、非常用(バックアップ)電源としてバッテリからキャ
ッシュに電源を供給する方法が一般的に採用されています。外部(壁
に備え付けられたコンセント)からの電源供給が断たれた場合は、内蔵
または外付けのバッテリがキャッシュ・メモリ・チップに電源を供給します。
メモリ・チップは微量の電力しか消費しないため、小型で小容量なバッテ
リさえ搭載しておけばキャッシュ内のデータが維持でき、一見、低コスト
な手段と思われがちです。しかし、バッテリによる保護機能にはいくつか
欠点がありますし、実際にはコストがかさむ場合もあります。
長時間の停電:ほとんどのバッテリ保護システムの場合、キャッシュの
保持時間(キャッシュに保存されたデータを維持することができる期間)
は最大72時間、もしくは3日間です。停電がこのキャッシュ保持時間よ
り長引くと、キャッシュ内のデータは失われてしまいます。3日以上停電が
続いた実例として、アンドリュー・ハリケーン(1992年フロリダ州およびルイ
ジアナ州で発生)、アリソン台風による洪水(2001年ヒューストンで発
生)、ワールド・トレード・センター周辺の崩壊(2001年ニューヨークで発
生)などが挙げられます。
キャッシュ保持時間の確定が困難:すべてのバッテリは、たとえ製造ロ
ットが同じであっても、容量がそれぞれ異なります。高品質なバッテリ保
護システムで採用されているバッテリの充電量をテストして通電時間を
調べることはできますが、一般にこの種のテストでは、バッテリを外してオ
フラインにし、数時間放電させるというテストになります。さらに、充電量
は時期と温度によっても変わりますし、バッテリの使用経緯によっても変
わります。ある時点におけるバッテリ容量を明確にすることが難しいため、
システム管理者は、予期せぬ停電が発生したとき、キャッシュのバッテリ
があとどれくらい通電できるのか正確に予測することは不可能です。たと
え、まったく同一のシステムを比べても、バッテリの持続時間が同じにな
るとは限りません。
バッテリの管理:キャッシュのバッテリには寿命がありますし、多くの場
合、仕様どおりの容量を維持するために、定期的な修繕が必要となり
ます。ほとんどのバッテリは2年ごとに取り替える必要があり、耐用期間
中も、キャッシュの内容を期待された時間まで維持するのに必要な充
電量が十分残っていることを常に監視していなければなりません。
2
P/N: 2CR3A(2-2)
バックアップ電源として一般的に使用されるバッテリの種類は、ニッケ
ル・カドミウム(NiCad)、ニッケル水素(NiMH)、リチウム・イオン電池な
どがあり、いずれも定期的な修繕や交換が必要となります。これらの要
件が、資産管理やメンテナンスの労力を生み、特に複数のストレージ・
システムを担当するシステム管理者や、これらの機材を引き継ぐ後任の
システム管理者にとっては、大きな課題となります。すべてのキャッシュ・
バッテリに残された耐用期間や状態を追跡調査するのは、たとえメーカ
ーが事前に通知してくれたとしても、困難です。
キャッシュ・ボルティングの利点
Dell | EMC製品は、キャッシュ・ボルティングと呼ばれる、よりシンプル
で、より信頼性の高いキャッシュ保護機能を採用しています。この機能
は、所定の手順に従ってシステムがシャットダウンされた後、すべてのキャ
ッシュ・データがディスク上に確実に格納されるまで、Dell | EMCのスタン
バイ電源装置(SPS)がストレージ・システム全体に電源を供給するとい
うものです。この処理は、停電時間の長さに関係なく、数分のうちに実
行され、データを永久に守ります。
Dell | EMCのSPSは、密閉された鉛酸電池を使用しているため、他
のバッテリ・システムのように管理したりメンテナンスしたりする手間が省け
ます。この実績あるバッテリ技術は、大きさと重さを犠牲にしているもの
の、耐用期間が非常に長く、修繕も必要ありません。鉛酸電池は、こ
のような長所・短所を持つため、おそらくノートブック・コンピュータには向
きませんが、キャッシュ・ボルティングには完璧です。キャッシュ・ボルティン
グとDell | EMC SPSは、すべてのDell | EMC製品で標準提供していま
す。
書き込み中のデータを保護
ほとんどのディスク・ストレージ・システムは、ディスクの障害対策として、
何らかの保護機能を提供しています。最も一般的な保護機能の一つ
はRAID 5です。RAID 5レベルは、データの冗長性を提供しますが、そ
の際、すべてのデータをコピーする必要はありません。その代わり、RAID
5グループを形成するディスクのうち、1ディスク分に相当する容量をパリテ
ィ情報の格納に使います。1台のディスクが故障すると、パリティ情報と
残された稼動中のディスクから、故障したディスク上に書かれていたデー
タを再生します。
RAID 5上で書き込み処理(図1を参照)が発生すると、まず、書き
込み先の領域とパリティから元の値を読み込みます。次に新しいパリティ
の値を計算し、最後に、新しいデータと更新されたパリティをディスクに書
き込みます。データとパリティは、同時に書き込まれない可能性もありま
すが、通常の稼動時は、データとパリティで整合性が保たれます。
ホストが故障したディスクからデータを読み込もうとすると、ストレージ・
プロセッサは、稼動中のディスクからデータとパリティを読み込み、失われ
ているデータを再生する必要があります。パリティの整合性が保たれてい
れば、データを正しく再生することができます(図2を参照)。
パリティを維持するうえで困難なのは、いかなる状況であってもデータ
とパリティとで一貫性を確実に保つことです。言い換えれば、パリティは、
いかなる時でも、保護対象の完全なデータ・セットを正確に復元するた
めの情報が入っていなければなりません。1台のディスクが故障したとき、
誤ったパリティから失われたデータが再生されると、データの破壊を招い
てしまうので(図3を参照)、パリティの整合性は非常に重視されます。さ
らに深刻なのは、このような状態が発見されないまま運用が続けられる
ことです。
残念ながら、データとそれに対応するパリティが常に同時に更新され
Dell Power Solutions 2002 年 5 月版より抜粋
ディスクA ディスクB ディスクC ディスクD パリティ
ストレージ
プロセッサ
ストレージ
プロセッサ
ディスクA ディスクB ディスクC ディスクD パリティ
元の値を読み込む
ディスクA ディスクB ディスクC ディスクD パリティ
ディスクA ディスクB ディスクC ディスクD パリティ
誤った値を返す
誤ったパリティ:
パリティを再計算
図3. RAID 5で誤ったパリティを使用したためにデータが正しく再生されない例
データを書き込む
ディスクA ディスクB パリティを書き込む
ディスクC ディスクD パリティ
ディスクC ディスクD パリティ
ディスクA ディスクB ディスクC ディスクD パリティ
ディスクA ディスクB ディスクC ディスクD パリティ
ディスクA ディスクB ディスクC ディスクD パリティ
元の値を読み込む
正しいパリティ:
パリティを再計算
図1. RAID 5の書き込み手順
ストレージ
プロセッサ
ディスクA ディスクB ストレージ
プロセッサ
ディスクA ディスクB ディスクC ディスクD パリティ
データを書き込む
正しい値を返す
正しいパリティ:
パリティを書き込む
誤ったパリティ:
図2. RAID 5で正しいパリティから再生されたデータ
図4. RAID 5の書き込み処理でパリティの不整合が発生した例
るとは限りません。ディスクそれぞれの負荷に応じて、ユーザ・データの更
新前または更新後にパリティが更新されることもあります。データは書き
込まれたもののパリティがまだ更新されていない時点で、ストレージ・プロ
セッサへの電源障害、ストレージ・プロセッサ内のハードウェア障害、ディ
スク・エンクロージャへの電源障害など、ストレージ・システムに問題が発
生すると、パリティの整合性が失われる可能性があります(図4を参
照)。ストレージ・システムが書き込みの進行状況を維持しておくことが
できない場合、この状態が発見されないまま運用が続けられる恐れが
あります。
いかなるRAID 5ストレージ・システムでも、故障したディスクからデータ
を再構築することはできますが、すべての製品がパリティの整合性につい
て完璧な対策を講じているわけではありません。Dell | EMCのストレー
ジ・システムは、パリティの整合性を維持する保護機能で特許を取得し
ています。
不揮発性メモリを使用した書き込み進行状況の記録
パリティの整合性を守る第一の防衛線は、不揮発性メモリ(NV-RAM)
です。NV-RAMは、キャッシュに使用されるRAMと異なり、たとえ通電
が断たれても、格納されたデータを永続的に保存することができます。
www.dell.com/powersolutions
Dell | EMCストレージ・システムは、書き込みを行うたびに、ディスク・グ
ループの識別子、データの書き込み先開始セクタ、書き込みセクタ数を
NV-RAMに控えます。この書き込み進行状況記録は、書き込み処理
が(パリティの更新も含め)完了するまで残ります。突然、電源障害が
発生しても、ストレージ・システムは、どの書き込み処理が進行中で、そ
れに伴うパリティの修正が必要か、即座に判断することができます。
NV-RAMはストレージ・プロセッサ・ボード上に物理的に設置してい
るので、ストレージ・プロセッサに障害が発生すれば、NV-RAMの障害
にもつながります。しかし、Dell | EMCシステムは、セクタ単位で行う先
進のデータ・フォーマットを使用することで、コントローラの故障から整合
性が崩れることを防いでいます。
セクタ単位の保護機能
Dell | EMCのデータには、データの破壊に対応する保護機能がセクタご
とに組み込まれています。ディスクをフォーマットすると、ディスクは、一連
のデータ・ブロック、すなわち、セクタに分けられます。通常、データ・セクタ
一つあたりの大きさは512バイトですが、Dell | EMC製品は、1セクタを
P/N: 2CR3A(2-2)
3
STORAGE ENVIRONMENT
520バイトでフォーマットします。このうち512バイトがユーザ・データ用で、
残り8バイトは確認用データとなります。この確認データ領域の一部に
は、タイム・スタンプ、書き込みスタンプ、シェッド・スタンプなど、コントロー
ラが故障したとき、パリティの整合性を確保するのに使われるデータが入
ります。
タイム・スタンプと書き込みスタンプ:タイム・スタンプは、ストレージ・プ
ロセッサが生成する任意の数値ですが、重複しない値が選ばれます。ス
トライプでまとまった更新が行われると(たとえば、ストライプ内の全セクタ
が更新されるような書き込みコマンドの処理中など)、そのグループ内の
全ディスク上にある確認領域に新しいタイム・スタンプが記録されます。
書き込みスタンプはビット列で、ディスク・グループ内の各ディスクに一
つずつ割り当てられます。セクタへの書き込みが発生するたびに、デー
タ・セクタの書き込みスタンプだけでなく、対応するパリティ・セクタの書き
込みスタンプについても、その内容が変更されます。したがって、書き込
み処理が完了すると、そのデータ・セクタ上の書き込みスタンプ・ビット
は、パリティ・セクタ上の書き込みスタンプ・ビットと一致しているはずで
す。すべての書き込みスタンプは、ストライプにまとまった更新が加えられ
るたびに、つまり、新しいタイム・スタンプが記録されるのと同時に、ゼロに
書き換えられます。データとパリティにとって、タイム・スタンプと書き込みス
タンプは共に、一種のバージョン番号のような働きをします。一連の処理
が完了すると、パリティ・セクタとデータ・セクタ全体のバージョン番号が一
致するはずです。Dell | EMCストレージ・プロセッサは、新しいディスク・
グループを開くたびに(たとえば、電源を投入するとき、または交換した
後、もしくは故障した他方の負荷を引き継いだときなど)、各ストライプ
についてタイム・スタンプと書き込みスタンプを検査します。一致していな
い場合は、パリティを再計算します。
タイム・スタンプと書き込みスタンプは、コントローラの故障から引き起
こされるパリティの不整合に有効な防衛策となります。しかし、問題が発
見されたときは、パリティを再計算しなければならず、その時点で全ドラ
イブが稼動していることが前提条件となります。1台のドライブと1枚のコ
ントローラが同時に故障した場合、元のデータが完全に揃わないため、
パリティを再計算するのは不可能です。Dell | EMC製品は、パリティ・シ
ェディングとシェッド・スタンプで、この問題にも対応しています。
シェッド・スタンプ:特許取得済みのアルゴリズム、パリティ・シェディング
は、ディスク・ドライブが故障した直後に発動されます。パリティ・シェディ
ングは、まず、パリティを使用して故障したドライブのデータを再生し、次
に、この再生データでパリティを上書きします。パリティの上書きはリスクが
伴うように思われるもしれませんが、ドライブが故障してしまった後、パリ
ティの意義は、失ったデータを再生することだけにあります。前もってデー
タを再生してしまい、これでパリティを上書きしても、システムの可用性に
悪影響を与えることはありませんし、実際、アレイが劣化した状態では
大幅な性能向上に貢献します。パリティをシェディングした後、パリティ・
セクタの確認領域にシェッド・スタンプを書き込むことで、真のパリティと、
再生されたデータが見分けられるようにします。
書き込み後のデータを保護
ホストがデータを読み戻すときに、そのデータが破壊されることもありま
す。さらに、レイテント・ディスク・エラーのため、何も実行しないディスク上
にデータが放置されることで、データが壊れることもあります。Dell | EMC
システムは、チェックサムとデータ・スクラビングを使用して、このような問
題に対処しています。
チェックサム
520バイトのセクタ内にある確認領域には、データ・セクタ全体に対応す
るチェックサムが含まれます。ディスクからデータが読み込まれるとき、コン
トローラは、新しいチェックサムを計算し、それを、データ・セクタと共に読
み込まれたチェックサムと比べます。問題を発見した場合、コントローラ
はそのデータを拒否し、ディスクから再び読み込みます。このチェックサム
は、格納されたデータが取得されたデータであることを確認する手段とな
ります。
データ・スクラビング
データ・スクラビングというプロアクティブ(事前対処的)なデータ保護機
能は、通常、上位レベルのストレージ・システムだけに見られるもので
す。Dell | EMC製品の場合は、全機種で提供しており、SNiiFFERと
呼ばれるファームウェア機能を通して利用することができます。
SNiiFFERプロセスは、継続的にデータ・ブロックを読み込み、ディスク・ド
ライブから報告された読み込みエラーがないか検査します。これらのエラ
ーは、ディスク復旧済みエラー(ディスク・ドライブでエラーが発生したもの
の、修正することができたもの)か、メディア・エラー(ディスク・ドライブがデ
ータを復旧することができなかったもの)のどちらかになります。ディスク復
旧済みエラーを発見した場合、SNiiFFERは、そのデータを別領域に割
り当て直すことで、このデータがいずれ読み込み不能となる危険性を事
前に排除します。SNiiFFERがメディア・エラーを発見した場合は、損失
したデータが格納されているRAIDグループの冗長情報からデータを再
生します。ドライブ・エラーを発見しながら、修正していくという処理によ
り、ストレージ・システム上のRAIDグループ内における全データおよびパ
リティ情報の論理的な整合性も保てる、という副次的な効果をもたらし
ます。
SNiiFFERは、ホストのI/Oリクエストと同時に稼動しますが、実行中
の処理を干渉するようなことはありません。SNiiFFERは、優先度の低
いバックグラウンド・タスクとして実行し、数日周期で一巡するシステム全
体の検査を継続的に行うこともできますし、また、優先度を高くし、数
時間で一通りの検査を完了させることもできます。
Dell | EMC:データの整合性を維持
データを保護するのに、RAIDやバックアップだけでは十分と言えません。
システム管理者は、キャッシュの弱点、書き込み処理中のシステム障
害、読み込みエラー、レイテント・ディスク・エラーなど、データを破壊しか
ねない様々な状況に応じて、保護対策を講じる必要があります。Dell |
EMCのストレージ・システムは、このような状況からデータを守る、効果
的かつ実用性が認められた、総合的な保護機能を提供することができ
ます。
Michael H.Dardenは、デルのDell | EMCストレージ・システム製品マネージャで
す。デル・エンタープライズ・ストレージ・システムの戦略的な製品開発計画を練
り、次世代のDell | EMC製品機能を定義することに責任を負っています。2000
年にデルに入社してストレージ・システム・グループに所属する前は、7年ほどハイ
テク業界のエンジニアリングおよびテクニカル・マーケティング分野で豊富な経験を
積んできました。テキサス大学オースチン校で電子工学の学士号、製造システ
ム・エンジニアリングの修士号、およびM.B.A.(経営学修士号)を取得していま
す。
詳細情報の入手先
PowerEdge、PowerVault、OpenManage、Dell のロゴマークは、米国 Dell Computer Corporation の商標または登録商標です。Intel、インテル、Pentium、Xeon、Celeron は、アメリカ合衆国および他の国に
おけるインテルコーポレーションおよび子会社の登録商標または商標です。その他の社名及び製品名は各社の商標または登録商標です。本資料は、米国 Dell Computer Corporation が発行している「Power
Solutions」の翻訳です。本資料は、参考情報の提供のみを目的とし、本資料に記載されている内容は、デルコンピュータ株式会社が保証するものではありません。
4
P/N: 2CR3A(2-2)
Dell Power Solutions 2002 年 5 月版より抜粋
Fly UP