بررسی Ping، DNS و رابط‌های شبکه در Dell PowerStore؛ قسمت هجدهم

عیب‌یابی شبکه Dell PowerStore با svc_networkcheck مجموعه‌ای از بررسی‌ها را برای ارتباط IPv4 و IPv6، اتصال‌های شبکه، پاسخ‌گویی DNS و وضعیت Bond Deviceها و Interfaceهای Node فراهم می‌کند. در این قسمت، فرمت و گزینه‌های فرمان‌های ping، ping6، netstat، dns، bond_list و interfaces بررسی می‌شوند.

این مقاله ادامه قسمت هفدهم درباره ARP، TCP و Traceroute است. تمرکز این قسمت بر بخش باقی‌مانده از ابزارهای Network Diagnostic است و در ادامه مجموعه، عملیات Node و Node Affinity بررسی خواهد شد.

خلاصه مقاله

فرمان‌های ping و ping6 برای بررسی ارتباط با مقصدهای IPv4 و IPv6، فرمان netstat برای مشاهده اتصال‌های Node، فرمان dns برای اجرای بررسی مبتنی بر dig، فرمان bond_list برای مشاهده تنظیمات Bond Device و فرمان interfaces برای شناسایی نام Interfaceها، IPها و Connection Markها استفاده می‌شوند. گزینه‌ها، ساختار دستورها و نمونه خروجی‌های مرتبط در ادامه ارائه شده‌اند.

مسیر مطالعه این راهنما

جایگاه قسمت هجدهم در مجموعه Service Scripts

قسمت هفدهم: عیب‌یابی ARP، TCP و Traceroute.

قسمت فعلی، هجدهم: بررسی Ping، DNS، Network Connection، Bond Device و Interface در Dell PowerStore.

قسمت بعدی: Node و Node Affinity در Dell PowerStore.

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

دامنه ابزارهای عیب‌یابی شبکه در PowerStore

Service Script با نام svc_networkcheck برای جمع‌آوری اطلاعات شبکه Appliance و اجرای ابزارهای تشخیص شبکه به کار می‌رود. فرمان‌های این قسمت هرکدام نوع معینی از اطلاعات را ارائه می‌کنند: آزمایش دسترس‌پذیری مقصد، نمایش اتصال، بررسی نام DNS، مشاهده Bond یا شناسایی Interface و Connection Mark.

کاربرد فرمان‌های مورد بررسی
فرمانعملکردمحدوده اطلاعات
svc_networkcheck pingPing مقصد IPv4Hostname یا IP Address و گزینه‌های MTU، Source IP و Namespace
svc_networkcheck ping6Ping مقصد IPv6Hostname یا IP Address و گزینه‌های ارائه‌شده برای IPv6
svc_networkcheck netstatنمایش Network Connectionهااتصال‌های شبکه Node
svc_networkcheck dnsDomain Name System Checkجست‌وجوی Resource Record با ابزار dig
svc_networkcheck bond_listمشاهده Bond Deviceهاتنظیمات، هشدارها و اطلاعات Portها در نمونه خروجی
svc_networkcheck interfacesنمایش InterfaceهاInterface Name، IP Address و Connection Mark

بررسی ارتباط IPv4 با svc_networkcheck ping

زیرفرمان ping امکان بررسی مقصد IPv4 را با استفاده از IP Address یا Hostname فراهم می‌کند. در فرمت این فرمان، مقصد یک آرگومان موقعیتی است و سایر گزینه‌ها برای تعیین MTU، Source IP، Connection Mark، تعداد درخواست‌ها، Fragmentation و Network Namespace در دسترس‌اند.

فرمت دستور
svc_networkcheck ping [-h] [-s {1500,9000}] [-I <value>] [-m <value>]
                             [-c <value>] [-f] [-N {host,sdnas}] destination
