ipmiseld(8) ipmiseld ipmiseld(8)

ipmiseld - دیمن ثبت لاگ‌های رخداد سیستم (SEL) در IPMI

ipmiseld [OPTION...]

دیمن ipmiseld لاگ رخدادهای سیستم (SEL یا System Event Log) میزبان‌های مشخص‌شده را به صورت دوره‌ای بررسی (poll) کرده و آن‌ها را در syslog محلی ذخیره می‌کند. به‌طور پیش‌فرض، این دیمن نهایت تلاش خود را برای مدیریت بافر SEL راه دور به کار می‌گیرد تا اطمینان حاصل شود رخدادها هرگز از دست نمی‌روند. داده‌های ثبت لاگ اخیر روی دیسک ذخیره‌سازی موقت (cache) می‌شوند تا تضمین شود رخدادهای SEL در صورت راه‌اندازی مجدد سرویس‌گیرنده یا کارساز از دست نخواهند رفت.

بسیاری از گزینه‌های این دیمن بسیار شبیه به ابزار ipmi-sel(8) است. این دیمن می‌تواند به گونه‌ای پیکربندی شود که لاگ‌های میزبان محلی، یک میزبان راه دور یا محدوده‌ای از میزبان‌ها را در syslog محلی ثبت کند. پیکربندی می‌تواند از طریق آرگومان‌های خط فرمان ذکرشده در زیر یا از طریق فایل پیکربندی /etc/freeipmi//ipmiseld.conf انجام شود.

در زیر گزینه‌های عمومی IPMI، گزینه‌های اختصاصی ابزار، اطلاعات عیب‌یابی، اطلاعات مربوط به راهکارهای موقت، مثال‌ها و مشکلات شناخته‌شده فهرست شده‌اند. برای آشنایی عمومی با FreeIPMI لطفاً به freeipmi(7) مراجعه کنید.

گزینه‌های زیر گزینه‌های عمومی برای پیکربندی ارتباطات IPMI و اجرای دستورات عمومی ابزار هستند.

نوع درایور مورد استفاده را به جای انتخاب خودکار مشخص می‌کند. درایورهای برون‌باند (out-of-band) موجود در حال حاضر LAN و LAN_2_0 هستند که به ترتیب پروتکل‌های IPMI 1.5 و IPMI 2.0 را پیاده‌سازی می‌کنند. درایورهای درون‌باند (in-band) موجود در حال حاضر عبارتند از KCS، SSIF، OPENIPMI، SUNBMC و INTELDCMI.
عدم پویش خودکار دستگاه‌های IPMI درون‌باند برای تنظیمات پیش‌فرض.
نشانی درایور درون‌باند را به جای مقدار پویش‌شده تعیین می‌کند. برای مقادیر هگزادسیمال، DRIVER-ADDRESS باید با پیشوند «0x» و برای مقادیر هشت‌هشتی (octal) با «0» مشخص شود.
مسیر دستگاه درایور درون‌باند را به جای مسیر پویش‌شده مشخص می‌کند.
فاصله‌گذاری ثبات‌های درایور درون‌باند را به جای مقدار پویش‌شده مشخص می‌کند. آرگومان بر حسب بایت است (مثلاً فاصله‌گذاری ثبات‌های ۳۲ بیتی = ۴).
شماره کانال هدف درایور درون‌باند را برای ارسال درخواست‌های IPMI مشخص می‌کند.
نشانی تابع (slave address) هدف درایور درون‌باند را برای ارسال درخواست‌های IPMI مشخص می‌کند.
میزبان یا میزبان‌های راه دور را برای برقراری ارتباط مشخص می‌کند. نام چند میزبان را می‌توان با کاما جدا کرد یا در قالب محدوده مشخص نمود؛ بخش «پشتیبانی از محدوده میزبان‌ها (HOSTRANGED SUPPORT)» را در زیر ببینید. می‌توان یک پورت اختیاری را نیز همراه با هر میزبان مشخص کرد که در هدایت پورت (port forwarding) یا شرایط مشابه کاربرد دارد. در صورت تعیین نشانی و پورت IPv6، از قالب [ADDRESS]:PORT استفاده کنید.
نام کاربری مورد استفاده برای احراز هویت در میزبان راه دور را مشخص می‌کند. در صورت عدم تعیین، یک نام کاربری تهی (یعنی ناشناس) فرض می‌شود. کاربر برای کارکرد کامل این ابزار باید حداقل دارای سطح دسترسی USER باشد.
گذرواژه مورد استفاده برای احراز هویت در میزبان راه دور را مشخص می‌کند. در صورت عدم تعیین، یک گذرواژه تهی فرض می‌شود. حداکثر طول گذرواژه برای IPMI 1.5 برابر ۱۶ و برای IPMI 2.0 برابر ۲۰ نویسه است.
درخواست گذرواژه از طریق اعلان برای جلوگیری از نمایش احتمالی آن در فهرست فرآیندها.
کلید K_g متعلق به BMC را برای احراز هویت با میزبان راه دور در IPMI 2.0 مشخص می‌کند. در صورت عدم تعیین، یک کلید تهی فرض می‌شود. برای وارد کردن کلید در قالب هگزادسیمال، رشته را با «0x» آغاز کنید؛ برای نمونه، کلید 'abc' می‌تواند به صورت 'abc' یا '0x616263' وارد شود.
درخواست کلید k-g از طریق اعلان برای جلوگیری از نمایش احتمالی آن در فهرست فرآیندها.
مدت زمان انقضای نشست (session timeout) را بر حسب میلی‌ثانیه مشخص می‌کند. در صورت عدم تعیین، مقدار پیش‌فرض ۲۰۰۰۰ میلی‌ثانیه (۲۰ ثانیه) است.
مدت زمان انتظار برای ارسال مجدد بسته (retransmission timeout) را بر حسب میلی‌ثانیه مشخص می‌کند. در صورت عدم تعیین، مقدار پیش‌فرض ۱۰۰۰ میلی‌ثانیه (۱ ثانیه) است. زمان انتظار ارسال مجدد نمی‌تواند بیشتر از زمان انقضای نشست باشد.
نوع احراز هویت IPMI 1.5 را مشخص می‌کند. انواع احراز هویت موجود در حال حاضر عبارتند از NONE، STRAIGHT_PASSWORD_KEY، MD2 و MD5. در صورت عدم تعیین، مقدار پیش‌فرض MD5 است.
شناسه مجموعه الگوریتم‌های رمزنگاری (Cipher Suite ID) در IPMI 2.0 را مشخص می‌کند. شناسه Cipher Suite مجموعه‌ای از الگوریتم‌های احراز هویت، یکپارچگی و محرمانگی را برای ارتباطات IPMI 2.0 تعیین می‌کند. الگوریتم احراز هویت برای برپایی نشست، الگوریتم یکپارچگی برای امضای بسته‌های نشست و الگوریتم محرمانگی برای رمزنگاری محموله داده (payload) به کار می‌رود. در صورت عدم تعیین، شناسه پیش‌فرض ۳ است. شناسه‌های مجموعه‌های رمزنگاری پشتیبانی‌شده در حال حاضر عبارتند از:

