GIT – Giao thức NTP (Network Time Protocol – Giao thức đồng bộ thời gian mạng) là một giao thức để đồng bộ đồng hồ của các hệ thống máy tính thông qua mạng dữ liệu chuyển mạch gói với độ trễ biến đổi. Giao thức này được thiết kế để tránh ảnh hưởng của độ trễ biến đổi bằng cách sử dụng bộ đệm jitter.

NTP cũng là tên gọi của phần mềm được triển khai trong dự án Dịch vụ NTP Công cộng (NTP Public Services Project).

– Tổng quan về hoạt động:
+ NTP client gửi một gói tin, trong đó chứa một thẻ thời gian tới cho NTP server.
+ NTP server nhận được gói tin, gửi trả lại NTP client một gói tin khác, có thẻ thời gian là thời điểm nó gửi gói tin đó đi.
+ NTP client nhận được gói tin đó, tính toán độ trễ, dựa và thẻ thời gian mà nó nhận được cùng với độ trễ đường truyền, NTP client sẽ set lại thời gian của nó.

Thật dễ dàng để cài đặt và cấu hình một NTP server làm đồng hồ của hệ thống.

Câu lệnh date được dùng để truy cập và thiết lập đồng hồ hệ thống

[root@ ~]# date
Mon Jun 23 16:47:43 ICT 2008

Chúng ta có thể thiết lập định dạng thời gian cho câu lệnh date với tùy chọn “+”

[root@centos ~]# date '+%D %T'
06/23/08 16:48:19
[root@centos ~]# date '+%H:%M:%S %d/%m/%y'
16:49:16 23/06/08

Ngoài ra, ta cũng có thể hiển thị các ngày khác với ngày hiện thời

[root@centos ~]# date -d 'yesterday'
Sun Jun 22 16:49:41 ICT 2008
[root@centos ~]# date -d '3 months ago'
Sun Mar 23 16:50:02 ICT 2008

date cũng có thể được dùng để hiển thị ngày của một file cụ thể:

[root@centos ~]# date -r /etc/ntp.conf
Sat Nov 10 19:34:05 ICT 2007

hwclock là câu lệnh dùng để kiểm soat đông hồ phần cứng do BIOS quản lý. Khi dùng date để thay đổi giờ thì đồng hồ phần cứng sẽ không bị ảnh hưởng, do đó tại lần khởi động máy kế tiếp, hệ thống sẽ lấy thông tin thời gian từ đồng hồ phần cứng. Để dùng câu lệnh hwclock, ta phải dùng account root.

# hwclock
Fri 27 Jun 2003 14:01:24 SAST -0.462635 seconds

Đồng hồ phần cứng có thể được thiết lập theo thời gian của vùng bạn ở hay theo UTC. Khi hệ thống khởi động, đồng hồ hệ thống sẽ lấy giá trị từ đông hồ phần cứng bằng một trong hai câu lệnh sau:

hwclock --hctosys --utc        # BIOS clock is UTC
hwclock --hctosys --localtime  # BIOS clock is local time

Thiết lập giờ hiện tại và giờ hệ thống (BIOS)

hwclock –-hctosys // set đồng hồ hệ thống (BIOS) cho đồng hồ hiện tại
hwclock --systohc // ngược với hctosys

Tùy theo phiên bản , ta cần thay đổi một trong những file sau để thiết lập thời gian, tìm ra timezone của hệ thống.

/etc/sysconfig/clock   # Redhat, newer SuSE – HWCLOCK value
/etc/rc.config         # SuSE – GMT value
/etc/defaults/rcS      #  – UTC value

/etc/localtime là một symbolic link hoặc là một bản sao của /usr/share/zoneinfo. Điều này được thiết lập lúc cài đặt hệ thống.

Câu lệnh zic dùng để thiết lập nội dung file /etc/localtime. Ví dụ

% zic -l “Africa/Johannesburg”

Network Time Protocol (NTP)

The Network Time Protocol (NTP) is a protocol used to help synchronize your Linux system’s clock with an accurate time source. There are that allow the general public to synchronize with them.

* Stratum 1: NTP sites using an atomic clock for timing.
* Stratum 2: NTP sites with slightly less accurate time sources.

NTP cho phép đồng bộ đồng hồ của hệ thống với UTC (Universal Coordinate Time) thông qua một máy chủ thời gian. Cách dùng NTP đơn giản nhất là truy vấn thời gian của máy chủ bằng câu lệnh ntpdate. Câu lệnh này sẽ lấy thời gian từ máy chủ và cập nhật đồng hồ hệ thống.

Kiểm tra, cài đặt NTP:

Kiểm tra xem ntp có chạy không:

$ ps -ef | grep ntp
root 3275 3112 0 16:07 pts/2 00:00:00 vi /etc/ntp.conf
ntp 3557 1 0 17:27 ? 00:00:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root 3563 3402 0 17:27 pts/3 00:00:00 grep ntp

Kiểm tra xem trên Server đã cài ntp chưa:

[root@centos ~]# rpm -qa | grep ntp
chkfontpath-1.10.1-1.1
ntp-4.2.2p1-7.el5

Nếu chưa có thì cài bằng lệnh yum

# yum -y install ntp

Sau đó cấu hình cho ntpd start khi hệ thống khởi động:

# chkconfig ntpd on

Làm việc với ntpd bằng các lệnh:

$ service ntpd stop
$ service ntpd start
$ service ntpd restart
$ service ntpd status

File cấu hình mặc định:

$ /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

Mặc định sẽ có 1 số NTP server trong file ntp.conf.Bạn cũng có thể thêm server NTP tùy vào khu vực và mục đích hệ thống của bạn.Ở đây, mình sẽ thêm các NTP server sau:


server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

Tham khảo thêm về một số NTP server trên thế giới : http://www.pool.ntp.org/en/, NTP Servers tại Châu Á : http://www.pool.ntp.org/zone/asia

Kiểm tra ntp làm việc

 [root@centos ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
=================================================
ips61.reverse.n 132.239.1.6 2 u 28 64 3 10.472 148790. 8.879
LOCAL(0) .LOCL. 10 l 26 64 3 0.000 0.000 0.001

Cập nhật thời gian tại một server khác:

    ntpdate –q <địa chỉ time_server>
Bài viết này nằm trong dự án  website : www.gocit.vn, forum hổ trợ forum.gocit.vn , xem thêm tại link http://www.gocit.vn/du-an-linux-toan-tap/
Print Friendly, PDF & Email

Comments

comments

Bài viết liên quan