ค้นหาเว็บไซต์

วิธีการติดตั้ง Chrony NTP เพื่อซิงโครไนซ์เวลาใน Linux


Network Time Protocol (NTP) เป็นโปรโตคอลที่ใช้ในการซิงโครไนซ์นาฬิกาของระบบคอมพิวเตอร์โดยอัตโนมัติผ่านเครือข่าย เครื่องสามารถกำหนดให้นาฬิการะบบใช้ เวลาสากลเชิงพิกัด (UTC) แทนเวลาท้องถิ่น

การรักษาเวลาที่แม่นยำบนระบบ Linux โดยเฉพาะเซิร์ฟเวอร์เป็นงานที่สำคัญด้วยเหตุผลหลายประการ ตัวอย่างเช่น ในสภาพแวดล้อมแบบเครือข่าย จำเป็นต้องมีการจับเวลาที่แม่นยำเพื่อการประทับเวลาที่แม่นยำในแพ็กเก็ตและบันทึกของระบบสำหรับการวิเคราะห์สาเหตุที่แท้จริง การพิจารณาว่าปัญหาเกิดขึ้นเมื่อใด และการค้นหาความสัมพันธ์

ขณะนี้ Chrony เป็นแพ็คเกจการใช้งาน NTP เริ่มต้นบนเวอร์ชันล่าสุดของการแจกแจงแบบใช้ RHEL เช่น CentOS Stream, Fedora , Rocky Linux & AlmaLinux และการกระจายแบบอิง Debian เช่น Ubuntu & Linux Mint และอื่นๆ อีกมากมาย และติดตั้งไว้ล่วงหน้าเป็นค่าเริ่มต้น

แพ็คเกจ Chrony ประกอบด้วย chronyd ซึ่งเป็น daemon ที่ทำงานในพื้นที่ผู้ใช้ และ chronyc โปรแกรมบรรทัดคำสั่งสำหรับตรวจสอบและควบคุม chronyd .

Chrony เป็นการใช้งาน NTP อเนกประสงค์และทำงานได้ดีในสภาวะที่หลากหลาย (ตรวจสอบการเปรียบเทียบชุด chrony กับการใช้งาน NTP อื่นๆ) สามารถใช้เพื่อซิงโครไนซ์นาฬิการะบบกับเซิร์ฟเวอร์ NTP (ทำหน้าที่เป็นไคลเอ็นต์) กับนาฬิกาอ้างอิง (เช่น เครื่องรับ GPS) หรือกับการป้อนเวลาด้วยตนเอง นอกจากนี้ยังสามารถใช้เป็นเซิร์ฟเวอร์ NTPv4 (RFC 5905) หรือเพียร์เพื่อให้บริการเวลาแก่คอมพิวเตอร์เครื่องอื่นในเครือข่าย

ในบทความนี้ คุณจะได้เรียนรู้วิธีซิงโครไนซ์เวลาเซิร์ฟเวอร์กับ NTP ใน Linux โดยใช้ chrony

การติดตั้ง Chrony ใน Linux Server

ในระบบ Linux ส่วนใหญ่ คำสั่ง chrony จะไม่ถูกติดตั้งตามค่าเริ่มต้น หากต้องการติดตั้งให้ดำเนินการคำสั่งด้านล่าง

sudo yum install chrony         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo apt install chrony         [On Debian, Ubuntu and Mint]

ตำแหน่งเริ่มต้นสำหรับ chrony daemon คือ /usr/sbin/chronyd และโปรแกรมบรรทัดคำสั่งจะถูกติดตั้งไปที่ /usr/bin/chronyc

เมื่อการติดตั้งเสร็จสมบูรณ์ ให้เริ่มบริการ chrony และเปิดใช้งานให้เริ่มโดยอัตโนมัติเมื่อบูตระบบ จากนั้นตรวจสอบว่าบริการนั้นทำงานอยู่หรือไม่

systemctl enable --now chronyd
systemctl status chronyd

หากต้องการตรวจสอบอีกครั้งว่า chrony ใช้งานได้ปกติหรือไม่ และต้องการดูจำนวนเซิร์ฟเวอร์และเพียร์ที่เชื่อมต่ออยู่ ให้รันคำสั่ง chronyc ต่อไปนี้

chronyc activity

การตรวจสอบการซิงโครไนซ์ Chrony ใน Linux

