سرور مجازی اوبونتو: روش نصب هماهنگ کننده زمان در Ubuntu 16.04
زمان گیری دقیق تبدیل به یک جزو مهم و ضروری در توسعه نرم افزاری مدرن شده است.چه لاگ ها را به ترتیب درست نگهداری می کند یا آپدیت های پایگاه داده به درستی اعمال می شود یا نه، خارج شدن از زمان همگام می تواند باعث به وجود آمدن خطا،خرابی اطلاعات، و.. شود و خطازدایی را سخت کند.
سرور مجازی اوبونتو ۱۶٫۰۴ ، هماهنگ کننده زمان دارد و به طور پیش فرض از طریق استفاده از سرویس timesyncd مربوط به systemd فعال می شود.در این مقاله ما نگاهی به دستورات اصلی مربوط به زمان انداخته، تایید خواهیم کرد که timesyncd فعال است ، و یاد خواهیم گرفت که چگونه سرویس زمان شبکه متناوب را نصب کنیم.
پیش نیازها
قبل از شروع این آموزش ، به سرور مجازی اوبونتو ۱۶٫۰۴ نیاز دارید. برای سفارش این سرور می توانید به لینک زیر مراجعه نمایید:
فهرست کردن دستورات اصلی زمان
اصلی ترین دستور برای یافتن زمان سرور 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 را نصب کنید.اگر شما نیاز به نیازهای زمان گیری پیچیده تری از آنچه ما در اینجا گفته ایم دارید می توانید به این مرجع بروید و همچنین نگاهی به این بیندازید،
ترجمه شده توسط : آرزو رنجبرپور