0 - الگوریتم احراز هویت = None؛ الگوریتم یکپارچگی = None؛ الگوریتم محرمانگی = None

1 - الگوریتم احراز هویت = HMAC-SHA1؛ الگوریتم یکپارچگی = None؛ الگوریتم محرمانگی = None

2 - الگوریتم احراز هویت = HMAC-SHA1؛ الگوریتم یکپارچگی = HMAC-SHA1-96؛ الگوریتم محرمانگی = None

3 - الگوریتم احراز هویت = HMAC-SHA1؛ الگوریتم یکپارچگی = HMAC-SHA1-96؛ الگوریتم محرمانگی = AES-CBC-128

6 - الگوریتم احراز هویت = HMAC-MD5؛ الگوریتم یکپارچگی = None؛ الگوریتم محرمانگی = None

7 - الگوریتم احراز هویت = HMAC-MD5؛ الگوریتم یکپارچگی = HMAC-MD5-128؛ الگوریتم محرمانگی = None

8 - الگوریتم احراز هویت = HMAC-MD5؛ الگوریتم یکپارچگی = HMAC-MD5-128؛ الگوریتم محرمانگی = AES-CBC-128

11 - الگوریتم احراز هویت = HMAC-MD5؛ الگوریتم یکپارچگی = MD5-128؛ الگوریتم محرمانگی = None

12 - الگوریتم احراز هویت = HMAC-MD5؛ الگوریتم یکپارچگی = MD5-128؛ الگوریتم محرمانگی = AES-CBC-128

15 - الگوریتم احراز هویت = HMAC-SHA256؛ الگوریتم یکپارچگی = None؛ الگوریتم محرمانگی = None

16 - الگوریتم احراز هویت = HMAC-SHA256؛ الگوریتم یکپارچگی = HMAC_SHA256_128؛ الگوریتم محرمانگی = None

17 - الگوریتم احراز هویت = HMAC-SHA256؛ الگوریتم یکپارچگی = HMAC_SHA256_128؛ الگوریتم محرمانگی = AES-CBC-128

سطح دسترسی مورد استفاده را مشخص می‌کند. سطوح دسترسی موجود در حال حاضر عبارتند از USER، OPERATOR و ADMIN. در صورت عدم تعیین، مقدار پیش‌فرض OPERATOR است.
یک فایل پیکربندی جایگزین را مشخص می‌کند.
راهکارهای موقت برای رفع مشکلات عدم انطباق با استانداردهای سازندگان مختلف را مشخص می‌کند. چندین راهکار موقت را می‌توان با کاما از یکدیگر جدا کرد. مقدار ویژه «none» نشان‌دهنده عدم استفاده از هرگونه راهکار موقت است (برای لغو مقادیر پیش‌فرض پیکربندی کاربرد دارد). برای مشاهده فهرست راهکارهای موقت موجود، بخش «راهکارهای موقت (WORKAROUNDS)» را در زیر ببینید.
فعال‌سازی اشکال‌زدایی.
-?, --help
نمایش فهرست راهنما و خروج.
نمایش پیام نحوه استفاده و خروج.
نمایش نسخه برنامه و خروج.

گزینه‌های زیر مخصوص ipmiseld هستند.

