openipmigui(1) GUI interface to an IPMI system openipmigui(1)

openipmigui - رابط کاربری گرافیکی برای سامانه‌های IPMI

openipmigui [--dmsg] [--drawmsg] [--glib12] [--trace] [--logstderr] [-n] [-p preffile]

openipmigui یک رابط کاربری گرافیکی (GUI) مبتنی بر کتابخانه OpenIPMI است. این برنامه نمایی با ساختار درختی از دامنه‌های IPMI متصل‌شده ارائه می‌دهد.

به‌طور پیش‌فرض، openipmigui بدون هیچ اتصال اولیه‌ای آغاز به کار می‌کند. شما باید خودتان اتصال به دامنه‌ها را برقرار کنید. با این حال، می‌توانید پیکربندی جاری، دامنه‌های فعلی و برخی تنظیمات گرافیکی را ذخیره کنید؛ این تنظیمات در زمان راه‌اندازی مجدد به‌صورت خودکار بازیابی خواهند شد.

پنجره اصلی شامل یک ساختار درختی در سمت چپ و یک پنجره ثبت وقایع (لاگ) در سمت راست است. پنجره لاگ، پیام‌های اطلاعاتی و خطاهای OpenIPMI را دریافت می‌کند. توجه داشته باشید که رخدادها در پنجره لاگ گزارش نمی‌شوند؛ برای مشاهده رخدادها، باید پنجره SEL مربوط به دامنه را باز کنید.

فعال‌سازی اشکال‌زدایی پیام‌ها؛ این گزینه تمامی پیام‌ها را در خروجی لاگ اشکال‌زدایی ثبت می‌کند.
فعال‌سازی اشکال‌زدایی پیام‌های خام؛ این گزینه تمامی پیام‌های سطح پایین را در خروجی لاگ اشکال‌زدایی ثبت می‌کند. تفاوت این گزینه با اشکال‌زدایی پیام‌های عادی در این است که علاوه بر پیام‌های IPMI، تمام پیام‌های پروتکل نیز ثبت می‌شوند.
فعال‌سازی اشکال‌زدایی حافظه؛ این گزینه تخصیص و آزادسازی حافظه را بررسی می‌کند. هنگام خروج برنامه، تمامی بخش‌های حافظه که به‌درستی آزاد نشده‌اند (نشتی حافظه)، سرریزها، نوشتن روی حافظه آزادشده و سایر خطاهای حافظه گزارش خواهند شد.
ارسال تمامی لاگ‌ها به خروجی خطای استاندارد (stderr) علاوه بر کنسول گرافیکی.
فعال‌سازی ردگیری پایتون (tracing) به گونه‌ای که ورود و خروج به تمامی رویه‌های پایتون چاپ می‌شود.
غیرفعال کردن خواندن فایل تنظیمات ترجیحی در هنگام راه‌اندازی.
استفاده از preffile به‌عنوان نام فایل تنظیمات ترجیحی به‌جای $HOME/.openipmigui.startup.

نوار منوی اصلی شامل دو منوی کشویی است: پرونده (File) و نمایش (View).

منوی پرونده (File) شامل دستورات خروج (Exit)، باز کردن دامنه (Open Domain) و ذخیره ترجیحات (Save Prefs) است. دستور Exit همان‌طور که از نامش پیداست عمل می‌کند و برای اطمینان از تمایل شما به خروج پیامی نشان نمی‌دهد. دستور Open Domain روشی است که از طریق آن اتصال به سامانه IPMI را برقرار می‌کنید. دستور Save Prefs دامنه‌های فعلی و پیکربندی پنجره اصلی گرافیکی را ذخیره می‌کند. این تنظیمات هنگام راه‌اندازی مجدد بازیابی خواهند شد. تنظیمات در فایل $HOME/.openipmigui.startup ذخیره می‌شوند؛ برای پاک کردن تمام تنظیمات می‌توانید این فایل را حذف کنید.

منوی نمایش (View) شامل دستوراتی برای باز کردن (گسترش) و جمع کردن کل درخت است.

پنجره درختی فهرستی سطح‌بالا از تمام دامنه‌هایی دارد که OpenIPMI به آن‌ها متصل است (یا اتصال در انتظار دارد). هر دامنه شامل اطلاعات خاص همان دامنه و فهرستی از موجودیت‌ها (Entities) و کنترل‌کننده‌های مدیریت (MCs) برای آن دامنه است.

کلیک راست بخش عمده‌ای از عملیات‌ها را در پنجره درختی هدایت می‌کند. بسیاری از عناصر درختی دارای منوهای کشویی هستند که با کلیک راست ماوس باز می‌شوند. هر زمان شک داشتید، کلیک راست کنید.

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

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

توجه داشته باشید که تمامی اطلاعات قابل مشاهده در درخت به‌صورت دوره‌ای واکشی (poll) می‌شوند. فقط اطلاعات مرئی واکشی می‌شوند؛ بنابراین اگر موردی را با باز کردن یک شاخه از درخت یا اسکرول کردن نمایان کنید، ممکن است چند ثانیه طول بکشد تا داده‌ها به‌روز شوند.

دامنه‌ها حاوی اطلاعات سطح‌بالای گوناگون و مجموعه‌ای از تمام لاگ‌های رخداد سامانه (SEL) درون خود هستند. زمان پایش مجدد SEL (با عنوان SEL Rescan Time) و زمان پایش مجدد IPMB از طریق کلیک راست قابل تنظیم است؛ این مقادیر هنگام ذخیره و بازیابی به خاطر سپرده می‌شوند. (توجه داشته باشید که این مقادیر در ورودی‌های مربوط به MC اختصاصی ذخیره و بازیابی نمی‌شوند، بلکه فقط در سطح دامنه ذخیره می‌گردند). کلیک راست روی دامنه مجموعه‌ای از عملیات‌ها را در اختیارتان می‌گذارد، از جمله امکان مشاهده SEL.

عنصر موجودیت‌ها (Entities) در زیر عنصر دامنه، شامل فهرستی از موجودیت‌های کشف‌شده برای آن دامنه است. این بخش تنها شامل موجودیت‌های سطح‌بالا است (آن‌هایی که در موجودیت دیگری قرار نگرفته‌اند)؛ موجودیت‌هایی که درون موجودیت‌های دیگر قرار دارند، در زیر موجودیت والد خود فهرست می‌شوند. این کار از شلوغی و پیچیدگی در سامانه‌های بسیار پیچیده مانند سامانه‌های استاندارد ATCA جلوگیری می‌کند.

اگر موجودیت قابلیت تعویض در حالت روشن (Hot-swap) داشته باشد، دستورات فعال‌سازی و غیرفعال‌سازی تعویض حین کار از طریق کلیک راست روی موجودیت در دسترس هستند. اگر موجودیت حاوی اطلاعات واحدهای قابل تعویض میدانی (FRU) باشد، می‌توانید آن اطلاعات را نیز با دستور کلیک راست مشاهده کنید.

اطلاعات زیر یک موجودیت همچنین شامل فهرستی از حسگرها و کنترل‌های متعلق به آن موجودیت است.

حسگرها در زیر موجودیتی که به آن تعلق دارند در دسترس هستند. اطلاعات حسگرها فراتر از محدوده این سند است، چرا که حسگرهای IPMI بسیار پیچیده هستند. برای اطلاعات بیشتر درباره حسگرها، به مستندات IPMI مربوط به OpenIPMI مراجعه کنید.

همان‌طور که انتظار می‌رود، کلیک راست روی یک حسگر عملیات‌های قابل انجام روی آن حسگر را ارائه می‌دهد.

