On Wed, Jan 2, 2013 at 9:41 AM, James B. Byrne byrnejb@harte-lyne.cawrote:
I ran into this situation several times whilst testing KVM and the lessons I learned from the experiences can be summarized as:
- Never allow the kvm hypervisior to handle guests during a host
shutdown. Use 'virsh shutdown' on each of the guests first and then shutdown the host. Use autostart to restart guests on a host's reboot. Write a script to process 'virsh list' to feed active domains to 'virsh shutdown' if automation is required and link that to /etc/rc0.d/K10<whatever>.
@James: Can you specifically cite why you manually power down each node? Have you tried tweaking your libvirt settings in the config file I noted in my earlier response to Robert?
Oh and another note, you can set libvirt so that it _only_ starts the machines that were running when the host machine was issued a shutdown. There are advantages and disadvantages to both (auto-shutdown by host and manually doing it) as there is with anything.
- In the situation where a kvm guest pause and restore sequence
leads to an excessive disconnect between guest time and wall time use ntpd -q to hard set the time. From the guest's point of view you are always going ahead in time in the case of a pause and resume so this is not likely to ever cause a problem. But, having written that down, it probably will at some point.
- Run ntpd on the host system and have its guests configured to only
use that time server source.
Set up a central NTP server and have your hosts (and not just VMs) connect to it. It could be the VM host, but doesn't need to be. Distribute the load to your NTP server and off of the public NTP pool by running an NTP server for your servers to poll [0] ... it's a good practice and everybody is happy.
[0] http://support.ntp.org/bin/view/Support/DesigningYourNTPNetwork#Section_5.7.
- On each guest have a cron job that checks for ntpd at regular
intervals which reports failures and restarts the time service as necessary. We use: JOBNAME="Check ntpd status and restart if required" ; \ ntpstat > /dev/null && \ if [[ $? -gt 0 ]]; then /sbin/service ntpd start; fi
Why not configure the ntpd daemon and stick with that? It does update on its own [1]. And ntpstat prints out the interval, which matches the one mentioned at [1]. I don't believe the ntpstat script/job is necessary (I've never had to do more than set ntpd to run after configuring the servers it should poll).
~]$ ntpstat synchronised to NTP server (x.x.x.x) at stratum 3 time correct to within 67 ms polling server every 1024 s
[1] http://www.ntp.org/ntpfaq/NTP-s-algo.htm#Q-ALGO-POLL-BEST
-- *** E-Mail is NOT a SECURE channel *** James B. Byrne mailto:ByrneJB@Harte-Lyne.ca Harte & Lyne Limited http://www.harte-lyne.ca 9 Brockley Drive vox: +1 905 561 1241 Hamilton, Ontario fax: +1 905 561 0757 Canada L8E 3C3
CentOS-virt mailing list CentOS-virt@centos.org http://lists.centos.org/mailman/listinfo/centos-virt