ಲಿನಕ್ಸ್ ಟೈಮ್ ಸಿಂಕ್ರೊನೈಸೇಶನ್: NTP, Chrony ಮತ್ತು systemd-timesyncd

ಲಿನಕ್ಸ್ ಟೈಮ್ ಸಿಂಕ್ರೊನೈಸೇಶನ್: NTP, Chrony ಮತ್ತು systemd-timesyncd
ಹೆಚ್ಚಿನ ಜನರು ಸಮಯವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತಾರೆ. ನಮ್ಮ ಬೆಳಗಿನ ಆಚರಣೆಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಮತ್ತು ಕೆಲಸಕ್ಕೆ ಹೋಗುವುದು, ಊಟಕ್ಕೆ ವಿರಾಮ, ಪ್ರಾಜೆಕ್ಟ್ ಡೆಡ್‌ಲೈನ್‌ಗಳನ್ನು ಪೂರೈಸುವುದು, ಜನ್ಮದಿನಗಳು ಮತ್ತು ರಜಾದಿನಗಳನ್ನು ಆಚರಿಸುವುದು, ವಿಮಾನವನ್ನು ಹತ್ತುವುದು ಇತ್ಯಾದಿಗಳಿಗೆ ನಾವು ಸಮಯಕ್ಕೆ ಎದ್ದೇಳುತ್ತೇವೆ.

ಇದಲ್ಲದೆ: ನಮ್ಮಲ್ಲಿ ಕೆಲವರು ಸಮಯದ ಗೀಳನ್ನು ಹೊಂದಿದ್ದಾರೆ. ನನ್ನ ಗಡಿಯಾರ ಸೌರಶಕ್ತಿ ಚಾಲಿತವಾಗಿದೆ ಮತ್ತು ನ್ಯಾಷನಲ್ ಇನ್‌ಸ್ಟಿಟ್ಯೂಟ್ ಆಫ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ಸ್ ಅಂಡ್ ಟೆಕ್ನಾಲಜಿಯಿಂದ ಅದರ ನಿಖರವಾದ ಸಮಯವನ್ನು ಪಡೆಯುತ್ತದೆ (ಎನ್ಐಎಸ್ಟಿ) ಲಾಂಗ್‌ವೇವ್ ರೇಡಿಯೊ ಮೂಲಕ ಕೊಲೊರಾಡೋದ ಫೋರ್ಟ್ ಕಾಲಿನ್ಸ್‌ಗೆ WWVB. ಫೋರ್ಟ್ ಕಾಲಿನ್ಸ್‌ನಲ್ಲಿರುವ ಪರಮಾಣು ಗಡಿಯಾರದೊಂದಿಗೆ ಸಮಯದ ಸಂಕೇತಗಳನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲಾಗಿದೆ. ನನ್ನ ಫಿಟ್‌ಬಿಟ್ ನನ್ನ ಫೋನ್‌ನೊಂದಿಗೆ ಸಿಂಕ್ ಮಾಡುತ್ತದೆ, ಇದು ಸರ್ವರ್‌ನೊಂದಿಗೆ ಸಿಂಕ್ ಮಾಡುತ್ತದೆ NTP ಯನ್ನು, ಇದು ಅಂತಿಮವಾಗಿ ಪರಮಾಣು ಗಡಿಯಾರದೊಂದಿಗೆ ಸಿಂಕ್ರೊನೈಸ್ ಆಗುತ್ತದೆ.

ಸಾಧನಗಳು ಸಮಯವನ್ನು ಸಹ ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತವೆ.

ನಮ್ಮ ಸಾಧನಗಳು ಮತ್ತು ಕಂಪ್ಯೂಟರ್‌ಗಳಿಗೆ ನಿಖರವಾದ ಸಮಯ ಬೇಕಾಗುವುದಕ್ಕೆ ಹಲವು ಕಾರಣಗಳಿವೆ. ಉದಾಹರಣೆಗೆ, ಬ್ಯಾಂಕಿಂಗ್, ಸ್ಟಾಕ್ ಮಾರುಕಟ್ಟೆಗಳು ಮತ್ತು ಇತರ ಹಣಕಾಸು ವ್ಯವಹಾರಗಳಲ್ಲಿ, ವಹಿವಾಟುಗಳನ್ನು ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಕೈಗೊಳ್ಳಬೇಕು ಮತ್ತು ನಿಖರವಾದ ಸಮಯದ ಅನುಕ್ರಮಗಳು ಇದಕ್ಕೆ ನಿರ್ಣಾಯಕವಾಗಿವೆ.

ನಮ್ಮ ಫೋನ್‌ಗಳು, ಟ್ಯಾಬ್ಲೆಟ್‌ಗಳು, ಕಾರುಗಳು, GPS ಸಿಸ್ಟಮ್‌ಗಳು ಮತ್ತು ಕಂಪ್ಯೂಟರ್‌ಗಳಿಗೆ ನಿಖರವಾದ ಸಮಯ ಮತ್ತು ದಿನಾಂಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ. ನನ್ನ ಕಂಪ್ಯೂಟರ್ ಡೆಸ್ಕ್‌ಟಾಪ್‌ನಲ್ಲಿರುವ ಗಡಿಯಾರವು ಸರಿಯಾದ ಸಮಯವನ್ನು ತೋರಿಸಲು ನಾನು ಬಯಸುತ್ತೇನೆ. ನನ್ನ ಸ್ಥಳೀಯ ಕ್ಯಾಲೆಂಡರ್‌ನಲ್ಲಿ ಸರಿಯಾದ ಸಮಯದಲ್ಲಿ ಜ್ಞಾಪನೆಗಳು ಕಾಣಿಸಿಕೊಳ್ಳಬೇಕೆಂದು ನಾನು ಬಯಸುತ್ತೇನೆ. ಸರಿಯಾದ ಸಮಯವು ಕ್ರಾನ್ ಮತ್ತು ಸಿಸ್ಟಂಡ್ ಉದ್ಯೋಗಗಳು ಸರಿಯಾದ ಸಮಯದಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಲಾಗಿಂಗ್‌ಗೆ ದಿನಾಂಕ ಮತ್ತು ಸಮಯವೂ ಮುಖ್ಯವಾಗಿದೆ, ಆದ್ದರಿಂದ ದಿನಾಂಕ ಮತ್ತು ಸಮಯದ ಆಧಾರದ ಮೇಲೆ ಕೆಲವು ಲಾಗ್‌ಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಸ್ವಲ್ಪ ಸುಲಭವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ನಾನು ಒಮ್ಮೆ DevOps ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಿದ್ದೇನೆ (ಆ ಸಮಯದಲ್ಲಿ ಅವರು ಅದನ್ನು ಕರೆಯಲಿಲ್ಲ) ಉತ್ತರ ಕೆರೊಲಿನಾ ರಾಜ್ಯದಲ್ಲಿ ಇಮೇಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಹೊಂದಿಸಲು. ನಾವು ದಿನಕ್ಕೆ 20 ಮಿಲಿಯನ್ ಇಮೇಲ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತಿದ್ದೆವು. ಸರ್ವರ್‌ಗಳ ಸರಣಿಯಾದ್ಯಂತ ಇಮೇಲ್ ಅನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು ಅಥವಾ ಭೌಗೋಳಿಕವಾಗಿ ಚದುರಿದ ಹೋಸ್ಟ್‌ಗಳಲ್ಲಿ ಲಾಗ್ ಫೈಲ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಈವೆಂಟ್‌ಗಳ ನಿಖರವಾದ ಅನುಕ್ರಮವನ್ನು ನಿರ್ಧರಿಸುವುದು ಅನುಗುಣವಾದ ಕಂಪ್ಯೂಟರ್‌ಗಳು ಸಮಯ ಸಿಂಕ್ರೊನೈಸ್ ಆಗಿದ್ದರೆ ಹೆಚ್ಚು ಸುಲಭವಾಗಿರುತ್ತದೆ.

