Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support /dev/fuse #21

Closed
cedvan opened this issue Feb 29, 2016 · 73 comments
Closed

Add support /dev/fuse #21

cedvan opened this issue Feb 29, 2016 · 73 comments

Comments

@cedvan
Copy link

cedvan commented Feb 29, 2016

Hi,

Please possible add support fuse module ?

Thank you

@ailispaw
Copy link
Owner

Hi @cedvan ,
Thank you for opening an issue.

How can I add that module and test it?
Could you make a PR for it?

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

I don't know, but I can try

@ailispaw
Copy link
Owner

If all you need is fuse in user land, you can install with https://github.com/ailispaw/docker-root-pkg.

$ sudo pkg install libfuse

It will install /usr/bin/fusermount and /usr/lib/libfuse.so*.

If you need any kernel configuration for it, please let me know.

@ailispaw
Copy link
Owner

May need CONFIG_FUSE_FS in kernel.config, too.

@ailispaw
Copy link
Owner

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

Thank you !

I had install fuse with sudo pkg install libfuse.

Result :

$ modprobe -l |grep fuse
kernel/drivers/message/fusion/mptbase.ko
kernel/drivers/message/fusion/mptscsih.ko
kernel/drivers/message/fusion/mptspi.ko
kernel/drivers/message/fusion/mptsas.ko
kernel/drivers/message/fusion/mptctl.ko
$ cat /dev/fuse
cat: can't open '/dev/fuse': No such file or directory

Need CONFIG_FUSE_FS to enable fuse ?
Where is kernel.config file please ?

@ailispaw
Copy link
Owner

@ailispaw
Copy link
Owner

sudo pkg install libfuse installs only modules in userspace.
You need CONFIG_FUSE_FS for kernel modules and devices.

@ailispaw
Copy link
Owner

diff --git a/configs/buildroot.config b/configs/buildroot.config
index 2a62e5c..571277b 100644
--- a/configs/buildroot.config
+++ b/configs/buildroot.config
@@ -1065,7 +1065,7 @@ BR2_PACKAGE_OPENSSL=y
 # BR2_PACKAGE_GAMIN is not set
 # BR2_PACKAGE_LIBCONFIG is not set
 # BR2_PACKAGE_LIBCONFUSE is not set
-# BR2_PACKAGE_LIBFUSE is not set
+BR2_PACKAGE_LIBFUSE=y
 # BR2_PACKAGE_LIBLOCKFILE is not set
 # BR2_PACKAGE_LIBNFS is not set
 # BR2_PACKAGE_LIBSYSFS is not set
diff --git a/configs/kernel.config b/configs/kernel.config
index 2fad792..602e5dc 100644
--- a/configs/kernel.config
+++ b/configs/kernel.config
@@ -2025,7 +2025,8 @@ CONFIG_INOTIFY_USER=y
 # CONFIG_QUOTA is not set
 # CONFIG_QUOTACTL is not set
 # CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
+CONFIG_FUSE_FS=y
+# CONFIG_CUSE is not set
 CONFIG_OVERLAY_FS=y

 #

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

Ok thank you very much !

I will create a PR as soon as possible ;)

@ailispaw
Copy link
Owner

If that modification doesn't make kernel bigger significantly, I will add CONFIG_FUSE_FS in the next release.

@ailispaw
Copy link
Owner

BTW, what fuse will benefit and what is your use case?

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

I need fuse to support glusterfs :)

@ailispaw
Copy link
Owner

Is glusterfs in a container or VM?
I'm very interested in that.

@ailispaw
Copy link
Owner

Oh it seems silly question.. forget it. :)

@ailispaw
Copy link
Owner

Please provide how to use it with the PR.

@ailispaw
Copy link
Owner

Are you trying to use GlusterFS from a container or in DockerRoot VM?

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

I create 2 DockerRoot VM hosting container GlusterFS Server. And I create 2 DockerRoot VM hosting container GlusterFS Convoy Docker (Client). Convoy need fuse in kernel to share data with server

@ailispaw
Copy link
Owner

I see. Thanks. So it seems you need just CONFIG_FUSE_FS in kernel.config.

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

Ok, I have to create a PR, or you do it ?

@ailispaw
Copy link
Owner

I can do it, but can not test it with GlusterFS. Please make and test it in your side.
I'm looking forward to reading your instruction about GlusterFS with DockerRoot.

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

Ok, tell me when I can test, and I'll make a return ;)

@ailispaw
Copy link
Owner

Do you need docker-root.iso or docker-root.box?
I will make it for you.

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

I use Vagrant, so need docker-root.box please.
Thank you !

@ailispaw
Copy link
Owner

OK.

@ailispaw
Copy link
Owner

@ailispaw
Copy link
Owner

Please download docker-root.box from RAW link at the gist. Or just git clone the gist.

Vagrant.configure(2) do |config|
  config.vm.box = "docker-root-fuse"
  config.vm.box_url = "docker-root.box"
end
$ vagrant up
$ vagrant ssh -c "ls -l /dev/fuse"
crw-------    1 root     root       10, 229 Feb 29 15:59 /dev/fuse

@ailispaw
Copy link
Owner

Now it's 1 am in Japan. Going to bed. @cedvan See you tomorrow.

@cedvan
Copy link
Author

cedvan commented Feb 29, 2016

Thank you !

I am in France, I test tonight ;)

Good night man !

@cedvan
Copy link
Author

cedvan commented Mar 2, 2016

Hi,

I've test. I've other problems to start glusterfs, but /dev/fuse problem is fixed :)

Thank you very much !

@ailispaw
Copy link
Owner

ailispaw commented Mar 7, 2016

FYI: MariaDB container seems to need 9p2000.L, because it uses fstatvfs().

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Yes, that's why I think I need glusterfs :).

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Possible install glusterfs directly on the VM docker-root ?

@ailispaw
Copy link
Owner

ailispaw commented Mar 7, 2016

You can use https://github.com/ailispaw/docker-root-pkg/tree/master/extra/package as an extra package like criu and ipvsadm.

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

I am afraid of not being competent enough to succeed, but I will try

@ailispaw
Copy link
Owner

ailispaw commented Mar 7, 2016

FYI: I have activated SSHFS/FUSE in DockerRoot v1.3.1 as well, although I haven't tested it yet.

$ sudo pkg install sshfs

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Ok, cool. Thank you !

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

You have informations to the previous error : pivot_root ?

@ailispaw
Copy link
Owner

ailispaw commented Mar 7, 2016

Hmm. DockerRoot doesn't allow pivot_root by default.
It needs to re-build the box with a patched boot config.

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Ok, so not possible ?

For information, what is a pivot_root ?

@ailispaw
Copy link
Owner

ailispaw commented Mar 7, 2016

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Hum ok ! :)

So not possible add chroot in docker-root ?

@ailispaw
Copy link
Owner

ailispaw commented Mar 7, 2016

Ok, so not possible ?

I'm not sure that it is caused by DockerRoot or something else (libcontainer).
But I will create a custom box for you.

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Oh great !

Thank you very much !!

@ailispaw
Copy link
Owner

ailispaw commented Mar 7, 2016

@cedvan Updated the gist with the custom docker-root.box.
#21 (comment)

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Ok great ! I'll try ;)

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Your box solved problem with pivot_root, it's very good !

But docker version 1.9.1 create bug with new rancher network... lol. Need merge your work on master and up to docker 1.10 ^^. I try build localy docker-root, but I've Linux, so difficult :)

@ailispaw
Copy link
Owner

ailispaw commented Mar 7, 2016

Thanks for your feedback. I will consider to support pivot_root and Docker v1.10 in the next. :)

@cedvan
Copy link
Author

cedvan commented Mar 7, 2016

Great !

@ailispaw
Copy link
Owner

ailispaw commented Mar 8, 2016

Possible install glusterfs directly on the VM docker-root ?

Please open an issue at https://github.com/ailispaw/docker-root-pkg.
Thanks.

ailispaw added a commit that referenced this issue Mar 8, 2016
@ailispaw
Copy link
Owner

I'm still wondering Docker v1.10.3 is good.

Instead I have added an ability to switch between Docker versions easily.
39acf95

$ sudo /etc/init.d/docker restart v1.10.3

@cedvan
Copy link
Author

cedvan commented Mar 11, 2016

I'm still wondering Docker v1.10.3 is good.

Why ?

Instead I have added an ability to switch between Docker versions easily.

Good idea !

@ailispaw
Copy link
Owner

I will try to use the latest Docker.

Please see https://github.com/ailispaw/docker-root#features for its usage.

@ailispaw
Copy link
Owner

Telling the truth, I don't like the FAT docker binary and I feel it's unstable recently, although I do like its basic functionalities.

@cedvan
Copy link
Author

cedvan commented Mar 11, 2016

Ok, you do a great job, thank you !

@ailispaw
Copy link
Owner

@cedvan Thank YOU. I have enjoyed this conversation with you. Without it, I could not have such ideas.

Please let me know any problem and progress on your test.

@cedvan
Copy link
Author

cedvan commented Mar 16, 2016

@ailispaw, To continue my test I need IPSec support 😉 .

cf #27

@ailispaw
Copy link
Owner

Closing for /dev/fuse.
Please open a new issue for the further problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants