====== ESXi ====== ====== ESXi manuell updaten ====== Nicht immer kann man ESXi über VUM/vLCM updaten. Eine schnbelle und einfache Variante ist über ein Depot File. Diese Offline Bundles haben teilweise mehrere Installationsmöglichkeiten. Gerade bei OEM Depots sind diese Namen sehr "kreativ" :-) Im Folgenden Codeblock wird gezeigt, wie dieser Name ermittelt werden kann und wie dann das eigentliche update/upgrade gestartet wird. Das Ausrollen der neuen VIBs geht recht fix und am Ende muss der Host nur manuell neu gestartet werden. [root@esxxxx:~] esxcli software sources profile list -d /vmfs/volumes/vsanDatastore/ISO/VMware-ESXi-7.0.3.update03-19193900-Fujitsu-v530-1-offline_bundle.zip Name Vendor Acceptance Level Creation Time Modification Time ---------------------------------------------- ------- ---------------- ------------------- ------------------- FJT-Addon-for-FujitsuCustomImage_7.0.3-530.1.0 Fujitsu PartnerSupported 2022-02-08T02:10:04 2022-02-08T02:10:04 [root@esxxxx:~] esxcli software profile update -d /vmfs/volumes/vsanDatastore_Schule23/ISO/VMware-ESXi-7.0.3.update03-19193900-Fujitsu-v530-1 -offline_bundle.zip -p FJT-Addon-for-FujitsuCustomImage_7.0.3-530.1.0 ====== High pNic error rate detected. Check the host's vSAN performance view for details ====== Es kann, muss aber nicht, am RX Buffer liegen.... # Einstellungen testen und Max. Werte abfragen esxcli network nic ring preset get -n vmnic0 esxcli network nic ring current get -n vmnic0 # Buffer auf 4080 stellen esxcli network nic ring current set -n vmnic0 -r 4080 Generelle Tests mit iperf: Sender: [root@senderhost:/usr/lib/vmware/vsan/bin] ./iperf3.copy -c ZIEL_IP -t 10 -V iperf 3.1.6 VMkernel xxxxxxxxxxxxxxxxxx 7.0.3 #1 SMP Release build-22348816 Aug 30 2023 04:36:58 x86_64 Control connection MSS 8948 Time: Thu, 11 Jan 2024 09:03:11 GMT Connecting to host ZIEL_IP, port 5201 Cookie: xxxxxxxxxxxxxxxxxx.17049637 TCP MSS: 8948 (default) [ 4] local 10.30.98.22 port 56526 connected to 10.30.98.23 port 5201 Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test iperf3: getsockopt - Function not implemented [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 1.11 GBytes 9.52 Gbits/sec 8638800 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 1.00-2.00 sec 1.13 GBytes 9.73 Gbits/sec 0 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 2.00-3.00 sec 1.13 GBytes 9.71 Gbits/sec 0 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 3.00-4.00 sec 1.14 GBytes 9.76 Gbits/sec 0 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 4.00-5.00 sec 1.14 GBytes 9.77 Gbits/sec 0 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 5.00-6.00 sec 1.12 GBytes 9.64 Gbits/sec 0 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 6.00-7.00 sec 1.12 GBytes 9.61 Gbits/sec 0 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 7.00-8.00 sec 1.13 GBytes 9.73 Gbits/sec 0 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 8.00-9.00 sec 1.14 GBytes 9.78 Gbits/sec 0 0.00 Bytes iperf3: getsockopt - Function not implemented [ 4] 9.00-10.00 sec 1.13 GBytes 9.74 Gbits/sec 4286328496 0.00 Bytes - - - - - - - - - - - - - - - - - - - - - - - - - Test Complete. Summary Results: [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 11.3 GBytes 9.70 Gbits/sec 0 sender [ 4] 0.00-10.00 sec 11.3 GBytes 9.70 Gbits/sec receiver CPU Utilization: local/sender 64.6% (64.7%u/0.0%s), remote/receiver 5.1% (5.1%u/0.0%s) snd_tcp_congestion newreno rcv_tcp_congestion newreno iperf Done. Empfänger: [root@empfaenger:/usr/lib/vmware/vsan/bin] ./iperf3.copy -s -B LISTEN_IP ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from SENDER_IP, port 11289 [ 5] local LISTEN_IP port 5201 connected to SENDER_IP port 56526 iperf3: getsockopt - Function not implemented [ ID] Interval Transfer Bandwidth [ 5] 0.00-1.00 sec 1017 MBytes 8.53 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 1.00-2.00 sec 1.13 GBytes 9.73 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 2.00-3.00 sec 1.13 GBytes 9.72 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 3.00-4.00 sec 1.14 GBytes 9.76 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 4.00-5.00 sec 1.14 GBytes 9.77 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 5.00-6.00 sec 1.13 GBytes 9.69 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 6.00-7.00 sec 1.12 GBytes 9.58 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 7.00-8.00 sec 1.13 GBytes 9.71 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 8.00-9.00 sec 1.14 GBytes 9.77 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 9.00-10.00 sec 1.14 GBytes 9.76 Gbits/sec iperf3: getsockopt - Function not implemented [ 5] 10.00-10.10 sec 117 MBytes 9.63 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 5] 0.00-10.10 sec 0.00 Bytes 0.00 bits/sec sender [ 5] 0.00-10.10 sec 11.3 GBytes 9.60 Gbits/sec receiver ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- ====== Acceptance Level & VIB mit PowerShell ====== #List Acceptance Level Foreach ($VMHost in Get-VMHost ) { $ESXCli = Get-EsxCli -VMHost $VMHost; $VMHost | Select Name, @{N="AcceptanceLevel";E={$ESXCli.software.acceptance.get()}}} # list CommunitySupported VIBs Foreach ($VMHost in Get-VMHost ) { $ESXCli = Get-EsxCli -VMHost $VMHost; $ESXCli.software.vib.list() | Where { ($_.AcceptanceLevel -ne "VMwareCertified") -and ($_.AcceptanceLevel -ne "VMwareAccepted") -and ($_.AcceptanceLevel -ne "PartnerSupported") }} #remove CommunitySupported VIB Foreach ($VMHost in Get-VMHost ) { $ESXCli = Get-EsxCli -VMHost $VMHost; $ESXCli.software.vib.remove.invoke($null, $true, $false, $true,"vmware-esx-sas3flash") } # set PartnerSupported Foreach ($VMHost in Get-VMHost ) { $ESXCli = Get-EsxCli -VMHost $VMHost; $ESXCli.software.acceptance.Set("PartnerSupported") } ====== bootbank Problem und wenn das Kind in den Brunnen gefallen ist.... ====== Problem: https://kb.vmware.com/s/article/83376 Wenn ein Host disconnected ist, und man nicht einfach mit den VMs ausschalten will, folgendes Vorgehen. * auf dem Host mit ''services.sh restart'' die Services neustarten -> der Host disconnects vom vCenter * die entsprechenden VMs im OS herunterfahren * auf einem anderen ESXi Host per ssh oder console draufgehen * dort die entsprechenden VMs, die als "Disconnected" gekennzeichnet sind, neu registrieren * dazu nutzt man ''vim-cmd solo/registervm /vmfs/volumes/.../YourVM/YourVM.vmx'' * kurz darauf verschwindet das "disconnected" bei der VM und man kann diese neu starten ====== esxtop und Statistiken ====== https://www.libe.net/esxtop-io-statistik ====== VMFS on SD ====== http://www.virten.net/2016/11/usb-devices-as-vmfs-datastore-in-vsphere-esxi-6-5/#more-18738 http://www.virten.net/2015/10/usb-devices-as-vmfs-datastore-in-vsphere-esxi-6-0/ ====== ESXi Kickstart Installation ====== Zum Kickstart: * Kickstart Script erstellen * Auf ein NFS Laufwerk legen * Installations ISO über iDRAC/iLO/iRMC/Serviceprozessor mounten * Beim Boot mit Shift-O die Bootoptionen ändern z.B. in netdevice=vmnic0 bootproto=dhcp ks=nfs:\\192.168.1.10\nfs\esxi\kickstart-esxi.cfg * Man kann mit dem ISOBuilder die ISO auch so anpassen, dass dies Default ist (habe ich aber noch nicht gemacht 😊 Aber mal ein Beispiel: #Accept the VMware End User License Agreement vmaccepteula # clear partitions and install clearpart --firstdisk=local –overwritevmfs install --firstdisk –overwritevmfs #set the root password rootpw VMware1! #Host Network Settings network --bootproto=static --addvmportgroup=1 --ip=192.168.1.20 --netmask=255.255.255.0 --gateway=192.168.1.1 --nameserver=192.168.1.1 --hostname=esx-prz-01 reboot #Firstboot section 1 %firstboot --interpreter=busybox sleep 30 #Enter Maintenance mode vim-cmd hostsvc/maintenance_mode_enter #suppress Shell Warning esxcli system settings advanced set -o /UserVars/SuppressShellWarning -i 1 esxcli system settings advanced set -o /UserVars/ESXiShellTimeOut -i 1 #Add DNS Nameservers to /etc/resolv.conf cat > /etc/resolv.conf << \DNS nameserver 192.168.1.1 nameserver 8.8.8.8 DNS #VSwitch Configurations esxcli network vswitch standard add --vswitch-name=vSwitch0 --ports=24 esxcli network vswitch standard uplink add --uplink-name=vmnic0 --vswitch-name=vSwitch0 esxcli network vswitch standard uplink add --uplink-name=vmnic1 --vswitch-name=vSwitch0 esxcli network vswitch standard uplink add --uplink-name=vmnic2 --vswitch-name=vSwitch0 esxcli network vswitch standard uplink add --uplink-name=vmnic3 --vswitch-name=vSwitch0 esxcli network vswitch standard policy failover set --active-uplinks=vmnic0,vmnic1,vmnic2,vmnic3 --vswitch-name=vSwitch0 esxcli network vswitch standard portgroup policy failover set --portgroup-name="MGMT" --active-uplinks=vmnic0,vmnic1,vmnic2,vmnic3 esxcli network vswitch standard portgroup add --portgroup-name=“VM“ --vswitch-name=vSwitch0 esxcli network vswitch standard portgroup remove --portgroup-name="VM Network" --vswitch-name=vSwitch0 #Firstboot Section 2 %firstboot --interpreter=busybox #Disable IPv6 esxcli network ip set --ipv6-enabled=false #Reboot sleep 30 reboot Hier noch ein Link, wie man es mit PXE boot macht… https://rudimartinsen.com/2018/06/09/customizing-esxi-installation-with-kickstart-files-and-pxe-boot/ nützlich auch: https://www.virtuallyghetto.com/2018/06/using-esxi-kickstart-firstboot-with-secure-boot.html es ist auch möglich die ks.cfg mit auf ein USB-Drive/in das Image zu integrieren, damit entfällt die NFS-Ablage. Man kann so entweder per USB oder per virtual ISO voll elektrisch installieren: https://www.virtuallyghetto.com/2019/07/automated-esxi-installation-to-usb-using-kickstart.html ===== ESXi Passwort reset ===== http://blog.clearpathsg.com/blog/bid/301156/Lost-Your-ESXi-Root-Password-Reset-It-with-Host-Profiles ===== SUN 41xx/42xx mit ESXi 5.5 ===== Die älteren SUN Systeme sind nicht mehr offiziell für vSphere 5.5 und folgende Versionen zertifiziert. Bei normaler Installation gibt's auch einen Fehler. Abhilfe sorgt der Boot Parameter ''IgnoreHeadless="TRUE"''. Die muss bei Start des Bootloaders mittels Schift-O angehangen werden. Sowohl beim Start des Install Images, als auch beim ersten Boot nach der vollständigen Installation. Persistent macht man dies anschließend auf der Konsole mittels esxcfg-advcfg --set-kernel "TRUE" ignoreHeadless ====== VxRail ====== * MGMT vLANs setzen * /etc/init.d/loudmouth restart * vim-cmd vmsvc/getallvms um Manager zu finden * vim-cmd vmsvc/power.getstate 1 * esxcli network firewall ruleset list --ruleset-id sshClient * vim-cmd vmsvc/get.guest 1 | grep -m 1 fe80 * ssh -6 mystic@fe80::....%vmk0 * /usr/lib/vmware-loudmouth/bin/loudmouthc query *