ثبت اطلاعات با جزئیات بیشتر (verbose). این گزینه اطلاعات تکمیلی را لاگ می‌کند؛ به ویژه کدهای هگز بیشتری را برای ارائه اطلاعات در مورد ورودی‌ها یا رکوردهای مبهم SEL ثبت می‌کند. برای مثال، برای حسگرهای بدون نام، کدهای هگز شناسه تولیدکننده (Generator ID) را چاپ می‌کند. همچنین خطاها یا مسائل غیربحرانی دیگر مربوط به SEL ثبت خواهند شد. خطاهای متداول مانند انقضای زمان (timeout) یا نام‌های نامعتبر میزبان، با جزئیات بیشتری چاپ می‌شوند.
انواع حسگرهای رخدادهای SEL را برای ثبت در لاگ مشخص می‌کند. به‌طور پیش‌فرض، تمامی انواع حسگرها ثبت می‌شوند. مقدار ویژه «all» در خط فرمان نشان می‌دهد که تمامی انواع حسگرها باید نمایش داده شوند (برای لغو مقادیر پیش‌فرض پیکربندی مفید است). چندین نوع حسگر را می‌توان با کاما یا فاصله از یکدیگر جدا کرد. کاربران می‌توانند نوع حسگر را بر اساس نام رشته‌ای (گزینه --list-sensor-types در ipmi-sel(8) را ببینید) یا بر اساس عدد (ده‌دهی یا هگزادسیمال) مشخص کنند.
انواع حسگرهای رخدادهای SEL را برای عدم ثبت در لاگ مشخص می‌کند. به‌طور پیش‌فرض، هیچ نوع حسگری فیلتر نمی‌شود. مقدار ویژه «none» در خط فرمان نشان می‌دهد که هیچ نوعی نباید مستثنی شود (برای لغو مقادیر پیش‌فرض پیکربندی کاربرد دارد). چندین نوع را می‌توان با کاما یا فاصله از هم جدا کرد. کاربران می‌توانند نوع حسگر را بر اساس نام رشته‌ای (گزینه --list-sensor-types در ipmi-sel(8) را ببینید) یا بر اساس عدد (ده‌دهی یا هگزادسیمال) مشخص کنند.
فقط رکوردهای رخدادهای سیستمی را ثبت می‌کند (یعنی رکوردهای OEM لاگ نمی‌شوند).
فقط رکوردهای رخدادهای OEM را ثبت می‌کند (یعنی رکوردهای رخدادهای سیستمی لاگ نمی‌شوند).
یک فایل پیکربندی جایگزین برای وضعیت‌های رخداد مشخص می‌کند.
تلاش برای تفسیر داده‌های OEM، مانند داده‌های رخداد، مقادیر خوانده‌شده حسگرها یا اطلاعات عمومی تکمیلی و غیره. اگر تفسیری برای OEM در دسترس نباشد، خروجی پیش‌فرض تولید خواهد شد. صحت تفسیرهای OEM به دلیل تغییرات احتمالی سازندگان OEM در محصولات، میان‌افزارها و غیره قابل تضمین نیست. بخش «تفسیر OEM (OEM INTERPRETATION)» را در زیر برای مادربوردهایی که پشتیبانی آن‌ها تأیید شده است ببینید.
در صورت لزوم، نام حسگرها را به همراه پیشوند شناسه موجودیت (entity id) و شماره نمونه (instance number) آن‌ها چاپ می‌کند. این مورد ممکن است در برخی مادربوردها برای شناسایی اینکه حسگرها به چه چیزی اشاره دارند لازم باشد. برای مثال، یک مادربورد ممکن است چندین حسگر با نام 'TEMP' داشته باشد؛ شناسه موجودیت و شماره نمونه کمک می‌کنند تا مشخص شود کدام حسگر به "Processor 1" و کدام یک به "Processor 2" اشاره دارد.
چاپ واحدهای اندازه‌گیری به صورت کامل و غیرمخفف (مثلاً 'Amps' به جای 'A'). این گزینه می‌تواند به رفع ابهام واحدها کمک کند (مانند 'C' برای سلسیوس یا کولن).
وضعیت‌های رخدادی را که باید فیلتر شده و ثبت نشوند مشخص می‌کند. مقادیر مجاز عبارتند از NOMINAL، WARNING، CRITICAL و NA. چندین وضعیت را می‌توان با کاما جدا کرد. رشته ویژه «none» نشان می‌دهد که هیچ وضعیتی نباید مستثنی شود (برای لغو مقادیر پیش‌فرض پیکربندی کاربرد دارد).
آستانه هشدار پر بودن SEL را به صورت یک عدد صحیح بر حسب درصد مشخص می‌کند. هنگامی که میزان پر بودن SEL از این درصد عبور کند، هشداری مبنی بر اینکه SEL تقریباً پر شده است چاپ می‌شود. برای غیرفعال کردن لاگ‌های هشدار، مقدار ۰ را وارد کنید. مقدار پیش‌فرض ۸۰ است.
آستانه پاک‌سازی ظرفیت SEL را به صورت یک عدد صحیح بر حسب درصد مشخص می‌کند. هنگامی که میزان پر بودن SEL از این درصد عبور کند، ipmiseld تلاش خواهد کرد تا SEL را پاک‌سازی کند. برای غیرفعال کردن پاک‌سازی، مقدار ۰ را مشخص کنید. در صورت غیرفعال بودن پاک‌سازی، هنگام پر شدن SEL مسئولیت پاک‌سازی دستی آن بر عهده کاربر خواهد بود. مقدار پیش‌فرض ۰ است. در صورت تنظیم یک مقدار غیرصفر، دقت کنید که پاک‌سازی SEL می‌تواند بر سایر برنامه‌هایی که SEL را پایش می‌کنند تأثیر بگذارد، مانند برنامه‌های پایشی که از ipmi-sel(8) یا libipmimonitoring(3) استفاده می‌کنند.
قالب خروجی لاگ را در زمان مواجهه با یک رخداد سیستمی SEL مشخص می‌کند. مقدار پیش‌فرض در صورت ثبت محلی "SEL System Event: %d, %t, %s, %I, %E" و در صورت ثبت برون‌باند یا همراه با محدوده‌های میزبان "SEL System Event(%h): %d, %t, %s, %I, %E" است. بخش «رشته قالب لاگ SEL (SEL LOG FORMAT STRING)» را در زیر برای جزئیات قالب‌بندی ببینید.
قالب خروجی لاگ را در زمان مواجهه با یک رخداد دارای برچسب زمانی OEM در SEL مشخص می‌کند. مقدار پیش‌فرض در صورت ثبت محلی "SEL OEM Event: %d, %t, %I, %o" و در صورت ثبت برون‌باند یا همراه با محدوده‌های میزبان "SEL OEM Event(%h): %d, %t, %I, %o" است. بخش «رشته قالب لاگ SEL (SEL LOG FORMAT STRING)» را در زیر برای جزئیات قالب‌بندی ببینید.
قالب خروجی لاگ را در زمان مواجهه با یک رخداد بدون برچسب زمانی OEM در SEL مشخص می‌کند. مقدار پیش‌فرض در صورت ثبت محلی "SEL OEM Event: %I, %o" و در صورت ثبت برون‌باند یا همراه با محدوده‌های میزبان "SEL OEM Event(%h): %I, %o" است. بخش «رشته قالب لاگ SEL (SEL LOG FORMAT STRING)» را در زیر برای جزئیات قالب‌بندی ببینید.
بازه زمانی بررسی دوره‌ای (poll interval) SEL را برای یافتن رخدادهای جدید بر حسب ثانیه مشخص می‌کند. مقدار پیش‌فرض ۳۰۰ ثانیه (یعنی ۵ دقیقه) است.
بخش تسهیلات لاگ (log facility) مورد استفاده را مشخص می‌کند. مقدار پیش‌فرض LOG_DAEMON است. مقادیر معتبر عبارتند از LOG_DAEMON، LOG_USER، LOG_LOCAL0، LOG_LOCAL1، LOG_LOCAL2، LOG_LOCAL3، LOG_LOCAL4، LOG_LOCAL5، LOG_LOCAL6 و LOG_LOCAL7.
اولویت لاگ (log priority) مورد استفاده را مشخص می‌کند. مقدار پیش‌فرض LOG_ERR است. مقادیر معتبر عبارتند از LOG_EMERG، LOG_ALERT، LOG_CRIT، LOG_ERR، LOG_WARNING، LOG_NOTICE، LOG_INFO و LOG_DEBUG.
یک مسیر دایرکتوری حافظه موقت (cache) جایگزین برای استفاده توسط ipmiseld مشخص می‌کند. این دایرکتوری کش برای ذخیره طیف وسیعی از داده‌ها شامل SDR و اطلاعات لاگ‌های اخیر استفاده می‌شود تا اطمینان حاصل شود که ورودی‌های لاگ پس از راه‌اندازی مجدد سیستم یا سایر خرابی‌های سیستمی از دست نمی‌روند.
صرف‌نظر کردن از پردازش‌های مرتبط با SDR. ممکن است منجر به ارائه اطلاعات ناقص یا با کاربرد کمتر شود، اما عملکرد برنامه را برای سیستم‌های فاقد SDR یا در شرایطی که SDR صحیح بارگذاری نمی‌شود ممکن می‌سازد.
دانلود مجدد SDR در هنگام شروع، حتی اگر تاریخ‌گذشته نباشد. این گزینه ممکن است به رفع مشکل در سیستم‌هایی که زمان تغییر SDR را به درستی ثبت نمی‌کنند کمک کند.
در زمان شروع، هر SEL تحت نظارت را پاک‌سازی می‌کند. ممکن است در اولین اجرای ipmiseld برای جلوگیری از نمایش پیام‌های هشدار یا پاک‌سازی‌های SEL در آینده نزدیک مفید باشد.
تعداد ریسه‌ها (threads) را برای بررسی موازی SEL تعیین می‌کند. این گزینه بسیار شبیه به گزینه --fanout در ipmi-sel(8) است، اما برای پردازش سریع‌تر، ریسه‌ها فقط یک بار در مرحله راه‌اندازی ایجاد می‌شوند. مقدار پیش‌فرض ۸ است، اما اگر تعداد گره‌های مشخص‌شده کمتر از تعداد ریسه‌ها باشد، تعداد ریسه‌ها کاهش می‌یابد.
اجرا بدون تبدیل شدن به دیمن؛ خروجی SEL فعلی میزبان‌های پیکربندی‌شده را برای آزمایش تنظیمات و پیکربندی فعلی چاپ می‌کند. ورودی‌های SEL به جای syslog در خروجی استاندارد (stdout) چاپ می‌شوند.
اجرای دیمن در پیش‌زمینه (foreground). ورودی‌های SEL به جای syslog در خروجی استاندارد (stdout) چاپ خواهند شد.

