6.1.1 ディスク設計時の考慮点
HADBの処理性能を向上させるには,I/Oが分散するようにディスク設計することが重要なポイントになります。例えば,データを1つのディスクに格納した場合,そのディスクに対してI/Oが集中します。ディスクの処理性能を超える数のI/Oが発生すると,I/O待ちによって処理性能が低下します。そのため,データを複数のディスクに分散させて,1つのディスクに対するI/Oを減らすように設計します。
特に,大規模なデータを扱う場合,次の表に示すファイルを格納するディスクを分けるとI/Oの分散に効果があります。
項番 |
ファイルまたはディレクトリの種類 |
ファイルの詳細 |
---|---|---|
1 |
DBエリアファイル |
|
2 |
HADBサーバが使用するディレクトリおよびファイル |
|
3 |
作業用一時ファイル |
次に示すコマンドの実行時に作成される作業用一時ファイル
|
4 |
入力データファイル |
|
5 |
出力データファイル |
adbexportコマンドの実行時に使用する出力データファイル |
6 |
アーカイブディレクトリ |
アーカイブファイル |
7 |
同義語辞書ファイルの格納ディレクトリ |
同義語辞書ファイル |
8 |
アンロードファイル |
adbreorgsystemdataコマンドの実行時に作成されるアンロードファイル |
上記の表で説明しているファイルの格納先ディスクを分散する場合,通常はRAID構成にします。RAIDグループ(RAID構成のディスク群)が複数ある場合は,次のどちらかの構成にすると,よりI/Oを分散させることができます。
-
ストレージの機能によるディスクの仮想化でデータを分散配置する
-
OSの機能であるLVMを使用してストライピング構成にする
- ■例1
-
ストレージの機能によるディスクの仮想化でデータを分散配置する例を次の図に示します。
図6‒1 ストレージの機能によるディスクの仮想化でデータを分散配置する例 上記の例では,DBエリアファイル用の4つのRAIDグループを,まとめて1つのストレージプール(仮想ディスク)としています。このとき,4つのRAIDグループに分散してデータを記憶する方式(ストライピング)を使用しています。
仮想ディスクで幾つかのロジカルユニットを作成し,DBエリアファイルを構成するブロックスペシャルファイルとして割り当てます。これによって,DBエリアファイル中のデータにアクセスするときは,4つのRAIDグループに対してほぼ均等にI/Oが発生します。そのため,RAIDグループが1つのときに比べてより多くのI/Oを発行できます。
また,上記の例では,DBエリアファイル用のストレージプールと,そのほかのストレージプールを分けていますが,使用できるRAIDグループが少ない場合は,ストレージプールを1つにしてDBエリアファイルのI/O分散を優先するようにしてください。
ストレージの設定方法については,ストレージ製品のマニュアルを参照してください。
- ■例2
-
OSの機能であるLVMを使用してストライピング構成にする例を次の図に示します。
図6‒2 OSの機能であるLVMを使用してストライピング構成にする例 上記の例では,DBエリアファイル用の4つのRAIDグループをボリュームグループに登録しています。また,ボリュームグループからロジカルボリュームをストライピング指定で作成しています。これによって,DBエリアファイル中のデータにアクセスするときは,4つのRAIDグループに対してほぼ均等にI/Oが発生します。そのため,RAIDグループが1つのときに比べてより多くのI/Oを発行できます。
また,上記の例では,DBエリアファイル用のボリュームグループと,そのほかのボリュームグループを分けていますが,使用できるRAIDグループが少ない場合は,ボリュームグループを1つにしてDBエリアファイルのI/O分散を優先するようにしてください。
LVMの設定方法については,各OSのマニュアルを参照してください。