忍者ブログ

インフラ構築手順書

はじめてのインフラ、サーバ構築時に役に立つように構築手順情報をまとめました。


HOME   »  冗長化構築 PaceMaker+DRBD構築手順

[PR]

広告 

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



PaceMaker+DRBD構築  【目次】

広告 

PaceMakerの概要

Pacemakerとは、オープンソースのHAクラスタリングソフトウェアであり、HAクラスタリングソフトとして最も利用実績の多い「Heartbeat2」の後継ソフトウェアです。

Pacemakerは、アクティブ・ノードがダウンすると、スタンバイ・ノードが引き継いぐフェイルオーバー・クラスターです。
構成は、ノード2台の小規模から、最大約16ノードの大規模クラスタまで、多彩なHAクラスタに適応することができます。
Heartbeatには、クラスタ制御機能と、Heartbeat バージョン2.1.4から実装されたクラスタ上で動作するリソース(サービス、IPアドレス、データへのアクセスなど)の配置を調整して最適化するクラスタリソース制御機能(CRM)があります。
「Heartbeat2.1.4」の後継バージョンであるPacemakerでは、クラスタ制御機能についてはクラスタ制御に実績のあるOpenAISのCorosyncが利用可能となりました。
クラスタリソース制御機能については、従来の「Heartbeat2.1.4」の機能と品質をそのまま受け継いでいるため、「Heartbeat2.1.4」同様に利用することができます。


PaceMaker+DRBD構築 の目次

01. PaceMaker+DRBD構築  【PaceMakerのインストール】
02. PaceMaker+DRBD構築  【DRBDのインストール】
03. PaceMaker+DRBD構築  【DRBDの設定】
04. PaceMaker+DRBD構築  【MySQLインストール】
05. PaceMaker+DRBD構築  【MySQL設定】
06. PaceMaker+DRBD構築  【リソース登録】
07. PaceMaker+DRBD構築  【運用/障害復旧】


冗長化構成の構築に関するおすすめ書籍


拍手[1回]



PaceMaker+DRBD構築1 【PaceMakerのインストール】

広告 

PaceMakerインストールの事前設定

heartbeat用ユーザの作成
ユーザ名:hacluster、グループ名:haclientのユーザを作成
※UID,GIDについては、任意であるが、両ノードで統一すること
# groupadd -g 1004 haclient
# useradd -g 1004 -u 1004 -s /sbin/nologin -d /home/sysusr/hacluster hacluster
※PaceMaker、HeartbeatをRPMでインストールする場合、各サーバで異なるUID,GIDのユーザ、グループが作成されてしまう恐れがあるので、手動で作成する。


LCMC用ユーザの作成
RootユーザでSSH接続できる場合、LCMC用ユーザを作成する必要はない。
しかしRootでのSSH接続を許可していない場合は、一般ユーザを作成し、SUDOが利用できる設定が必要です。
・LCMC用ユーザ作成
# groupadd -g 1014 lcmadm
# useradd -g 1014 -u 1014 -d /home/sysusr/lcmadm lcmadm
・SUDO設定
# visudo
---------      
lcmcadm    ALL=(ALL)       ALL
・パスワード設定
# passwd lcmcadm



Pacemaker+HeartBeatのインストール

インストール方法の種類

1.pacemaker本家のyumリポジトリを使用してインストール
2.Linux-HA Japan提供のローカルリポジトリ + yumを使ってインストール
3.LCMCを利用してインストール(この場合、Linux-HAJapaのパッケージは利用できない)
4.ソースからインストールすることも可能

※今回は、Linux-HA Japan提供のパッケージをインストールする手順を説明する。


PacemakerリポジトリとPacemaker関連パッケージのダウンロード Linux-HA Japanでは,必要なrpmがすべて入ったyumリポジトリ(Pacemakerリポジトリパッケージ)を配布しています。
下記サイトから最新のPacemakerリポジトリパッケージをダウンロードできます。
http://sourceforge.jp/projects/linux-ha/

