「waku2とらふぃっくすHAクラスタ化プロジェクト」のひとつです。 本日は、「DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその8[起動・終了]」についてです。
こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。 本日は、「DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその8[起動・終了]」についてです。関連記事:
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその1[基本設定・LVM/ネットワーク]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその2[DRBD/GFSのインストール]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその3[DRBDの設定]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその4[GFS2の設定]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその5[LVM Clusterの設定]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその6[GFS2でフォーマット]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその7[動作テスト]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその8[起動・終了]
貴重な情報をありがとうございます。深く感謝の意を表します。
参考サイト:
- ウノウラボ Unoh Labs: DRBDによるコンテンツの相互バックアップ
- CentOS 5.2でPrimary/Primary構成のDRBD+GFSを組む
- DRBD+GFS2でPrimary/Primary構成 on CentOS での起動スクリプト - なんとなく日記
- DRBD+GFS2 - ネットワークでミラーリング + 共有ディスク
- DRBD (Primary/Primary) + GFS2で1ノード落としても大丈夫に
- 負荷分散システム上でのハードディスクデータの同期をDRBDで実現する
- GFSフォーマットする前に。 (4) RedHat Cluster と Quorum
- 検閲Tech: Xen DomU上でDRBDを使う・その0・概要
- gfsとiscsiを使ったファイル共有をやってみた(構築編)
- ほげほげぐだぐだまったり DRBDでStandAloneにしないために
- drbdのスプリットブレイン訓練 - お仕事日記。
ここでの構成は以下の通り。(xenが前提です。洒落のつもりはないです)
- (Domain-0)mikeneko.waku2traffics.com
- (Domain-U)buchineko.waku2traffics.com
- (Domain-U)sabineko.waku2traffics.com
- (Domain-0)toraneko.waku2traffics.com
- (Domain-U)shironeko.waku2traffics.com
- (Domain-U)kuroneko.waku2traffics.com
- (eth0)192.168.1.20/(eth1)10.0.0.20 mikeneko.waku2traffics.com
- (eth0)192.168.1.21/(eth1)10.0.0.21 buchineko.waku2traffics.com
- (eth0)192.168.1.22/(eth1)10.0.0.22 sabineko.waku2traffics.com
- (eth0)192.168.1.30/(eth1)10.0.0.30 toraneko.waku2traffics.com
- (eth0)192.168.1.31/(eth1)10.0.0.31 shironeko.waku2traffics.com
- (eth0)192.168.1.32/(eth1)10.0.0.32 kuroneko.waku2traffics.com
OS:CentOS5.2 x86_64版
なお、構成についてですが、正直こんな文字だけでは分からないと思います。 申し訳ありませんが図は用意できませんのでご了承願います。構成を自分なりの図にすることをオススメしますが、さっぱりわからないと思いますので、この本を参考に作る事を強くオススメします。
【中古】 Linuxアドバンストネットワークサーバ構築ガイド HAサーバ構築編/デージーネット(著者)
220 円 (税込)
デージーネット(著者)販売会社/発売会社:秀和システム/秀和システム発売年月日:2005/12/05JAN:9784798011899
Xen徹底入門 オープンソースで実現するOS仮想化環境
3,828 円 (税込)
宮本久仁男/著 平初/著 長谷川猛/著 津村彰/著本詳しい納期他、ご注文時はご利用案内・返品のページをご確認ください出版社名翔泳社出版年月2009年09月サイズ529P 23cmISBNコード9784798120027コンピュータ ネットワーク クラウド商品説明Xen徹底入門 オープンソースで..
各アプリケーションのなんとなくの仕様の理解、上記構成をなんとなく図解できる程の把握、Xenでの仮想化完了が前提となります。 以下の記事も合わせてお読みください。
Xen(Domain-0)のインストール
Xen(Domain-U)のインストール
Xenマスターイメージ作成
Xen(Domain-U)の複製(LVMベース)
Xen(Domain-U)で複数のネットワークインターフェイスを使う
起動・終了
自動起動されると困るので、自動起動しないようにする。 chkconfig --list で見た感じ、今の時点ではdrbdのみが自動起動になっていた。sabineko/kuronekoで実行
1 |
# chkconfig drbd off |
ここまでの設定だけでも運用は可能だが、スプリットブレイン対策がまるで施されていないので、起動・終了順序などに気を使う事になり、まともな運用とは成り得ない。 そこで順序をサービススクリプト化してしまう。
スプリット・ブレインシンドローム - Wikipedia
一度シャットダウンして、また再起動する。
DRBD+GFS2でPrimary/Primary構成 on CentOS での起動スクリプト - なんとなく日記
以下スクリプトをサービスに組み込み実行する。(素晴らしいスクリプトに感謝します)
※猫ITソリューションズでの用途に合わせパスは変更してあります。
sabineko/kuronekoで実行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# vi /etc/init.d/cluster #!/bin/bash # # chkconfig: 345 70 8 # description: start up and shutdown drbd cluster. # # Copright 2009 # Shin-ichiro OGAWA, eole(c) # ### BEGIN INIT INFO # Required-Start: $network $syslog sshd # Required-Stop: $network $syslog sshd # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Control drbd cluster. ### END INIT INFO start() { echo -n "Starting Cluster." /etc/init.d/drbd start /etc/init.d/cman start /etc/init.d/clvmd start /sbin/drbdadm primary r0 #/bin/mount /website /bin/mount -t gfs2 /dev/drbd0 /website touch /var/lock/subsys/cluster } stop() { echo -n "Stopping Cluster." /bin/umount /website /sbin/drbdadm secondary r0 /etc/init.d/clvmd stop /etc/init.d/cman stop /etc/init.d/drbd stop rm -f /var/lock/subsys/cluster } case "$1" in start) start ;; stop) stop ;; restart|force-reload) echo -n "Restarting Cluster." stop start ;; *) echo "Usage: /etc/init.d/drbd {start|stop|restart}" exit 1 ;; esac exit 0 |
実行権限を与える
1 |
# chmod +x /etc/init.d/cluster |
サービスに追加
※この時点ではサービスに追加されただけで実行はされない。
1 |
# /sbin/chkconfig --add cluster |
sabinekoで実行
1 2 3 4 5 6 7 8 9 10 11 12 |
# /etc/init.d/cluster stop Stopping Cluster.Stopping clvm:[ OK ] Stopping cluster: Stopping fencing... done Stopping cman... dlm: closing connection to node 2 dlm: closing connection to node 1 done Stopping ccsd... done Unmounting configfs... done [ OK ] Stopping all DRBD resourcesdrbd0: short read expecting header on sock: r=-512 drbd0: tl_clear() |
kuronekoで実行。
1 2 3 4 5 6 7 8 9 10 11 12 |
# /etc/init.d/cluster stop /etc/init.d/cluster: line 1: kconfig:: command not found Stopping Cluster.Stopping clvm:[ OK ] Stopping cluster: Stopping fencing... done Stopping cman... dlm: closing connection to node 2 done Stopping ccsd... done Unmounting configfs... done [ OK ] Stopping all DRBD resourcesdrbd0: Discarding network configuration. drbd0: tl_clear() |
sabineko→kuronekoと実行。
1 |
# shutdown -h now |
セキュリティ関連
この時点ではsabineko/kuronekoは落ちているので、起動。 mikenekoで実行。
1 |
# xm create -c sabineko |
toranekoで実行。
1 |
# xm create -c kuroneko |
sabineko/kuronekoで実行。
この時点ではSELinux/ファイアーウォールともにデフォルト状態で有効。 SELinuxの設定はやたら面倒なので、本稼動まではpermissiveにすることにした。
sabineko/kuronekoで実行。
1 2 |
# vi /etc/sysconfig/selinux SELINUX=permissive |
SELinuxを無効にすると、ラベルが削除されるので、有効後は必ずラベルの再構築を行う必要がある。 以下を実行して、ラベルの再構築を行う。
1 |
# fixfiles relabel |
ファイアーウォールの設定は、本稼動まではeth1(内部)からのアクセスはすべて許可することにした。
1 2 |
# /sbin/iptables -A INPUT -i eth1 -s 10.0.0.0/24 -j ACCEPT # /sbin/iptables -A OUTPUT -o eth1 -d 10.0.0.0/24 -j ACCEPT |
ルールを保存
1 |
# /etc/rc.d/init.d/iptables save |
iptablesを再起動
1 |
# service iptables restart |
再起動前に追加したサービスの自動起動設定を行う。
1 |
# chkconfig --level 345 cluster on |
確認
1 2 |
# chkconfig --list cluster cluster 0:off 1:off 2:off 3:on 4:on 5:on 6:off |
試しに起動。sabinekoで実行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# service cluster start Starting Cluster.Starting DRBD resources: [ d(r0) drbd0: Barriers not supported on meta data device - disabling s(r0) n(r0) ]. ..Starting cluster: Loading modules... DLM (built Apr 1 2009 09:54:52) installed GFS2 (built Apr 1 2009 09:56:12) installed done Mounting configfs... done Starting ccsd... done Starting cman... done Starting daemons... done Starting fencing... done [ OK ] Starting clvmd: dlm: Using TCP for communications dlm: connecting to 2 [ OK ] Activating VGs: 2 logical volume(s) in volume group "VolGroup00" now active [ OK ] |
即座にkuronekoで実行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# service cluster start /etc/init.d/cluster: line 1: kconfig:: command not found Starting Cluster.Starting DRBD resources: [ d(r0) drbd0: Barriers not supported on meta data device - disabling s(r0) n(r0) ]. Starting cluster: Loading modules... DLM (built Apr 1 2009 09:54:52) installed GFS2 (built Apr 1 2009 09:56:12) installed done Mounting configfs... done Starting ccsd... done Starting cman... done Starting daemons... done Starting fencing... done [ OK ] Starting clvmd: dlm: Using TCP for communications dlm: got connection from 1 [ OK ] Activating VGs: 2 logical volume(s) in volume group "VolGroup00" now active [ OK ] |
試しにシャットダウン。 sabinekoで実行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# shutdown -h now cluster を停止中: Stopping Cluster.Stopping clvm:[ OK ] Stopping cluster: Stopping fencing... done Stopping cman... dlm: closing connection to node 2 dlm: closing connection to node 1 done Stopping ccsd... done Unmounting configfs... done [ OK ] Stopping all DRBD resourcesdrbd0: short read expecting header on sock: r=-512 drbd0: tl_clear() . [ OK ] |
即座にkuronekoで実行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# shutdown -h now cluster を停止中: /etc/rc0.d/K24cluster: line 1: kconfig:: command not found Stopping Cluster.dlm: closing connection to node 1 Stopping clvm:[ OK ] Stopping cluster: Stopping fencing... done Stopping cman... dlm: closing connection to node 2 done Stopping ccsd... done Unmounting configfs... done [ OK ] Stopping all DRBD resourcesdrbd0: Discarding network configuration. drbd0: tl_clear() . [ OK ] |
再起動(コマンドは起動)してみる。 mikenekoで実行
1 |
# xm create -c sabineko |
即座にtoranekoで実行
1 |
# xm create -c kuroneko |
↓sabinekoの起動メッセージ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
cluster を起動中: Starting Cluster.Starting DRBD resources: [ d(r0) drbd0: Barriers not supported on meta data device - disabling s(r0) n(r0) ]. .Starting cluster: Loading modules... DLM (built Apr 1 2009 09:54:52) installed GFS2 (built Apr 1 2009 09:56:12) installed done Mounting configfs... done Starting ccsd... done Starting cman... done Starting daemons... done Starting fencing... done [ OK ] Starting clvmd: dlm: Using TCP for communications dlm: got connection from 2 [ OK ] Activating VGs: 2 logical volume(s) in volume group "VolGroup00" now active [ OK ] [ OK ] |
↓kuronekoの起動メッセージ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
cluster を起動中: /etc/rc3.d/S56cluster: line 1: kconfig:: command not found Starting Cluster.Starting DRBD resources: [ d(r0) drbd0: Barriers not supported on meta data device - disabling s(r0) n(r0) ]. Starting cluster: Loading modules... DLM (built Apr 1 2009 09:54:52) installed GFS2 (built Apr 1 2009 09:56:12) installed done Mounting configfs... done Starting ccsd... done Starting cman... done Starting daemons... done Starting fencing... done [ OK ] Starting clvmd: dlm: Using TCP for communications [ OK ] dlm: connecting to 1 Activating VGs: 2 logical volume(s) in volume group "VolGroup00" now active [ OK ] [ OK ] |
以上でDRBD(Primary/Primary) + GFS2によるネットワークミラーリングは終了です。 セキュリティ部分に検討の余地がありますので、実運用の際はその辺りにご注意ください。