[pve-devel] corosync bug: cluster break after 1 node clean shutdown

Alexandre DERUMIER aderumier at odiso.com
Tue Sep 15 08:27:49 CEST 2020


>>This is by intention - we do not want to stop pmxcfs only because coorosync service stops. 

Yes, but at shutdown, it could be great to stop pmxcfs before corosync ?
I ask the question, because the 2 times I have problem, it was when shutting down a server.
So maybe some strange behaviour occur with both corosync && pmxcfs are stopped at same time ?


looking at the pve-cluster unit file,
why do we have "Before=corosync.service" and not "After=corosync.service" ?

I have tried to change this, but even with that, both are still shutting down in parallel.

the only way I have found to have clean shutdown, is "Requires=corosync.server" + "After=corosync.service".
But that mean than if you restart corosync, it's restart pmxcfs too first.

I have looked at systemd doc, After= should be enough (as at shutdown it's doing the reverse order),
but I don't known why corosync don't wait than pve-cluster ???


(Also, I think than pmxcfs is also stopping after syslog, because I never see the pmxcfs "teardown filesystem" logs at shutdown)



----- Mail original -----
De: "dietmar" <dietmar at proxmox.com>
À: "aderumier" <aderumier at odiso.com>, "Thomas Lamprecht" <t.lamprecht at proxmox.com>
Cc: "Proxmox VE development discussion" <pve-devel at lists.proxmox.com>
Envoyé: Mardi 15 Septembre 2020 07:45:41
Objet: Re: [pve-devel] corosync bug: cluster break after 1 node clean shutdown

> Now, that logging work, I'm also seeeing pmxcfs errors when corosync is stopping. 
> (But no pmxcfs shutdown log) 
> 
> Do you think it's possible to have a clean shutdown of pmxcfs first, before stopping corosync ? 

This is by intention - we do not want to stop pmxcfs only because coorosync service stops. 

Unit] 
Description=The Proxmox VE cluster filesystem 
ConditionFileIsExecutable=/usr/bin/pmxcfs 
Wants=corosync.service 
Wants=rrdcached.service 
Before=corosync.service 
Before=ceph.service 
Before=cron.service 
After=network.target 
After=sys-fs-fuse-connections.mount 
After=time-sync.target 
After=rrdcached.service 
DefaultDependencies=no 
Before=shutdown.target 
Conflicts=shutdown.target 





More information about the pve-devel mailing list