قالب خروجی پیام‌های لاگ را می‌توان با استفاده از گزینه‌های --system-event-format، --oem-timestamped-event-format و --oem-non-timestamped-event-format تنظیم کرد. همچنین گزینه‌هایی نظیر --interpret-oem-data، --entity-sensor-names و --non-abbreviated-units می‌توانند قالب خروجی را بیشتر سفارشی‌سازی کنند. دستورالعمل‌های تبدیل زیر به کاربر اجازه می‌دهند تا جزئیات خاص هر رخداد رخ‌داده در SEL را در خروجی درج کند.

برای رخدادهای سیستمی، رخدادهای دارای برچسب زمانی OEM و رخدادهای فاقد برچسب زمانی OEM

%h - میزبان هدف؛ در زمان ثبت لاگ از چندین میزبان مفید است

%i - شناسه رکورد (record ID) به صورت ده‌دهی

%I - تفسیر وضعیت رخداد (NOMINAL، WARNING یا CRITICAL)

برای رخدادهای سیستمی و رخدادهای دارای برچسب زمانی OEM

%t - زمان در قالب H:M:S با ساعت ۲۴ ساعته

%d - تاریخ در قالب D-M-YEAR

برای رخدادهای سیستمی

%T - نوع حسگر

%s - نام حسگر

%e - رشته داده ۱ رخداد (event data 1)

%f - رشته داده ۲ رخداد (event data 2)

%h - رشته داده ۳ رخداد (event data 3)

%c - رشته ترکیبی داده ۲ و داده ۳ رخداد

%p - رشته وضعیت قبلی داده ۲ رخداد

%S - رشته شدت (severity) داده ۲ رخداد

%E - رشته ترکیبی داده‌های ۱، ۲ و ۳ رخداد

%k - جهت رخداد (event direction)

برای رخدادهای دارای برچسب زمانی OEM

%m - شناسه سازنده (manufacturer id)

برای رخدادهای دارای برچسب زمانی OEM و فاقد برچسب زمانی OEM

%o - داده‌های OEM به صورت هگزادسیمال

%O - رشته ارائه‌شده توسط OEM در توصیف رخداد (بسته به سازنده دارد)

چندین میزبان را می‌توان به عنوان یک فهرست صریح از نام میزبان‌ها که با کاما از هم جدا شده‌اند، یا به صورت محدوده‌ای از نام‌های میزبان در قالب کلی زیر وارد کرد: prefix[n-m,l-k,...] که در آن n < m و l < k و غیره است. قالب اخیر نباید با کلاس‌های نویسه‌ای عبارات باقاعده (که با [] نیز نشان داده می‌شوند) اشتباه گرفته شود. برای نمونه، foo[19] نشان‌دهنده foo1 یا foo9 نیست، بلکه یک محدوده تک‌عضوی است: foo19.

این نحو محدوده صرفاً برای راحتی کار در خوشه‌هایی با قرارداد نام‌گذاری prefixNN در نظر گرفته شده است و مشخص کردن محدوده‌ها ضروری نیست -- فهرست foo1,foo9 را می‌توان به همین صورت یا با محدوده foo[1,9] مشخص کرد.

چند نمونه از کاربرد محدوده در زیر آمده است:

foo[01-05] به جای foo01,foo02,foo03,foo04,foo05
foo[7,9-10] به جای foo7,foo9,foo10
foo[0-3] به جای foo0,foo1,foo2,foo3

به عنوان یادآوری، برخی پوسته‌ها براکت‌ها ([ و ]) را برای تطبیق الگو (pattern matching) تفسیر می‌کنند. بسته به پوسته شما، ممکن است لازم باشد فهرست‌های دامنه‌ای را داخل گیومه قرار دهید.

هنگامی که میزبان "localhost" مشخص شود، از ارتباطات درون‌باند IPMI استفاده خواهد شد. این کار به کاربر اجازه می‌دهد تا localhost را نیز در خروجی دامنه‌ای میزبان‌ها قرار دهد.

در اغلب موارد، مشکلات IPMI ناشی از خطاهای پیکربندی است.

مشکلات IPMI از طریق شبکه (IPMI over LAN) معمولاً مربوط به پیکربندی نادرست BMC در ماشین راه دور است. مجدداً بررسی کنید تا موارد زیر در BMC ماشین راه دور به درستی پیکربندی شده باشند: نشانی IP، نشانی MAC، ماسک زیرشبکه (subnet mask)، نام کاربری، وضعیت فعال بودن کاربر، سطح دسترسی کاربر، گذرواژه، سطح دسترسی شبکه (LAN privilege)، فعال بودن LAN، و نوع/انواع احراز هویت مجاز. برای اتصالات IPMI 2.0، مجدداً بررسی کنید که دسترسی‌های مجموعه‌های رمزنگاری و کلید K_g به درستی تنظیم شده باشند. ابزار ipmi-config(8) می‌تواند برای بررسی و/یا تغییر این تنظیمات پیکربندی استفاده شود.

مشکلات درون‌باند IPMI معمولاً به دلیل پیکربندی نادرست درایورها یا BMCهای غیراستاندارد رخ می‌دهند.

علاوه بر نکات عیب‌یابی زیر، لطفاً بخش «راهکارهای موقت (WORKAROUNDS)» را در زیر ببینید تا متوجه شوید آیا باگ‌های خاصی مربوط به سازندگان کشف و برطرف شده است یا خیر.

در زیر بسیاری از مشکلات متداول پیام‌های خطا آورده شده است. برای دریافت پشتیبانی بیشتر، لطفاً به لیست پستی <freeipmi-users@gnu.org> ایمیل ارسال کنید.

"username invalid" - نام کاربری واردشده (یا نام کاربری NULL در صورت عدم وارد کردن) روی ماشین راه دور در دسترس نیست. همچنین ممکن است پیکربندی نام کاربری در BMC راه دور نادرست باشد.

"password invalid" - گذرواژه واردشده (یا گذرواژه NULL در صورت عدم وارد کردن) صحیح نیست. همچنین ممکن است گذرواژه کاربر در BMC راه دور به درستی تنظیم نشده باشد.

"password verification timeout" - مهلت زمانی تأیید گذرواژه به پایان رسیده است. خطای "password invalid" (شرح داده‌شده در بالا) یا خطای عمومی "session timeout" (شرح داده‌شده در زیر) رخ داده است. در این نقطه از پروتکل نمی‌توان مشخص کرد کدام یک رخ داده است.

"k_g invalid" - کلید K_g واردشده (یا کلید K_g تهی در صورت عدم وارد کردن) نادرست است. همچنین ممکن است کلید K_g در BMC راه دور به درستی تنظیم نشده باشد.

"privilege level insufficient" - یک دستور IPMI نیازمند سطح دسترسی کاربری بالاتری نسبت به سطح احراز هویت‌شده فعلی است. لطفاً سعی کنید با سطح دسترسی بالاتری احراز هویت کنید. این امر ممکن است نیازمند احراز هویت با یک کاربر دیگر با حداکثر سطح دسترسی بالاتر باشد.

"privilege level cannot be obtained for this user" - سطح دسترسی که می‌خواهید با آن احراز هویت کنید بالاتر از حداکثر سطح دسترسی مجاز برای این کاربر است. لطفاً دوباره با یک سطح دسترسی پایین‌تر امتحان کنید. همچنین ممکن است حداکثر سطح دسترسی مجاز برای یک کاربر در BMC راه دور به درستی تنظیم نشده باشد.

"authentication type unavailable for attempted privilege level" - نوع احراز هویتی که مایلید با آن احراز هویت کنید برای این سطح دسترسی در دسترس نیست. لطفاً با یک نوع احراز هویت دیگر یا یک سطح دسترسی دیگر دوباره تلاش کنید. همچنین ممکن است انواع احراز هویت موجود در BMC راه دور به درستی پیکربندی نشده باشند.

"cipher suite id unavailable" - شناسه مجموعه رمزنگاری مورد نظر شما در BMC راه دور در دسترس نیست. لطفاً با یک شناسه دیگر تلاش کنید. همچنین ممکن است شناسه‌های مجموعه رمزنگاری موجود در BMC راه دور به درستی تنظیم نشده باشند.

"ipmi 2.0 unavailable" - پروتکل IPMI 2.0 در ماشین راه دور یافت نشد. لطفاً در عوض از IPMI 1.5 استفاده کنید.

"connection timeout" - ارتباط اولیه با IPMI برقرار نشد. خطاهای احتمالی متعددی ممکن است رخ داده باشد، از جمله تعیین نام میزبان نامعتبر، عدم امکان تحلیل نشانی IP مربوط به IPMI، فعال نبودن IPMI روی کارساز راه دور، نامناسب بودن اتصال شبکه و غیره. لطفاً پیکربندی و اتصال شبکه را بررسی کنید.

"session timeout" - مهلت زمانی نشست IPMI به پایان رسیده است. لطفاً دوباره متصل شوید. اگر این خطا زیاد رخ می‌دهد، ممکن است لازم باشد زمان انتظار ارسال مجدد (retransmission timeout) را افزایش دهید. برخی BMCهای راه دور بسیار کندتر از بقیه هستند.

"device not found" - دستگاه مشخص‌شده پیدا نشد. لطفاً پیکربندی یا ورودی‌ها را بررسی کرده و مجدداً تلاش کنید.

"driver timeout" - مهلت زمانی ارتباط با درایور یا دستگاه به پایان رسید. لطفاً مجدداً تلاش کنید.

"message timeout" - مهلت زمانی ارتباط با درایور یا دستگاه به پایان رسید. لطفاً مجدداً تلاش کنید.

"BMC busy" - در حال حاضر BMC مشغول است. ممکن است در حال پردازش اطلاعات باشد یا نشست‌های هم‌زمان زیادی برای مدیریت داشته باشد. لطفاً کمی صبر کرده و مجدداً تلاش کنید.

