On Tue, Jan 02, 2024 at 09:56:44PM +0300, Andrei Borzenkov wrote: > 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. > Hum, you're right. I only skimmed over the second "systemctl show", assuming it to be the same as the first, I was not aware it works on non-existing units. I can't find anything related to a Wants dependency from .device to .swap, maybe that's shipped by Centos 7... Thanks ! (apologies for the duplicate mail) -- Max Gautier