# wget 'http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Flinux-ha%2F56470%2Fpacemaker-1.0.12-1.2.el6.x86_64.repo.tar.gz'
--2012-09-12 20:17:20--  http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Flinux-ha%2F56470%2Fpacemaker-1.0.12-1.2.el6.x86_64.repo.tar.gz

・OS同梱版Pacemakerでアップデートされないようにする設定
# vi /etc/yum.conf
==最後の行に追加==
exclude=pacemaker* pacemaker-libs* corosync* cluster-glue* heartbeat* resource-agents*
※ここでpacemakerパッケージを除外しても、下記で説明するインストール方法でLinux-HAJapanのPacemakerパッケージはインストールできる。

・Pacemakerリポジトリパッケージの展開
# tar zxvf  pacemaker-1.0.12-1.2.el6.x86_64.repo.tar.gz -C /tmp
※[/tmp/pacemaker-1.0.12-1.2.el6.x86_64.repo/rpm/]にpacemakerのRPMパッケージがあります。
※各パッケージ
・pm_crmgen・・・・・・crm用設定ファイル編集ツール
・pm_diskd ・・・・・・・ディスク監視アプリとRA
・pm_logconv-hb ・・ログ変換ツール
・pm_extras ・・・・・・その他のオリジナルRA等

・Pacemakerと関連パッケージのインストール
# yum -c /tmp/pacemaker-1.0.12-1.2.el6.x86_64.repo/pacemaker.repo install  pacemaker-1.0.12 heartbeat pm_extras pm_diskd pm_logconv-hb
<省略>
Dependencies Resolved

================================================================================
Package                Arch        Version                Repository      Size
================================================================================
Installing:
heartbeat              x86_64      3.0.5-1.1.el6          pacemaker      162 k
pacemaker              x86_64      1.0.12-1.el6           pacemaker      5.6 M
Installing for dependencies:
OpenIPMI-libs          x86_64      2.0.16-12.el6          base           475 k
PyXML                  x86_64      0.8.4-19.el6           base           892 k
cluster-glue           x86_64      1.0.9-1.el6            pacemaker      255 k
cluster-glue-libs      x86_64      1.0.9-1.el6            pacemaker      109 k
corosync               x86_64      1.4.3-1.el6            pacemaker      158 k
corosynclib            x86_64      1.4.3-1.el6            pacemaker      141 k
heartbeat-libs         x86_64      3.0.5-1.1.el6          pacemaker      263 k
libesmtp               x86_64      1.0.4-16.el6           pacemaker       57 k
openhpi-libs           x86_64      2.14.1-3.el6           base           135 k
pacemaker-libs         x86_64      1.0.12-1.el6           pacemaker      262 k
perl-TimeDate          noarch      1:1.16-11.1.el6        base            34 k
resource-agents        x86_64      3.9.3-1.el6            pacemaker      427 k

Transaction Summary
================================================================================
Install      14 Package(s)

Total download size: 8.8 M
Installed size: 20 M
Is this ok [y/N]:y
※pacemakerのレポジトリが「pacemaker」であることを確認!!
※2台のサーバでpacemakerとHeartBeatをインストールする


注意事項

CentOS6の注意点
CentOS6は、Pacemaeker1.1がOSに同梱されているので、インストールする場合は同梱されてPacemaker1.1を削除し、バージョンを指定してインストールする。
・バージョン指定してインストールする例
# yum -c pacemaker.repo install pacemaker-1.0.12

Linuxカーネル内部処理ロジックが変更に伴い、エラー検知ができない不具合
最近のLinuxカーネル内部処理ロジックが変更されたことによって、DRBDの特定の動作モードと特定バージョンのカーネルを組み合わせた場合において、セカンダリノード(プライマリではありません)で不完全なレプリケーションが起きる可能性があることがわかりました。
・起こりうる現象
セカンダリ側でのみディスクブロックの書き込み順序が入れ替わることがあり、 この結果ログファイルなどの末尾付近に連続したヌル(0x00)が置かれることがあります。
セカンダリ側でcat /proc/drbdを実行して、wo:bが表示される

