On 3/8/22 20:25, Lentes, Bernd wrote:
Hey guys,
i have a two-node cluster with around 20 domains. Cluster-Software is pacemaker and
corosync, OS is SLES 12 SP5.
The scripts for starting/stopping the domains use virsh. Is there a way to reliably
shutdown the domains via virsh ?
I'm testing around, but sometimes the domains stop, sometimes they don't,
sometimes it takes very long so that the cluster times out
and fence the respective node.
I'm using "virsh shutdown domain --mode acpi,agent" for the windows domains
(not reliable) and for the linux domains
"virsh shutdown domain", also not reliable.
In general, if agent is available it's more likely to succeed than acpi,
because the shutdown is initiated from inside the guest (/sbin/shutdown
is invoked for UNIX-like systems, or Windows equivalent) while with ACPI
a guest can simply chose to ignore it. In fact, that's what libvirt does
- whenever agent method is available (i.e. --mode contains agent, or no
specific --mode was requested = libvirt is free to chose), it is preferred.
I assume you don't see any errors reported by virsh and thus "sometimes
it takes very long" [to shutdown a guest] could mean that guests are
under heavy load, e.g. they are syncing disks before shutdown, stopping
services, etc. I don't think I have a good answer for you until the root
cause if found.
Michal