| infiniband-diags(8) | Open IB Diagnostics | infiniband-diags(8) |
نام (NAME)
infiniband-diags - ابزارهای عیبیابی برای فابریکهای اینفینیبند (InfiniBand)
توضیحات (DESCRIPTION)
مجموعه infiniband-diags شامل ابزارهایی است که برای کمک به پیکربندی، اشکالزدایی و نگهداری فابریکهای InfiniBand طراحی شدهاند. ابزارها و برنامههای کاربردی متعددی ارائه شدهاند که برخی از آنها عملکردهای مشابهی دارند.
ابزارهای پایه برای انجام عملیات خود از MADهای مسیردهی مستقیم (directed route MADs) استفاده میکنند. بنابراین، این ابزارها ممکن است حتی در زیرشبکههای پیکربندینشده نیز کار کنند. سایر ابزارهای سطح بالاتر به MADهای مسیریابیشده با LID و تا حدی دسترسی به SA/SM نیاز دارند.
استفاده از SMPها (QP0) (THE USE OF SMPs (QP0))
بسیاری از ابزارهای موجود در این بسته به استفاده از SMPها از طریق QP0 برای دریافت مستقیم دادهها از SMA متکی هستند. اگرچه این حالت عملیاتی از نظر فنی با مشخصات InfiniBand مطابقت ندارد، اما تجربه عملی نشان داده است که این سطح از عیبیابی هنگام کار با فابریکی که دچار نقص است یا فقط به صورت جزئی پیکربندی شده، بسیار ارزشمند است. به همین دلیل، بسیاری از این ابزارها ممکن است به استفاده از MKey نیاز داشته باشند یا اجرای آنها از ماشینهای مجازی به دلایل امنیتی محدود شده باشد.
گزینههای متداول (COMMON OPTIONS)
بیشتر ابزارهای عیبیابی OpenIB برخی از گزینههای متداول زیر را میپذیرند. فهرست دقیق گزینههای پشتیبانیشده برای هر ابزار را میتوان در مستندات مربوط به همان دستورات یافت.
فلگهای آدرسدهی (Addressing Flags)
گزینههای -D و -G دارای دو شکل هستند:
-D, --Direct آدرس مشخصشده یک مسیر هدایتشده (directed route) است
مثالها: [options] -D [options] "0" # self port [options] -D [options] "0,1,2,1,4" # out via port 1, then 2, ... (توجه: عدد دوم در مسیر مشخصشده باید با درگاه در حال استفاده مطابقت داشته باشد. این مقدار را میتوان با استفاده از گزینه انتخاب درگاه '-P' یا درگاه یافتشده از طریق فرایند انتخاب خودکار تعیین کرد.)
-D, --Direct <dr_path> آدرس مشخصشده یک مسیر هدایتشده (directed route) است
مثالها: -D "0" # self port -D "0,1,2,1,4" # out via port 1, then 2, ... (توجه: عدد دوم در مسیر مشخصشده باید با درگاه در حال استفاده مطابقت داشته باشد. این مقدار را میتوان با استفاده از گزینه انتخاب درگاه '-P' یا درگاه یافتشده از طریق فرایند انتخاب خودکار تعیین کرد.)
-G, --Guid آدرس مشخصشده یک Port GUID است
--port-guid, -G <port_guid> تعیین یک port_guid
-L, --Lid آدرس مشخصشده یک LID است
-s, --sm_port <smlid> استفاده از 'smlid' به عنوان lid هدف برای پرسوجوهای SA.
فلگهای انتخاب درگاه (Port Selection flags)
-C, --Ca <ca_name> استفاده از ca_name مشخصشده.
-P, --Port <ca_port> استفاده از ca_port مشخصشده.
- -Y, --pkey-idx <idx>
- نمایه جدول P_Key (بین 0-65535، پیشفرض 0) که برای MADهای خروجی SA/GMP استفاده میشود. بستههای MAD از نوع SMP (شامل SMI هدایتشده مستقیم/مسیریابیشده با LID) همیشه از نمایه 0 در P_Key استفاده میکنند.
انتخاب درگاه محلی (Local port Selection)
پشتیبانی از چند درگاه/چند CA: هنگامی که هیچ دستگاه IB یا درگاهی مشخص نشده باشد (بخش "پارامترهای محلی umad" در زیر را ببینید)، کتابخانه libibumad درگاه مورد استفاده را بر اساس معیارهای زیر انتخاب میکند:
- 1.
- نخستین درگاهی که فعال (ACTIVE) باشد.
- 2.
- در صورت پیدا نشدن، نخستین درگاهی که بالا (UP، پیوند فیزیکی متصل) باشد.
اگر نام درگاه یا CA مشخص شده باشد، کتابخانه libibumad تلاش میکند درخواست کاربر را برآورده کند و در صورت عدم امکان، با شکست مواجه خواهد شد.
به عنوان مثال:
ibaddr # استفاده از نخستین درگاه (معیار شماره ۱ بالا) ibaddr -C mthca1 # انتخاب بهترین درگاه فقط از "mthca1" ibaddr -P 2 # استفاده از دومین درگاه (active/up) از نخستین دستگاه IB موجود ibaddr -C mthca0 -P 2 # استفاده انحصاری از درگاه مشخصشده
فلگهای اشکالزدایی (Debugging flags)
- -d
- افزایش سطح اشکالزدایی IB. میتواند چندین بار استفاده شود (-ddd یا -d -d -d).
- -e
- نمایش خطاهای ارسال و دریافت (اتمام مهلت زمانی و موارد دیگر).
-h, --help نمایش پیام راهنمای نحوه استفاده
- -v, --verbose
- افزایش سطح پرگویی (verbosity) برنامه. میتواند چندین بار استفاده شود (-vv یا -v -v -v).
-V, --version نمایش اطلاعات نسخه.
فلگهای پیکربندی (Configuration flags)
-t, --timeout <timeout_ms> بازنویسی مهلت زمانی پیشفرض برای madهای درخواستشده.
- --outstanding_smps, -o <val>
- تعیین
تعداد SMPهای
در انتظار
که باید در
طول پویش
صادر شوند
پیشفرض: 2
--node-name-map <node-name-map> تعیین یک نگاشت نام گره.
--config, -z <config_file> تعیین فایل پیکربندی جایگزین.
فایلهای مشترک (COMMON FILES)
فایلهای پیکربندی زیر میان بسیاری از این ابزارها مشترک هستند.
فایل پیکربندی (CONFIG FILE)
/etc/infiniband-diags/ibdiag.conf
یک فایل پیکربندی سراسری برای تنظیم برخی از گزینههای مشترک برای تمام ابزارها ارائه شده است. برای جزئیات به فایل پیکربندی ارائهشده مراجعه کنید.
قالب فایل نگاشت نام گره (NODE NAME MAP FILE FORMAT)
نگاشت نام گره برای مشخص کردن نامهای کاربرپسند برای گرهها در خروجی استفاده میشود. از GUIDها برای انجام جستجو استفاده میشود.
این قابلیت توسط بسته opensm-libs ارائه شده است. برای اطلاع از محل این فایل در سیستم نصبشده خود به opensm(8) مراجعه کنید.
به طور عمومی:
# comment <guid> "<name>"
مثال:
# IB1 # Line cards 0x0008f104003f125c "IB1 (Rack 11 slot 1 ) ISR9288/ISR9096 Voltaire sLB-24D" 0x0008f104003f125d "IB1 (Rack 11 slot 1 ) ISR9288/ISR9096 Voltaire sLB-24D" 0x0008f104003f10d2 "IB1 (Rack 11 slot 2 ) ISR9288/ISR9096 Voltaire sLB-24D" 0x0008f104003f10d3 "IB1 (Rack 11 slot 2 ) ISR9288/ISR9096 Voltaire sLB-24D" 0x0008f104003f10bf "IB1 (Rack 11 slot 12 ) ISR9288/ISR9096 Voltaire sLB-24D" # Spines 0x0008f10400400e2d "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D" 0x0008f10400400e2e "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D" 0x0008f10400400e2f "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D" 0x0008f10400400e31 "IB1 (Rack 11 spine 2 ) ISR9288 Voltaire sFB-12D" 0x0008f10400400e32 "IB1 (Rack 11 spine 2 ) ISR9288 Voltaire sFB-12D" # GUID Node Name 0x0008f10400411a08 "SW1 (Rack 3) ISR9024 Voltaire 9024D" 0x0008f10400411a28 "SW2 (Rack 3) ISR9024 Voltaire 9024D" 0x0008f10400411a34 "SW3 (Rack 3) ISR9024 Voltaire 9024D" 0x0008f104004119d0 "SW4 (Rack 3) ISR9024 Voltaire 9024D"
قالب فایل توپولوژی (TOPOLOGY FILE FORMAT)
قالب فایل توپولوژی برای انسان خوانا و تا حد زیادی شهودی است. بیشتر شناسهها نامهای متنی دارند، مانند شناسه سازنده (vendid)، شناسه دستگاه (device ID)، انواع مختلف GUID (مانند sysimgguid، caguid، switchguid و غیره). شناسههای PortGUID در پرانتز () نشان داده میشوند. برای سوئیچها، این مورد در خط switchguid نمایش مییابد. برای درگاههای CA و مسیریاب، این مقدار در خطوط اتصال نشان داده میشود. گره IB مشخص شده و به دنبال آن تعداد درگاهها و GUID گره در گیومه قرار میگیرد. در سمت راست این خط یک توضیح (#) و به دنبال آن NodeDescription داخل گیومه میآید. اگر گره یک سوئیچ باشد، این خط همچنین شامل پایه (base) یا ارتقایافته (enhanced) بودن درگاه 0 سوئیچ، و LID و LMC درگاه 0 است. خطوط بعدی مربوط به این گره، وضعیت اتصال را نشان میدهند. در سمت چپ، شماره درگاه گره جاری قرار دارد. در سمت راست، گره همتا (گره انتهای دیگر پیوند) قرار دارد. این گره در گیومه با nodetype و به دنبال آن علامت - و سپس NodeGUID همراه با شماره درگاه در براکت مشخص میشود. در ادامه سمت راست، یک توضیح (#) قرار دارد. آنچه پس از این توضیح میآید به نوع گره بستگی دارد. اگر گره سوئیچ باشد، به دنبال آن NodeDescription داخل گیومه و LID گره همتا میآید. اگر گره از نوع CA یا مسیریاب باشد، ابتدا LID و LMC محلی و سپس NodeDescription داخل گیومه و LID گره همتا میآید. پهنا و سرعت پیوند فعال نیز در انتهای این خط خروجی ضمیمه میشود.
نمونهای از این قالب به شرح زیر است:
# # Topology file: generated on Tue Jun 5 14:15:10 2007 # # Max of 3 hops discovered # Initiated from node 0008f10403960558 port 0008f10403960559 Non-Chassis Nodes vendid=0x8f1 devid=0x5a06 sysimgguid=0x5442ba00003000 switchguid=0x5442ba00003080(5442ba00003080) Switch 24 "S-005442ba00003080" # "ISR9024 Voltaire" base port 0 lid 6 lmc 0 [22] "H-0008f10403961354"[1](8f10403961355) # "MT23108 InfiniHost Mellanox Technologies" lid 4 4xSDR [10] "S-0008f10400410015"[1] # "SW-6IB4 Voltaire" lid 3 4xSDR [8] "H-0008f10403960558"[2](8f1040396055a) # "MT23108 InfiniHost Mellanox Technologies" lid 14 4xSDR [6] "S-0008f10400410015"[3] # "SW-6IB4 Voltaire" lid 3 4xSDR [12] "H-0008f10403960558"[1](8f10403960559) # "MT23108 InfiniHost Mellanox Technologies" lid 10 4xSDR vendid=0x8f1 devid=0x5a05 switchguid=0x8f10400410015(8f10400410015) Switch 8 "S-0008f10400410015" # "SW-6IB4 Voltaire" base port 0 lid 3 lmc 0 [6] "H-0008f10403960984"[1](8f10403960985) # "MT23108 InfiniHost Mellanox Technologies" lid 16 4xSDR [4] "H-005442b100004900"[1](5442b100004901) # "MT23108 InfiniHost Mellanox Technologies" lid 12 4xSDR [1] "S-005442ba00003080"[10] # "ISR9024 Voltaire" lid 6 1xSDR [3] "S-005442ba00003080"[6] # "ISR9024 Voltaire" lid 6 4xSDR vendid=0x2c9 devid=0x5a44 caguid=0x8f10403960984 Ca 2 "H-0008f10403960984" # "MT23108 InfiniHost Mellanox Technologies" [1](8f10403960985) "S-0008f10400410015"[6] # lid 16 lmc 1 "SW-6IB4 Voltaire" lid 3 4xSDR vendid=0x2c9 devid=0x5a44 caguid=0x5442b100004900 Ca 2 "H-005442b100004900" # "MT23108 InfiniHost Mellanox Technologies" [1](5442b100004901) "S-0008f10400410015"[4] # lid 12 lmc 1 "SW-6IB4 Voltaire" lid 3 4xSDR vendid=0x2c9 devid=0x5a44 caguid=0x8f10403961354 Ca 2 "H-0008f10403961354" # "MT23108 InfiniHost Mellanox Technologies" [1](8f10403961355) "S-005442ba00003080"[22] # lid 4 lmc 1 "ISR9024 Voltaire" lid 6 4xSDR vendid=0x2c9 devid=0x5a44 caguid=0x8f10403960558 Ca 2 "H-0008f10403960558" # "MT23108 InfiniHost Mellanox Technologies" [2](8f1040396055a) "S-005442ba00003080"[8] # lid 14 lmc 1 "ISR9024 Voltaire" lid 6 4xSDR [1](8f10403960559) "S-005442ba00003080"[12] # lid 10 lmc 1 "ISR9024 Voltaire" lid 6 1xSDR
هنگامی که گروهبندی استفاده میشود، گرههای IB در شاسیهایی سازماندهی میشوند که شمارهگذاری شدهاند. گرههایی که نتوان قرار داشتن آنها در یک شاسی را تشخیص داد به عنوان "Non-Chassis Nodes" نمایش داده میشوند. درگاههای خارجی نیز در خطوط اتصال نشان داده میشوند.
فهرست ابزارها (Utilities list)
اتصال پایه فابریک (Basic fabric connectivity)
اطلاعات گره (Node information)
اطلاعات درگاه (Port information)
اطلاعات جدول هدایت سوئیچ (Switch Forwarding Table info)
شمارندههای کارایی (Performance counters)
اطلاعات HCA محلی (Local HCA info)
بررسی اتصال (Connectivity check)
ابزارهای پرسوجوی سطح پایین (Low level query tools)
ابزارهای اعتبارسنجی فابریک (Fabric verification tools)
اسکریپتهای سازگاری عقبرو (Backwards compatibility scripts)
اسکریپتهای زیر در مقایسه با ابزارهای بالا به عنوان موارد زائد و/یا با کارایی پایینتر شناسایی شدهاند. این موارد به عنوان اسکریپتهای موروثی و قدیمی در صورتی ارائه میشوند که گزینه --enable-compat-utils در زمان ساخت مشخص شده باشد.
ibcheckerrors, ibclearcounters, ibclearerrors, ibdatacounters ibchecknet, ibchecknode, ibcheckport, ibcheckportstate, ibcheckportwidth, ibcheckstate, ibcheckwidth, ibswportwatch, ibprintca, ibprintrt, ibprintswitch, set_nodedesc.sh
نویسندگان (AUTHORS)
- Ira Weiny
- < <ira.weiny@intel.com> >
| 2017-08-21 |