LifeKeeper for Linux
FUJITSU Cloud IaaS Trusted Public
S5 環境での HA クラスター動作検証レポート
初版
目次
1 本書の内容 ... 3
2 本書のサポート範囲 ... 3
2.1 将来における互換性について ... 3
3 FUJITSU Cloud IaaS Trusted Public S5 の概要 ... 4
4 構成情報 ... 5 4.1 ネットワーク構成 ... 6 5 仮想システムの作成、構築 ... 7 5.1 準備作業 ... 7 5.2 仮想システムの新規作成 ... 7 5.3 仮想マシンの設定 ... 8 5.4 PostgreSQL の設定 ... 9 6 LifeKeeper による HA クラスターの構築 ... 12 6.1 LifeKeeper のインストール ... 12 6.2 リソース階層の作成 ... 13
7 FUJITSU Cloud IaaS Trusted Public S5 の機能確認 ... 18
8 参考資料 ... 20 9 謝辞 ... 21 10 お問い合わせ ... 22 11 免責事項 ... 23
改版履歴
2014 年 1 月 28 日 初版1
本書の内容
このたび、LifeKeeper for Linux (以下、LifeKeeper)が FUJITSU Cloud IaaS Trusted Public S5 環境においてご利用いただけるようになりました。富士通データセンター内に設 置されているリソース上に LifeKeeper を導入し、HA クラスターシステムを構築すること ができます。
本書は、弊社で実際に行った検証作業の構成をベースとして記述したものです。LifeKeeper を FUJITSU Cloud IaaS Trusted Public S5 環境で稼動させ、クラウド環境における HA クラスターシステムを構築する手法について、ご説明します。
2
本書のサポート範囲
本書は、FUJITSU Cloud IaaS Trusted Public S5 内の仮想マシンに LifeKeeper をン ストールし、HA クラスターを構成するために必要な各種設定方法をご案内します。
2.1 将来における互換性について
本文書に記載されております内容は、2014 年 1 月 28 日時点の FUJITSU Cloud IaaS Trusted Public S5 上で実施した検証結果に基づいています。将来の FUJITSU Cloud IaaS Trusted Public S5 の仕様変更により、本書で案内している各種操作方法に変更が 必要となる可能性があります。本書は、将来における FUJITSU Cloud IaaS Trusted Public S5 の仕様変更について保証するものではありません。必要に応じて最新のドキュ メンテーションを参照し、適切な設定を行なってください。
3
FUJITSU Cloud IaaS Trusted Public S5
の概要
FUJITSU Cloud IaaS Trusted Public S5 は、仮想化技術を用い、富士通データセンター 内に設置されている大規模リソース上に、お客様専用の仮想システム環境を割り当てて提 供するサービスです。富士通データセンター内にあらかじめ設置したリソース群より、お 客様専用の仮想システム環境を、お客様のニーズに合わせて柔軟に構築することができ、 お客様のビジネスに対応したゕプリケーション開発、運用する環境をタムリーに低コス トで構築することができます。
FUJITSU Cloud IaaS Trusted Public S5 と LifeKeeper を組み合わせることで、HA クラ スターを容易に構築でき、クラウド環境におけるゕプリケーション、サービスの高可用性 が実現できます。
4
構成情報
本構成では LifeKeeper for Linux を使って以下のような 2 ノード構成の Active/Standby クラスターを構築します。全体の構成は図 1 をご参照ください。
仮想マシン構成
タプ:エコノミー
CPU:1.0 GHz Equivalent (Xeon 2007)× 1 RAM:1.7GB
Disk:40GB
OS:RHEL 6.3 64bit (Japanese) IP 固定プラベート IP × 3 (自動付与 × 1、手動設定 × 2) 増設デゖスク 100GB LifeKeeper v8.2 冗長化対象 仮想 IP ゕドレス、フゔルシステム、PostgreSQL 図 1 全体の構成 Data Replication 仮想 IP 192.168.0.157 Internet 網 増設デゖスク 増設デゖスク 仮想マシン 1 LifeKeeper (Active) PostgreSQL 仮想マシン 2 LifeKeeper (Standby) PostgreSQL ファイアウォール
4.1 ネットワーク構成
FUJITSU Cloud IaaS Trusted Public S5 では、仮想マシンに対してプラベート IP ゕ ドレス 1 個が自動的に付与されます。これに加えて、お客様が複数のプラベート IP ゕ ドレスを指定して追加することが可能です。その際設定する IP ゕドレスは、必ず同一セ グメントネットワークゕドレスの第 4 オクテット目が 151~200 の範囲で設定してくだ さい。本構成では、固定の IP ゕドレスが自動的に付与された eth0 に対して、冗長化対 象の仮想 IP ゕドレスを設定し、eth0 の IP エリゕスとして、eth0:0 と eth0:1 を手 動で設定して、コミュニケーションパスとデータレプリケーションパスとして使用しま す。ネットワーク構成は下記の通りです(図 2)。
5
仮想システムの作成、構築
本章では、仮想システムの作成、構築を行います。5.1 準備作業
仮想システムの作成を開始する前に以下の作業が完了している事を確認してください。 契約者 ID 取得 利用申込 契約者IDでの証明書を利用したログン リソース管理者IDの追加詳細につきましては、下記の「FUJITSU Cloud IaaS Trusted Public S5 導入ガド」を参 照してください。 http://oviss.jp.fujitsu.com/portal/ctrl/aboutSopLibrary 上記の作業が完了している事を確認できましたら、サービスポータルにログンして仮想シ ステムを作成します。
5.2 仮想システムの新規作成
仮想システムの新規作成を行います。以下の作業を実施してください。 システムテンプレートの選択 仮想システムに命名/ネットワーク接続形態の選択 仮想マシン/負荷分散装置/増設デゖスクの追加 概算見積り確認 サービス利用規約への同意/仮想システム作成の実行 詳細につきましては、サービスポータルにログン後、マニュゕルメニューから「サービス ポータルユーザーガド」を参照してください。本構成では仮想マシンの追加の際、Red Hat Enterprise Linux 6.3 (x86_64)のメージを 利用します。また、データレプリケーション用の領域として、増設デゖスクを追加します。
5.3 仮想マシンの設定
仮想マシンの設定を行います。 (1) IP エイリアスの設定 eth0 に IP エリゕスを 2 つ設定します。 (2) ファイアウォールの設定 LifeKeeper は特定のポートを使用するため、下記の資料を参考に OS のフゔゕウォール 設定を変更します。 ファイアウォールを使用した状態での LifeKeeper の実行 http://jpdocs.us.sios.com/Linux/8.2/LK4L/SPSInstall/index.htm#user_guide/usin g_lifekeeper_linux/maintenance_tasks/running_lifekeeper_firewall.htm (3) LifeKeeper に必要なパッケージのインストール LifeKeeper v8.2 をンストールする際に下記のパッケージ群が必要となります。 一般的なパッケージの依存関係 http://jpdocs.us.sios.com/Linux/8.2/LK4L/SPSInstall/index.htm#installation/Linu x_Dependencies.htm(4) LifeKeeper に必要なディレクトリの作成
FUJITSU Cloud IaaS Trusted Public S5 環境で RHEL6.3 の仮想マシンを追加した際、通 常は存在する/lib/modules/2.6.32-279.el6.x86_64/weak-updates デゖレクトリが消 失する事象が報告されています。LifeKeeper でデータレプリケーションを行う場合、この デゖレクトリが必要なため、mkdir コマンドで作成します。
# mkdir -p /lib/modules/`uname -r`/weak-updates/
(5) LifeKeeper イメージとライセンスの準備 SCP(Secure Copy)コマンドなどを用いて、LifeKeeper のンストールメージとラ センスフゔルを転送します。
5.4 PostgreSQL の設定
追加した増設デゖスクを PostgreSQL のデータ格納場所として、PostgreSQL の設定を行い ます。 仮想マシン 1(プラマリサーバー)で、以下の(1)から(6)を実施します。 (1) パッケージのインストール 仮想マシン上に存在しない場合は、「postgresql-server」と「postgresql」の両方の rpm パッケージをンストールします。同様に、必要な依存関係のあるパッケージをすべて適 用します。(2) PostgreSQL 領域の準備 追加した増設デゖスクは、OS 上では/dev/vd*として認識されます。当該デゖスク領域を フォーマットし、フゔルシステムを作り、PostgreSQL のデータ格納場所として /var/lib/pgsql にマウントします(デフォルトの PostgreSQL 構成を想定)。 # fdisk -c -u /dev/vdb # mkfs.ext3 /dev/vdb1
# mount /dev/vdb1 /var/lib/pgsql
(3) ディレクトリ権限の設定
PostgreSQL データデゖレクトリ(/var/lib/pgsql)のすべてのフゔルの権限と所有者を 適切に設定します。
# chown –R postgres:postgres /var/lib/pgsql # chmod 755 /var/lib/pgsql (4) データベースの初期化 PostgreSQL を新規にンストールする場合は、サンプル PostgreSQL データベースを初 期化します。 # su - postgres $ initdb --pgdata=/var/lib/pgsql/data (5) PostgreSQL デーモンの起動 コマンドランから手動で PostgreSQL デーモンを起動します。
$ pg_ctl start -D /var/lib/pgsql/data -l /var/lib/pgsql/pgstartup.log -o "-p 5432" -w
(6) 起動確認 psql クラゕントで接続して、PostgreSQL が実行中であることを確認してください。 $ psql 仮想マシン 2(セカンダリサーバー)で、以下の(7)から(9)を実施します。 (7) パッケージのインストール 仮想マシン上に存在しない場合は、「postgresql-server」と「postgresql」の両方の rpm パッケージをンストールします。同様に、必要な依存関係のあるパッケージをすべて適 用します。
# yum install postgresql postgresql-server
(8) PostgreSQL 領域の準備 追加した増設デゖスク(/dev/vd*)をフォーマットします。 # fdisk -c -u /dev/vdb (9) ディレクトリ権限の設定 PostgreSQL データデゖレクトリ(/var/lib/pgsql)のすべてのフゔルの権限と所有者を 適切に設定します。
# chown –R postgres:postgres /var/lib/pgsql # chmod 755 /var/lib/pgsql
6
LifeKeeper による HA クラスターの構築
作成した仮想マシンに LifeKeeper をンストールし、HA クラスターを構築します。6.1 LifeKeeper のインストール
(1) LifeKeeper のインストール各仮想マシンに、LifeKeeper をンストールします。ンストールの手順につきましては、 下記の「LifeKeeper for Linux スタートゕップガド(v8.2 用)」を参照してください。
http://lk.sios.com/?p=2137 セットゕップが完了しましたら、LifeKeeper を起動します。 # lkstart (2) LifeKeeper GUI 管理画面へのアクセス X フォワーデゖングが有効な環境で仮想マシンに SSH 接続し、LifeKeeper GUI 管理画面 を開きます。 # lkGUIapp (3) コミュニケーションパスの作成 コミュニケーションパスを作成します。本構成では、各仮想マシンの eth0:0 と eth0:1 を 使います(図 2 ネットワークの構成を参照)。
6.2 リソース階層の作成
LifeKeeper で保護するリソースの登録およびリソース監視に必要な設定を行います。
(1) IP リソースの作成
LifeKeeper は IP リソースの死活確認に際し、デフォルトで Broadcast Ping を使用しま すが、FUJITSU Cloud IaaS Trusted Public S5 環境では Broadcast Ping が使用できま せん。そのため、/etc/default/LifeKeeper フゔルで以下のパラメータを編集し、明示的 に Broadcast Ping を無効化します。
NOBCASTPING=1
LifeKeeper GUI 管理画面より Create Resource Hierarchy を選択し、IP リソースを作 成します。リソース作成ウゖザードで入力する内容は以下の通りです。
Select Recovery Kits IP
Switchback Type Intelligent
Server プラマリノードを選択
IP Resource 192.168.0.157(任意の仮想 IP ゕドレス)
Netmask 255.255.255.0(任意のサブネットマスク)
Network Interface eth0(プラマリ・ンターフェース)
IP Resource Tag 任意のリソースタグ名
ターゲット(セカンダリ)ノードへの Extend 時に入力する内容は以下の通りです。
Target Server セカンダリノードを選択
Switchback Type Intelligent Template Priority 1
Target Priority 10
IP Resource 192.168.0.157(任意の仮想 IP ゕドレス)
Netmask 255.255.255.0(任意のサブネットマスク)
Network Interface eth0(プラマリ・ンターフェース)
(2) Unicast Ping の設定
IP リソースの死活確認に使用する Broadcast Ping を無効に設定したので、Unicast Ping 用の IP を両ノードの Ping List に設定します。手順は以下の通りです。
(1) IP リソースのプロパテゖ画面を表示し、Modify Ping List をクリックしま す。
(2) Ping List に設定する IP ゕドレスを入力し、Add address をクリックしま す。
(3) Data Replication リソースの作成
LifeKeeper 管理画面より、Create Resource Hierarchy を選択し、Data Replication リ ソースを作成します。リソース作成ウゖザードで入力する内容は以下の通りです。
Select Recovery Kits Data Replication Switchback Type Intelligent
Server プラマリノードを選択
Hierarchy Type Replicate Existing Filesystem
Existing Mount Point 増設デゖスクをマウントしたデゖレクトリパス (/var/lib/pgsql)
Data Replication
Resource Tag 任意の Data Replication リソース名 Filesystem Resource
Tag 任意のフゔルシステムリソース名
Bitmap File Bitmap フゔルを配置するパス Enable Asynchronous
Replication No(本構成では同期モードを使用)
ターゲット(スタンバ)ノードへの Extend 時に入力する内容は以下の通りです。
Target Server セカンダリノードを選択
Switchback Type Intelligent Template Priority 1
Target Priority 10
Target Disk ターゲットノードに追加した増設デゖスクの領域を選択
(/dev/vdb1) Data Replication
Resource Tag 任意の Data Replication リソース名 Bitmap File Bitmap フゔルを配置するパス Replication Path データ転送に用いる通信経路を選択
(本構成では 192.168.0.152/192.168.0.154 を選択) Replication Type Synchronous(本構成では同期モードを使用)
Mount Point ターゲットノード側のマウントポント(/var/lib/pgsql)
Root Tag 任意のリソースタグ名
(4) PostgreSQL リソースの作成
LifeKeeper 管理画面より、Create Resource Hierarchy を選択し、PostgreSQL リソー スを作成します。リソース作成ウゖザードで入力する内容は以下の通りです。
重要:
この時点で、PostgreSQL をプラマリサーバー上で実行している必要があります。セカ ンダリサーバー上で実行していてはなりません。
Select Recovery Kits PostgreSQL Database Switchback Type Intelligent
Server プラマリノードを選択
PostgreSQL
Executable Location /usr/bin PostgreSQL Clinet
Executable Location /usr/bin/psql PostgreSQL
Administration
Executable Location /usr/bin/pg_ctl PostgreSQL Data Directory /var/lib/pgsql/data PostgreSQL Port 5432 PostgreSQL Socket Path /tmp/./PGSQL.5432 Enter Database
Administrator User postgres
PostgreSQL Logfile /tmp/pgsql-5432.lk.log
Database tag 任意のリソースタグ名
ターゲット(セカンダリ)ノードへの Extend 時に入力する内容は以下の通りです。
Target Server セカンダリノードを選択
Switchback Type Intelligent Template Priority 1
Target Priority 10 PostgreSQL
Executable Location /usr/bin PostgreSQL Database
Tag 任意のリソースタグ名
(5) IP リソースと PostgreSQL リソース間の依存関係の構築
LifeKeeper GUI 管理画面より、Create Dependency を選択し、IP リソース
(ip-192.168.0.157)と PostgreSQL リソース(pgsql-5432)との間に依存関係を作成 します。
図 3 のように、Parent Resource(親リソース)が PostgreSQL リソース、Child Resource (子リソース)が IP リソースとなるよう設定してください。この設定により、リソースが 一緒に移動し、適切な順序で起動/停止することが保証されます。
7
FUJITSU Cloud IaaS Trusted Public S5 の
機能確認
本構成で、FUJITSU Cloud IaaS Trusted Public S5 の以下の機能について、正常動作を 確認しました。 仮想システム 属性変更 仮想マシン 配備 仮想マシン 初期パスワード取得 仮想マシン 起動 増設デゖスク 配備 増設デゖスク 属性変更 仮想マシン 停止 フゔゕウォール 停止 フゔゕウォール 起動 増設デゖスク 接続 仮想マシン バックゕップ 増設デゖスク バックゕップ 仮想マシン リストゕ 増設デゖスク リストゕ メージ 作成 メージ 属性変更 メージ 複製配付 メージ 配備 メージ 削除 テンプレート 作成 テンプレート 属性変更 仮想マシン 属性変更 仮想マシン VPN 接続 グローバル IP ゕドレス 配備 グローバル IP ゕドレス 有効化 フゔゕウォール DNS 自動設定
フゔゕウォール DNS 手動設定 フゔゕウォール DNS 設定解除 フゔゕウォール NAT 設定 フゔゕウォール NAT 設定解除 フゔゕウォール ルール 追加 フゔゕウォール ログ表示 フゔゕウォール ルール バックゕップ フゔゕウォール ルール 削除 フゔゕウォール ルール リストゕ フゔゕウォール ルール バックゕップ削除 グローバル IP ゕドレス 無効化 グローバル IP ゕドレス 削除 仮想マシン 削除 仮想システム 削除 プラベート IP ゕドレス 範囲削除 マグレーション
8
参考資料
LifeKeeper UserSite
http://lk.sios.com/
LifeKeeper for Linux スタートアップガイド(v8.2 用)
http://lk.sios.com/?p=2137
SIOS Technical Documentation
http://jpdocs.us.sios.com/
LifeKeeper・DataKeeper
http://jpdocs.us.sios.com/Linux/8.2/LK4L/TechDoc/index.htm
PostgreSQL RK のドキュメンテーション
http://jpdocs.us.sios.com/Linux/8.2/LK4L/pgSQL/index.htm
FUJITSU Cloud IaaS Trusted Public S5 関連資料
http://oviss.jp.fujitsu.com/portal/ctrl/aboutSopLibrary
FUJITSU Cloud IaaS Trusted Public S5 ご紹介資料(機能詳細編)
FUJITSU Cloud IaaS Trusted Public S5 ご紹介資料(ミドル&システムテン プレート)
FUJITSU Cloud IaaS Trusted Public S5 ご紹介資料(オブジェクトストレー ジ編)
9
謝辞
検証に際して、富士通様より FUJITSU Cloud IaaS Trusted Public S5 の利用をご承認いただき、 また環境構築や設定、テストケースの作成に際して多大なるご支援をいただきました。御礼を申 し上げます。
富士通のパブリッククラウドサービス FUJITSU Cloud IaaS Trusted Public S5