"could not find inband device" - دستگاه درون‌باند یافت نشد. لطفاً پیکربندی را بررسی کرده یا دستگاه و درایور مشخص را در خط فرمان تعیین کنید.

"driver timeout" - مهلت زمانی درایور درون‌باند در ارتباط با BMC محلی یا پردازنده خدمات (service processor) به پایان رسید. ممکن است BMC یا پردازنده خدمات مشغول باشد یا (در بدترین حالت) از کار افتاده باشد.

"internal IPMI error" - یک خطای داخلی IPMI رخ داده است که FreeIPMI نحوه مدیریت آن را نمی‌داند. لطفاً برای گزارش این مشکل به <freeipmi-users@gnu.org> ایمیل بفرستید.

برخی برچسب‌های زمانی در SEL ممکن است تاریخ 1-Jan-1970 (مبدأ زمانی تاریخ‌های SEL) را گزارش دهند. این برچسب زمانی لزوماً نادرست نیست؛ این حالت معمولاً نشان‌دهنده یک رخداد سخت‌افزاری است که قبل از مقداردهی اولیه برچسب زمانی در میان‌افزار رخ داده است. برای نمونه، ساعت داخلی برخی قطعات سخت‌افزاری در طول یک چرخه قطع و وصل برق (power cycle) بازنشانی می‌شود.

با این حال، اگر به نظر می‌رسد که ساعت داخلی SEL دائماً نادرست است، ممکن است لازم باشد زمان SEL را تنظیم کنید. این کار را می‌توان با استفاده از bmc-device(8) انجام داد.

پیام‌های زیر پیام‌های متداول مرتبط با SEL هستند.

"sel config file parse error" - خطایی در تحلیل فایل پیکربندی تفسیر رخدادهای SEL یافت شد. لطفاً به freeipmi_interpret_sel.conf(5) مراجعه کنید.

با توجه به اینکه سازندگان متعددی راهکارهای IPMI اختصاصی خود را پیاده‌سازی کرده‌اند، ممکن است برخی سازندگان پروتکل‌های IPMI را به درستی پیاده‌سازی نکرده باشند. در ادامه تعدادی از راهکارهای موقت موجود برای مدیریت مشکلات عدم انطباق با استانداردها شرح داده شده است. در صورت امکان، این راهکارها به گونه‌ای پیاده‌سازی شده‌اند که برای کاربر شفاف (خودکار) باشند. با این حال، برخی از آن‌ها نیازمند مشخص کردن راهکار مربوطه از طریق گزینه -W هستند.

سخت‌افزارهای فهرست‌شده در زیر ممکن است صرفاً سخت‌افزارهایی باشند که مشکل در آن‌ها کشف شده است. نسخه‌های جدیدتر سخت‌افزار ممکن است مشکلات ذکرشده را برطرف کرده باشند. ماشین‌های مشابه از سایر سازندگان ممکن است این مشکلات را نشان دهند یا ندهند. سازندگان مختلف ممکن است مجوز میان‌افزار خود را از یک توسعه‌دهنده میان‌افزار IPMI یکسان تهیه کرده باشند، بنابراین حتی اگر نام مادربورد شما در فهرست زیر نیست، ارزش دارد که راهکارهای فهرست‌شده را امتحان کنید.

اگر فکر می‌کنید سخت‌افزار شما دارای مشکل انطباق دیگری است که نیازمند پیاده‌سازی یک راهکار موقت است، لطفاً با نگه‌دارندگان FreeIPMI از طریق <freeipmi-users@gnu.org> یا <freeipmi-devel@gnu.org> تماس بگیرید.

assumeio - این پرچم راهکار موقت فرض می‌کند که رابط‌های درون‌باند به جای حافظه‌نگاشت (memory-mapped)، با ورودی/خروجی سیستم (system I/O) ارتباط برقرار می‌کنند. این گزینه مشکل سیستم‌هایی را که نشانی‌های پایه نامعتبر گزارش می‌دهند برطرف می‌کند. کسانی که با این مشکل مواجه می‌شوند ممکن است خطاهای "device not supported" یا "could not find inband device" را مشاهده کنند. این مشکل در HP ProLiant DL145 G1 مشاهده شده است.

spinpoll - این پرچم به برخی از درایورهای درون‌باند (به‌ویژه درایور KCS) اطلاع می‌دهد که به جای به خواب بردن فرآیند در حین بررسی دوره‌ای، در حالت چرخش مداوم (spin) باقی بمانند. این امر می‌تواند زمان اجرای واقعی (wall clock) ابزارها را به طور چشمگیری بهبود بخشد، زیرا دقت زمان‌بند سیستم‌عامل ممکن است بسیار بزرگتر از زمان مورد نیاز برای انجام یک تراکنش پیام IPMI باشد. با این حال، با چرخش مداوم، ممکن است سیستم شما به دلیل تعویض نکردن زمینه (context) پردازش برای وظایف مفیدتر، کارایی کمتری داشته باشد.

authcap - این پرچم بررسی‌های اولیه برای قابلیت‌های نام کاربری، قابلیت‌های احراز هویت و پشتیبانی از K_g را نادیده می‌گیرد و اجازه می‌دهد احراز هویت IPMI با موفقیت انجام شود. این گزینه چندین مشکل را برطرف می‌کند که در آن‌ها سیستم راه دور قابلیت‌های نام کاربری، احراز هویت یا وضعیت K_g را به درستی گزارش نمی‌دهد. افرادی که با این مشکل روبرو می‌شوند ممکن است خطاهای "username invalid"، "authentication type unavailable for attempted privilege level" یا "k_g invalid" را مشاهده کنند. این مشکل در Asus P5M2/P5MT-R/RS162-E4/RX4، Intel SR1520ML/X38ML و Sun Fire 2200/4150/4450 با ELOM مشاهده شده است.