ಒಂದು ಬಾರಿ - ಹಲವು ಗಂಟೆಗಳು

ಲಿನಕ್ಸ್ ಹೋಸ್ಟ್‌ಗಳು ಸಿಸ್ಟಮ್ ಸಮಯ ಮತ್ತು RTC ಸಮಯವಿದೆ ಎಂದು ತಿಳಿದಿರಬೇಕು. RTC (ರಿಯಲ್ ಟೈಮ್ ಕ್ಲಾಕ್) ಎನ್ನುವುದು ಹಾರ್ಡ್‌ವೇರ್ ಗಡಿಯಾರಕ್ಕೆ ಸ್ವಲ್ಪ ವಿಚಿತ್ರ ಮತ್ತು ನಿರ್ದಿಷ್ಟವಾಗಿ ನಿಖರವಾದ ಹೆಸರಲ್ಲ.

ಸಿಸ್ಟಮ್‌ನ ಮದರ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿರುವ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಆಫ್ ಮಾಡಿದಾಗಲೂ ಹಾರ್ಡ್‌ವೇರ್ ಗಡಿಯಾರ ನಿರಂತರವಾಗಿ ಚಲಿಸುತ್ತದೆ. ಸಮಯ ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕವು ಲಭ್ಯವಿಲ್ಲದಿದ್ದಾಗ ಸಮಯವನ್ನು ಸಂಗ್ರಹಿಸುವುದು RTC ಯ ಮುಖ್ಯ ಕಾರ್ಯವಾಗಿದೆ. ಇಂಟರ್ನೆಟ್ ಮೂಲಕ ಸಮಯ ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಅಸಾಧ್ಯವಾದ ಆ ದಿನಗಳಲ್ಲಿ, ಪ್ರತಿ ಕಂಪ್ಯೂಟರ್‌ಗೆ ನಿಖರವಾದ ಆಂತರಿಕ ಗಡಿಯಾರ ಇರಬೇಕು. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂಗಳು ಬೂಟ್ ಸಮಯದಲ್ಲಿ RTC ಅನ್ನು ಪ್ರವೇಶಿಸಬೇಕಾಗಿತ್ತು ಮತ್ತು ಬಳಕೆದಾರರು BIOS ಹಾರ್ಡ್‌ವೇರ್ ಕಾನ್ಫಿಗರೇಶನ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸಿಸ್ಟಮ್ ಸಮಯವನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಹೊಂದಿಸಬೇಕಾಗಿತ್ತು ಮತ್ತು ಅದು ಸರಿಯಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು.

ಹಾರ್ಡ್‌ವೇರ್ ಗಡಿಯಾರಗಳು ಸಮಯ ವಲಯಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ; RTC ಸಮಯವನ್ನು ಮಾತ್ರ ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಸಮಯ ವಲಯ ಅಥವಾ UTC ನಿಂದ ಆಫ್‌ಸೆಟ್ ಅಲ್ಲ (ಸಂಯೋಜಿತ ಯುನಿವರ್ಸಲ್ ಟೈಮ್, ಇದನ್ನು GMT ಅಥವಾ ಗ್ರೀನ್‌ವಿಚ್ ಮೀನ್ ಟೈಮ್ ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ). ಈ ಲೇಖನದಲ್ಲಿ ನಾನು ನಂತರ ಚರ್ಚಿಸುವ ಉಪಕರಣವನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು RTC ಅನ್ನು ಸ್ಥಾಪಿಸಬಹುದು.

ಸಿಸ್ಟಮ್ ಸಮಯವು ನಿಮ್ಮ ಡೆಸ್ಕ್‌ಟಾಪ್‌ನಲ್ಲಿನ GUI ಗಡಿಯಾರದಲ್ಲಿ, ದಿನಾಂಕದ ಆಜ್ಞೆಯ ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ, ಲಾಗ್ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳಲ್ಲಿ OS ಪ್ರದರ್ಶಿಸುವ ಸಮಯವಾಗಿದೆ. ಫೈಲ್‌ಗಳನ್ನು ರಚಿಸಿದಾಗ, ಮಾರ್ಪಡಿಸಿದ ಮತ್ತು ತೆರೆಯುವ ಸಮಯಗಳಿಗೂ ಇದು ಅನ್ವಯಿಸುತ್ತದೆ.

ಪುಟದಲ್ಲಿ ಆರ್ಟಿಸಿಗಾಗಿ ಮನುಷ್ಯ RTC ಮತ್ತು ಸಿಸ್ಟಮ್ ಗಡಿಯಾರದ ಸಂಪೂರ್ಣ ವಿವರಣೆ ಇದೆ.

NTP ಯಲ್ಲಿ ಏನಾಗಿದೆ?

NTP ಸರ್ವರ್‌ಗಳ ಶ್ರೇಣಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಿತ ಉಲ್ಲೇಖ ಗಡಿಯಾರಗಳೊಂದಿಗೆ ತಮ್ಮ ಸಮಯವನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲು ಪ್ರಪಂಚದಾದ್ಯಂತದ ಕಂಪ್ಯೂಟರ್‌ಗಳು NTP (ನೆಟ್‌ವರ್ಕ್ ಟೈಮ್ ಪ್ರೋಟೋಕಾಲ್) ಅನ್ನು ಬಳಸುತ್ತವೆ. ಮುಖ್ಯ ಸಮಯದ ಸರ್ವರ್‌ಗಳು ಲೇಯರ್ 1 ರಲ್ಲಿ ನೆಲೆಗೊಂಡಿವೆ ಮತ್ತು ಅವುಗಳು ನೇರವಾಗಿ ಉಪಗ್ರಹ, ರೇಡಿಯೋ ಅಥವಾ ಮೊಡೆಮ್‌ಗಳ ಮೂಲಕ ಟೆಲಿಫೋನ್ ಲೈನ್‌ಗಳ ಮೂಲಕ ಲೇಯರ್ 0 ನಲ್ಲಿನ ವಿವಿಧ ರಾಷ್ಟ್ರೀಯ ಸಮಯ ಸೇವೆಗಳಿಗೆ ನೇರವಾಗಿ ಸಂಪರ್ಕ ಹೊಂದಿವೆ. 0 ಹಂತದಲ್ಲಿರುವ ಸಮಯ ಸೇವೆಗಳು ಪರಮಾಣು ಗಡಿಯಾರ, ಪರಮಾಣು ಗಡಿಯಾರಗಳಿಂದ ಹರಡುವ ಸಂಕೇತಗಳಿಗೆ ಟ್ಯೂನ್ ಮಾಡಲಾದ ರೇಡಿಯೋ ರಿಸೀವರ್ ಅಥವಾ GPS ಉಪಗ್ರಹಗಳಿಂದ ಹರಡುವ ಹೆಚ್ಚಿನ ನಿಖರವಾದ ಗಡಿಯಾರ ಸಂಕೇತಗಳನ್ನು ಬಳಸುವ GPS ರಿಸೀವರ್ ಆಗಿರಬಹುದು.

ಬಹುಪಾಲು ರೆಫರೆನ್ಸ್ ಸರ್ವರ್‌ಗಳು ಹಲವಾರು ಸಾವಿರ ಸಾರ್ವಜನಿಕ NTP ಸ್ಟ್ರಾಟಮ್ 2 ಸರ್ವರ್‌ಗಳನ್ನು ಎಲ್ಲರಿಗೂ ತೆರೆದಿರುತ್ತವೆ. ಎನ್‌ಟಿಪಿ ಸರ್ವರ್‌ಗೆ ಅಗತ್ಯವಿರುವ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಹೋಸ್ಟ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ಅನೇಕ ಸಂಸ್ಥೆಗಳು ಮತ್ತು ಬಳಕೆದಾರರು (ನನ್ನನ್ನೂ ಸೇರಿಸಿಕೊಳ್ಳಲಾಗಿದೆ) ತಮ್ಮದೇ ಆದ ಸಮಯ ಸರ್ವರ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ಆಯ್ಕೆ ಮಾಡುತ್ತಾರೆ, ಆದ್ದರಿಂದ ಕೇವಲ ಒಂದು ಸ್ಥಳೀಯ ಹೋಸ್ಟ್ ಮಾತ್ರ ಸ್ಟ್ರಾಟಮ್ 2 ಅಥವಾ 3 ಅನ್ನು ಪ್ರವೇಶಿಸುತ್ತದೆ. ನಂತರ ಅವರು ನೆಟ್ವರ್ಕ್‌ನಲ್ಲಿ ಉಳಿದಿರುವ ಹೋಸ್ಟ್‌ಗಳನ್ನು ಬಳಸಲು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತಾರೆ ಸ್ಥಳೀಯ ಸಮಯ ಸರ್ವರ್. ನನ್ನ ಹೋಮ್ ನೆಟ್ವರ್ಕ್ನ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು ಲೇಯರ್ 3 ಸರ್ವರ್ ಆಗಿದೆ.

ವಿವಿಧ NTP ಅಳವಡಿಕೆಗಳು

NTP ಯ ಮೂಲ ಅನುಷ್ಠಾನವು ntpd ಆಗಿದೆ. ಇದು ನಂತರ ಎರಡು ಹೊಸ, chronyd ಮತ್ತು systemd-timesyncd ಸೇರಿಕೊಂಡಿತು. ಎಲ್ಲಾ ಮೂರು ಸ್ಥಳೀಯ ಹೋಸ್ಟ್ ಸಮಯವನ್ನು NTP ಸಮಯ ಸರ್ವರ್‌ನೊಂದಿಗೆ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುತ್ತದೆ. systemd-timesyncd ಸೇವೆಯು chronyd ನಂತೆ ವಿಶ್ವಾಸಾರ್ಹವಾಗಿಲ್ಲ, ಆದರೆ ಹೆಚ್ಚಿನ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಇದು ಸಾಕಾಗುತ್ತದೆ. RTC ಅನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡದಿದ್ದರೆ, ಸ್ಥಳೀಯ ಸಿಸ್ಟಮ್ ಸಮಯವು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಚಲಿಸಿದಾಗ NTP ಸರ್ವರ್‌ನೊಂದಿಗೆ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲು ಸಿಸ್ಟಮ್ ಸಮಯವನ್ನು ಕ್ರಮೇಣ ಸರಿಹೊಂದಿಸಬಹುದು. systemd-timesync ಸೇವೆಯನ್ನು ಸಮಯ ಸರ್ವರ್ ಆಗಿ ಬಳಸಲಾಗುವುದಿಲ್ಲ.

