特にきっかけとかないのだけど、virtualbox上のゲストマシンの時刻をホストマシンと同期させようと思い立った。
virtualboxの場合、ゲストマシン起動時にホストマシンと時刻の同期をするそうなのだが、「保存状態」から復帰させた場合はその限りではない模様。恐らく保存時の時刻のままになっている。これはよくない。
とりあえずホストマシンにはopenntpdを入れてサーバにし、ゲストマシンにはntpを入れてみることにする。
ubuntu14.4(ホストマシン)の場合
$ sudo apt-get install openntpd
/etc/openntpd/ntpd.conf を編集する。
(略) listen on * (略) #servers 0.debian.pool.ntp.org #servers 1.debian.pool.ntp.org #servers 2.debian.pool.ntp.org #servers 3.debian.pool.ntp.org servers ntp.nict.jp
$ sudo /etc/init.d/openntpd restart
debian8.2(ゲストマシン)の場合
$ sudo apt-get install ntp
すでにインストールされていた。いつの間に?
/etc/ntp.conf を編集する。
#server 0.debian.pool.ntp.org iburst #server 1.debian.pool.ntp.org iburst #server 2.debian.pool.ntp.org iburst #server 3.debian.pool.ntp.org iburst server 192.168.0.14
debianのURLをコメントアウトしてホストマシンのアドレスを書き加える。
$ sudo /etc/init.d/ntp restart
しばらくしてから以下のコマンドを打つ
$ ntpq -p
結果はこう
remote refid st t when poll reach delay offset jitter ============================================================================== 192.168.0.14 .INIT. 16 u - 64 0 0.000 0.000 0.000
なんか芳しくないので、dateコマンドを打ってみたら24時間以上ズレてた。そういえば忘れてたけど大幅にズレていたら同期しない仕様だったかも知れない。
ntpサーバと強制的に同期させるためのコマンドにntpdate というのがあるのだけど、インストールされてなかった。
$ sudo apt-get install ntpdate
早速使ってみる
$ sudo ntpdate 192.168.0.14 18 Oct 14:05:27 ntpdate[31369]: the NTP socket is in use, exiting
あれ? ntp を停止しなきゃ使えないんだったかな?とりあえず停止させて再チャレンジ。
$ sudo /etc/init.d/ntp stop [ ok ] Stopping ntp (via systemctl): ntp.service. $ sudo ntpdate 192.168.0.14 19 Oct 18:42:40 ntpdate[31535]: adjust time server 192.168.0.14 offset -0.000098 sec $ date 2015年 10月 19日 月曜日 18:42:58 JST
同期した!今度はntpを起動してみるか。
$ sudo /etc/init.d/ntp start (数分後) $ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *192.168.0.14 221.120.59.95 2 u 5 64 377 1.821 7.300 1.398
サーバIPの左にアスタリスクが付いたのでntpからも同期したってコトでいいはず。
つーか、よく考えてみたら、大幅に時刻がズレていた場合には同期しないって問題だな。ゲストマシンを保存状態から復帰させるたびにntpを停止させて手動でntpdateを打たなきゃいけないはず。だったら始めからntpは使わない方がスッキリするような???
ntpを使うのをやめて仮想マシンを保存状態から起動させるたびにntpdateを打つことにした
$ sudo ntpdate ntp.nict.jp