そのまえに、IPnuts4.1b(ベータ版での機能をおさらい:というか今頃初公開かな)
自動起動スクリプトでディスク切り替え時にサービスの起動も制御する
自動起動の抑制
keepalivedのフックでサービスを制御するので、起動時に勝手に立ち上がらないようにする。
/etc/no_boot_rc
exim4
mysql
dhisd
nfs-kernel-server
bind9
apache2
これは、rc.lrpの設定ファイルになっていて/etc/init.d/rcSがこのファイルを参照する用になっている。
WebadminでLVSの設定(内部的にはkeepalivedの設定)を見ると
マスター時 実行コマンド | /etc/keepalived/ha_start |
---|---|
バックアップ時 実行コマンド | /etc/keepalived/ha_stop |
フォルト時 実行コマンド | /etc/keepalived/ha_stop |
になっている。ha_start ha_stopは自作のshなのでパッケージには含まれてはいない。
ha_startの最後の方に
APPS="`cat /etc/keepalived/apps.list`"となっていて apps.listのサービスを起動している。
for app in $APPS
do
if [ $? -eq 0 ] ;then
/etc/init.d/$app start
else
$LOGGER "fail to start $app"
fi
done
/etc/keepalived/appslistの中身はこれ
exim44.3ではIPnutsだけで動作するのは nfs-kernel-server、bind9のふたつ。ほかはサポートする予定は無くて動作させる場合は仮想マシン(vserver)で動作させる。
mysql
dhisd
nfs-kernel-server
bind9
apache2
よってexim,mysql,dhisd,apache2は起動パッケージのリスト(/system/lrp.lst)、no_boot_rc ,apps.listから消す。
(/etc/no_boot_rcはapps.listへのリンクになってる場合もある)
起動パッケージのリスト(/system/lrp.lst)からは他に起動時に読み込めなかった/var/lib/lrpkg/packages_fialedに記録されているパッケージも消す。
not found: - hotplugminihttp,licenseは除外
not found: - dhcpcd
not found: - hotplug
not found: - less
not found: - xdelta
not found: - cipe
not found: - minihttp
not found: - license
not found: - passwd
設定保存して、再起動、動作確認
動かない。
keepalivedが起動すると、ha_startが動き、マウントするのだがディスクが古いことになっているからプライマリディスクにできないといって怒られる。
Jun 11 07:53:48 db1 kernel: drbd0: State change failed: Refusing to be Primary without at least one UpToDate diskそこで、無理やりprimaryにするおまじない
Jun 11 07:53:48 db1 kernel: drbd0: state = { cs:WFConnection ro:Secondary/Unknown ds:Outdated/DUnknown r--- }
Jun 11 07:53:48 db1 kernel: drbd0: wanted = { cs:WFConnection ro:Primary/Unknown ds:Outdated/DUnknown r--- }
drbdadm -- --overwrite-data-of-peer primary all
これでOK
ha_start、ha_stop、に使っていたスクリプトも互換性の問題があり
drbdadm state all
を
drbdadm role all
に変更
### MEMO:また、別件だが ###
neither /etc/bind/rndc.conf nor /etc/bind/rndc.key was found
の時は rndc.confを作る
# rndc-confgen -a -r /var/cropkg/python2_5.squ
wrote key file "/etc/bind/rndc.key"
ランダムファイル渡さないと固まる
#############################
/etc/init.d/keepalivedをstart stopしてnfsサーバとbind9がきちんと動作することを確認
次はスレーブ側を立ち上げて同期させる
ーーーつづく
0 件のコメント:
コメントを投稿