ಕ್ರೋನಿ ಎರಡು ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಒಳಗೊಂಡಿರುವ NTP ಅನುಷ್ಠಾನವಾಗಿದೆ: chronyd ಡೀಮನ್ ಮತ್ತು chronyc ಎಂಬ ಕಮಾಂಡ್ ಲೈನ್ ಇಂಟರ್ಫೇಸ್. ಕ್ರೋನಿ ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೊಂದಿದೆ ಅದು ಅನೇಕ ಸಂದರ್ಭಗಳಲ್ಲಿ ಸರಳವಾಗಿ ಅನಿವಾರ್ಯವಾಗಿದೆ:

  • ಹಳೆಯ ntpd ಸೇವೆಗಿಂತ ಹೆಚ್ಚು ವೇಗವಾಗಿ ಸಮಯ ಸರ್ವರ್‌ನೊಂದಿಗೆ Chrony ಸಿಂಕ್ ಮಾಡಬಹುದು. ಸಾರ್ವಕಾಲಿಕ ಚಾಲನೆಯಲ್ಲಿಲ್ಲದ ಲ್ಯಾಪ್‌ಟಾಪ್‌ಗಳು ಅಥವಾ ಡೆಸ್ಕ್‌ಟಾಪ್‌ಗಳಿಗೆ ಇದು ಒಳ್ಳೆಯದು.
  • ಇದು ಗಡಿಯಾರದ ವೇಗದಲ್ಲಿನ ಏರಿಳಿತಗಳನ್ನು ಸರಿದೂಗಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಹೋಸ್ಟ್ ನಿದ್ರಿಸಿದಾಗ ಅಥವಾ ಸ್ಲೀಪ್ ಮೋಡ್‌ಗೆ ಪ್ರವೇಶಿಸಿದಾಗ ಅಥವಾ ಆವರ್ತನದ ಜಿಗಿತದಿಂದಾಗಿ ಗಡಿಯಾರದ ವೇಗವು ಬದಲಾದಾಗ, ಇದು ಕಡಿಮೆ ಲೋಡ್‌ಗಳ ಅಡಿಯಲ್ಲಿ ಗಡಿಯಾರದ ವೇಗವನ್ನು ನಿಧಾನಗೊಳಿಸುತ್ತದೆ.
  • ಇದು ಅಸ್ಥಿರ ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕ ಅಥವಾ ನೆಟ್‌ವರ್ಕ್ ದಟ್ಟಣೆಗೆ ಸಂಬಂಧಿಸಿದ ಸಮಯದ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ.
  • ಇದು ನೆಟ್‌ವರ್ಕ್ ಲೇಟೆನ್ಸಿಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
  • ಆರಂಭಿಕ ಸಮಯದ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ನಂತರ, ಕ್ರೋನಿ ಎಂದಿಗೂ ಗಡಿಯಾರವನ್ನು ನಿಲ್ಲಿಸುವುದಿಲ್ಲ. ಇದು ಅನೇಕ ಸಿಸ್ಟಮ್ ಸೇವೆಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಸ್ಥಿರ ಮತ್ತು ಸ್ಥಿರವಾದ ಸಮಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.
  • ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕವಿಲ್ಲದಿದ್ದರೂ ಕ್ರೋನಿ ಕೆಲಸ ಮಾಡಬಹುದು. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಸ್ಥಳೀಯ ಹೋಸ್ಟ್ ಅಥವಾ ಸರ್ವರ್ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ನವೀಕರಿಸಬಹುದು.
  • ಕ್ರೋನಿ NTP ಸರ್ವರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದು.

ಮತ್ತೊಮ್ಮೆ, NTP ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದ್ದು, ಇದನ್ನು ಕ್ರೋನಿ ಅಥವಾ systemd-timesyncd ಅನ್ನು ಬಳಸಿಕೊಂಡು Linux ಹೋಸ್ಟ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು.

NTP, Chrony, ಮತ್ತು systemd-timesyncd RPM ಪ್ಯಾಕೇಜುಗಳು ಪ್ರಮಾಣಿತ ಫೆಡೋರಾ ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಲಭ್ಯವಿವೆ. systemd-udev RPM ಒಂದು ಕರ್ನಲ್ ಈವೆಂಟ್ ಮ್ಯಾನೇಜರ್ ಆಗಿದ್ದು ಅದನ್ನು ಫೆಡೋರಾದಲ್ಲಿ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ, ಆದರೆ ಬಳಕೆಗೆ ಅಗತ್ಯವಿಲ್ಲ.

ನೀವು ಮೂರನ್ನೂ ಸ್ಥಾಪಿಸಬಹುದು ಮತ್ತು ಅವುಗಳ ನಡುವೆ ಬದಲಾಯಿಸಬಹುದು, ಆದರೆ ಇದು ಅನಗತ್ಯ ತಲೆನೋವುಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ಹಾಗಾಗಿ ಮಾಡದಿರುವುದು ಉತ್ತಮ. Fedora, CentOS ಮತ್ತು RHEL ನ ಆಧುನಿಕ ಬಿಡುಗಡೆಗಳು ಕ್ರೋನಿಗೆ ಪ್ರಮಾಣಿತ ಅಳವಡಿಕೆಯಾಗಿ ಬದಲಾಗಿವೆ, ಜೊತೆಗೆ ಅವುಗಳು systemd-timesyncd ಅನ್ನು ಹೊಂದಿವೆ. ಕ್ರೋನಿ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ, NTP ಸೇವೆಗಿಂತ ಉತ್ತಮ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ, ಹೆಚ್ಚಿನ ಮಾಹಿತಿ ಮತ್ತು ಹೆಚ್ಚಿನ ನಿಯಂತ್ರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇದು ಸಿಸ್ಟಮ್ ನಿರ್ವಾಹಕರಿಗೆ ಖಂಡಿತವಾಗಿಯೂ ಮನವಿ ಮಾಡುತ್ತದೆ.

NTP ಸೇವೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ

ನಿಮ್ಮ ಹೋಸ್ಟ್ ಈಗಾಗಲೇ NTP ಸೇವೆ ಚಾಲನೆಯಲ್ಲಿರಬಹುದು. ಹಾಗಿದ್ದಲ್ಲಿ, ಬೇರೆ ಯಾವುದನ್ನಾದರೂ ಬದಲಾಯಿಸುವ ಮೊದಲು ನೀವು ಅದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ. ನಾನು ಕ್ರೋನಿಡ್ ಚಾಲನೆಯಲ್ಲಿದೆ ಆದ್ದರಿಂದ ನಾನು ಅದನ್ನು ನಿಲ್ಲಿಸಲು ಮತ್ತು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಗಳನ್ನು ಬಳಸಿದ್ದೇನೆ. ನಿಮ್ಮ ಹೋಸ್ಟ್‌ನಲ್ಲಿ ನೀವು ಚಲಾಯಿಸುತ್ತಿರುವ ಯಾವುದೇ NTP ಡೀಮನ್‌ಗೆ ಸೂಕ್ತವಾದ ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸಿ:

[root@testvm1 ~]# systemctl disable chronyd ; systemctl stop chronyd
Removed /etc/systemd/system/multi-user.target.wants/chronyd.service.
[root@testvm1 ~]#

ಸೇವೆಯನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ ಮತ್ತು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ:

[root@testvm1 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
     Loaded: loaded (/usr/lib/systemd/system/chronyd.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: man:chronyd(8)
             man:chrony.conf(5)
[root@testvm1 ~]#

ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ

ಸಿಸ್ಟಮ್ ಗಡಿಯಾರ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಸ್ಥಿತಿಯು NTP ಸೇವೆಯು ಚಾಲನೆಯಲ್ಲಿದೆಯೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ನೀವು ಇನ್ನೂ NTP ಅನ್ನು ಪ್ರಾರಂಭಿಸದ ಕಾರಣ, timesync-status ಆಜ್ಞೆಯು ಇದರ ಬಗ್ಗೆ ಸುಳಿವು ನೀಡುತ್ತದೆ:

[root@testvm1 ~]# timedatectl timesync-status
Failed to query server: Could not activate remote peer.

ನೇರ ಸ್ಥಿತಿ ವಿನಂತಿಯು ಪ್ರಮುಖ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಯಾವುದೇ ವಾದ ಅಥವಾ ನಿಯತಾಂಕಗಳಿಲ್ಲದ timedatectl ಆಜ್ಞೆಯು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸ್ಥಿತಿ ಉಪಕಮಾಂಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ:

[root@testvm1 ~]# timedatectl status
           Local time: Fri 2020-05-15 08:43:10 EDT  
           Universal time: Fri 2020-05-15 12:43:10 UTC  
                 RTC time: Fri 2020-05-15 08:43:08      
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: no                          
              NTP service: inactive                    
          RTC in local TZ: yes                    

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.
[root@testvm1 ~]#

ಇದು ನಿಮ್ಮ ಹೋಸ್ಟ್‌ನ ಸ್ಥಳೀಯ ಸಮಯ, UTC ಸಮಯ ಮತ್ತು RTC ಸಮಯವನ್ನು ನಿಮಗೆ ನೀಡುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಸಿಸ್ಟಂ ಸಮಯವನ್ನು ಅಮೇರಿಕಾ/ನ್ಯೂಯಾರ್ಕ್ (TZ) ಸಮಯ ವಲಯಕ್ಕೆ ಹೊಂದಿಸಲಾಗಿದೆ, RTC ಅನ್ನು ಸ್ಥಳೀಯ ಸಮಯ ವಲಯಕ್ಕೆ ಹೊಂದಿಸಲಾಗಿದೆ ಮತ್ತು NTP ಸೇವೆಯು ಸಕ್ರಿಯವಾಗಿಲ್ಲ. RTC ಸಮಯವು ಸಿಸ್ಟಂ ಸಮಯದಿಂದ ಸ್ವಲ್ಪ ವ್ಯತ್ಯಾಸಗೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸಿದೆ. ಗಡಿಯಾರಗಳನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡದ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ಇದು ಸಾಮಾನ್ಯವಾಗಿದೆ. ಹೋಸ್ಟ್‌ನಲ್ಲಿನ ಆಫ್‌ಸೆಟ್ ಮೊತ್ತವು ಸಿಸ್ಟಮ್ ಅನ್ನು ಕೊನೆಯದಾಗಿ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಿದ ನಂತರ ಕಳೆದ ಸಮಯವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ.

RTC ಗಾಗಿ ಸ್ಥಳೀಯ ಸಮಯವನ್ನು ಬಳಸುವ ಕುರಿತು ನಾವು ಎಚ್ಚರಿಕೆಯನ್ನು ಸ್ವೀಕರಿಸಿದ್ದೇವೆ - ಇದು ಸಮಯ ವಲಯ ಬದಲಾವಣೆಗಳು ಮತ್ತು ಹಗಲು ಉಳಿತಾಯ ಸಮಯ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತದೆ. ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಬೇಕಾದಾಗ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಆಫ್ ಮಾಡಿದರೆ, RTC ಸಮಯ ಬದಲಾಗುವುದಿಲ್ಲ. ಆದರೆ ಗಡಿಯಾರದ ಸುತ್ತ ಕೆಲಸ ಮಾಡುವ ಸರ್ವರ್‌ಗಳು ಅಥವಾ ಇತರ ಹೋಸ್ಟ್‌ಗಳಿಗೆ ಇದು ಸಮಸ್ಯೆಯಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, NTP ಸಮಯದ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಅನ್ನು ಒದಗಿಸುವ ಯಾವುದೇ ಸೇವೆಯು ಆರಂಭಿಕ ಆರಂಭಿಕ ಹಂತದಲ್ಲಿ ಹೋಸ್ಟ್‌ನ ಸಮಯವನ್ನು ಸರಿಹೊಂದಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಒಮ್ಮೆ ಪ್ರಾರಂಭ ಪೂರ್ಣಗೊಂಡಾಗ, ಸಮಯವು ಸರಿಯಾಗಿರುತ್ತದೆ.

ಸಮಯ ವಲಯವನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

ವಿಶಿಷ್ಟವಾಗಿ, ಅನುಸ್ಥಾಪನಾ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ನೀವು ಸಮಯ ವಲಯವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೀರಿ ಮತ್ತು ನೀವು ಅದನ್ನು ನಂತರ ಬದಲಾಯಿಸಬೇಕಾಗಿಲ್ಲ. ಆದಾಗ್ಯೂ, ನಿಮ್ಮ ಸಮಯ ವಲಯವನ್ನು ನೀವು ಬದಲಾಯಿಸಬೇಕಾದ ಸಂದರ್ಭಗಳಿವೆ. ಸಹಾಯ ಮಾಡುವ ಹಲವಾರು ಸಾಧನಗಳಿವೆ. ಹೋಸ್ಟ್‌ನ ಸ್ಥಳೀಯ ಸಮಯ ವಲಯವನ್ನು ನಿರ್ಧರಿಸಲು Linux ಸಮಯ ವಲಯ ಫೈಲ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಈ ಫೈಲ್‌ಗಳು ಡೈರೆಕ್ಟರಿಯಲ್ಲಿವೆ /usr/share/zoneinfo. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ನನ್ನ ಸಮಯ ವಲಯಕ್ಕಾಗಿ, ಸಿಸ್ಟಮ್ ಇದನ್ನು ಬರೆಯುತ್ತದೆ: /etc/ localtime -> ../usr/share/zoneinfo/America/New_York. ಆದರೆ ನಿಮ್ಮ ಸಮಯ ವಲಯವನ್ನು ಬದಲಾಯಿಸಲು ನೀವು ಅಂತಹ ಸೂಕ್ಷ್ಮತೆಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾಗಿಲ್ಲ.

ನಿಮ್ಮ ಸ್ಥಳ ಮತ್ತು ಅನುಗುಣವಾದ ಆಜ್ಞೆಯ ಅಧಿಕೃತ ಸಮಯ ವಲಯದ ಹೆಸರನ್ನು ತಿಳಿಯುವುದು ಕೀಲಿಯಾಗಿದೆ. ನೀವು ಸಮಯ ವಲಯವನ್ನು ಲಾಸ್ ಏಂಜಲೀಸ್‌ಗೆ ಬದಲಾಯಿಸಲು ಬಯಸುತ್ತೀರಿ ಎಂದು ಹೇಳೋಣ:


[root@testvm2 ~]# timedatectl list-timezones | column
<SNIP>
America/La_Paz                  Europe/Budapest
America/Lima                    Europe/Chisinau
America/Los_Angeles             Europe/Copenhagen
America/Maceio                  Europe/Dublin
America/Managua                 Europe/Gibraltar
America/Manaus                  Europe/Helsinki
<SNIP>

ಈಗ ನೀವು ನಿಮ್ಮ ಸಮಯ ವಲಯವನ್ನು ಹೊಂದಿಸಬಹುದು. ಬದಲಾವಣೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ನಾನು ದಿನಾಂಕ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿದ್ದೇನೆ, ಆದರೆ ನೀವು timedatectl ಅನ್ನು ಸಹ ಬಳಸಬಹುದು:

[root@testvm2 ~]# date
Tue 19 May 2020 04:47:49 PM EDT
[root@testvm2 ~]# timedatectl set-timezone America/Los_Angeles
[root@testvm2 ~]# date
Tue 19 May 2020 01:48:23 PM PDT
[root@testvm2 ~]#

ನೀವು ಇದೀಗ ನಿಮ್ಮ ಹೋಸ್ಟ್‌ನ ಸಮಯ ವಲಯವನ್ನು ಮತ್ತೆ ಸ್ಥಳೀಯ ಸಮಯಕ್ಕೆ ಬದಲಾಯಿಸಬಹುದು.

systemd-timesyncd

systemd ಟೈಮ್‌ಸಿಂಕ್ ಡೀಮನ್ NTP ಅಳವಡಿಕೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇದು systemd ಸಂದರ್ಭದಲ್ಲಿ ನಿರ್ವಹಿಸಲು ಸುಲಭವಾಗಿದೆ. ಇದನ್ನು ಫೆಡೋರಾ ಮತ್ತು ಉಬುಂಟುನಲ್ಲಿ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಇದು ಉಬುಂಟುನಲ್ಲಿ ಮಾತ್ರ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಚಲಿಸುತ್ತದೆ. ಇತರ ವಿತರಣೆಗಳ ಬಗ್ಗೆ ನನಗೆ ಖಚಿತವಿಲ್ಲ. ನೀವೇ ಪರಿಶೀಲಿಸಬಹುದು:

[root@testvm1 ~]# systemctl status systemd-timesyncd

systemd-timesyncd ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತಿದೆ

systemd-timesyncd ಗಾಗಿ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಆಗಿದೆ /etc/systemd/timesyncd.conf. ಇದು ಹಳೆಯ NTP ಮತ್ತು chronyd ಸೇವೆಗಳಿಗಿಂತ ಕಡಿಮೆ ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿರುವ ಸರಳ ಫೈಲ್ ಆಗಿದೆ. ನನ್ನ ಫೆಡೋರಾ ವರ್ಚುವಲ್ ಗಣಕದಲ್ಲಿ ಈ ಫೈಲ್‌ನ ವಿಷಯಗಳು (ಹೆಚ್ಚುವರಿ ಬದಲಾವಣೆಗಳಿಲ್ಲದೆ) ಇಲ್ಲಿವೆ:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.

[Time]
#NTP=
#FallbackNTP=0.fedora.pool.ntp.org 1.fedora.pool.ntp.org 2.fedora.pool.ntp.org 3.fedora.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048

ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ಇದು ಒಳಗೊಂಡಿರುವ ಏಕೈಕ ವಿಭಾಗವೆಂದರೆ [ಸಮಯ]. ಎಲ್ಲಾ ಇತರ ಸಾಲುಗಳನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಲಾಗಿದೆ. ಇವು ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳಾಗಿವೆ ಮತ್ತು ಅದನ್ನು ಬದಲಾಯಿಸುವ ಅಗತ್ಯವಿಲ್ಲ (ನೀವು ಹಾಗೆ ಮಾಡಲು ಕಾರಣವಿಲ್ಲದಿದ್ದರೆ). ನೀವು NTP= ಸಾಲಿನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ NTP ಸಮಯ ಪರಿಚಾರಕವನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಫೆಡೋರಾ ಫಾಲ್‌ಬ್ಯಾಕ್ ಟೈಮ್ ಸರ್ವರ್‌ಗೆ ಫೆಡೋರಾ ಡೀಫಾಲ್ಟ್ ಆಗುತ್ತದೆ. ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ನನ್ನ ಸಮಯ ಸರ್ವರ್ ಅನ್ನು ಸೇರಿಸುತ್ತೇನೆ:

NTP=myntpserver

ಟೈಮ್‌ಸಿಂಕ್ ಅನ್ನು ರನ್ ಮಾಡಿ

ನೀವು ಈ ರೀತಿ systemd-timesyncd ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು ಮತ್ತು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು:

[root@testvm2 ~]# systemctl enable systemd-timesyncd.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.timesync1.service → /usr/lib/systemd/system/systemd-timesyncd.service.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service → /usr/lib/systemd/system/systemd-timesyncd.service.
[root@testvm2 ~]# systemctl start systemd-timesyncd.service
[root@testvm2 ~]#

ಹಾರ್ಡ್‌ವೇರ್ ಗಡಿಯಾರವನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

ಟೈಮ್‌ಸಿಂಕ್ಡ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡಿದ ನಂತರ ಪರಿಸ್ಥಿತಿ ಹೀಗಿದೆ:

[root@testvm2 systemd]# timedatectl
               Local time: Sat 2020-05-16 14:34:54 EDT  
           Universal time: Sat 2020-05-16 18:34:54 UTC  
                 RTC time: Sat 2020-05-16 14:34:53      
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes                          
              NTP service: active                      
          RTC in local TZ: no    

ಆರಂಭದಲ್ಲಿ, RTC ಮತ್ತು ಸ್ಥಳೀಯ ಸಮಯದ (EDT) ನಡುವಿನ ವ್ಯತ್ಯಾಸವು ಒಂದು ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆಯಿರುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ಕೆಲವು ದಿನಗಳಲ್ಲಿ ವ್ಯತ್ಯಾಸವು ಒಂದೆರಡು ಸೆಕೆಂಡುಗಳಷ್ಟು ಹೆಚ್ಚಾಗುತ್ತದೆ. RTC ಸಮಯ ವಲಯಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ಹೊಂದಿಲ್ಲವಾದ್ದರಿಂದ, ಸರಿಯಾದ ಸಮಯ ವಲಯವನ್ನು ನಿರ್ಧರಿಸಲು timedatectl ಆಜ್ಞೆಯು ಹೋಲಿಕೆಯನ್ನು ಮಾಡಬೇಕು. RTC ಸಮಯವು ಸ್ಥಳೀಯ ಸಮಯಕ್ಕೆ ನಿಖರವಾಗಿ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ, ಅದು ಸ್ಥಳೀಯ ಸಮಯ ವಲಯಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ.

ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ಹುಡುಕುತ್ತಿರುವಾಗ, ನಾನು systemd-timesync ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಿದ್ದೇನೆ ಮತ್ತು ಇದನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ:

[root@testvm2 systemd]# systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
     Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: disabled)
     Active: active (running) since Sat 2020-05-16 13:56:53 EDT; 18h ago
       Docs: man:systemd-timesyncd.service(8)
   Main PID: 822 (systemd-timesyn)
     Status: "Initial synchronization to time server 163.237.218.19:123 (2.fedora.pool.ntp.org)."
      Tasks: 2 (limit: 10365)
     Memory: 2.8M
        CPU: 476ms
     CGroup: /system.slice/systemd-timesyncd.service
             └─822 /usr/lib/systemd/systemd-timesyncd

May 16 09:57:24 testvm2.both.org systemd[1]: Starting Network Time Synchronization...
May 16 09:57:24 testvm2.both.org systemd-timesyncd[822]: System clock time unset or jumped backwards, restoring from recorded timestamp: Sat 2020-05-16 13:56:53 EDT
May 16 13:56:53 testvm2.both.org systemd[1]: Started Network Time Synchronization.
May 16 13:57:56 testvm2.both.org systemd-timesyncd[822]: Initial synchronization to time server 163.237.218.19:123 (2.fedora.pool.ntp.org).
[root@testvm2 systemd]#

ಸಿಸ್ಟಮ್ ಸಮಯವನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ ಅಥವಾ ಮರುಹೊಂದಿಸಲಾಗಿದೆ ಎಂದು ಹೇಳುವ ಲಾಗ್ ಸಂದೇಶವನ್ನು ಗಮನಿಸಿ. Timesync ಸೇವೆಯು ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಅನ್ನು ಆಧರಿಸಿ ಸಿಸ್ಟಮ್ ಸಮಯವನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳನ್ನು ಟೈಮ್‌ಸಿಂಕ್ ಡೀಮನ್‌ನಿಂದ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಯಶಸ್ವಿ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಸಂಭವಿಸಿದಾಗ ಪ್ರತಿ ಬಾರಿ ರಚಿಸಲಾಗುತ್ತದೆ.

timedatectl ಆಜ್ಞೆಯು ಸಿಸ್ಟಮ್ ಗಡಿಯಾರದಿಂದ ಹಾರ್ಡ್‌ವೇರ್ ಗಡಿಯಾರದ ಮೌಲ್ಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿಲ್ಲ. ಇದು ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ನಮೂದಿಸಿದ ಮೌಲ್ಯದಿಂದ ಸಮಯ ಮತ್ತು ದಿನಾಂಕವನ್ನು ಮಾತ್ರ ಹೊಂದಿಸಬಹುದು. hwclock ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು RTC ಅನ್ನು ಸಿಸ್ಟಮ್ ಸಮಯದ ಅದೇ ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಸಬಹುದು:

[root@testvm2 ~]# /sbin/hwclock --systohc --localtime
[root@testvm2 ~]# timedatectl
               Local time: Mon 2020-05-18 13:56:46 EDT  
           Universal time: Mon 2020-05-18 17:56:46 UTC  
                 RTC time: Mon 2020-05-18 13:56:46      
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes                          
              NTP service: active                      
          RTC in local TZ: yes

--localtime ಆಯ್ಕೆಯು ಹಾರ್ಡ್‌ವೇರ್ ಗಡಿಯಾರವನ್ನು UTC ಗಿಂತ ಸ್ಥಳೀಯ ಸಮಯವನ್ನು ತೋರಿಸಲು ಹೇಳುತ್ತದೆ.

ನಿಮಗೆ RTC ಏಕೆ ಬೇಕು?

ಯಾವುದೇ NTP ಅನುಷ್ಠಾನವು ಪ್ರಾರಂಭದ ಸಮಯದಲ್ಲಿ ಸಿಸ್ಟಮ್ ಗಡಿಯಾರವನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಹಾಗಾದರೆ ಆರ್‌ಟಿಸಿ ಏಕೆ? ಇದು ಸಂಪೂರ್ಣವಾಗಿ ನಿಜವಲ್ಲ: ನೀವು ಸಮಯ ಸರ್ವರ್‌ಗೆ ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿದ್ದರೆ ಮಾತ್ರ ಇದು ಸಂಭವಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಅನೇಕ ವ್ಯವಸ್ಥೆಗಳು ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕಕ್ಕೆ ನಿರಂತರ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿಲ್ಲ, ಆದ್ದರಿಂದ ಹಾರ್ಡ್‌ವೇರ್ ಗಡಿಯಾರವು ಉಪಯುಕ್ತವಾಗಿದೆ ಆದ್ದರಿಂದ ಲಿನಕ್ಸ್ ಅದರ ಆಧಾರದ ಮೇಲೆ ಸಿಸ್ಟಮ್ ಸಮಯವನ್ನು ಹೊಂದಿಸಬಹುದು. ಇದು ನೈಜ ಸಮಯದಿಂದ ವಿಚಲನಗೊಳ್ಳಬಹುದಾದರೂ, ಸಮಯವನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಹೊಂದಿಸುವುದಕ್ಕಿಂತ ಉತ್ತಮವಾಗಿದೆ.

ತೀರ್ಮಾನಕ್ಕೆ

ಈ ಲೇಖನವು ದಿನಾಂಕ, ಸಮಯ ಮತ್ತು ಸಮಯ ವಲಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಕೆಲವು ಸಾಧನಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. systemd-timesyncd ಉಪಕರಣವು NTP ಕ್ಲೈಂಟ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ ಅದು ಸ್ಥಳೀಯ ಹೋಸ್ಟ್‌ನಲ್ಲಿ NTP ಸರ್ವರ್‌ನೊಂದಿಗೆ ಸಮಯವನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಬಹುದು. ಆದಾಗ್ಯೂ, systemd-timesyncd ಸರ್ವರ್ ಸೇವೆಯನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ನಿಮಗೆ NTP ಸರ್ವರ್ ಅಗತ್ಯವಿದ್ದರೆ, ಸರ್ವರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ನೀವು ಬೇರೆ ಯಾವುದನ್ನಾದರೂ ಬಳಸಬೇಕು - Chrony ನಂತಹ.

ನನ್ನ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಯಾವುದೇ ಸೇವೆಗಾಗಿ ಒಂದೇ ಅನುಷ್ಠಾನವನ್ನು ಹೊಂದಲು ನಾನು ಬಯಸುತ್ತೇನೆ, ಆದ್ದರಿಂದ ನಾನು ಕ್ರೋನಿಯನ್ನು ಬಳಸುತ್ತೇನೆ. ನಿಮಗೆ ಸ್ಥಳೀಯ ಎನ್‌ಟಿಪಿ ಸರ್ವರ್ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ ಅಥವಾ ಕ್ರೋನಿಯನ್ನು ಸರ್ವರ್‌ನಂತೆ ಮತ್ತು systemd-timesyncd ಅನ್ನು SNTP ಕ್ಲೈಂಟ್‌ನಂತೆ ಬಳಸಲು ನಿಮಗೆ ಮನಸ್ಸಿಲ್ಲದಿದ್ದರೆ. ಎಲ್ಲಾ ನಂತರ, ನೀವು systemd-timesyncd ನ ಕಾರ್ಯನಿರ್ವಹಣೆಯಲ್ಲಿ ತೃಪ್ತರಾಗಿದ್ದರೆ ಕ್ಲೈಂಟ್‌ನಂತೆ Chrony ನ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸುವ ಅಗತ್ಯವಿಲ್ಲ.

ಇನ್ನೊಂದು ಟಿಪ್ಪಣಿ: NTP ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನೀವು systemd ಉಪಕರಣಗಳನ್ನು ಬಳಸುವ ಅಗತ್ಯವಿಲ್ಲ. ನೀವು ntpd, Chrony, ಅಥವಾ ಇನ್ನೊಂದು NTP ಅನುಷ್ಠಾನದ ಹಳೆಯ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಬಹುದು. ಎಲ್ಲಾ ನಂತರ, systemd ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಸೇವೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ; ಅವುಗಳಲ್ಲಿ ಹಲವು ಐಚ್ಛಿಕವಾಗಿರುತ್ತವೆ, ಆದ್ದರಿಂದ ನೀವು ಅವುಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು ಮತ್ತು ಬದಲಿಗೆ ಬೇರೆ ಯಾವುದನ್ನಾದರೂ ಬಳಸಬಹುದು. ಇದು ಬೃಹತ್ ಏಕಶಿಲೆಯ ದೈತ್ಯಾಕಾರದಲ್ಲ. ನೀವು systemd ಅಥವಾ ಅದರ ಭಾಗಗಳನ್ನು ಇಷ್ಟಪಡದಿರಬಹುದು, ಆದರೆ ನೀವು ತಿಳುವಳಿಕೆಯುಳ್ಳ ನಿರ್ಧಾರವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕು.

ನಾನು systemd ನ NTP ಅಳವಡಿಕೆಯನ್ನು ಇಷ್ಟಪಡುತ್ತೇನೆ, ಆದರೆ ನಾನು ಕ್ರೋನಿಗೆ ಆದ್ಯತೆ ನೀಡುತ್ತೇನೆ ಏಕೆಂದರೆ ಅದು ನನ್ನ ಅಗತ್ಯಗಳಿಗೆ ಉತ್ತಮವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಇದು ಲಿನಕ್ಸ್, ಬೇಬಿ -)

ಜಾಹೀರಾತು ಹಕ್ಕುಗಳ ಮೇಲೆ

VDSina ನೀಡುತ್ತದೆ ಯಾವುದೇ ಕಾರ್ಯಕ್ಕಾಗಿ ಸರ್ವರ್‌ಗಳು, ಸ್ವಯಂಚಾಲಿತ ಅನುಸ್ಥಾಪನೆಗೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗಳ ಒಂದು ದೊಡ್ಡ ಆಯ್ಕೆ, ನಿಮ್ಮ ಸ್ವಂತದಿಂದ ಯಾವುದೇ OS ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿದೆ ಐಎಸ್ಒ, ಆರಾಮದಾಯಕ ನಿಯಂತ್ರಣ ಫಲಕ ಸ್ವಂತ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ದೈನಂದಿನ ಪಾವತಿ. ನಾವು ಶಾಶ್ವತವಾದ ಸರ್ವರ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ ಎಂದು ನಿಮಗೆ ನೆನಪಿಸೋಣ, ಅದು ಖಂಡಿತವಾಗಿಯೂ ಕಾಲಾತೀತವಾಗಿದೆ 😉

ಲಿನಕ್ಸ್ ಟೈಮ್ ಸಿಂಕ್ರೊನೈಸೇಶನ್: NTP, Chrony ಮತ್ತು systemd-timesyncd

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