خانه » وبلاگ آموزشی » مجازی سازی مرکزداده » آشنایی با دستور vim-cmd
11 اردیبهشت 1397

آشنایی با دستور vim-cmd

خط فرمان به عنوان یک روش مدیریت و عیب یابی، همیشه برای مدیران محیط های مجازی محبوب و جذاب بوده است. دستورات زیادی در محیط خط فرمان ESXi وجود دارد که یکی از آنها vim-cmd است.

اگر با vSphere API آشنایی داشته باشید می دانید که VIM در واقع اختصار Virtual Infrastructure Management است. این دستور با vSphere API مرتبط و در سطح بالاتر از hostd قرار گرفته است. بنابراین می توان نتیجه گرفت که این دستور جهت مدیریت محیط مجازی ایجاد شده روی هاست ESXi کاربرد دارد. در مقابل جهت انجام امور مدیریتی هاست ESXi می توان از دستوراتی چون esxcli استفاده کرد.

در قدم اول مسیر قرارگیری این دستور را معرفی می کنیم. این دستور در مسیر زیر قرار گرفته است.

/bin/vim-cmd

این دستور دارای سوئیچ های متعددی است. با برقراری ارتباط SSH به هاست ESXi خود و وارد کردن دستور vim-cmd می توانید لیست سوئیچ های آنرا به شرح زیر مشاهده نمایید:

  • hbrsvc
  • hostsvc
  • internalsvc
  • proxysvc
  • solo
  • vimsvc
  • vmsvc

جهت درک بهتر این سوئیچ ها، کافیست مقدار svc را از انتهای آنها (به جز solo) حذف کنید تا به راحتی متوجه شوید که هر سوئیچ چه کاربردی دارد.

سوئیچ vmsvc

کاربرد این سوئیچ در مدیریت ماشین های مجازی موجود بر روی آن هاست می باشد. با وارد کردن دستور vim-cmd vmsvc می توانید لیست زیرسوئیچ های آن را مشاهده نمایید.

همانطور که از لیست نمایش داده شده مشخص است، این دستورات جهت مدیریت ماشین های مجازی موجود بر روی هاست ESXi کاربرد دارد. جهت استفاده برخی از این دستورات می بایست اطلاعات مشخصی را در مقابل دستور وارد نمایید. به طور مثال اگر از دستور unregister استفاده نمایید باید در مقابل آن ID مربوط به ماشین مجازی مدنظر خود را وارد کنید.

نکته: جهت پیدا کردن ID ماشین های مجازی از دستور vim-cmd vmsvc/getallvms استفاده نمایید. در نتیجه خروجی این دستور اولین ستون مربوط به ID ماشین های مجازی شماست.

VIMID

نمونه مثال ها:

اگر دستور vim-cmd vmsvc/get.networks 1 را وارد نماییم، اطلاعات مربوط به اینکه ماشین مجازی با ID شماره 1 به چه شبکه ای روی هاست شما متصل است نمایش داده می شود.

GetNetworks

دستور vim-cmd vmsvc/get.tasklist 1 می تواند به شما لیستی از فعالیت های مرتبط با ماشین مجازی با ID شماره 1 را نمایش دهد.

GetTaskList

با وارد کردن دستور vim-cmd vmsvc/get.capability 1 می توانید از قابلیت های ماشین مجازی با ID شماره 1 خود مطلع شوید.

با استفاده از دستور vim-cmd vmsvc/createdummyvm testVM [datastore1] /testVM/testVM.vmx می توانید تعداد زیادی Dummy Machine ایجاد نمایید. 

سوئیچ vimsvc

این سوئیچ و زیرسوئیچ های آن جهت مدیریت بخش هایی مانند مدیریت لایسنس، احراز هویت، مدیریت وظایف و … کاربرد دارد. دستور vim- cmd vimsvc را وارد نمایید تا لیست زیرسوئیچ های آنرا مشاهده نمایید.

نمونه مثال ها:

با استفاده از دستور vim-cmd vimsvc/auth/role_add می توانید یک role به لیست نقش های موجود در هاست ESXi خود اضافه نمایید.

دستور vim-cmd vimsvc/task_list لیستی از فعالیت های انجام شده بر روی هاست شما را نمایش می دهد.

سوئیچ proxysvc

دستورات این سوئیچ مربوط به بخش شبکه هاست ESXi شما می باشد. این دستور را وارد نمایید تا لیست زیرسوئیچ های آن را مشاهده نمایید.

