1 か月前、私の VPS 上の多くのサービスが機能しなくなりました。1 時間ほどいじくった後、時間が停止していることがわかりました。何らかの仮想化バグだったようで、再起動するとすぐに修正されました。
しかし、今日、S3 バックアップを実行しようとしたところ、時間が間違っていたために SSL が失敗しました。時間を確認すると、次のようになりました。
Current default timezone: 'Europe/London'
Local time is now: Sat Jul 11 22:03:02 BST 2009.
Universal Time is now: Sat Jul 11 21:03:02 UTC 2009.
tim@vps:~$ sudo ntpdate ntp.ubuntu.com
11 Jul 22:03:30 ntpdate[3901]: step time server 91.189.94.4 offset -14404.833448 sec
今私はイギリスにいますが、明らかにまだ18:03を過ぎたばかりです。
日付を手動で設定してみました:
sudo date +%T -s "18:03:30"
読み返しても何も変わっていない
何を間違えたのでしょうか?
編集:
実行した内容:
tim@vps:/var/log$ sudo hwclock --utc
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
tim@vps:/var/log$ sudo hwclock --localtime
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
tim@vps:/var/log$ sudo hwclock --show
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
再度編集:
再起動しましたが、状況は同じです。
また:
tim@vps:~$ sudo hwclock --debug --show
hwclock from util-linux-ng 2.13.1
hwclock: Open of /dev/rtc failed, errno=2: No such file or directory.
No usable clock interface found.
Cannot access the Hardware Clock via any known method.
答え1
アップデート:私はXenについて何も知りません。しかし、世の中にはたくさんのページがあるあなたの状況について話し合うもの。
私が見つけたものは次のとおりです:
デフォルトでは、XenVMのクロックはホストであるXenEnterprise Serverと同期されており、ntpデーモンが実行中の場合はそのデーモンによる時刻調整要求を無視します。XenVMに独立したクロックを持たせたい場合は、テキストコンソールにログオンして次のコマンドを発行します。
echo 1 > /proc/sys/xen/independent_wallclock
次に、NTP デーモンを実行します。
デフォルトに戻すには、次のコマンドを発行します。
echo 0 > /proc/sys/xen/independent_wallclock
アップデート前:おそらく仮想化の問題です。どのような仮想化ソフトウェアを使用していますか? ホストの時間設定はどうなっていますか?
答え2
最初に思い浮かぶのは、どのタイムゾーンに設定されているかということです。
2 番目に思い浮かぶのは、ハードウェア クロックの設定に関することです。ハードウェアで UTC を使用していますか、それともローカル タイムを使用していますか? ほとんどのインストールでは、ハードウェアで UTC 時間を使用することを推奨しており、システムはタイム ゾーンによって調整されますが、その逆を行ってシステムとハードウェア クロックの両方をローカル タイムにするオプションもあります。これにより、ときどき混乱が生じることがあります。
Linuxの場合は、ハードウェアクロック(8)プログラムには、システム時間をハードウェアクロックに設定するオプションと、ハードウェアクロックをシステム時間に設定するオプションがあります。日付(1)コマンドもありますが、これを使用する方がよいでしょう。
また、ベンダーが提供するプールではなく、世界規模の NTP プールを使用することも検討します。pool.ntp.org を指定することで、いつでも使用できます。
答え3
Xen VPS について話しているのであれば、一般的にクロックは dom0 特権ドメインによって管理されており、ホスティング プロバイダーがそれを管理すると思います。dom0 の時刻が正確であり、システム時刻を同期させるために NTP デーモンを実行している限り、domU が ntpd 自体を実行する必要はありません。
私は Xen サーバーをいくつか持っていますが、dom0 でのみ ntpd を実行しており、domU 仮想マシンはすべて正しい時刻になっています。実際に Xen VPS を使用している場合は、ホスティング プロバイダーがマシン自体の時刻に問題があると推測します。Xen のドキュメントのほとんどでは、仮想化のためにハードウェア クロックと直接やり取りしようとすると起動時に問題が発生するため、/sbin/hwclock を空のファイルとしてゼロにすることが推奨されています。
答え4
dpkg-reconfigure tzdata を試して、utc に設定されていることを確認してください。また、ntpd がインストールされていて、pool.ntp.org の ntp サーバー セットの 1 つが指定されていることを確認してください。