اجرای درخواست‌های REST با svc_pstcli در Dell PowerStore؛ قسمت بیست‌ویکم

اجرای REST در Dell PowerStore با svc_pstcli یکی از قابلیت‌های Service Scripts برای ارسال درخواست از داخل Service Container است. این ابزار از احراز هویت مبتنی بر Certificate استفاده می‌کند و برای اجرای خود به دریافت نام کاربری و گذرواژه به‌عنوان آرگومان نیاز ندارد. در این قسمت، نحوه استفاده از راهنما، دسته‌بندی فرمان‌ها و چند Query واقعی بررسی می‌شود.

این مقاله قسمت بیست‌ویکم مجموعه راهنمای Service Scripts است. قسمت پیشین به مدیریت NTP، تنظیمات Ongoing Validation و بازیابی گذرواژه اختصاص داشت. اکنون تمرکز بر ابزار svc_pstcli است و موضوع Remote Support و Syslog در قسمت بعد دنبال می‌شود.

خلاصه مقاله

دستور svc_pstcli درخواست‌های مدیریتی را از Service Container به سیستم ارسال می‌کند، بدون آنکه Username و Password به خود اسکریپت داده شود. این ابزار برای دامنه Cluster تعریف شده است و در حالت‌های Normal و Service به کار می‌رود. دسته‌های فرمان شامل Compute، Migration، Monitoring، Protection، Settings، Storage، Support و System_and_Hardware هستند. نمونه‌های عملی نیز دریافت راهنمای discovered_initiator و نمایش software_installed و DNS را پوشش می‌دهند.

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

جایگاه قسمت بیست‌ویکم در مجموعه

قسمت بیستم: مدیریت NTP، تنظیمات ONV و بازیابی گذرواژه.

قسمت فعلی: اجرای درخواست‌های REST با svc_pstcli و بررسی فرمان‌های مدیریتی PowerStore.

قسمت بیست‌ودوم: مدیریت Remote Support و Syslog در Dell PowerStore.

معرفی svc_pstcli و احراز هویت مبتنی بر Certificate

Service Script با نام svc_pstcli برای ارسال REST Request از داخل Service Container به کار می‌رود. ویژگی تعیین‌کننده آن استفاده از Certificate-based Authentication است؛ بنابراین برخلاف الگوهایی که اطلاعات ورود را در ورودی فرمان می‌گیرند، این اسکریپت Username و Password را به‌عنوان ورودی احراز هویت نمی‌پذیرد.

در عمل، استفاده از آن با انتخاب Command، Object و عملیات موردنظر تعریف می‌شود. مجموعه فرمان‌ها امکان مراجعه به اشیای مربوط به تنظیمات، ذخیره‌سازی، پشتیبانی، سخت‌افزار و سایر حوزه‌های مدیریتی را فراهم می‌کند. فهرست دقیق این حوزه‌ها در بخش دسته‌بندی دستورات آمده است.

تفاوت ابزار و متن Help

خروجی نمونه راهنمای عمومی pstcli گزینه‌هایی مانند -u و -p را نیز نمایش می‌دهد. این گزینه‌ها بخشی از متن Help عمومی هستند و نباید با روش احراز هویت مبتنی بر Certificate در خود svc_pstcli یکسان تلقی شوند.

شرایط اجرا، سطح دسترسی و دامنه عملیات

پیش از اجرای درخواست‌ها، باید محدوده استفاده از این Service Script مشخص باشد. جدول زیر ویژگی‌های اجرایی آن را نشان می‌دهد. نیاز به گذرواژه کاربر Service مربوط به دسترسی عملیاتی به محیط سرویس است و با عدم پذیرش Username و Password به‌عنوان آرگومان‌های خود اسکریپت تناقضی ندارد.

