2015年7月1日 9:00(JST)に実施されるうるう秒ですが、いよいよ一週間後に迫りました。
8:59:59 -> 8:59:60 -> 9:00:00と時が刻むことになるとか。
これがLinuxカーネルには致命傷になる場合があるとかで、いろいろ対策が出ています。
こちらによく纏められています。
7/1の閏秒を迎えるにあたってLinuxでは何をすべきか?
http://hiroki.jp/leap-second-2015
今更ですがRedHat Enterprise Linuxではどうなのか調べてみました。
以下、閲覧にはRHNアカウントが必要な場合がありますのでご了承下さい。
Resolve Leap Second Issues in Red Hat Enterprise Linux
https://access.redhat.com/articles/15145
(日本語)
Red Hat Enterprise Linux でうるう秒問題を解決する
https://access.redhat.com/ja/articles/106233
既知の問題としてRHEL 4からRHEL 7について記述があります。
RHEL 4では
・うるう秒挿入のメッセージを表示してシステムハングアップする可能性
・ntpdで同期していないならうるう秒対策済みのtzdata-2015a-1.el4以降のバージョンをインストールする必要
などのようです。
RHEL 5、RHEL 6も同様にシステムハングアップする可能性があるようです。
で、さらに調べるとRedHatでは診断ツールが提供されていました。
Leap Second Vulnerability Detector
https://access.redhat.com/labs/leapsecond/
ここにleap_vulnerability.sh (script version 9.2) があります。
このスクリプトを見てみると
・tzdataのアップデートの必要性
・カーネルアップデートの必要性
・ntpのアップデートの必要性
・ntpd -x起動の必要性
がチェックされているようです。
問題無いと思われる場合は”Not vulnerable”と表示されます。
/etc/redhat-releaseなどをチェックしていないので試しにCentOS 6でテストしてみました。
・CentOS release 6.5 (Final)
・Kernel 2.6.32-504.16.2.el6.x86_64
- ntpd
- leap_vulnerability.shの実行権限
- テスト実行
- tzdataアップデート
- 再度診断ツール実行
テスト環境でntpdは動作しています。
1 2 |
[root@host01 ~]# ps ax | grep ntp 2180 ? Ss 0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g |
leap_vulnerability.shをテストサーバにコピーして実行権限を付加します。
1 2 3 |
[root@host01 ~]# ls -l leap_vulnerability.sh -rw-r--r--. 1 root root 8375 6月 23 16:44 2015 leap_vulnerability.sh [root@host01 ~]# chmod u+x leap_vulnerability.sh |
tzdataのアップデートが必要とのこと。
1 2 3 4 5 6 7 |
[root@host01 ~]# ./leap_vulnerability.sh Installed kernel version: 2.6.32-504.16.2.el6.x86_64 Installed tzdata version: tzdata-2013g-1.el6.noarch Installed ntp version: ntp-4.2.6p5-1.el6.centos.x86_64 \n[SUGGESTIONS] The installed tzdata package may need to be updated before the Leap Second Insertion of June 30, 2015. Please refer to <https://access.redhat.com/articles/15145> for remediation steps. |
tzdata-2015e-1.el6.noarchにアップデートしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
[root@host01 ~]# yum update tzdata Loaded plugins: fastestmirror, security Determining fastest mirrors * base: ftp.riken.jp * extras: ftp.riken.jp * updates: ftp.riken.jp base | 3.7 kB 00:00 extras | 3.4 kB 00:00 extras/primary_db | 31 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 3.8 MB 00:02 Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package tzdata.noarch 0:2013g-1.el6 will be updated ---> Package tzdata.noarch 0:2015e-1.el6 will be an update --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: tzdata noarch 2015e-1.el6 updates 442 k Transaction Summary ================================================================================ Upgrade 1 Package(s) Total download size: 442 k Is this ok [y/N]: y Downloading Packages: tzdata-2015e-1.el6.noarch.rpm | 442 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : tzdata-2015e-1.el6.noarch 1/2 Cleanup : tzdata-2013g-1.el6.noarch 2/2 Verifying : tzdata-2015e-1.el6.noarch 1/2 Verifying : tzdata-2013g-1.el6.noarch 2/2 Updated: tzdata.noarch 0:2015e-1.el6 Complete! |
大丈夫そうです。このテスト環境ではntpd -xは必要なさそうです。
1 2 3 4 5 |
[root@host01 ~]# ./leap_vulnerability.sh Installed kernel version: 2.6.32-504.16.2.el6.x86_64 Installed tzdata version: tzdata-2015e-1.el6.noarch Installed ntp version: ntp-4.2.6p5-1.el6.centos.x86_64 Not vulnerable |
しかしカーネルのアップデートが必要になるとシステム全体に影響してくるから、かなり難しくなりそうです。
ウィルス対策のServerProtect for Linuxなどはリアルタイムスキャンの為にカーネルフックモジュール(KHM)を設定するので、いきなりカーネルをアップデートしたらクラッシュする可能性があります。
実はカーネルに不適合はKHMを設定してクラッシュさせた経験あり(^^;;
こうなると現地に飛んで強制再起動になったりします。
しかし前回の2012年7月1日ってどうしたかなぁ….