nochecksumcheck - این پرچم به FreeIPMI می‌گوید که مجموع مقابله‌ای (checksum) برگشتی از پاسخ‌های دستورات IPMI را بررسی نکند. این گزینه مشکل سیستم‌هایی را برطرف می‌کند که به دلیل خطاهای پیاده‌سازی، مجموع مقابله‌ای نامعتبر بازمی‌گردانند در حالی که بسته ارسالی معتبر است. به کاربران در استفاده از این گزینه هشدار داده می‌شود، زیرا اعتبارسنجی یکپارچگی بسته را در شرایط مختلف لغو می‌کند. با این حال، در بیشتر شرایط بعید است مشکلی ایجاد کند. کسانی که با این مشکل روبرو می‌شوند ممکن است خطاهای "connection timeout"، "session timeout" یا "password verification timeout" را مشاهده کنند. در اتصالات IPMI 1.5، ممکن است به راهکار "noauthcodecheck" نیز نیاز باشد. این مشکل در Supermicro X9SCM-iiF، Supermicro X9DRi-F و Supermicro X9DRFR مشاهده شده است.

idzero - این پرچم به سرویس‌گیرنده اجازه می‌دهد شناسه‌های نشست (session ID) خالی را بپذیرد. این گزینه مشکل نشست‌های IPMI را که شناسه نشست خالی به کلاینت گزارش می‌دهند برطرف می‌کند. افرادی که با این مشکل مواجه می‌شوند ممکن است خطای "session timeout" را مشاهده کنند. این مشکل در Tyan S2882 با BMC مدل M3289 مشاهده شده است.

unexpectedauth - این پرچم امکان بررسی کدهای احراز هویت (authcode) غیرتهی غیرمنتظره را به گونه‌ای فراهم می‌کند که گویی مورد انتظار بوده‌اند. این گزینه مشکلی را رفع می‌کند که در آن بسته‌ها حاوی داده‌های احراز هویت غیرتهی هستند، در حالی که به دلیل غیرفعال بودن احراز هویت مبتنی بر پیام (per-message authentication) باید تهی می‌بودند. افراد مواجه با این مشکل ممکن است خطای "session timeout" را ببینند. این مشکل در Dell PowerEdge 2850,SC1425 مشاهده شده و در میان‌افزارهای جدیدتر رفع شده است.

forcepermsg - این پرچم فارغ از آنچه توسط سیستم راه دور اعلام شده است، استفاده از احراز هویت مبتنی بر پیام را اجباری می‌کند. این گزینه مشکلی را حل می‌کند که در آن احراز هویت مبتنی بر پیام در سیستم راه دور به عنوان غیرفعال اعلام شده، اما در عمل برای پروتکل الزامی است. افرادی که با این مشکل مواجه می‌شوند ممکن است خطای "session timeout" را ببینند. این مشکل در IBM eServer 325 مشاهده شده است.

endianseq - این پرچم ترتیب بایت‌ها (endianness) شماره‌های توالی نشست را معکوس می‌کند تا نشست به درستی ادامه یابد. این گزینه مشکل شماره‌های توالی نشست IPMI 1.5 را که ترتیب بایت آن‌ها نادرست است حل می‌کند. افراد مواجه با این مشکل ممکن است خطای "session timeout" را مشاهده کنند. این مشکل در برخی از Sun ILOM 1.0/2.0 (بسته به ترتیب بایت پردازنده خدمات) مشاهده شده است.

noauthcodecheck - این پرچم به FreeIPMI دستور می‌دهد کدهای احراز هویت برگشتی از پاسخ‌های دستورات IPMI 1.5 را بررسی نکند. این گزینه مشکل سیستم‌هایی را حل می‌کند که به دلیل خطاهای درهم‌سازی (hashing) یا پیاده‌سازی، کدهای احراز هویت نامعتبر برمی‌گردانند. به کاربران در مورد استفاده از این گزینه هشدار داده می‌شود، زیرا بررسی احراز هویت برای تأیید اعتبار بسته را غیرفعال می‌کند. با این حال، در اکثر سازمان‌ها بعید است که یک مسئله امنیتی باشد. افراد مواجه با این مشکل ممکن است خطاهای "connection timeout"، "session timeout" یا "password verification timeout" را مشاهده کنند. این مشکل در Xyratex FB-H8-SRAY، Intel Windmill، Quanta Winterfell و Wiwynn Windmill مشاهده شده است.

intel20 - این پرچم چندین مشکل احراز هویت IPMI 2.0 شرکت اینتل را برطرف می‌کند. مشکلات پوشش‌داده‌شده شامل افزودن نویسه‌های فاصله‌گذاری (padding) به نام‌های کاربری، و کوتاه‌سازی گذرواژه در صورت استفاده از الگوریتم احراز هویت HMAC-MD5-128 است. افراد مواجه با این مشکل ممکن است خطاهای "username invalid"، "password invalid" یا "k_g invalid" را مشاهده کنند. این مشکل در Intel SE7520AF2 به همراه Intel Server Management Module (نسخه Professional) مشاهده شده است.

supermicro20 - این پرچم چندین مشکل احراز هویت IPMI 2.0 شرکت سوپرمیکرو را در مادربوردهای دارای میان‌افزار Peppercon IPMI برطرف می‌کند. مشکلات پوشش‌داده‌شده شامل مدیریت کدهای احراز هویت با طول نامعتبر است. افراد مواجه با این مشکل ممکن است خطای "password invalid" را مشاهده کنند. این مشکل در Supermicro H8QME با کارت دختر SIMSO مشاهده شده و در میان‌افزارهای جدیدتر برطرف شده است.

sun20 - این پرچم چندین مشکل احراز هویت IPMI 2.0 شرکت سان را برطرف می‌کند. مشکلات پوشش‌داده‌شده شامل کلیدهای درهم‌سازی با طول نامعتبر، کلیدهای به نادرستی درهم‌سازی‌شده، و رکوردهای نامعتبر مجموعه رمزنگاری است. افراد مواجه با این مشکل ممکن است خطاهای "password invalid" یا "bmc error" را مشاهده کنند. این مشکل در Sun Fire 4100/4200/4500 با ILOM مشاهده شده است. این راهکار به طور خودکار شامل راهکار "opensesspriv" نیز می‌شود.

