# 🗃️ESXI
# esxi
# Clone Disk
vmkfstools --clonevirtualdisk <target> <source> -d thin
# Remove Disk
vmkfstools --deletevirtualdisk <disk_path>
# Map Raw Disk
vmkfstools -z "/vmfs/devices/disks/<disk_name>" "/vmfs/volumes/<datastore>/<path>/<vdisk_name>.vmdk"
# Some System Config
esxcli system settings advanced set -o /Misc/PreferredHostName -s "<host_name>"
esxcli system settings advanced set -o /UserVars/HostClientCEIPOptIn -i 1
esxcli system settings advanced set -o /UserVars/HostClientDefaultConsole -s "vmrc"
esxcli system settings advanced set -o /UserVars/HostClientSessionTimeout -i 1800
esxcli system settings advanced set -o /UserVars/SuppressHyperthreadWarning -i 1
# ssh login
scp id_rsa.pub root@<host>:/etc/ssh/keys-root/authorized_keys
# update ssl for web
scp chain.cert root@<host>:/etc/vmware/ssl/rui.crt
scp key.cert root@<host>:/etc/vmware/ssl/rui.key
ssh root@<host> "
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
"
# esxi license
VMware-ESXi-6.7.0 License
VMware vSphere 6 Enterprise Plus
0A65P-00HD0-3Z5M1-M097M-22P7H
# init esxi vms
apt-get install -y open-vm-tools acpid haveged
cat /dev/null > /var/log/wtmp 2>/dev/null
logrotate -f /etc/logrotate.conf 2>/dev/null
rm -f /var/log/*-* /var/log/*.gz 2>/dev/null
history -c
unset HISTFILE
# govc
Reference: GOVC Document
# environment - option
export GOVC_USERNAME=
export GOVC_PASSWORD=
# -u
export GOVC_URL=
# -ds=
export GOVC_DATASTORE=
# commands
govc datastore.mkdir -ds <datastore> <dir>
govc datastore.mkdir -ds main-storage k8s-volumes
# upload file
govc datastore.upload -ds=<datastore> <local> <remote>
govc datastore.upload -ds=light-storage "D:\Images\Windows.iso" system-images
# download file
govc datastore.download -ds=<datastore> <local> <remote>
govc datastore.download -ds=light-storage debian-template.vmdk base/debian-template.vmdk
# copy file
govc datastore.cp -ds=<datastore> <source> <target>
govc datastore.cp -ds=light-storage templates/debian.vmdk base/debian.vmdk
# create disk
govc datastore.disk.create -d thin -ds <datastore> -size <size> <path>/<disk_name>.vmdk
govc datastore.disk.create -d thin -ds main-storage -size 100G k8s-volumes/minio.vmdk
# create vm
govc vm.create -ds=<datastore> -m=<memory> -c=<core> -g=<system_name> --net.adapter=vmxnet3 -net=<network> --disk.controller=pvscsi -on=false -disk <disk> <vm_name>
govc vm.create -ds=main-storage -m=4096 -c=4 -g=debian9_64Guest --net.adapter=vmxnet3 -net=vlan-base --disk.controller=pvscsi -on=false -disk templates/debian-template.vmdk co.geektr.template
# get vm info
device.info -vm <vm_name> -json <resource>
device.info -vm co.geektr.template -json ethernet-0
# power
govc vm.power -on=true <vm_name>
govc vm.power -on=true co.geektr.template
# attach network interface
govc vm.network.add -vm=<vm_name> -net=<network> --net.adapter=vmxnet3
govc vm.network.add -vm="co.geektr.minio" -net=vlan-service --net.adapter=vmxnet3
# More
1. VMWare VMGuestOsIdentifier
| NAME | DESCRIPTION |
|---|---|
| asianux3_64Guest | Asianux Server 3 (64 bit) |
| asianux3Guest | Asianux Server 3 |
| asianux4_64Guest | Asianux Server 4 (64 bit) |
| asianux4Guest | Asianux Server 4 |
| asianux5_64Guest | Asianux Server 5 (64 bit) |
| asianux7_64Guest | Asianux Server 7 (64 bit) |
| centos6_64Guest | CentOS 6 (64-bit) |
| centos64Guest | CentOS 4/5 (64-bit) |
| centos6Guest | CentOS 6 |
| centos7_64Guest | CentOS 7 (64-bit) |
| centos7Guest | CentOS 7 |
| centosGuest | CentOS 4/5 |
| coreos64Guest | CoreOS Linux (64 bit) |
| darwin10_64Guest | Mac OS 10.6 (64 bit) |
| darwin10Guest | Mac OS 10.6 |
| darwin11_64Guest | Mac OS 10.7 (64 bit) |
| darwin11Guest | Mac OS 10.7 |
| darwin12_64Guest | Mac OS 10.8 (64 bit) |
| darwin13_64Guest | Mac OS 10.9 (64 bit) |
| darwin14_64Guest | Mac OS 10.10 (64 bit) |
| darwin15_64Guest | Mac OS 10.11 (64 bit) |
| darwin16_64Guest | Mac OS 10.12 (64 bit) |
| darwin64Guest | Mac OS 10.5 (64 bit) |
| darwinGuest | Mac OS 10.5 |
| debian10_64Guest | Debian GNU/Linux 10 (64 bit) |
| debian10Guest | Debian GNU/Linux 10 |
| debian4_64Guest | Debian GNU/Linux 4 (64 bit) |
| debian4Guest | Debian GNU/Linux 4 |
| debian5_64Guest | Debian GNU/Linux 5 (64 bit) |
| debian5Guest | Debian GNU/Linux 5 |
| debian6_64Guest | Debian GNU/Linux 6 (64 bit) |
| debian6Guest | Debian GNU/Linux 6 |
| debian7_64Guest | Debian GNU/Linux 7 (64 bit) |
| debian7Guest | Debian GNU/Linux 7 |
| debian8_64Guest | Debian GNU/Linux 8 (64 bit) |
| debian8Guest | Debian GNU/Linux 8 |
| debian9_64Guest | Debian GNU/Linux 9 (64 bit) |
| debian9Guest | Debian GNU/Linux 9 |
| dosGuest | MS-DOS. |
| eComStation2Guest | eComStation 2.0 |
| eComStationGuest | eComStation 1.x |
| fedora64Guest | Fedora Linux (64 bit) |
| fedoraGuest | Fedora Linux |
| freebsd64Guest | FreeBSD x64 |
| freebsdGuest | FreeBSD |
| genericLinuxGuest | Other Linux |
| mandrakeGuest | Mandrake Linux |
| mandriva64Guest | Mandriva Linux (64 bit) |
| mandrivaGuest | Mandriva Linux |
| netware4Guest | Novell NetWare 4 |
| netware5Guest | Novell NetWare 5.1 |
| netware6Guest | Novell NetWare 6.x |
| nld9Guest | Novell Linux Desktop 9 |
| oesGuest | Open Enterprise Server |
| openServer5Guest | SCO OpenServer 5 |
| openServer6Guest | SCO OpenServer 6 |
| opensuse64Guest | OpenSUSE Linux (64 bit) |
| opensuseGuest | OpenSUSE Linux |
| oracleLinux6_64Guest | Oracle 6 (64-bit) |
| oracleLinux64Guest | Oracle Linux 4/5 (64-bit) |
| oracleLinux6Guest | Oracle 6 |
| oracleLinux7_64Guest | Oracle 7 (64-bit) |
| oracleLinux7Guest | Oracle 7 |
| oracleLinuxGuest | Oracle Linux 4/5 |
| os2Guest | OS/2 |
| other24xLinux64Guest | Linux 2.4x Kernel (64 bit) (experimental) |
| other24xLinuxGuest | Linux 2.4x Kernel |
| other26xLinux64Guest | Linux 2.6x Kernel (64 bit) (experimental) |
| other26xLinuxGuest | Linux 2.6x Kernel |
| other3xLinux64Guest | Linux 3.x Kernel (64 bit) |
| other3xLinuxGuest | Linux 3.x Kernel |
| otherGuest | Other Operating System |
| otherGuest64 | Other Operating System (64 bit) (experimental) |
| otherLinux64Guest | Linux (64 bit) (experimental) |
| otherLinuxGuest | Linux 2.2x Kernel |
| redhatGuest | Red Hat Linux 2.1 |
| rhel2Guest | Red Hat Enterprise Linux 2 |
| rhel3_64Guest | Red Hat Enterprise Linux 3 (64 bit) |
| rhel3Guest | Red Hat Enterprise Linux 3 |
| rhel4_64Guest | Red Hat Enterprise Linux 4 (64 bit) |
| rhel4Guest | Red Hat Enterprise Linux 4 |
| rhel5_64Guest | Red Hat Enterprise Linux 5 (64 bit) (experimental) |
| rhel5Guest | Red Hat Enterprise Linux 5 |
| rhel6_64Guest | Red Hat Enterprise Linux 6 (64 bit) |
| rhel6Guest | Red Hat Enterprise Linux 6 |
| rhel7_64Guest | Red Hat Enterprise Linux 7 (64 bit) |
| rhel7Guest | Red Hat Enterprise Linux 7 |
| sjdsGuest | Sun Java Desktop System |
| sles10_64Guest | Suse Linux Enterprise Server 10 (64 bit) (experimental) |
| sles10Guest | Suse linux Enterprise Server 10 |
| sles11_64Guest | Suse Linux Enterprise Server 11 (64 bit) |
| sles11Guest | Suse linux Enterprise Server 11 |
| sles12_64Guest | Suse Linux Enterprise Server 12 (64 bit) |
| sles12Guest | Suse linux Enterprise Server 12 |
| sles64Guest | Suse Linux Enterprise Server 9 (64 bit) |
| slesGuest | Suse Linux Enterprise Server 9 |
| solaris10_64Guest | Solaris 10 (64 bit) (experimental) |
| solaris10Guest | Solaris 10 (32 bit) (experimental) |
| solaris11_64Guest | Solaris 11 (64 bit) |
| solaris6Guest | Solaris 6 |
| solaris7Guest | Solaris 7 |
| solaris8Guest | Solaris 8 |
| solaris9Guest | Solaris 9 |
| suse64Guest | Suse Linux (64 bit) |
| suseGuest | Suse Linux |
| turboLinux64Guest | Turbolinux (64 bit) |
| turboLinuxGuest | Turbolinux |
| ubuntu64Guest | Ubuntu Linux (64 bit) |
| ubuntuGuest | Ubuntu Linux |
| unixWare7Guest | SCO UnixWare 7 |
| vmkernel5Guest | VMware ESX 5 |
| vmkernel65Guest | VMware ESX 6.5 |
| vmkernel6Guest | VMware ESX 6 |
| vmkernelGuest | VMware ESX 4 |
| vmwarePhoton64Guest | VMware Photon (64 bit) |
| win2000AdvServGuest | Windows 2000 Advanced Server |
| win2000ProGuest | Windows 2000 Professional |
| win2000ServGuest | Windows 2000 Server |
| win31Guest | Windows 3.1 |
| win95Guest | Windows 95 |
| win98Guest | Windows 98 |
| windows7_64Guest | Windows 7 (64 bit) |
| windows7Guest | Windows 7 |
| windows7Server64Guest | Windows Server 2008 R2 (64 bit) |
| windows8_64Guest | Windows 8 (64 bit) |
| windows8Guest | Windows 8 |
| windows8Server64Guest | Windows 8 Server (64 bit) |
| windows9_64Guest | Windows 10 (64 bit) |
| windows9Guest | Windows 10 |
| windows9Server64Guest | Windows 10 Server (64 bit) |
| windowsHyperVGuest | Windows Hyper-V |
| winLonghorn64Guest | Windows Longhorn (64 bit) (experimental) |
| winLonghornGuest | Windows Longhorn (experimental) |
| winMeGuest | Windows Millenium Edition |
| winNetBusinessGuest | Windows Small Business Server 2003 |
| winNetDatacenter64Guest | Windows Server 2003, Datacenter Edition (64 bit) (experimental) |
| winNetDatacenterGuest | Windows Server 2003, Datacenter Edition |
| winNetEnterprise64Guest | Windows Server 2003, Enterprise Edition (64 bit) |
| winNetEnterpriseGuest | Windows Server 2003, Enterprise Edition |
| winNetStandard64Guest | Windows Server 2003, Standard Edition (64 bit) |
| winNetStandardGuest | Windows Server 2003, Standard Edition |
| winNetWebGuest | Windows Server 2003, Web Edition |
| winNTGuest | Windows NT 4 |
| winVista64Guest | Windows Vista (64 bit) |
| winVistaGuest | Windows Vista |
| winXPHomeGuest | Windows XP Home Edition |
| winXPPro64Guest | Windows XP Professional Edition (64 bit) |
| winXPProGuest | Windows XP Professional |