Ở bài trước chúng ta đã biết được Chrony là một dịch vụ đồng bộ thời gian trên nhiều hệ điều hành khác nhau như Linux, FreeBSD, NetBSD, macOS, and Solaris. Tốc độ tốt hơn, nhiều ưu điểm hơn, quản trị và thao tác dễ dàng hơn. Bài viết sau sẽ hướng dẫn các bạn cấu hình Chrony trên CentOS/RHEL 7
Mục lục
1. Mô hình chuẩn bị
2. Chuẩn bị trước khi cài đặt
3. Cài đặt Chrony trên cả 2 Server
4. Cấu hình Chrony làm NTP Server
5. Cấu hình Chrony Client
6. Các câu lệnh kiểm tra bổ sung
7. Tổng kết
1. Mô hình chuẩn bị
Chuẩn bị mô hình kết nối
Sử dụng 2 Server cho mô hình:
– CentOS 7 (1810)
– Có kết nối Internet
– Đăng nhập thao tác với user root
2. Chuẩn bị trước khi cài đặt
Cấu hình timezone.
timedatectl set-timezone Asia/Ho_Chi_Minh
Kiểm tra timezone sau khi cài đặt.
timedatectl
Cấu hình allow Firewalld.
firewall-cmd --add-service=ntp --permanent firewall-cmd --reload
Cấu hình disable SElinux.
sudo setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/sysconfig/selinux
3. Cài đặt Chrony trên cả 2 Server
Đối với CentOS/RHEL7 mặc dù trình đồng bộ và quản lý thời gian hiện tại mặc định là Chrony thay vì NTPD nhưng đa số Chrony lại không được tích hợp sẵn trong hệ điều hành lúc chúng ta cài đặt.
Truy cập vào SSH vào cả 2 Server. Sau đó chúng ta tiến hành cài đặt Chrony.
yum install -y chrony
Sau khi cài đặt chúng ta tiến hành start Chrony và cho phép khởi động cùng hệ thống.
systemctl enable --now chronyd
Kiểm tra dịch vụ đang hoạt động.
systemctl status chronyd
Kết quả:
[root@localhost ~]# systemctl status chronyd ● chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since T6 2019-08-02 22:15:42 +07; 1 weeks 1 days ago Docs: man:chronyd(8) man:chrony.conf(5) Process: 3012 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS) Process: 2975 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 3011 (chronyd) CGroup: /system.slice/chronyd.service └─3011 /usr/sbin/chronyd Th08 02 22:15:41 localhost systemd[1]: Starting NTP client/server… Th08 02 22:15:42 localhost chronyd[3011]: chronyd version 3.2 starting (+CMD…) Th08 02 22:15:42 localhost chronyd[3011]: Frequency -17.803 +/- 0.316 ppm re…t Th08 02 22:15:42 localhost systemd[1]: Started NTP client/server. Th08 02 22:15:52 localhost chronyd[3011]: Selected source 103.101.161.201 Hint: Some lines were ellipsized, use -l to show in full.
Mặc định trên CentOS/RHEL7 file cấu hình của Chrony nằm ở /etc/chrony.conf
, tiến hành kiểm tra file cấu hình.
cat /etc/chrony.conf | egrep -v '^$|^#'
Trong đó:
server
Xác định các NTP Server bạn muốn sử dụng.prefer
Đối với nhiều NTP Server chúng ta có thể chỉ đinh ưu tiên kết nối từ NTP Server nào trước thay vì để hệ thống tự lựa chọn VD:server 2.centos.pool.ntp.orf iburst prefer
driftfile
File lưu trữ tốc độ mà đồng hồ hệ thống tăng / giảm thời gian.makestep
Cho phép đồng hồ hệ thống không cập nhật trong 3 bản cập nhật đầu tiên nếu độ lệch của nó nó lơn hơn 1s.rtcsync
Cho phép đồng bộ hóa kernel của đồng hồ thời gian thực (RTC).logdir
Vị trí file log
Các cấu hình bổ sung:
hwtimestamp
Cho phép đánh dấu thời gian phần cứng trên tất cả các interface hỗ trợ nó.minsources
Tăng số lượng tối thiểu các nguồn có thể chọn cần thiết để điều chỉnh đồng hồ hệ thốngallow
Cho phép Client truy cập NTP từ mạng cục bộ.keyfile
Tệp có chứa mật khẩu để xác thực kết nối giữa Client và Server cho phép chronyc đăng nhập vào chronyd và thông báo cho chronyd về sự hiện diện của liên kết với Internet.generatecommandkey
Tạo mật khẩu ngẫu nhiên tự động khi bắt đầu chronyd đầu tiên. VD:keyfile /etc/chrony.keys generatecommandkey
log
Log file
4. Cấu hình Chrony làm NTP Server
Chrony cho phép chúng ta cấu hình Server thành một NTP Server. Việc này phù hợp cho các mô hình mạng LAN có nhiều máy kết nối. Thay vì phải tốn thời gian đồng bộ từ Internet thì chúng ta có thể cấu hình 1 Server làm NTP Server Local và các máy còn lại sẽ đồng bộ thời gian từ NTP Server này về.
Để lựa chọn pool đồng bộ thời gian chúng ta có thể truy cập vào NTP Pool để lựa chọn NTP Server. Ở đây chúng ta giữ nguyên đồng bộ từ centos.pool.ntp.org
.
Tại Server 10.10.10.61 là Server sẽ làm NTP Server. Chúng ta sẽ cấu hình bổ sung cấu hình cho phép các máy Client 10.10.10.62 phía trong có thể đồng bộ thời gian từ Server này.
sed -i 's|#allow 192.168.0.0/16|allow 10.10.10.0/24|g' /etc/chrony.conf
Trong đó 10.10.10.0/24
chính là dải IP Local mà chúng ta cho phép các Client kết nối vào NTP Server này để đồng bộ thời gian.
Kiểm tra lại file cấu hình.
Restart lại dịch vụ để cập nhật cấu hình.
systemctl restart chronyd
Sử dụng chronyc
để kiểm tra đồng bộ.
Kiểm tra đồng bộ sử dụng timedatectl
.
Set đồng bộ thời gian cho đồng hồ của BIOS (Đồng hồ phần cứng) hwclock
.
hwclock --systohc
Kiểm tra đồng bộ của date
và hwclock
đảm bảo đồng bộ
5. Cấu hình Chrony Client
Thực chất sau khi cài đặt và khởi động Chrony thì Server này đã tự động đồng bộ thời gian về từ một trong những NTP Server thuộc pool centos.pool.ntp.org
Bây giờ thay vì đồng bộ thời gian từ Internet chúng ta sẽ đồng bộ từ NTP Server chúng ta cấu hình phía trên.
Tại Server 10.10.10.62 chỉnh sửa cấu hình chrony.
sed -i 's|server 0.centos.pool.ntp.org iburst|server 10.10.10.61 iburst|g' /etc/chrony.conf sed -i 's|server 1.centos.pool.ntp.org iburst|#|g' /etc/chrony.conf sed -i 's|server 2.centos.pool.ntp.org iburst|#|g' /etc/chrony.conf sed -i 's|server 3.centos.pool.ntp.org iburst|#|g' /etc/chrony.conf
Kiểm tra cấu hình
Khởi động lại Chrony để cập nhật cấu hình.
systemctl restart chronyd
Sử dụng chronyc
kiểm tra đồng bộ.
Kiểm tra đồng bộ sử dụng timedatectl
.
Set đồng bộ thời gian cho đồng hồ của BIOS (Đồng hồ phần cứng) hwclock
.
hwclock --systohc
Kiểm tra đồng bộ của date
và hwclock
đảm bảo đồng bộ.
6. Các câu lệnh kiểm tra bổ sung
Kiểm tra verify kết nối
chronyc tracking
chronyc sources -v
chronyc sourcestats
Stop Chrony và kiểm tra
systemctl stop chronyd
Kiểm tra
chronyc tracking
7. Tổng kết
Bài viết đã hướng dẫn cơ bản các bạn cài đặt cấu hình đồng bộ thời gian trên CentOS/RHEL 7 sử dụng Chrony. Việc chuyển đổi sử dụng từ NTPD sang Chrony không hệ phức tạp vì Chrony rất thuận tiện trong quá trình cấu hình và thao tác.
Các bài viết liên quan:
– Chronyd dịch vụ thay thế NTPD trên Unix
– Cài đặt Chrony trên Ubuntu 18.04
Leave a Reply