Dlouho jsem používal VMwarovský guesty s bridged sítí. Teď jsem přešel na NATovou síť a zjistil jsem že docela často padá. A protože ty guesty stejně po pár hodinách restartuji, tak jsem si řekl, že klidně budu restartovat celý VMware. Jenže to nebylo tak jednoduché. Někdy totiž vmware-serverd nenaběhl a téměř pravidelně se stávalo, že vmnet-natd vytuhl a bránil shození (a tudíž i restartu) vmware. Tak jsem se ponořil do hlubin vmwaru. Chybu jsem bohužel nenašel, ale objevil jsem šikovný prográmek vmware-cmd a vznikl následující skript.
#/bin/bash
for i in `seq 0 6`; do
/usr/bin/vmware-cmd /var/lib/vmware/Virtual\ Machines/th-min-$i/th-gen.vmx stop soft 2>/dev/null
done
/etc/init.d/vmware restart
until /usr/bin/vmware-cmd /var/lib/vmware/Virtual\ Machines/th-min-1/th-gen.vmx getuptime; do
sleep 1;
ps axf |grep vmnet-| cut -f 1 -d ' '| xargs kill
ps axf |grep vmnet-| cut -f 1 -d ' '| xargs kill -9
rm /etc/vmware/not_configured
/etc/init.d/vmware restart
done
for i in `seq 0 6`; do
/usr/bin/vmware-cmd /var/lib/vmware/Virtual\ Machines/th-min-$i/th-gen.vmx start soft
done
To odstraňování /etc/vmware/not_configured je tam protože při jakýmkoliv problému s moduly se začne vmware domnívat, že ještě není zkonfigurován a cpe vám kompilaci modulů i když je už máte zkompilované.