MySQL ARKによるHAクラスタ化
MySQL ARKによるHAクラスタ化
それではMySQLをLifeKeeperでHAクラスタ化する際の構築手順を紹介する。
LifeKeeper Coreの機能であるIPリソースの作成などの場合と比較してGUIからの操作感に特別な違いはない。しかし事前にプライマリサーバとなるノード上で、 LifeKeeperの制御上必須となる項目を設定したMySQLを起動しておく必要がある。以下は起動コマンドの入力イメージである。
# mysqld_safe --user=mysql --socket= --port 3306 --datadir=/mnt/mysqldata/mysql --log & |
続いてGUI画面から操作を行い、MySQLをLifeKeeperのリソースとして組み込んでいく。
まずGUI画面メニューバーから、「Edit → Resource → Create Resource Hierarchy 」を選択する。次にGUIの各画面から表5の項目を入力する。
| 画面名 | 選択・入力内容 |
| SelectRecoveryKIT | MySQLDataBase(注1) |
| SwitchbackType | Intelligent(注2) |
| Server | DBのプライマリサーバ(注3) |
| Location of my.cnf | /etc/my.cnf (注4) |
| Location of MySQL executable | /usr/local/bin (注5) |
| Database Tag | Mysql-thinkIT(注6) |
表5:MySQL ARKの設定項目
※注2: SwitchBackTypeの設定項目の詳細については「第3回:LifeKeeper for Linuxの操作」の記事を参照していただきたい。今回はデフォルト値である「Intelligent」を使用する。
※注3: プライマリサーバ/バックアップサーバの設定は後から変更することは可能だが、HAクラスタへ組み込む段階ではここで入力したサーバが自動的にプライマリサーバとなるため、作成時にプライマリサーバを選択しておくとよい。
※注4: 起動に必要なmy.cnfファイルのパスを入力する。必須のパラメータに漏れがあった場合はこの時点でGUI上にエラーが表示される。
※注5: MySQLのバイナリの配置されたパスを入力する。
※注6: 管理上使用したい任意の名前を入力する。今回は「Mysql-thinkIT」とした。
以上の入力が終了し「Create」ボタンをクリックするとリソースの作成が開始される。正常に作成されたら、「Next」ボタンをクリックする。
ここまでの手順が成功すると、ウィザード画面は図2のように、「Continue」ボタンがアクティブになる。

図2:リソース作成成功時のWizard画面
作成したリソースの拡張
図2の「Continue」ボタンをクリックすることで、リソース情報を他のサーバと共有する手順に入る。この手順をLifeKeeperでは「リ ソース階層の作成と拡張」と呼ぶ。この操作もウィザード形式で行われ、新たに入力を要する項目はないので、拡張手順の詳細は割愛する。
Active-Standbyの両方で、事前の設定に問題がなければGUI画面に従って設定していくだけでリソースの組み込みは終了となる。リソースの拡張の概要については本連載の「第3回:LifeKeeper for Linuxの操作」でIPリソースの作成時に紹介しているので参照して欲しい。
最後にGUI上からクライアントがDBにアクセスするためのVIP(仮想IP)リソースとMySQLリソースの間の依存関係を定義する。今回は図3のような依存関係を定義する。

図3:作成されたリソース階層図
これで、HAクラスタへの組み込み作業は終了となる。通常の構築時には、作成されたHAクラスタ構成の動作確認を行うところだが、動作確認については本記事の終盤で紹介するものとし、先にOracleのHAクラスタ化について簡単に触れておく。
Oracle ARKによる構成
Oracle Database 10g(以下、Oracle)を使用して最もシンプルなActive/Standby構成を例に構築の概要を説明する(図4)。
今回はOracleのバイナリとORACLE_HOMEをローカルディスク上に置き、/mnt/oradata以下にDBが作成している。 Oracle ARKでは、Oracleバイナリを共有ストレージにインストールした構成も可能となっている。Oracle ARK上で可能な構成例についてはSteelEye社のドキュメントを参照していただきたい。

図4:Oracle ARKによるActive-Standby構成例
| OS | Red Hat Enterprise Linux AS4.0 |
| Oracle | Oracle 10g Release 2 |
| LifeKeeperのバージョン | v.5.1.1 |
| Oracle ARKのバージョン | SteelEye-lkORA-5.1.0-2 |
| ORACLE_HOME | /opt/oracle/product/10.2.0 |
表6:Oracle ARKによるActive-Standby構成例の内容