TOP設計・移行・活用> LifeKeeperによるデータベースのHAクラスタ化の概要
LifeKeeperのすべて
LifeKeeperのすべて

第8回:MySQL/OracleとLifeKeeperによるHAクラスタ化
著者:サイオステクノロジー クラスタソリューショングループ
監修者:サイオステクノロジー  小野寺 章   2005/1/13
1   2  3  4  次のページ
LifeKeeperによるデータベースのHAクラスタ化の概要

   今回はOracle Database 10gとMySQLを例に、データベース(DB)のHAクラスタ化構成の概要について紹介していく。

   まず各ARKによる構築の概要を述べる前に、LifeKeeperによるDBシステムのHAクラスタ化にあたって、事前の留意事項を表1にあげる。
アプリケーションがすでにインストールされていること
監視・切り替え対象のアプリケーションは、LifeKeeperの設定を行う前にインストールされている必要がある。またLifeKeeperでは、DBの死活監視をクライアントユーティリティから行うため、クライアントコンポーネントもインストールされていなければならない。

各アプリケーションにおけるサポートするバージョンの最新情報は、Release Notes(http://licensing.steeleye.com/support/docm.php)を参照して確認していただきたい。


データ領域の共有
DBをHAクラスタ化の対象とする場合、切り替え時に両系のデータ領域が同一であることが必要となる。LifeKeeperではデータ領域を共有ストレージ上に配置する構成の他に、LifeKeeperのオプションとして用意されているデータレプリケーション領域への配置やNAS上の領域(オプションのNAS ARKが必要)への配置が可能である。

レスポンスなどの面からは共有ストレージを使用することが望ましいケースも多いが、DBの規模などによっては共有ストレージにかかるコストをかけずに構築を行えることになる。


運用を見据えたテスト
HAクラスタ化の目的は可用性を高める点にある。その観点から、可能な限り構築前に、期待される性能についてテストすることが必要である。

特にDBの場合には長期の運用により肥大化し、レスポンスが劣化することもあるため、可能な限り運用を想定した実データを含む形での稼動テストを行うことを強く推奨する。

表1:事前の留意事項


MySQL ARKによるMySQLのHAクラスタ化

   では早速、MySQLをHAクラスタに組み込むための手順について説明を進める。MySQL ARKではActive-Standby構成Active-Active構成が可能となっている。


Active-Standby構成

   最もシンプルな構成として、データ領域を共有ストレージに置き、設定ファイルとMySQLのバイナリをローカルのファイルシステムに置く構成が考えられる。

   切り替えるインスタンスが1つの場合は、各サーバ上にmy.cnfファイルとMySQLのバイナリが配置され、共有ストレージ上にデータ領域が配置されることになる。この構成では関連するリソースがすべて同時に切り替わることになるため、最も制約は少ない。


Active-Active構成

   ここでいうActive-Activeとは、保護対象となるDBのインスタンスが複数存在し、それぞれ別サーバ上でアクティブになることが想定されるケースを指している。この構成の留意事項としては以下のような項目が考えられる。

  1. my.cnfファイルをインスタンスごとに用意し、データ領域上に配置する(HAクラスタに組み込む過程で、LifeKeeperのGUI上から各インスタンス用のmy.cnfファイルのパスを読み込ませることになる。このとき、my.cnfは各インスタンスのデータ領域と同じ場所に配置する)。
  2. インスタンスごとに異なるポート番号を使用するように指定し、そのいずれもが/etc/servicesファイル内に指定されている。

表2:Active-Active構成の留意事項

   今回は、Active-Standby構成(図1、表3)を例に、構築手順を説明していく。

MySQLによるActive-Standby構成例
図1:MySQLによるActive-Standby構成例

OS Red Hat Enterprise Linux AS3.0
MySQLのバージョン v.4.1.10
LifeKeeperのバージョン v.5.1.1
MySQL ARKのバージョン SteelEye-lkSQL-5.1.1-1
My.cnfのパス /etc/my.cnf
MySQLの実行バイナリ /usr/bin
MySQLデータディレクトリ /mnt/mysqldata/mysql

表3:MySQLによるActive-Standby構成例の内容


MySQLの導入に関する留意事項

   MySQLのインストールについては割愛とするが、設定ファイルmy.cnfファイルの記述に関する事項を紹介しておく。

   MySQL ARKでは、MySQLの起動時にmy.cnfから必要なパラメータを読み込みその後の制御を行う。そのため、my.cnfファイル内の特定セクションに必須の項目が設定されていることが必須となる。必須となる設定事項は表4の通りである。

clientセクション
userおよびpasswordを必ず指定する必要があり、clientセクション自体も必須項目となる。また、LifeKeeperの制御の仕様上ここで指定されたuserに対してはshutdown権限が付与されていなければならない。
mysqldセクション
socket、port、pid-file、userの4つを必ず指定する。mysqldセクション自体も必須項目となる。

表4:必須である記載事項

1   2  3  4  次のページ

リファレンスサイトの紹介
本連載のリファレンスとなるWebサイトです。本連載に対するご意見、ご要望などもお寄せください。

■LifeKeeper製品詳細情報
http://www.10art-ni.co.jp/product/lifekeeper/

■SteelEye Technology Inc.(開発元)
http://www.steeleye.com

■LifeKeeperに関するお問合せ
https://www.10art-ni.co.jp/contact/form-lifekeeper_ssl.html
サイオステクノロジー株式会社 クラスタソリューショングループ
著者プロフィール
サイオステクノロジー株式会社 クラスタソリューショングループ
サイオステクノロジーにおいて、SteelEye LifeKeeperの技術サポートや構築支援を行うエンジニア集団。日本国内で、彼ら以上にLifeKeeperを知る者たちはいないと自負している。世の中のすべてのHAクラスタがLifeKeeperになることを夢見て日々奮闘を続けている。


サイオステクノロジー株式会社 小野寺 章
監修者プロフィール
サイオステクノロジー株式会社  小野寺 章
インフラストラクチャービジネスユニット
エンタープライズソリューション部 部長
国産汎用機メーカに入社し、汎用機のSEを10数年担当、1994年頃からオープン・ダウンサイジングブームの到来とともにUNIX系OSを担当し、Solaris、HP/UXでSun Cluster、Veritas Cluster、MC/ServiceGuardなどを使用した、多数のミッションクリティカルシステムのHAシステム構築に従事。2001年ノーザンライツコンピュータ(現サイオステクノロジー)へ入社後、SteelEye LifeKeeperの総責任者としての国内での販売・サポート業務に従事。


INDEX
第8回:MySQL/OracleとLifeKeeperによるHAクラスタ化
LifeKeeperによるデータベースのHAクラスタ化の概要
  MySQL ARKによるHAクラスタ化
  Oracle導入に関する留意事項
  フェイルオーバーの動作確認