Vmware VSphere/Esxi 命令操作指南

安装过程不再赘述,官网下载镜像一步步安装,完成过后登录界面如下

下载地址

https://customerconnect.vmware.com/cn/group/vmware/evalcenter?p=free-esxi7

目前官网出现bug,使用谷歌浏览器无法手动下载,需要手动检查按钮链接复制到浏览器中进行下载

Untitled

Untitled

配置实验环境使用vmwareworkstation连接服务器

Untitled

webui中创建存储

Untitled

为了方便直接将vmware workstation中的虚拟机上传至存储池中,剩余空间需要大于上载的虚拟机磁盘总和

Untitled

Untitled

Untitled

命令指南

宿主机基本信息

#查看版本
[root@localhost:~] vmware -v
VMware ESXi 7.0.2 build-17867351

# 查看宿主机ip
[root@localhost:~] esxcfg-vmknic -l
Interface  Port Group/DVPort/Opaque Network        IP Family IP Address                              Netmask         Broadcast       MAC Address       MTU     TSO MSS   Enabled Type                NetStack
vmk0       Management Network                      IPv4      192.168.235.141                         255.255.255.0   192.168.235.255 00:0c:29:70:17:7d 1500    65535     true    DHCP                defaultTcpipStack
vmk0       Management Network                      IPv6      fe80::20c:29ff:fe70:177d                64                              00:0c:29:70:17:7d 1500    65535     true    STATIC, PREFERRED   defaultTcpipStack

# 查看宿主机摘要信息
vim-cmd hostsvc/hostsummary

# 列出所有虚拟机
[root@localhost:~] vim-cmd vmsvc/getallvms
Vmid               Name                                                File                                        Guest OS       Version   Annotation
1      Win10 工作组 单机 Mcafee   [Ext] Win10 工作组 单机 Mcafee/Win10 工作组 单机 Mcafee.vmx   windows9_64Guest   vmx-17

# 查看宿主存储空间信息
[root@localhost:~] vim-cmd vmsvc/get.datastores 1
name                 Ext
url                  /vmfs/volumes/61512f24-2a5ea2fd-d2e5-000c2970177d
capacity             536602476544
freeSpace            298861985792
accessible           true
type                 VMFS
multipleHostAccess   <unset>

# 卷信息
[root@localhost:~] esxcli storage filesystem list
Mount Point                                        Volume Name                                 UUID                                 Mounted  Type            Size          Free
-------------------------------------------------  ------------------------------------------  -----------------------------------  -------  ------  ------------  ------------
/vmfs/volumes/61512a34-39cb4fd2-2628-000c2970177d  datastore1                                  61512a34-39cb4fd2-2628-000c2970177d     true  VMFS-6   77040975872   75531026432
/vmfs/volumes/61512f24-2a5ea2fd-d2e5-000c2970177d  Ext                                         61512f24-2a5ea2fd-d2e5-000c2970177d     true  VMFS-6  536602476544  298861985792
/vmfs/volumes/61512a34-298313fa-c830-000c2970177d  OSDATA-61512a34-298313fa-c830-000c2970177d  61512a34-298313fa-c830-000c2970177d     true  VFFS    128580583424  125580607488
/vmfs/volumes/05d7afd4-754ae3b4-2ea7-0422a45be23a  BOOTBANK1                                   05d7afd4-754ae3b4-2ea7-0422a45be23a     true  vfat      4293591040    4085121024
/vmfs/volumes/1df016a1-504aad14-9881-f82f8a3f0e06  BOOTBANK2                                   1df016a1-504aad14-9881-f82f8a3f0e06     true  vfat      4293591040    4293525504

# 查看系统磁盘卷容量
[root@localhost:~] df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-6      71.8G   1.4G     70.3G   2% /vmfs/volumes/datastore1
VMFS-6     499.8G 221.4G    278.3G  44% /vmfs/volumes/Ext
VFFS       119.8G   2.8G    117.0G   2% /vmfs/volumes/OSDATA-61512a34-298313fa-c830-000c2970177d
vfat         4.0G 198.8M      3.8G   5% /vmfs/volumes/BOOTBANK1
vfat         4.0G  64.0K      4.0G   0% /vmfs/volumes/BOOTBANK2

# 查看指定VMI虚拟状态
[root@localhost:~] vim-cmd vmsvc/power.getstate 1
Retrieved runtime info
Powered off

# 关闭虚拟机
vim-cmd vmsvc/power.shutdown VMID

# 如果虚拟机没有关闭,使用poweroff命令
vim-cmd vmsvc/power.off VMID

# 启动虚拟机
vim-cmd vmsvc/power.on 1

# 列出当前ESXi主机上所有NICs的状态
esxcli network nic list
# 列出虚拟机的网路信息
esxcli network vm list

网络基本信息

#查看网络接口
[root@localhost:~] esxcli network nic list
Name    PCI Device    Driver    Admin Status  Link Status  Speed  Duplex  MAC Address         MTU  Description
------  ------------  --------  ------------  -----------  -----  ------  -----------------  ----  -----------
vmnic0  0000:0b:00.0  nvmxnet3  Up            Up           10000  Full    00:0c:29:70:17:7d  1500  VMware Inc. vmxnet3 Virtual Ethernet Controller
#查看网络信息
[root@localhost:~] esxcli network ip interface ipv4 get
Name  IPv4 Address     IPv4 Netmask   IPv4 Broadcast   Address Type  Gateway        DHCP DNS
----  ---------------  -------------  ---------------  ------------  -------------  --------
vmk0  192.168.235.141  255.255.255.0  192.168.235.255  DHCP          192.168.235.2      true
[root@localhost:~]
[root@localhost:~] esxcfg-vmknic -l
Interface  Port Group/DVPort/Opaque Network        IP Family IP Address                              Netmask         Broadcast       MAC Address       MTU     TSO MSS   Enabled Type                NetStack
vmk0       Management Network                      IPv4      192.168.235.141                         255.255.255.0   192.168.235.255 00:0c:29:70:17:7d 1500    65535     true    DHCP                defaultTcpipStack
vmk0       Management Network                      IPv6      fe80::20c:29ff:fe70:177d                64                              00:0c:29:70:17:7d 1500    65535     true    STATIC, PREFERRED   defaultTcpipStack
[root@localhost:~] esxcfg-route
VMkernel default gateway is 192.168.235.2

虚拟交换机基本信息

# 当前运行的虚拟机信息
[root@localhost:~] esxcli vm process list

[root@localhost:~] esxcli network vswitch standard list
vSwitch0
   Name: vSwitch0
   Class: cswitch
   Num Ports: 2560
   Used Ports: 4
   Configured Ports: 128
   MTU: 1500
   CDP Status: listen
   Beacon Enabled: false
   Beacon Interval: 1
   Beacon Threshold: 3
   Beacon Required By:
   Uplinks: vmnic0
   Portgroups: VM Network, Management Network

虚拟机基本信息

# 列出所有虚拟机
[root@localhost:~] vim-cmd vmsvc/getallvms
Vmid               Name                                                File                                        Guest OS       Version   Annotation
1      Win10 工作组 单机 Mcafee   [Ext] Win10 工作组 单机 Mcafee/Win10 工作组 单机 Mcafee.vmx   windows9_64Guest   vmx-17

# 查看虚拟机信息
[root@localhost:~] vim-cmd vmsvc/get.config 1
Configuration:

# 指定虚拟机网络信息
[root@localhost:~] vim-cmd vmsvc/get.networks 1
Networks:

(vim.Network.Summary) {
   network = 'vim.Network:HaNetwork-VM Network',
   name = "VM Network",
   accessible = true,
   ipPoolName = "",
   ipPoolId = <unset>
}

# 获取虚拟机配置信息
[root@localhost:~] vim-cmd vmsvc/device.getdevices 1