گزینه‌های svc_networkcheck ping
گزینهشرح عملکرد
-h, --helpنمایش راهنمای فرمان و خروج از آن
-s, --mtuاجرای Ping با MTU برابر 1500 یا 9000
-I, --sipتعیین Source IP Address یا Interface Name مربوط به Ping
-m, --markتعیین NAS Connection Mark برای یافتن Source IP
-c, --countتعیین محدوده ارسال بسته‌های ECHO_REQUEST
-f, --fragmentationجلوگیری از Fragment شدن Packet
-N, --namespaceانتخاب Network Namespace از میان host و sdnas
destinationمقصد به شکل IP Address یا Hostname

نمونه اجرای Ping و خواندن اطلاعات خروجی

نمونه زیر یک مقصد IPv4 را با مقدار MTU برابر 1500 و Connection Mark برابر 10 بررسی می‌کند. خروجی ثبت‌شده شامل وضعیت Node، پاسخ‌های ECHO و آمار پایانی Ping است.

نمونه دستور
svc_networkcheck ping 10.244.192.93 -c 3 --mtu 1500 --mark 10
=== Node status: Normal Mode ===

======================= [FNM00175201431-A][Wed Dec 23 09:28:08 UTC 2020] Beginning Run
=======================

PING 10.244.192.93 (10.244.192.93) 1500(1528) bytes of data.
1508 bytes from 10.244.192.93: icmp_seq=1 ttl=62 time=0.356 ms

1508 bytes from 10.244.192.93: icmp_seq=2 ttl=62 time=0.407 ms

1508 bytes from 10.244.192.93: icmp_seq=3 ttl=62 time=0.383 ms

--- 10.244.192.93 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2045ms
rtt min/avg/max/mdev = 0.356/0.382/0.407/0.020 ms

======================= [FNM00175201431-A][Wed Dec 23 09:28:10 UTC 2020] End of Run
=======================

در این نمونه، سه بسته ارسال و سه پاسخ دریافت شده است. خط آمار پایانی، مقدار Packet Loss و شاخص‌های زمانی RTT را نمایش می‌دهد. این اعداد مربوط به همین اجرای نمونه هستند و نباید به‌عنوان وضعیت یک Appliance دیگر تلقی شوند.

بررسی ارتباط IPv6 با svc_networkcheck ping6

فرمان ping6 همان نوع بررسی دسترس‌پذیری را برای مقصد IPv6 ارائه می‌کند. مقصد می‌تواند IP Address یا Hostname باشد. ساختار فرمان گزینه‌های MTU، Source IP، Mark، Count، Fragmentation و Network Namespace را نشان می‌دهد.

فرمت دستور
usage: svc_networkcheck ping6 [-h] [--mtu {1500,9000}] [--sip SIP]
                              [--mark MARK] [--count COUNT] [-f]
                              [-N {host,sdnas}]
                              destination
گزینه‌های بررسی IPv6
گزینه در فرمت فرمانکاربرد
-hنمایش راهنما
--mtu {1500,9000}انتخاب MTU برای Ping
--sip SIPتعیین Source IP Address یا Interface Name
--mark MARKتعیین NAS Connection Mark برای یافتن Source IP
--count COUNTکنترل ارسال درخواست‌های ECHO_REQUEST
-fجلوگیری از Fragment شدن Packet
-N {host,sdnas}انتخاب Network Namespace
destinationIP Address یا Hostname مقصد IPv6
نکته

در فرمت فرمان ping6، گزینه‌های MTU، Source IP، Mark و Count با نام‌های بلند نمایش داده شده‌اند. بنابراین هنگام بررسی نحوه استفاده از فرمان، ترتیب و نوشتار گزینه‌ها را مطابق فرمت همین زیرفرمان دنبال کنید.

مشاهده اتصال‌های شبکه با svc_networkcheck netstat

برای نمایش Network Connectionهای یک Node از زیرفرمان netstat استفاده می‌شود. این Service Script دسترسی به ابزار netstat را در چارچوب svc_networkcheck فراهم می‌کند.

فرمت دستور
svc_networkcheck netstat [-h]

گزینه -h یا --help راهنمای فرمان را نمایش می‌دهد. در فرمت این زیرفرمان، آرگومان دیگری به‌جز گزینه راهنما ذکر نشده است.

بررسی DNS با svc_networkcheck dns