หากต้องการแสดงข้อมูล (รายการเซิร์ฟเวอร์ที่พร้อมใช้งาน สถานะ และออฟเซ็ตจากนาฬิกาท้องถิ่นและแหล่งที่มา) เกี่ยวกับแหล่งเวลาปัจจุบันที่ chronyd กำลังเข้าถึง ให้รันคำสั่งต่อไปนี้ด้วย -v flag แสดงคำอธิบายของแต่ละคอลัมน์

chronyc sources
OR
chronyc sources -v

เกี่ยวกับคำสั่งก่อนหน้านี้ เพื่อแสดงข้อมูลที่เป็นประโยชน์อื่นๆ สำหรับแต่ละแหล่งที่มาที่กำลังตรวจสอบโดย chronyd (เช่น อัตราดริฟท์และกระบวนการประมาณค่าออฟเซ็ต) ให้ใช้คำสั่ง sourcestats .

chronyc sourcestats
OR
chronyc sourcestats -v

หากต้องการตรวจสอบการติดตาม chrony ให้รันคำสั่งต่อไปนี้

chronyc tracking

ในผลลัพธ์ของคำสั่งนี้ ID อ้างอิงจะระบุชื่อ (หรือที่อยู่ IP) หากมี ของเซิร์ฟเวอร์ที่คอมพิวเตอร์ซิงโครไนซ์อยู่ จากเซิร์ฟเวอร์ที่มีอยู่ทั้งหมด

การกำหนดค่าแหล่งเวลา Chrony ใน Linux

ไฟล์การกำหนดค่า chrony หลักอยู่ที่ /etc/chrony.conf (CentOS/RHEL/Fedora) หรือ /etc/chrony /chrony.conf (อูบุนตู/เดเบียน)

เมื่อติดตั้ง Linux OS ในระบบคลาวด์ ระบบของคุณควรมีเซิร์ฟเวอร์เริ่มต้นบางส่วนหรือกลุ่มเซิร์ฟเวอร์ที่เพิ่มในระหว่างกระบวนการติดตั้ง หากต้องการเพิ่มหรือเปลี่ยนเซิร์ฟเวอร์เริ่มต้น ให้เปิดไฟล์การกำหนดค่าเพื่อแก้ไข:

vi /etc/chrony.conf
OR
vi /etc/chrony/chrony.conf

คุณสามารถเพิ่มเซิร์ฟเวอร์หลายเครื่องได้โดยใช้คำสั่งเซิร์ฟเวอร์ดังที่แสดง

server 0.europe.pool.ntp.org iburst
server 1.europe.pool.ntp.org iburst
server 2.europe.pool.ntp.org ibusrt
server 3.europe.pool.ntp.org ibusrt

หรือในกรณีส่วนใหญ่ ควรใช้ ntppool.org เพื่อค้นหาเซิร์ฟเวอร์ NTP ซึ่งจะทำให้ระบบพยายามค้นหาเซิร์ฟเวอร์ที่ใกล้เคียงที่สุดสำหรับคุณ หากต้องการเพิ่มพูล ให้ใช้คำสั่งพูล:

pool 0.pool.ntp.org burst

มีตัวเลือกอื่นๆ อีกมากมายที่คุณสามารถกำหนดค่าในไฟล์ได้ หลังจากทำการเปลี่ยนแปลงแล้ว ให้รีสตาร์ทบริการแบบ chrony

sudo systemctl restart chrony		
OR
systemctl restart chronyd

หากต้องการแสดงข้อมูลเกี่ยวกับแหล่งเวลาปัจจุบันที่ chronyd กำลังค้นหา ให้รันคำสั่งต่อไปนี้อีกครั้ง

chronyc sources

หากต้องการตรวจสอบสถานะการติดตาม chrony ให้รันคำสั่งต่อไปนี้

chronyc tracking

หากต้องการแสดงเวลาปัจจุบันบนระบบของคุณ ให้ตรวจสอบว่านาฬิการะบบซิงโครไนซ์หรือไม่ และ NTP ทำงานอยู่จริงหรือไม่ ให้รันคำสั่ง timedatectl:

timedatectl

นั่นนำเราไปสู่จุดสิ้นสุดของคู่มือนี้ หากคุณมีคำถามใด ๆ ติดต่อเราผ่านทางส่วนความคิดเห็นด้านล่าง สำหรับข้อมูลเพิ่มเติม โปรดดู: การใช้ชุด chrony เพื่อกำหนดค่า NTP จากเอกสาร RHEL หรือใช้ chrony เพื่อกำหนดค่า NTP จากบล็อกอย่างเป็นทางการของ Ubuntu