・対策済みバージョン
バージョン8.4.2 またはバージョン8.3.14



PaceMaker+DRBD構築 の目次

01. PaceMaker+DRBD構築  【PaceMakerのインストール】
02. PaceMaker+DRBD構築  【DRBDのインストール】
03. PaceMaker+DRBD構築  【DRBDの設定】
04. PaceMaker+DRBD構築  【MySQLインストール】
05. PaceMaker+DRBD構築  【MySQL設定】
06. PaceMaker+DRBD構築  【リソース登録】
07. PaceMaker+DRBD構築  【運用/障害復旧】


・おすすめ書籍
[Linux-DB システム構築/運用入門 ]のECサイト価格横断比較と評価
HAクラスタ構築のおすすめ書籍


拍手[1回]



PaceMaker+DRBD構築2 【DRBDのインストール】

広告 

DRBDのインストール

前述の「Pacemaker+HeartBeatのインストール」手順では、Linux-HA Japan提供パッケージをインストールしたかったので、Linux Cluster Management Console(以下LCMC) を利用してインストールしませんでした。
しかしDRBDではLCMCを利用した方が、インストールが簡単なためLCMCを利用します。

※DRBDのRPMパッケージ版では、まだCentOS6上の不具合対応版バージョンが用意できていないため、最新ソースファイルを選択しインストールする必要があります。
※LCMCでは、RPMパッケージ版とソース版を選択することで、インストールできます。また一般的にソースファイルからのインストールは 難しいですが、LCMCを利用すると簡単にインストールができます。

・LCMCメモ

※Windowsクライアント側にLCMCをインストールすれば、GUIでPaceMakerを管理できます。インストール・構築だけでなく運用で重宝します。
※LCMCは、下記のサイトからダウンロードできます。(LCMC-1.4.1-setup.exe)
http://sourceforge.jp/projects/sfnet_lcmc/releases/
※LCMCはJava7で動かすこと。




DRBDのインストール事前設定

Proxy設定
LCMCよりインストールする場合、インストールするサーバからインターネットへアクセスできるように設定する必要があります。
今回はlcmadmユーザでLCMを管理するため、lcmadmユーザの環境変数にProxy設定をしました。
# vi ~/.bashrc
<省略>
export http_proxy=http://proxy.hogehoge.jp:8080
※Proxyサーバは環境に合わせて設定してください。
※開発環境では、rootを使っても問題ありませんが、本番環境では上記lcmadmユーザのような一般ユーザを作成することをお薦めします。

lcmadmユーザのパスワード設定
# passwd lcmadm

lcmadmユーザのSUDO設定
# visudo
lcmadm ALL=(ALL) ALL
※その他、SSH接続できるユーザを制限している場合は、lcmadmでSSH接続できる設定を行ってください。
※一般ユーザでPaceMaker構築ができますが、ログの読み取り権限がないので、ログを直接見る必要があります。



DRBDのインストール

1台目サーバにDRBDをインストールする
・[LCMC]起動 - [ホストの追加/設定ウィザード]をクリック
・[ホスト設定ウィザード] - 下記項目を入力 し、 [次へ]をクリック

[ホスト] インストール先IP
[ユーザー名] LCM管理ユーザ
[sudoの利用] true (※一般ユーザの場合true)

・[ホスト設定]画面 - エラーメッセージがなければ、[次へ]をクリック
※初回アクセス時は、hostkeyの受け入れるかの問合せがでる。[はい]をクリック
・[パスワード認証]ダイアログ - パスワードを入力して[Enter]キー
・[ホストデバイス]画面 - エラーメッセージがなければ、[次へ]をクリック
・[ディストリビューションの検出]画面 - ディストリビューション情報が表示されていれば、[次へ]をクリック
・[インストール環境の確認]画面 - PaceMaker/Heartbeatは既にインストール済み状態になっていることを確認し、DRBDを[インストール方法:from the source tarball]を選択し、[インストール]をクリック
※その他のインストール方法の場合、最新のバージョンを選択できません。(2012年10月15日現在)
・[利用できるDRBDソースコードのtarファイル]画面 - CentOS6での不具合対処済みバージョン8.4.2を選択し。[次へ]をクリック
・[DRBDのインストール]画面 - DRBDのインストールが成功したメッセージが表示されれば、[次へ]をクリック
・[インストール環境の確認]画面 に戻り、[次へ]をクリック
・[ホスト設定完了]画面 1台目のサーバへのインストール完了


