忍者ブログ

インフラ構築手順書

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


HOME   »     »  Pacemaker+DRBD+GFS2構築/DRBD設定 冗長化構築 DRBDのデュアルプライマリ構築  »  Pacemaker+DRBD+GFS2構築/DRBD設定

[PR]

広告 

×

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



Pacemaker+DRBD+GFS2構築/DRBD設定

広告 

Pacemaker+DRBD+GFS2構築 DRBD設定

FDISKでDRBDボリュームを作成

DRBDによりレプリケーションするデバイスは、LVMとするため、 FdiskコマンドでシステムIDを「8e Linux LVM」にする。
 # fdisk /dev/sdb
   =======
   コマンド (m でヘルプ): n
   コマンドアクション
   e   拡張
   p   基本領域 (1-4)
  p
  領域番号 (1-4): 1
  最初 シリンダ (1-783, default 1):
  Using default value 1
  終点 シリンダ または +サイズ または +サイズM または +サイズK (1-783, default 783):
  Using default value 783

  コマンド (m でヘルプ): t
  選択した領域 1
  16進数コード (L コマンドでコードリスト表示):8e

  コマンド (m でヘルプ): w
  領域テーブルは交換されました!
 ※両ノード実施する。

2TB以上のパーティションを作成する場合は、partedコマンドを扱う 」の記事へ

LVMの作成

pacemaker,clvmdが起動していなかったら起動させる。
clvmdデーモンが完全に起動していることを確認する
 # /etc/init.d/clvmd status
   clvmd (pid  1947) を実行中...
   Clustered Volume Groups: (none)
   Active clustered Logical Volumes: (none)
  ※(clvmd (pid 1947) を実行中...で止まっているときはまだ完全起動していない状態)


LVM作成
 # pvcreate /dev/sdb1
        Physical volume "/dev/sdb1" successfully created
 # vgcreate --clustered y vg00_drbd01  /dev/sdb1
        Clustered volume group "vg00_drbd01" successfully created
 # lvcreate -aey -L 2000M -n lvol0 vg00_drbd01
        Logical volume "lvol0" created
  ※両ノード間の通信でiptables制限をしている場合やClvmdが起動していない場合、コマンド実行後ずっと待ち状態になります。

 ※上記手順を両ノードで実施
 

DRBD設定ファイル修正(デュアルアクティブ設定)

■/etc/drbd.d/global_common.confの修正
 # cp /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.org
 # vi /etc/drbd.d/global_common.conf
  global {
                usage-count     yes;
  }

  common {
        startup {
                degr-wfc-timeout        0;
        }

        net {
                cram-hmac-alg   sha1;
                shared-secret   Jb4wJHnYaMVD92f7Oucwq3RfyVcwadafa;
        }

        disk {
                on-io-error     detach;
        }

  }
  ※shared-secretの値は、両ノードで同じ値にする必要があります。


■/etc/drbd.d/r0.resを新規作成
 # vi /etc/drbd.d/r0.res
  =================================
  resource r0 {
        handlers {
                fence-peer      /usr/lib/drbd/crm-fence-peer.sh;
                split-brain     "/usr/lib/drbd/notify-split-brain.sh root";
                after-resync-target     /usr/lib/drbd/crm-unfence-peer.sh;
        }

        startup {
                wfc-timeout     30;
                degr-wfc-timeout        30;
        }

        net {
                allow-two-primaries     yes;
                after-sb-0pri   discard-zero-changes;
                after-sb-1pri   discard-secondary;
        }

        disk {
                resync-rate     50M;
        }

        on img-server01 {
                volume 0 {
                        device          /dev/drbd0;
                        disk            /dev/vg00_drbd01/lvol0;
                        flexible-meta-disk      internal;
                }
                address         192.168.4.71:7788;
        }
        on img-server02 {
                volume 0 {
                        device          /dev/drbd0;
                        disk            /dev/vg00_drbd01/lvol0;
                        flexible-meta-disk      internal;
                }
                address         192.168.4.72:7788;
        }
  }
 ※各サーバのホスト名に置き換えること


SplitBrainの自動復旧ポリシーについて
SplitBrainからの自動復旧を有効にするには、DRBDチームが推奨するいくつかのオプションを理解しておく必要があります。 DRBDは、 SplitBrain検出時にプライマリノードの数によって適用する自動復旧ポリシーが異なります。netセクションに記述してください。

・after-sb-0pri SplitBrain(sb)検出時プライマリがゼロの場合
スプリットブレインが検出されたときに両ノードともセカンダリロールの場合に適用されるポリシーを定義します。
disconnect 自動復旧せずsplit-brainハンドラを実行して、切断します。
discard-younger-primaryt プライマリホストを無効化して変更を戻します。
discard-least-changest 最後に変更したノードを無効化して変更を戻します。
discard-zero-changes もしデータの変更がない場合には、無視してその状態を継続します。

・after-sb-1pri SplitBrain(sb)検出時プライマリが1つの場合
スプリットブレインが検出されたときにどちらか1つのノードがプライマリロールである場合に適用されるポリシーを定義します。
disconnect after-sb-0priと同じです。
consensus after-sb-0priで定義されたポリシーを適用します。
call-pri-lost-after-sb after-sb-0priと同じポリシーを実行します。もしsbが発生してこれらのポリシが適用さ れたら次にpri-lost-after-sbハンドラを実行します。
discard-secondary セカンダリ側になっているホストのデータを破棄し、再同期します。