(vim.vm.ConfigInfo) {
   changeVersion = "2021-09-27T02:41:04.99249Z",
   modified = "1970-01-01T00:00:00Z",
   name = "Win10 工作组 单机 Mcafee",
   guestFullName = "Microsoft Windows 10 (64-bit)",
   version = "vmx-17",
   uuid = "564dcae1-4d8b-f070-ece2-d55a78f0f27d",
   createDate = "2021-09-27T02:41:04.970771Z",
   instanceUuid = "520c94fe-049c-4943-90cf-7701c72002dc",
   npivNodeWorldWideName = <unset>,
   npivPortWorldWideName = <unset>,
   npivWorldWideNameType = <unset>,
   npivDesiredNodeWwns = <unset>,
   npivDesiredPortWwns = <unset>,
   npivTemporaryDisabled = true,
   npivOnNonRdmDisks = <unset>,
   locationId = "564dcae1-4d8b-f070-ece2-d55a78f0f27d",
   template = false,
   guestId = "windows9_64Guest",
   alternateGuestName = "",
   annotation = "",
   files = (vim.vm.FileInfo) {
      vmPathName = "[Ext] Win10 工作组 单机 Mcafee/Win10 工作组 单机 Mcafee.vmx",
      snapshotDirectory = "[Ext] Win10 工作组 单机 Mcafee",
      suspendDirectory = "[Ext] Win10 工作组 单机 Mcafee",
      logDirectory = "[Ext] Win10 工作组 单机 Mcafee",
      ftMetadataDirectory = <unset>
   },
   tools = (vim.vm.ToolsConfigInfo) {
      toolsVersion = 0,
      toolsInstallType = <unset>,
      afterPowerOn = true,
      afterResume = true,
      beforeGuestStandby = true,
      beforeGuestShutdown = true,
      beforeGuestReboot = <unset>,
      toolsUpgradePolicy = "manual",
      pendingCustomization = <unset>,
      customizationKeyId = (vim.encryption.CryptoKeyId) null,
      syncTimeWithHostAllowed = true,
      syncTimeWithHost = false,
      lastInstallInfo = (vim.vm.ToolsConfigInfo.ToolsLastInstallInfo) {
         counter = 0,
         fault = (vmodl.MethodFault) null
      },
      upgradeRebootPredict = <unset>
   },
   flags = (vim.vm.FlagInfo) {
      disableAcceleration = false,
      enableLogging = true,
      useToe = false,
      runWithDebugInfo = false,
      monitorType = "release",
      htSharing = "any",
      snapshotDisabled = false,
      snapshotLocked = false,
      diskUuidEnabled = false,
      virtualMmuUsage = "automatic",
      virtualExecUsage = "hvAuto",
      snapshotPowerOffBehavior = "powerOff",
      recordReplayEnabled = false,
      faultToleranceType = "unset",
      cbrcCacheEnabled = false,
      vvtdEnabled = false,
      vbsEnabled = false,
      cryptoIntegrityProtectionType = <unset>
   },
   consolePreferences = (vim.vm.ConsolePreferences) null,
   defaultPowerOps = (vim.vm.DefaultPowerOpInfo) {
      powerOffType = "soft",
      suspendType = "soft",
      resetType = "soft",
      defaultPowerOffType = "soft",
      defaultSuspendType = "hard",
      defaultResetType = "soft",
      standbyAction = "checkpoint"
   },
   hardware = (vim.vm.VirtualHardware) {
      numCPU = 2,
      numCoresPerSocket = 1,
      autoCoresPerSocket = <unset>,
      memoryMB = 2048,
      virtualICH7MPresent = false,
      virtualSMCPresent = false,
      device = <unset>,
      motherboardLayout = <unset>
   },
   vcpuConfig = <unset>,
   cpuAllocation = (vim.ResourceAllocationInfo) {
      reservation = 0,
      expandableReservation = false,
      limit = -1,
      shares = (vim.SharesInfo) {
         shares = 2000,
         level = "normal"
      },
      overheadLimit = <unset>
   },
   memoryAllocation = (vim.ResourceAllocationInfo) {
      reservation = 0,
      expandableReservation = false,
      limit = -1,
      shares = (vim.SharesInfo) {
         shares = 20480,
         level = "normal"
      },
      overheadLimit = <unset>
   },
   latencySensitivity = (vim.LatencySensitivity) {
      level = "normal",
      sensitivity = <unset>
   },
   memoryHotAddEnabled = true,
   cpuHotAddEnabled = false,
   cpuHotRemoveEnabled = false,
   hotPlugMemoryLimit = <unset>,
   hotPlugMemoryIncrementSize = <unset>,
   cpuAffinity = (vim.vm.AffinityInfo) null,
   memoryAffinity = (vim.vm.AffinityInfo) null,
   networkShaper = (vim.vm.NetworkShaperInfo) null,
   extraConfig = (vim.option.OptionValue) [
      (vim.option.OptionValue) {
         key = "svga.present",
         value = "TRUE"
      },
      (vim.option.OptionValue) {
         key = "pciBridge0.present",
         value = "TRUE"
      },
      (vim.option.OptionValue) {
         key = "pciBridge4.present",
         value = "TRUE"
      },
      (vim.option.OptionValue) {
         key = "pciBridge4.virtualDev",
         value = "pcieRootPort"
      },
      (vim.option.OptionValue) {
         key = "pciBridge4.functions",
         value = "8"
      },
      (vim.option.OptionValue) {
         key = "pciBridge5.present",
         value = "TRUE"
      },
      (vim.option.OptionValue) {
         key = "pciBridge5.virtualDev",
         value = "pcieRootPort"
      },
      (vim.option.OptionValue) {
         key = "pciBridge5.functions",
         value = "8"
      },
      (vim.option.OptionValue) {
         key = "pciBridge6.present",
         value = "TRUE"
      },
      (vim.option.OptionValue) {
         key = "pciBridge6.virtualDev",
         value = "pcieRootPort"
      },
      (vim.option.OptionValue) {
         key = "pciBridge6.functions",
         value = "8"
      },
      (vim.option.OptionValue) {
         key = "pciBridge7.present",
         value = "TRUE"
      },
      (vim.option.OptionValue) {
         key = "pciBridge7.virtualDev",
         value = "pcieRootPort"
      },
      (vim.option.OptionValue) {
         key = "pciBridge7.functions",
         value = "8"
      },
      (vim.option.OptionValue) {
         key = "hpet0.present",
         value = "TRUE"
      },
      (vim.option.OptionValue) {
         key = "mks.enable3d",
         value = "TRUE"
      },
      (vim.option.OptionValue) {
         key = "ethernet0.pciSlotNumber",
         value = "160"
      },
      (vim.option.OptionValue) {
         key = "sound.pciSlotNumber",
         value = "33"
      },
      (vim.option.OptionValue) {
         key = "nvram",
         value = "Win10 工作组 单机 Mcafee.nvram"
      },
      (vim.option.OptionValue) {
         key = "virtualHW.productCompatibility",
         value = "hosted"
      },
      (vim.option.OptionValue) {
         key = "vmware.tools.internalversion",
         value = "0"
      },
      (vim.option.OptionValue) {
         key = "vmware.tools.requiredversion",
         value = "11333"
      },
      (vim.option.OptionValue) {
         key = "migrate.hostLogState",
         value = "none"
      },
      (vim.option.OptionValue) {
         key = "migrate.migrationId",
         value = "0"
      },
      (vim.option.OptionValue) {
         key = "migrate.hostLog",
         value = ""
      }
   ],
   cpuFeatureMask = <unset>,
   datastoreUrl = (vim.vm.ConfigInfo.DatastoreUrlPair) [
      (vim.vm.ConfigInfo.DatastoreUrlPair) {
         name = "Ext",
         url = "/vmfs/volumes/61512f24-2a5ea2fd-d2e5-000c2970177d/"
      }
   ],
   swapPlacement = "inherit",
   bootOptions = (vim.vm.BootOptions) {
      bootDelay = 0,
      enterBIOSSetup = false,
      efiSecureBootEnabled = false,
      bootRetryEnabled = false,
      bootRetryDelay = 10000,
      bootOrder = <unset>,
      networkBootProtocol = "ipv4"
   },
   ftInfo = (vim.vm.FaultToleranceConfigInfo) null,
   repConfig = (vim.vm.ReplicationConfigSpec) null,
   vAppConfig = (vim.vApp.VmConfigInfo) null,
   vAssertsEnabled = false,
   changeTrackingEnabled = false,
   firmware = "efi",
   maxMksConnections = 40,
   guestAutoLockEnabled = false,
   managedBy = (vim.ext.ManagedByInfo) null,
   memoryReservationLockedToMax = false,
   initialOverhead = (vim.vm.ConfigInfo.OverheadInfo) {
      initialMemoryReservation = 233172992,
      initialSwapReservation = 3794595840
   },
   nestedHVEnabled = false,
   vPMCEnabled = false,
   scheduledHardwareUpgradeInfo = (vim.vm.ScheduledHardwareUpgradeInfo) {
      upgradePolicy = "never",
      versionKey = <unset>,
      scheduledHardwareUpgradeStatus = "none",
      fault = (vmodl.MethodFault) null
   },
   forkConfigInfo = (vim.vm.ForkConfigInfo) null,
   vFlashCacheReservation = <unset>,
   vmxConfigChecksum =
      e11faea9 465960e0 98611eac 049b40e9
      9947dc6a,
   messageBusTunnelEnabled = false,
   vmStorageObjectId = <unset>,
   swapStorageObjectId = <unset>,
   keyId = (vim.encryption.CryptoKeyId) null,
   guestIntegrityInfo = (vim.vm.GuestIntegrityInfo) {
      enabled = false
   },
   migrateEncryption = "opportunistic",
   sgxInfo = (vim.vm.SgxInfo) {
      epcSize = 0,
      flcMode = "unlocked",
      lePubKeyHash = <unset>
   },
   contentLibItemInfo = (vim.vm.ContentLibraryItemInfo) null,
   ftEncryptionMode = "ftEncryptionOpportunistic",
   guestMonitoringModeInfo = (vim.vm.GuestMonitoringModeInfo) {
      gmmFile = <unset>,
      gmmAppliance = <unset>
   },
   sevEnabled = false,
   numaInfo = (vim.vm.VirtualNumaInfo) null,
   pmemFailoverEnabled = false,
   vmxStatsCollectionEnabled = <unset>
}