2台目サーバにDRBDをインストールする
・[ホスト設定完了]画面 - [他のホストの追加]
・[ホスト設定ウィザード] - [ホスト]欄に2台目のIPを入力 し、 [次へ]をクリック
・[ホスト設定]画面 - エラーメッセージがなければ、[次へ]をクリック
※初回アクセス時は、hostkeyの受け入れるかの問合せがでる。[はい]をクリック
・[パスワード認証]ダイアログ - パスワードを入力して[Enter]キー
・[ホストデバイス]画面 - エラーメッセージがなければ、[次へ]をクリック
・[ディストリビューションの検出]画面 - ディストリビューション情報が表示されていれば、[次へ]をクリック
・[インストール環境の確認]画面 - PaceMaker/Heartbeatは既にインストール済み状態になっていることを確認し、DRBDを[インストール方法:from the source tarball]を選択し、[インストール]をクリック
※その他のインストール方法の場合、最新のバージョンを選択できません。(2012年10月15日現在)
・[利用できるDRBDソースコードのtarファイル]画面 - CentOS6での不具合対処済みバージョン8.4.2を選択し。[次へ]をクリック
・[DRBDのインストール]画面 - DRBDのインストールが成功したメッセージが表示されれば、[次へ]をクリック
・[インストール環境の確認]画面 に戻り、[次へ]をクリック



LCMCによるクラスタ設定

・[LCMC]起動 - [クラスターの追加/設定ウィザード]をクリック

・[クラスター設定ウィザード]画面 - クラスターの名前(日本語でもOK)を入力し、[次へ]
・[ホストの選択]画面 - 冗長化するサーバを選択し、[次へ]
※既にクラスタ構築済みのサーバは選択できない

・[クラスター通信スタック]画面 - HeartBeatを選択し、「次へ」
・[HeartBeatの初期化]画面 - 必要な設定を行い[Heartbeat構成の生成/上書き]をクリック
 ・通信経路とLogFacilityの設定
 ※ucastを行った場合、両ノードで相手側IPを指定する必要があるが、ここでは設定できないため、後ほどha.cfファイルを直接編集する。
 ※LogFacilityは、今回は[local1]としている。

 ・[次へ/構成を維持]をクリック

・[クラスター/DRBDの初期化]画面 - [次へ]
・[完了]画面 -[保存する]チェック- [完了]



ha.cfファイルの修正

LCMCで設定する場合、両ノードで同じha.cfファイルが配置されるため、ucastの設定など両ノードで別の値を入れなければならない 場合は修正が必要である。
■ノード1のha.cf編集
# vi /etc/ha.d/ha.cf
-------
ucast eth1 192.168.100.82
■ノード2のha.cf編集
# vi /etc/ha.d/ha.cf
-------
ucast eth1 192.168.100.81




PaceMaker+DRBD構築 の目次

01. PaceMaker+DRBD構築  【PaceMakerのインストール】
02. PaceMaker+DRBD構築  【DRBDのインストール】
03. PaceMaker+DRBD構築  【DRBDの設定】
04. PaceMaker+DRBD構築  【MySQLインストール】
05. PaceMaker+DRBD構築  【MySQL設定】
06. PaceMaker+DRBD構築  【リソース登録】
07. PaceMaker+DRBD構築  【運用/障害復旧】


・おすすめ書籍
[Linux-DB システム構築/運用入門 ]のECサイト価格横断比較と評価
HAクラスタ構築のおすすめ書籍


拍手[1回]



Yahoo!ブックマーク Googleブックマーク はてなブックマーク livedoorClip del.icio.us FC2 ニフティクリップ iza Buzzurl 


