Mục lục

Không có mục lục
Tham gia kênh Telegram của CloudFly để nhận thêm ưu đãi và không bỏ lỡ bất kỳ khuyến mãi nào từ CloudFly

Cách thiết lập Time Synchronization trên Ubuntu 20.04

Ngày đăng: 12 tháng 12 năm 2022

Ubuntu

Giới thiệu

Việc chấm công chính xác là không thể thiếu đối với việc triển khai phần mềm hiện đại. Không có nó, bạn có thể gặp phải hư hỏng dữ liệu, lỗi và các sự cố khác khó gỡ lỗi. Time synchronization (Đồng bộ hóa thời gian) có thể giúp đảm bảo nhật ký của bạn được ghi theo đúng thứ tự và các bản cập nhật cơ sở dữ liệu được áp dụng phù hợp.

May mắn thay, Ubuntu 20.04 được tích hợp time synchronization và được kích hoạt theo mặc định bằng cách sử dụng dịch vụ timesyncd của systemd. Trong bài viết này, bạn sẽ thực hành một số lệnh chung liên quan đến thời gian, xác minh rằng timesyncd đang hoạt động và cài đặt dịch vụ thời gian mạng thay thế.

Điều kiện tiên quyết

Trước khi bắt đầu hướng dẫn này, bạn sẽ cần một máy chủ Ubuntu 20.04 với non-root user có hõ trợ sudo và tường lửa, như được mô tả trong Hướng dẫn thiết lập máy chủ Ubuntu 20.04 của chúng tôi.

Điều hướng các lệnh thời gian cơ bản

Để xem thời gian trên máy chủ của bạn, bạn sẽ sử dụng lệnh date. Bất kỳ người dùng nào cũng có thể chạy lệnh này để in ngày và giờ:

  1. date

Thông thường, máy chủ của bạn sẽ tạo đầu ra với múi giờ UTC mặc định.

Output
Thu Aug 5 15:55:20 UTC 2021

UTC là Coordinated Universal Time, thời gian ở kinh độ 0 độ. Mặc dù điều này có thể không phản ánh múi giờ hiện tại của bạn, nhưng việc sử dụng Giờ quốc tế (Universal Time) sẽ tránh nhầm lẫn khi cơ sở hạ tầng của bạn trải dài trên nhiều múi giờ.

Tuy nhiên, nếu bạn muốn thay đổi múi giờ của mình, bạn có thể sử dụng lệnh timedatectl.

Đầu tiên, hãy chạy lệnh này để tạo danh sách các múi giờ khả dụng:

  1. timedatectl list-timezones

Một danh sách các múi giờ sẽ in ra màn hình của bạn. Bạn có thể nhấn phím SPACE để xuống trang và b để lên trang. Khi bạn tìm thấy múi giờ chính xác, hãy ghi lại múi giờ đó rồi nhập q để thoát khỏi danh sách.

Tiếp theo, bạn có thể đặt múi giờ bằng timedatectl set-timezone bằng cách thay thế phần được đánh dấu bằng múi giờ bạn tìm thấy trong danh sách. Bạn sẽ cần sử dụng sudo với timedatectl để thực hiện thay đổi này:

  1. sudo timedatectl set-timezone America/New_York

Bạn có thể xác minh các thay đổi của mình bằng cách chạy lại date:

  1. date
Output
Thu Aug 5 11:56:01 EDT 2021

Chữ viết tắt múi giờ sẽ phản ánh giá trị mới được chọn.

Bây giờ bạn đã thực hành kiểm tra đồng hồ và đặt múi giờ, bạn có thể xác nhận rằng thời gian của mình đang được đồng bộ hóa đúng cách trong phần tiếp theo.

Kiểm soát timesyncd với timedatectl

Trước đây, hầu hết đồng bộ hóa thời gian mạng được xử lý bởi daemon Network Time Protocol daemon hoặc ntpd. Dịch vụ này kết nối với một nhóm các máy chủ NTP khác cung cấp cho nó các bản cập nhật thời gian liên tục và chính xác.

Nhưng bây giờ với cài đặt mặc định của Ubuntu, bạn có thể sử dụng timesyncd thay vì ntpd. timesyncd hoạt động tương tự bằng cách kết nối với các máy chủ cùng thời gian, nhưng nhẹ hơn và được tích hợp chặt chẽ hơn với systemd trên Ubuntu.

Bạn có thể truy vấn trạng thái của timesyncd bằng cách chạy timedatectl không có đối số. Bạn không cần sử dụng sudo trong trường hợp này:

  1. timedatectl
Output
Local time: Thu 2021-08-05 11:56:40 EDT Universal time: Thu 2021-08-05 15:56:40 UTC RTC time: Thu 2021-08-05 15:56:41 Time zone: America/New_York (EDT, -0400) System clock synchronized: yes NTP service: active RTC in local TZ: no

Lệnh này in ra giờ địa phương, giờ quốc tế (có thể giống với giờ địa phương, nếu bạn không chuyển từ múi giờ UTC) và một số thông tin trạng thái thời gian mạng. System clock synchronized: yes phản ánh rằng thời gian được đồng bộ hóa thành công và NTP service: active có nghĩa là timesyncd đang hoạt động.