虚拟机快照操作

# 查询指定虚拟机快照
[root@localhost:~] vim-cmd vmsvc/snapshot.get 1

# 运行以下命令可创建新的快照:
# vim-cmd vmsvc/snapshot.create [VmId] [snapshotName] [snapshotDescription] [includeMemory] [quiesced]

#例如,要在名为 testvm 的虚拟机上创建快照,请执行以下命令:
[root@localhost:~] vim-cmd vmsvc/snapshot.create 1 TestSnapshot TestDescription 1 1
Create Snapshot:
[root@localhost:~] vim-cmd vmsvc/snapshot.get 1
Get Snapshot:
|-ROOT
--Snapshot Name        : TestSnapshot
--Snapshot Id        : 1
--Snapshot Desciption  : TestDescription
--Snapshot Created On  : 9/27/2021 3:17:8
--Snapshot State       : powered on
--|-CHILD
----Snapshot Name        : TestSnapshot
----Snapshot Id        : 2
----Snapshot Desciption  : TestDescription
----Snapshot Created On  : 9/27/2021 3:17:29
----Snapshot State       : powered on

# 运行以下命令可移除所有快照:
# vim-cmd vmsvc/snapshot.removeall [Vmid]

# 运行以下命令可移除指定快照:
[root@localhost:~] vim-cmd vmsvc/snapshot.remove 1 1
Remove Snapshot:
|-ROOT
--Snapshot Name        : TestSnapshot
--Snapshot Id        : 2
--Snapshot Desciption  : TestDescription
--Snapshot Created On  : 9/27/2021 3:17:29
--Snapshot State       : powered on
[root@localhost:~] vim-cmd vmsvc/snapshot.get 1
Get Snapshot:
|-ROOT
--Snapshot Name        : TestSnapshot
--Snapshot Id        : 2
--Snapshot Desciption  : TestDescription
--Snapshot Created On  : 9/27/2021 3:17:29
--Snapshot State       : powered on
[root@localhost:~]

Untitled

获取运行中快照文件

下载指定版本vmss2core

https://flings.vmware.com/vmss2core

https://download3.vmware.com/software/vmw-tools/vmss2core/vmss2core-Linux64

上传本地文件到服务器

[root@localhost:/vmfs/volumes/61512f24-2a5ea2fd-d2e5-000c2970177d/Win10 工作组 单机 Mcafee] ./vmss2core-Linux64 -W8 "Win10 工作组 单机 Mcafee-Snapshot2.vmsn" "Win10 工作组 单机 Mcafee-Sn
apshot2.vmem"
vmss2core version 8437677 Copyright (C) 1998-2017 VMware, Inc. All rights reserved.
scanning pa=0 len=0x10000000
CoreMatchKdCopyDataBlock: matched pattern 3
Win: ntBuildLab=19041.1.amd64fre.vb_release.191206-1406
CoreDumpScanWin64: MinorVersion set to 19041
... 10 MBs written.
... 20 MBs written.
... 30 MBs written.
... 40 MBs written.
... 50 MBs written.
... 60 MBs written.
... 70 MBs written.
... 80 MBs written.
... 90 MBs written.

Untitled

-rw-------    1 root     root     2147491840 Sep 27 03:39 memory.dmp

下载memory.dump文件即可

comments powered by Disqus