2013/07/15

Oracle ASMの概念を簡単にまとめてみた

■Oracle ASMまとめ

今日はOracle Database 10g以降から搭載されている、自動ストレージ管理機能 Oracle ASM (Automatic Storage Management)を簡単にまとめてみようと思います。

ASMの役割を三行で言ってしまうと
 1.複数のストレージを一つのボリュームとして扱い、ディスクへのI/Oを分散する
 2.オンラインでのディスク追加を可能にする
 3.冗長構成を実現する
です。


1.複数のストレージを一つのボリュームとして扱い、ディスクへのI/Oを分散する

複数の物理ストレージを一つの仮想ストレージプール(ASMディスクグループ)として扱います。
そのASMディスクグループを細分化したASMディスクに、均等にファイルを格納します。
これによって、ASMディスクの使用量とアクセス頻度を均一にし、I/Oの偏りやパフォーマンス劣化を防ぎます。

これを実現している機構を簡単に説明します。
ASMを利用する際、Oracle Databaseのインスタンスとは別にASMのインスタンスが起動します。
それがエクステントマップ(どのASMディスクにデータがあるかを示すマップ)をSGA領域上に定期的に構築します。
そのエクステントマップを基にDatabaseインスタンスがI/O処理をするわけです。

※ポイントは、I/O処理の際に、毎回ASMインスタンスに問い合わせをしているというわけではないという点です。あくまでSGA上のデータを読み取るだけなので、パフォーマンスへの影響は少なくて済みます。


2.オンラインでのディスク追加を可能にする

物理的に増設したストレージ(ディスク)をASM管理下に追加したい場合、非常に簡単に追加作業を行うことができます。
Oracle Databaseのノードから、追加したいディスクをASMディスクグループに加える指示をすると、そのディスクにASMのヘッダーが作成され、自動的にASM管理下となります。
そして、データを自動的に再配置してくれる為、上記の「ASMディスクの使用量とアクセス頻度を均一」を保ってくれます。
これらの処理はバックグランドで実行するので、オンラインでの作業が可能です。


3.冗長構成を実現する

ストレージの障害時にもメリットを発揮します。
ASMディスクグループ内でストライピングとミラーリングをソフトウェアRAIDとして設定できます。
これにより従来のRAIDよりも柔軟な冗長化を実現できます。




なお、現在ASMはDatabaseではなく「Grid Infrastructure」というパッケージに含まれるソフトウェアになっています。



・・・あまり簡単にまとめられていませんね。


以下のサイトを参考にさせていただきました。
http://www.oracle.com/technetwork/jp/database/articles/pickup/index-1598225-ja.html
http://it.impressbm.co.jp/e/2009/11/17/1445
http://nkjmkzk.net/?p=1018

0 件のコメント:

コメントを投稿