مشخصات اجرایی svc_pstcli
مشخصهوضعیت
کارکردپیکربندی
حالت اجراNormal و Service
نوع کاربردسرویس فنی
نیاز به گذرواژه کاربر Serviceبله
نیاز به دسترسی rootخیر
احتمال عدم دسترس‌پذیری داده در مشخصات این اسکریپتخیر
احتمال از دست رفتن داده در مشخصات این اسکریپتخیر
دامنهCluster
پیش‌نیاز اختصاصیهیچ‌کدام

جدول کاربرد ابزار را در سطح کلی نشان می‌دهد. انتخاب Subcommand و Action همچنان باید با هدف عملیاتی موردنظر سازگار باشد. برای نمونه، فرمان‌های دسته Monitoring در حوزه مشاهده رویدادها قرار می‌گیرند؛ در حالی که زیرمجموعه Settings به تنظیمات عمومی سیستم مربوط است.

ساختار دستور و دریافت راهنمای svc_pstcli

فرمت اصلی دستور به شکل زیر تعریف شده است. آرگومان all برای نمایش همه Commandها معرفی می‌شود و گزینه -h یا --help متن راهنما را نمایش می‌دهد.

فرمت دستور
svc_pstcli [-h] all
پارامترها و عملیات اولیه
پارامتر یا عملیاتکارکرد
-h, --helpنمایش Help و خروج از راهنما
allنمایش همه Commandها
--help allدریافت فهرست کامل Commandها در متن راهنما
--help <command or category name>دریافت Help درباره Command یا Category مشخص

برای دریافت جزئیات یک Object یا Subcommand، می‌توان از راهنمای اختصاصی آن استفاده کرد. مثال عملی discovered_initiator در ادامه نشان می‌دهد خروجی Help چگونه Actionهای قابل اجرا و Optionهای مربوط به نمایش، مرتب‌سازی و قالب خروجی را معرفی می‌کند.

هنگام اجرای دستور بدون آرگومان، نمونه خروجی شامل توضیح عملکرد pstcli، فهرست دسته‌بندی فرمان‌ها و یک بخش مربوط به Remote Certificate است. در این بخش سه انتخاب برای Certificate نمایش داده می‌شود: پذیرش فقط برای همان Session، ردکردن Certificate، یا پذیرش و ذخیره‌سازی آن. در خروجی نمونه، گزینه اول به‌عنوان انتخاب پیش‌فرض نمایش داده شده است.

دسته‌بندی Commandها در Dell PowerStore

دستورهای قابل استفاده در Target System در ۸ دسته موضوعی سازمان‌دهی شده‌اند. این تقسیم‌بندی نقطه شروع مناسبی برای یافتن فرمان مرتبط با یک وظیفه مشخص است؛ زیرا هر دسته به مجموعه‌ای از اشیا و عملیات اختصاص دارد.

گروه‌های اصلی Command در svc_pstcli
دسته‌بندیدامنه عملکرد
Computeمدیریت Host Configuration، Virtual Machine و VMware Integration
Migrationمدیریت Data Import و Data Migration از سیستم‌های راه دور
Monitoringمشاهده Event Logها و Alertها
Protectionمدیریت Replication، Data Protection Rule و Witness
Settingsپیکربندی تنظیمات عمومی شامل Networking، Licensing و Updates
Storageمدیریت Storage Configuration، ایجاد و حذف Storage Resource و پیکربندی NAS Server
Supportمدیریت Credentialهای Service User و اجرای Service Action
System_and_Hardwareمدیریت Hardware، مشاهده Health Status اجزا و تغییر Cluster Configuration

برای نمونه، مشاهده DNS و فهرست نرم‌افزارهای نصب‌شده در دسته Settings قرار دارد و discovered_initiator زیرمجموعه Compute است. ابزار svc_pstcli مجموعه Commandها را بر اساس نام Object و Action در دسترس قرار می‌دهد؛ بنابراین لازم است نام کامل Subcommand انتخاب شود.

فهرست Subcommandهای مدیریتی

