Esxi DCUI

From wiki karavi
Revision as of 11:00, 18 September 2026 by Karavi (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

راهنمای جامع دستورات کاربردی ESXi و DCUI

این صفحه برای عیب‌یابی و مدیریت مستقیم ESXi از طریق DCUI، ESXi Shell یا SSH تهیه شده است. پیش از اجرای دستورات تغییر‌دهنده، از VMها، تنظیمات و datastoreهای حساس نسخهٔ پشتیبان و برنامهٔ بازگشت داشته باشید.

ورود به DCUI و ESXi Shell

در صفحهٔ زرد DCUI:

  1. با F2 وارد شوید.
  2. برای فعال‌سازی Shell مسیر زیر را باز کنید:
    • Troubleshooting Options → Enable ESXi Shell
  3. با Alt + F1 به Shell بروید.
  4. با کاربر root وارد شوید.
  5. برای بازگشت به DCUI از Alt + F2 استفاده کنید.
  6. برای دیدن لاگ 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 اجرا شوند.

چک‌لیست سریع خاموشی

  1. vim-cmd vmsvc/getallvms
  2. برای هر VM: vim-cmd vmsvc/power.getstate VMID
  3. خاموشی graceful: vim-cmd vmsvc/power.shutdown VMID
  4. VMهای باقی‌مانده: esxcli vm process list
  5. فقط در صورت ضرورت: esxcli vm process kill -t soft -w WORLD_ID
  6. بازگشت به DCUI: Alt + F2
  7. پس از پایان کار: 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 باید فعال باشد.

منابع