ASM(Automatic Storage Management)

Database Track
ASM (Automatic Storage Management) − 新たなベスト・プラクティス
Steve Adams, Ixora Richard Long, Oracle Corporation
チャレンジ
すべての業界において、データ生成率は増大し続けています。Oracle Database のプロフェッショナルたちは、大規模かつ
増大し続けるデータベースの管理という課題に直面しています。
•
データ記憶域および I/O 容量は必要に応じて拡張可能である。
•
データ・アクセスおよび記憶域のパフォーマンスは妥当な状態を保つ必要がある。
•
1 つのハードウェア・コンポーネントに障害が発生してもデータは使用可能な状態である必要がある。
•
主要な障害の際もデータはリカバリできる必要がある。
この課題に加え、多くのサイトが幅広いストレージ・テクノロジーおよび製品を使用しており、その中には特に他との対
話が非常に複雑なものもあります。この複雑性が、データベース記憶域の初期構成およびその後の管理の両方において、
高レベルなテクニカル・スキルと時間と労力への大きな投資が必要であることを示しています。
このジャングルを通り抜ける道を探し、トラップを回避するために、このホワイト・ペーパーでは時間とスキルを含め、
データ記憶域に対する投資を最適化するベスト・プラクティスの 5 つの側面について説明します。目的は、パフォーマン
スと信頼性を最大限に活かし、成長を考慮に入れながら複雑性を最小限にとどめることです。現在のテクノロジーでは、
両方において最善の結果を得ることは不可能です。複雑性を排除しながら、同時にパフォーマンスを最適化することはで
きません。それに近づくことすら困難です。これから示す現在のベスト・プラクティスでも、最適なパフォーマンスには
至らず、おおいに複雑です。
良いお知らせは、Oracle 10g でそれらがすべて変わるということです。Oracle 10g では、ASM(Automatic Storage
Management)を導入しています。ASM は、現在のベスト・プラクティスのすべての利点を自動的に提供し、ほぼすべて
の複雑性を排除します。慎重な構成やメンテナンスは不要です。そのシンプルさにも関わらず、ASM のパフォーマンス
は少なくとも現在のベスト・プラクティスと同レベルであり、多くの場合はそれ以上です。このホワイト・ペーパーでは、
ASM がどのように機能するのか、そして複雑な手動記憶域構成が不要な理由について詳しく説明します。
ASM は自動化され、非常に優れたパフォーマンスを提供するため、顧客はこれまでのベスト・プラクティス以上の結果
を得ることができます。ASM の使用は、Oracle 10g のすべてのデータベースにおける新しいベスト・プラクティスとな
るでしょう。
現在のベスト・プラクティス
次に示す現在の記憶域管理のベスト・プラクティスの 5 つの側面は、重要性の順に示しているわけではありません。
これらはすべて重要なのです。
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
1
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.
Database Track
ダイレクト I/O
Oracle のデータ・ファイルおよびログ・ファイル I/O が、オペレーティング・システムのバッファ・キャッシュによって
バッファされることが許可された場合、いくつかの大きな影響を受けます。
•
Oracle のデータ・ブロックは、SGA およびファイル・システム・バッファ・キャッシュの両方でキャッシュされ、キャッ
シュされた 2 つのブロック間で多大なオーバーラップが発生するため、バッファされたデータ・ファイル I/O は多く
のメモリーを浪費します、ダイレクト I/O に切り替え、かつオペレーティング・システムが Oracle データをキャッシュ
するのに使用するメモリーを Oracle に与えることで、より大きなデータ・セットがキャッシュでき、明確なパフォー
マンス利点とともに、より高いキャッシュ・ヒット率が得られます。
•
Oracle は、ファイル・システムに比べて自身のデータをはるかに効率的にキャッシュできるため、メモリーをより効
率的に使用できます。Oracle では、洗練されたタッチ・カウント・ベースのキャッシュ置換アルゴリズムを使用して
おり、これはデータ使用の頻度および鮮度の両方の影響を受けます。Oracle はまた、再利用されないデータのキャッ
シュを回避し、DBA はセグメントを KEEP および RECYCLE バッファ・プールに割り当てることで、Oracle のキャッ
シュ判定を微調整できます。
•
Oracle のバッファ・キャッシュのキャッシュ・ヒットは、ファイル・システムのバッファ・キャッシュのキャッシュ・
ヒットに比べ、CPU および経過時間の両方においてかなり効率的です。同様に、キャッシュ・ミスにおいて、ダイレ
クト物理 I/O の CPU のコストは、バッファされた物理 I/O で必要なコストに比べ若干低くなっています。
•
バッファされた I/O では、ファイル・システム・キャッシュが Oracle データだけで溢れてしまうのに対し、ダイレク
ト I/O では Oracle 以外のデータをファイル・システム・キャッシュでより効率的にキャッシュできます。
•
バッファ I/O は、一連の独立した物理書込みを各ファイル・システム・ブロックに対して、1 つ実行することで一時
ファイルの書込みなどの大規模な物理的書込みを行います。これらの書込みは連続して実行、待機されるため、書戻
しディスク・キャッシュを使用しない限り、デバイス・ドライバやスタックの低層でマージすることはできません。
これは、物理ディスクの完全な待機時間がコンポーネント書込みの各ペア間で継続されることを意味します。
•
前述の問題同様、バッファ I/O を使用する場合、ログ・ファイル書込みには、また別の深刻な問題点があります。再
実行書込みは、任意の数のログ・ブロックに対して行われ、ログ・ブロックはファイル・システム・バッファに比べ
小さいため、再実行書込みの最後のログ・ブロックがファイル・システム・バッファの終わりと合わないのが通常で
す。
従って、対象となるファイル・システム・ブロックが既にキャッシュされていない限り、オペレーティング・システ
ムは新しい再実行をそのファイル・システム・バッファの一部にコピーする前に、ディスクからそのブロックを読み
込む必要があります。バッファされた再実行書込みの多くに対して、ログ・ファイルからのこのような事前書込みが
必要です。効果的なプリフェッチ・アルゴリズムによるディスク・キャッシュにより、この問題の影響の一部が隠さ
れます。
これは、ダイレクト I/O のパフォーマンスに必須ですが、記憶域管理の複雑性を増大させます。ダイレクト I/O を有効化
する方法は、オペレーティング・システム・プラットフォームおよびファイル・システム・タイプの両方に基づきます。
filesystemio_options パラメータを設定するのが最適な場合や、ファイル・システム・マウント・オプションが必要な場合
があり、またダイレクト I/O は特殊なオペレーティング・システム・コマンドを使用してファイルごとに構成することも
できます。
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
2
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.
Database Track
非同期 I/O
非同期 I/O は、ノンブロッキング I/O を意味します。プロセスが通常の同期 read()または write()システム・コールを使用
して、読込みまたは書込みを行う場合は、ハードウェアが物理 I/O を完了し、操作の成功または失敗の報告を受ける(そ
して成功の場合は結果を受け取る)ことができるまで待つ必要があります。プロセスの実行は、システム・コールの結果
を待つ間ブロックされます。これが、同期 I/O あるいはブロッキング I/O です。
しかし、プロセスが非同期の aio_read()または aio_write()システム・コールを使用する場合、システム・コールは、I/O リ
クエストがハードウェアにパスされる、あるいはオペレーティング・システムでキューされると、通常は物理 I/O 操作が
始まる前に返されます。システム・コールの結果を待つ必要がないため、プロセスの実行はブロックされません。
実行を続け、I/O 操作の結果を後で受け取ることができます。これが、非同期 I/O あるいはノンブロッキング I/O です。
非同期 I/O では、Oracle の DBWn のように集中プロセスの書込みが可能で、I/O リクエストを別のデバイスにキューして
ハードウェアの I/O 帯域幅を最大限に利用し、多くをパラレルで処理できます。また非同期 I/O では、リクエストされる
前にディスクからデータをプリフェッチするためのソート操作など、計算内包的操作を実行するプロセスが可能で、I/O
および計算をパラレルに行えます。
非同期 I/O のパフォーマンスは、カーネル化された非同期 I/O またはスレッド化された非同期 I/O のどちらを使用するか
により異なります。カーネル化された非同期 I/O の場合、カーネルが非同期 I/O リクエストのデータ・ストラクチャを配
置してデバイス・ドライバのエントリ・ポイントをコールし、非同期 I/O リクエストをセットアップします。その後、デ
バイス・ドライバは物理 I/O 操作をキューし、コールしているプロセスにコントロールを返します。物理 I/O 操作が完了
すると、ハードウェアが CPU に対し割込みを発生させます。CPU は割込みサービス・コンテキストに切り替わり、デバ
イス・ドライバの割込みサービス・ルーチンをコールして非同期 I/O リクエストのデータ・ストラクチャを更新し、でき
る限りコールしているプロセスを SIGIO で信号化します。
スレッド化された非同期 I/O では、カーネルの軽量プロセス機能を使用して複数の非同期 I/O リクエストを個別のスレッ
ドで実行することで非同期 I/O をシミュレートします。これにより、スレッド作成およびコンテキスト・スイッチング・
オーバーヘッドに関連して追加 CPU を使用することで、I/O の並列化が行われます。スレッド化された非同期 I/O が集中
的に使用されると、その負荷はシステム CPU 使用で 5%増加します。このため、カーネル化された非同期 I/O の使用がベ
スト・プラクティスです。
残念なことに、カーネル化された非同期 I/O は、ODM(Oracle Disk Manager)、Veritas Quick I/O、あるいは、非同期 I/O
リクエストの場所として機能する擬似デバイス・ドライバを介して、I/O をルーティングする同様の製品を使用する場合
にのみ有効です。あるいは、ファイル・システム・ベース・ファイルではなくデータ・ファイルを行の論理ボリュームあ
るいは LUN に作成する必要があります。これは、データベース管理者から空き領域管理のための多大なフレキシビリティ
を奪ってしまいます。多くのオペレーティング・システムでは、カーネル化された非同期 I/O を有効化し、調整するため
にデバイス・ファイル、デバイス・ドライバおよびカーネル・パラメータの特殊な構成を必要とします。このため、カー
ネル化された非同期 I/O の使用がベスト・プラクティスである一方で、記憶域管理がより複雑になり、投資コストが増大
するのは避けられません。
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
3
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.
Database Track
ストライピング
Oracle ファイルを複数の物理ディスク・スピンドルを通じてストライピングすることで、アクセスが集中するディスクへ
のアクセスの並行性が向上し、大量読込みおよび書込みの転送率が向上し、I/O ロードが使用可能ディスクに均等に分散
されます。
•
すべてのデータベースには、他のデータより頻繁にアクセスされる「ホット・スポット」があります。例えば、再実
行ログ・ファイルはアクセスが集中しているのが一般的です。また、通常は他のセグメントより頻繁にアクセスされ
るセグメントがあり、新しいデータは古いデータに比べ頻繁にアクセスされます。ホット・スポットは、一般的には
小さいものではありません。ホット・スポットが小さい場合、Oracle はすべてのホット・データをそのキャッシュに
保持し、ディスクにホット・スポットも存在させません。ホット・スポットを考慮する必要があるのは、複数のプロ
セスがホット・スポットに同時にアクセスする場合があるためです。すべてのホット・スポットが 1 つのディスク上
にある場合、そのホット・スポットへの同時 I/O リクエストは、そのディスクへのアクセスを競合することになるた
め、待ち時間が発生します。ストライピングの利点の 1 つは、これによりホット・スポットを複数ディスクに分散さ
せ、より多くの同時 I/O リクエストがパラレルに処理されるようになるという点です。ディスクのホット・スポット
は通常はかなり大きいため、ストライピングはファイングレインである必要はありません。実際、ストライピングを
あまりきめ細かくすると、ストライプ要素の境界を広げる I/O の割合が増大し、1 つではなく 2 つのディスクによっ
て処理する必要が生じ、並行性が低下します。
•
また、ストライピングは大容量の直接読込みおよび書込みの転送率を向上させます。これは、複数ディスク・スピン
ドルがパラレルに機能して I/O を実行できるためです。複数ディスクを使用して各大規模 I/O リクエストを処理でき
るよう、適度に細分化されたストライプ要素のサイズ(例: 128K)を選択する必要があります。しかし、ストライピ
ングがきめ細か過ぎると、多くのディスクを使用して各 I/O リクエストを処理しなければならず、サービスの平均回
転レイテンシが必要以上に高くなり、並行性が低下します。
•
ストライピングの最も重要な利点は、ストライピングによって I/O ロードがストライプのすべてのディスクに分散さ
れることかも知れません。これにより、記憶ハードウェアの I/O 帯域幅をフルに利用して、あらゆる I/O ワークロー
ドを処理することが可能です。より大容量、より少数のディスクを使用するという傾向により、このように I/O 帯域
幅をフルに利用できることが非常に重要となってきます。
ストライピングがディスク・アレイで実装された場合、オペレーティング・システムおよび Oracle のデータ・ファイル
に提示される LUN がストライピングされます。異なるタイプのファイルに対して異なるストライピング特性を持つ、複
数の LUN が必要な場合、ストライピングのいくつかの複雑性は見えなくなりますが、また別の複雑性が発生します。
ストライピングは、LVM(Logical Volume Management)ソフトウェアを使用して実装することもできます。これにより、
データベース管理者はストライピング構成をすべてコントロールできますが、LVM ソフトウェアの使用において熟練し
ている必要があります。
ミラーリング
ハードウェアのミラーリングは、ソフトウェアのミラーリングやハードウェアの RAID-5 よりも Oracle データの保護に適
した方法です。
•
RAID-5 ではミラーリングに約 2 倍ものディスク容量が使用可能です。しかし、I/O 容量は半分以下となります。ディ
スク容量の確保は容易ですが、I/O 容量の確保はそれほど容易ではないため深刻な問題となります。したがって、現
在ベスト・プラクティスとされているのは、Oracle データベースで排他的にミラーリングを使用し、すべての RAID-5
を回避することです。しかしながら、大容量な静的データ・セットにおいて RAID-5 が最適な場合もあります。
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
4
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.
Database Track
•
ミラーリングは、ハードウェア、または LVM ソフトウェアのいずれでも実装できます。ハードウェアでのミラーリ
ングでは、オペレーティング・システムは 1 つのデバイスのみを認識し、それに対して 1 度のみ書込みを行います。
ハードウェアは、書込みがすべてのミラーに向けられたか、書込みが論理的にアトミックであるかを確認します。し
かし、ソフトウェアによるミラーリングの場合、ミラーの片側での書込み完了後、他方に到達する前にシステム障害
が発生する場合があります。クラッシュの後でミラーの一貫性を適切かつ迅速に再確立するために、ソフトウェアの
ミラーリングでは、ディスクに使用済み領域ログが残されます。これにより、最近書込みが行われ、システム障害発
生時に一貫性を失ったミラーの領域が識別されます。使用済み領域ログのメンテナンスにより、ソフトウェアのミ
ラーリングには多大なパフォーマンス・オーバーヘッドが加えられるため、可能な限り回避することが望ましいとさ
れます。オラクルは、LVM ベンダーと協力してミラーリングされた Oracle データ・ファイルにおける使用済み領域
ログの必要性を排除するよう努めてきましたが、この機能はいくつかのプラットフォームのみで有効で、これにより
さらに複雑性を増しています。
•
ハードウェアでのミラーリングを使用する場合、ミラーの一方でディスク障害が発生した場合にミラーリングが自動
的かつ迅速に再確立されるようホット・スペア・ディスクを保持することがベスト・プラクティスです。
ロード・バランシング
近年、オラクルは SAME(Stripe And Mirror Everything: すべてをストライピングおよびミラーリングする)という名のも
とに、ストライピングおよびミラーリングのベスト・プラクティスを促進してきました。SAME の提案は、広範囲で大ま
かな単一のストライプ・セットをオンライン・ログ・ファイルを含む、すべての Oracle ファイルに使用することです。
これは、すべてのディスクのすべての I/O 容量を使用可能にするためです。しかし、これにはいくつかの欠点があります。
•
ディスクを SAME 構成に追加することには問題があります。新しいディスクが既存のディスクとともにストライピン
グされていない場合にホット・データが格納されていると、パフォーマンスが低下します。しかし、新しいディスク
を含めてストライプを再構成するには、慎重なプランニングと停止時間を要します。
•
充分なディスク・キャッシュを持たないいくつかの OLTP アプリケーションでは、データ・ファイルとともにストラ
イピングされていると、ログ・ファイル書込みのパフォーマンスが許容レベルを満たさない場合があります。
これらの問題を解決するために、多くのサイトでは、それぞれ 4 つのミラーリングされたディスク・ペアで構成された、
複数の SAME セットを使用することで SAME の概念を適用しています。これにより、記憶域の増加、より効率的なパラ
レル・バックアップ、そしてログ・ファイル書込みなど、特定の I/O ロードの局所性プロパティを保護するための I/O の
分割が可能になります。
このアプローチでは、各 SAME セット内で I/O ロードを均等に分散しますが、異なる SAME セット間でワークロードが
かなり不均衡になることがあります。このため、全体の I/O 帯域幅が適切に使用されるよう、ディスクのロード・バラン
シングが必要となります。これは、非常に複雑で困難な手動タスクとなります。日、週および月の異なる時間におけるワー
クロードの差も考慮に入れる必要があります。データ・ファイルは、一定のサイズでない場合があるため、ファイルをど
のように交換するかが問題となります。データ・ファイルが一定のサイズの場合でも、ディスク・ゾーニング、ハードウェ
ア仕様およびチャネル帯域幅の違いによって異なる I/O 特性を持ちます。
SAME セットは、ディスクのロード・バランシングが可能となるように、慎重に構成する必要があります。データ・ファ
イルは、すべて同一の固定サイズである必要があります。ネーミング規則を採用して、記憶域の I/O 特性を反映させる必
要があります。ワークロードのバリエーションを監視し、理解する必要があります。そして、アプリケーションによるデー
タ・アクセスの局所性プロパティについても熟知する必要があります。これらを満たすことで最適なディスクのロード・
バランシングが可能になりますが、容易になるというわけではありません。
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
5
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.
Database Track
Automatic Storage Management
Automatic Storage Management(ASM)は、Oracle データベース・ファイル専用に構築されたファイル・システムおよびボ
リューム ・マネージャを垂直に統合します。ASM は、データ・ファイル、ログ・ファイル、コントロール・ファイル、
アーカイブ・ログ、RMAN バックアップ・セットおよび他の Oracle データベース・ファイル・タイプをサポートします。
ASM では、データベース・ファイルをディスク・グループのすべてのディスクに均等に分散させ、手動 I/O 調整を行う
必要なくパフォーマンスを最適化します。DBA が ASM を使用すると、データベースを停止せずにストレージの割当てを
調整し、データベース・サイズを増やすことができるため、動的なデータベース環境を管理する場合に有効です。
ASM は排他モードあるいは RAC(Real Application Cluster)環境で実行されるデータベースに対して機能します。
ディスク・グループ
ディスク・グループとは、論理ユニットで管理されるディスクの集合です。ASM では、各ファイルをディスク・グルー
プのすべてのディスクに均等に分散して I/O のバランスを確保します。ロード・バランシングを最大限に行うには、ディ
スク・グループのすべての LUN が同等のサイズおよびパフォーマンスを持ち、共通スピンドルを共有しないことが必要
となります。多くのインストールでは、少数のディスク・グループのみが存在します。例えば、作業領域に対して 1 つの
ディスク・グループ、リカバリ領域に対して 1 つのディスク・グループ、といった具合です。
すべての単一 ASM ファイルは、単一のディスク・グループ内にあります。しかし、1 つのディスク・グループに複数の
データベースに属するファイルが含まれている場合や、単一データベースが複数のディスク・グループから記憶域を使用
する場合があります。ファイル接続先初期化パラメータでディスク・グループを指定することで、そのディスク・グルー
プをデータベースでファイルを作成する、デフォルト・ディスク・グループとして指定できます。
ASM は、複数のファイルを 1MB のエクステントに分けて、各ファイルのエクステントをディスク・グループ内のすべて
のディスク間に均等に分散します。ASM は算術関数を使用するかわりにポインタを使用して、エクステントの場所を記
録し、各エクステントの配置を追跡します。ディスク・グループの構成が変わると、ASM はすべてのエクステントを移
動する必要はなく、個々のファイル・エクステントを移動し、ディスク数に基づく公式を維持できます。
時間的な遅延を極力少なくしたいログ・ファイルのようなファイルに対して、ASM には詳細な(128K の)ストライピン
グが用意されており、これによって、多数の I/O を分割し、複数のディスクで並行して処理することができます。ファイ
ルの作成時に、このような細分化されたストライピングを使用するかどうかを決定できます。ディスク・グループのファ
イル・タイプに特有のテンプレートによって、デフォルトが決定されます。
ASM インスタンス
ASM インスタンスとは、ディスク・グループの動作を調整するための、特殊な Oracle インスタンスです。ASM インスタ
ンスは、ディスク・グループにおけるファイルのレイアウトをコントロールします。ASM インスタンスは、ファイルを
作成または開いたときに、エクステント・マップと呼ばれるファイル・レイアウト情報をデータベース・インスタンスに
通信します。ファイル・エクステント・マップを取得すると、データベース・インスタンスは ASM インスタンスを介す
ことなく I/O を直接ディスクに対して実行します。ディスクの追加、ディスクの削除あるいはディスク障害などディス
ク・グループの構成が変更される際、ASM インスタンスはデータベース・インスタンスと対話して変更をファイル・レ
イアウトに反映させます。
ASM インスタンスはデータベースをマウントすることはできず、ディスク・グループをマウントします。ASM インスタ
ンスは、データベース・インスタンスがディスク・グループ内のファイルにアクセスする前に、起動しておく必要があり
ます。複数の分散したデータベース・インスタンスは、これらのファイルのディスク・グループを共有することができま
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
6
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.
Database Track
す。シングルノードでは、通常 1 つの ASM インスタンスがすべてのディスク・グループを管理します。Real Application
Cluster 環境では、通常はそれぞれのノードに 1 つの ASM インスタンスが定義されており、これで残りのクラスタに合わ
せて、そのノードのすべてのディスク・グループを管理します。
ディスク・グループの作成や、ディスクの削除など、ASM のすべての管理コマンドは、ASM ファイルを使用しているデー
タベース・インスタンスではなく、ASM インスタンスに直接命令する必要があります。
ASM ミラーリング
ASM には異なるミラーリングタイプをサポートする 3 つのディスク・グループ・タイプがあります。外部冗長性、通常
冗長性および高冗長性です。外部冗長性ディスク・グループはミラーリングを行いません。ハードウェア・ミラーリング
を行う、あるいはディスク障害が発生した時に、データの消失を容認できる場合は、外部冗長性ディスク・グループを使
用できます。通常冗長性ディスク・グループは、二重ミラーリングをサポートし、ファイルごとのミラーリングは行いま
せん。通常冗長性ディスク・グループのファイルをミラーリングするかどうかはファイル作成時に選択できます。ファイ
ル・タイプ固有のテンプレートにより、デフォルトの動作が決まります。高冗長性ディスク・グループは、三重ミラーリ
ングをサポートしています。
ASM は独自のミラーリングアルゴリズムを使用します。ASM はディスクのミラーリングは行いませんが、エクステント
のミラーリングを行います。その結果、ディスク・グループに予備の容量があれば、予備ディスクの必要がありません。
ディスクに障害が発生すると、ASM はミラーリングされた内容を読み込んで障害の発生したディスクの内容を、残った
ディスク・グループ内に自動的に再構築します。通常の操作時にすべてのスピンドルがアクティブであるだけでなく、ディ
スク障害からの I/O ヒットは、障害の発生したドライブをミラーリングする単一ディスクではなく複数のディスク間に分
散されます。
ASM がファイルのプライマリ・エクステントをディスク・グループ内の 1 つのディスクに割り当てると、そのエクステ
ントのミラー・コピーがディスク・グループ内の別のディスクに割り当てられます。指定ディスクのプライマリ・エクス
テントは、ディスク・グループ内のいずれかのパートナに対応するミラー・エクステントを持つことができます。ディス
ク・グループの各ディスクにおいて、プライマリ・エクステントおよびミラー・エクステントの割合は同じです。
障害グループとは、ディスク・グループ内で障害から保護したい共通リソースを共有するディスク・セットです。
ASM では、プライマリ・エクステントおよびそのミラー・コピーは同じ障害グループには存在しません。ディスク・グ
ループに対する障害グループを定義する場合、ASM は、1 つの障害グループに複数ディスクの障害が同時に発生するこ
とに耐えられます。これにより、例えば、ASM を使用してファイラのディスク・アレイを通じてミラーリングを行い、
ディスク・アレイまたはファイラ全体の障害から保護することができます。
ASM はデータベースと密に統合されているため、データベース・ログ・ファイルや他のアプリケーションおよびファイ
ル・タイプ固有情報の利点を活用して、I/O 障害からのリカバリにおいて使用済み領域ログを行う必要性を排除します。
動的なバランス調整
調整プロセスでは、ディスク・グループ内のすべてのディスクに対して、ファイル・データが均等に分散されます。
ASM では、ディスクが追加または削除されるたびに、ディスク・グループの負荷バランスが自動的に調整されます。
ASM では、ファイルが割り当てられたときに、ディスク・グループ内のすべてのディスクでファイルが必ず均等に分散さ
れるため、ストレージの構成が変更されたとき以外は、バランスの再調整は必要ありません。ファイルが割り当てられた
とき、およびストレージの構成が変化したときには必ず I/O のバランスが調整されるため、ディスク・グループ内でホッ
ト・スポットを検索し、手動でデータを移動して、調整された I/O 負荷をリストアする必要はありません。ASM 以外の
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
7
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.
Database Track
環境においては I/O 調整がしばしば必要になるため、ASM の I/O ロード・バランシング機能はデータベース管理者にとっ
て多大な時間の節約となるでしょう。
データベースがアクティブに使用しているディスク・グループにディスクを追加したり、グループからディスクを削除し
たりできます。再バランシングが完了すると、追加されたディスクは I/O ロードの負担分を移動します。ディスク・グルー
プから削除されたディスクをシステムから安全に削除したり、あるいは別の目的に再割当てすることができます。
ASM がデータを分散させるために使用しているアルゴリズムは、従来の RAID の厳密なストライピングではないため、
ASM はすべてのデータをストライピングしなおす必要はありません。追加または削除されたストレージの量に比例した
データ量を移動して、ファイルを均等に再配置し、1 つのディスク・グループ内のディスク全体で I/O の負荷を調整する
だけで済みます。
再バランシング時のデータの移動速度を調整できます。スピードを上げると調整プロセスの完了が早くなり、スピードを
下げると I/O サブシステムへの影響が少なくなります。
動的なバランスの再調整の一例として挙げられるのは、データベースがオンラインの状態のときにディスク・グループを
古いストレージ・システムから新しいシステムに移行する能力です。新しいストレージ・システムにディスクを追加し、
古いストレージ・システムからディスクを削除するコマンドを発行すると、ASM はデータを新しいストレージ・システ
ムに自動的に移動します。再調整が完了すると、古いストレージ・システムを安全に切断できます。アプリケーションに
停止時間が発生することはありません。
新たなベスト・プラクティス
ASM は現在のベスト・プラクティスのすべての利点を自動的に提供し、ほぼすべての複雑性を排除します。慎重な構成
やメンテナンスは不要です。
ASM に構築されたベスト・プラクティス
•
ASM は、ファイル・システムの自動バッファに関連するすべてのパフォーマンス障害を回避します。DBA がプラッ
トフォーム固有のダイレクト I/O 構成の問題に悩まされることはありません。
•
カーネル化された非同期 I/O は、ASM ファイルに対して自動的に行われます。ロー・ディスクや高価なサードパー
ティ・ソフトウェアを使用する必要はありません。
•
ASM は、すべての I/O を可能な限り広範囲に自動的に分散し、有効な I/O 容量の最大限の利用が可能になります。
標準では、ログ・ファイルは極め細かいストライピングによって転送率を最適化するのに対し、データ・ファイルは
大まかなストライピングによってスループットを最適化します。必要に応じて特定のデータ・ファイルに対して極め
細かいストライピングを行うこともできます。
•
ハードウェアのミラーリングが有効でなければ、ASM ミラーリングを使用できます。Oracle は使用済み領域ログを使
用することなくミラー間の一貫性をリストアできるため、使用済み領域ログは不要です。
•
ASM では動的なバランスの再調整により SAME の主要な欠点を克服するため、手動のロード・バランシングは必要
ありません。ディスク・グループに新しいディスクが追加されると、停止することなく自動的にバランスの再調整が
行われます。
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
8
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.
Database Track
ASM はシンプルです
ASM は最適なパフォーマンスを提供するだけでなく、使用方法は非常にシンプルです。行う必要があるのは、2 つの決
定のみです。
•
ディスク・グループを作成し、記憶域を割り当てる際、ほとんどの場合、2 つのディスク・グループ(1 つはリカバ
リ領域、もう 1 つは作業領域)を使用することでそのニーズを満たすことができます。しかし、内包的 OLTP アプリ
ケーションを使用し、ディスク・キャッシュがない場合、オンライン・ログ・ファイル用にもう 1 つのディスク・グ
ループが必要となる場合もあります。
•
ディスク・グループを作成する際に指定する必要があるのは、ハードウェアによって記憶域が既にミラーリングされ
ているかどうか、あるいは ASM がデータをミラーリングする必要があるかどうかのみです。
ASM のシンプルさは、BigFile 表領域との統合および Oracle 10g の Oracle Managed Files 機能によりさらに拡張されていま
す。これらの機能を相互に利用することで、各表領域が 1 つのファイルのみを持ちますが、データベース管理者がそれら
に名前を付けたり、参照したりする必要はありません。記憶域管理は完全に自動化されているのです。
ASM は自動化され、非常に優れたパフォーマンスを提供するため、顧客はこれまでのベスト・プラクティス以上の結果
を得ることができます。ASM の使用は、Oracle 10g のすべてのデータベースにおける新しいベスト・プラクティスとな
るでしょう。
ASM (Automatic Storage Management) ( 新たなベスト・プラクティス
9
Paper # 40288
Oracle Corporation 発行「AUTOMATIC STORAGE MANAGEMENT – THE NEW BEST PRACTICE」の翻訳版です。
Copyright © 2003 Oracle Corporation All rights reserved.