・after-sb-2pri SplitBrain(sb)検出時プライマリが2つの場合
 スプリットブレインが検出されたときに両ノードともプライマリロールである場合に適用されるポリシーを定義します。 このオプションはafter-sb-1priと同じキーワードを受け入れます。ただし、discard-secondaryとconsensus は除きます。


■設定ファイルのコピー
 # for f in /etc/drbd.d/global_common.conf; do scp $f img-server02:$f ; done
   ※rootでSSH接続ができる場合、上記コマンドでコピーができます。


DRBDをプライマリ化

■DRBDモジュールが読み込まれていることを確認
 # cat /proc/drbd
  version: 8.4.4 (api:1/proto:86-101)
  GIT-hash: 599f286440bd633d15d5ff985204aff4bccffadd build by root@img-server01, 2013-08-30 17:39:29
  ※両ノードで確認、/proc/drbdファイルがない場合はDRBDモジュールが読み込まれていない状態であるため、下記のコマンドを実行する   
 # modprobe drbd minor_count=1


■メタデータ領域の初期化
 # drbdadm create-md r0
Writing meta data...
md_offset 2684354555904
al_offset 2684354523136
bm_offset 2684272603136

Found some data

 ==> This might destroy existing data! <==

Do you want to proceed?
[need to type 'yes' to confirm] yes

initializing activity log
NOT initializing bitmap
New drbd meta data block successfully created.
success
 
  ※両ノードで同時に実施する


■ノード1のDRBDリソース起動
 #  drbdadm up r0
 # cat /proc/drbd
   version: 8.4.4 (api:1/proto:86-101)
   GIT-hash: 599f286440bd633d15d5ff985204aff4bccffadd build by root@img-server01, 2013-10-25 16:51:20
    0: cs:WFConnection ro:Secondary/Unknown ds:Inconsistent/DUnknown C r----s
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:2047900

■ノード2のDRBDリソース起動
   #  drbdadm up r0
   # cat /proc/drbd
   version: 8.4.4 (api:1/proto:86-101)
   GIT-hash: 599f286440bd633d15d5ff985204aff4bccffadd build by root@img-server02, 2013-10-16 13:51:47
    0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:2047900
  ※「cs:Connected」CS状態がConnectedになっていることを確認する。


■DRBDデータの同期
 ここまでの状態では、両サーバがSecondary状態となっており、データの状態もInconsistent(一貫性がない)状態となっています。
 1ノード目をPrimary状態に変更します。
 # drbdadm -- --overwrite-data-of-peer primary r0
  ・DRBDの同期状態   
    # cat /proc/drbd
    version: 8.4.4 (api:1/proto:86-101)
    GIT-hash: 599f286440bd633d15d5ff985204aff4bccffadd build by root@img-server01, 2013-08-30 17:39:29
    0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
    ns:65536 nr:0 dw:0 dr:66208 al:0 bm:4 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:1982364
        [>....................] sync'ed:  3.4% (1982364/2047900)K
        finish: 0:00:30 speed: 65,536 (65,536) K/sec
   
  ・同期完了状態   
 # cat /proc/drbd
    version: 8.4.4 (api:1/proto:86-101)
    GIT-hash: 599f286440bd633d15d5ff985204aff4bccffadd build by root@img-server01, 2013-08-30 17:39:29
    0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:2047900 nr:0 dw:0 dr:2048572 al:0 bm:125 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
    


現状のDRBD状態を確認
  まだDRBDリソースは、プライマリ/セカンダリ状態であることを確認する。
 # cat /proc/drbd
  version: 8.4.4 (api:1/proto:86-101)
  GIT-hash: 599f286440bd633d15d5ff985204aff4bccffadd build by root@img-server01, 2013-08-30 17:39:29
    0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:2313068 nr:0 dw:265168 dr:2319760 al:66 bm:125 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

ノード2をプライマリに昇格させる
 # drbdadm primary r0
 # cat /proc/drbd
   version: 8.4.4 (api:1/proto:86-101)
   GIT-hash: 599f286440bd633d15d5ff985204aff4bccffadd build by root@img-server02, 2013-10-16 13:51:47
    0: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----
     ns:0 nr:2313068 dw:2313068 dr:672 al:0 bm:125 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0


次の手順[DRBD/GFS2動作確認]へ


Pacemaker+DRBD+GFS2構築(デュアルプライマリ構成)の構築概要

 00. Pacemaker+DRBD+GFS2構築 環境/基本情報 
 01.Pacemaker+DRBD+GFS2構築 事前アプリインストール 
 02.Pacemaker+DRBD+GFS2構築 ユーザ作成 
 03.Pacemaker+DRBD+GFS2構築 DRBDのインストール 
 04.Pacemaker+DRBD+GFS2構築 CMAN設定 
 05.Pacemaker+DRBD+GFS2構築 GFS2/CLVMの設定と起動 
 06.Pacemaker+DRBD+GFS2構築 DRBD設定 
 07.Pacemaker+DRBD+GFS2構築 GFS2フォーマットと動作確認 
 08.Pacemaker+DRBD+GFS2構築 Pacemakerのリソース登録 

拍手[0回]



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

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

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