Re: Rumprun - Network filesystems
- From: Antti Kantee <pooka@xxxxxx>
- To: rumpkernel-users@xxxxxxxxxxxxx
- Date: Fri, 17 Feb 2017 18:52:22 +0000
On 17/02/17 17:51, Kevin Lemonnier wrote:
Reading this : https://github.com/rumpkernel/rumprun/blob/master/doc/config.md
I understand (or I think I do, at least) how to mount a block device, which is a
good start, but is there any way currently to mount an NFS share, or any other
network filesystems (glusterfs or ceph might be a bit much I guess) ?
I assume NFS is the easiest way to have multiple unikernels access the same
files
in RW. It also makes HA pretty easy, it doesn't matter where it's booted as long
as it has access to the network.
Well ... mounting a file system involves essentially three components:
1) the driver which talks the file system protocol 2) the mount utility
which sets up the driver 3) the "will to act" which comes from an rc
script or config or manually run command or whatever.
The good news is that "1" and "2" for NFS are supported by rump kernels.
The bad news is that they are not supported by Rumprun, and neither is
"3". One weakness with the current Rumprun config/setup/deployment
scheme is that it completely ignores "1" and "2", so just concentrating
on "3" won't really help much.
If you really want to do some work, I'd start by trying to get mount_nfs
supported by rumpctrl. Alternatively, install a NetBSD virtual machine,
and "hijack" mount_nfs and point it at your rump kernel, a bit like
described in this document from 2011:
https://www.netbsd.org/docs/rump/sptut.html#masterclass
Also include the NFS driver component in your Rumprun instance, and
enable sysproxy listening.
It might be as simple as that to test things out (i.e. 1+2, no 3), or it
might not. Either way, in the spirit of open source, when it doesn't
work, you get to fix it :/
At least glusterfs might work using the same principle, except there are
a lot more details to consider and places to hang yourself.
Other related posts: