سرور مجازی اوبونتو: روش نصب هماهنگ کننده زمان در Ubuntu 16.04

زمان گیری دقیق تبدیل به یک جزو مهم و ضروری در توسعه نرم افزاری مدرن شده است.چه لاگ ها را به ترتیب درست نگهداری می کند یا آپدیت های پایگاه داده به درستی اعمال می شود یا نه، خارج شدن از زمان همگام می تواند باعث به وجود آمدن خطا،خرابی اطلاعات، و.. شود و خطازدایی را سخت کند.
سرور مجازی اوبونتو ۱۶٫۰۴ ، هماهنگ کننده زمان دارد و به طور پیش فرض از طریق استفاده از سرویس timesyncd مربوط به systemd فعال می شود.در این مقاله ما نگاهی به دستورات اصلی مربوط به زمان انداخته، تایید خواهیم کرد که timesyncd فعال است ، و یاد خواهیم گرفت که چگونه سرویس زمان شبکه متناوب را نصب کنیم.

پیش نیازها

قبل از شروع این آموزش ، به سرور مجازی اوبونتو ۱۶٫۰۴ نیاز دارید. برای سفارش این سرور می توانید به لینک زیر مراجعه نمایید:

سفارش سرور sata

سفارش سرور ssd

فهرست کردن دستورات اصلی زمان

اصلی ترین دستور برای یافتن زمان سرور date است.هر کاربری می تواند این دستور را برای خروجی گرفتن از تاریخ و زمان به کار ببرد:

Date

 

Output
Wed Apr 26 17:44:38 UTC 2017

اکثر اوقات سرور شما به صورت پیش فرض بر روی منطقه زمانی UTC است ،همانطور که در خروجی بالا مشخص است. UTC ساعت هماهنگ جهانی ، ساعت عرض جغرافیایی صفر درجه است. هنگامی که زیرساخت شما مناطق زمانی متعددی را پوشش می دهد ، همیشه استفاده از زمان جهانی سردرگمی را کاهش می دهد.

اگر شما نیازمندی های مختلفی دارید و نیاز به تغییر منطقه زمانی دارید می توانید از دستور timedatectl استفاده کنید.
در ابتدا مناطق زمانی موجود را لیست کنید:

 

timedatectl list-timezones

لیست مناطق زمانی برای شما نمایش داده خواهد شد.می توانید SPACE را برای رفتن به پایین و b را برای رفتن به بالا فشار دهید.وقتیکه منطقه زمانی صحیح را پیدا کردید آن را یادداشت کنید سپس q را برای خارج شدن تایپ کنید.
حالا منطقه زمانی را به وسیله timedatectl set-timezone تنظیم کنید، مطمئن شوید که بخش پر رنگ را با منطقه زمانی که در لیست انتخاب کرده بودید جایگزین کنید.

شما نیاز به sudo به همراه timedatectl برای اعمال این تغییر خواهید داشت:

 

sudo timedatectl set-timezone America/New_York

شما می توانید تغییراتتان را توسط اجرای date دوباره تایید کنید:

date
Output
Wed Apr 26 13:55:45 EDT 2017

و منطقه زمانی جدید انتخاب شده باید نشان داده شود.

حالا که می دانیم چطور ساعت را چک کنیم و مناطق زمانی را تنظیم کنیم ،باید مطمئن شویم که زمان به طور درست همگام سازی شده است.

کنترل timesyncd با timedatectl

تا همین اواخر اکثر هماهنگ سازی زمان شبکه توسط برنامه پروتکل زمان شبکه یا ntpd انجام می گرفت . این سرور به مجموعه سرورهای NTP دیگر که آن را با آپدیت های زمان ثابت و دقیق فراهم می کنند وصل می شود.
نصب پیش فرض اوبونتو حالا به جای ntpd از timesyncd استفاده می کند. timesyncd به سرورهای زمانی مشابه وصل می شود و حدودا به روش مشابه کار می کند، اما سبک تر است و با systemd بیشتر یکپارچه است .
ما می توانیم از وضعیت timesyncd توسط اجرای timedatectl بدون آرگومنت ، کوئری بگیریم.شما نیاز به استفاده از sudo در این حالت ندارید:

Timedatectl

 

Output
Local time: Wed 2017-04-26 17:20:07 UTC
Universal time: Wed 2017-04-26 17:20:07 UTC
RTC time: Wed 2017-04-26 17:20:07
Time zone: Etc/UTC (UTC, +0000)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no

این خروجی زمان محلی،زمان جهانی (که ممکن است مشابه زمان محلی باشد اگر منطقه زمانی UTC را عوض نکرده باشید ) و بعضی اطلاعات وضعیت زمانی شبکه را به ما نشان می دهد. Network time on: yesبه این معنی است که timesyncd فعال است و NTP synchronized: yes نشان می دهد که زمان با موفقیت هماهنگ شده است.

اگر timesyncd فعال نشده باشد، با timedatectl روشنش کنید:

sudo timedatectl set-ntp on

timedatectl را برای تایید وضعیت زمان شبکه ،دوباره اجرا کنید. ممکن است یک دقیقه طول بکشد تا هماهنگ سازی واقعی انجام شود.اما در نهایت Network time on: و NTP synchronized: باید yes باشند.

تعویض به ntpd

اگرچه timesyncd برای بیشتر منظورها خوب است،بعضی نرم افزارها که حتی به کوچکترین اختلالات حساسند در موقع خود بهتر است از ntpdسرویس بگیرند.به این دلیل که آن از تکنیک های پیچیده بیشتر به طور مداوم و به تدریج برای نگه داشتن زمان سیستم در مسیر استفاده می کند.
قبل از نصب ntpdما باید timesyncd را خاموش کنیم:

 

sudo timedatectl set-ntp no

تایید اینکه timesyncd خاموش است :

Timedatectl

در خروجی به دنبال Network time on: no بگردید.این به این معنی است که timesyncd متوقف شده است.ما حالا می توانیم بسته ntp را توسط apt-get نصب کنیم :

sudo apt-get install ntp

ntpd به صورت اتوماتیک بعد از نصب شروع خواهد شد.شما می توانید از ntpd برای اطلاعات وضعیت ، کوئری بگیرید برای تایید اینکه همه چیز کار می کند:

sudo ntpq –p
Output
remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
۰٫ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
۱٫ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
۲٫ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
۳٫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
-makaki.miuku.ne 210.23.25.77     2 u   45   64    3  248.007   -0.489   1.137
-۶۹٫۱۰٫۱۶۱٫۷     ۱۴۴٫۱۱۱٫۲۲۲٫۸۱   ۳ u   43   64    3   90.551    4.316   0.550
+static-ip-85-25 130.149.17.21    2 u   42   64    3   80.044   -2.829   0.900
+zepto.mcl.gg    192.53.103.108   2 u   40   64    3   83.331   -0.385   0.391

Ntpq یک ابزار کوئری برای ntpd است . پرچم –p اطلاعاتی در مورد سرورهای NTP(یا همتاهایش) که ntpd به آن وصل شده است، می پرسد.خروجی شما قدری متفاوت خواهد بود اما باید مجموعه سرورهای اوبونتو پیش فرض به علاوه چند تای دیگر را لیست کند.به یاد داشته باشید که ممکن است چند دقیقه طول بکشد تا ntpd اتصالات را برقرار کند.

نتیجه گیری

در این مقاله ما نشان داده ایم که چگونه زمان سیستم را مشاهده کنید،منطقه زمانی را تغییر دهید با timesyncd پیش فرض اوبونتو کار کنید، و ntpd را نصب کنید.اگر شما نیاز به نیازهای زمان گیری پیچیده تری از آنچه ما در اینجا گفته ایم دارید می توانید به این مرجع بروید و همچنین نگاهی به این بیندازید،

منبع

ترجمه شده توسط : آرزو رنجبرپور

لینک کوتاه مقاله :