Linux服務篇之一:建構NTP時間伺服器
NTP服務介紹:
NTP伺服器是用于區域網路伺服器時間同步使用的,可以保證區域網路所有的伺服器與時間伺服器的時間保持一緻,某些應用對時間實時性要求高的必須統一時間。
準備2台虛拟機做測試:

一、修改用戶端的時間
1、檢視目前客戶機的系統時間:發現時間不準确,需要程序調整;
2、同步時間的指令是:ntpdate
在網絡上找一下可以同步的時間伺服器,有很多:
http://www.cnblogs.com/JemBai/archive/2012/04/15/2450045.html
3、同步時間,用一下複旦大學的時間伺服器:ntp.fudan.edu.cn
4、需要安裝一下ntp服務,
5、再次同步時間,
6、時間已經同步,但還是無法準确顯示時間,是因為時區不對的原因:
EDT(Eastern Daylight Timing)指美國東部夏令時間,波士頓、紐約市、華盛頓哥倫比亞特區,都在這個時區内,跟中原標準時間有12小時的時差,晚12小時。
CST可以指下面兩種
1. 美國中部标準時間(西六區,-6:00),中國是東八區(+8:00),中原標準時間比美國中部标準時間早14個小時。3:45 PM CST 是中原標準時間淩晨1:45。
7、檢視時區,
8、修改成上海所在時區:
修改/etc/localtime這個檔案,這個檔案定義了我麼所在的local time zone
我們可以在/usr/share/zoneinfo下找到我們的time zone檔案然後拷貝去到/etc/localtimezone想把time zone換成上海所在的時區就可以這麼做:
cp/usr/share/zoneinfo/Asia/Shanghai /etc/localtime
9、再次檢視本地時間,
10、現在才是與我的電腦同步了時間!
二、區域網路内部署NTP伺服器
1、在伺服器端安裝ntp軟體,
注:伺服器端不可以使用指令:ntpdate,這是用戶端使用的!
2、yum/rpm安裝下的軟體包的存放位置都在這:/etc/init.d/。。。
源碼自定義安裝的軟體包存放的位置都在這:/usr/local/。。。
3、啟動NTP服務,
4、熟悉一下這個指令:ps –ef:檢視所有程序,
5、利用該指令,檢視一下ntp服務是否已啟動了,啟動成功!
6、kill ntp的程序,
7、再次檢視ntp服務是否已經啟動了,已經關閉!
8、永久關閉防火牆服務
/etc/init.d/iptablesstop
chkconfigiptables stop
檢視防火牆狀态:已經關閉!
9、熟悉一下指令:chkconfig:檢查每個級别下各種服務的狀态
發現ntp這個服務在0-6中,都是關閉的!
10、需要在開機就啟動這個服務,如何處理?
方法1:把這條指令加入到開機配置檔案中:/etc/rc.local
方法2:使用chkconfig,
三、用戶端與服務端同步時間
1、同步時間,報錯了,需要排錯了。
2、ping以下伺服器端,暢通;
3、檢查防火牆和selinux,都已關閉;
4、檢測與哪些伺服器通訊:ntp伺服器都會自動與外網的伺服器同步,
5、看一下ntp伺服器的配置檔案,
6、ntp伺服器:是通過所安裝的ntp軟體,指定server,會定時與外網遠端伺服器進行同步!
共有3台遠端伺服器,
7、設定允許與伺服器同步的網段,
8、重新開機一下ntp服務,
9、檢視時間伺服器同步的狀态,
10、再次同步,依然出錯,
11、添加本地服務到配置檔案中,
12、重新開機ntp服務,
13、檢視:本地伺服器在同步清單中了,
14、用戶端與ntp伺服器完成時間同步了!
15、檢視到伺服器一直都在更新!
四、目前伺服器端的時間還不是最新的,如何讓本地的ntp伺服器與外網伺服器保持同步?
1、目前伺服器的時間,
2、與本地時間有差異,
3、止一下伺服器的ntp服務,
4、與外網伺服器同步一次時間!同步時間成功之後,就把伺服器的ntp伺服器啟動!
4、如果ntp伺服器無法上網,ntp伺服器就隻能使用本地時間了!
改一下配置檔案:删除ntp的伺服器清單,隻留下本地伺服器的時間;
5、重新開機一次NTP服務,
6、再與伺服器同步一下時間:需要同步的時間越來越少接近了
7、測試本地時間伺服器的效率:現在修改一下用戶端的時間,
8、再與伺服器同步一下時間,
9、對比伺服器時間!幾乎一緻了!同步成功!
五、最好讓所有的用戶端每天都跟伺服器同步,做一個計劃任務
1、crontab的格式:
2、建立一個任務計劃,
3、為了達到測試效果,設定為每分鐘進行同步時間!
4、重新開機crontab服務,
5、檢視一下這個任務計劃,
6、與這個指令的效果是一樣的:vi /var/spool/cron/root
7、再次檢視計劃任務:已經按計劃時間同步了!
8、檢視一下内容:目前沒有顯示任何内容,
9、增加一行内容:
六、檢查時間伺服器是否正确同步
1、使用下面的指令檢查時間伺服器同步的狀态:ntpq -p
同步有問題的證據是:所有遠端伺服器的jitter值是4000并且delay和reach的值是0!
可能的原因有:
1、 防火牆阻斷了與server之間的通訊,即123端口是否正常開放;
2、 每次重新開機NTP伺服器之後大約要3-5分鐘用戶端才能與server建立正常的通訊連接配接,否則你在用戶端執行“ntpdate伺服器ip”的時候将傳回: