A mensagem de erro explica a causa:
Where= setting doesn't match unit name. Refusing.
embora entender essa mensagem requer a leitura de várias páginas do manual.
Por systemd.mount
man page (enfatize o meu):
Where=
Takes an absolute path of a directory of the mount point. If the mount point does not exist at the time of mounting, it is created. This string must be reflected in the unit filename. (See above.) This option is mandatory.
A parte "ver acima" é:
Mount units must be named after the mount point directories they control. Example: the mount point
/home/lennart
must be configured in a unit filehome-lennart.mount
. For details about the escaping logic used to convert a file system path to a unit name, seesystemd.unit(5)
.
OK, a página systemd.unit
man afirma que:
Properly escaped paths can be generated using the
systemd-escape(1)
command.
apontando para systemd-escape
man page que explica como fazer isso:
To generate the mount unit for a path:
$ systemd-escape -p --suffix=mount "/tmp//waldi/foobar/"
tmp-waldi-foobar.mount
Então, no seu caso, /srv/node/d1
traduz a srv-node-d1.mount