2014年5月24日土曜日

ASMストレージ設定とリバランス

OracleではストレージをASM(Automatic Storage Management)ディスクとして使用することが多いですが、
ASMでは、冗長性を保持してデータを持つことができます。ASMミラーですね。

冗長性レベルは3段階あります。
EXTERNAL 冗長なし…ストレージ機能で冗長性を担保
NORMAL  2重化
HIGH   3重化


ストレージを分割してディスク設定をすることができますが、同じストレージ内に2つデータを保持してしまうと、そのディスクが故障したときにデータをすべて失ってしまうので、気をつける必要があります。
そこで、ディスクグループ内で障害グループというものを設定します。
たとえば、NORMALの場合は障害グループを2つ以上用意する必要があり、それぞれの障害グループに対してディスクを割り当てます。



・SQL例
以下は、DISKAとDISKBを4つずつにわけて、障害グループを設定してディスクグループを作成する例です

CREATE DISKGROUP dgroup1 NORMAL REDUNDANCY
FAILGROUP controller1 DISK
'/devices/diska1' NAME diska1,
'/devices/diska2' NAME diska2,
'/devices/diska3' NAME diska3,
'/devices/diska4' NAME diska4
FAILGROUP controller2 DISK
'/devices/diskb1' NAME diskb1,
'/devices/diskb2' NAME diskb2,
'/devices/diskb3' NAME diskb3,
'/devices/diskb4' NAME diskb4
<Oracle Databaseストレージ管理者ガイドより>


ディスクが故障すると、ASMはリバランスで均等にデータを他のディスクに割分けてくれます。
ただ、ディスクが故障してもすぐ交換できるなら、リバランスでディスクに負荷がかかって欲しくないという事情もあります。
そこで、リバランスが発生するまでの猶予時間はデフォルトは3.6Hで設定されています。
変更したい場合は以下のコマンドを使用します。
ALTER DISKGROUP data SET ATTRIBUTE 'disk_repair_time' = '4.5h'

また、リバランスにはパラレル化の指定ができます。
ALTER DISKGROUP dgroup1 ADD DISK
      '/devices/diska*'
       REBALANCE POWER 5 WAIT;
<Oracle Databaseストレージ管理者ガイドより>

0 件のコメント:

コメントを投稿