کنترل‌ها در زیر موجودیتی که به آن تعلق دارند در دسترس هستند. اطلاعات کنترل‌ها فراتر از محدوده این سند است، زیرا کنترل‌های IPMI بسیار پیچیده هستند. برای اطلاعات بیشتر درباره کنترل‌ها، به مستندات IPMI مربوط به OpenIPMI مراجعه کنید.

همان‌طور که انتظار می‌رود، کلیک راست روی یک کنترل عملیات‌های قابل انجام روی آن را ارائه می‌دهد.

یک کنترل‌کننده مدیریت (MC)، گره هوشمند در یک سامانه IPMI است. به‌طور کلی برای عملیات عادی حسگرها و کنترل‌های IPMI، نیازی به دانستن درباره MCها نیست. با این حال، برای پیکربندی سامانه به دسترسی به MCها نیاز دارید.

یک MC حاوی اطلاعات زیادی درباره خودش و قابلیت‌هایش است؛ این اطلاعات معمولاً به‌صورت خودکار توسط OpenIPMI تفسیر می‌شوند، اما برای مشاهده نیز در دسترس هستند. برای نمونه، اگر یک MC شامل یک دستگاه SEL باشد، OpenIPMI به‌طور خودکار دریافت رخدادها از آن را مدیریت می‌کند، اما شما همچنین می‌توانید این تنظیمات را در اطلاعات MC مشاهده کنید.

تعدادی از عملیات‌ها در منوی کلیک راست روی MC در دسترس هستند که اغلب آن‌ها واضح و بی‌نیاز از توضیح هستند. پیکربندی کلی MC معمولاً از طریق دستور Channel Info در همین منو انجام می‌شود.

مجموعه‌ای از اتصال‌ها برای هر دامنه در زیر همان دامنه فهرست شده است. هر اتصال دارای یک یا چند درگاه (پورت) است. وضعیت این درگاه‌ها با رنگ مشخص می‌شود؛ اگر درگاهی زرد باشد (هشدار)، قطع است. اگر اتصالی قرمز باشد (وخیم)، تمام درگاه‌های آن قطع هستند. اگر تمام اتصال‌ها قطع باشند، مدخل درختی «Connections» به رنگ آبی (بحرانی) درمی‌آید.

اگر روی یک MC کلیک راست کنید، گزینه Channel Info نمایش داده می‌شود. این بخش برای پیکربندی اطلاعات شبکه محلی (LAN) و کانال‌های MC به کار می‌رود. با انتخاب این گزینه، فهرستی از کانال‌ها در یک نمای درختی باز خواهد شد. توجه داشته باشید که برخلاف درخت اصلی، این اطلاعات به‌صورت پویا به‌روزرسانی نمی‌شوند؛ یعنی با تغییر داده‌های زیرین، این نما تغییر نخواهد کرد.

برای پیکربندی کانال‌های اختصاصی، آن‌ها را باز کنید. تنظیمات Info فقط‌خواندنی هستند و قابل تغییر نیستند. تنظیمات User Access (دسترسی کاربر) با کلیک راست روی آن‌ها قابل تغییرند. توجه داشته باشید که تغییرات آنی اعمال نمی‌شوند و برای ذخیره تغییراتی که اعمال کرده‌اید باید از دکمه Save در پایین پنجره استفاده کنید. همچنین، تنظیمات User Access دارای دو نسخه هستند: یکی فرار (volatile) که تنظیمات جاری MC را به‌روز می‌کند اما در صورت راه‌اندازی مجدد MC، تنظیمات غیرفرار بازیابی خواهند شد. تنظیم مقادیر غیرفرار (non-volatile) بلافاصله اعمال نمی‌شود، بلکه تغییرات با راه‌اندازی مجدد بعدی MC بارگذاری و اعمال خواهند شد.

برخی کانال‌ها دارای اطلاعات کاربر هستند؛ می‌توانید آن‌ها را با انتخاب دستور مربوطه در منوی کلیک راست کانال پیکربندی کنید.

کانال‌های LAN نیز دارای پیکربندی LAN هستند؛ این موارد نیز با انتخاب دستور مربوطه در منوی کلیک راست کانال قابل پیکربندی هستند.

سامانه‌های IPMI با دسترسی از راه دور، دارای کاربرانی هستند که می‌توان از آن‌ها برای ورود به سامانه استفاده کرد. این کاربران با دستور User Info در فهرست کانال‌ها پیکربندی می‌شوند. توجه داشته باشید که برخی تنظیمات کاربر (مانند نام و گذرواژه) برای تمام کانال‌های موجود روی آن MC به‌صورت سراسری اعمال می‌شوند.

به‌دلیل ویژگی‌های مشخصات استاندارد IPMI و باگ‌های پیاده‌سازی نامناسب در برخی سامانه‌ها، مسائل عجیبی در رابطه با این اطلاعات وجود دارد. هر کاربر دارای یک مقدار Enabled است که فعال یا غیرفعال بودن کاربر را مشخص می‌کند. در نمایش اولیه، این فیلد به‌صورت «?» نمایش داده می‌شود زیرا مقدار این فیلد قابل خواندن نیست. این فیلد تنها هنگامی که تغییر داده شود مقدار واقعی را نمایش می‌دهد، اما در غیر این صورت تغییر نخواهد کرد.

همچنین یک فیلد محدودیت نشست (session limit) وجود دارد که حداکثر تعداد نشست‌های مجاز برای یک کاربر را تعیین می‌کند. این فیلد نیز قابل خواندن نیست و در اولین نمایش با «?» نشان داده می‌شود. این فیلد در مشخصات IPMI اختیاری نشانه‌گذاری شده است، به این معنی که الزامی به ارائه آن نیست. با این حال، برخی پیاده‌سازی‌ها نیازمند مقداردهی به این فیلد هستند. اگر هنگام تنظیم مقادیر خطای DataLenInv از سامانه دریافت کردید، باید مقداری برای این فیلد تعیین کنید تا بقیه مقادیر نیز تنظیم شوند. به‌طور کلی، تنظیم مقدار صفر این فیلد را غیرفعال می‌کند و اقدام درستی است.

در نمایش کانال روی یک کانال 8023_LAN، دستور پیکربندی LANPARM در دسترس است. این دستور تمام پارامترهای LAN را استخراج کرده و امکان تنظیم آن‌ها را فراهم می‌کند. کلیک راست روی هر مورد امکان تغییر آن را می‌دهد.

اگر یک MC از سازوکار فیلتر رخداد پلتفرم (PEF) پشتیبانی کند، گزینه منوی «PEF Parms» در منوی کشویی آن MC وجود خواهد داشت. این گزینه تمامی پارامترهای مربوط به PEF را فراخوانی کرده و امکان تنظیم آن‌ها را فراهم می‌سازد. با کلیک راست روی هر مورد می‌توانید آن را تغییر دهید.

در نمایش کانال روی یک کانال 8023_LAN، اگر MC از قابلیت SOL (سریال بر روی LAN) پشتیبانی کند، دستور پیکربندی SOLPARM در دسترس خواهد بود. این دستور تمامی پارامترها را فراخوانی کرده و امکان تنظیم آن‌ها را فراهم می‌سازد. با کلیک راست روی هر مورد می‌توان آن را تغییر داد.

روی هر اتصال، گزینه منویی با عنوان «Open SOL» وجود دارد. اگر BMC در سمت دیگر اتصال دارای پشتیبانی از قابلیت SOL (سریال بر روی شبکه محلی) باشد، می‌توانید یک اتصال پورت سریال با BMC برقرار کنید؛ البته به شرطی که به‌درستی پیکربندی شده باشد و شما دسترسی‌های لازم را داشته باشید.