最新記事
(09/17)
(04/09)
(04/09)
(03/22)
(01/16)
(12/30)
(12/26)
(09/21)
(09/21)
(09/20)
(09/12)
(06/13)
(06/13)
(03/14)
(02/15)
(01/03)
(01/03)
(10/04)
(09/20)
(09/15)
(09/14)
(09/14)
(09/14)
(09/06)
(08/30)
最古記事
(10/29)
(10/29)
(10/29)
(10/29)
(10/29)
(04/12)
(04/12)
(06/12)
(06/12)
(06/20)
(06/22)
(07/22)
(07/22)
(07/30)
(07/30)
(08/18)
(08/18)
(08/22)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)


PR

Copyright © インフラ構築手順書 : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]

管理人限定

検索フォーム

カスタム検索

フリーエリア

ESXiの基本設定・運用設定
ESXiのSSH設定
ESXiの NTP設定
VMware ESXiでの時刻同期(NTP)ペストプラクティス
ESXiのゲストOS(仮想マシン)複製
ESXiのOVF形式で複製
異なるESXiバージョン間の複製(移行)
クローン作成後の後処理
仮想マシンのLVM追加
仮想共有ディスクファイルの作成
ESXi上でハイパーバイザーを稼動させる
パフォーマンスがでないとき確認すること


サーバ構築手順
ESXi上でRACを構築する
GFS2+DRBD構築
PaceMaker+MySQLレプリケーション構築
PaceMaker+DRBD構築
HeartBeat2+DRBD構築


Solarisの構築手順
Solarisのネットワーク設定変更
Solarisのホスト名変更
Solaris11のresolv.conf変更手順
Solaris11のHDD増設手順


AWS(Amazon Web Service)の基本設定・運用設定
S3 WEBサイトの構築
S3 WEBサイトのアクセス制限
S3 WEBサイトのリダイレクト設定


Windows Azureの基本設定・運用設定
AzureでWordpress構築
英語版Wordpressを日本語化する
AzureWebサイトの独自ドメイン設定
AzureWebサイトのモード変更
WEBアクセスログ解析ツールの比較


WordPressの基本設定・運用設定
WordPressの基本構造
WordPressのインストール手順
Wordpressマルチサイト機能
「続き読む(more)」カスタマイズ
Wordpressの独自PHP
Wordpressをサブディレクトリに移す
既存サブディレクトリをルートディレクトリとする
Wordpressが利用可能な共用ホスティング


Postfix構築
Postfixにおける暗号化したSMTP認証設定


SoftEtherVPNの構築
ESXi上のSoftEtherVPN構築
DDNSと組み合わせたSoftEtherVPNの設定


LinuxのAD連携
LinuxのActiveDirectory連携について
PAM認証でAD連携
ApacheでAD連携(LDAP認証)
ApacheでAD連携(Kerberos認証)
SAMBAで2台目DCサーバを構築
RedmineとGitのLDAP(AD)認証設定
JenkinsのLDAP(ActiveDirectory)認証設定


Redmine設定
Alminium(RedmineとGit/SVN)のインストール手順
RedmineとGitのLDAP(AD)認証設定
RedmineとGitの移行
JenkinsのLDAP(ActiveDirectory)認証設定


サーバの基本設定・運用設定
Apache
Apacheの基本設定
Apacheの仮想ホスト設定
PHPの基本設定
Nginxのロードバランサ設定
WebDAV構築手順
アンチウィルス
無償アンチウィルス(ClamAV)の導入手順
システム監視
システム監視ソフトMuninの導入手順
システム監視ソフトZabbixの導入手順
sarによるリソース使用情報取得


サーバ移行
Mysqlマイグレーション
MySQLマイグレーション時の問題点と解決策
Windows
Windows OS評価版からの移行
SQL Server評価版からの移行
クラスタソフト
クラスタソフトの比較

ツリーカテゴリ

広告ーSEO





人気ブログランキングへ
にほんブログ村 IT技術ブログ Webサイト構築へ

ブログ王ランキングに参加中!


最新トラックバック

バーコード

アフィリエイト2