Vmware VSphere/Esxi 命令操作指南
安装过程不再赘述,官网下载镜像一步步安装,完成过后登录界面如下
下载地址
https://customerconnect.vmware.com/cn/group/vmware/evalcenter?p=free-esxi7
目前官网出现bug,使用谷歌浏览器无法手动下载,需要手动检查按钮链接复制到浏览器中进行下载
配置实验环境使用vmwareworkstation连接服务器
webui中创建存储
为了方便直接将vmware workstation中的虚拟机上传至存储池中,剩余空间需要大于上载的虚拟机磁盘总和
命令指南
宿主机基本信息
#查看版本
[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:~]
获取运行中快照文件
下载指定版本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.
-rw------- 1 root root 2147491840 Sep 27 03:39 memory.dmp
下载memory.dump文件即可