3.14 Oracleの設定
Oracle RACまたはOracle SEHAを使用する場合の注意事項を次に説明します。
Oracle RAC環境でOracle Cluster file System 2を使用する場合は,/etc/sysconfig/o2cbファイル中のパラメーター「O2CB_HEARTBEAT_THRESHOLD」を次の値に設定してください。
Virtual Storage Platformシリーズ,VSP 5000シリーズ,VSP G1000シリーズ,VSP G1500,VSP F1500,VSP One B20,VSP E シリーズ,VSP Gx00 モデル,VSP Fx00 モデル,またはHUS VMを使用している場合
(Oracle Cluster file System 2へ接続するパス数×60秒÷2)+1
ホストとOracle RACまたはOracle SEHAの投票ディスク(Voting Disk)を複数のパスで接続しているとき,それらのパスの一部でI/Oタイムアウトが発生すると,通常のパスと同様にHDLMはフェールオーバー処理を実行します。
ただし,Oracleの設定状態によっては,HDLMのフェールオーバー処理が完了する前にOracle側でノード障害が発生したと見なし,クラスターを再構成してしまうおそれがあります。
したがって,Oracle RACまたはOracle SEHAの投票ディスクの接続先をHDLMデバイスとする場合,ストレージシステムの種別や運用条件に応じて,Oracle RAC 11g,Oracle RAC 12c,Oracle RAC 18c,Oracle RAC 19cまたはOracle SEHA 19cでは「MISSCOUNT」と「DISKTIMEOUT」の値を変更してください。
- ストレージに対する可用性を優先する場合
「MISSCOUNT」には,ハートビートが認識できないと判定されるまでの最大許容時間を指定します。また,「DISKTIMEOUT」には,投票ディスクへのディスクI/Oが実行できないと判定されるまでの最大許容時間を指定します。設定する値は,次に示す「表3‒80 「MISSCOUNT」の計算式」および「表3‒81 「DISKTIMEOUT」の計算式」に従って計算し,算出した値以上に変更してください。可用性を考慮した場合,パス数が多くなればなるほど「MISSCOUNT」および「DISKTIMEOUT」に指定する値が大きくなり,Oracle RACの再構成開始までの時間も長くなります。
- Oracle RACまたはOracle SEHAでの再構成開始までの時間を優先する場合
Oracle RACまたはOracle SEHAの再構成開始までの時間を短くすることを優先する場合,再構成開始までの最大時間から「MISSCOUNT」および「DISKTIMEOUT」の値を決定してください。この場合「MISSCOUNT」および「DISKTIMEOUT」の値が計算式より小さくなることがありますが,HDLMの動作に影響はありません。ただし,タイムアウトなど検知に時間を必要とするエラーが発生すると,「MISSCOUNT」および「DISKTIMEOUT」の値がOnlineパスへフェールオーバーが完了するまでの時間よりも小さくなり,フェールオーバーが可能であるにもかかわらず,Oracle RACまたはOracle SEHAの再構成が開始される可能性が高くなります。
なお,次の「MISSCOUNT」および「DISKTIMEOUT」の計算式で示すパス数は,「MISSCOUNT」および「DISKTIMEOUT」を設定するホストから投票ディスクに接続しているパスの数です。設定対象のホストから投票ディスクに2パス接続している場合,パス数は2となります。
表3‒80 「MISSCOUNT」の計算式 ストレージシステム種別
「MISSCOUNT」に設定する値の計算式
Virtual Storage Platformシリーズ
VSP 5000シリーズ
VSP G1000シリーズ
VSP G1500
VSP F1500
-
VSP One B20
VSP E シリーズ
VSP Gx00 モデル
VSP Fx00 モデル
HUS VM
投票ディスクへ接続するパスの数×60秒
表3‒81 「DISKTIMEOUT」の計算式 ストレージシステム種別
投票ディスクへ接続するパスの数
「DISKTIMEOUT」に設定する値の計算式
Virtual Storage Platformシリーズ
VSP 5000シリーズ
VSP G1000シリーズ
VSP G1500
VSP F1500
-
VSP One B20
VSP E シリーズ
VSP Gx00 モデル
VSP Fx00 モデル
HUS VM
3以下
「DISKTIMEOUT」の値を変更する必要はありません。
4以上
投票ディスクへ接続するパスの数×60秒
- 注
「MISSCOUNT」と「DISKTIMEOUT」の関係が「MISSCOUNT」≧「DISKTIMEOUT」となる場合,Oracleの仕様によってエラーとなる場合があります。この場合,「MISSCOUNT」の値の変更に加え,「DISKTIMEOUT」の値を「MISSCOUNT」+1するなど「MISSCOUNT」よりも大きな値になるように設定してください。
詳細については,Oracleサポートサービスを契約した会社へお問い合わせください。
なお,上記の構成からHDLMをアンインストールする場合,変更した「MISSCOUNT」や「DISKTIMEOUT」の設定値を元の値に戻す必要があるため,変更する前のそれぞれの設定値を控えておいてください。
OracleのoracleasmコマンドをHDLMデバイスに対して実行すると,KAPL05023-Eのメッセージをsyslogに出力する場合があります。
このエラーメッセージのあとに,次に示すoracleasmコマンド成功のメッセージを出力している場合は,HDLMの動作上の問題はありません。
oracleasm: succeeded
Oracle RAC 12c,Oracle RAC 18cまたは Oracle RAC 19cとHDLMを組み合わせて使用する場合で,Oracle RACのASMLibを使用するときは,ASMLib 構成ファイルの設定を変更する必要があります。
ASMLibをインストールしたあと,すべてのノードに対して次に示す操作を行ってください。
次に示すコマンドを実行し,ASMLib構成ファイルを作成します。
Oracle RAC 12cまたはASMLibのバージョンが2.1.0以降の場合
# /usr/sbin/oracleasm configure -i
ASMLibのバージョンが2.1.0より前の場合
# /etc/init.d/oracleasm configure
ASMLib構成ファイル(/etc/sysconfig/oracleasm)を開きます。
ORACLEASM_SCANORDERの行を,次のように変更します。
ORACLEASM_SCANORDER ="sddlm"
HDLMデバイスに定義済みのASMディスクがすでに存在する場合は,この手順を実行したあとすべてのノードを再起動します。
この操作は,設定を有効にするために行います。
-
Oracle RAC 12c,Oracle RAC 18cまたはOracle RAC 19cとHDLMを組み合わせた環境でASMLibを使用する場合,oracleasm scandiskコマンド実行後に数分の間CPUの負荷が高いままになることがあります。
この場合,sddlmから始まるデバイスが除外されないようにsddから始まるデバイス以外をscandiskの対象から外すことで回避できます。ASMLib構成ファイル(/etc/sysconfig/oracleasm)に次の設定を追加してください。
ORACLEASM_SCANEXCLUDE="sda sdb sdc sde sdf sdg sdh sdi sdj sdk sdl sdm sdn sdo sdp sdq sdr sds sdt sdu sdv sdw sdx sdy sdz"
HDLM デバイスに定義済みのASM ディスクがすでに存在する場合は,この手順を実行したあとすべてのノードを再起動します。
この操作は,設定を有効にするために行います。
また,上記の設定後,oracleasm scandiskコマンド実行は次のとおりに指定し実施してください。
# /usr/sbin/oracleasm scandisks /dev/sddlm*
Red Hat Enterprise Linuxのバージョンによって次のように異なります。
Red Hat Enterprise Linux 6で,Oracle RAC 11g Release 2とHDLMを組み合わせて使用する場合,ADVM およびACFSで作成した共有ファイルシステムを,アーカイブREDOログの領域として使用できます。ただし,Red Hat Enterprise Linux 6.0 / 6.1 / 6.2で,Oracle RAC 11g Release 2(11.2.0.3.0)とHDLMを組み合わせて使用する場合は,PSU 11.2.0.3.3以降が必要です。