http://www.pubyun.com/blog/?p=66
openstack各個節(jié)點時鐘同步,是安裝的時候,重要步驟。我們所有服務(wù)器,在自動安裝的時候,在腳本里都設(shè)置了自動同步,因為日志、計費等等,都會與時間有關(guān)。
一些概念:
1、硬件時鐘(也叫BIOS時鐘、CMOS時鐘)
和CPU和系統(tǒng)無關(guān)的,單獨由一個電池和晶振運行的時鐘,即使關(guān)機也會走。
硬件時鐘只有當(dāng)系統(tǒng)啟動的時候才會讀取。
2、系統(tǒng)時間
Linux內(nèi)核啟動以后的時間,保持一個時間中斷,用1970年1月1日00:00:00開始的秒數(shù)計數(shù)。這是我們平時看到時間。
3、時區(qū)
在某個時刻,世界各地的人,看到的時間都不同的。比如你同樣適用gmail,大陸的人看到是 20:00,北美的人,可能是07:00.時刻還是一樣的,但是由于時區(qū)不同,看到的時間顯示就不同。
同樣,我們機器里,可以系統(tǒng)時間一樣的,但是不同的用戶,可以設(shè)置不同的時區(qū),看到的時間也不同。當(dāng)然,系統(tǒng)本身有一個缺省時區(qū)。
在Redhat或者CentOS下,是使用 /etc/sysconfig/clock里的 ZONE="Asia/Shanghai" 選項配置的
4、UTC/GMT還是本地時間
系統(tǒng)啟動的時候,使用/sbin/hwclock
從硬件時鐘讀取時間,關(guān)機的時候,會回寫硬件時鐘。
這里就有一個問題,讀取和回寫的時候,采用什么標(biāo)準(zhǔn),是UTC還是本地時間?
一般情況下,都使用UTC/GMT,這樣可以自動處理夏令時間(中國地方太大,已經(jīng)作廢)。
使用UTC的唯一壞處,是當(dāng)你的計算機是多系統(tǒng)時,如果啟動Windows,會導(dǎo)致時間不對。
5、時間同步
一般使用 ntp 協(xié)議進(jìn)行同步,可以保持毫秒級的時差。
配置:
1、設(shè)置時區(qū)和是否UTC
1.1 Redhat或者CentOS下,一個配置文件
/etc/sysconfig/clock
ZONE=”Asia/Shanghai”
UTC=true
ARC=false
1.2 debian/ubuntu,有兩個配置文件:
/etc/timezone
Asia/Shanghai
/etc/default/rcS
# assume that the BIOS clock is set to UTC time (recommended)
UTC=yes
1.3 設(shè)置用戶個人的時區(qū)
可以使用環(huán)境變量 TZ, 比如,設(shè)置中國的東八區(qū):
export TZ=PRC
變量的值,參見:
/usr/share/zoneinfo 目錄
2、設(shè)置時鐘同步
2.1 Redhat或者CentOS下
yum -y
install
ntpdate ntp
chkconfig ntpdate on
2.2 debian/ubuntu
apt-get
install
-y ntpdate ntp
2.3 注意,如果系統(tǒng)時鐘和標(biāo)準(zhǔn)原子時鐘相差很大,ntp不會同步,第一次的時候,需要使用 ntpdate 進(jìn)行手工同步一下:
ntpdate time.nist.gov
2.4 兩個重要的ntp服務(wù)器
中國國家授時中心:
210.72.145.44
美國 nist 授時中心:
time.nist.gov
參考:
man clock