開発用のサーバって、できるならOSをクリーンインストールした方が好ましいですよね。
ちなみに、どう好ましいかというと、サーバ構築手順が書きやすいということと、意図しないライブラリに依存しないように作業が進められる(つまり必要かつ不足しているものがあれば「入っていない」ことにより動かず、自分で入れることになるので意図することができる)、があります。
とはいえ、マシンが余っているわけでもありません。
そこで、比較的処理負荷の軽い、デュアルコア(Athlon BE2350, 4MB, FC8)のマシンに VMwareを入れてバーチャルマシンを2台分用意しました。入れたOSはCentOS5と、FreeBSD6.2です。(インストールした後すぐにFreeBSD6.3がリリースされましたが、ChangeLogを見る限りではこのままでいいかと思いました。)
両方ともWeb+DBサーバの状態にして、実際に動かしてみましたが、結構さくさく動いてパフォーマンスとしても良好です。
ただ、時間がどうにもずれます。もう全然だめなくらい。そんなとき。
とりあえず時間を設定するコマンド から。
@時刻が正しいマシンにて
# LANG=C date Tue Jan 15 18:01:28 JST 2008
@時刻がおかしいマシンにて(正しいマシンの出力をコピペ)
CentOSの場合
date -s 'Tue Jan 15 17:58:25 JST 2008'
FreeBSDの場合
date -f '%a %b %e %H:%M:%S %Z %Y' 'Tue Jan 15 18:18:38 JST 2008'
これでとりあえず時刻が合います。
ネットワークを利用して更新するなら、ntpdateコマンドが便利です。
/usr/sbin/ntpdate <NTPサーバのFQDNかIP>
さて、時刻が合いました。あとは、ずれないようにすればOKです。
そこで、ntpd を起動してみました。VMwareでなければこれでずれないようになります。
でも、今回はこれではだめでした。ずれまくります。
ntpdのパラメータをチューニングすればいいのかもしれませんが、ちょっとノウハウを漁る時間が取れなかったので、ntpdateをcronで回すことにします。
これでチューニングパラメータはcronの時間だけになります。
まず1日1回にしてみる。結果、ずれまくった。
3時間に1回にしてみる。結果、ずれまくった。
1時間に1回にしてみる。結果、ずれまくった。
15分に一回にしてみる。結果、平気で10分くらいずれる。
なんじゃこりゃ。
最終的に、5分に1回でまぁまぁ納得できる精度となりました。 つまり、crontabはこうなります。
*/5 * * * * /usr/sbin/ntpdate <NTPサーバのFQDNかIP>
ここで注意点は、頻繁にアクセスしてしまうことです。
そのため、今回NTPサーバはLAN内に立ち上げた自前のNTPサーバにしています。VMwareのホストOSに立ち上げてしまうのも良いと思います。
といっても、例えばFC8なら、 yum install ntp して、/etc/init.d/ntpd で立ち上がります。
また、debian4なら、 aptitude install ntp して、/etc/init.d/ntpd で立ち上がります。
もし時刻のずれに困ったらお試しくださいませ。