هر دسته شامل Objectهایی است که عملیات قابل اجرا روی آن‌ها با Help اختصاصی روشن می‌شود. جدول زیر Subcommandهای ذکرشده برای هر دسته را حفظ می‌کند تا مسیر یافتن دستور از روی حوزه کاری ساده‌تر شود. نام‌ها به همان صورت فنی انگلیسی آورده شده‌اند.

Subcommandهای دسته‌های اصلی
گروهSubcommandها
Computediscovered_initiator، host، host_group، host_virtual_volume_mapping، host_volume_mapping، initiator، vcenter، virtual_machine، vsphere_host، vsphere_host_license_assignment
Migrationfile_import_interface، import_host_volume، import_session، import_unity_consistency_group، import_vmax_volume، import_xtremio_consistency_group، file_import_nas_server، import_netapp، import_storage_center، import_unity_volume، import_vnx_array، import_xtremio_volume، file_import_session، import_netapp_volume، import_storage_center_consistency_group، import_universal_volume، import_vnx_consistency_group، migration_recommendation، import_host_initiator، import_psgroup، import_storage_center_volume، import_vmax، import_vnx_volume، migration_session، import_host_system، import_psgroup_volume، import_unity، import_vmax_storage_group، import_xtremio
Monitoringalert، event، fast_metrics_config، job، metrics، remote_syslog_server
Protectionpolicy، remote_system، replication_rule، replication_session، snapshot_rule، storage_container_destination، witness
Settingsaudit_event، email_notify_destination، keystore_archive، ldap_domain، login_banner، network، physical_switch، smtp_config، software_installed، chap_config، ip_pool_address، kmip_config، license، login_session، ntp، role، dns، ip_port، ldap_account، local_user، mfa_securid، nvme_discovered_cdc، security_config، software_component، x509_certificate
Storagedatastore، file_events_pool، file_interface، file_ldap، file_system، file_virus_checker، nfs_export، recycle_bin، smb_server، virtual_volume، file_dhsm_config، file_events_publisher، file_interface_route، file_ndmp، file_tree_quota، io_limit_rule، nfs_server، recycle_bin_config، smb_share، volume، file_dns، file_ftp، file_kerberos، file_nis، file_user_quota، nas_server، performance_rule، replication_group، storage_container، volume_group
Supportdatacollection، maintenance_window، metrics_archive، remote_support_contac، service_config، service_user
System_and_Hardwareappliance، bond، cluster، discovered_appliance، eth_be_port، eth_port، fc_port، fsn، hardware، node، sas_port، veth_port

این فهرست به معنای یکسان‌بودن Actionها برای همه Objectها نیست. برخی از Subcommandها Optionهای تکمیلی دارند؛ برای اطلاع از Action و Flagهای همان Object باید Help مربوط به آن مشاهده شود. نمونه discovered_initiator نشان می‌دهد که Action قابل استفاده در مثال، show است.

مثال‌های اجرایی svc_pstcli

مثال‌های زیر چهار شیوه استفاده از ابزار را پوشش می‌دهند: اجرای عمومی برای مشاهده راهنما، دریافت جزئیات یک Object، نمایش نرم‌افزارهای نصب‌شده و خواندن پیکربندی DNS. همه فرمان‌های این بخش مطابق نمونه‌های موجود نوشته شده‌اند.

مثال ۱: اجرای عمومی و مشاهده دسته‌های فرمان

برای مشاهده راهنمای عمومی و اطلاعات اولیه درباره Command Categoryها، دستور svc_pstcli بدون آرگومان اجرا می‌شود. خروجی نمونه توضیح می‌دهد که pstcli می‌تواند یک Action روی Object مقصد انجام دهد یا Session برای اجرای چند Action باز کند.

نمونه دستور
svc_pstcli

در همان خروجی، پس از نمایش اطلاعات Remote Certificate، گزینه‌های Accept for this session، Reject و Accept and store دیده می‌شوند و سپس دسته‌های Compute تا System_and_Hardware معرفی می‌شوند. مقادیر Thumbprint، Serial Number و تاریخ اعتبار Certificate در خروجی نمونه صرفاً مشخصات همان Certificate هستند؛ از آن‌ها نباید به‌عنوان مقادیر ثابت همه سیستم‌ها استفاده شود.

