Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
20210427_SEHA概要.pdf
oracle4engineer
PRO
May 06, 2021
Technology
0
1.5k
20210427_SEHA概要.pdf
oracle4engineer
PRO
May 06, 2021
Tweet
Share
More Decks by oracle4engineer
See All by oracle4engineer
【Showcase】データベース技術者のための機械学習入門
oracle4engineer
PRO
0
83
Oracle Content Management サービス概要 (2022年5月版)
oracle4engineer
PRO
0
120
【Oracle Cloud ウェビナー】Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (2022年5月18日)
oracle4engineer
PRO
2
70
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
oracle4engineer
PRO
0
130
Oracle Database Technology Night #55 Oracle Autonomous Database 再入門
oracle4engineer
PRO
1
140
はじめてのOracle Cloud Infrastructure (Oracle Cloudウェビナーシリーズ: 2022年5月11日)
oracle4engineer
PRO
2
67
実例を元に知る!取り組み企業が急増中の「CCoE」と導入のツボとは?(Oracle Cloudウェビナーシリーズ: 2022年4月27日)
oracle4engineer
PRO
1
70
実験!カオスエンジニアリング / How to Chaos Engineering
oracle4engineer
PRO
0
140
【DB19c Upgrade!】エピソード09 クラウドでのパフォーマンス・テスト
oracle4engineer
PRO
1
45
Other Decks in Technology
See All in Technology
⚡Lightdashを試してみた
k_data_analyst
0
220
成長を続ける組織でのSRE戦略:プレモーテムによる信頼性の認識共有 SRE Next 2022
niwatakeru
7
2.8k
Unity Package Managerで自作パッケージを配布する方法
yunoda
0
220
ドキュメントの翻訳に必要なこと
mayukosawai
0
170
SRE の歩き方・進め方 / sre-walk-through-procedure
rrreeeyyy
0
510
toilを解消した話
asumaywy
0
210
A Conditional Point Diffusion-Refinement Paradigm for 3D Point Cloud Completion
takmin
0
220
次期LTSに備えよ!AOS 6.1 HCI Core 編
smzksts
0
180
ソフトウェアテストで参考にしている67のモノ #scrumniigata / 67 things for software testing
kyonmm
PRO
1
530
キャッチアップ Android 13 / Catch up Android 13
yanzm
2
1.2k
TypeScript 4.7と型レベルプログラミング
uhyo
6
3.5k
LINEのData Platform室が実践する大規模分散環境のCapacity Planning
line_developers
PRO
0
690
Featured
See All Featured
How to Ace a Technical Interview
jacobian
265
21k
KATA
mclloyd
7
8.6k
What’s in a name? Adding method to the madness
productmarketing
11
1.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
Clear Off the Table
cherdarchuk
79
280k
How STYLIGHT went responsive
nonsquared
85
3.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
25
1.5k
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
Ruby is Unlike a Banana
tanoku
91
9.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
212
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Transcript
Oracle Database 19c Standard Edition High Availability概要 2021年 4月27日 日本オラクル株式会社
森 勇貴 橋場 友李
Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 Copyright
© 2021, Oracle and/or its affiliates 2
1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 3 Copyright ©
2021, Oracle and/or its affiliates
1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 4 Copyright ©
2021, Oracle and/or its affiliates
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
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
1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 7 Copyright ©
2021, Oracle and/or its affiliates
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
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
• インストール後ではなく、インストール時にパッチを当てる • インストーラにパッチを当てる方法がある • -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
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.
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 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 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 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 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 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 ログ・ファイル インスタンス
1. SEHAとは 2. SEHA構成について 3. SEHAの障害検証 Agenda 18 Copyright ©
2021, Oracle and/or its affiliates
今回検証方法 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
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
SEHA構成 インスタンス障害 21 Copyright © 2021, Oracle and/or its affiliates
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
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がリソースの 異常検知
SEHA構成 – CRSによるインスタンスの再起動 Copyright © 2021, Oracle and/or its affiliates
24 Clusterware CSS Oracle インスタンス (停止済み) Node1 ACTIVE Node2 PASSIVE CRS インスタンス 障害発生 Clusterware CSS CRS ⑤CRSがインスタンスの 再起動を試みる ④インスタンス ターミネイト完了
SEHA構成 – インスタンス障害からの復帰 Copyright © 2021, Oracle and/or its affiliates
25 Clusterware CSS Oracle インスタンス (再起動済み) Node1 ACTIVE Node2 PASSIVE CRS ⑥クラッシュリカバリ ⑦データベースオープン完了 ⑧サービススタート ⑨サービス登録 Clusterware CSS CRS
インス タンス インス タンス 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 インス タンス
SEHA構成 OS障害 27 Copyright © 2021, Oracle and/or its affiliates
SEHA構成 – 平常時 Copyright © 2021, Oracle and/or its affiliates
28 Clusterware Clusterware CSS CSS Oracle インスタンス (起動中) Node1とNode2のCSSが 常に相互通信を行っている Node1 ACTIVE Node2 PASSIVE CRS CRS
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を クラスタから削除を決定
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が インスタンス起動試行
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
SEHA構成 – OS障害からの復帰 Copyright © 2021, Oracle and/or its affiliates
32 Clusterware Clusterware CSS CSS Oracle インスタンス (起動済み) CRS CRS ⑩クラッシュリカバリ 11 データベースオープン完了 12 サービススタート 13 サービス登録 Node1 PASSIVE Node2 ACTIVE
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秒 (インスタンス障害と同じ動き)
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によるインスタンス起動以降は同じ動作
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
Copyright © 2021, Oracle and/or its affiliates 36 Q&A
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で利用不可能です。
None