Esxi DCUI: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
= | = راهنمای جامع دستورات کاربردی ESXi و DCUI = | ||
== ورود به ESXi Shell == | این صفحه برای عیبیابی و مدیریت مستقیم ESXi از طریق DCUI، ESXi Shell یا SSH تهیه شده است. پیش از اجرای دستورات تغییردهنده، از VMها، تنظیمات و datastoreهای حساس نسخهٔ پشتیبان و برنامهٔ بازگشت داشته باشید. | ||
== ورود به DCUI و ESXi Shell == | |||
در صفحهٔ زرد DCUI: | در صفحهٔ زرد DCUI: | ||
# با <code>F2</code> وارد شوید. | # با <code>F2</code> وارد شوید. | ||
# مسیر زیر را باز کنید: | # برای فعالسازی Shell مسیر زیر را باز کنید: | ||
#* <code>Troubleshooting Options → Enable ESXi Shell</code> | #* <code>Troubleshooting Options → Enable ESXi Shell</code> | ||
# با <code>Alt + F1</code> | # با <code>Alt + F1</code> به Shell بروید. | ||
# با کاربر <code>root</code> | # با کاربر <code>root</code> وارد شوید. | ||
# برای بازگشت به DCUI از <code>Alt + F2</code> استفاده کنید. | |||
# برای دیدن لاگ VMkernel از <code>Alt + F12</code> استفاده کنید. | |||
== اطلاعات host == | |||
<pre> | |||
esxcli system version get | |||
esxcli hardware platform get | |||
esxcli hardware cpu global get | |||
esxcli system time get | |||
esxcli system hostname get | |||
esxcli system account list | |||
</pre> | |||
نمایش نسخهٔ build و مشخصات سختافزار: | |||
<pre> | |||
vmware -vl | |||
esxcli hardware memory get | |||
esxcli hardware pci list | |||
</pre> | |||
== مدیریت ماشینهای مجازی == | |||
لیست VMها و VMID: | |||
<pre> | <pre> | ||
vim-cmd vmsvc/getallvms | vim-cmd vmsvc/getallvms | ||
vim-cmd vmsvc/getallvms | grep -i "VM_NAME" | |||
</pre> | </pre> | ||
وضعیت و خلاصهٔ VM: | |||
<pre> | |||
vim-cmd vmsvc/power.getstate VMID | |||
vim-cmd vmsvc/get.summary VMID | |||
vim-cmd vmsvc/get.guest VMID | |||
vim-cmd vmsvc/get.config VMID | |||
</pre> | |||
عملیات power: | |||
<pre> | <pre> | ||
vim-cmd vmsvc/power.on VMID | |||
vim-cmd vmsvc/power.shutdown VMID | vim-cmd vmsvc/power.shutdown VMID | ||
vim-cmd vmsvc/power.reboot VMID | |||
vim-cmd vmsvc/power.reset VMID | |||
</pre> | |||
'''هشدار:''' <code>power.reset</code> مانند reset سختافزاری و <code>power.off</code> مانند قطع برق است. | |||
<pre> | |||
vim-cmd vmsvc/power.off VMID | |||
</pre> | |||
بررسی taskهای VM: | |||
<pre> | |||
vim-cmd vmsvc/get.tasklist VMID | |||
vim-cmd vimsvc/task_info TASK_ID | |||
vim-cmd vimsvc/task_cancel TASK_ID | |||
</pre> | |||
'''هشدار:''' task را فقط وقتی cancel کنید که مشخصاً گیرکرده و قابل لغو باشد. | |||
== VMهای بدون پاسخ == | |||
لیست processهای در حال اجرای VM: | |||
<pre> | |||
esxcli vm process list | |||
</pre> | |||
برای VM گیرکرده، ابتدا <code>World ID</code> را پیدا و بهترتیب شدت اجرا کنید: | |||
<pre> | |||
esxcli vm process kill -t soft -w WORLD_ID | |||
esxcli vm process kill -t hard -w WORLD_ID | |||
esxcli vm process kill -t force -w WORLD_ID | |||
</pre> | |||
<code>force</code> آخرین راه است. اگر <code>esxcli</code> در دسترس نبود، در نسخههای مربوط میتوان از <code>localcli</code> استفاده کرد. | |||
== ثبت، بارگذاری مجدد و حذف از inventory == | |||
پیداکردن فایل VMX: | |||
<pre> | |||
vim-cmd vmsvc/getallvms | |||
find /vmfs/volumes/ -name "*.vmx" | |||
</pre> | |||
بارگذاری مجدد تنظیمات VM: | |||
<pre> | |||
vim-cmd vmsvc/reload VMID | |||
</pre> | |||
ثبت VM موجود روی datastore: | |||
<pre> | |||
vim-cmd solo/registervm /vmfs/volumes/DATASTORE/VM_FOLDER/VM_NAME.vmx | |||
</pre> | </pre> | ||
حذف VM از inventory بدون حذف فایلها: | |||
<pre> | <pre> | ||
vim-cmd vmsvc/power.getstate VMID | vim-cmd vmsvc/unregister VMID | ||
</pre> | |||
'''هشدار:''' <code>unregister</code> فایلهای VM را حذف نمیکند؛ اما <code>destroy</code> حذف دائمی است و نباید بدون تأیید و backup اجرا شود. | |||
<pre> | |||
vim-cmd vmsvc/destroy VMID | |||
</pre> | |||
== Snapshot == | |||
<pre> | |||
vim-cmd vmsvc/get.snapshotinfo VMID | |||
vim-cmd vmsvc/get.snapshot VMID | |||
vim-cmd vmsvc/snapshot.create VMID "SNAPSHOT_NAME" "DESCRIPTION" | |||
vim-cmd vmsvc/snapshot.remove VMID | |||
</pre> | |||
'''هشدار:''' حذف snapshot را با فضای آزاد datastore و وضعیت زنجیرهٔ دیسک تطبیق دهید. وجود فایل snapshot روی datastore را نیز بررسی کنید. | |||
<pre> | |||
find /vmfs/volumes/DATASTORE/VM_FOLDER/ -type f | grep -E '(-[0-9]{6}|sesparse|delta)' | |||
</pre> | |||
== VMware Tools و اطلاعات guest == | |||
<pre> | |||
vim-cmd vmsvc/tools.upgrade VMID | |||
vim-cmd vmsvc/get.guest VMID | grep -i "ipAddress" | |||
</pre> | |||
== Storage و datastore == | |||
<pre> | |||
esxcli storage filesystem list | |||
esxcli storage vmfs extent list | |||
esxcli storage core device list | |||
esxcli storage core path list | |||
esxcli storage nmp device list | |||
df -h | |||
vdf -h | |||
</pre> | |||
پیداکردن فضای مصرفشدهٔ VMها: | |||
<pre> | |||
du -h -d 1 /vmfs/volumes/DATASTORE/VM_FOLDER/ | |||
</pre> | |||
'''هشدار:''' حذف فایلهای <code>.vmdk</code>، <code>-flat.vmdk</code>، snapshot یا <code>.vmx</code> از Shell بدون شناسایی قطعی VM میتواند باعث از دسترفتن داده شود. | |||
== Network == | |||
<pre> | |||
esxcli network nic list | |||
esxcli network nic get -n vmnic0 | |||
esxcli network ip interface list | |||
esxcli network ip interface ipv4 get | |||
esxcli network vm list | |||
esxcli network ip connection list | |||
esxcli network firewall ruleset list | |||
esxcli network firewall ruleset allowedip list | |||
</pre> | |||
آزمون ارتباط VMkernel: | |||
<pre> | |||
vmkping -I vmk0 GATEWAY_OR_HOST_IP | |||
vmkping -I vmk0 -s 1472 -d TARGET_IP | |||
</pre> | |||
بررسی route و ARP: | |||
<pre> | |||
esxcli network ip route ipv4 list | |||
esxcli network ip neighbor list | |||
</pre> | |||
== سرویسها و management agents == | |||
<pre> | |||
services.sh status | |||
/etc/init.d/hostd status | |||
/etc/init.d/vpxa status | |||
/etc/init.d/hostd restart | |||
/etc/init.d/vpxa restart | |||
</pre> | |||
'''هشدار:''' <code>services.sh restart</code> را در زمان اجرای عملیات حساس مدیریت یا storage اجرا نکنید؛ ممکن است ارتباط vCenter و برخی عملیات مدیریتی قطع شود. | |||
== Maintenance Mode == | |||
<pre> | |||
esxcli system maintenanceMode get | |||
esxcli system maintenanceMode set --enable true | |||
esxcli system maintenanceMode set --enable false | |||
</pre> | |||
پیش از maintenance mode، وضعیت VMها، datastoreها و وابستگیهای host را بررسی کنید. | |||
== لاگ و عیبیابی == | |||
لاگهای مهم: | |||
<pre> | |||
tail -f /var/log/vmkernel.log | |||
tail -f /var/log/hostd.log | |||
tail -f /var/log/vpxa.log | |||
grep -i "error\|warning\|fail" /var/log/vmkernel.log | |||
grep -i "error\|warning\|fail" /var/log/hostd.log | |||
</pre> | |||
مشاهدهٔ resource مصرفی: | |||
<pre> | |||
esxtop | |||
</pre> | |||
برای خروج از <code>esxtop</code> کلید <code>q</code> را بزنید. | |||
جمعآوری bundle عیبیابی: | |||
<pre> | |||
vm-support | |||
</pre> | |||
'''هشدار:''' خروجی support bundle ممکن است شامل اطلاعات حساس محیط باشد؛ پیش از انتقال یا اشتراکگذاری آن را بررسی و redact کنید. | |||
== Power و reboot خود host == | |||
نمایش وضعیت: | |||
<pre> | |||
esxcli system shutdown poweroff get | |||
esxcli system shutdown reboot get | |||
</pre> | |||
خاموش یا reboot کردن host: | |||
<pre> | |||
esxcli system shutdown poweroff -r "MAINTENANCE_REASON" | |||
esxcli system shutdown reboot -r "MAINTENANCE_REASON" | |||
</pre> | |||
'''هشدار جدی:''' این دستورات کل host و تمام VMهای فعال را تحتتأثیر قرار میدهند. فقط پس از خاموشی graceful همهٔ VMها، بررسی maintenance mode و اطمینان از backup اجرا شوند. | |||
== چکلیست سریع خاموشی == | |||
# <code>vim-cmd vmsvc/getallvms</code> | |||
# برای هر VM: <code>vim-cmd vmsvc/power.getstate VMID</code> | |||
# خاموشی graceful: <code>vim-cmd vmsvc/power.shutdown VMID</code> | |||
# VMهای باقیمانده: <code>esxcli vm process list</code> | |||
# فقط در صورت ضرورت: <code>esxcli vm process kill -t soft -w WORLD_ID</code> | |||
# بازگشت به DCUI: <code>Alt + F2</code> | |||
# پس از پایان کار: Disable کردن ESXi Shell | |||
== Auto Start و Auto Stop ماشینها == | |||
بررسی اجرای startup flow و وضعیت کلی Auto Start: | |||
<pre> | |||
vim-cmd hostsvc/autostartmanager/autostart | |||
</pre> | </pre> | ||
مشاهدهٔ تنظیمات Auto Start: | |||
<pre> | |||
vim-cmd hostsvc/autostartmanager/get_defaults | |||
vim-cmd hostsvc/autostartmanager/get_autostartseq | |||
</pre> | |||
فعالکردن Auto Start در سطح host: | |||
<pre> | <pre> | ||
vim-cmd | vim-cmd hostsvc/autostartmanager/enable | ||
</pre> | |||
غیرفعالکردن Auto Start در سطح host: | |||
<pre> | |||
vim-cmd hostsvc/autostartmanager/disable | |||
</pre> | </pre> | ||
تنظیم یک VM برای شروع خودکار با <code>startAction</code>: | |||
<pre> | |||
vim-cmd hostsvc/autostartmanager/update_autostartentry VMID startOrder startDelay stopAction stopDelay | |||
</pre> | |||
نمونهٔ مفهومی: | |||
<pre> | <pre> | ||
vim-cmd hostsvc/autostartmanager/update_autostartentry 3 1 30 systemDefault 30 | |||
</pre> | </pre> | ||
حذف تنظیم Auto Start یک VM از sequence: | |||
<pre> | <pre> | ||
vim-cmd hostsvc/autostartmanager/update_autostartentry VMID -1 -1 systemDefault -1 | |||
</pre> | </pre> | ||
== | '''هشدار:''' نام دقیق subcommandها و ترتیب آرگومانها ممکن است بر اساس نسخهٔ ESXi متفاوت باشد؛ پیش از تغییر، خروجی <code>get_autostartseq</code> و نسخهٔ host را ثبت کنید. Auto Start برای VMهای تحت vSphere HA پشتیبانی نمیشود و تنظیم host باید فعال باشد. | ||
== منابع == | |||
* | * [https://knowledge.broadcom.com/external/article/343841 دسترسی به DCUI با کلیدهای Alt+F] | ||
* | * [https://knowledge.broadcom.com/external/article/308457 خاموشکردن VM بدون پاسخ] | ||
* | * [https://knowledge.broadcom.com/external/article/344559 بررسی snapshotهای VM] | ||
Latest revision as of 11:00, 18 September 2026
راهنمای جامع دستورات کاربردی ESXi و DCUI
این صفحه برای عیبیابی و مدیریت مستقیم ESXi از طریق DCUI، ESXi Shell یا SSH تهیه شده است. پیش از اجرای دستورات تغییردهنده، از VMها، تنظیمات و datastoreهای حساس نسخهٔ پشتیبان و برنامهٔ بازگشت داشته باشید.
ورود به DCUI و ESXi Shell
در صفحهٔ زرد DCUI:
- با
F2وارد شوید. - برای فعالسازی Shell مسیر زیر را باز کنید:
Troubleshooting Options → Enable ESXi Shell
- با
Alt + F1به Shell بروید. - با کاربر
rootوارد شوید. - برای بازگشت به DCUI از
Alt + F2استفاده کنید. - برای دیدن لاگ VMkernel از
Alt + F12استفاده کنید.
اطلاعات host
esxcli system version get esxcli hardware platform get esxcli hardware cpu global get esxcli system time get esxcli system hostname get esxcli system account list
نمایش نسخهٔ build و مشخصات سختافزار:
vmware -vl esxcli hardware memory get esxcli hardware pci list
مدیریت ماشینهای مجازی
لیست VMها و VMID:
vim-cmd vmsvc/getallvms vim-cmd vmsvc/getallvms | grep -i "VM_NAME"
وضعیت و خلاصهٔ VM:
vim-cmd vmsvc/power.getstate VMID vim-cmd vmsvc/get.summary VMID vim-cmd vmsvc/get.guest VMID vim-cmd vmsvc/get.config VMID
عملیات power:
vim-cmd vmsvc/power.on VMID vim-cmd vmsvc/power.shutdown VMID vim-cmd vmsvc/power.reboot VMID vim-cmd vmsvc/power.reset VMID
هشدار: power.reset مانند reset سختافزاری و power.off مانند قطع برق است.
vim-cmd vmsvc/power.off VMID
بررسی taskهای VM:
vim-cmd vmsvc/get.tasklist VMID vim-cmd vimsvc/task_info TASK_ID vim-cmd vimsvc/task_cancel TASK_ID
هشدار: task را فقط وقتی cancel کنید که مشخصاً گیرکرده و قابل لغو باشد.
VMهای بدون پاسخ
لیست processهای در حال اجرای VM:
esxcli vm process list
برای VM گیرکرده، ابتدا World ID را پیدا و بهترتیب شدت اجرا کنید:
esxcli vm process kill -t soft -w WORLD_ID esxcli vm process kill -t hard -w WORLD_ID esxcli vm process kill -t force -w WORLD_ID
force آخرین راه است. اگر esxcli در دسترس نبود، در نسخههای مربوط میتوان از localcli استفاده کرد.
ثبت، بارگذاری مجدد و حذف از inventory
پیداکردن فایل VMX:
vim-cmd vmsvc/getallvms find /vmfs/volumes/ -name "*.vmx"
بارگذاری مجدد تنظیمات VM:
vim-cmd vmsvc/reload VMID
ثبت VM موجود روی datastore:
vim-cmd solo/registervm /vmfs/volumes/DATASTORE/VM_FOLDER/VM_NAME.vmx
حذف VM از inventory بدون حذف فایلها:
vim-cmd vmsvc/unregister VMID
هشدار: unregister فایلهای VM را حذف نمیکند؛ اما destroy حذف دائمی است و نباید بدون تأیید و backup اجرا شود.
vim-cmd vmsvc/destroy VMID
Snapshot
vim-cmd vmsvc/get.snapshotinfo VMID vim-cmd vmsvc/get.snapshot VMID vim-cmd vmsvc/snapshot.create VMID "SNAPSHOT_NAME" "DESCRIPTION" vim-cmd vmsvc/snapshot.remove VMID
هشدار: حذف snapshot را با فضای آزاد datastore و وضعیت زنجیرهٔ دیسک تطبیق دهید. وجود فایل snapshot روی datastore را نیز بررسی کنید.
find /vmfs/volumes/DATASTORE/VM_FOLDER/ -type f | grep -E '(-[0-9]{6}|sesparse|delta)'
VMware Tools و اطلاعات guest
vim-cmd vmsvc/tools.upgrade VMID vim-cmd vmsvc/get.guest VMID | grep -i "ipAddress"
Storage و datastore
esxcli storage filesystem list esxcli storage vmfs extent list esxcli storage core device list esxcli storage core path list esxcli storage nmp device list df -h vdf -h
پیداکردن فضای مصرفشدهٔ VMها:
du -h -d 1 /vmfs/volumes/DATASTORE/VM_FOLDER/
هشدار: حذف فایلهای .vmdk، -flat.vmdk، snapshot یا .vmx از Shell بدون شناسایی قطعی VM میتواند باعث از دسترفتن داده شود.
Network
esxcli network nic list esxcli network nic get -n vmnic0 esxcli network ip interface list esxcli network ip interface ipv4 get esxcli network vm list esxcli network ip connection list esxcli network firewall ruleset list esxcli network firewall ruleset allowedip list
آزمون ارتباط VMkernel:
vmkping -I vmk0 GATEWAY_OR_HOST_IP vmkping -I vmk0 -s 1472 -d TARGET_IP
بررسی route و ARP:
esxcli network ip route ipv4 list esxcli network ip neighbor list
سرویسها و management agents
services.sh status /etc/init.d/hostd status /etc/init.d/vpxa status /etc/init.d/hostd restart /etc/init.d/vpxa restart
هشدار: services.sh restart را در زمان اجرای عملیات حساس مدیریت یا storage اجرا نکنید؛ ممکن است ارتباط vCenter و برخی عملیات مدیریتی قطع شود.
Maintenance Mode
esxcli system maintenanceMode get esxcli system maintenanceMode set --enable true esxcli system maintenanceMode set --enable false
پیش از maintenance mode، وضعیت VMها، datastoreها و وابستگیهای host را بررسی کنید.
لاگ و عیبیابی
لاگهای مهم:
tail -f /var/log/vmkernel.log tail -f /var/log/hostd.log tail -f /var/log/vpxa.log grep -i "error\|warning\|fail" /var/log/vmkernel.log grep -i "error\|warning\|fail" /var/log/hostd.log
مشاهدهٔ resource مصرفی:
esxtop
برای خروج از esxtop کلید q را بزنید.
جمعآوری bundle عیبیابی:
vm-support
هشدار: خروجی support bundle ممکن است شامل اطلاعات حساس محیط باشد؛ پیش از انتقال یا اشتراکگذاری آن را بررسی و redact کنید.
Power و reboot خود host
نمایش وضعیت:
esxcli system shutdown poweroff get esxcli system shutdown reboot get
خاموش یا reboot کردن host:
esxcli system shutdown poweroff -r "MAINTENANCE_REASON" esxcli system shutdown reboot -r "MAINTENANCE_REASON"
هشدار جدی: این دستورات کل host و تمام VMهای فعال را تحتتأثیر قرار میدهند. فقط پس از خاموشی graceful همهٔ VMها، بررسی maintenance mode و اطمینان از backup اجرا شوند.
چکلیست سریع خاموشی
vim-cmd vmsvc/getallvms- برای هر VM:
vim-cmd vmsvc/power.getstate VMID - خاموشی graceful:
vim-cmd vmsvc/power.shutdown VMID - VMهای باقیمانده:
esxcli vm process list - فقط در صورت ضرورت:
esxcli vm process kill -t soft -w WORLD_ID - بازگشت به DCUI:
Alt + F2 - پس از پایان کار: Disable کردن ESXi Shell
Auto Start و Auto Stop ماشینها
بررسی اجرای startup flow و وضعیت کلی Auto Start:
vim-cmd hostsvc/autostartmanager/autostart
مشاهدهٔ تنظیمات Auto Start:
vim-cmd hostsvc/autostartmanager/get_defaults vim-cmd hostsvc/autostartmanager/get_autostartseq
فعالکردن Auto Start در سطح host:
vim-cmd hostsvc/autostartmanager/enable
غیرفعالکردن Auto Start در سطح host:
vim-cmd hostsvc/autostartmanager/disable
تنظیم یک VM برای شروع خودکار با startAction:
vim-cmd hostsvc/autostartmanager/update_autostartentry VMID startOrder startDelay stopAction stopDelay
نمونهٔ مفهومی:
vim-cmd hostsvc/autostartmanager/update_autostartentry 3 1 30 systemDefault 30
حذف تنظیم Auto Start یک VM از sequence:
vim-cmd hostsvc/autostartmanager/update_autostartentry VMID -1 -1 systemDefault -1
هشدار: نام دقیق subcommandها و ترتیب آرگومانها ممکن است بر اساس نسخهٔ ESXi متفاوت باشد؛ پیش از تغییر، خروجی get_autostartseq و نسخهٔ host را ثبت کنید. Auto Start برای VMهای تحت vSphere HA پشتیبانی نمیشود و تنظیم host باید فعال باشد.