مثال ۲: راهنمای discovered_initiator و Optionهای نمایش

برای مشاهده Help مرتبط با discovered_initiator، نام Object پس از help آورده می‌شود. در خروجی این دستور Action از نوع show معرفی شده و گزینه‌های انتخاب ستون، مرتب‌سازی، Offset، Limit، Query و قالب خروجی در دسترس توضیح داده شده‌اند.

نمونه دستور
svc_pstcli help discovered_initiator
Actions:
  [show]
  discovered_initiator show [ -select <field>,... ] [ -sort <sort field>[+|-],... ] [ 
-offset <value> ] [ { -limit <value> | -all } ] [ -query <value> ] [ -output { nvp | csv 
[ -table ] [
  -noformat ] | table | json [ -raw ] } ]
Optionهای معرفی‌شده برای discovered_initiator
Optionنقش در خروجی Help
-selectانتخاب فیلدهای خروجی
-sortمرتب‌سازی بر اساس فیلد انتخابی
-offsetتعیین Offset
-limit و -allتعیین محدوده یا نمایش همه موارد
-queryاستفاده از Query
-outputانتخاب قالب nvp، csv، table یا json

فیلدهای معرفی‌شده برای select و sort شامل name، nvme_transport_addresses، nvme_transport_types، nvme_transport_types_l10n، protocol_type و protocol_type_l10n هستند. معرفی این فیلدها بخشی از خروجی Help همان Subcommand است و نباید به همه Objectهای دیگر تعمیم داده شود.

مثال ۳: نمایش نرم‌افزارهای نصب‌شده با software_installed

برای ارسال Query مربوط به Software نصب‌شده، از Action نوع show روی Object با نام software_installed استفاده می‌شود. در نمونه خروجی، ستون‌های id، release_version، installed_date و appliance.id نمایش داده شده‌اند.

نمونه دستور
svc_pstcli software_installed show

این ساختار برای مشاهده اطلاعات نسخه و تاریخ نصب در خروجی همان نمونه استفاده می‌شود. مقدارهای نسخه، تاریخ و شناسه‌ها متعلق به اجرای نمونه هستند و نباید وضعیت واقعی Cluster دیگری تلقی شوند.

مثال ۴: مشاهده تنظیمات DNS با dns show

Object با نام dns در گروه Settings قرار دارد. نمونه زیر نحوه فراخوانی Action از نوع show برای مشاهده اطلاعات DNS را نشان می‌دهد و خروجی ارائه‌شده در راهنما ستون‌های id و addresses را نمایش می‌دهد.

نمونه دستور
svc_pstcli dns show
#  |  id  |   addresses
----+------+---------------
  1 | DNS1 | 10.244.53.108
    |      | 10.228.254.66
[SVC:service@CG6N7W3-A user]$

در این مثال، DNS1 شناسه رکورد و مقادیر addresses آدرس‌های همان محیط نمونه هستند. برای بررسی یک محیط عملیاتی دیگر، باید به خروجی تولیدشده روی همان سیستم استناد کرد و نه مقادیر نمایش‌داده‌شده در نمونه بالا.

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

سه موضوع هنگام کار با svc_pstcli نیاز به تفکیک دارند: هویت استفاده‌شده برای ورود به Service Container، روش احراز هویت خود اسکریپت، و اطلاعات نمایشی در Help یا خروجی Command. این لایه‌ها در توضیحات عمومی ابزار و نمونه‌ها به صورت جداگانه مطرح شده‌اند.

توجه به روش احراز هویت

svc_pstcli از Certificate-based Authentication استفاده می‌کند و Username یا Password دریافت نمی‌کند. مشخصه «نیاز به گذرواژه کاربر Service: بله» در جدول کاربرد، مربوط به دسترسی Service است و به معنی وجود Optionهای ورودی نام کاربری و گذرواژه برای این Service Script نیست.

