ESXi-Konfigtemplate
Sammlung an Konfigurations-Code Schnipseln für die Konfiguration eines ESXi-Hosts per Kommandozeile
Stand 2023-05-03 auf Basis von vSphere 7.0.3
Allgemeine Einstellungen
#Wartungsmodus aktivieren
esxcli system maintenanceMode set --enable=true
vim-cmd hostsvc/maintenance_mode_enter
#Aktivieren der Troubleshooting-Optionen
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh
vim-cmd hostsvc/enable_esx_shell
vim-cmd hostsvc/start_esx_shell
esxcli system settings advanced set -o /UserVars/SuppressShellWarning -i 1
#Setzen des Hostsnames und der DNS Server
esxcli system hostname set --host="<HOSTNAME>"
esxcli system hostname set --fqdn="<HOSTNAME.FQDN>"
esxcli network ip dns server add --server="<DNS-Server#1>"
esxcli network ip dns server add --server="<DNS-Server#2>"
Netzwerk-Konfiguration
#Hinzufügen der Uplinks zum Standard-Switch
esxcli network vswitch standard uplink add -v vSwitch0 -u vmnic2
esxcli network vswitch standard uplink add -v vSwitch0 -u vmnic4
#Anlegen eines zweiten Switches und zuweisen der Uplinks
esxcli network vswitch standard add -v vSwitch1
esxcli network vswitch standard uplink add -v vSwitch1 -u vmnic3
esxcli network vswitch standard uplink add -v vSwitch1 -u vmnic5
#Failover-Reihenfolge pro Switch
esxcli network vswitch standard policy failover set -a=vmnic2,vmnic4 -v=vSwitch0
esxcli network vswitch standard policy failover set -a=vmnic3,vmnic5 -v=vSwitch1
#entfernen der Standardportgruppe
esxcli network vswitch standard portgroup remove -p="VM Network" -v=vSwitch0
#MTU Size pro Switch einstellen
esxcli network vswitch standard set --mtu=9126 --vswitch-name=vSwitch"<Switch-#>"
#Pro Switch ausführen
esxcli network vswitch standard set --mtu=9126 --vswitch-name=vSwitch"<Switch-#>"
NTP
pre vsphere 7
#Eintragen des NTP-Servers
esxcli system ntp set --enabled=true --server="<NTP-Server>"
#Troubleshooting NTP
watch ntpq -pn
ntpq -c associations
ab vSphere 7.0.3
#Einstellungen in eine temporöre Textdatei schreiben
echo restrict 127.0.0.1 >> /scratch/ntpconfig.txt
echo server "<NTP-Server-als-DNS>" >> /scratch/ntpconfig.txt
echo server "<NTP-Server-#1>" >> /scratch/ntpconfig.txt
echo server "<NTP-Server-#2>" >> /scratch/ntpconfig.txt
echo tos maxdist 30 >> /scratch/ntpconfig.txt
Kontrollieren der Konfigdatei
cat /scratch/ntpconfigtmp.txt
#Einlesen der Konfig aus der Textdatei
esxcli system ntp set -f /scratch/ntpconfigtmp.txt
#NTP Server neustarten und aktivieren
esxcli system ntp set -e 1
#Troubleshooting NTP
watch ntpq -pn
ntpq -c associations
vMotion
# Erstellen der Portgruppe mit VLAN-Zuordnung
esxcli network vswitch standard portgroup add -p="<Portgruppenname>" -v=vSwitch"<Switch-#>"
esxcli network vswitch standard portgroup set -p="<Portgruppenname>" -v="<VLAN-ID fuer VMotion>"
#Erstellen des VMKernel Interfaces
esxcli network ip interface add --interface-name=vmk"<#>" --portgroup-name="<Portgruppenname>"
esxcli network ip interface ipv4 set -i=vmk"<#>" -I="<VMotion-IP>" -N="<VMotion-IP-Netzmaske>" -t=static
esxcli network ip interface set --interface-name=vmk"<#>" --mtu=9000
#Auswählen des VMKernel-Interfaces für vMotion
esxcli network ip interface tag add -i=vmk"<#>" -t=VMotion
NFS
# Erstellen der Portgruppe mit VLAN-Zuordnung
esxcli network vswitch standard portgroup add -p="<Portgruppenname>" -v=vSwitch<Switch-#>
esxcli network vswitch standard portgroup set -p="<Portgruppenname>" -v="<VLAN-ID fuer NFS>"
#Anlegen des VMKernel-Interfaces für NFS
esxcli network ip interface add --interface-name=vmk"<#>" --portgroup-name="<Portgruppenname>"
esxcli network ip interface set --interface-name=vmk"<#>" --mtu=9000
#Vergabe der IP-Adresse
esxcli network ip interface ipv4 set -i=vmk2 -I="<NFS-IP>" -N="<NFS-IP-Subnetzmaske>" -t=static
iSCSI
#iSCSI Software-Adapter aktivieren
esxcli iscsi software set --enabled=true
#Auslesen der ID des iSCSI Adapters -> "<HBA-ID>"
esxcli iscsi adapter list
#Erstellen Switch für die iSCSI-Netze
esxcli network vswitch standard add -v=vSwitch<Switch-#>
esxcli network vswitch standard uplink add -v=vSwitch<Switch-#> -u="<iSCSI-NIC#1>"
esxcli network vswitch standard uplink add -v=vSwitch<Switch-#> -u="<iSCSI-NIC#2>"
esxcli network vswitch standard policy failover set -a "<iSCSI-NIC#1>","<iSCSI-NIC#2>" -v vSwitch<Switch-#>
#Portgruppen für iSCSI-Netz #1 erstellen
esxcli network vswitch standard portgroup add -p="<Portgruppenname#1>" -v=vSwitch<Switch-#>
esxcli network ip interface add --interface-name=vmk"<#>" --portgroup-name="<Portgruppenname#1>"
esxcli network ip interface ipv4 set -i=vmk"<#>" -I="<iSCSI-IP#1>" -N="<iSCSI-IP#1-Subnetzmaske>" -t=static
esxcli network vswitch standard portgroup policy failover set -a "<iSCSI-NIC#1>" -p "<Portgruppenname#1>"
#Portgruppen für iSCSI-Netz #2 erstellen
esxcli network vswitch standard portgroup add -p="<Portgruppenname#2>" -v=vSwitch<Switch-#>
esxcli network ip interface add --interface-name=vmk"<#>" --portgroup-name="<Portgruppenname#2>"
esxcli network ip interface ipv4 set -i=vmk"<#>" -I="<iSCSI-IP#1>" -N="<iSCSI-IP#1-Subnetzmaske>" -t=static
esxcli network vswitch standard portgroup policy failover set -a "<iSCSI-NIC#2>" -p "<Portgruppenname#2>"
#Verhindern des Failovers der iSCSI Portgruppen auf die andere Netzwerkkarte
esxcli network vswitch standard portgroup policy failover set -a vmnic"<#>" -p "<Portgruppenname#1>"
esxcli network vswitch standard portgroup policy failover set -a vmnic"<#>" -p "<Portgruppenname#2>"
#Hinzufügen der iSCSI-VMKernels zum iSCSI-Software-Adapter
esxcli iscsi networkportal add --nic=vmk"<#>" --adapter=vmhba"<HBA-ID>"
esxcli iscsi networkportal add --nic=vmk"<#>" --adapter=vmhba"<HBA-ID>"
#Registrieren der iSCSI Discovery-IP
esxcli iscsi adapter discovery sendtarget add -a "<iSCSI-Discovery-IP>":3260 -A vmhba"<HBA-ID>"
Storage
#Rescan der HBAs
Alle
esxcli storage core adapter rescan --all
Ausgewählte HBAs
esxcli storage core adapter rescan --adapter=vmhba<"ID">