opensesspriv - این پرچم پروتکل اتصال IPMI 2.0 در FreeIPMI را کمی تغییر می‌دهد تا الگوریتم درهم‌سازی نامعتبر استفاده‌شده توسط سیستم راه دور را دور بزند. سطح دسترسی ارسال‌شده در مرحله باز کردن نشست (Open Session) در اتصال IPMI 2.0 به جای سطح دسترسی ارسال‌شده در مرحله اتصال RAKP1 برای درهم‌سازی کلیدها استفاده می‌شود. افراد مواجه با این مشکل ممکن است خطاهای "password invalid"، "k_g invalid"، "bad rmcpplus status code" یا "privilege level cannot be obtained for this user" را مشاهده کنند. این مشکل در Sun Fire 4100/4200/4500 با ILOM، Inventec 5441/Dell Xanadu II، Supermicro X8DTH، Supermicro X8DTG، Intel S5500WBV/Penguin Relion 700، Intel S2600JF/Appro 512X، Quanta QSSC-S4R/Appro GB812X-CN، Dell C5220 و OpenIPMI نرم‌افزاری BMC مشاهده شده است. این راهکار به طور خودکار با راهکار "sun20" فعال می‌شود.

integritycheckvalue - این پرچم مقدار نامعتبر بررسی یکپارچگی (integrity check value) را در حین برقراری نشست IPMI 2.0 هنگام استفاده از شناسه مجموعه رمزنگاری ۰ مدیریت می‌کند. مقدار بررسی یکپارچگی باید دارای طول ۰ باشد، اما مادربورد راه دور با یک فیلد غیرخالی پاسخ می‌دهد. افراد مواجه با این مشکل ممکن است خطای "k_g invalid" را مشاهده کنند. این مشکل در Supermicro X8DTG، Supermicro X8DTU، Intel S5500WBV/Penguin Relion 700 و Intel S2600JF/Appro 512X مشاهده شده است.

assumesystemevent - این گزینه فرض می‌کند که انواع نامعتبر رکورد SEL، در واقع رکوردهای رخداد سیستمی هستند. ممکن است رکوردها قالب‌بندی درستی داشته باشند اما نوع رکورد را نامعتبر گزارش دهند. افراد مواجه با این مشکل ممکن است خطای "Unknown SEL Record Type" را ببینند. خروجی ممکن است ناشناخته باشد؛ امید به بهترین نتیجه داشته باشید. تأیید شده است که این گزینه مشکلات انطباق با استاندارد را در مادربوردهای HP DL 380 G5 حل می‌کند.

عدم پشتیبانی از IPMI 1.5 - مشخص شده است که برخی از مادربوردهای پشتیبانی‌کننده از IPMI 2.0، از IPMI 1.5 پشتیبانی نمی‌کنند. افراد مواجه با این مشکل ممکن است خطاهای "ipmi 2.0 unavailable" یا "connection timeout" را مشاهده کنند. این مشکل را می‌توان با استفاده از IPMI 2.0 به جای IPMI 1.5 با مشخص کردن --driver-type=LAN_2_0 برطرف کرد. این مشکل در تعدادی از مادربوردهای HP و Supermicro مشاهده شده است.

تأیید شده است که مادربوردهای زیر حداقل تا حدی توسط گزینه --interpret-oem-data پشتیبانی می‌شوند. با وجود اینکه به احتمال زیاد تفسیر داده‌های OEM برای سایر مادربوردهای همان سازنده نیز کار می‌کند، هیچ تضمینی در این زمینه وجود ندارد. برخی از مادربوردهای زیر ممکن است توسط فروشندگان/توزیع‌کنندگان با نام‌های تجاری دیگری عرضه شده باشند.

Dell Poweredge 2900, Dell Poweredge 2950, Dell Poweredge R610, Dell Poweredge R710, Fujitsu iRMC S1 and iRMC S2 systems, Intel S5500WB/Penguin Computing Relion 700, Intel S2600JF/Appro 512X, Intel S5000PAL, Inventec 5441/Dell Xanadu II, Inventec 5442/Dell Xanadu III, Quanta S99Q/Dell FS12-TY, Quanta QSSC-S4R/Appro GB812X-CN, Sun X4140 Supermicro X7DBR-3, Supermicro X7DB8, Supermicro X8DTN, Supermicro X7SBI-LN4, Supermicro X8DTH, Supermicro X8DTG, Supermicro X8DTU, Supermicro X8DT3-LN4F, Supermicro X8DTU-6+, Supermicro X8DTL, Supermicro X8DTL-3F, Supermicro X8SIL-F, Supermicro X9SCL, Supermicro X9SCM, Supermicro X8DTN+-F, Supermicro X8SIE, Supermicro X9SCA-F-O, Supermicro H8DGU-F, Supermicro X9DRi-F, Supermicro X9DRI-LN4F+, Supermicro X9SPU-F-O, Supermicro X9SCM-iiF, Wistron/Dell Poweredge C6220.

در سیستم‌عامل‌های قدیمی‌تر، در صورت وارد کردن نام کاربری، گذرواژه و سایر اطلاعات مرتبط با امنیت در خط فرمان، این اطلاعات ممکن است توسط سایر کاربران با استفاده از ابزارهایی مانند دستور ps(1) یا بررسی فایل‌سیستم /proc مشاهده شود. عموماً وارد کردن اطلاعات گذرواژه با گزینه‌هایی مانند -P یا -K امن‌تر است. همچنین پیکربندی اطلاعات مرتبط با امنیت در فایل پیکربندی FreeIPMI نیز روش مناسبی برای مخفی کردن این اطلاعات خواهد بود.

به منظور جلوگیری از حملات جستجوی فراگیر (brute force)، برخی BMCها پس از چند بار خطای احراز هویت از راه دور، موقتاً «قفل» می‌شوند. ممکن است لازم باشد مدتی صبر کنید تا این قفل موقت برطرف شود و بتوانید دوباره احراز هویت کنید.

/etc/freeipmi//ipmiseld.conf /var/cache/ipmiseld/

گزارش باگ‌ها و اشکالات را به <freeipmi-users@gnu.org> یا <freeipmi-devel@gnu.org> ارسال کنید.

Copyright (C) 2012-2015 Lawrence Livermore National Security, LLC.

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU GPL) که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخه ۳ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده یا تغییر دهید.

freeipmi(7), ipmi-sel(8), ipmiseld.conf(5), bmc-device(8), ipmi-config(8), freeipmi_interpret_sel.conf(5)

http://www.gnu.org/software/freeipmi/

2026-08-27 ipmiseld 1.6.19