【OracleDatabase】Single_DG_第1回 はじめに
~これは、雑魚技術者の勉強記録~
Singleの構築をやってみます。
その後、DataGuard構成に進化させてみます。
シリーズ
<第1回の概要>
0.はじめに
1.前提
1.1 目的(要件)
Oracle導入手順の確認、お勉強が目的です。
スペック・領域サイズ・ネーミングをはじめ現実的でない部分があるかもしれませんが、
自宅環境で以て導入目的以外は低コストで進めたいところです・・・
運用・実用面を全く考慮しません。
雑魚ですみません。。。
1.2 構成目的(今回お勉強する構成)
一旦、Single構成を目指す。その後、Single二台構成にてDataGuard構成へと拡充させる。
コンテナについては、シングルテナント構成とする。
1.3 環境概要
バージョン等お勉強条件を記載する。別途、簡単な設計については後述する。
1.3.1 サーバーについて
VMWareを使用する。
・VMWare ESXi 6.0(VMware Workstation 15上にて稼働。いわゆるネステッド構成)
1.3.2 OSについて
CentOS7を使用する。適宜パッケージを最新化する。
1.3.3 Oracleについて
19cを使用する。適宜RUを適用する。
1.4 サーバーのネット接続ついて
ネット使用可能とする。パッケージ導入はじめ、ネット経由で直接導入する箇所あり。
1.5 Oracle導入におけるOS設定について
RPMパッケージを使用してOracle Databaseをインストールおよび構成する。
いわゆる「oracle-database-preinstall-19c」を使用してOS設定を行う。
おわりに
次回は、設計のような、、ざっくり作業計画をしてみます。
【OracleDatabase構築】学習ノート
OracleDatabaseについて学習したことを纏めたい。。
記事
OracleDatabase Single構築、DataGuard構築
【Pgpool-Ⅱ】第6回 計画的切り離し(スイッチオーバー)
~これは、雑魚技術者の勉強記録~
今回は、前回の障害向きなアクションに対し、
計画作業を想定したアクションを実施してみたいと思います。
シリーズ
<第6回の概要>
6-1.切り離しと復帰
計画作業を想定し、手動切り離しと復帰を行います。
6-1.切り離しと復帰
おわりに
概要から導入、クライアント設定・基盤設定および運用操作、
と6回にわたりPgpool-IIを見てまいりました。
当企画自体が製品の学習自体を目的としている部分もありますが、
PostgreSQLを取り巻く構成のベストプラクティスに到達し兼ねている点は
引き続き意識したいところです。
結局、使えないのであれば、学習投資する意味が無いではないか、という方向性も無視したくはありません。
実際に世の中で多く採用されている代表的構成ではあり、流行を追って形から入るのも良いかと思います。
両方の観点を捨てたくない想いがあります。
冒頭第1回に記載しましたが、PostgreSQL第5回~第11回の流れをくみ、
PostgreSQLのネイティブレプリケーションの実運用における課題を挙げ、
Pgpool-IIで対処可能としました。
当6回で挙げた課題について、物理的には克服できたはずです。
対して、物理以外の点や新たな課題が発生していると思っており、下記のように挙げます。
・運用性
Pgpool-IIを導入したことで運用パターンが増えてしまった、複雑化したとも言えるでしょう。
全ての障害パターンを明らかにしたわけではありませんが、運用パターンの網羅だけでも骨が折れそうです。
これの克服への対価が、レプリケーション構成のメリットで以てコスパに見合えば問題ありませんが如何でしょうか。
負荷分散の概念を除き単に冗長化の観点では、HA構成も皆無ではない気がしますし、
性能問題でいえば分散処理としてシャーディング構成もあります。
構成検討のベストプラクティス決定は、まだまだ難しい状況にあるように思います。
・Pgpool-II自身の障害対策
あなた自身はどうなのよ・・・ 単一障害点をすり替えているだけなんじゃ・・・
はい、Pgpool-IIやPPサーバーも冗長化する必要があります。
ここで、第1回の機能一覧で網掛けにしていた「Watchdog」機能の活用が有効です。
Pgpool-II同士の死活監視を行うなどができます。
Pgpool-IIを冗長化しますと、また構成が複雑になりますので、
一旦はPgpool-II単独構成のみ紹介といたしました。
次回以降、Watchdog機能を追求し、PostgreSQL+Pgpool-IIといいますか、
PostgreSQLネイティブレプリケーション構成に関する追求を完了したいと思います。
はやく、バックアップやパフォーマンスチューニングなど別な題材も扱いたいです。
【Pgpool-Ⅱ】第5回 自動フェイルオーバー
~これは、雑魚技術者の勉強記録~
今回はフェイルオーバー機能を見ていきたいと思います。
障害の観点では、あらためて障害ケースを考える機会も設けたいですが、
ここではDB側(対DB疎通含む)障害に対するPP側での自動フェイルオーバーを
体験してみたいと思います。
負荷分散はすでに体験しましたが、障害時は対象ノードを避けたり、
特にレプリケーション構成ですので、マスタの切り替えに対応できなくてはなりません。
障害後も引き続き、バックエンドの役割を意識せずに(障害があったことも意識せずに)
使用できることが肝心なはずです。
シリーズ
<第5回の概要>
5-1.フェイルオーバー
Pgpool-IIにおけるフェイルオーバーの定義から実践までを取り扱います。
5-1.フェイルオーバー
おわりに
自動フェイルオーバーの観察ができました。
では、計画作業・手動の場合はどのように扱えばよいのでしょうか。
PostgreSQLの計画停止としては、「第9回_フェイルオーバー」でPROMOTEを取り扱いましたが、
それでは今行ったシナリオと同じではないか! ですね。
Pgpool-IIを挟んだ構成で何か計画作業における運用アクションは変わるでしょうか。
次回、取り扱います。
【Pgpool-Ⅱ】第4回 接続と認証
~これは、雑魚技術者の勉強記録~
前回で、クライアントからの疎通が確認できました。
バックエンドの役割を意識することなく使用できることを体験しました。
今回は、認証および接続について触れたいと思います。
認証については簡単に触れる程度といたします。
Pgpool-II にDB以上の堅牢性を持たせる動機が無く、DBの機能を肩代わりして
右から左にセッションを流すだけだからです。
動機や需要があれば、まずは本家PostgreSQLに機能搭載されるはずですよね。
接続について、コネクションプーリングの機能を持ち、
キャッシュの数などチューニングにも影響を及ぼす概念があります。
設定項目について、検証を通じて迫ってみます。
シリーズ
<第4回の概要>
4-1.クライアント認証
認証について、軽く触れています。
4-2.preforkされるプロセス数の設定
クライアントセッションに関するプロセスと設定を取り扱います。
4-3.コネクションプールの設定
コネクションプーリングの設定を取り扱います。
4-1.クライアント認証
4-2.preforkされるプロセス数の設定
4-3.コネクションプールの設定
おわりに
クライアント関連機能の検証は今回で以上となります。
次回より、基盤目線での検証に移り、フェイルオーバー機能を取り扱います。
【Pgpool-Ⅱ】第3回 負荷分散
~これは、雑魚技術者の勉強記録~
前回は、取り急ぎエラー無くPgpool-IIの起動を行い、Pgpool-II目線で問題なさそうでした。
今回は、クライアント目線で疎通・検証を行いたいと思います。
クライアントとしてはDBの役割や負荷分散を意識することなく利用できる必要があります。
シリーズ
<第3回の概要>
3-1.Pgpool-II内部情報確認
クライアント目線でのSQLコマンドおよび設定項目の確認を通じ、
負荷分散設定について確認します。
3-2.負荷分散実験
クライアントを模擬してSQLを発行し、負荷分散が行われる状況を観察します。
3-1.Pgpool-II内部情報確認
3-2.負荷分散実験
おわりに
次回は、接続と認証について取り扱います。
負荷分散もクライアント制御にあたりますが、認証やコネクションプーリングなど、
接続の制御もクライアント制御に関わる主要な機能です。
【Pgpool-Ⅱ】第2回 導入
~これは、雑魚技術者の勉強記録~
当企画の主旨により、PostgreSQL本体のときと同様、ドンとインストールして動かしてまいります。
シリーズ
<第2回の概要>
2-1.ざっと仕様/前提確認
本稿で用いるバージョンや前提条件についてざっと見てみます。
PostgreSQLより敷居は低いです。
2-2.パッケージ
パッケージ・マニュアルの入手先をご紹介します。
2-3.導入~インストールおよび諸作業~
インストールと、これに必要な下ごしらえを行います。
2-4.状態確認
Pgpool-II目線で状態確認を行います。
2-1.ざっと仕様/前提確認
2-2.パッケージ
2-3.導入~インストールおよび諸作業~
2-4.状態確認
おわりに
エラー無く起動しているだけ・・・感もありますが、
サンプルを流用しているため、既に出来上がっている部分も多いです。
次稿より、検証を通じて機能の学習を行いながら、
本当に出来上がっているのかの確認も兼ねたいと思います。