ວິທີການປະສົມປະສານເວລາກັບ NTP ໃນ Linux


Network Time Protocol (NTP) ແມ່ນໂປໂຕຄອນທີ່ໃຊ້ໃນການເຮັດວຽກໂມງລະບົບຄອມພິວເຕີໂດຍອັດຕະໂນມັດຜ່ານເຄືອຂ່າຍຕ່າງໆ. ເຄື່ອງສາມາດໃຊ້ໂມງລະບົບໄດ້ໃຊ້ເວລາປະສານງານທົ່ວໂລກ (Coordinated Universal Time (UTC)) ຫຼາຍກວ່າເວລາທ້ອງຖິ່ນ.

ການຮັກສາເວລາທີ່ຖືກຕ້ອງໃນລະບົບ Linux ໂດຍສະເພາະເຄື່ອງແມ່ຂ່າຍແມ່ນວຽກທີ່ ສຳ ຄັນ ສຳ ລັບຫລາຍໆເຫດຜົນ. ຍົກຕົວຢ່າງ, ໃນສະພາບແວດລ້ອມທີ່ເປັນເຄືອຂ່າຍ, ການ ກຳ ນົດເວລາທີ່ຖືກຕ້ອງແມ່ນຕ້ອງມີເວລາທີ່ຖືກຕ້ອງໃນຊອງແລະຂໍ້ມູນບັນທຶກລະບົບ ສຳ ລັບການວິເຄາະສາເຫດຂອງຮາກ, ກຳ ນົດເວລາເກີດບັນຫາແລະຊອກຫາຄວາມກ່ຽວຂ້ອງ.

ຕອນນີ້ Chrony ແມ່ນຊຸດການປະຕິບັດ NTP ໃນຕອນຕົ້ນຂອງລະບົບປະຕິບັດການ Linux ລຸ້ນຫຼ້າສຸດເຊັ່ນ CentOS, RHEL, Fedora ແລະ Ubuntu/Debian ໃນບັນດາອື່ນໆແລະມາຕິດຕັ້ງໄວ້ກ່ອນໂດຍຄ່າເລີ່ມຕົ້ນ ຊຸດດັ່ງກ່າວປະກອບດ້ວຍ chronyd, daemon ທີ່ແລ່ນໃນ userpace, ແລະ chronyc ໂປແກຼມສາຍ ຄຳ ສັ່ງ ສຳ ລັບການຕິດຕາມແລະຄວບຄຸມ chronyd.

Chrony ແມ່ນການປະຕິບັດ NTP ທີ່ມີຄວາມຊໍານິຊໍານານແລະປະຕິບັດໄດ້ດີໃນເງື່ອນໄຂທີ່ກວ້າງຂວາງ (ກວດເບິ່ງການປຽບທຽບຂອງຊຸດ chrony ກັບການປະຕິບັດ NTP ອື່ນໆ). ມັນສາມາດຖືກ ນຳ ໃຊ້ເພື່ອປະສົມປະສານໂມງໂມງຂອງລະບົບກັບເຄື່ອງແມ່ຂ່າຍ NTP (ເຮັດ ໜ້າ ທີ່ເປັນລູກຄ້າ), ມີໂມງອ້າງອີງ (ຕົວຢ່າງເຄື່ອງຮັບ GPS), ຫຼືມີເວລາ ນຳ ເຂົ້າ. ມັນຍັງສາມາດໄດ້ຮັບການເຮັດວຽກເປັນເຄື່ອງແມ່ຂ່າຍ NTPv4 (RFC 5905) ຫຼືເຄື່ອງຈັກໃນການໃຫ້ບໍລິການທີ່ໃຊ້ເວລາກັບຄອມພິວເຕີ້ອື່ນໆໃນເຄືອຂ່າຍ.

ໃນບົດຄວາມນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການ synchronize ເວລາ server ກັບ NTP ໃນ Linux ໂດຍໃຊ້ chrony.

ການຕິດຕັ້ງ Chrony ໃນ Linux Server

ໃນລະບົບ Linux ສ່ວນໃຫຍ່, ຄຳ ສັ່ງ chrony ບໍ່ໄດ້ຖືກຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນ. ການຕິດຕັ້ງມັນ, ປະຕິບັດຄໍາສັ່ງຂ້າງລຸ່ມນີ້.

