Die Evalutation License des ESXi Servers ist nur 60 Tage gültig, das kann man aber verlängern.
Script dass als .sh und ausführbar (chmod +x … .sh) auf dem ESXi oder einem Datastore abgelegt werden muss:
#!/bin/sh ## remove license echo 'Removing License' rm -r /etc/vmware/license.cfg ## get a new trial license echo 'Copying new license' cp /etc/vmware/.#license.cfg /etc/vmware/license.cfg ## restart services echo 'Restarting VPXA' /etc/init.d/vpxa restart |
Jetzt noch Ausführbar machen:
$ chmod +x reset-eval.sh
Und so kann man es testen: (Vorher schauen bis man die aktuelle Lizenz gültig ist)
./reset-eval.sh
Jetzt noch dafür sorgen dass es immer von alleine läuft, also in den crontab eintragen.
/bin/echo "5 6 * * * /vmfs/volumes/datastore1/reset-eval.sh" >> /var/spool/cron/crontabs/root kill $(cat /var/run/crond.pid) crond
Dieser Cronjob wird jeden Tag um 6:05 Uhr ausgeführt.
Und das hier in /etc/rc.local.d/local.sh eintragen, weil crontab nach jedem Boot gelöscht wird:
/bin/kill $(cat /var/run/crond.pid) /bin/echo "5 6 * * * /vmfs/volumes/datastore1/reset-eval.sh" >> /var/spool/cron/crontabs/root crond
Damit hat man immer eine frische Evaluierungs Lizenz 😀
Die laufenden VMs werden nicht beeinträchtigt, läuft alles weiter. Aber der ESXi scheint für andere Überwachungssysteme kurz weg zu sein. Also etwaige Systeme/VMs vorher ausschalten und danach wieder starten, das kann so gehen (VM hier ist „ups-agent“):
#!/bin/sh # This script shuts down the UPS-Agent and resets the license echo 'Getting VMID of UPS-Agent' vmid=$(vim-cmd vmsvc/getallvms | grep ups-agent | awk '{print $1}') echo 'VMID is' $vmid echo 'Getting UPS-Agent Power state' state=$(vim-cmd vmsvc/power.getstate $vmid | grep Powered) echo 'VM is currently' $state x=1 while [[ "$state" == "Powered on" && $x -lt 3 ]] do echo 'Powering off...' vim-cmd vmsvc/power.shutdown "$vmid" echo 'Waiting for VM to power off...' i=30;while [ $i -gt 0 ];do if [ $i -gt 9 ];then printf "bb$i";else printf "bb $i";fi;sleep 1;i=`expr $i - 1`;done state=$(vim-cmd vmsvc/power.getstate $vmid | grep Powered) x=`expr $x + 1` done if [ "$state" == "Powered off" ] then ## remove license echo 'Removing License' rm -r /etc/vmware/license.cfg ## get a new trial license echo 'Copying new license' cp /etc/vmware/.#license.cfg /etc/vmware/license.cfg ## restart services echo 'Restarting VPXA' /etc/init.d/vpxa restart #echo 'Restarting Services' #services.sh restart ## power on echo 'Powering on USP-Agent' vim-cmd vmsvc/power.on "$vmid" else echo 'Could not turn off UPS-Agent' fi echo 'Finished'