先日「Virtual PC 2007で動作しているFedora7の時間がおかしくなるのを自動的に直す」で「WindowsTimeサービスなるものがあるらしい」と言いましたが、
いろいろ調べてチャレンジした結果WindowsをNTPサーバとしてLinux(Fedora7)と時刻を同期させる事ができました。
以下手順です。
--------------------------------------------------------------------------------
この手順はレジストリを直接いじるため、操作については自己責任で行ってください。
操作の結果、起こった損害・トラブルについて私は一切責任を負いません。
---------------------------------------------------------------------------------
■手順1 : WindowsでNTPサーバを動作させる (XP, Vista共に同じ手順)
・windowsキー + Rでファイル名を指定して実行ダイアログを出す。
・regeditと入力してOK
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
の値を5に変更(変更前は16進数でa)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled
の値を1に変更(WinXPはデフォルトで1でした。)
・Windows Timeサービスを再起動
コントロールパネル→管理ツール→Windows Timeを選択してサービスの再起動を実行。
■手順2 : Fedora7からntpdateで接続
#ntpdate 192.168.11.4
2 Jun 23:59:11 ntpdate[2607]: step time server 192.168.11.4 offset 2.225084 sec
※192.168.11.4はWindowsマシンのIPアドレスです。適時読み替えて下さい。
■手順3: Fedora7のcronにntpdateを登録
#crontab -e
*/1 * * * * /usr/sbin/ntpdate 192.168.11.4
※1分毎にntpdateを実行。間隔はご自由にどうぞ。
うまくいかない場合は下記を参考に調べてみて下さい。
・Fedora7のiptables (ntpdateはUDP123ポートを利用しているようです)
・Windowsのファイアウォール設定
・ウイルスバスターなどのファイアウォール設定
2008年6月3日火曜日
2008年5月26日月曜日
Virtual PC 2007で動作しているFedora7の時間がおかしくなるのを自動的に直す
私は現在開発でVirtual PCにFedora7をインストールして、apache, php, MySQLを動作させています。
Virtual PCを利用しているとよく「状態の保存」を利用するのですが、その場合、復帰させると時刻が進まないままになってしまっています。
時間に関係するような処理をしていると、実際の時間とずれているので困ることがあります。
自動的に時間を修正させることでその問題に対処します。
ntpdateコマンドを定期的に実行することで実現させます。
ntpサーバはNICTのntpサーバを利用します。
※自身が利用しているプロパイダでntpサーバを利用できないかをまず調べて、 利用できるならそちらを利用する方が良いと思います。
OCNとASAHIネットはntpサーバがあるようです。
# crontab -e
@reboot /usr/sbin/ntpdate ntp.nict.jp
0 * * * * /usr/sbin/ntpdate ntp.nict.jp
上記により起動時と毎時0分にntpサーバとの時刻同期が実行されます。
しかしながら、一度時刻同期をしてしまうと「状態保存」「シャットダウン」をしない限りはさほどずれは問題にならないので、毎時間実行するのは無駄のような気がします。
1日10時間起動してても単純計算で10回程度ですが、多くの人が一つのntpサーバに問い合わせるとサーバへの負荷とトラフィックの増加を招きます。
できる限りそういう事態は避けたいところ。
調べてみるとWindowsTimeサービスなるものがあるらしいのでそれにチャレンジしてみる予定。
Virtual PCを利用しているとよく「状態の保存」を利用するのですが、その場合、復帰させると時刻が進まないままになってしまっています。
時間に関係するような処理をしていると、実際の時間とずれているので困ることがあります。
自動的に時間を修正させることでその問題に対処します。
ntpdateコマンドを定期的に実行することで実現させます。
ntpサーバはNICTのntpサーバを利用します。
※自身が利用しているプロパイダでntpサーバを利用できないかをまず調べて、 利用できるならそちらを利用する方が良いと思います。
OCNとASAHIネットはntpサーバがあるようです。
# crontab -e
@reboot /usr/sbin/ntpdate ntp.nict.jp
0 * * * * /usr/sbin/ntpdate ntp.nict.jp
上記により起動時と毎時0分にntpサーバとの時刻同期が実行されます。
しかしながら、一度時刻同期をしてしまうと「状態保存」「シャットダウン」をしない限りはさほどずれは問題にならないので、毎時間実行するのは無駄のような気がします。
1日10時間起動してても単純計算で10回程度ですが、多くの人が一つのntpサーバに問い合わせるとサーバへの負荷とトラフィックの増加を招きます。
できる限りそういう事態は避けたいところ。
調べてみるとWindowsTimeサービスなるものがあるらしいのでそれにチャレンジしてみる予定。
登録:
投稿 (Atom)
