| bmc-watchdog(8) | دستورات سیستم | bmc-watchdog(8) |
نام (NAME)
bmc-watchdog - دیمن و ابزار کنترلی تایمر سگنگهبان BMC
خلاصه دستور (SYNOPSIS)
bmc-watchdog command [OPTION...] [COMMAND_OPTIONS...]
توضیحات (DESCRIPTION)
برنامه Bmc-watchdog یک تایمر سگنگهبان (watchdog timer) مربوط به کنترلکننده مدیریت برد اصلی (BMC) را کنترل میکند. ابزار bmc-watchdog معمولاً به صورت یک کرونجاب (cronjob) یا دیمن (daemon) برای مدیریت تایمر سگنگهبان اجرا میشود. کاربر برای اجرای bmc-watchdog باید دسترسی ریشه (root) داشته باشد.
در زیر جزئیات bmc-watchdog ، جزئیات گزینهها، مثالها و مشکلات شناختهشده آورده شده است. برای آشنایی عمومی با FreeIPMI لطفاً به freeipmi(7) مراجعه کنید.
جزئیات سگنگهبان BMC (BMC WATCHDOG DETAILS)
تایمر سگنگهبان BMC بخشی از مشخصات واسط مدیریت بستر هوشمند (IPMI) است و تنها برای BMCهایی که با IPMI سازگار هستند در دسترس است. هنگامی که یک تایمر سگنگهبان BMC راهاندازی میشود، شمارش معکوس را از یک مقدار مثبت ثانیه به سمت صفر آغاز میکند. زمانی که تایمر به صفر برسد، یک وقفه پیش از اتمام زمان (pre-timeout interrupt) و/یا اقدام اتمام زمان (timeout action) که از پیش پیکربندی شده است را اجرا میکند.
برای جلوگیری از اجرای وقفه پیش از اتمام زمان یا اقدام اتمام زمان، تایمر سگنگهبان باید به صورت دورهای به مقدار اولیه خود بازنشانی (reset) شود.
تایمر سگنگهبان BMC هنگام راهاندازی مجدد دستگاه به طور خودکار متوقف میشود. بنابراین، زمانی که دستگاه بالا میآید، تایمر سگنگهبان BMC باید قبل از استفاده مجدداً تنظیم شود.
معمولاً از تایمر سگنگهبان BMC برای بازنشانی خودکار دستگاهی که دچار فروپاشی (crash) شده است استفاده میشود. هنگامی که سیستمعامل برای نخستین بار راهاندازی میشود، تایمر BMC روی مقدار شمارش معکوس اولیه خود تنظیم میگردد. در فواصل زمانی دورهای، هنگامی که سیستمعامل به درستی کار میکند، تایمر سگنگهبان میتواند توسط سیستمعامل یا یک برنامه فضای کاربری بازنشانی شود؛ بنابراین تایمر هرگز به صفر نمیرسد. هنگامی که سیستم دچار فروپاشی شود، تایمر نمیتواند توسط سیستمعامل یا برنامه فضای کاربری بازنشانی شود. در نهایت، شمارش معکوس تایمر به صفر رسیده و دستگاه را بازنشانی میکند.
برای مشاهده مثالهایی از نحوه استفاده رایج از bmc-watchdog ، به بخش «مثالها (EXAMPLES)» در زیر مراجعه کنید.
دستورات (COMMANDS)
دستورات زیر برای bmc-watchdog در دسترس هستند.
- -s, --set
- تنظیم پیکربندی سگنگهبان BMC. مقادیر پیکربندی تایمر سگنگهبان BMC را میتوان با استفاده از گزینههای دستور set که در زیر در بخش «گزینههای تنظیم (SET OPTIONS)» فهرست شدهاند، تنظیم کرد. اگر یک پارامتر پیکربندی خاص در خط فرمان مشخص نشود، پیکربندی فعلی آن پارامتر تغییری نخواهد کرد.
- -g, --get
- دریافت پیکربندی و وضعیت سگنگهبان BMC. پیکربندی و وضعیت فعلی در خروجی استاندارد چاپ میشود.
- -r, --reset
- بازنشانی تایمر سگنگهبان BMC.
- -t, --start
- شروع به کار تایمر سگنگهبان BMC. اگر تایمر در حال حاضر در حال اجرا باشد، هیچ کاری انجام نمیدهد. در صورت متوقف بودن تایمر، این دستور با دستور --reset یکسان است، به استثنای گزینههای دستور start که در زیر در بخش «گزینههای شروع (START OPTIONS)» فهرست شدهاند.
- -y, --stop
- توقف تایمر سگنگهبان BMC. تایمر فعلی را متوقف میکند.
- -c, --clear
- پاک کردن پیکربندی سگنگهبان BMC. تمام مقادیر پیکربندی تایمر سگنگهبان را پاک میکند، به جز مورد مصرف تایمر (timer use) که در مقدار فعلی خود باقی میماند.
- -d, --daemon
- اجرای bmc-watchdog به عنوان یک دیمن. گزینههای قابل پیکربندی تایمر سگنگهبان BMC در زیر در بخش «گزینههای دیمن (DAEMON OPTIONS)» فهرست شدهاند. مقادیر پیکربندی یک بار تنظیم میشوند، سپس دیمن تایمر را در فواصل زمانی مشخص بازنشانی خواهد کرد. دیمن را میتوان با استفاده از دستور --stop، دستور --clear یا با تنظیم پرچم stop_timer در دستور --set متوقف کرد.
گزینههای عمومی (GENERAL OPTIONS)
گزینههای زیر، گزینههای عمومی برای پیکربندی ارتباطات IPMI و اجرای دستورات عمومی ابزار هستند. این گزینهها عمومی بوده و توسط هر دستوری قابل استفاده هستند.
- -D IPMIDRIVER, --driver-type=IPMIDRIVER
- مشخص کردن نوع درایور مورد استفاده به جای انتخاب خودکار. درایورهای درونباند (in-band) در دسترس فعلی عبارتند از: KCS، SSIF، OPENIPMI، SUNBMC و INTELDCMI.
- --disable-auto-probe
- دستگاههای IPMI درونباند برای تنظیمات پیشفرض پویش (probe) نشوند.
- --driver-address=DRIVER-ADDRESS
- مشخص کردن آدرس درایور درونباند برای استفاده به جای مقدار پویششده. DRIVER-ADDRESS برای مقادیر هگزادسیمال باید با «0x» و برای مقادیر هشتهشتی (octal) با «0» پیشوندگذاری شود.
- --driver-device=DEVICE
- مشخص کردن مسیر دستگاه درایور درونباند برای استفاده به جای مسیر پویششده.
- --register-spacing=REGISTER-SPACING
- مشخص کردن فاصله رجیسترهای درایور درونباند به جای مقدار پویششده. آرگومان بر حسب بایت است (یعنی فاصله رجیستر ۳۲ بیتی = ۴).
- --target-channel-number=CHANNEL-NUMBER
- مشخص کردن شماره کانال هدف درایور درونباند برای ارسال درخواستهای IPMI.
- --target-slave-address=SLAVE-ADDRESS
- مشخص کردن شماره اسلیو (slave) هدف درایور درونباند برای ارسال درخواستهای IPMI.
- -v, --verbose-logging
- افزایش جزئیات گزارشگیری (logging).
- -n, --no-logging
- خاموش کردن تمام گزارشگیریهای انجامشده توسط bmc-watchdog.
- --config-file=FILE
- مشخص کردن یک فایل پیکربندی جایگزین.
- -W WORKAROUNDS, --workaround-flags=WORKAROUNDS
- مشخص کردن راهکارهای رفع اشکال برای مسائل مربوط به عدم سازگاری تولیدکنندگان. چندین راهکار را میتوان با جدا کردن توسط ویرگول مشخص کرد. یک پرچم خط فرمان ویژه به نام «none» نشاندهنده عدم استفاده از راهکارها است (میتواند برای لغو پیشفرضهای پیکربندیشده مفید باشد). برای مشاهده فهرستی از راهکارهای موجود، بخش «راهکارهای رفع اشکال (WORKAROUNDS)» را در زیر ببینید.
- --debug
- فعال کردن حالت اشکالزدایی (debugging).
- -?, --help
- نمایش فهرست راهنما و خروج.
- --usage
- نمایش پیام نحوه استفاده و خروج.
- -V, --version
- نمایش نسخه برنامه و خروج.
گزینههای تنظیم (SET OPTIONS)
گزینههای زیر میتوانند توسط دستور set برای تنظیم یا پاک کردن پارامترهای مختلف پیکربندی سگنگهبان BMC استفاده شوند.
- -u INT, --timer-use=INT
- تنظیم مورد استفاده تایمر. مقدار استفاده از تایمر را میتوان روی یکی از موارد زیر تنظیم کرد: 1 = BIOS FRB2، 2 = BIOS POST، 3 = OS_LOAD، 4 = SMS OS، 5 = OEM.
- -m INT, --stop-timer=INT
- تنظیم پرچم توقف تایمر. مقدار پرچم 0 تایمر سگنگهبان فعلی BMC را متوقف میکند. مقدار 1 تایمر سگنگهبان فعلی را خاموش نمیکند.
- -l INT, --log=INT
- تنظیم پرچم گزارشگیری (Log). مقدار پرچم 0 گزارشگیری را روشن میکند. مقدار 1 گزارشگیری را خاموش میکند.
- -a INT, --timeout-action=INT
- تنظیم اقدام هنگام اتمام زمان (timeout action). اقدام اتمام زمان میتواند یکی از موارد زیر باشد: 0 = بدون اقدام (No action)، 1 = بازنشانی سختافزاری (Hard Reset)، 2 = خاموش کردن (Power Down)، 3 = چرخهزنی توان/ریستارت پاور (Power Cycle).
- -p INT, --pre-timeout-interrupt=INT
- تنظیم وقفه پیش از اتمام زمان (pre-timeout interrupt). وقفه پیش از اتمام زمان را میتوان روی یکی از موارد زیر تنظیم کرد: 0 = هیچکدام (None)، 1 = SMI، 2 = NMI، 3 = وقفه پیامرسانی (Messaging Interrupt).
- -z SECONDS, --pre-timeout-interval=SECONDS
- تنظیم بازه زمانی وقفه پیش از اتمام زمان بر حسب ثانیه.
- -F, --clear-bios-frb2
- پاک کردن پرچم استفاده از تایمر BIOS FRB2.
- -P, --clear-bios-post
- پاک کردن پرچم استفاده از تایمر BIOS POST.
- -L, --clear-os-load
- پاک کردن پرچم استفاده از تایمر بارگذاری سیستمعامل (OS Load).
- -S, --clear-sms-os
- پاک کردن پرچم استفاده از تایمر SMS/OS.
- -O, --clear-oem
- پاک کردن پرچم استفاده از تایمر OEM.
- -i SECONDS, --initial-countdown=SECONDS
- تنظیم شمارش معکوس اولیه بر حسب ثانیه.
- -w, --start-after-set
- شروع تایمر پس از دستور set در صورتی که تایمر متوقف باشد. این گزینه معمولاً زمانی کاربرد دارد که bmc-watchdog به عنوان یک کرونجاب (cronjob) استفاده میشود. از این گزینه میتوان برای شروع خودکار تایمر پس از اولین باری که تنظیم میشود استفاده کرد.
- -x, --reset-after-set
- بازنشانی تایمر پس از دستور set در صورتی که تایمر در حال اجرا باشد.
- -j, --start-if-stopped
- اگر تایمر متوقف باشد، دستور set اجرا نشود و فقط تایمر راهاندازی (start) شود.
- -k, --reset-if-running
- اگر تایمر در حال اجرا باشد، دستور set اجرا نشود و فقط تایمر بازنشانی (reset) شود. این گزینه معمولاً زمانی استفاده میشود که bmc-watchdog به عنوان یک کرونجاب به کار گرفته شده است. از این میتوان برای بازنشانی تایمر پس از راهاندازی اولیه آن استفاده کرد.
گزینههای شروع (START OPTIONS)
گزینههای زیر میتوانند توسط دستور start استفاده شوند.
- -G INT, --gratuitous-arp=INT
- تعلیق یا عدم تعلیق ARPهای بلاعوض (gratuitous ARPs) در حین اجرای تایمر BMC. مقدار پرچم 1، ARPهای بلاعوض را به حالت تعلیق درمیآورد. مقدار 0، آنها را تعلیق نمیکند. در صورت عدم تعیین این گزینه، ARPهای بلاعوض به حالت تعلیق درنمیآیند.
- -A INT, --arp-response=INT
- تعلیق یا عدم تعلیق پاسخهای ARP تولیدشده توسط BMC در حین اجرای تایمر BMC. مقدار پرچم 1، پاسخهای ARP را تعلیق میکند. مقدار 0، پاسخهای ARP را تعلیق نمیکند. در صورت عدم تعیین این گزینه، پاسخهای ARP تعلیق نخواهند شد.
گزینههای دیمن (DAEMON OPTIONS)
گزینههای زیر میتوانند توسط دستور daemon برای تنظیم پارامترهای پیکربندی اولیه سگنگهبان BMC استفاده شوند.
- -u INT, --timer-use=INT
- تنظیم مورد استفاده تایمر. مقدار استفاده از تایمر را میتوان روی یکی از موارد زیر تنظیم کرد: 1 = BIOS FRB2، 2 = BIOS POST، 3 = OS_LOAD، 4 = SMS OS، 5 = OEM.
- -l INT, --log=INT
- تنظیم پرچم گزارشگیری (Log). مقدار پرچم 0 گزارشگیری را روشن میکند. مقدار 1 گزارشگیری را خاموش میکند.
- -a INT, --timeout-action=INT
- تنظیم اقدام هنگام اتمام زمان (timeout action). اقدام اتمام زمان میتواند یکی از موارد زیر باشد: 0 = بدون اقدام (No action)، 1 = بازنشانی سختافزاری (Hard Reset)، 2 = خاموش کردن (Power Down)، 3 = چرخهزنی توان/ریستارت پاور (Power Cycle).
- -p INT, --pre-timeout-interrupt=INT
- تنظیم وقفه پیش از اتمام زمان (pre-timeout interrupt). وقفه پیش از اتمام زمان را میتوان روی یکی از موارد زیر تنظیم کرد: 0 = هیچکدام (None)، 1 = SMI، 2 = NMI، 3 = وقفه پیامرسانی (Messaging Interrupt).
- -z SECONDS, --pre-timeout-interval=SECONDS
- تنظیم بازه زمانی وقفه پیش از اتمام زمان بر حسب ثانیه.
- -F, --clear-bios-frb2
- پاک کردن پرچم استفاده از تایمر BIOS FRB2.
- -P, --clear-bios-post
- پاک کردن پرچم استفاده از تایمر BIOS POST.
- -L, --clear-os-load
- پاک کردن پرچم استفاده از تایمر بارگذاری سیستمعامل (OS Load).
- -S, --clear-sms-os
- پاک کردن پرچم استفاده از تایمر SMS/OS.
- -O, --clear-oem
- پاک کردن پرچم استفاده از تایمر OEM.
- -i SECONDS, --initial-countdown=SECONDS
- تنظیم شمارش معکوس اولیه بر حسب ثانیه.
- -G INT, --gratuitous-arp=INT
- تعلیق یا عدم تعلیق ARPهای بلاعوض (gratuitous ARPs) در حین اجرای تایمر BMC. مقدار پرچم 1، ARPهای بلاعوض را به حالت تعلیق درمیآورد. مقدار 0، آنها را تعلیق نمیکند. در صورت عدم تعیین این گزینه، ARPهای بلاعوض به حالت تعلیق درنمیآیند.
- -A INT, --arp-response=INT
- تعلیق یا عدم تعلیق پاسخهای ARP تولیدشده توسط BMC در حین اجرای تایمر BMC. مقدار پرچم 1، پاسخهای ARP را تعلیق میکند. مقدار 0، پاسخهای ARP را تعلیق نمیکند. در صورت عدم تعیین این گزینه، پاسخهای ARP تعلیق نخواهند شد.
- -e, --reset-period
- فاصله زمانی انتظار قبل از بازنشانی مجدد تایمر. مقدار پیشفرض ۶۰ ثانیه است.
خطاها (ERRORS)
خطاها در syslog ثبت (log) میشوند.
راهکارهای رفع اشکال (WORKAROUNDS)
با توجه به اینکه تولیدکنندگان متعددی پیادهسازیهای اختصاصی IPMI خود را ارائه میدهند، ممکن است برخی سازندگان پروتکلهای IPMI خود را به نادرستی پیادهسازی کرده باشند. موارد زیر تعدادی از راهکارهای موجود برای رفع مشکلات سازگاری کشفشده را شرح میدهند. در صورت امکان، راهکارها به گونهای پیادهسازی شدهاند که برای کاربر نامحسوس و شفاف (transparent) باشند. با این حال، برخی از آنها نیازمند مشخص کردن صریح توسط کاربر از طریق گزینه -W هستند.
سختافزارهای ذکرشده در زیر ممکن است تنها نشاندهنده سختافزارهایی باشند که مشکل در آنها کشف شده است. نسخههای جدیدتر سختافزار ممکن است مشکلات ذکرشده در زیر را برطرف کرده باشند. دستگاههای مشابه از تولیدکنندگان ممکن است همان مشکلات را نشان دهند یا ندهند. تولیدکنندگان مختلف ممکن است سفتافزار (firmware) خود را از همان توسعهدهنده سفتافزار IPMI لایسنس کرده باشند، بنابراین حتی اگر مادربرد شما در فهرست نباشد، امتحان کردن راهکارهای زیر ممکن است ارزشمند باشد.
اگر معتقدید سختافزار شما مشکل سازگاری دیگری دارد که نیاز به پیادهسازی راهکار دارد، لطفاً با نگهدارندگان FreeIPMI از طریق <freeipmi-users@gnu.org> یا <freeipmi-devel@gnu.org> تماس بگیرید.
assumeio - این پرچم راهکار فرض میکند که رابطهای درونباند (in-band interfaces) به جای نگاشت حافظه (memory-mapped) از طریق I/O سیستم ارتباط برقرار میکنند. این کار مشکل سیستمهایی را که آدرسهای پایه نامعتبر گزارش میدهند برطرف میکند. کاربرانی که با این مشکل مواجه میشوند ممکن است خطاهای «device not supported» یا «could not find inband device» را مشاهده کنند. این مشکل در HP ProLiant DL145 G1 مشاهده شده است.
spinpoll - این پرچم راهکار به برخی درایورهای درونباند (به ویژه درایور KCS) اطلاع میدهد که هنگام نظرسنجی (polling) به جای به خواب بردن فرایند، در حلقه بچرخند (spin). این کار میتواند زمان اجرای واقعی (wall clock running time) ابزارها را به طور قابلتوجهی بهبود بخشد، زیرا دانهبندی و دقت زمانبند سیستمعامل ممکن است بسیار بزرگتر از زمان لازم برای انجام یک تراکنش پیام IPMI باشد. با این حال، با چرخش مداوم (spinning)، ممکن است سیستم شما به دلیل سوئیچ نکردن پردازنده به وظایف دیگر، کار مفید کمتری انجام دهد.
ignorestateflag - این گزینه راهکار، پرچم وضعیت تایمر BMC (نشاندهنده در حال اجرا یا متوقف بودن تایمر) را در هنگام اجرا در حالت دیمن نادیده میگیرد. در برخی BMCها، این پرچم خراب است و حتی اگر تایمر BMC در حال اجرا باشد، هرگز آن را گزارش نمیدهد. این راهکار تغییرات در ثانیههای شمارش معکوس را رصد میکند تا تشخیص دهد تایمر در حال اجرا است یا متوقف شده است. با این نوع پیادهسازی، reset-period باید به اندازه کافی بزرگ باشد تا اطمینان حاصل شود که نوسانات جزئی در شمارش معکوس بر عملکرد این راهکار تأثیری نمیگذارد. به دلیل نحوه پیادهسازی این راهکار، اگر فرایند دیگری تایمر سگنگهبان را متوقف کند، ممکن است قابل تشخیص باشد. تأیید شده است که این گزینه مشکلات سازگاری را در دستگاههای Sun x4100، x4200 و x4500 برطرف میکند.
مثالها (EXAMPLES)
راهاندازی
یک دیمن bmc-watchdog
که در صورت
فروپاشی
سیستمعامل،
دستگاه را
پس از ۱۵
دقیقه (۹۰۰
ثانیه) ریست
میکند:
bmc-watchdog -d -u 4 -p 0 -a 1 -i 900
عیبیابی (DIAGNOSTICS)
در صورت اجرای موفقیتآمیز، وضعیت خروج 0 است. در صورت بروز خطا، وضعیت خروج 1 خواهد بود.
مشکلات شناختهشده (KNOWN ISSUES)
اگر Bmc-watchdog به درستی زمانبندی نشود، ممکن است در بازنشانی تایمر سگنگهبان ناموفق باشد. همیشه توصیه میشود که bmc-watchdog با اولویت زمانبندی بالا اجرا شود.
در برخی دستگاهها، در صورت تنظیم مورد استفاده تایمر روی چیزی غیر از SMS/OS، پردازشگر وقفه سختافزاری SMI Handler ممکن است پس از اتمام زمان تایمر سگنگهبان، یک پردازنده را غیرفعال کند.
گزارش اشکالات (REPORTING BUGS)
اشکالات را به <freeipmi-users@gnu.org> یا <freeipmi-devel@gnu.org> گزارش دهید.
حق نشر (COPYRIGHT)
حق نشر (C)
۲۰۰۷-۲۰۱۵ Lawrence
Livermore National Security, LLC.
حق نشر (C)
۲۰۰۴-۲۰۰۷ The
Regents of the University of California.
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) که توسط «بنیاد نرمافزارهای آزاد» منتشر شده است؛ چه نسخه ۳ مجوز و چه (به انتخاب خودتان) هر نسخه پس از آن، بازتوزیع کرده و/یا تغییر دهید.
همچنین ببینید (SEE ALSO)
freeipmi(7)
| 2026-08-27 | bmc-watchdog 1.6.19 |