.TH TIMEMASTER 8 "January 2021" "linuxptp" .SH "نام (NAME)" timemaster \- ابزار همگام‌سازی زمان سیستم با استفاده از NTP و PTP .SH "خلاصه دستور (SYNOPSIS)" .B timemaster [ .B \-nmqv ] [ .BI \-l " print-level" ] .BI \-f " file" .SH "توضیحات (DESCRIPTION)" برنامه \fBtimemaster\fR ابزاری است که از \fBptp4l\fR و \fBphc2sys\fR در ترکیب با \fBchronyd\fR یا \fBntpd\fR برای همگام‌سازی ساعت سیستم با منابع زمانی NTP و PTP استفاده می‌کند. زمان PTP توسط \fBphc2sys\fR و \fBptp4l\fR از طریق ساعت مرجع SOCK به \fBchronyd\fR یا ساعت مرجع SHM به \fBntpd\fR ارائه می‌شود، که می‌توانند تمام منابع زمانی را مقایسه کرده و از بهترین منابع برای همگام‌سازی ساعت سیستم استفاده نمایند. .PP در هنگام شروع، \fBtimemaster\fR یک فایل پیکربندی را می‌خواند که منابع زمانی NTP و PTP را مشخص می‌کند، بررسی می‌کند کدام رابط‌های شبکه دارای ساعت سخت‌افزاری PTP (PHC) مشترک هستند، فایل‌های پیکربندی را برای \fBptp4l\fR و \fBchronyd\fR/\fBntpd\fR تولید می‌کند و در صورت نیاز فرآیندهای \fBptp4l\fR، \fBphc2sys\fR و \fBchronyd\fR/\fBntpd\fR را آغاز می‌کند. سپس، منتظر دریافت سیگنال می‌ماند تا فرآیندها را متوقف کرده، فایل‌های پیکربندی تولیدشده را حذف کند و خارج شود. .SH "گزینه‌ها (OPTIONS)" .TP .BI \-f " file" مسیر فایل پیکربندی \fBtimemaster\fR را مشخص می‌کند. .TP .BI \-n برنامه‌ها را اجرا نمی‌کند؛ تنها فایل‌های پیکربندی آن‌ها و دستوراتی را که در صورت عدم تعیین این گزینه اجرا می‌شدند، چاپ می‌کند. .TP .BI \-l " level" حداکثر سطح syslog پیام‌هایی را که باید در خروجی چاپ شوند یا به سیستم ثبت وقایع (syslog) ارسال گردند، تعیین می‌کند. مقدار پیش‌فرض 6 (LOG_INFO) است. .TP .B \-m پیام‌ها را در خروجی استاندارد چاپ می‌کند. .TP .B \-q پیام‌ها را به سیستم ثبت وقایع ارسال نمی‌کند. .TP .B \-v نسخه نرم‌افزار را چاپ کرده و خارج می‌شود. .TP .BI \-h پیام راهنما را نمایش داده و خارج می‌شود. .SH "فایل پیکربندی (CONFIGURATION FILE)" فایل پیکربندی به بخش‌های مختلفی تقسیم می‌شود. هر بخش با خطی شامل نام آن در میان براکت‌ها آغاز شده و در ادامه تنظیمات مربوطه قرار می‌گیرند. هر تنظیم در یک خط جداگانه قرار دارد و شامل نام گزینه و مقدار آن است که با نویسه‌های فاصله از یکدیگر جدا شده‌اند. خطوط خالی و خطوطی که با # شروع می‌شوند نادیده گرفته خواهند شد. .PP بخش‌هایی که می‌توانند در فایل پیکربندی استفاده شوند و گزینه‌هایی که می‌توان در آن‌ها تنظیم کرد، در زیر شرح داده شده‌اند. .SS [timemaster] .TP .B ntp_program پیاده‌سازی NTP مورد نظر را انتخاب می‌کند. مقادیر مجاز \fBchronyd\fR و \fBntpd\fR هستند. مقدار پیش‌فرض \fBchronyd\fR است. محدودیت‌های این پیاده‌سازی‌ها که مرتبط با پیکربندی timemaster هستند در بخش \fBنکات (NOTES)\fR فهرست شده است. .TP .B rundir دایرکتوری محل ایجاد فایل‌های پیکربندی و سوکت‌های \fBchronyd\fR، \fBntpd\fR و \fBptp4l\fR را مشخص می‌کند. اگر این دایرکتوری وجود نداشته باشد، ایجاد خواهد شد. مقدار پیش‌فرض \fB/var/run/timemaster\fR است. .TP .B first_shm_segment شماره نخستین قطعه از توالی قطعات حافظه مشترک (SHM) را که توسط \fBptp4l\fR و \fBphc2sys\fR استفاده خواهند شد، مشخص می‌کند. مقدار پیش‌فرض 0 است. افزایش این شماره می‌تواند برای جلوگیری از تداخل با منابع زمانی که توسط \fBtimemaster\fR راه‌اندازی نشده‌اند (به عنوان مثال \fBgpsd\fR که از قطعات شماره 0 و 1 استفاده می‌کند) مفید باشد. .TP .B restart_processes راه‌اندازی مجدد فرآیندهای آغازشده توسط \fBtimemaster\fR را فعال یا غیرفعال می‌کند. اگر این گزینه روی یک مقدار غیر صفر تنظیم شود، تمامی فرآیندها به‌جز \fBchronyd\fR و \fBntpd\fR در صورت خاتمه یافتن، و به شرطی که \fBtimemaster\fR حداقل برای یک ثانیه در حال اجرا بوده باشد (یعنی فرآیند به دلیل خطای پیکربندی متوقف نشده باشد)، به‌طور خودکار دوباره راه‌اندازی می‌شوند. اگر فرآیندی خاتمه یابد و دوباره راه‌اندازی نشود، \fBtimemaster\fR سایر فرآیندها را متوقف کرده و با وضعیت خروجی غیر صفر خارج می‌شود. مقدار پیش‌فرض 1 (فعال) است. .TP .B use_vclocks همگام‌سازی با ساعت‌های مجازی را فعال یا غیرفعال می‌کند. در صورت فعال بودن، \fBtimemaster\fR ساعت‌های مجازی را در حال اجرا بر روی ساعت‌های فیزیکی مورد نیاز دامنه‌های PTP پیکربندی‌شده ایجاد می‌کند. این کار ثبت مهر زمانی سخت‌افزاری را برای چندین نمونه \fBptp4l\fR که از یک رابط شبکه مشترک استفاده می‌کنند، امکان‌پذیر می‌سازد. مقدار پیش‌فرض \-1 است که در صورت اجرا بر روی لینوکس 5.18 یا جدیدتر، ساعت‌های مجازی را فعال می‌کند. .SS [ntp_server address] بخش \fBntp_server\fR یک سرور NTP را مشخص می‌کند که باید به عنوان منبع زمان استفاده شود. نشانی سرور در نام بخش گنجانده می‌شود. .TP .B minpoll .TQ .B maxpoll حداقل و حداکثر فاصله زمانی نظرسنجی پروتکل NTP را به عنوان توان‌هایی از دو بر حسب ثانیه مشخص می‌کند. مقادیر پیش‌فرض به ترتیب 6 (64 ثانیه) و 10 (1024 ثانیه) هستند. فواصل زمانی نظرسنجی کوتاه‌تر معمولاً دقت را به‌طور چشمگیری بهبود می‌بخشند، اما فقط زمانی باید استفاده شوند که گردانندگان سرویس NTP اجازه داده باشند (سرورهای عمومی NTP عموماً اجازه پرس‌وجوهای بسیار مکرر را نمی‌دهند). اگر سرور NTP در همان شبکه محلی (LAN) قرار دارد، فواصل زمانی نظرسنجی حدود 4 (16 ثانیه) ممکن است بهترین دقت را ارائه دهند. .TP .B iburst ارسال یک رگبار از بسته‌های NTP در هنگام راه‌اندازی برای سرعت بخشیدن به همگام‌سازی اولیه را فعال یا غیرفعال می‌کند. مقادیر ممکن 1 و 0 هستند. مقدار پیش‌فرض 0 (غیرفعال) است. .TP .B ntp_options گزینه‌های اضافی را مشخص می‌کند که باید برای این منبع به دستورالعمل \fBserver\fR در فایل پیکربندی پیاده‌سازی NTP انتخاب‌شده اضافه شوند. به‌طور پیش‌فرض هیچ گزینه اضافی اضافه نمی‌شود. .SS [ptp_domain number] بخش \fBptp_domain\fR یک دامنه PTP را مشخص می‌کند که باید به عنوان منبع زمان استفاده شود. شماره دامنه PTP در نام بخش گنجانده می‌شود. نمونه‌های \fBptp4l\fR به گونه‌ای پیکربندی می‌شوند که در حالت \fBclientOnly\fR اجرا شوند. در این بخش حداقل گزینه \fBinterfaces\fR باید تعیین شود؛ سایر گزینه‌ها اختیاری هستند. .TP .B interfaces مشخص می‌کند که کدام رابط‌های شبکه باید برای این دامنه PTP استفاده شوند. یک نمونه جداگانه از \fBptp4l\fR برای هر گروه از رابط‌هایی که از یک PHC مشترک استفاده می‌کنند و برای هر رابطی که فقط از مهر زمانی نرم‌افزاری پشتیبانی می‌کند، راه‌اندازی خواهد شد. مهر زمانی سخت‌افزاری به‌طور خودکار فعال می‌شود. اگر یک رابط با مهر زمانی سخت‌افزاری در دامنه‌های PTP دیگر نیز مشخص شده باشد و ساعت‌های مجازی غیرفعال باشند، تنها نمونه \fBptp4l\fR مربوط به نخستین دامنه PTP از مهر زمانی سخت‌افزاری استفاده خواهد کرد. .TP .B ntp_poll فاصله زمانی نظرسنجی ساعت مرجع SOCK/SHM را که نمونه‌ها را از \fBptp4l\fR یا \fBphc2sys\fR می‌خواند، مشخص می‌کند. این مقدار به عنوان توانی از دو بر حسب ثانیه مشخص می‌شود. مقدار پیش‌فرض 2 (4 ثانیه) است. .TP .B phc2sys_poll فاصله زمانی نظرسنجی استفاده‌شده توسط \fBphc2sys\fR را برای خواندن ساعت PTP همگام‌شده توسط \fBptp4l\fR و به‌روزرسانی نمونه SOCK/SHM برای \fBchronyd\fR/\fBntpd\fR مشخص می‌کند. این مقدار به عنوان توانی از دو بر حسب ثانیه مشخص می‌شود. مقدار پیش‌فرض 0 (1 ثانیه) است. .TP .B delay حداکثر تاخیر رفت و برگشت فرضی به منبع اصلی زمان در این دامنه PTP را مشخص می‌کند. این مقدار در فاصله استفاده‌شده توسط \fBchronyd\fR در الگوریتم انتخاب منبع برای شناسایی منابع نامعتبر (falsetickers) و تخصیص وزن‌ها جهت ترکیب منابع گنجانده می‌شود. مقدار پیش‌فرض 1e\-4 (100 میکروثانیه) است. در \fBntpd\fR، دستور \fBtos mindist\fR می‌تواند برای تعیین محدوده‌ای با هدف مشابه به صورت سراسری برای تمام منابع زمانی استفاده شود. .TP .B ntp_options گزینه‌های اضافی را مشخص می‌کند که باید برای این منبع به دستورالعمل‌های \fBrefclock\fR یا \fBserver\fR در فایل پیکربندی پیاده‌سازی NTP انتخاب‌شده اضافه شوند. به‌طور پیش‌فرض هیچ گزینه اضافی اضافه نمی‌شود. .TP .B ptp4l_option یک گزینه اضافی \fBptp4l\fR مخصوص این دامنه PTP را مشخص می‌کند که باید به فایل‌های پیکربندی تولیدشده برای \fBptp4l\fR اضافه شود. این گزینه ممکن است چندین بار در یک بخش \fBptp_domain\fR استفاده شود. .SS [chronyd] .TP .B path مسیر باینری \fBchronyd\fR را مشخص می‌کند. مقدار پیش‌فرض \fBchronyd\fR است که برای جستجوی فایل باینری در \fBPATH\fR استفاده می‌شود. .TP .B options گزینه‌های اضافی را مشخص می‌کند که باید به خط فرمان \fBchronyd\fR اضافه شوند. به‌طور پیش‌فرض هیچ گزینه اضافی اضافه نمی‌شود. .SS [chrony.conf] تنظیمات مشخص‌شده در این بخش مستقیماً در فایل پیکربندی تولیدشده برای \fBchronyd\fR کپی می‌شوند. اگر این بخش در فایل پیکربندی \fBtimemaster\fR وجود نداشته باشد، تنظیم زیر اضافه خواهد شد: .EX makestep 1 3 .EE این تنظیم \fBchronyd\fR را به گونه‌ای پیکربندی می‌کند که در سه به‌روزرسانی اول در صورتی که انحراف (offset) بزرگتر از 1 ثانیه باشد، ساعت سیستم را به صورت گامی (step) تنظیم کند. .SS [ntpd] .TP .B path مسیر باینری \fBntpd\fR را مشخص می‌کند. مقدار پیش‌فرض \fBntpd\fR است که برای جستجوی فایل باینری در \fBPATH\fR استفاده می‌شود. .TP .B options گزینه‌های اضافی را مشخص می‌کند که باید به خط فرمان \fBntpd\fR اضافه شوند. به‌طور پیش‌فرض هیچ گزینه اضافی اضافه نمی‌شود. .SS [ntp.conf] تنظیمات مشخص‌شده در این بخش مستقیماً در فایل پیکربندی تولیدشده برای \fBntpd\fR کپی می‌شوند. اگر این بخش در فایل پیکربندی \fBtimemaster\fR وجود نداشته باشد، تنظیمات زیر اضافه خواهند شد: .EX restrict default nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 .EE این تنظیم \fBntpd\fR را برای استفاده از محدودیت‌های پیش‌فرض امن پیکربندی می‌کند. .SS [phc2sys] .TP .B path مسیر باینری \fBphc2sys\fR را مشخص می‌کند. مقدار پیش‌فرض \fBphc2sys\fR است که برای جستجوی فایل باینری در \fBPATH\fR استفاده می‌شود. .TP .B options گزینه‌های اضافی را مشخص می‌کند که باید به تمام خطوط فرمان \fBphc2sys\fR اضافه شوند. به‌طور پیش‌فرض، \fB\-l 5\fR به خطوط فرمان اضافه می‌شود. .SS [ptp4l] .TP .B path مسیر باینری \fBptp4l\fR را مشخص می‌کند. مقدار پیش‌فرض \fBptp4l\fR است که برای جستجوی فایل باینری در \fBPATH\fR استفاده می‌شود. .TP .B options گزینه‌های اضافی را مشخص می‌کند که باید به تمام خطوط فرمان \fBptp4l\fR اضافه شوند. به‌طور پیش‌فرض، \fB\-l 5\fR به خطوط فرمان اضافه می‌شود. .SS [ptp4l.conf] تنظیمات مشخص‌شده در این بخش مستقیماً در بخش سراسری (global) فایل‌های پیکربندی تولیدشده برای تمام نمونه‌های \fBptp4l\fR کپی می‌شوند. هیچ محتوای پیش‌فرضی برای این بخش وجود ندارد. .PP بخش‌های دیگر (مانند \fB[unicast_master_table]\fR) ممکن است در اینجا مشخص شوند، اما خطوطی که با براکت شروع می‌شوند باید دارای پیشوند نویسه \fB>\fR باشند تا از تجزیه آن توسط \fBtimemaster\fR به عنوان آغاز بخش دیگری جلوگیری شود. .SH "نکات (NOTES)" برای بهترین دقت، معمولاً \fBchronyd\fR نسبت به \fBntpd\fR ترجیح داده می‌شود؛ همچنین ساعت سیستم را سریع‌تر همگام‌سازی می‌کند. با این حال، هر دو پیاده‌سازی NTP محدودیت‌هایی دارند که باید پیش از انتخاب مورد مناسب برای استفاده در یک پیکربندی معین \fBtimemaster\fR در نظر گرفته شوند. .PP محدودیت‌های \fBchronyd\fR عبارتند از: .RS در نسخه 1.31 و قدیمی‌تر، حداکثر تعداد ساعت‌های مرجع که می‌توانند همزمان استفاده شوند 8 عدد است. این امر تعداد PHCها و رابط‌هایی را که با استفاده از ثبت زمان نرم‌افزاری می‌توان برای PTP به کار برد، محدود می‌کند. .PP استفاده از فواصل نظرسنجی (گزینه‌های \fBminpoll\fR، \fBmaxpoll\fR و \fBntp_poll\fR) کوتاه‌تر از 2 (4 ثانیه) در نسخه‌های قبل از 1.30 توصیه نمی‌شود. با نسخه 1.30 و جدیدتر، می‌توان از مقادیر 0 یا 1 برای منابع NTP و مقادیر منفی برای منابع PTP (\fBntp_poll\fR) جهت مشخص کردن فواصل زمانی زیر یک ثانیه استفاده کرد. .RE .PP محدودیت‌های \fBntpd\fR عبارتند از: .RS در نسخه‌های قبل از 4.2.8p1، تنها دو قطعه حافظه مشترک اول ایجادشده توسط درایور ساعت مرجع SHM در \fBntpd\fR دارای دسترسی فقط-مالک (owner-only) هستند. سایر قطعات با دسترسی همگانی (world access) ایجاد می‌شوند که به هر کاربری در سیستم امکان نوشتن در این قطعات و ایجاد اختلال یا به دست گرفتن کنترل همگام‌سازی ساعت را می‌دهد. در 4.2.8p1 این دسترسی با گزینه mode قابل پیکربندی شد که توسط \fBtimemaster\fR روی دسترسی فقط-مالک تنظیم می‌شود. .PP کوتاه‌ترین فاصله زمانی نظرسنجی برای تمام منابع 3 (8 ثانیه) است. .PP دقت نانوثانیه در درایور ساعت مرجع SHM در نسخه 4.2.7p303 و جدیدتر پشتیبانی می‌شود؛ نسخه‌های قدیمی‌تر تنها دارای دقت میکروثانیه هستند. .RE .SH "مثال‌ها (EXAMPLES)" یک فایل پیکربندی کمینه با استفاده از یک منبع NTP و دو منبع PTP به صورت زیر خواهد بود: .EX [ntp_server 10.1.1.1] [ptp_domain 0] interfaces eth0 [ptp_domain 1] interfaces eth1 .EE نمونه‌ای پیچیده‌تر با استفاده از تمام گزینه‌های \fBtimemaster\fR به صورت زیر است: .EX [ntp_server 10.1.1.1] minpoll 3 maxpoll 4 iburst 1 ntp_options key 12 [ptp_domain 0] interfaces eth0 eth1 ntp_poll 0 phc2sys_poll \-2 delay 10e\-6 ntp_options prefer ptp4l_option clock_servo linreg ptp4l_option delay_mechanism P2P [timemaster] ntp_program chronyd rundir /var/run/timemaster first_shm_segment 1 restart_processes 0 use_vclocks 0 [chronyd] path /usr/sbin/chronyd options [chrony.conf] makestep 1 3 logchange 0.5 rtcsync driftfile /var/lib/chrony/drift [ntpd] path /usr/sbin/ntpd options \-u ntp:ntp [ntp.conf] restrict default nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 driftfile /var/lib/ntp/drift [phc2sys] path /usr/sbin/phc2sys options \-l 5 [ptp4l] path /usr/sbin/ptp4l options [ptp4l.conf] logging_level 5 .EE .SH "همچنین ببینید (SEE ALSO)" .BR chronyd (8), .BR ntpd (8), .BR phc2sys (8), .BR ptp4l (8)