نکته

در خروجی اجرای عمومی، امکان Accept یا Reject کردن Remote Certificate و نیز Accept and store وجود دارد. این انتخاب‌ها را با داده‌های ثابت نمونه، مانند Thumbprint یا زمان اعتبار Certificate، اشتباه نگیرید.

همچنین، وجود یک نام در فهرست Subcommandها به تنهایی Syntax عملیاتی آن را مشخص نمی‌کند. برای مثال، discovered_initiator در خروجی Help فقط Action از نوع show را نشان می‌دهد. به همین دلیل مراجعه به Help اختصاصی، پیش از استفاده از گزینه‌های آن Command، مبنای دقیق‌تری برای شناخت پارامترهای قابل استفاده است.

بر اساس مشخصات ابزار، دامنه آن Cluster و حالت‌های قابل استفاده Normal و Service است و برای خود svc_pstcli دسترسی root لازم نیست. درباره رفتار Actionهایی که در مثال‌ها شرح داده نشده‌اند، نمی‌توان از این ویژگی‌های کلی نتیجه اجرایی مستقلی گرفت.

جمع‌بندی اجرای درخواست‌های REST در PowerStore

svc_pstcli دسترسی به مجموعه‌ای از Commandهای مدیریتی را از داخل Service Container فراهم می‌کند و از Certificate-based Authentication استفاده می‌کند. این فرمان‌ها در ۸ گروه اصلی طبقه‌بندی می‌شوند و هر Object می‌تواند راهنمای Actionها و Optionهای مخصوص خود را داشته باشد.

مسیر عملی کار از شناخت دسته فرمان، بررسی Help مرتبط و سپس اجرای Query موردنظر می‌گذرد. سه نمونه discovered_initiator، software_installed و dns نشان می‌دهند که چگونه می‌توان راهنمای دقیق یک Object را دریافت یا اطلاعات موجود درباره نرم‌افزار و تنظیمات DNS را مشاهده کرد.

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

آیا svc_pstcli برای احراز هویت به Username و Password نیاز دارد؟

خیر. خود اسکریپت از Certificate-based Authentication استفاده می‌کند و Username و Password نمی‌پذیرد؛ هرچند دسترسی به محیط Service مستلزم گذرواژه کاربر Service است.

svc_pstcli در چه حالت‌هایی از PowerStore استفاده می‌شود؟

برای این Service Script حالت‌های Normal و Service ذکر شده و دامنه عملیاتی آن Cluster است.

آیا اجرای svc_pstcli مستلزم دسترسی root است؟

خیر. در مشخصات اجرایی این ابزار، نیاز به دسترسی root برابر با «خیر» است.

چگونه می‌توان Actionهای مجاز یک Subcommand را شناسایی کرد؟

با مشاهده Help مربوط به همان Object. برای نمونه، راهنمای discovered_initiator، Action از نوع show و Optionهای مرتبط را معرفی می‌کند.

گزینه‌های پذیرش Certificate در خروجی اولیه چه هستند؟

در نمونه خروجی، انتخاب‌های پذیرش برای همان Session، ردکردن Certificate و پذیرش همراه با ذخیره‌سازی نمایش داده شده‌اند.

برای مشاهده اطلاعات DNS و Software Installed از کدام Objectها استفاده می‌شود؟

نمونه‌های اجرایی از Objectهای dns و software_installed همراه با Action نوع show استفاده می‌کنند.

ادامه راهنمای تخصصی Dell PowerStore

برای ادامه مسیر آموزشی، مدیریت Remote Support و Syslog را در قسمت بیست‌ودوم مطالعه کنید. برای بررسی نیازهای فنی مدیریت و پشتیبانی استوریج Dell PowerStore، می‌توانید با کارشناسان زیرساخت و ذخیره‌سازی آکو مشورت کنید.