[Users] fuse filesystem inside a container?
George Georgalis
george at galis.org
Wed Aug 31 14:37:05 EDT 2011
On Wed, Aug 31, 2011 at 10:45 AM, Bogdan-Stefan Rotariu
<bogdan at rotariu.ro> wrote:
...
>> I'm able to make the md/fuse devices but I've been unable to configure
>> a container to additionally include fuse filesystem capability.
>>
>> vzctl set $id --devices b:9:2:rw c:10:229:rw --save
>>
>> then after starting the containers,
>>
>> vzctl exec $id mknod /dev/fuse c 10 229
>> vzctl exec $id mknod /dev/md2 b 9 2
>>
>
> [...]
>
>>
>> Fuse is being used to mount a gluster filesystem. Am I missing a step?
>
>
> Yep,
>
> Make sure you have the module in the container, kmod-fuse, and you can
> load it.
Well that is certainly confusing, since the container doesn't have its
own kernel. What does loading a kernel in a container mean?
The host has (and uses) the following modules:
/lib/modules/2.6.18-238.19.1.el5.028stab092.2/extra/fuse.ko
/usr/lib64/glusterfs/3.0.0/xlator/mount/fuse.so.0.0.0
I presume fuse.ko is the one loaded by the kernel while the gluster
client uses fuse.so.0.0.0 in userspace.
In the container I have only,
/opt/glusterfs/3.2.3/lib64/glusterfs/3.2.3/xlator/mount/fuse.so.0.0.0
but when I try to load it I get:
insmod: error inserting
'/opt/glusterfs/3.2.3/lib64/glusterfs/3.2.3/xlator/mount/fuse.so.0.0.0':
-1 Operation not permitted
How do I load this fuse capability into the container? (nb the
container gluster versions glusterfs-core-3.2.3-1 and
glusterfs-fuse-3.2.3-1 are newer than the gluster running in the host,
hopefully that won't be a issue through the migration to containers)
So, I'm trying to load the fuse and fuse-libs available in my rpm repos:
Downloading Packages:
fuse-2.7.4-8.el5.x86_64.rpm
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
error: Couldn't fork %pre: Cannot allocate memory
error: install: %pre scriptlet failed (2), skipping fuse-2.7.4-8.el5
Installed:
fuse.x86_64 0:2.7.4-8.el5
Complete!
Downloading Packages:
fuse-libs-2.7.4-8.el5.x86_64.rpm
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : fuse-libs
error: Couldn't fork %post: Cannot allocate memory
Installed:
fuse-libs.x86_64 0:2.7.4-8.el5
Complete!
With those "attempted" installs, I have:
# find /usr/lib* /lib* /opt -name \*fuse\* -type f
/lib64/libfuse.so.2.7.4
/opt/glusterfs/3.2.3/lib64/glusterfs/3.2.3/xlator/mount/fuse.so.0.0.0
Is there some kind of kernel module functionality I can load within a
container? How do I go about that?
-George
--
George Georgalis, (415) 894-2710, http://www.galis.org/
More information about the Users
mailing list