Back to page

− Links

 Print 

Diff of Gentoo Linuxな生活​/組み合わせる :: Nest Of Hawk

Diff of xpwiki:Gentoo Linuxな生活/組み合わせる

  
Cur: 2009-08-19 (Wed) 00:54:45 maruo[3] source[4]
Line 1: Line 1:
 +[[Gentoo Linuxな生活/システム管理関連]]
 +*HeartBeatとDRBDの組み合わせ [#d2de42b4]
 +では、これでプラットフォームが出来上がりましたので、DRBDのプラットフォームに乗せてみましょう。おいちゃんが行うのはこれです。
 +MySQL,apache2,sambaでやってみようと思います。あとはいろいろと各自の応用でどうぞ。
 +
 +*計画 [#a194f29d]
 +Webのページデータと、MySQLのデータベースをDRBDに乗せて、2つのサーバで切り替えを達成しましょう。
 +
 +*実践 [#z1983eb2]
 +**サービスを止める [#i9c801ac]
 + # rc-update del mysql default
 + # rc-update del apache2 default
 + # rc-update del samba default
 +SRV1,SRV2双方で実施します。
 +
 +**データをコピーしておく [#sf3f5c82]
 +DRBDをSRV1でprimaryにしましょう。んで、/mnt/drbdにマウントします
 + # drbdadm primary drbd0
 + # mount /dev/drbd0 /mnt/drbd
 +デフォルトだと、MySQLデータベースは/var/lib/mysqlにあります。これを/mnt/drbdにコピー。/var/lib/mysqlをこのコピーした先のディレクトリにしてみます。
 + # rsync -a /var/lib/mysql /mnt/drbd
 + # ln -s /mnt/drbd/mysql /var/lib/mysql
 +apacheのコンテンツも、デフォルトは/var/www/localhost/htdocsなので、これまたコピーしてやります。
 + # rsync -a /var/www/localhost /mnt/drbd
 +
 +**設定をあわせる [#jfa6f385]
 +apacheは、/etc/apache2/vhosts.d/00_default_vhost.confのDocumentRoot,Directoryディレクティブのパスを変更しておきましょう。
 +
 +**haresourcesを設定。 [#vf86298e]
 +こんな感じ。SRV1をマスタサーバにして、192.168.1.10を共有アドレスとした設定にしましょう。
 + SRV1 192.168.1.10/24 drbddisk::drbd0 \
 + apache2:: \
 + mysql:: \
 + samba:: \
 +**resource.dにシェルを設定する。 [#o5325f15]
 +apache2,mysql,sambaは、/etc/init.dの下にある奴で、リンクを張っておいてやりましょうか。
 + # ln -s /etc/init.d/apache2
 + # ln -s /etc/init.d/mysql
 + # ln -s /etc/init.d/samba
 +DRBDのおまけでついてきたresource.dの下にあるdrbddiskというシェル。DRBDをプライマリ、セカンダリに変更するだけなので、ちょこっと小細工します。
 +
 +   start)
 +       # try several times, in case heartbeat deadtime
 +       # was smaller than drbd ping time
 +       try=6
 +       while true; do
 +               $DRBDADM primary $RES && break
 +               let "--try" || exit 20
 +               sleep 1
 +       done
 +       mount /dev/$RES      ←追加してやるっす
 +       ;;
 +   stop)
 +       # exec, so the exit code of drbdadm propagates
 +       umount /dev/$RES   ←追加してやるっす
 +       exec $DRBDADM secondary $RES
 +       ;;
 +
 +さらに、mount,umountのとき、デバイス指定でマウントが出来るようにfstabに書いておきます。
 + /dev/drbd0              /mnt/drbd      reiserfs        noauto,noatime,notail  0 0
 +
 +完全に機能のコピーのため、SRV1,SRV2とも同じ設定をしておきます。するてーと、SRV1,SRV2が完全な機能コピーの2重化サーバになります。
 +*起動 [#ob01b4d1]
 + # /etc/init.d/heartbeat start
 +をSRV1,SRV2で起動します。起動したあと、SRV1にアドレス192.168.1.10がつき、apache,samba,mysqlの起動が確認できましたか?SRV2では起動しないことが確認できましたか??Webアクセスは出来ますか?sambaアクセスできますか?
 +
 +SRV1のheartbeatを落としてみましょう。SRV2にドレス192.168.1.10がつき、apache,samba,mysqlの起動が確認できましたか?Webアクセスは変わらずできますか?sambaも変わらずアクセスできますか?
 +
 +うまく行ったら完了です~
 +
 +*応用は? [#a1714e41]
 +完全な機能コピーだけではなく、補完サーバとするために、一部だけ起動するとか、切り替わったらクライアント機能を停止させるとか。うちだと、バックアップマシンのautofsを停止するとか設定を行ってます。いろいろ応用範囲はありますね~
  

  • Backup diff of Gentoo Linuxな生活/組み合わせる(No. All)
    • Cur: 2009-08-19 (Wed) 00:54:45 maruo[3]