اجرای درخواستهای 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 را پوشش میدهند.
- مسیر مطالعه این راهنما
- معرفی svc_pstcli و احراز هویت مبتنی بر Certificate
- شرایط اجرا، سطح دسترسی و دامنه عملیات
- ساختار دستور و دریافت راهنمای svc_pstcli
- دستهبندی Commandها در Dell PowerStore
- فهرست Subcommandهای مدیریتی
- مثالهای اجرایی svc_pstcli
- نکات تفسیر خروجی و محدودیتهای کاربردی
- جمعبندی اجرای درخواستهای REST در PowerStore
- سوالات متداول
مسیر مطالعه این راهنما
قسمت بیستم: مدیریت 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 و عملیات موردنظر تعریف میشود. مجموعه فرمانها امکان مراجعه به اشیای مربوط به تنظیمات، ذخیرهسازی، پشتیبانی، سختافزار و سایر حوزههای مدیریتی را فراهم میکند. فهرست دقیق این حوزهها در بخش دستهبندی دستورات آمده است.
خروجی نمونه راهنمای عمومی pstcli گزینههایی مانند -u و -p را نیز نمایش میدهد. این گزینهها بخشی از متن Help عمومی هستند و نباید با روش احراز هویت مبتنی بر Certificate در خود svc_pstcli یکسان تلقی شوند.
شرایط اجرا، سطح دسترسی و دامنه عملیات
پیش از اجرای درخواستها، باید محدوده استفاده از این Service Script مشخص باشد. جدول زیر ویژگیهای اجرایی آن را نشان میدهد. نیاز به گذرواژه کاربر Service مربوط به دسترسی عملیاتی به محیط سرویس است و با عدم پذیرش Username و Password بهعنوان آرگومانهای خود اسکریپت تناقضی ندارد.
| مشخصه | وضعیت |
|---|---|
| کارکرد | پیکربندی |
| حالت اجرا | 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 در ۸ دسته موضوعی سازماندهی شدهاند. این تقسیمبندی نقطه شروع مناسبی برای یافتن فرمان مرتبط با یک وظیفه مشخص است؛ زیرا هر دسته به مجموعهای از اشیا و عملیات اختصاص دارد.
| دستهبندی | دامنه عملکرد |
|---|---|
| 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ها |
|---|---|
| Compute | discovered_initiator، host، host_group، host_virtual_volume_mapping، host_volume_mapping، initiator، vcenter، virtual_machine، vsphere_host، vsphere_host_license_assignment |
| Migration | file_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 |
| Monitoring | alert، event، fast_metrics_config، job، metrics، remote_syslog_server |
| Protection | policy، remote_system، replication_rule، replication_session، snapshot_rule، storage_container_destination، witness |
| Settings | audit_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 |
| Storage | datastore، 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 |
| Support | datacollection، maintenance_window، metrics_archive، remote_support_contac، service_config، service_user |
| System_and_Hardware | appliance، 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 | نقش در خروجی 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 استفاده میکنند.
برای ادامه مسیر آموزشی، مدیریت Remote Support و Syslog را در قسمت بیستودوم مطالعه کنید. برای بررسی نیازهای فنی مدیریت و پشتیبانی استوریج Dell PowerStore، میتوانید با کارشناسان زیرساخت و ذخیرهسازی آکو مشورت کنید.
HPE
DELL
Broadcom
HPE
DELL
Broadcom
Vmware