Thứ ba, 10/07/2018 | 00:00 GMT+7

Cách thiết lập đồng bộ hóa thời gian trên Ubuntu 18.04

Chấm công chính xác đã trở thành một thành phần quan trọng của việc triển khai phần mềm hiện đại. Cho dù đó là đảm bảo log được ghi theo đúng thứ tự hay các cập nhật database được áp dụng đúng cách, thời gian không đồng bộ hóa có thể gây ra lỗi, hỏng dữ liệu và các vấn đề khó gỡ lỗi khác.

Ubuntu 18.04 có đồng bộ hóa thời gian được tích hợp sẵn và được kích hoạt theo mặc định bằng dịch vụ timesyncd của systemd. Trong bài viết này, ta sẽ xem xét một số lệnh cơ bản liên quan đến thời gian, xác minh timesyncd đang hoạt động và tìm hiểu cách cài đặt dịch vụ thời gian mạng thay thế.

Yêu cầu

Trước khi bắt đầu hướng dẫn này, bạn cần một server Ubuntu 18.04 với user không root, hỗ trợ sudo, như được mô tả trong hướng dẫn cài đặt server Ubuntu 18.04 này .

Lệnh cơ bản nhất để tìm ra thời gian trên server của bạn là date . Mọi user cũng có thể gõ lệnh này để in ra ngày và giờ:

  • date
Output
Tue Jul 10 14:48:52 UTC 2018

Thông thường, server của bạn sẽ mặc định theo múi giờ UTC , như được đánh dấu trong kết quả ở trên. UTC là Giờ Phối hợp Quốc tế , thời gian ở kinh độ 0 độ. Việc sử dụng nhất quán Giờ quốc tế giúp giảm 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ờ.

Nếu bạn có các yêu cầu khác và cần thay đổi múi giờ, bạn có thể sử dụng lệnh timedatectl để thực hiện.

Đầu tiên, hãy liệt kê các múi giờ khả dụng:

  • timedatectl list-timezones

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 SPACE để trang xuống, và b để trang lên. Khi bạn tìm thấy múi giờ chính xác, hãy ghi lại múi giờ đó rồi gõ q để thoát khỏi danh sách.

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

  • sudo timedatectl set-timezone America/New_York

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

  • date
Output
Tue Jul 10 10:50:53 EDT 2018

Tên viết tắt của múi giờ phải phản ánh giá trị mới được chọn.

Bây giờ ta đã biết cách kiểm tra đồng hồ và đặt múi giờ, hãy đảm bảo thời gian của ta đang được đồng bộ hóa đúng cách.

Kiểm soát timesyncd với timedatectl

Cho đến gần đây, hầu hết đồng bộ hóa thời gian mạng được xử lý bởi trình Giao thức Thời gian Mạng hoặc ntpd. Dịch vụ này kết nối với một group các server 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.

Cài đặt mặc định của Ubuntu hiện sử dụng timesyncd thay vì ntpd. timesyncd kết nối với các server cùng thời gian và hoạt động theo cùng một cách, nhưng nhẹ hơn và tích hợp hơn với systemd và các hoạt động cấp thấp của Ubuntu.

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

  • timedatectl
Output
Local time: Tue 2018-07-10 10:54:12 EDT Universal time: Tue 2018-07-10 14:54:12 UTC RTC time: Tue 2018-07-10 14:54:12 Time zone: America/New_York (EDT, -0400) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no

Điều này in ra giờ local , giờ quốc tế (có thể giống với giờ local , nếu bạn không chuyển từ múi giờ UTC) và một số thông tin trạng thái giờ mạng. System clock synchronized: yes cho biết thời gian đã được đồng bộ hóa thành công và systemd-timesyncd.service active: yes nghĩa là timesyncd đã được bật và đang chạy.

Nếu timesyncd không hoạt động, hãy bật nó bằng timedatectl:

  • sudo timedatectl set-ntp on

Chạy lại timedatectl để xác nhận trạng thái thời gian mạng. Có thể mất một phút để đồng bộ hóa thực sự xảy ra, nhưng cuối cùng cả Network time on:NTP synchronized: sẽ đọc là yes .