هنگامی که این گزینه را انتخاب می‌کنید، پنجره جدیدی شامل یک شبیه‌ساز پایانه VT100/ANSI باز می‌شود. این اتصال بلافاصله باز نخواهد شد، بلکه باید از منوی پرونده (File) اتصال را برقرار سازید. وقتی وضعیت در گوشه پایین سمت راست عبارت «connected» را نشان داد، می‌توانید تایپ کنید. اگر خطایی رخ دهد، ممکن است اتصال قطع شود و مجبور شوید مجدداً آن را باز کنید. همچنین می‌توانید اتصال را از منوی پرونده ببندید یا از شبیه‌ساز خارج شوید.

منوی «Controls» برای اتصال SOL حاوی تعداد زیادی از تنظیمات مربوط به SOL است. این گزینه‌ها به شما اجازه می‌دهند مقادیر گوناگونی را در سمت دور اتصال تغییر دهید. این گزینه‌ها عبارتند از:

در صورت غیرفعال شدن، دریافت داده‌ها از BMC رد می‌شود که عملاً کنترل جریان داده‌ها را به دست می‌گیرد (به فرض اینکه BMC واقعاً از این قابلیت پشتیبانی کند، که برخی سامانه‌ها پشتیبانی نمی‌کنند).
رمزنگاری داده‌ها روی شبکه با استفاده از رمزنگاری RMCP+ که برای اتصال توافق شده است. این گزینه تنها در حالت بسته بودن اتصال قابل تغییر است و نمی‌توان آن را به‌صورت پویا تغییر داد.
احراز هویت داده‌ها روی شبکه با استفاده از سازوکار احراز هویت RMCP+ که برای اتصال توافق شده است. این گزینه تنها در حالت بسته بودن اتصال قابل تغییر است و به‌صورت پویا تغییر نمی‌کند.
عدم فعال‌سازی خطوط هنگام برقراری اتصال؛ این ویژگی امکان تنظیم مواردی مانند نرخ باود (Baud rate) را قبل از اینکه دستگاه سمت دور پورت سریال متوجه برقراری اتصال شود، فراهم می‌کند.
در صورت فعال بودن، BMC کنترل خط CTS را به دست می‌گیرد. در غیر این صورت، خط CTS غیرفعال می‌ماند.
تنظیم و فعال‌سازی خطوط DCD و DSR.
فعال‌سازی خط Ring Indicator که می‌تواند برای بیدارباش از راه دور در برخی سامانه‌ها استفاده شود (هرچند با وجود IPMI، جای تعجب است که چرا برای این کار از خود IPMI استفاده نشود).
تنظیم مهلت زمانی (Timeout) انتظار برای دریافت تاییدیه (ACK) از BMC.
تنظیم تعداد دفعات تلاش مجدد برای ارسال بسته پیش از قطع اتصال.
ارسال سیگنال شکست (Break) به مدت ۳۰۰ میلی‌ثانیه به درگاه سریال مقصد.
تنظیم نرخ بیت (Bitrate) درگاه سریال. همه سامانه‌ها از این ویژگی پشتیبانی نمی‌کنند. برخی سامانه‌ها حتی این تنظیم را نادیده گرفته و از نرخ 19.2K استفاده می‌کنند. توجه داشته باشید که این نرخ فقط مقدار فرار (Volatile) است؛ تنظیم نرخ غیرفرار و پایدار از طریق SOLPARM انجام می‌شود.
تعیین رفتار سامانه هنگام وقوع هشدار IPMI و ارسال آن از طریق پورت سریال. اگر روی «succeed» تنظیم شود، نشست SoL در هنگام صدور هشدار قطع خواهد شد.
امکان پاک‌سازی صف‌های مختلف را فراهم می‌کند.

ipmish(1), مستندات IPMI از پروژه OpenIPMI

برخی از قابلیت‌ها هنوز پیاده‌سازی نشده‌اند. در صورتی که تمایل به مشارکت در توسعه دارید، فهرست موجود در فایل swig/python/openipmigui/TODO را بررسی کنید.

Corey Minyard <cminyard@mvista.com>

05/13/03 OpenIPMI