زیرفرمان dns امکان اجرای Domain Name System Check را با استفاده از ابزار dig فراهم می‌کند. ورودی اصلی آن name است که نام Resource Record موردنظر برای جست‌وجو را مشخص می‌کند.

فرمت دستور
svc_networkcheck dns [-h] name
آرگومان‌های بررسی DNS
آرگومانتوضیح
-h, --helpنمایش پیام راهنما و خروج
nameنام Resource Record که باید جست‌وجو شود

تفاوت این بررسی با Ping در نوع ورودی و هدف فرمان است: در dns نام Resource Record برای جست‌وجو به ابزار dig داده می‌شود؛ در ping و ping6 مقصد ارتباط بر اساس IP Address یا Hostname مشخص می‌شود.

بررسی System Bond Deviceها با svc_networkcheck bond_list

فرمان bond_list برای مشاهده System Bond Deviceها و تنظیمات آن‌ها استفاده می‌شود. نمونه خروجی شامل نام Bond، تنظیمات Bonding، بخش Alerts و مشخصات Portهای عضو است. از این رو، اطلاعات حاصل تنها به نام Bond محدود نمی‌شود و وضعیت اجزای آن را نیز نشان می‌دهد.

فرمت دستور
svc_networkcheck bond_list -h

گزینه -h یا --help برای نمایش راهنما معرفی شده است. در نمونه اجرایی، فرمان بدون این گزینه فراخوانی می‌شود.

نمونه دستور
svc_networkcheck bond_list
bond0: system bond (not allowed to change options)
    - options:
        mode=802.3ad

    - alerts: No active alerts found

    - ports:
         ens7f3:
             Link up: up
             Carrier: 1
             Bonding State: active
             MAC: 0c:48:c6:73:67:5f
             PERM_MAC: 0c:48:c6:73:67:5f
             MTU: 1500
             Speed: 25000
             Duplex: full
             Aggregator id: 1
         ens7f2:
             Link up: up
             Carrier: 1
             Bonding State: backup
MAC: 0c:48:c6:73:67:5f
             PERM_MAC: 0c:48:c6:73:67:5e
             MTU: 1500
             Speed: 25000
             Duplex: full
             Aggregator id: 2
bond1: unknown bond (not allowed to change options)
    - options:
        mode=802.3ad miimon=200 updelay=0 downdelay=0 xmit_hash_policy=layer2+3
lacp_rate=slow

    - alerts:
        The exception from appliance_list is: global name 'ListAppliances' is not defined
        Alert id : f2779470-496a-4d49-a086-bef6dabc2209
        Error Code : 0x01807a02
        Severity : Major
        Timestamp (UTC) : 2021-10-26 19:00:03+00
        Appliance Name : A1
        Resource Type : bond
        Resource Name : BaseEnclosure-NodeA-bond1
        Description : One or more bond ports are in link down state or Link Aggregation
Control Protocol (LACP) is in degraded state.

    - ports:
        ens2f1:
             Link up: up
             Carrier: 1
             Bonding State: active
             MAC: 00:60:16:b9:53:4d
             PERM_MAC: 00:60:16:b9:53:4d
             MTU: 1500
             Speed: 25000
             Duplex: full
             Aggregator id: 1
        ens2f0:
             Link up: up
             Carrier: 1
             Bonding State: backup
             MAC: 00:60:16:b9:53:4d
             PERM_MAC: 00:60:16:b9:53:4c
             MTU: 1500
             Speed: 25000
             Duplex: full
             Aggregator id: 2

در بخش نمایش‌داده‌شده از نمونه، Bond با نام bond0 دارای گزینه mode=802.3ad است، هشدار فعالی گزارش نشده و دو Port با وضعیت‌های active و backup دیده می‌شوند. اطلاعاتی مانند Link up، Carrier، MAC، MTU، Speed، Duplex و Aggregator id نیز برای هر Port ارائه شده است.

هشدار Bond و وضعیت LACP در نمونه خروجی

در ادامه همان نمونه، Bond دیگری با نام bond1 نمایش داده شده است که در بخش Alerts آن، یک وضعیت Major ثبت شده و توضیح هشدار به Link Down بودن یک یا چند Bond Port یا Degraded بودن وضعیت LACP اشاره می‌کند.

هشدار

وجود هشدار در خروجی نمونه bond1 به معنای وجود همان هشدار در هر سیستم PowerStore نیست. برای تشخیص وضعیت Bond باید بخش Alerts همان خروجی اجراشده و اطلاعات Portهای مرتبط بررسی شود.

فیلدهای قابل مشاهده در نمونه Bond
فیلدنوع اطلاعات در خروجی
optionsتنظیماتی مانند mode و دیگر پارامترهای Bond
alertsهشدارهای Bond یا نبود هشدار فعال
portsفهرست Portهای عضو Bond
Link up، Carrierفیلدهای وضعیت Link و Carrier
Bonding Stateوضعیت درج‌شده برای Port، مانند active یا backup در نمونه
MAC، PERM_MACمقادیر آدرس MAC و آدرس دائمی آن در خروجی
MTU، Speed، Duplexمشخصات ارتباطی گزارش‌شده برای Port
Aggregator idشناسه Aggregator درج‌شده برای Port

مشاهده Interfaceها و Connection Markها

زیرفرمان interfaces نام Interfaceها، IP Addressها و Connection Markهای Node را نمایش می‌دهد. این فرمان امکان تعیین Network Namespace به صورت host یا sdnas را نیز در اختیار قرار می‌دهد.

فرمت دستور
svc_networkcheck interfaces [-h] [-N {host,sdnas}]
پارامترهای نمایش Interface
پارامترعملکرد
-h, --helpنمایش راهنمای فرمان و خروج
-N, --namespaceتعریف Network Namespace به شکل host یا sdnas
hostمقدار انتخاب Namespace از نوع host
sdnasمقدار انتخاب Namespace از نوع SDNAS

نمونه اجرای فرمان در Namespace مربوط به SDNAS

در مثال زیر، مقدار sdnas برای Network Namespace انتخاب شده است. خروجی نمونه ابتدا وضعیت Node را نمایش می‌دهد، سپس مشخصات Interface و آدرس‌های آن را در قسمت ip addr show و Connection Markهای مرتبط را در قسمت ip ru show ارائه می‌کند.

نمونه دستور
svc_networkcheck interfaces --namespace sdnas
=== Node status: Normal Mode ===

======================= [FNM00175201431-A][Wed Dec 23 09:32:00 UTC 2020] Beginning Run
=======================

========= sdnas: ip addr show =========

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen
1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth_svc@if47: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group
default qlen 1000
    link/ether 0a:c6:09:ee:a6:35 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 128.221.255.34/30 scope global eth_svc
       valid_lft forever preferred_lft forever
41: eth_mgmt@if27: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
group default qlen 1000
    link/ether 66:6b:e2:88:b9:3d brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fdea:4915:d43d:0:201:44bd:3c1f:d1ca/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fdea:4915:d43d:0:201:442d:a826:c80/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::646b:e2ff:fe88:b93d/64 scope
link
       valid_lft forever preferred_lft forever
42: eth_data0@if27: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
group default qlen 1000
    link/ether 5e:94:db:2b:e8:17 brd ff:ff:ff:ff:ff:ff link-netnsid 0

========= sdnas: ip ru show =========
0:      from all lookup local
218:    from all fwmark 0x8002 lookup 4
219:    from all fwmark 0x8001 lookup 2
220:    from all lookup 220
32765:  from all fwmark 0x8000/0x8000 lookup 1 unreachable
32766:  from all lookup main
32767:  from all lookup default
65535:  from all fwmark 0x8001 lookup 3 unreachable
65535:  from all fwmark 0x8002 lookup 5 unreachable

======================= [FNM00175201431-A][Wed Dec 23 09:32:00 UTC 2020] End of Run
=======================

در خروجی کامل نمونه، علاوه بر Interface مربوط به lo، نام‌هایی مانند eth_svc، eth_mgmt و eth_data0 نیز دیده می‌شوند. بخش ip addr show حاوی مشخصات Interfaceها و IPها است و بخش ip ru show ردیف‌های مربوط به fwmark و lookup را نشان می‌دهد.

مقادیر IP و Connection Mark نمایش‌داده‌شده در این مثال متعلق به خروجی نمونه هستند. هدف، شناسایی بخش‌های اطلاعاتی است که هنگام اجرای فرمان باید خوانده شوند.

نکات فنی در تفسیر خروجی‌ها

هر زیرفرمان svc_networkcheck مجموعه متفاوتی از داده‌ها را ارائه می‌کند. برای خواندن خروجی، ابتدا نوع بررسی انتخاب‌شده و سپس فیلدهای مرتبط با همان فرمان مشخص می‌شوند؛ زیرا نتیجه Ping، فهرست Connectionها و تنظیمات Bond از یک نوع نیستند.

Ping و Ping6

مقصد IPv4 یا IPv6 و گزینه‌های مرتبط با MTU، Source IP، Mark و Namespace را از یکدیگر تفکیک کنید. خروجی Ping نمونه شامل آمار Packet و RTT است.

DNS و netstat

در DNS، ورودی name نام Resource Record را تعیین می‌کند؛ netstat برای نمایش Network Connectionهای Node معرفی شده است.

Bond Device

در خروجی bond_list، تنظیمات Bond، بخش Alerts و وضعیت Portها در کنار هم قرار دارند.

Interface و Connection Mark

در خروجی interfaces، به Namespace انتخاب‌شده و دو بخش اطلاعات Interface/IP و fwmark/lookup توجه می‌شود.

جمع‌بندی نهایی

در قسمت هجدهم راهنمای Service Scripts، شش زیرفرمان تکمیلی svc_networkcheck پوشش داده شدند. ping و ping6 برای بررسی مقصدهای IPv4 و IPv6، netstat برای نمایش اتصال‌های شبکه، dns برای جست‌وجوی Resource Record، bond_list برای مشاهده تنظیمات و هشدارهای Bond و interfaces برای مشاهده IPها و Connection Markهای Node کاربرد دارند.

این مجموعه، ادامه مباحث ARP، TCP و Traceroute در قسمت هفدهم است. با پایان بررسی فرمان‌های شبکه، مسیر مطالعه به عملیات Node و Node Affinity می‌رسد.

سوالات متداول

برای تست ارتباط IPv4 و IPv6 در PowerStore از یک فرمان استفاده می‌شود؟

خیر. در مجموعه svc_networkcheck، زیرفرمان ping برای مقصد IPv4 و زیرفرمان ping6 برای مقصد IPv6 تعریف شده‌اند.

آیا در دستور Ping می‌توان MTU را مشخص کرد؟

بله. گزینه MTU در فرمت فرمان وجود دارد و مقادیر 1500 و 9000 برای آن ارائه شده است.

نقش Network Namespace در فرمان‌های شبکه چیست؟

در فرمان‌های ping، ping6 و interfaces می‌توان مقدار Namespace را از میان host و sdnas انتخاب کرد.

فرمان svc_networkcheck dns چه ورودی‌ای دریافت می‌کند؟

این فرمان آرگومان name را می‌گیرد که نام Resource Record موردنظر برای جست‌وجو را مشخص می‌کند.

از خروجی bond_list چه اطلاعاتی به دست می‌آید؟

نمونه خروجی این فرمان نام Bond، گزینه‌های آن، هشدارها و مشخصات Portها از جمله Link، Bonding State، MAC، MTU و Speed را نشان می‌دهد.

برای مشاهده Connection Markهای SDNAS کدام فرمان معرفی شده است؟

زیرفرمان interfaces با انتخاب Namespace برابر sdnas، نام Interfaceها، آدرس‌های IP و Connection Markهای مرتبط را نمایش می‌دهد.

ادامه راهنمای فنی Dell PowerStore

در قسمت بعدی، عملیات Node و Node Affinity در Dell PowerStore بررسی می‌شود.

برای بررسی نیازهای فنی، نگهداری و پشتیبانی زیرساخت ذخیره‌سازی PowerStore می‌توان از کارشناسان زیرساخت آکو مشاوره دریافت کرد.