Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20210427_SEHA概要.pdf

 20210427_SEHA概要.pdf

140494d272a4d89883a94fdfdb29dea2?s=128

oracle4engineer
PRO

May 06, 2021
Tweet

Transcript

  1. Oracle Database 19c Standard Edition High Availability概要 2021年 4月27日 日本オラクル株式会社

    森 勇貴 橋場 友李
  2. Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 Copyright

    © 2021, Oracle and/or its affiliates 2
  3. 1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 3 Copyright ©

    2021, Oracle and/or its affiliates
  4. 1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 4 Copyright ©

    2021, Oracle and/or its affiliates
  5. Standard Edition High Availability概要 • Oracle Grid Infrastructureを活用した、 シングルインスタンスStandard Edition

    Oracle Databaseのためのクラスタベースのフェイルオー バーを提供 • ボリューム、ファイルシステムのリマウントを行わない ため迅速なフェイルオーバー時間を実現 • Linux x86-64、Oracle Solaris on SPARC (64-bit)、Microsoft Windowsをサポート 5 Copyright © 2021, Oracle and/or its affiliates Node1 ACTIVE Oracle インスタンス Node2 PASSIVE ASM Clusterware tnslsnr Grid Infrastructure ASM Clusterware tnslsnr Grid Infrastructure
  6. SEHAは、 Active-Passive型のクラスタ構成 RAC : 高い可用性と拡張性 • 全ノードがアクティブ • ノード追加で拡張性向上 •

    障害時に高速切り替え • ローリング・パッチ適用可能 RAC One Node : RACの可用性を 低コストで • RACを構成し通常時は1ノードで のみOracleインスタンスが起動 • ローリング・パッチ適用可能 • 10日間フェイルオーバー・ルール適用 SEHA : Active-Passive構成 • Oracle Grid Infrastructureを 使ったシングル・インスタンスによる Active-Passive構成 • 10日間フェイルオーバー・ルール適用 RACとSEHAの違い 6 Copyright © 2021, Oracle and/or its affiliates Oracle インスタンス Grid Infrastructure Grid Infrastructure Oracle インスタンス Grid Infrastructure Node2 PASSIVE Grid Infrastructure Node1 ACTIVE Oracle インスタンス Grid Infrastructure Node2 ACTIVE Grid Infrastructure Oracle インスタンス RAC RAC Node1 ACTIVE Node2 PASSIVE Node1 ACTIVE
  7. 1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 7 Copyright ©

    2021, Oracle and/or its affiliates
  8. Oracle Database • 基本的な構成はRACと同様 • RACのハードウェアとソフトウェアの構成要件 (https://docs.oracle.com/cd/F19136_01/rilin/server-hardware-and- software-review-checklist-for-oracle-rac-installation.html#GUID- 4F1008D5-B0A0-4DFF-ADEF-D8FAB5E0A997) •

    SEHAはライセンス制限としてサーバにつき 2ソケットまで • 使用されるCPUスレッドは16まで • Oracle Grid Infrastructure (19.7以降) • Oracle Database Standard Edition (19.7以降) 8 Copyright © 2021, Oracle and/or its affiliates SEHA 最小構成要件 Node1 Node2 Grid Infrastructure Grid Infrastructure Oracle Database
  9. RACとSEHAの構成手順の違い 9 Copyright © 2021, Oracle and/or its affiliates RAC構成手順

    1. Oracle Grid Infrastructure のインストール • インストールするノードを選択 2. GIと同一バージョンのOracle Database インストール • インストールするノードを選択 • Enterprise Editionを選択 3. DBCAでデータベースの作成 • データベースタイプはRACを選択 SEHA構成手順 1. Oracle Grid Infrastructure(19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Editionを選択 3. ./addnode.shでオラクルホームをnode2にコピー • SSH等価設定を行なってから実行 4. Node1にて、DBCAでデータベースの作成 • データベースタイプは単一インスタンスを選択 5. srvctlでSEHAを構成 srvctl modify database -db orcl -node node1,node2
  10. • インストール後ではなく、インストール時にパッチを当てる • インストーラにパッチを当てる方法がある • -applyRU 1. Opatchを最新版にする 2. GIの場合

    • ./gridSetup.sh –applyRU patch_directory_location/patch_ID 3. DBの場合 • ./runInstaller.sh –applyRU patch_directory_location/patch_ID RUを適用したバイナリをインストールする方法 Copyright © 2021, Oracle and/or its affiliates 10
  11. RUを適用したバイナリをインストールする方法 Copyright © 2021, Oracle and/or its affiliates 11 Opatchを最新版にする

    パッチを当てる時は、Opatchを最新版にしてから行う Opatchが最新でない状態でパッチを当てた場合失敗することがあり、Oracle Homeも再度新たに作り直す必要がある $ cd $ORACLE_HOME #念のため最初にあったディレクトリを残しておく $ mv OPatch/ OPatch.org #持ってきたOpatchのzipファイルを解凍する $ unzip -q /home/oracle/tmp/p6880880_200000_Linux-x86-64.zip $ opatch version OPatch Version: 12.2.0.1.21OPatch succeeded.
  12. RUを適用したバイナリをインストールする方法 Copyright © 2021, Oracle and/or its affiliates 12 DBインストールの例

    # DBインストール後ではなく、DBインストール時にパッチを当てる $ ./runInstaller.sh -applyRU patch_directory_location/patch_ID 19.3 RU 19.7~
  13. 13 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順① SEHA構成手順

    1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 Node1 Node2 ASM Clusterware tnslsnr Grid Infrastructure ASM Clusterware tnslsnr Grid Infrastructure
  14. 14 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順② SEHA構成手順

    1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Edition 2を選択 ASM Clusterware tnslsnr Grid Infrastructure Oracle Database Node1 Node2 ASM Clusterware tnslsnr Grid Infrastructure
  15. 15 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順③ SEHA構成手順

    1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Edition 2を選択 3. ./addnode.shでオラクルホームをnode2にコピー • SSH等価設定を行なってから実行 ASM Clusterware tnslsnr Grid Infrastructure Oracle Database ASM Clusterware tnslsnr Grid Infrastructure Oracle Database コピー Node1 Node2
  16. 16 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順④ SEHA構成手順

    1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Edition 2を選択 3. ./addnode.shでオラクルホームをnode2にコピー • SSH等価設定を行なってから実行 4. Node1にて、DBCAでデータベースの作成 • データベースタイプは単一インスタンスを選択 ASM Clusterware tnslsnr Grid Infrastructure Oracle Database ASM Clusterware tnslsnr Grid Infrastructure Oracle Database Node1 Node2 制御ファイル データファイル (表領域) データファイル (UNDO表領域) REDO ログ・ファイル インスタンス
  17. 17 Copyright © 2021, Oracle and/or its affiliates SEHAのセットアップ手順⑤ SEHA構成手順

    1. Oracle Grid Infrastructure (19.7以降)のインストール • インストールするノードを選択 2. Node1にOracle Database(19.7以降)のインストール • Standard Edition 2を選択 3. ./addnode.shでオラクルホームをnode2にコピー • SSH等価設定を行なってから実行 4. Node1にて、DBCAでデータベースの作成 • データベースタイプは単一インスタンスを選択 5. srvctlでSEHAを構成 srvctl modify database -db orcl -node node1,node2 ASM Clusterware tnslsnr Grid Infrastructure Oracle Database ASM Clusterware tnslsnr Grid Infrastructure Oracle Database Node1 Node2 制御ファイル データファイル (表領域) データファイル (UNDO表領域) REDO ログ・ファイル インスタンス
  18. 1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 18 Copyright ©

    2021, Oracle and/or its affiliates
  19. 今回検証方法 19 Copyright © 2021, Oracle and/or its affiliates インスタンス障害

    OS障害 Clusterware CSS Node1 ACTIVE CRS インスタンス(起動中) Clusterware CSS Node2 PASSIVE CRS Clusterware CSS Node1 ACTIVE CRS インスタンス(起動中) Clusterware CSS Node2 PASSIVE CRS
  20. Oracle Clusterware CSSとCRS Cluster Synchronization Services (CSS) • メンバーシップ・サービス •

    共有リソースを使用するメンバーを確定させる Cluster Ready Services (CRS) • リソース起動と停止および死活監視 • CSSがクラスタを構成するメンバーを確定させた上 でどのノードで監視対象リソースを起動するかを決 定する • 仮想IPアドレスとOracleリスナー • Oracleインスタンス • ASMインスタンス • ... 20 Copyright © 2021, Oracle and/or its affiliates Clusterware Clusterware CSS CSS CRS CRS Res. 1 Res. 2 Res. 3 Res. 4
  21. SEHA構成 インスタンス障害 21 Copyright © 2021, Oracle and/or its affiliates

  22. SEHA構成 – SMONプロセスkillによるインスタンス障害発生 Copyright © 2021, Oracle and/or its affiliates

    22 Clusterware CSS Oracle インスタンス (起動中) Node1 ACTIVE Node2 PASSIVE CRS smon インスタンス 障害発生 ①kill smon <pid> ターミナルからSmon kill Clusterware CSS CRS
  23. SEHA構成 – インスタンスのターミネイト Copyright © 2021, Oracle and/or its affiliates

    23 Clusterware Clusterware CSS CSS Oracle インスタンス (停止中) Node1 ACTIVE Node2 PASSIVE CRS CRS smon pmon インスタンス 障害発生 ①kill smon <pid> ターミナルからSmon kill ②pmonがインスタンスの ターミネイトを始める ③CRSがリソースの 異常検知
  24. SEHA構成 – CRSによるインスタンスの再起動 Copyright © 2021, Oracle and/or its affiliates

    24 Clusterware CSS Oracle インスタンス (停止済み) Node1 ACTIVE Node2 PASSIVE CRS インスタンス 障害発生 Clusterware CSS CRS ⑤CRSがインスタンスの 再起動を試みる ④インスタンス ターミネイト完了
  25. SEHA構成 – インスタンス障害からの復帰 Copyright © 2021, Oracle and/or its affiliates

    25 Clusterware CSS Oracle インスタンス (再起動済み) Node1 ACTIVE Node2 PASSIVE CRS ⑥クラッシュリカバリ ⑦データベースオープン完了 ⑧サービススタート ⑨サービス登録 Clusterware CSS CRS
  26. インス タンス インス タンス SCAN tnslsnr SEHA構成のインスタンス障害時の流れ 26 Node2 クラスタウェア

    Node1 インスタンス CRS smon CRS Node2 インスタンス Node1 クラスタウェア Copyright © 2021, Oracle and/or its affiliates ①kill smon <pid> ターミナルからSmon kill ②pmonがインスタンスを ターミネイト開始 ③CRSがリソースの 異常検知 ④インスタンスターミネイト完了 ⑨サービス登録 ⑧サービススタート ⑤CRSがインスタンスの 再起動を試みる ⑦データベースオープン完了 ⑥クラッシュリカバリ 約34秒 smon kill実行~サービススタートまで ※本検証環境での結果になります インス タンス SCAN tnslsnr インス タンス
  27. SEHA構成 OS障害 27 Copyright © 2021, Oracle and/or its affiliates

  28. SEHA構成 – 平常時 Copyright © 2021, Oracle and/or its affiliates

    28 Clusterware Clusterware CSS CSS Oracle インスタンス (起動中) Node1とNode2のCSSが 常に相互通信を行っている Node1 ACTIVE Node2 PASSIVE CRS CRS
  29. SEHA構成 – OS再起動コマンドによるOS障害発生 Copyright © 2021, Oracle and/or its affiliates

    29 Clusterware Clusterware CSS CSS Oracle インスタンス (停止) Node1 ACTIVE Node2 PASSIVE CRS CRS OS 障害発生 ②Node1からHeartbeat 無し(miscount=30) ① echo b > /proc/sysrq-trigger ③Node2のCSSがNode1を クラスタから削除を決定
  30. SEHA構成 – Node2へのフェイルオーバー Copyright © 2021, Oracle and/or its affiliates

    30 Clusterware Clusterware CSS CSS Oracle インスタンス (停止) Oracle インスタンス (起動中) Node1 Node2 ACTIVE OS 障害発生 CRS CRS ④Node2のCSSが Node1をクラスタから削除 ⑤Node2のCRSが インスタンス起動試行
  31. SEHA構成 – OS障害からの復帰 Copyright © 2021, Oracle and/or its affiliates

    31 Clusterware Clusterware CSS CSS Oracle インスタンス (起動中) CRS CRS ⑥Node1のOS再起動 ⑧CSS同士が 相互通信できる状態に ⑨Node2のCSSがクラスタ再構成 Node1がクラスタ復帰 ⑦Node1のOSが クラスタウェアを再起動 Node1 PASSIVE Node2 ACTIVE
  32. SEHA構成 – OS障害からの復帰 Copyright © 2021, Oracle and/or its affiliates

    32 Clusterware Clusterware CSS CSS Oracle インスタンス (起動済み) CRS CRS ⑩クラッシュリカバリ 11 データベースオープン完了 12 サービススタート 13 サービス登録 Node1 PASSIVE Node2 ACTIVE
  33. CSS CRS インス タンス 約57秒 OS再起動コマンド実行~サービススタートまで ※本検証環境での結果になります インス タンス インス

    タンス SCAN tnslsnr CRS CSS SEHA構成のOS障害時の流れ 33 Node2 クラスタウェア Node1 インスタンス Node2 インスタンス Node1 クラスタウェア Copyright © 2021, Oracle and/or its affiliates B-②Node1から Heartbeat無し (miscount=30) ① echo b > /proc/sysrq- trigger B-③Node2のCSSがNode1 をクラスタから削除を決定 B-④Node2のCSSが Node1をクラスタから削除 B-⑤Node2のCRSが インスタンス起動試行 B-⑥クラッシュリカバリ B- ⑧サービススタート B-⑨サービス登録 CSS CRS A-② OS・クラスタウェア 再起動 B- ⑦データベースオープン完了 A-③Node2のCSSがクラスタ再構成 Node1がクラスタ復帰 ①〜B-④ → 約27秒 (クラスタウェア再構成) B-⑤〜B-⑨→ 約30秒 (インスタンス障害と同じ動き)
  34. SEHA障害検証のまとめ Copyright © 2021, Oracle and/or its affiliates 34 CRSによるインスタンス起動

    インスタンス障害 検出~切り離し OS障害検出~切り離し 約4秒 約30秒 約27秒 smon CRS インス タンス CRS インス タンス SCAN tnslsnr CSS CRS インス タンス CSS • インスタンス障害時は、クラスタウェアが同一ノードで、インスタンス再起動を試みる • Active-Passive構成のため、OS障害の場合には、Passiveノードへフェイルオーバーが行われる • インスタンス障害時もOS障害時も、CRSによるインスタンス起動以降は同じ動作
  35. Standard Edition High Availabilityまとめ • Oracle Grid Infrastructureを活用した、 シングルインスタンスStandard Edition

    Oracle Databaseのためのクラスタベースのフェイルオーバー を提供 • RACとほぼ同じ手順でActive-Passive構成可能 • ボリューム、ファイルシステムのリマウントを行わない ため迅速なフェイルオーバー時間を実現 35 Copyright © 2021, Oracle and/or its affiliates Node1 ACTIVE Oracle インスタンス Node2 PASSIVE ASM Clusterware tnslsnr Grid Infrastructure ASM Clusterware tnslsnr Grid Infrastructure
  36. Copyright © 2021, Oracle and/or its affiliates 36 Q&A

  37. SEHAに関するQ&A Copyright © 2021, Oracle and/or its affiliates 37 質問

    回答 AutoUpgradeで12cSE2-RACから19c(19.7)SEHAに 構成変更できるのでしょうか? 構成変更はできません。 またSERACの既存のRACデータベースを19cSEにアップグレードするときは、 シングルデータベースに変更してからのアップグレードが必要です。 検証環境のスペック(OS・CPU/メモリ等)も提示頂くことは可能でしょう か? OSは、Linux x86-64のOracle VM環境 SUN FIRE X3-2L (CPU: インテルXeonプロセッサE5-2600 (2.0GHz) / 64GB RAM) これをVMごとに、10core / 16GB RAM を割り当て SEHAでのインスタンス障害でCRSによる自動起動も失敗するケース ではノード2へのフェイルオーバーが発生しますか? 最初の障害に関しては、同一ノードでインスタンス再起動を試みます。 2回目の障害の場合、 SEHAインスタンスは設定されている次の利用可能なノード にて再開されます。 RAC One Node とSEHAは似た構築の認識です。 どういった要件で構築し分ければよいのでしょうか? ライセンスとお客様の可用性要件によって使い分けをしてください。 RAC One Nodeの方がSEHAよりもダウンタイムを少なくできるオプションがあります。 -RAC One Nodeは平常時は1ノードだが、異常時にはノード同時立ち上げが可能、 SEHAは同時にインスタンスを起動させることは不可能です。 -RAC One Nodeの方がダウンタイムの少ないメンテナンスができるオプション(ローリ ングアップデート)があります。SEHAで利用不可能です。
  38. None