$ sudo apt-get install chrony    [On Debian/Ubuntu]
$ sudo yum  install chrony       [On CentOS/RHEL]
$ sudo dnf install chrony        [On Fedora 22+]

ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ເລີ່ມຕົ້ນໃຫ້ບໍລິການ chrony ແລະເປີດໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນລະບົບ boot system, ຫຼັງຈາກນັ້ນກວດເບິ່ງວ່າມັນ ກຳ ລັງແລ່ນຢູ່ຫລືບໍ່.

# systemctl enable --now chronyd
# systemctl status chronyd

ເພື່ອກວດກາເບິ່ງວ່າ chrony ຕອນນີ້ ກຳ ລັງ ດຳ ເນີນງານຢູ່ແລະເຮັດວຽກໄດ້ດີແລະເບິ່ງ ຈຳ ນວນຂອງເຊີບເວີແລະມິດສະຫາຍທີ່ເຊື່ອມຕໍ່ກັບມັນ, ໃຫ້ເຮັດຕາມ ຄຳ ສັ່ງ chronyc ຕໍ່ໄປນີ້.

# chronyc activity

ກວດສອບການຊິ້ງຂໍ້ມູນ Chrony

ເພື່ອສະແດງຂໍ້ມູນ (ບັນຊີລາຍຊື່ຂອງເຄື່ອງແມ່ຂ່າຍທີ່ມີ, ສະຖານະ, ແລະການຊົດເຊີຍຈາກໂມງທ້ອງຖິ່ນແລະແຫຼ່ງທີ່ມາ) ກ່ຽວກັບແຫຼ່ງເວລາໃນປະຈຸບັນທີ່ chronyd ກຳ ລັງເຂົ້າເຖິງ, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ດ້ວຍທຸງ -v ສະແດງ ຄຳ ອະທິບາຍ ສຳ ລັບແຕ່ລະຖັນ.

# chronyc sources
OR
# chronyc sources -v

ກ່ຽວຂ້ອງກັບ ຄຳ ສັ່ງກ່ອນ ໜ້າ ນີ້, ເພື່ອສະແດງຂໍ້ມູນທີ່ເປັນປະໂຫຍດອື່ນໆ ສຳ ລັບແຕ່ລະແຫຼ່ງທີ່ ກຳ ລັງຖືກກວດສອບໂດຍ chronyd (ເຊັ່ນ: ອັດຕາການລ່ອງລອຍແລະຂະບວນການຄາດຄະເນການຊົດເຊີຍ), ໃຫ້ໃຊ້ ຄຳ ສັ່ງທີ່ມີຄ່າ.

# chronyc sourcestats
OR
# chronyc sourcestats -v

ເພື່ອກວດກາການຕິດຕາມ chrony, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# chronyc tracking

ໃນຜົນໄດ້ຮັບຂອງ ຄຳ ສັ່ງນີ້, ເອກະສານອ້າງອີງລະບຸຊື່ (ຫຼືທີ່ຢູ່ IP) ຂອງເຄື່ອງແມ່ຂ່າຍທີ່ຄອມພິວເຕີ້ ກຳ ລັງຊິ້ງຂໍ້ມູນຢູ່, ອອກຈາກທຸກເຄື່ອງແມ່ຂ່າຍທີ່ມີ.

ການຕັ້ງຄ່າແຫຼ່ງເວລາ Chrony

ເອກະສານການຕັ້ງຄ່າ chrony ຕົ້ນຕໍແມ່ນຕັ້ງຢູ່ທີ່ /etc/chrony.conf (CentOS/RHEL/Fedora) ຫຼື /etc/chrony/chrony.conf (Ubuntu/Debian).

ເມື່ອຕິດຕັ້ງ Linux OS ໃນເມຄ, ລະບົບຂອງທ່ານຄວນມີບາງເຊີບເວີທີ່ບໍ່ຖືກຕ້ອງຫຼືມີສະນຸກເກີຂອງ server ເພີ່ມໃນຊ່ວງການຕິດຕັ້ງ. ເພື່ອເພີ່ມຫລືປ່ຽນເຄື່ອງແມ່ຂ່າຍເລີ່ມຕົ້ນ, ເປີດເອກະສານ configuratioon ເພື່ອແກ້ໄຂ:

# vim /etc/chrony.conf
OR
# vim /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 ຈາກ Blog ຂອງ Ubuntu ຢ່າງເປັນທາງການ.