Nếu đầu ra của bạn cho thấy dịch vụ NTP không hoạt động, hãy bật dịch vụ đó bằng timedatectl:

  1. sudo timedatectl set-ntp on

Sau đó, chạy lại timedatectl để xác nhận trạng thái thời gian của mạng. Có thể mất một phút để quá trình đồng bộ hóa diễn ra nhưng cuối cùng System clock synchronized: sẽ đọc yesNTP service: sẽ hiển thị là active.

Chuyển sang ntpd

timesyncd sẽ hoạt động trong hầu hết các trường hợp. Tuy nhiên, có những trường hợp khi một ứng dụng có thể nhạy cảm với bất kỳ sự xáo trộn nào theo thời gian. Trong trường hợp này, ntpd là một dịch vụ thời gian mạng thay thế mà bạn có thể sử dụng. ntpd sử dụng các kỹ thuật tinh vi để liên tục và dần dần giữ cho thời gian của hệ thống đi đúng hướng.

Trước khi cài đặt ntpd, bạn cần tắt timesyncd để tránh 2 dịch vụ xung đột với nhau. Bạn có thể thực hiện việc này bằng cách tắt network time synchronization bằng lệnh sau:

  1. sudo timedatectl set-ntp no

Xác minh rằng time synchronization bị tắt:

  1. timedatectl

Kiểm tra xem đầu ra của bạn có ghi NTP service: inactive không. Điều này có nghĩa là timesyncd đã dừng. Bây giờ bạn đã sẵn sàng cài đặt gói ntp với apt.

Trước tiên, hãy chạy apt update để làm mới chỉ mục gói cục bộ của bạn:

  1. sudo apt update

Sau đó, chạy apt install ntp để cài đặt gói này:

  1. sudo apt install ntp

ntpd sẽ tự động bắt đầu sau khi quá trình cài đặt của bạn hoàn tất. Bạn có thể xác minh rằng mọi thứ đang hoạt động bình thường bằng cách truy vấn ntpd để biết thông tin trạng thái:

  1. ntpq -p
Output
remote refid st t when poll reach delay offset jitter ============================================================================== 0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 1.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 2.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 3.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 0.000 0.000 +t1.time.bf1.yah 129.6.15.28 2 u 16 64 1 61.766 -20.068 1.964 +puppet.kenyonra 80.72.67.48 3 u 16 64 1 2.622 -18.407 2.407 *ntp3.your.org .GPS. 1 u 15 64 1 50.303 -17.499 2.708 +time.cloudflare 10.4.1.175 3 u 15 64 1 1.488 -18.295 2.670 +mis.wci.com 216.218.254.202 2 u 15 64 1 21.527 -18.377 2.414 +ipv4.ntp1.rbaum 69.89.207.99 2 u 12 64 1 49.741 -17.897 3.417 +time.cloudflare 10.4.1.175 3 u 15 64 1 1.039 -16.692 3.378 +108.61.73.243 129.6.15.29 2 u 14 64 1 70.060 -16.993 3.363 +ny-time.gofile. 129.6.15.28 2 u 21 64 1 75.349 -18.333 2.763 golem.canonical 17.253.34.123 2 u 28 64 1 134.482 -21.655 0.000 ntp3.junkemailf 216.218.254.202 2 u 19 64 1 2.632 -16.330 4.387 clock.xmission. .XMIS. 1 u 18 64 1 24.927 -16.712 3.415 alphyn.canonica 142.3.100.2 2 u 26 64 1 73.612 -19.371 0.000 strongbad.voice 192.5.41.209 2 u 17 64 1 70.766 -18.159 3.481 chilipepper.can 17.253.34.123 2 u 25 64 1 134.982 -19.848 0.000 pugot.canonical 145.238.203.14 2 u 28 64 1 135.694 -21.075 0.000

ntpq là một công cụ truy vấn cho ntpd. Cờ -p yêu cầu thông tin về máy chủ NTP (hoặc ngang hàng) ntpd được kết nối. Đầu ra của bạn sẽ hơi khác một chút nhưng sẽ liệt kê các máy chủ nhóm Ubuntu mặc định cùng với một số máy chủ khác. Hãy nhớ rằng, có thể mất vài phút để ntpd thiết lập kết nối.

Kết luận

Trong bài viết này, bạn đã xem thành công thời gian hệ thống, thay đổi múi giờ, làm việc với dịch vụ timesyncd mặc định của Ubuntu và cài đặt ntpd. Nếu bạn có nhu cầu chấm công nâng cao, bạn có thể tham khảo tài liệu chính thức của NTP, đồng thời xem qua NTP Pool Project, một nhóm tình nguyện viên toàn cầu cung cấp phần lớn cơ sở hạ tầng NTP trên thế giới.

Tham gia kênh Telegram của CloudFly để nhận thêm ưu đãi và không bỏ lỡ bất kỳ khuyến mãi nào từ CloudFly
Chia sẻ

0 câu trả lời