データベース環境を構築する上で、最大の懸案は「耐障害性」が挙げられます。データベースに蓄積されるデータは都度更新されて行き、何らかの障害が発生した場合の損失は計り知れません。そこで本環境では、想定しているデータベースサーバー「db01」「db02」の障害対策として「CLUSTERPRO」を使用してHAクラスタ環境を実現します。
CLUSTERPROとは?
CLUSTERPRO(クラスタープロ)は、NECが販売する「HA(high ability)」を実現するHAクラスタリングアプリケーションです。CLUSTERPROは、システムの障害を監視し、障害発生時には健全なサーバーに業務を引継ぐことで、高可用性を実現する、HAクラスタリングソフトウェアです。
HAクラスタとは?
HAクラスタとは、複数のコンピュータを束ねて一体として動作させるクラスタシステムで、いずれかが停止しても残りの系統で運用を継続し、システム全体が停止しないようにすることができる構成を指します。
本記事では、CLUSTERPROを使用して、データベースアプリケーション「Oracle 12c」のクラスタ環境を構築します。OracleデータベースにCLUSTERPROを使用するメリットとして、負担するライセンス費用はあくまでも稼働中の1台分だけで済むという利点があります。
想定するクラスタ環境
本記事では、任意のデータを共有ディスク上に格納し、複数のサーバで利用する「共有ディスク型」形態を構築します。
共有ディスク型のハードウェア構成
- NIC3枚
- public-lan通信(チーミング:2枚)
- CLUSTERPRO 専用(interconnect:1枚)
- 共有ディスクの特定領域
- /dev/sdb
- /dev/sdc
- /dev/sdd
実際の商用プロジェクトでは「public-lan」「backup-lan」「management-lan」など複数の経路や、各径路につながるそれぞれのNICでチーミングを組むような「耐障害性」を重点にした構成を組むことが一般的ですが、本記事では、最低限必要なリソースで環境を構築します。
CLUSTERPROのソフトウェア構成
Linux サーバ上に「CLUSTERPRO Server (CLUSTERPRO 本体)」をインストールします。Cluster WebUI、WebManager、Builder の本体機能は CLUSTERPRO Server に含まれるため、別途インストールする必要がありません。
CLUSTERPROのソフトウェア構成
- CLUSTERPRO Server
CLUSTERPRO のメインモジュールです。各クラスタ構成サーバにインストールします。 - Cluster WebUI / WebManager
ユーザインターフェースとして Web ブラウザを利用します。 - Builder
WebManager の設定モードとして動作するオンライン版と、管理端末に個別にインストールするオフライン版があり、オンライン版は WebManager に組み込まれています。
ただし、CLUSTERPRO Server にアクセスできない環境でBuilder を使用する場合は、オフライン版の Builder を PC にインストールする必要があります。
CLUSTERPRO4.xを入手する
CLUSTERPRO Xは、商用ミドルウェアなので、メーカーから直接ダウンロードして手に入れる必要があります。
※ Linuxメディアには「CLUSTERPRO X」はバンドルされていません。
試用版のダウンロード
クラスタープロは有償アプリケーションです。本記事では、あくまでも学習目的で使用するため、下記のURLから試用版を入手します。
最新の「CLUSTERPRO X 4.x」の画面は、通常の画面とは入口が異なります。一見分かりずらいので、イメージを貼っておきます。(赤枠)
CLUSTERPRO X 4.xダウンロード手順
- 表示された画面上部の「CLUSTERPRO X 4.0以降はこちら」のリンクをクリック。
- 遷移した先でメニューの「ダウンロード」>「試用版」リンクをクリック。
- 表示された「試用版」画面で、個人情報の取扱いに「同意します」をチェック。
- 出現した「ダウンロードはこちらから」リンクをクリック。
- 遷移した画面先で「CLUSTERPRO X 4.x」のLinux版をクリック。
- 「CLUSTERPRO X 4.x for Linux (x86_64版)」をクリック
- ダウンロードが始まります。
試用版ライセンスキーの取得
ちょっとめんどくさいのですが、CLUSTERPRO X 4.xの試用版を使用するには試用版ライセンスキーが別途必要です。
ダウンロード画面の上部に「試用版ライセンスキー」と言うタグ下の「試用版申し込みフォーム(CLUSTERPRO X 共通)」から申し込みフォームをダウンロードします。
試用版ライセンスキーは、指定のフォーマットに会社名・氏名などの情報を記入し、メールにてお申込みください。受付が完了致しましたら、試用版ライセンスキーをメールにてご返送致します。
NEC
2ヶ月間有効の期限付き試用版ライセンスキーを無償にて発行しています。
私は法人のメールアドレスで申し込んだのですが、2日ほどでライセンスキー(zip形式)がメールで返信されてきました。図体のでかい大企業にしては、アクションが速かったのでビックリしました。
CLUSTERPROを導入する
前提として「CLUSTERPRO」をインストールするディレクトリを「/opt/nec/clusterpro」とします。※ このディレクトリはメーカー指定の為、変更することは出来ません。
CLUSTERPRO導入手順
- CLUSTERPRO Server のインストール
- ライセンスの登録
CLUSTERPRO Server のインストール
クラスタを構成する各サーバに、CLUSTERPRO のメインのモジュールである CLUSTERPRO Server をインストールします。
ダウンロードした「CLUSTERPRO」メディア(x40l_x64.zip)を任意のディレクトリへ格納します。※ 本環境では、「/root」ディレクトリ配下で実行しています。
以下の手順に従って、クラスタを構成する各サーバに CLUSTERPRO Server の RPM をイ ンストールします。なお、「root」ユーザーに作業を行います。
① ClusterProの格納されたzipファイルを解凍する。
# unzip x40l_x64.zip
ディレクトリ内へ「/Linux」ディレクトリが展開され、「/Linux/4.0/jp/server」に「clusterpro-< バージョン >.< アーキテクチャ >.rpm」ファイルが作成されます。
② rpm コマンドを実行して、パッケージファイルをインストールする。
# cd /Linux/4.0/jp/server
# rpm -i clusterpro-< バージョン >.< アーキテクチャ >.rpm
③ インストール確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# cd /opt/nec/cluserpro # ls -l 合計 80 drwxr-xr-x 4 root root 4096 10月 17 10:49 alert drwxr-xr-x 2 root root 4096 10月 17 10:49 bin drwxr-xr-x 3 root root 4096 10月 17 10:49 cloud drwxr-xr-x 5 root root 4096 10月 17 10:49 drivers drwxr-xr-x 8 root root 4096 10月 17 10:49 etc drwxr-xr-x 4 root root 4096 10月 17 10:49 ha drwxr-xr-x 2 root root 4096 10月 17 10:49 lib drwxr-xr-x 2 root root 4096 12月 25 2017 license drwxr-xr-x 3 root root 4096 10月 17 10:49 log drwx------. 2 root root 16384 10月 14 23:33 lost+found drwxr-xr-x 2 root root 4096 10月 17 10:49 messages drwxr-xr-x 3 root root 4096 10月 17 10:49 mirror drwxr-xr-x 2 root root 4096 12月 25 2017 perf drwxr-xr-x 2 root root 4096 12月 25 2017 scripts drwxr-xr-x 2 root root 4096 12月 25 2017 tmp drwxr-xr-x 6 root root 4096 10月 17 10:49 webmgr drwxr-xr-x 2 root root 4096 12月 25 2017 work |
「/opt/nec/cluserpro」ディレクトリへ、CLUSTERPROがインストールされているのが分かります。
④ 「db02(standby)」側でも同様に、上記①~③の手順を繰り返す。
ライセンスの登録
「clplcnsc」コマンドでライセンスを登録を行います。構築するクラスタシステムを実際に動作させるには、CPU ライセンスを登録する必要があります。
ライセンスには、物理サーバー用のCPUライセンスと仮想サーバー用のVMノードライセンスが存在しますが、本環境はあくまでも学習目的のため、ライセンスファイル指定による(製品版、試用版共通)の登録を行っていきます。
本作業は「db01」及び、「db02」で行っていきます。
① クラスタを構築しようとしているサーバのうち、仮想サーバに root でログインし、以下のコ マンドを実行する。
# cd /root/X40_Linux/
# clplcnsc -i base40_lin_trial_cpulcns.key
1 2 3 4 5 6 |
# cd /root/X40_Linux/ # clplcnsc -i base40_lin_trial_cpulcns.key <Filename : /root/X40_Linux/base40_lin_trial_cpulcns.key> <Serial No : XXXXXXX> License registration succeeded. Processed license num (success : 1 error : 0). |
※ 上記の出力結果では、インストール情報をすべてマスクしています。
② 以下のコマンドを実行し、ライセンスの登録状況を確認する。
# clplcnsc -l -a
1 2 3 4 5 6 7 8 |
# clplcnsc -l -a < CLUSTERPRO X <TRIAL> > Seq... 1 User name............... XXXXXXX Key..................... ********-********-********-******** Start date.............. xxxx/xx/xx End date................ xxxx/xx/xx Status.................. valid |
※ 上記の出力結果では、インストール情報をすべてマスクしています。
「Status」がvalidになっていれば、正常に登録されています。
③ 「db02(standby)」側でも同様に、上記①~③の手順を繰り返す。
④ 「Cluster WebUI」サービスを起動させるため、「db01」及び「db02」を再起動します。
Cluster WebUIの実行確認
ブラウザ上から、CLUSTERPROをインストールした「db01」及び「db02」のURLを入力し、ポート番号「29003」を指定して、WebUIの起動を確認します。
URL:<CLUSTERPROをインストールしたサーバーのアドレス>:29003
本サイトの場合は、下記になります。
db01:「http://192.168.109.153:2009」
db02:「http://192.168.109.153:2009」
WebUIが正常に起動していれば、下記の画面がブラウザへ表示されます。
なにも設定をしていないため、画面には何の情報も出てきませんが、無事にCLUSTERPROのインストールが出来ました。
WebUIへ接続してWebmanagerを使用するには、接続するクライアント端末へJREがインストールされている必要があります。