On 02.01.2024 18:47, Max Gautier wrote:
Hi, Is masking `swap.target` a reliable/supported way to disable all swaps (partition, file, whatever) ? I used that approach in Kubespray[1] (a k8s installer) while refactoring our "disable swap" steps, but it looks likes it does not work on Centos 7 [2] (more specifically, systemd 219) ; and in fact while it seemed obvious to me at the time, I didn't find it documented in systemd.special for instance. It does work on more recent version on systemd, my problem is that I don't know how recent that is. 255 is fine, 219 is not. Apparently, the .swap unit generated by systemd-fstab-generator does shows as "inactive" in `systemctl status` (see [2] last comment), but the swap **is activated** regardless. I've searched issues, PRs and commits grepping for swap.target, but I have not found anything relevant (the only thing was https://github.com/systemd/systemd/commit/90060fa6605446bef7078867423b691e4effa575, but it's way before 219...) ● dev-mapper-centos\x2dswap.swap - /dev/mapper/centos-swap Loaded: loaded (/etc/fstab; bad; vendor preset: disabled) Active: inactive (dead) since Tue 2024-01-02 02:15:31 EST; 2h 6min ago What: /dev/mapper/centos-swap The `bad` part in the Loaded line makes me think maybe something else is creating/activating that swap than systemd-fstab-generator ? From the systemctl man page this conveys that "the unit file is invalid or some other error occurred", but the generated unit looks fine to me... If anyone has had some success trying similar things on old systemd versions, please let me know if you can. [1]: https://github.com/kubernetes-sigs/kubespray [2]: https://github.com/kubernetes-sigs/kubespray/issues/10741
As clearly visible in "systemctl show" output WantedBy=dev-mapper-centos\x2dswap.device So swap is activated when systemd gets notification that device appeared.
Thanks a lot for your time