Xen 環境のゲストマシン、今回は CentOS 5 にて ntpd を動かしたが、時刻が正しく補正されない。
ntpq -p で確認すると、参照先 NTP サーバ(今回は ntp.nict.jp)との同期に成功しているように見えるが、いつまで経っても時刻はずれたままだ。
ntpd を停止して、ntpdate で試してみると、こんな感じで出てくる。
ntpdate[21164]: step time server 133.243.238.163 offset -350.765396 sec
特に問題はなさそうなんだが、これが何度実行しても offset 値が変わらないのが問題。
検索して調べたところ、 Xen 環境では Domain-0 の時刻に引っぱられる(適切な言い方ではない)形で、Domain-U のクロックは再補正されてしまうようだ。
これを防ぐためには、ゲスト側のクロックを Domain-0 から独立させるみたい。
手順は以下。
/etc/sysctl.conf に下記エントリを追加。
xen.independent_wallclock = 1
こんだけ (-"-;)
これだと再起動しないと反映されない。
すぐ反映させたければ、以下のコマンドを特権で実行。
echo '1' > /proc/sys/xen/independent_wallclock
ただ、上記のカーネルパラメータを設定できるものに限るそうで、Amazon EC2 だとこの方式が使えるけど、他はディストリビューションによって違うみたい。
設定実施後、ntpdate をやってみたら、即同期された。よかった。
ntpq -p で確認すると、参照先 NTP サーバ(今回は ntp.nict.jp)との同期に成功しているように見えるが、いつまで経っても時刻はずれたままだ。
ntpd を停止して、ntpdate で試してみると、こんな感じで出てくる。
ntpdate[21164]: step time server 133.243.238.163 offset -350.765396 sec
特に問題はなさそうなんだが、これが何度実行しても offset 値が変わらないのが問題。
検索して調べたところ、 Xen 環境では Domain-0 の時刻に引っぱられる(適切な言い方ではない)形で、Domain-U のクロックは再補正されてしまうようだ。
これを防ぐためには、ゲスト側のクロックを Domain-0 から独立させるみたい。
手順は以下。
/etc/sysctl.conf に下記エントリを追加。
xen.independent_wallclock = 1
こんだけ (-"-;)
これだと再起動しないと反映されない。
すぐ反映させたければ、以下のコマンドを特権で実行。
echo '1' > /proc/sys/xen/independent_wallclock
ただ、上記のカーネルパラメータを設定できるものに限るそうで、Amazon EC2 だとこの方式が使えるけど、他はディストリビューションによって違うみたい。
設定実施後、ntpdate をやってみたら、即同期された。よかった。