Chuyển sang ntpd

Mặc dù timesyncd là tốt cho hầu hết các mục đích, một số ứng dụng rất nhạy cảm với những xáo trộn nhỏ nhất về thời gian có thể được ntpd phục vụ tốt hơn, vì nó sử dụng các kỹ thuật phức tạp hơn để liên tục và dần dần giữ cho thời gian hệ thống theo dõi.

Trước khi cài đặt ntpd, ta nên tắt timesyncd:

  • sudo timedatectl set-ntp no

Xác minh timesyncd đã tắt:

  • timedatectl

Tìm systemd-timesyncd.service active: no trong kết quả . Điều này nghĩa là timesyncd đã bị dừng. Bây giờ ta có thể cài đặt gói ntp với apt :

  • sudo apt update
  • sudo apt install ntp

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

  • 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 +ec2-52-0-56-137 216.239.35.0 2 u 16 64 1 7.872 -2.137 1.485 +66.220.10.2 129.6.15.30 2 u 12 64 1 65.204 3.740 2.686 +block.steinhoff 209.51.161.238 2 u 11 64 1 33.364 1.710 3.586 +eterna.binary.n 216.229.0.50 3 u 11 64 1 35.330 2.821 2.839 +2604:a880:800:1 209.51.161.238 2 u 14 64 1 0.394 0.386 2.462 +ec2-52-6-160-3. 130.207.244.240 2 u 11 64 1 8.150 2.050 3.053 +mx.danb.email 127.67.113.92 2 u 13 64 1 63.868 1.539 2.240 *hydrogen.consta 129.6.15.28 2 u 12 64 1 2.989 1.755 2.563 +ntp-3.jonlight. 127.67.113.92 2 u 10 64 1 64.561 2.122 3.593 +undef.us 45.33.84.208 3 u 12 64 1 33.508 1.631 3.647 +ntp-3.jonlight. 127.67.113.92 2 u 8 64 1 64.253 2.645 3.174 2001:67c:1560:8 145.238.203.14 2 u 22 64 1 71.155 -1.059 0.000 +test.diarizer.c 216.239.35.4 2 u 11 64 1 64.378 4.648 3.244 2001:67c:1560:8 145.238.203.14 2 u 18 64 1 70.744 -0.964 0.000 alphyn.canonica 132.246.11.231 2 u 17 64 1 7.973 -0.170 0.000 +vps5.ctyme.com 216.218.254.202 2 u 10 64 1 65.874 1.902 2.608

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

Kết luận

Trong bài viết này, ta đã hướng dẫn cách xem giờ hệ thống, thay đổi múi giờ, làm việc với timesyncd mặc định của Ubuntu và cài đặt ntpd. Nếu bạn có nhu cầu chấm công phức tạp hơn những gì ta đã đề cập ở đây, bạn có thể tham khảo tài liệu chính thức của NTP và cũng có thể xem qua Dự án NTP Pool , một group tình nguyện viên global cung cấp nhiều cơ sở hạ tầng NTP trên thế giới.


Tags:

Các tin liên quan

Cách cài đặt Hadoop ở chế độ độc lập trên Ubuntu 18.04
2018-07-10
Cách cài đặt và cấu hình GitLab trên Ubuntu 18.04
2018-07-09
Cách cài đặt Git trên Ubuntu 18.04
2018-07-06
Cách cài đặt và cấu hình Postfix trên Ubuntu 18.04
2018-07-06
Cách thiết lập vsftpd cho Thư mục người dùng trên Ubuntu 18.04
2018-07-06
Cách cài đặt WordPress với LAMP trên Ubuntu 18.04
2018-07-06
Cách thiết lập ứng dụng Node.js để sản xuất trên Ubuntu 18.04
2018-07-05
Cách thêm không gian swap trên Ubuntu 18.04
2018-07-05
Cách thiết lập NFS Mount trên Ubuntu 18.04
2018-07-05
Cách cài đặt và cấu hình Nextcloud trên Ubuntu 18.04
2018-07-05