Discussion:
Local mount as a remote-fs?
(too old to reply)
Andrey Klimentyev
2017-12-04 11:25:47 UTC
Permalink
Hi,

Is it possible to register local mount as a remote-fs?

I've got a rather peculiar problem with Kubernetes and Ceph:
1. kubelet creates an rbd device in /dev;
2. it mounts it to some location;
3. systemd adds local-fs.target and local-fs-pre.target to Before= and
After= directives on auto-created .mount Units.

Unfortunately, with that approach thing get rather messy on shutdown. Ceph
RBD kernel client detects network outage (since we've already disabled the
network) and stops all I/O to those filesystems, while systemd actively
tries to umount them. systemd depends on umounting those filesystems, and
Ceph depends on an online network to properly finish all I/O and unmount
them, thus creating a kind of a deadlock.
--
Andrey Klimentyev,
DevOps engineer @ JSC «Flant»
http://flant.com/ <http://flant.ru/>
+7 (495) 721-10-27, ext. 487
+7 (960) 180-38-98
Silvio Knizek
2017-12-04 11:39:10 UTC
Permalink
Post by Andrey Klimentyev
Hi,
Is it possible to register local mount as a remote-fs?
1. kubelet creates an rbd device in /dev;
2. it mounts it to some location;
3. systemd adds local-fs.target and local-fs-pre.target to Before= and
After= directives on auto-created .mount Units.
Unfortunately, with that approach thing get rather messy on shutdown. Ceph
RBD kernel client detects network outage (since we've already
disabled the
network) and stops all I/O to those filesystems, while systemd
actively
tries to umount them. systemd depends on umounting those filesystems, and
Ceph depends on an online network to properly finish all I/O and unmount
them, thus creating a kind of a deadlock.
Hi,

use the mount option »_netdev«, which declares a device as dependent on
network. See »man mount« for more information.

BR
Silvio
Andrey Klimentyev
2017-12-04 12:01:17 UTC
Permalink
Yup, thanks a lot, it did work.
Post by Andrey Klimentyev
Hi,
Is it possible to register local mount as a remote-fs?
1. kubelet creates an rbd device in /dev;
2. it mounts it to some location;
3. systemd adds local-fs.target and local-fs-pre.target to Before= and
After= directives on auto-created .mount Units.
Unfortunately, with that approach thing get rather messy on shutdown. Ceph
RBD kernel client detects network outage (since we've already disabled the
network) and stops all I/O to those filesystems, while systemd actively
tries to umount them. systemd depends on umounting those filesystems, and
Ceph depends on an online network to properly finish all I/O and unmount
them, thus creating a kind of a deadlock.
Hi,
use the mount option »_netdev«, which declares a device as dependent on
network. See »man mount« for more information.
BR
Silvio
_______________________________________________
systemd-devel mailing list
https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
Andrey Klimentyev,
DevOps engineer @ JSC «Flant»
http://flant.com/ <http://flant.ru/>
+7 (495) 721-10-27, ext. 487
+7 (960) 180-38-98
Loading...