Adaptive Server Anywhere (SQL Anywhere) データの保護:RAID 配列とログ・ミラーリング

概要: ここでは、RAID 構成の実装と、Adaptive Server Anywhere (SQL Anywhere) 用のトランザクション・ログのミラーリングの違いを説明します。

ここでは、RAID 構成の実装と、Adaptive Server Anywhere (SQL Anywhere) 用のトランザクション・ログのミラーリングの違いを説明します。トランザクション・ログのミラーリングと RAID 配列のいずれも、データの信頼性とリカバリ性を向上するために使用されます (これは、RAID の場合のストレージテクノロジでも、Adaptive Server Anywhere (SQL Anywhere) のログ・ミラーリングのようなデータベース・テクノロジでも同様です)。ほとんどの RAID 構成では、ディスク・ストライピングによってパフォーマンスを向上できますが、セキュリティ (リカバリ性) や信頼性をとるか、容量やパフォーマンスをとるかという根本的なトレードオフが現在でも残っています。このトレードオフは、RAID とログ・ミラーリングの両方にあります。

RAID 配列

RAID (Redundant Array of Independent Disks) 配列は、多数の小さなディスクを組み合わせて 1 つの論理ドライブを形成します。一般的には、RAID 配列は、大量のストレージが必要なハイエンドサーバに接続された、大容量のストレージサブシステムです。RAID 配列には、さまざまなレベルと構成があります。レベルと構成を決定する際は、パフォーマンスと容量を優先するか、リカバリ性と信頼性を優先するかというトレードオフを考慮します。 適切な設定は、使用可能なリソースによって異なるため、サイトごとに調査を行います。一般的な RAID レベルは、RAID 0 (完全なストライピングあり、ドライブ障害時のリカバリなし) および RAID 5(完全なドライブ障害からリカバリするためのストライピングと冗長性) です。RAID 配列の詳細については、次の項を参照してください。

RAID の概要:RAID Overview
RAID デバイスのさまざまなレベルと構成:RAID Arrays
6 つの RAID レベルの詳細、および各レベルの利点と欠点:Understanding RAID

Adaptive Server Anywhere (SQL Anywhere) のトランザクション・ログのミラーリング

トランザクション・ログ・ミラーリングは、トランザクション・ログの書き込みの際に作成される、そのトランザクション・ログと機能的に同一のコピーです。ミラーリングされたトランザクション・ログがデータベースにある場合は、すべてのデータベースの変更がトランザクション・ログとトランザクション・ログ・ミラーの両方に書き込まれます。デフォルトでは、データベースにはトランザクション・ログのミラーはありません。 トランザクション・ログのミラーは、重要なデータを保護する方法の 1 つです。データベースのフル・バックアップと併用することで、任意の 1 つのボリュームでメディア障害が発生した場合に、完全なデータ・リカバリを実現します。また、ミラーリングされたトランザクション・ログを使用することで、データベース・サーバの起動時にトランザクション・ログを自動的に検証できます。ログのミラーリングは、ハードウェアによるドライブ・ミラーリング・システムで行うこともできます。ソフトウェアによるミラーリングよりもパフォーマンスは向上しますが、コストは大幅に高くなります。

選択の基準

大容量の、または非常に重要なアプリケーションを実行する場合は、トランザクション・ログ・ミラーの使用をお勧めします。また、レプリケーション環境のトランザクション・ログもミラーリングすることをお勧めします。

RAID にトランザクション・ログを保存する方が、RAID 以外のボリュームにミラーリングされていないログを保存するよりも適しています。ただし、ファイル・システムやコントローラのドライバでのソフトウェアの問題や、メモリやバスのエラーなどのハードウェア障害に対しては効果がありません。別のデバイス (別の物理サブシステム) にミラー・ログを保存することで、これらの問題を緩和できます。RAID 配列とログ・ミラーリングは、相互に排他的ではありません。場合によっては、Adaptive Server Anywhere (SQL Anywhere) データベースとプライマリ・トランザクション・ログが何らかの RAID 構成に保存されていても、Adaptive Server Anywhere (SQL Anywhere) のトランザクション・ログをミラーリングする必要があります。その例として、レプリケーション環境がありま

レプリケーションはトランザクション・ログを元にして実行されます。ログ・ミラーリングによって書き込みが余分に発生しますが、ログ・ファイルにより実現される保護の方が重要です。RAID 構成では、サブシステム (プライマリ・トランザクション・ログが保存されます) で複数のメディアまたはサブシステムの障害が発生することがあります。関係する RAID 構成によって、データ消失のリスクの程度が異なります。ただし、ミラーがない、または SQL Remote のメッセージ・エージェントを -u コマンド・ライン・オプション (バックアップされたトランザクションだけをレプリケートします) 付きで実行していないときに、レプリケーション環境のプライマリ・トランザクション・ログが消失すると、すべてのリモート・ユーザを再抽出することが唯一の方法になります。

たとえば、次の構成を使用して、統合データベースのトランザクション・ログを保護できます。これは一例で、公式な推奨方法ではありません。最適な RAID 構成を決定するには、テストと調査が必要になります。最適な RAID 構成は、サイトによって異なります。

データベース・ファイルとプライマリ・ログ・ファイルを、RAID 5 配列に保存します。ミラーリングされたトランザクション・ログを、別の単一のドライブまたは別の RAID 配列のいずれかの物理ボリュームに保存します。これにより、データベース・ファイルとトランザクション・ログの両方で、パフォーマンスと保護を両立できます。ログ・ミラーリングにより、オペレーティング・システム・ソフトウェアの障害や、RAID 配列での複数のドライブ障害に対しても保護が実現されます。プライマリ・トランザクション・ログをさらに別の物理ボリュームに保存することでも、パフォーマンスが向上する場合があります。