نمونه مثال ها:

با وارد کردن دستور vim-cmd proxysvc/port_info می توانید شماره پورت های مربوط به پروتکل های http و https فعال بر روی هاست ESXi خود را مشاهده نمایید.

portInfo

با دستور vim-cmd proxysvc/service_list می توانید اطلاعات کاملی از وضعیت سرویس های موجود بر روی هاست ESXi خود مشاهده نمایید. این اطلاعات شامل دسترسی سرویس به پروتکل ها و شماره پورت آنها می باشد. این اطلاعات در فایل /etc/vmware/rhttpproxy/endpoints.conf نیز قابل دسترس می باشد.

سوئیچ solo

دستورات این سوئیچ جهت نمایش اطلاعات محیطی ESXi کاربرد دارند. منظور از نمایش اطلاعات محیطی مواردی چون میزان منابع موجود بر روی هاست، فضاهای ذخیره سازی و … می باشد. مهمترین دستور در این سوئیچ دستور registervm می باشد که به صورت زیر کاربرد دارد:

vim-cmd solo/registervm /vmfs/volumes/datastore1/testvm/testvm.vmx

این دستور جهت رجیستر کردن یک ماشین مجازی به هاست شما کاربرد دارد. نکته ای که وجود دارد این است که باید مطمئن شوید که ماشین مجازی قبلا توسط هاست دیگری Lock نشده باشد.

نکته: دستور مقابل این سوئیچ یعنی Unregister کردن، در زیر مجموعه سوئیچ vmsvc قرار دارد.

سوئیچ hostsvc

پیچیده ترین دستورات vim-cmd در بخش hostsvc قرار دارند. اگر خروجی این دستور را مشاهده کنید متوجه خواهید شد که بسیاری از زیر سوئیچ های آن عملکردهای پیچیده ای دارند. اما در بین آنها سوئیچ هایی نیز وجود دارند که کاملا واضح بوده و می توانید از آنها به راحتی استفاده کنید.

نمونه مثال ها:

اگر دستور vim-cmd hostsvc/summary/hba را وارد کنید می توانید لیستی از HBA کارت های نصب شده روی هاست ESXi خود را مشاهده نمایید. همین دستور با سوئیچ fsvolume و scsilun به جای hba اطلاعات مربوط به SCSI Lun ها و پارتیشن های VMFS روی هاست را نمایش می دهد.

دستور vim-cmd hostsvc/storage می تواند اطلاعات کافی در خصوص فضاهای ذخیره سازی متصل به هاست شما را ارائه نماید. به طور مثال با استفاده از سوئیچ multipath_info در انتهای این دستور می توانید از وضعیت تنظیمات Multi Pathing روی هاست خود مطلع شوید.

جهت مشاهده وضعیت پیکربندی هاست خود می توانید از دستور vim-cmd hostsvc/hostconfig استفاده نمایید. خروجی این دستور از خطوط بسیار زیادی تشکیل شده است، لذا با استفاده از ترکیب دستوری vim-cmd hostsvc/hostconfig > /tmp/hostconfig.txt می توانید خروجی آنرا درون یک فایل متنی ذخیره و بررسی نمایید.

سوئیچ hbrsvc

این سوئیچ اختصار شده عبارت Host Based Replication می باشد. دستورات این سوئیچ در جهت مدیریت چرخه Replica ماشین های مجازی استفاده می شوند. بدیهی است که باید سرویس vSphere Replication جهت استفاده از این دستورات بر روی هاست ESXi شما نصب شده باشد.

سوئیچ internalsvc

این سوئیچ ارتباطی به vSphere API ندارد و شامل دستوراتی می شود که توسط آنها می توانید برخی از فعالیت های هاست ESXi را انجام دهید. فعالیت هایی مانند Shutdown کردن هاست، تغییر حالت Lock، مشاهده رخدادها و … را شامل می شود.

به طور کلی دستور vim-cmd یک دستور قدرتمندی است که با قرار گرفتن در سطح vSphere API امکان “مدیریت توسط خط فرمان” در آن سطح را به شما می دهد. در بسیاری از موارد WebUI هاست امکان انجام برخی از فرآیند ها را ندارد و نیاز است تا با بهره گیری از محیط خط فرمان اقدام به انجام فعالیت های متعدد کرد.

 

رضا اردانه

دیدگاهتان را بنویسید

preloader